Anonymous 06/01/2019 (Sat) 04:54:19 No.1477 del
Ух, страшно и сложно делать icolaisi. У меня не работает pyparsing, а если работает, то неймоверно медленно, особенно в infixNotation, а этот инфикс нотатион встречается везде, где формулы. Возможно, надо на C написать библиотеку для парсинга, заодно добавить байткод Laisi, а потом переписать на laisi и это будет библиотека dapa (акроним от data parsing). Благодаря полиморфизму и дженерикам в метапрограммирования, которые в Laisi, парсить можно любые индексабельные данные, будь то байтовая строка, текст из repr или массив чисел. Кроме того, индексацию у меня можно перегрузить. Собственно, так индексация text из repr и [s]работает[/s] будет работать.
Кстати, я подумал насчёт генераторов, как в питоне с yield, в Laisi у меня тоже такие есть. Может быть стоит добавить к ним индексацию или что-то. Не уверен. Реализовать генераторы в компилируемом ЯП будет сложно, наверное. Думаю, в случае, если он не рекурсивный, то просто все локальные переменные станут глобальными, а в генератор как функуию будет пересылаться адрес или номер yield, который был вызыван в пролшлый раз. А если рекурсивный, то придётся пересылать все локальные переменные в аргументы.
Я ещё подумывал над добавлением оператора факториала ! в ЯП. Он вроде бы ни с чем не коллизит, так что можно смело добавлять. Не то, чтобы я хотел считать факториалы, просто больше операторов — больше перегрузок операторов — меньше вызовов функций в коде.