Михаил писал(а):
Ой, может что-то неправильно сделал. Оператор IS - слева экземпляр объекта, содержит динамический tag type, справа статический tag type объекта, вычисляемый на этапе компиляции, одно cmp и все ???.
наследник является в то же время и родителем. классическое: фигура -> круг — круг и круг, и фигура. это можно реализовать или таблицей, или походом вверх по всей цепочке родителей. у вас, судя по описанию, круг только круг, но не фигура.
Михаил писал(а):
WITH - исключил.
с учётом того, что у вас, похоже, IS/AS неправильные — то и WITH, конечно, бесполезен. ;-)
Михаил писал(а):
Forward, тоже не люблю, исключил в своем подмножестве.
тогда у вас или невозможно написать взаимно рекурсивные процедуры, или компилятор многопроходный. ;-)
Михаил писал(а):
Вот wayland.
не пишите матом в приличном обществе, пожалуйста. ;-) кейт пакард — тупая бездарь. в иксы он идиотский xrender затащил, например.
Михаил писал(а):
Потоки можно и нужно использовать, в подходящих задачах
есть простое и надёжное правило для определения того, нужны ли в задаче потоки: если кажется, что нужны — то однозначно не нужны.
да, можно упороться реализацией какого-нибудь raymarching'а чисто на цпу, и тайловая реализация с потоками, конечно, будет быстрее, а процессы тут помогут значительно меньше из-за бо́льших накладных расходов на передачу данных. но это очень нишевые случаи.
зато как только мы добавляем потоки, например, в оберон — у нас реализация GC сразу обрастает лочками. и вылазит любимая проблема: чтобы начать сборку мусора, надо остановить все другие потоки, желательно при этом получив дамп их регистров (если сборщик консервативный). такого апи в позиксе нет. решаемо, конечно (через хак), но…
Михаил писал(а):
>>>> в идеале, конечно, было бы ещё неплохо проштудировать Драконью Книгу, там много вкусного.
Знаю такую. Она меня пугает. Тензорный (функциональный) анализ, по сравнению с ней кажутся легким чтением.
там всё намного проще, чем кажется издалека. и потом: её же не надо зубрить. достаточно просмотреть чтобы знать, какие подходы бывают, а потом консультироваться, когда надо какой-то подход реализовать. ну, или просто для удовольствия перед сном почитать. ;-)
Михаил писал(а):
Вот это, за гранью моего понимания (((. Как Вы все успеваете ))).
никак не успеваю. но это не мешает стараться. ;-)
на самом деле как ещё обкатать новый компилятор в бою, если не писать на нём что-то более-менее серьёзное? простые 2д-игрушки, как по мне, идеально подходят: писать весело, играть весело, и задача вполне серьёзная для компилятора.