What do I want out of a language
- Lazy evaluation! Along with
map
, reduce
, where
kinds of operators.
- Familiar syntax. I'm used to C flavoured languages, so expect things like
{}
for blocks, a.b.c
for member access.
- No destinction between calling a method and accessing a property (e.g., I shouldn't have to care if
foo.Length
needs a pair of brackets or not).
- Useful standard library
- Good module story
- Top level functions
- Types, probably. But if I'm having types, I want to be able to trivially declare (e.g) a
size
type that's got the same operators as int
, except negative values throw and assigning a count
to a size
is a compile time error.
- Thrown exceptions