Вышел релиз языка программирования truthon

Представляю вашему вниманию свеженький релиз так полюбившегося всем вам ЯП — гибрид хаскеля с питоном, руби и крестами. Этот код почти никогда не писался на трезвую голову и поэтому разобраться в этом месиве могу только я.

1. Самое главное: оно поддерживает три типа комментариев и новые способы легко добавить!

# shell // кресты /* си */ 2. Синтаксис слегка пришибленый (пришлось подпилить под нужды парсера), но какой уж есть. Вот небольшой пример стандартной программы «привет, Ад»:

main = (argv, argc) → # объявили лямбда-функцию и сохранили её в main name = «Hell» the_string = p «Hello, {name}» # оператор p печатает на экран # и возвращает значение своего аргумента # fancy string interpolation num = 1 string_with_number = «num = {num}» # shell invocation ret = `echo -e 'Bye!\nrm -rf ~'` p «script terminated with {ret}

# built-in repexp matching p «Hello» =~ /(H.*)/

# branching 1 if 1+1 == 2 else 3 # expression-oriented! score = match name =~ «true_(.*)» => 666 name == «tailgunner» => 7 _ => -1

# Higher-order functions: a (b (c ()) is … a. b. c c $ b $ a # pipe-line style Итд итп. Самое главное что он expression-oriented и со статической типизацией**.

В ближайших планах переписать этот ЯП на нём же самом.

Ведутся активные переговоры с Леннартом Поттерингом по включению этого ЯП в состав systemd как средства написания юнитов.

Фичи и плюши: строгая типизация, expression-oriented, компилируемый*, есть примитивный вывод типов**. Некоторые операторы (в данный момент только print) полиморфны. Вскоре: замыкания, pattern matching, ADT, ООП с public/private/close, генерация llvm bitcode и многое другое. Циклов ещё нет, поэтому используйте рекурсию. На данный момент поддерживается только работа с целыми числами (произвольной длины) и строками. Поддержка других типов будет хорошим упражнением для пытливого читателя.

Отдельно хотелось бы отметить будущую программу сертификации. Программа сертификации задумана чтобы повысить квалификацию программистов. Программа бесплатная и, в общем- то, никаких реальных бонусов и привилегий не даст (мы же не проприетарщики). Так что я пока не знаю зачем кто-то захочет её проходить. Может, приплачивать надо…

PS Про nanopass читал

PPS Формочку заполнил

*Эта функция не работает

**Есть, но оочень глючит.

Лицензия BDSM-like

Changelog

 python, программирование, упорин

©  Linux.org.ru