|
|
От: |
Mamut
|
http://dmitriid.com |
| Дата: | 04.04.12 07:01 | ||
| Оценка: | 17 (3) | ||
Атомо — маленький, простой, дико гибкий и выразительный язык. Дизайн языка опирается на Scheme (маленькое простое ядро), Slate (множественная диспетчеризация, ключевые слова), Ruby (дружественность к DSL) и Erlang (message-passing concurrency). Написан на Haskell и использует его рантайм, предоставляя доступ ко всем возможностям и библиотекам Haskell'а через тонкую прослойку. Динамическая типизация, прототипное ОО. Significant whitespace. Сопоставление с образцом. Вызов функций — диспетчеризация/посылка сообщений
Greeter = Object clone
Greeter new: n :=
Greeter clone do: {
name = n
}
(g: Greeter) say-hi :=
(g name .. ": Hi!") print
(Greeter new: "Alex") say-hi
with-output-to: "out-file" do: {
"Hello, world!" print
}0 fib = 1
1 fib = 1
(n: Integer) fib :=
(n - 2) fib + (n - 1) fib[1, 2, 3] sum
(0 .. 5) map: @(* 2)
22.0 / 7.0