-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Clay is a language for generic programming. See http://tachyon.in/clay/ for an introduction and for precompiled binaries.
Pending proper formal documentation once the language stabilizes, here is some ad-hoc documentation to help new users get started, document common design patterns and pitfalls, etc.:
- Syntax desugaring (including operator overloads)
- Clay for C++ programmers
- Standard library protocols
- Avoiding generic programming pitfalls
- Including clay modules
- Separating compilation units
KS is currently working on a new implementation of the Clay compiler. This new compiler is written in Clay itself, and will feature a more distinct compile time environment as well as other language changes:
Once the new compiler is stable, we will be able to explore improvements to the language and library.
These are only proposals, and are not necessarily features guaranteed to be added to future Clay versions. Feel free to comment on any proposals or add your own.
- Deferred variable type propagation
- Implicit argument conversion
- Protocols
- Extensible variant representation and dispatch
- Safer pointer type system
- Guaranteed optimizations
- Pattern blocks
- Cull keyword explosion
- Miscellaneous syntax improvements
- Improved overload resolution
- Programmable control flow primitives