Dmitry
но тебе же надо наоборот - по КА который у тебя и так есть - сгенерировать грамматику, которую он разбирает
Dmitry
т.е инвертировать
Dmitry
это ж тянет на какой-нибудь пейпер или же вообще что-то фундаментальное из их теории?
Denis
ну короч, проблема кажется скорее cs, чем относящаяся к конкретному инструменту
а, ну безусловно. Я, впрочем, тогда очень убого сделал.
Denis
да не, даже либ таких больше одной
Dmitry
ну мне приходит в голову только ограниченный перебор, хотя как тут перебирать, если у нас '*' например
Dmitry
ну или например
Dmitry
ну короч, тут надо пописать код и подумать, и скорее всего есть пейперы как это вообще делается
Denis
Сейчас могу врать, но для не очень фичастых регулярок пересечения можно найти вполне, а для сложных сводится к преобразованию в простые и прогону первого.
Denis
я тогда где-то идею украл и заимплементил
Denis
может даже код остался
Dmitry
проблема выглядит как что-то такое, что есть или в учебникак или пейперах
Dmitry
@catamorphism да, это то, что в голову приходит
Dmitry
т.е какой-то минимальный алфавит регулярок, а потом сложные разложить на простые и уже их сравнить
Denis
https://www.google.ru/search?client=safari&rls=en&dcr=0&q=paper+regular+expressions+intersection&spell=1&sa=X&ved=0ahUKEwiYytf6lZnZAhUEjiwKHcb1DJkQkeECCCYoAA
Denis
довольно много всякого гуглится
Dmitry
ну и самое тупое все же - взять минимальный алфавит и набор эвристик - т.е если регулярка матчит диапазон - то генерировать наименьший символ для этого диапазона и тп. сгенерить тексты и сравнить их. сходу все равно не выдумать лучше. чем у авторов пейперов, которые на этом защищались
Dmitry
https://qntm.org/greenery
A64m
скачал весь хекедж, 15MLOC всего
Aliester
а в мегабайтах?
A64m
гига три, но это всего вместе, не только хаскельные файлы
A64m
ну, т.е. не весь, последние версии всех пакетов
A64m
в агде оказывается имплициты применяются
Alexander
Ну мы же уже выяснили, что можно разными способами решать.
Alexander
Полагаю, на этом тема уже исчерпана
Leonid 🦇
Ну слава богу
Leonid 🦇
mtl 1, SOLID монады 0
Alexander
😊 Я сегодня добрый, разрешаю
Leonid 🦇
по итогу дня - 29 ретвитов и 96 лайков. Great success!
Dmitry
а давайте за mtl
Dmitry
как "это" делается на mtl ?
Alexander
Через постель, все через постель
Alexander
Сорри
Leonid 🦇
newtype deriving + instance
Dmitry
ну т.е
Dmitry
это всё тоже самое, о чем говорит чувак тут https://markkarpov.com/post/free-monad-considered-harmful.html плюс newtype deriving ?
Dmitry
тупо тайпклассы?
Leonid 🦇
ну таки да
Dmitry
а для интроспекции можно написать тайпкласс, который вернет фри
Dmitry
если очень хочется.
Alexander
Я не успел картинку посмотреть
Dmitry
google: чебуречная дружба
Leonid 🦇
и мусора не больше, что TerminalM a, что Terminal m => m a
Dmitry
ну мне этот подход кажется более понятным и простым
Dmitry
т.е я вообще не знал, что это, оказывается, какой-то подход
Dmitry
для которого есть специальное название, и он является альтернативой чему-то.
Dmitry
возможно потому, что mtl добавляется в проекты сразу после base,containers и text
Dmitry
я думал, это просто программирование на хаскелле.
Alexander
Чатик полезен!
Dmitry
ну да, я пойду почитаю статей
Зигохистоморфный
ну мне этот подход кажется более понятным и простым
ну примерно такой подход будет http://chrispenner.ca/posts/monadio-considered-harmful
Dmitry
надо только смотреть, что бы не от олега были
Dmitry
хахах.
Зигохистоморфный
Dmitry
заведомо слишком умный, что бы я его понял
Зигохистоморфный
заведомо слишком умный, что бы я его понял
я вот когда читаю категорщину Кметта тоже не во все сразу въезжал и в некоторое до сих пор не въезжаю
A64m
это не просто какой-то подход, это изобретение одного из самых известных изобретений Олега Киселева независимо от Киселева, являющееся альтернативой одного из самых известных изобретений Киселева
Dmitry
так и должно быть.
Dmitry
мы все просто сон Киселёва.
Alexander
А Киселев - сон бабочки?
A64m
про таглесс файнл
Зигохистоморфный
про таглесс файнл
ну и реморс его и еще очень много чего
Зигохистоморфный
и статья у него классная про тайпклассы
A64m
ну это которому альтернатива
Зигохистоморфный
про таглесс файнл
насколько я помню это решало expression problem?
A64m
да
Dmitry
а еще про него рассказывал чувак на фпконфе, и не называл это такими словами
Dmitry
т.е его видимо изобретают все, просто не у всех есть для этого специальные названия
Dmitry
но это ладно. наверняка ведь в интернетах были и другие срачи free vs tagless ?
Зигохистоморфный
но это ладно. наверняка ведь в интернетах были и другие срачи free vs tagless ?
ну вот у пурсы их фри написан и как фри и реморс одновременно для оптимизашек
A64m
его даже как ООПе паттерн независимо изобрели
Leonid 🦇
у пурсы это всё от бедности рантайма
Зигохистоморфный
они даже сами это описали
Зигохистоморфный
https://github.com/purescript/purescript-free#purescript-free
Зигохистоморфный
у пурсы это всё от бедности рантайма
кстати я находил фри с реморс для хаскелл
Leonid 🦇
Можете удивлятся https://github.com/slamdata/purescript-aff/blob/master/src/Control/Monad/Aff.js
Oleg
опять про своё старьё трёте Могли бы typelevel DSLи писать