Subject Re: [Firebird-Architect] Re: JavaScript as Database Scripting Language
Author Jim Starkey
At his point, I'm inclined to define my own domain-specific language.
Squirrel has some nice ideas (a separate "create attribute" assignment
operator is one), but it also has a lot of baggage that I don't need.
I'm inclined to go with an amalgam of JavaScript (general syntax),
Squirrel (class definition and more rigid OO), and pure homebrew
(support for three valued logic).

I particularly like "yield" for iterators. I used in Jello (Jim's
Eclectic Language for Objects) that I designed after leaving Interbase
in 1991 as an implementation language for what became HarborView.

paulruizendaal wrote:
>> Looks good. I'll give it a good going over.
> Probably superfluous, but just to be sure: Squirrel 3 is more
> interesting to look at than Squirrel 2. It contains 3 more years of
> experience with the language, and does the JS-style closures. Code
> size grew about 10%.
> >From the change log:
> ***version 3.0 alpha 1***
> -first branch from 2.x source tree
> -added 'base' keyword
> -removed 'delegate' keyword
> -now compiled scripts are vararg functions
> -added setdelegate() and getdelegate() table builtin methods
> -added <=> 3 ways compare operator
> -added lambda expression @(a,b) a + b
> -added local function statement
> -added array built-in map(),reduce(),apply(),filter() and find()
> -generators hold only a weak reference of the enviroment object
> -removed 'vargv' and 'vargc' keywords
> -now var args are passed as an array called vargv(as a paramter)
> -removed 'parent' keyword
> -added class getbase() built in method
> -instanceof doesn't throw an exception if the left expression is not
> a class
> -lexical scoping for free variables(free variables are no longer in
> the second parameter list)
> -sq_setprintfunc accept error func
> -sq_geterrorfunc()
> -added sq_arrayremove() and sq_arrayinsert()
> -error() built in function(works like print but prints using the
> errorfunc)
> -added native debug hook

Jim Starkey
President, NimbusDB, Inc.
978 526-1376