Перейти к содержанию
Авторизация  
LeshaInc

На каком языке разговаривают урны?

Рекомендуемые сообщения

На этом.

Язык компилируется в Lua (поддерживаются версии 5.1, 5.2, 5.3 и даже возможно JIT).

Предупреждаю — этот язык является диалектом Lisp. Если ваш дед не оставил в кладовке пачку скобок, возможно у вас не получится на нем писать.

 

Из фич: pattern matching, прикольные циклы, фреймворк для тестов, красивые сообщения об ошибках.

 

Hello world на Urn:

(print! "Hello, world!")

Работает также арифметика в стиле лиспа:

(+ 2 (* 4 5))

Можно создавать функции:

(defun times-two (x)
  (* x 2))

(print! (times-two 2))
(print! (times-two 3))

и макросы:

(defmacro show (x)
  (print! "Compile-time" (pretty x))
  `(progn
     (print! "Run-time" ,(pretty x))
     (print! "Value" ,x)))
------------------------------------
> (show (+ 2 3))
Compile-time (+ 2 3)
Run-time     (+ 2 3)
Value        5

Можно использовать библиотеки из Lua:

(define bit32
  :hidden
  (require "bit32"))

(define & (.> bit32 :band))
(define ~ (.> bit32 :bnot))

и таблицы из Lua:

> { :foo 1
.   :bar 2 }
out = {"bar" 2 "foo" 1}

Компилятор языка написан на Lua UPD: компилятор написан на Urn и скомпилирован в Lua; предлагаю энтузиастам поиграться с ним в OpenComputers и сделать отчет.

А я пойду дальше употреблять вещества.

Изменено пользователем LeshaInc

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А я пойду дальше употреблять вещества.

шапочку из фольги не забудь надеть=)

п.с. где ты откапываешь эти эксклюзивы, всякие расты, лиспы, урнлы? :)  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то данный язык больно схож с Обратной польской записью, только знаки стоят с другой стороны :D

Изменено пользователем Alex

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

×
×
  • Создать...