"ELDERScript". I can't tell you what all the letters stand for (because that would cause certain "things" to happen, and getting blood and ichor stains out of carpeting is just too much work), but it does includes the words "Expression" (or maybe "Evaluation" or "Evoking"), "Language", "Dicenomicon" and either "Roll" or "Role-playing".
And more importantly, I've been working on enhancements for the next major (or maybe minor) version (there may well be a bug fix release before then - problems with tables not refreshing are quite annoying). The goal, of course, is to make sure that ELDERScript 2.0 doesn't break anything in ELDERScript 1.0. Besides a whole lot of internal rework (hopefully speeding things up as well), ELDERScript 2.0 will introduce mutable objects called "frames".
Currently, all values are immutable "atomic" values. So you can't replace an item in a list, you make a new list with that item replaced (this is why "@X[5] <- 3" doesn't actually change @X, but makes a new list with the fifth item replaced by 3, requiring you to write things like "@X <- (@X[5] <- 3)"). Frames are different - they are more like, say, dictionaries in Python, or their namesake, frames in NewtonScript (trust me on that one). They are "objects" with named slots, sort of like the way that strings can be records:
Code: Select all
@X <- "a=First Letter|b=Second Letter".
@X["a"]
Code: Select all
@X <- {a:"First Letter" | b:"Second Letter"}.
@X:a
Code: Select all
@X <- "a=First Letter|b=Second Letter".
@Y <- @X.
@X <- (@X["a"] <- "Alpha").
@X["a"], @Y["a"]
Code: Select all
@X <- {a:"First Letter" | b:"Second Letter"}.
@Y <- @X.
@X:a <- "Alpha".
@X["a"], @Y["a"]
Frames can also mimic lists:
Code: Select all
@X <- {("a","b","c")}.
@X[2]
Code: Select all
@X <- {0:"a" | 1:"b" | 2:"c"}.
@X[2]
Code: Select all
@X <- {("a","b","c")}.
@Y <- {("d","e","f")}.
@Z <- {(@X,@Y)}.
@A <- (@X,@Y)
There's a bunch of subtle ramifications that need to be worked out (like what does "frame + frame" do? "frame + list"? "frame + value"? etc...), but that's a little hint of what's in the works...