Technology
 

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