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