Lisaac
Lisaac is a small object prototype-based programming language created to enable the implementation of the Isaac operating system as part of Benoit Sonntag's thesis. Since Lisaac was created to support the development of an operating system, it has strong support for implementing low level features even though it is itself a high level language. The language was inspired by Smalltalk (everything is an object), Self (prototype based programming), and Eiffel (design by contract), but it has the distinction of being suitable to systems level programming through many techniques such as optimization of type predictions and code specialization.
In the performance benchmark The Computer Language Benchmarks Game, Lisaac currently places #5, essentially neck-and-neck with C and C++.
Lisaac compiles '.li' Lisaac source files into ISO standard C code, which can then be compiled to native machine code by any C compiler. The current 'lisaac' compiler implementation also automatically compiles the generated '.c' file with gcc by default.
Tasks
- A+B
- Apply a callback to an array
- Arrays
- Assertions
- Call a foreign-language function
- Classes
- Collections
- Conditional structures
- Copy a string
- Determine if a string is numeric
- Factorial
- Fibonacci sequence
- Filter
- Generic swap
- Hello world!
- Hello world/Text
- Inheritance/Single
- Literals/String
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- Search a list
- Sorting algorithms/Bubble sort
- Sorting algorithms/Shell sort
- String concatenation
- Use another language to call a function