LINUX.ORG.RU

История изменений

Исправление den73, (текущая версия) :

1) Е. Кирпичёв и статья на fprog.ru про «инкрементальные регекспы» через «моноиды на верёвках»

2) редактор Yi (емакс на хаскеле) и пост в блоге про инкрементальный парсинг в Yi (также см. статьи)

3) твой подход через call/cc

Спасибо за пост.

1. Мне нужен не только лексер, но и парсер. Ты мне скажи, можно ли по статье Кирпичёва сделать рекурсивные регэкспы. Я никогда не дочитал до конца man perlre, но мне не припоминается, чтобы они существовали. А они нужны хотя бы для вложенных комментариев в ЯП.

2. Это интересно. Но я не понимаю. В парсере есть таблица символов, известных до данной точки файла, она меняется с каждым новым опредлением. Как её эффективно реализовать в чистом ФП. Мой ответ - никак.

3. Мой подход через call/cc я хотя бы понимаю, у него нет ограничений в общности, я понимаю как его отлаживать, а интерпретатор SBCL с call/cc близится к завершению (тьфу-тьфу).

Но допустим, я принимаю, что можно реализовать лексер на Хаскеле. Какова роль в этом монад (или неважно, монад или чего, а любых средств, присущих именно Хаскелю)?

Исходная версия den73, :

1) Е. Кирпичёв и статья на fprog.ru про «инкрементальные регекспы» через «моноиды на верёвках»

2) редактор Yi (емакс на хаскеле) и пост в блоге про инкрементальный парсинг в Yi (также см. статьи)

3) твой подход через call/cc

Спасибо за пост. 1. Мне нужен не только лексер, но и парсер. Ты мне скажи, можно ли по статье Кирпичёва сделать рекурсивные регэкспы. Я никогда не дочитал до конца man perlre, но мне не припоминается, чтобы они существовали. А они нужны хотя бы для вложенных комментариев в ЯП. 2. Это интересно. Но я не понимаю. В парсере есть таблица символов, известных до данной точки файла, она меняется с каждым новым опредлением. Как её эффективно реализовать в чистом ФП. Мой ответ - никак. 3. Мой подход через call/cc я хотя бы понимаю, у него нет ограничений в общности, я понимаю как его отлаживать, а интерпретатор SBCL с call/cc близится к завершению (тьфу-тьфу).