Ideas To Explore
It would be nice to allow defining refinement types. For example, defining a type for all prime numbers. One idea is to define a type based on a function over another type e.g.:
Prime would represent all integers
i that satisfy
isPrime(i) == true.
It would be nice to allow math with quantities that have associated units, and allow users to define their own units.
Concise Lambda Notation
Simple functions could be created concisely using
$ as a term inside an expression could create a single-expression function that takes a single parameter:
# These are equivalent:
addOne: (a) -> a + 1
addOne: $ + 1