Commit 0633e72
Marat Zimnurov
Версия 0.4.6: то, что ставится из brew, наконец разговаривает с человеком
До этого релиза `brew install flang` давал бинарник, который на `--help` молчал
и отвечал нулём: он читал пустой stdin, потому что понимал только JSON. Человек,
поставивший язык, не мог ни справку прочесть, ни файл проверить.
Что в этой версии умеет бинарник, и это проверено на архиве, собранном с нуля
теми же флагами, что у формулы:
flang --version → flang 0.4.6
flang check файл.flang → замечания словами, с кодом, строкой и столбцом;
код возврата 0 или 1, а не всегда 0
flang repl → «Куб» от 7 → 343
man flang → страница из десяти разделов
Оболочка вычисляет не интерпретатором — его в бинарнике нет, — а печатью
сессии в C, сборкой системным cc против libkompilyator_flang.a и запуском. Нет
cc — оболочка не выключается, а работает проверяющей и говорит об этом сразу.
Версия записана в четырёх местах: package.json, формула, #define в напечатанном
C и заголовок man-страницы. Тест сверяет все четыре и спрашивает её у собранного
бинарника — иначе они разъезжаются молча, как разъехались 0.1.0 и 0.4.5 в
`flang version` на Node.
Кроме CLI в релиз входит то, ради чего он и стоит выпуска: самоприменение
понимает полиморфизм и функции первого класса, поэтому библиотека высшего
порядка живёт теперь в stdlib, а не в тесте; связывание переносит категорные
объявления через границу файла; в библиотеке появились логика, словарь и
множество; конкурентность проверяется перебором тысячи семян.1 parent 1b1e3a5 commit 0633e72
4 files changed
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
| 164 | + | |
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
0 commit comments