From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/3959 Path: news.gmane.org!not-for-mail From: Rob Landley Newsgroups: gmane.linux.lib.musl.general Subject: Re: Squirrel - no-bloat scripting language with sane syntax and semantics Date: Sun, 25 Aug 2013 04:34:33 -0500 Message-ID: <1377423273.2737.120@driftwood> References: <20130824001118.5be5b3d7@x34f> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; DelSp=Yes; Format=Flowed Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1377436129 13451 80.91.229.3 (25 Aug 2013 13:08:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 25 Aug 2013 13:08:49 +0000 (UTC) Cc: Paul Sokolovsky To: musl@lists.openwall.com Original-X-From: musl-return-3963-gllmg-musl=m.gmane.org@lists.openwall.com Sun Aug 25 15:08:50 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 1VDa3l-0005UO-0G for gllmg-musl@plane.gmane.org; Sun, 25 Aug 2013 15:08:49 +0200 Original-Received: (qmail 3384 invoked by uid 550); 25 Aug 2013 13:08:47 -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 3376 invoked from network); 25 Aug 2013 13:08:46 -0000 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-gm-message-state:date:from:subject:to:cc:in-reply-to:message-id :mime-version:content-type:content-disposition :content-transfer-encoding; bh=fDb611VSGykP4dsHA8aXqk9rxMDSNHmcKRzYln+8A2c=; b=jUtXJg/R/zJQlvBTfsIx63NQGywCSTxDam1tZfiEO8Gn4/Bovb+n1IpPymlIM0qmIR 49iWkWjmwWx22umUKdCUwE7voPCaAZR2uwTw6pYX32RuXEvGuVQ8sX/l/eW+mJtR9skX pC/zsT5aKWsiyn/agisqpxpXz6XsSdL9/QfGPWb8boa6Y2vPX7ffmjzJ2hmn1OCqAHdx LCkbpTQLrtAktJwrk9odZg9azew4kx9ZK+kKAWehDAfQRxp1Edf9iTw3Ngo181KG1bco 2EK7I9vFcp62L/cxOudNLlDn3irloO56f3SskP2gLdB4lsN892L96q8Q0L8FfES7jSzl d52w== X-Gm-Message-State: ALoCoQkf4HFGdHZkilfHA6Z8qwT0yk0UmFCP5+4bDIjSqg76Fqd8q1h+5DoAO33R+wxDHm56WqBl X-Received: by 10.182.246.39 with SMTP id xt7mr9223879obc.16.1377436115025; Sun, 25 Aug 2013 06:08:35 -0700 (PDT) In-Reply-To: <20130824001118.5be5b3d7@x34f> (from pmiscml@gmail.com on Fri Aug 23 16:11:18 2013) X-Mailer: Balsa 2.4.11 Content-Disposition: inline Xref: news.gmane.org gmane.linux.lib.musl.general:3959 Archived-At: On 08/23/2013 04:11:18 PM, Paul Sokolovsky wrote: > Hello, >=20 > 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 =20 paying attention to it when people started adding GNU projects to it. I =20 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 =20 > 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 =20 library. (It has a nonstandard one you can add on, but when I looked at =20 writing a busybox clone in it, I needed to install something like 7 =20 packages to get all the libraries I needed. Then again, most people =20 aren't implementing their own "ifconfig", "mount", and "taskset"...) I note that lua is heavily used in the gaming industry, half of World =20 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 =20 languages. The vast majority of them were one person projects, often =20 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. =20 I did a bytecode interpreter with an assembler for the bytecode; didn't =20 have a libc because the interpreter had bytecodes for things like "open =20 file".) > What I have done so far is at > https://github.com/pfalcon/squirrel-modules and > 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 =20 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 =20 applications implemented in standalone PHP, games written in Ruby, more =20 than one attempt to come up with an embedded subset of perl, at least =20 three special purpose lithp engines, javascript used outside the =20 browser _or_ server, more languages repurposing Java's Virtual Machine =20 than I can track, people still doing new stuff in tcl for some reason, =20 my ubuntu install has Haskell presumably because of some dependency, =20 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 =20 university out of the range of wireless signal, replying into my outbox =20 queue.) > Example no-nonsense script written in (general-purpose) Squirrel: There was a fun gallery of decss implementations written in various =20 languages a decade and change ago. I vaguely recall he had a couple =20 hundred, although a lot of those were things like cobol and pascal and =20 fortran and visual basic that we can only _hope_ are dead now... Rob=