> 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" <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 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