thumbnail of goblet.png
thumbnail of goblet.png
goblet png
(5.77 KB, 456x85)
thumbnail of mug.png
thumbnail of mug.png
mug png
(3.46 KB, 249x316)
Ох, ну и пасту я написал...

Добавил поддержку мултисравнения.
В Лайси можно сравнивать между собой сразу несколько значений. То есть a  1, а потом 5 > 3, а не наоборот.

Помню раньше я рвался писать Лайси-библиотеки, но компилятор совсем не был готов, я даже простые выражения не мог компилировать. Теперь ситуация получше, но библиотеки не очень хочется писать. Надеюсь, я не перегорю.
Задумал целую абстрагированную инфраструктуру по производству программ на Лайси.
В самом корне идёт Лайси как язык программирования, ниже (или выше, главное — дальше) идёт либлайси-библиотека. В эту библиотеку я собираюсь засунуть некоторые функции, такие как max, min, clamp, bigendian, littleendian, floor, round, ceil, другие и функции по управлению памятью, а так же по выводу ошибки после assert.
Затем идут библиотеки по работе с памятью и математикой. mem и math. mem включает в себя н-мерный тензор, в который можно аппендить, инсертить элементы или решейпить его дименшионы. Записывать и читать значения элементов по индексам, опционально флоатскому индексу, интерполируя значения по заданной функции; всякие ассоциативные массивы типа деревьев и хеш-таблицы и ещё чего-то. Возможно тут будут такие функции как startswith, endswith, split и всякие другие, функции для взаимодействия со строками и их разбиения, сращивания, сравнения. Но может быть это будет в liblaisi. У меня тут коды перемешались.
math это библиотека для всяких разных численных методов, но не математических движков. То есть синусы, косинусы, факториалы, умножения матриц, комплексных чисел, но не дифференцирование или интегрирование функций.