metaclass: (Киборг)
metaclass ([personal profile] metaclass) wrote2010-01-10 11:38 am
Entry tags:

Стрелки и парсеры

Слушайте, а эти ваши стрелки, это же еще более позитивный майндфак, чем монады. Голову, во всяком случае, вырывают намного быстрее.

Так вот, насчет парсеров - возможна ли такая шиза: написать парсер на парсеке, а потом подсунуть ему какую-нибудь другую монаду, чтобы он вместо парсера сделал AST этого самого парсера, из которого можно было бы сгенерить код на другом языке?

[identity profile] lionet.livejournal.com 2010-01-10 11:51 am (UTC)(link)
Да.

[identity profile] slonopotamus.livejournal.com 2010-01-10 12:13 pm (UTC)(link)
дело все в том, что монады - всего лишь частный случай стрелок :)

[identity profile] lionet.livejournal.com 2010-01-10 12:24 pm (UTC)(link)
Да ну? Почему тогда стрелками можно разобрать контекстно-свободную грамматику, а монадами — контекстно-зависимую?

[identity profile] ilya-portnov.livejournal.com 2010-01-10 01:41 pm (UTC)(link)
>> эти ваши стрелки, это же еще более позитивный майндфак, чем монады. Голову, во всяком случае, вырывают намного быстрее.

Стрелки-то чем не угодили!? Это ж тупо обобщение хаскельного понятия функции. См. самые известные примеры стрелок - просто функции и стрелки Клейсли.

>> такая шиза: написать парсер на парсеке, а потом подсунуть ему какую-нибудь другую монаду, чтобы он вместо парсера сделал AST этого самого парсера, из которого можно было бы сгенерить код на другом языке?

А вот это уже brain damage, имхо :)

[identity profile] udpn.livejournal.com 2010-01-10 04:31 pm (UTC)(link)
Это не брейн дэмэдж, это очень даже умная идея.

[identity profile] theiced.livejournal.com 2010-01-10 01:57 pm (UTC)(link)
Ой ребе, какой у вас сексуальный юзерпик.

[identity profile] metaclass.livejournal.com 2010-01-10 02:00 pm (UTC)(link)
Таки да, после монад, стрелок и парсеров на LINQ примерно так себя и ощущаешь.

[identity profile] clayrat.livejournal.com 2010-01-10 03:11 pm (UTC)(link)
чото проекциями Футамуры повеяло

[identity profile] metaclass.livejournal.com 2010-01-10 03:29 pm (UTC)(link)
И таки да, они там тоже будут, скорее всего.

[identity profile] clayrat.livejournal.com 2010-01-10 05:51 pm (UTC)(link)
мудрите

[identity profile] alexey-rom.livejournal.com 2010-01-10 04:33 pm (UTC)(link)
В Parsec 3 можно, в Parsec 2 нельзя.

[identity profile] zerthurd.livejournal.com 2010-01-10 05:59 pm (UTC)(link)
И как в Parsec 3 такое сделать?