Покритикуйте язык
От: dotneter  
Дата: 21.09.16 07:51
Оценка: 30 (2)
https://github.com/ptol/oczor

Основная идея — сделать минимально простой статически типизированный язык и компилировать его в динамически типизированные языки (JavaScript, Lua, Ruby, Elisp)
В языке три основные фичи — анонимные функции, записи и Ad hoc полиморфизм
1. Анонимные функции вполне обычные
x y => x + y

2. На основе записей строится большинство конструкций
x = (foo = 1, bar = 2)

Кортежи, именованные функции и модули это тоже по сути записи
С помощью записей можно например определить тип (Maybe/Optional)
type Maybe a = none | just : a

3. Ad hoc полиморфизм — частично позаимствованный из Хаскеля

ffi eqInt : Int, Int => Bool
ffi eqString : String, String => Bool

class equal a : a => Bool

instance Int equal x y = eqInt x y
instance String equal x y = eqString x y

infix == 4 equal

x = 1 == 1
y = "foo" == "foo"
Talk is cheap. Show me the code.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.