Прошлые домены не функционирует! Используйте адрес
ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Yupiel - языко-ориентированный язык программирования основанный на механизме перезаписи строк.
Синтаксис
В языке есть только одна конструкция - правило. Вся программа на Юпиель представляет из себя список правил вида:
Type :: Pattern => Replacement
или
Type :: Pattern
Type - терм, обознающий тип выражение.
Pattern - набор символов и нетерменалов.
Нетерминалы обозначаются как |var : Type|, где var - имя переменой (может быть любой последовательностью символов, кроме `|` и ` `.
Replacement - набор символов и нетерминалов вида |var|.
Пример:
Effect :: print |arg : Expr| => console.log(|arg|)
Всякий набор правил Юпиель называется модулем (module).
Текст, подаваемый в модуль, называется источником (source).
Текст, выдаваемый модулем, называется целью (target).
Задача модуля - превратить код из языка Source в код языка Target.
Универсальность и встраемость
Юпиэль - транспилятор. У него нет рантайма, а это значит, что ты можешь писать код (с любым синтаксисом, который ты поделаешь), и запускать его в браузере или на Go-сервере, или... да где угодно. Хоть ардуину программируй.
Твоя говноконтора программирует на говноязыке X? Просто прозрачно превращай свой идеальный язык Y в говноязык X с помощью Yupiel.
Выразительность
Код на Юпиель такой, каким ты хочешь его видеть.
Простота
В Юпиеэль есть только одна вещь - правило.
Простая отладка
Просматривай поэтапно процесс транспиляции.
> имплементация?
Её пока нет. Однако будет создан proof-of-concept транспилятор Yupel.
И да, язык назван в честь одной хентай-манги.