lfyre is a general purpose, compiled programming language offering performance, power, and flexibility. It supports object orientation and inheritance, overloading and overriding of methods and operators, contracts, reflection, and uniform access to object fields, functions, and methods. It also provides features rarely found in compiled languages: new operators and language keywords can be created, and it is possible to invent new programming paradigms beyond the classic concepts of functions, data structures, object orientation, polymorphism, and templates.
| Tags | Software Development Compilers Debuggers Interpreters |
|---|---|
| Licenses | GPL LGPL |
| Operating Systems | Windows Windows Windows POSIX BSD Linux |
| Implementation | C |
Recent releases


Release Notes: This release adds a language tutorial to the documentation, introducing the basic concepts needed to write lfyre programs.


Release Notes: This release adds many new features: C++ style templates, aliases with parameters, a new 'print' keyword, better names mangling, support for mixing declarations and code, a new template class Array#[T], C++ style declaration scope to 'for', new syntax '(a;b)', several new compile-time keywords to manipulate classes, strings and identifiers, a more relaxed syntax parser, and overloadable array operators 'a[b]', 'a[b,c]', 'a[b..c]'. Calls to a function with arguments of reference type and calls to static and virtual methods now work as expected.


Release Notes: This release adds long-awaited support for virtual methods and a Java-style "super" keyword. It also includes some cleanups in compiler-generated C code.


Release Notes: This release adds several important features, including method and operator overloading, support to create new operators, and support for code placed outside functions and void expression '()'. Some bugs were also fixed, including a few uses of uninitialized memory and corner cases for aliases and functions returning final objects.


Release Notes: This release adds keywords to interface with existing C libraries and headers, support for 'final transient' class fields, and a pure lfyre input/output library. It also updates the examples to use the new IO library, and fixes a bug in key_return_set().