AN

Тривиль - планомерное движение

После перехода от изготовления сквозного «скелета» компилятора к планомерному продвижению, сделано: парсер, практически полный, кроме «может быть» типов и null safety операторов — это оставлю на потом, надо еще обдумать. […]

Тривиль - первый кусочек не-совсем-тривиля

Маленький кусочек не совсем тривиального: в идентификаторе можно использовать пробелы и завершать его знаками ‘?’ и ‘!’. Например: фн Операция завершена?(): Лог если Операция завершена?() & ответ = Беда! { […]

Тривиль - факториал

Компилируется и работает: На этом создание скелета компилятора закончено. Теперь пойду более последовательно — парсер, семантический анализ, генерация.  

Перенес из комментария, там уже слишком много. Денис Будяк пишет: «Алексей, тему полиморфизма можно дальше обсуждать. Например, аналог interface{} в Активном Обероне уже есть, хотя работает только для записей, но […]

Выступил сегодня на семинаре ruSTEP (=Russian seminar on Software Engineering, Theory and Experimental Programming, https://persons.iis.nsk.su/ru/ruSTEP). На странице семинара будет выложено видео. Презентацию выкладываю, там в конце есть список использованных материалов.

1) Оператор return — как он должен называться в русскоязычном языке? вернуть? — не очень хорошо, если результата нет (процедура, а не функция) возврат? другое? 2) Преобразование типа и динамическая […]

Второй заход: весь синтаксис (вроде бы), кроме определения «разделителя» — нужен для избавления от лишних ‘;’ и нет лексики, где определение идентификатора — это самое интересное. Я нашел пригодное решение […]

У меня нет сомнений, что любой язык, чуть более развитый, чем Тривиль должен быть null safe. Что же касается Тривиля, то здесь не так однозначно. Стоит ли вносить null safety? […]

Вариант 1: традиционный Ключевые слова: перем или пер для var, знач или пусть для let. Чем не нравится: длинно, не очевидно, не привычно. Длинно: можно справится с помощью макросов в редакторе. Вариант 2: […]