Pull to refresh

Comments 13

Не хватает примеров в тексте статьи ) А тема в целом очень интересная.

Да, Вы правы. Добавил простой пример использования. Спасибо за совет.

Могу помочь с запуском Nemerle в Mono.

О какой версии Mono идёт речь ?

Mono JIT compiler version 6.12.0.90 (tarball Mon Sep 13 15:34:59 UTC 2021)

Компилятор падает где-то в глубинах glibc с диагностикой "Assertion at sre-encode.c:290, condition `count > 0' not met".

На какой системе запускаете, чтобы можно было попробовать воспроизвести.

Mono, увы, периодически чинят баги, а потом снова ломают. В какой-то момент я от них устал и проверял периодически, а сейчас уже не смотрю, но посмотрю для вас.

Если есть возможность завести баг в соответствующем месте будет совсем замечательно: https://github.com/rsdn/nemerle

Спасибо! Я пользуюсь NixOS, но воспроизводилось у друзей на Ubuntu.

Да, стектрей похож. Такое чувство, что пора переписывать .net на Rust...

Кстати, про Boo мне говорили, что там боже были хорошие макросы, но с документацией там совсем плохо.

Проблема не с .NET , а с конкретной реализацией т.е. Mono :)

До недавнего времени .NET Core не поддерживал нормальную работу с System.Reflection.Emit на которую завязан компилятор Nemerle.

Вполне возможно, что портировать на .NET 5 или 6 это гораздо более посильная задача чем портирование на .NET Core.

UFO landed and left these words here

Результат вызова макроса валидируется, то есть проходит через тайпчекер и тесты. Rust защищает от некорректного использования памяти, гонок, переполнений буфера, то есть достаточно низкоуровневых ошибок. Более высокоуровневые ограничения легче выражались бы в других системах типов, в том числе в Gluon.

UFO landed and left these words here

Я думаю, более важно, чтобы это было отражено в типах целевого языка, а не языка разработки макроса.

Sign up to leave a comment.

Articles