You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+17-14
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ The language specification can be found [here](lama-spec.pdf).
41
41
42
42
Supported target: GNU/Linux x86_32 (x86_64 by running 32-bit mode)
43
43
44
-
***Mac*** users should use either a virtual machine or docker with a Linux distributive inside.
44
+
***Mac*** users should connect by ssh to the docker container docker with a Linux distributive inside.
45
45
46
46
***Windows*** users should get Windows Subsystem for Linux a.k.a WSL (recommended) or cygwin.
47
47
Ubuntu-based variant of WSL is recommended.
@@ -52,7 +52,7 @@ Ubuntu-based variant of WSL is recommended.
52
52
53
53
For example, (for Debian-based GNU/Linux):
54
54
```bash
55
-
$ sudo apt install gcc-multilib
55
+
sudo apt install gcc-multilib
56
56
```
57
57
58
58
On some versions, you need to install the additional package `lib32gcc-V-dev` (where `V` is output of `gcc --version`, e. g. `sudo apt install lib32gcc-9-dev`) incase of errors like
@@ -70,44 +70,47 @@ Ubuntu-based variant of WSL is recommended.
70
70
71
71
1. Install the right [switch](https://opam.ocaml.org/doc/Manual.html#Switches) for the OCaml compiler
72
72
73
+
for fresh opam
73
74
```bash
74
-
# for fresh opam
75
-
$ opam switch create lama --packages=ocaml-variants.4.14.0+options,ocaml-option-flambda
76
-
# for old opam
77
-
$ opam switch create lama ocaml-variants.4.13.1+flambda
75
+
opam switch create lama --packages=ocaml-variants.4.14.0+options,ocaml-option-flambda
76
+
```
77
+
for old opam
78
+
```bash
79
+
opam switch create lama ocaml-variants.4.13.1+flambda
78
80
```
79
81
80
82
* In the above command:
81
83
82
84
- `opam switch create` is a subcommand to create a new switch
83
-
- `ocaml-variants.4.10.1+flambda` is the name of a standard template for the switch
85
+
- `ocaml-variants.4.14.0+flambda` is the name of a standard template for the switch
84
86
- `lama` is an aliasfor the switch being created; on success a directory `$(HOME)/.opam/lama` should be created
85
87
86
88
2. Update PATH variable for the fresh switch. (You can add these commands to your `~/.bashrc`for convenience but they should be added by `opam`)
87
89
```bash
88
-
$ export OPAMSWITCH=lama
89
-
$ eval$(opam env)
90
+
eval$(opam env --switch=lama)
90
91
```
91
92
92
93
* Check that the OCaml compiler is now available in PATH by running `which ocamlc`; it should answer with `/home/user/.opam/lama/bin/ocamlc` (or similar) and `ocamlc -v` should answer with
93
94
```
94
-
The OCaml compiler, version 4.10.1
95
+
The OCaml compiler, version 4.14.0
95
96
Standard library directory: /home/user/.opam/lama/lib/ocaml
96
97
```
97
98
98
99
3. Pin Lama package using `opam` and right URL (remember of "#" being a comment character in various shells)
99
100
100
101
```bash
101
-
$ opam pin add Lama https://github.com/PLTools/Lama.git\#v1.2 --no-action
102
+
opam pin add Lama https://github.com/PLTools/Lama.git\#v1.2 --no-action
102
103
```
103
104
104
105
The extra '#' sign is added because in various Shells it is the start of a comment
105
106
106
107
4. Install *dep*endencies on system-wide *ext*ernal packages and `lama` itself after that.
107
108
108
109
```bash
109
-
$ opam depext Lama --yes
110
-
$ opam install Lama --yes
110
+
opam depext Lama --yes
111
+
```
112
+
```bash
113
+
opam install Lama --yes
111
114
```
112
115
113
116
5. Check that `lamac` executable was installed: `which lamac` should answer with
@@ -125,6 +128,6 @@ It should build a local compiler `src/lamac` and a few tutorial executables in `
125
128
126
129
* [Plugin for VS Code](https://marketplace.visualstudio.com/items?itemName=mrartemsav.lama-lsp)
127
130
128
-
### Changes in Lama 1.2
131
+
### Changes in Lama 1.20
129
132
130
133
* New garbage collector: single-threaded stop-the-world `LISP2` (see GC Handbook for details: [1st edition](https://www.cs.kent.ac.uk/people/staff/rej/gcbook/), [2nd edition](http://gchandbook.org/)) [mark-compact](https://www.memorymanagement.org/glossary/m.html#term-mark-compact).
0 commit comments