This is a language that I created on a weekend and some train rides, to explore dynamic languages and Interpreters a bit more.
I now know how JavaScript was written in 10 days.
- Is it revolutionary? No.
- Is it nice to use? Depends on your definition of nice.
- Is it stable? Not more than my mental state.
- Is it fast? Well, consider upgrading your hardware lol.
- Was it fun to make? Absolutely, I learned so much during this time!
- Dynamically typed
- Turing Complete
-
fis a builtin keyword - No Syntax Sugar, no bloat
- No semicolons, no forced line breaks
- Often used constructs such as
ifor logicalandare defined in the standard library while a > 0 a = a - 1is a valid expression:a > 0is the conditiona = a - 1is the body
- Everything is an expression. Yes, everything.
- Some special operations include:
<list> * <fn>returns a new list containing all elements of the original list, applied to the given function<list> / <fn>returns a new list containing all elements that return1when applied to the given function<number> * <fn>creates a list of length<number>, where each element is the result of the call tofn(index)<list> . <number>gets the element at the given index- Note that you can't set the element (yet?), you'd have to create a new list for that.
- Special support for intrinsics, my favorites:
noa(<string>)returns1if the argument does not contain a lowercasea(Thanks Noa!)nel(<string>)returns1if the argument is not equal to lowercasel(Thanks Angelo!)