Subject | Re: [Firebird-Architect] Re: JavaScript as Database Scripting Language |
---|---|
Author | Jim Starkey |
Post date | 2008-12-29T16:20:44Z |
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:
Jim Starkey
President, NimbusDB, Inc.
978 526-1376
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