Features
From Ultilang Wiki
This page is intended to collect a list of features. Feel free to add your own, but please tag them with your name.
[edit] Preliminary
- Brace-based syntax parsed into an s-expression -- Daeken
- Real macros operating on the parse tree -- Daeken
- Multiple backends (CLR, JVM, Python at the very least) -- Daeken
- Strongly typed and type inferred, with optional dynamic typing -- Daeken
- No difference between statement and expression context (so nested structures a la Nemerle are supported) -- Daeken
- Nemerle-style pattern matching -- Daeken
- Ruby-style blocks -- Daeken
- I think Smalltalk style blocks would be a better choice as they're more flexible (and ultimately the inspiration for Ruby's blocks). -- Hamled
- Heavy functional programming support (TCO, standard operations, etc) -- Daeken
- List comprehensions ala Python (if this isn't covered by "functional programming support") -- IrCuBiC
- Enforced member visibility (public/private/etc) -- IrCuBiC
- Solid, and easy to use, FFI -- IrCuBiC
- Support for contracts (maybe as a set of macros?) -- IrCuBiC
- Import aliasing (like Pythons 'import module as foo') [wite]
- Multitudes of flow-control statements (if, unless, when, until, etc), for "readability". Yes, macros, but would be a nice "out-of-the-box" feature. -- IrCuBiC
- Exceptions should be supported (try/catch/finally) -- IrCuBiC
- Some form of lightweight parallelization support, that's easy to use (without having to think about synchronization, etc) -- IrCuBiC
- Lazy eval? -- IrCuBiC
- Reference support in function arguments (ala ref in C#) -- Wite
- Actor-model macros -- Daeken
- Coroutines -- Daeken
