mirror of
https://github.com/ProgramSnail/Lama.git
synced 2025-12-05 22:38:44 +00:00
Better md
This commit is contained in:
parent
bea356772c
commit
5171f20dcc
3 changed files with 4 additions and 4 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# Lama
|
||||
# Lama
|
||||
|
||||
 is a programming language developed by JetBrains Research for educational purposes as an exemplary language to introduce
|
||||
the domain of programming languages, compilers and tools. Its general characteristics are:
|
||||
|
|
@ -13,11 +13,11 @@ the domain of programming languages, compilers and tools. Its general characteri
|
|||
* with user-defined infix operators, including those defined in local scopes;
|
||||
* with automatic memory management (garbage collection).
|
||||
|
||||
The name \lama is an acronym for $\lambda$**-Algol** since the language has borrowed the syntactic shape of
|
||||
The name  is an acronym for  since the language has borrowed the syntactic shape of
|
||||
operators from **Algol-68**; [**Haskell**](www.haskell.org) and [**OCaml**](www.ocaml.org) can be
|
||||
mentioned as other languages of inspiration.
|
||||
|
||||
The main purpose of \lama is to present a repertoire of constructs with certain runtime behavior and
|
||||
The main purpose of  is to present a repertoire of constructs with certain runtime behavior and
|
||||
relevant implementation techniques. The lack of a type system (a vital feature for a real-word language
|
||||
for software engineering) is an intensional decision which allows to show the unchained diversity
|
||||
of runtime behaviors, including those which a typical type system is called to prevent. On the other hand
|
||||
|
|
@ -26,7 +26,7 @@ type systems) on.
|
|||
|
||||
The current implementation contains a native code compiler for **x86-32**, written
|
||||
in **OCaml**, a runtime library with garbage-collection support, written in **C**, and a small
|
||||
standard library, written in \lama itself. The native code compiler uses **gcc** as a toolchain.
|
||||
standard library, written in  itself. The native code compiler uses **gcc** as a toolchain.
|
||||
|
||||
In addition, a source-level reference interpreter is implemented as well as a compiler to a small
|
||||
stack machine. The stack machine code can in turn be either interpreted on a stack machine interpreter, or
|
||||
|
|
|
|||
BIN
lalgol.png
Normal file
BIN
lalgol.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 636 B |
BIN
lama.jpg
BIN
lama.jpg
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 KiB |
Loading…
Add table
Add a link
Reference in a new issue