From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/3961 Path: news.gmane.org!not-for-mail From: Ivan Kanakarakis Newsgroups: gmane.linux.lib.musl.general Subject: Re: Squirrel - no-bloat scripting language with sane syntax and semantics Date: Sun, 25 Aug 2013 18:18:54 +0300 Message-ID: References: <20130824001118.5be5b3d7@x34f> <1377423273.2737.120@driftwood> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=089e01176ebd6fa6e704e4c7280c X-Trace: ger.gmane.org 1377443945 27576 80.91.229.3 (25 Aug 2013 15:19:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 25 Aug 2013 15:19:05 +0000 (UTC) Cc: Paul Sokolovsky To: musl@lists.openwall.com Original-X-From: musl-return-3965-gllmg-musl=m.gmane.org@lists.openwall.com Sun Aug 25 17:19:08 2013 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1VDc5s-0004Df-2I for gllmg-musl@plane.gmane.org; Sun, 25 Aug 2013 17:19:08 +0200 Original-Received: (qmail 32392 invoked by uid 550); 25 Aug 2013 15:19:07 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 32379 invoked from network); 25 Aug 2013 15:19:07 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=+NFJx5QxK1fSeJ3RTPl8SCatJ3QBRQ/3i02addTKZr4=; b=b5LUTa1r5Gxjo3W9n7FK43vRdDqlHH5Hk8Iln2NK55R/5OvDXI8rTUVHgPOVdTLpLV OYJYlRJlU3E+HYXlEQ1AJCIqohOSREJVm5XQPESMikLolkaEQcNxiF5Z8P4U+idck89Y Mac1FAWimOG5vp1NHs9I0q9+O6DOF2SArMINuNghbGNKPoysSDWFS5rnSQJHN7+EpX2q FNCHbeukoOwxPJGAt7DHpHjpPvWTaUV05huB4xpIhi+dLncOh+PvISDUmQOAu8i5L78s NtszaypSYp7iTCsuer0BILJ3getX/JKGvccElSDJeMEYIpt7n+PRdfheNKiGQr2GI4CI 19lA== X-Received: by 10.60.94.69 with SMTP id da5mr9848913oeb.29.1377443934871; Sun, 25 Aug 2013 08:18:54 -0700 (PDT) In-Reply-To: <1377423273.2737.120@driftwood> Xref: news.gmane.org gmane.linux.lib.musl.general:3961 Archived-At: --089e01176ebd6fa6e704e4c7280c Content-Type: text/plain; charset=UTF-8 > Squirrel is used in the Code::Blocks IDE, Final Fantasy Crystal Chronicles: My Life as a King, Left 4 Dead 2, and Portal 2. so, it's not that unheard of .. not getting the exposure lua got on hacker news doesn't mean it is automatically not interesting. On the other hand I like Forth, and I'm keen to spend some time with J .. On the "classes" section, there is a typo on the constructor. It says 'name = aType', reassigning name, when I guess it should be 'type = aType' PS: sorry for top-posting; blame android :P On Aug 25, 2013 4:08 PM, "Rob Landley" wrote: > On 08/23/2013 04:11:18 PM, Paul Sokolovsky wrote: > >> Hello, >> >> I apologize if this message can be considered off-topic. However, my >> reading thru mailing list archive showed that there's favorable >> attitude to generic no-bloat stuff, so I hope this message may be of >> interest to some readers. >> > > We have a list of random packages in the musl wiki, but I stopped paying > attention to it when people started adding GNU projects to it. I don't > understand what it's for at that point. > > I'd like to draw attention to small very high level (meaning that >> there's native support for lists and maps) language "Squirrel", >> http://squirrel-lang.org/ . It compiles below 300K (dynamic linking) >> with -O2 and can be gotten under 200K with -Os -flto (sizes are for >> i386). It uses C-like syntax, so should be a quick start for many folks. >> > > Normally people use lua for this, which has around 100k of interpreter. > > The downside of lua is it doesn't have a full standard posix C binding > library. (It has a nonstandard one you can add on, but when I looked at > writing a busybox clone in it, I needed to install something like 7 > packages to get all the libraries I needed. Then again, most people aren't > implementing their own "ifconfig", "mount", and "taskset"...) > > I note that lua is heavily used in the gaming industry, half of World of > Warcraft is written in it, for example. > > The language was created in 2003, and now at 3.0.4, but it's mostly >> one-man project, and the maintainer is not interested in its usage >> beyond "embed in C/C++ application" pattern. >> > > So he's been doing it for 10 years and nobody's heard about it. > > After some poking around >> for alternative small scripting languages and even considering writing >> web apps in C++, I gave up and decided to take solution of the "last >> mile" problem myself - to turn it into standalone general-purpose >> language, so it was suitable for arbitrary applications and wide >> audience (which means resolving few warts the original language does >> have). >> > > Back in the Fidonet days I downloaded a list of 2500 programming > languages. The vast majority of them were one person projects, often some > graduate student who did it as a class project. > > (Heck, I wrote one myself back in 1991 when I was first getting into C. I > did a bytecode interpreter with an assembler for the bytecode; didn't have > a libc because the interpreter had bytecodes for things like "open file".) > > What I have done so far is at >> https://github.com/pfalcon/**squirrel-modulesand >> https://github.com/pfalcon/**squirrel-lang/tree/squirrel3-**pfalcon. So, >> if you ever dreams of sane unbloated scripting language, >> > > It's called lua. (Ken Thompson has similar dreams for go, but I'm not > convinced.) > > please give it >> a try. And of course, I couldn't lead it to general-purposed'ness >> myself, so if you find the idea neat, please consider joining the >> effort ;-). >> > > Python is now at least two incompatible languages. I've seen applications > implemented in standalone PHP, games written in Ruby, more than one attempt > to come up with an embedded subset of perl, at least three special purpose > lithp engines, javascript used outside the browser _or_ server, more > languages repurposing Java's Virtual Machine than I can track, people still > doing new stuff in tcl for some reason, my ubuntu install has Haskell > presumably because of some dependency, OpenFirmware is implemented in > fourth so that's still around... > > I note that this is off the top of my head. (I'm off in a corner of the > university out of the range of wireless signal, replying into my outbox > queue.) > > Example no-nonsense script written in (general-purpose) Squirrel: >> > > There was a fun gallery of decss implementations written in various > languages a decade and change ago. I vaguely recall he had a couple > hundred, although a lot of those were things like cobol and pascal and > fortran and visual basic that we can only _hope_ are dead now... > > Rob --089e01176ebd6fa6e704e4c7280c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

