The Viz Programming Language
Viz is a functional language in the ML family under development. It's main differences from ML are:
- The language will be pure and include syntactic support for monads. The type system will support GADTs.
- The module system will be based on MixML, but modified to make functors applicative. Generativity will probably be implemented as module-level monads. Type-classes is a likely addition.
- It will be possible to plug in custom source transformation. This can be used e.g. to implement macros, code analysis, optimisations, and documentation utilities.
- Hierarchical layout of module in the file system, and easy to use JIT compiler. The goal is to make it as easy to run as Python.
- An easy to organize indentation-sensitive syntax, which is designed to highlight the overall structure. User definable operators of various kinds and precedence levels.
The language is not suitable for production use at this time. It may be redesigned or abandoned. Comments are appreciated, and can be addressed to my private address. If I get sufficient feedback, I will set up a public mailing list or forum.