Note: Please visit the home page at http://loyc.net
The Language of Your Choice (Loyc) project is intended to become a rich set of tools for:
- Transforming source code between different languages
- Writing libraries (or entire programs) in multiple programming languages
- IDEs (code completion lists, various kinds of code visualization, intellisense)
- Code analysis and transformation
Its subprojects include:
- Enhanced C#: a starting point for the Loyc framework, EC# will add new operators and many other new features to C#, starting with a LISP-inspired macro system.
- Loyc trees: a generic in-memory representation of syntax trees of any language
- LES (Loyc Expression Syntax): a compact textual interchange format for Loyc trees
- LeMP (Lexical Macro Processor): a LISP-style macro preprocessor that operates on Loyc trees
- LLLPG (Loyc LL(k) Parser Generator): The parser generator being used to parse Enhanced C# and LES
- MLSL (Multi-Language Standard Library): not yet started
- SIL (Standard Imperative Language): not yet started
At the moment, Loyc is limited to the .NET platform. The Loyc core libraries are
- Loyc.Essentials.dll: A .NET library to "fill in the gaps" in the .NET framework by adding numerous simple "core" classes and interfaces
- Loyc.Collections.dll: A library of interesting data structures (references
Loyc.Essentials
) - Loyc.Syntax.dll: Contains the
LNode
class that represents a Loyc tree, the LES parser and printer, and recommended base classes for use with LLLPG. - Loyc.Utilities: Additional general-purpose classes that either have a dependency on
Loyc.Collections
or were not important enough to go inLoyc.Essentials