From: Rob Landley <rob@landley.net>
To: musl@lists.openwall.com
Cc: Paul Sokolovsky <pmiscml@gmail.com>
Subject: Re: Squirrel - no-bloat scripting language with sane syntax and semantics
Date: Sun, 25 Aug 2013 04:34:33 -0500 [thread overview]
Message-ID: <1377423273.2737.120@driftwood> (raw)
In-Reply-To: <20130824001118.5be5b3d7@x34f> (from pmiscml@gmail.com on Fri Aug 23 16:11:18 2013)
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-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
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
next prev parent reply other threads:[~2013-08-25 9:34 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-23 21:11 Paul Sokolovsky
2013-08-24 8:29 ` Luca Barbato
2013-08-24 11:29 ` Paul Sokolovsky
2013-08-25 9:34 ` Rob Landley [this message]
2013-08-25 15:03 ` Justin Cormack
2013-08-26 22:18 ` Rob Landley
2013-08-26 23:59 ` Rich Felker
2013-08-27 0:35 ` Rob Landley
2013-08-25 15:18 ` Ivan Kanakarakis
2013-08-25 19:40 ` Paul Sokolovsky
2013-08-25 20:00 ` Matias A. Fonzo
2013-08-25 20:10 ` Rich Felker
2013-08-31 18:39 ` Daniel Cegiełka
2013-09-01 22:43 ` Matias A. Fonzo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1377423273.2737.120@driftwood \
--to=rob@landley.net \
--cc=musl@lists.openwall.com \
--cc=pmiscml@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).