> Squirrel is used in the Code::Blocks IDE, Final Fantasy Crystal Chr= onicles: My Life as a King, Left 4 Dead 2, and Portal 2.

so, it's not that unheard of ..
not getting the exposure lua got on hacker news doesn't mean it is auto= matically not interesting.
On the other hand I like Forth, and I'm keen to spend some time with J = ..

On the "classes" section, there is a typo on the constructor. = It says 'name =3D aType', reassigning name, when I guess it should = be 'type =3D aType'

PS: sorry for top-posting; blame android :P

On Aug 25, 2013 4:08 PM, "Rob Landley"= <rob@landley.net> wrote:
On 08/23/2013 04:11:18 PM, Paul Sokolovsky wrote:
Hello,

I apologize if this message can be considered off-topic. However, my
reading thru mailing list archive showed that there's favorable
attitude to generic no-bloat stuff, so I hope this message may be of
interest to some readers.

We have a list of random packages in the musl wiki, but I stopped paying at= tention to it when people started adding GNU projects to it. I don't un= derstand what it's for at that point.

I'd like to draw attention to small very high level (meaning that
there's native support for lists and maps) language "Squirrel"= ;,
http://squirrel-lan= g.org/ . It compiles below 300K (dynamic linking)
with -O2 and can be gotten under 200K with -Os -flto (sizes are for
i386). It uses C-like syntax, so should be a quick start for many folks.

Normally people use lua for this, which has around 100k of interpreter.

The downside of lua is it doesn't have a full standard posix C binding = library. (It has a nonstandard one you can add on, but when I looked at wri= ting a busybox clone in it, I needed to install something like 7 packages t= o get all the libraries I needed. Then again, most people aren't implem= enting their own "ifconfig", "mount", and "taskset= "...)

I note that lua is heavily used in the gaming industry, half of World of Wa= rcraft is written in it, for example.

The language was created in 2003, and now at 3.0.4, but it's mostly
one-man project, and the maintainer is not interested in its usage
beyond "embed in C/C++ application" pattern.

So he's been doing it for 10 years and nobody's heard about it.

After some poking around
for alternative small scripting languages and even considering writing
web apps in C++, I gave up and decided to take solution of the "last mile" problem myself - to turn it into standalone general-purpose
language, so it was suitable for arbitrary applications and wide
audience (which means resolving few warts the original language does
have).

Back in the Fidonet days I downloaded a list of 2500 programming languages.= The vast majority of them were one person projects, often some graduate st= udent who did it as a class project.

(Heck, I wrote one myself back in 1991 when I was first getting into C. I d= id a bytecode interpreter with an assembler for the bytecode; didn't ha= ve a libc because the interpreter had bytecodes for things like "open = file".)

What I have done so far is at
h= ttps://github.com/pfalcon/squirrel-modules and
https://github.com/pfalcon/squirrel-lang/tree/squ= irrel3-pfalcon . So,
if you ever dreams of sane unbloated scripting language,

It's called lua. (Ken Thompson has similar dreams for go, but I'm n= ot convinced.)

please give it
a try. And of course, I couldn't lead it to general-purposed'ness myself, so if you find the idea neat, please consider joining the
effort ;-).

Python is now at least two incompatible languages. I've seen applicatio= ns implemented in standalone PHP, games written in Ruby, more than one atte= mpt to come up with an embedded subset of perl, at least three special purp= ose lithp engines, javascript used outside the browser _or_ server, more la= nguages repurposing Java's Virtual Machine than I can track, people sti= ll doing new stuff in tcl for some reason, my ubuntu install has Haskell pr= esumably because of some dependency, OpenFirmware is implemented in fourth = so that's still around...

I note that this is off the top of my head. (I'm off in a corner of the= university out of the range of wireless signal, replying into my outbox qu= eue.)

Example no-nonsense script written in (general-purpose) Squirrel:

There was a fun gallery of decss implementations written in various languag= es a decade and change ago. I vaguely recall he had a couple hundred, altho= ugh a lot of those were things like cobol and pascal and fortran and visual= basic that we can only _hope_ are dead now...

Rob
--089e01176ebd6fa6e704e4c7280c--