Skip to content

Commit

Permalink
Use SVG LaMa icon instead of PNG
Browse files Browse the repository at this point in the history
Because PNG is not scalable and looks ugly.
The actual SVG was generated using https://viereck.ch/latex-to-svg/ from
the following LaTeX code:

\lambda\kern -.1667em\lower -.5ex\hbox{$a$}\kern -.1000em\lower .2ex\hbox{$\mathcal M$}\kern -.1000em\lower -.5ex\hbox{$a$}

Signed-off-by: Kakadu <[email protected]>
  • Loading branch information
Kakadu committed Feb 14, 2022
1 parent 07a131a commit 137207a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
18 changes: 8 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,9 @@
[3]: https://github.com/JetBrains-Research/Lama-devel/workflows/Build/badge.svg?branch=1.10
[4]: https://github.com/JetBrains-Research/Lama-devel/actions



# Lama

![lama](lama.png) is a programming language developed by JetBrains Research for educational purposes as an exemplary language to introduce
![lama](lama.svg) 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:

* procedural with first-class functions - functions can be passed as arguments, placed in data structures,
Expand All @@ -24,11 +22,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](lama.png) is an acronym for *Lambda-Algol* since the language has borrowed the syntactic shape of
The name ![lama](lama.svg) is an acronym for *Lambda-Algol* since the language has borrowed the syntactic shape of
operators from **Algol-68**; [**Haskell**](http://www.haskell.org) and [**OCaml**](http://ocaml.org) can be
mentioned as other languages of inspiration.

The main purpose of ![lama](lama.png) is to present a repertoire of constructs with certain runtime behavior and
The main purpose of ![lama](lama.svg) 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
Expand All @@ -37,7 +35,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](lama.png) itself. The native code compiler uses **gcc** as a toolchain.
standard library, written in ![lama](lama.svg) 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
Expand All @@ -54,11 +52,11 @@ Windows users should get Windows Subsystem for Linux a.k.a WSL (recommended) or
* System-wide prerequisites:

- `sudo apt install gcc-multilib` (in Debian-based GNU/Linux)
On some versions you need to install additional package `lib32gcc-9-dev` in case of errors like
```

On some versions you need to install additional package `lib32gcc-9-dev` in case of errors like
```
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a when searching for -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a when searching for -lgcc
```
- [opam](http://opam.ocaml.org) (>= 2.0.4)
- [OCaml](http://ocaml.org) (>= 4.10.1). *Optional* because it can be easily installed through opam. Compiler variant with `flambda` switch is recommended
Expand Down
2 changes: 2 additions & 0 deletions lama.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 137207a

Please sign in to comment.