Сұрақ-жауаптар 'free monad'

Тегін монеталар фанаттардың монандаларға айналуының жалпы тәсілін береді. Көптеген ағаш құрылымдары мен домен тілдері үшін пайдалы.
6
жауаптар

Тегін монеталар дегеніміз не?

Мен Free Monad терминін көрдім, содан кейін біраз уақытқа дейін, бірақ олардың барлығы немен айналысып жатқанын түсіндірмей, оларды талқылайды. Мәселен, тегін монадалар деген не? (Мен Хаскеллдің монахтарын және негіздерін жақсы білемін деп айта аламын ...
13 қараша '12 сағат 0:53
6
жауаптар

Монастырьді тоқтату

Монадалар ғажайып, сумасшедшие заттар жасай алады. Олар мәндердің суперпозициясы бар айнымалы мәндерді жасай алады. Олар болашақтағы деректерді оны есептеуден бұрын қол жеткізуге мүмкіндік береді. Сізге жазуға мүмкіндік береді ...
20-сәуірде белгіленген '12 сағат 0:20
2
жауаптар

Тегін монади бар ма?

Санат теориясынан жинақтағы барлық эндофорумдар тегін монадитті мойындамайтындығы белгілі. Канондық есептегіш - функциялардың функторы. Бірақ Haskell кез-келген функторты еркін монадитке айналдыра алады. Деректер Free fa = Pure a | Тегін (f (Free fa) ...
02 қаңтар '16 сағат 14:19
1
жауап

Free Monad + Transpreter үлгісін қашан пайдаланғым келеді?

Мен жобада жұмыс істеймін, басқалармен қатар, дерекқорға қатынау деңгейі бар. Әдемі қалыпты, шынымен. Алдыңғы жобада, қызметкер дерекқор деңгейіне арналған Free Monads тұжырымдамасын қолданамын деп ұсынды, сондықтан мен оны жасадым.
20-мамырда сағат 20: 34-те белгіленеді
1
жауап

Хаскеллдегі Cofree CoMonad үшін қандай мотиваторлық мысалдар бар?

Мен Cofree-мен ойнаймын және оны ұстай алмаймын. Мысалы, Cofree [] Num-мен ойнап, қызықты мысалдарды ала алмаймын. Мысалы, егер мен Cofree түрін жасасам: a = 1: <[2, 3] болса, мен а == 1 үзіндісі күтемін, бірақ орнына ...
07 тамыз 20: 59-да
4
жауаптар

Қандай монандаларды кейбір функторларға тегін көрсетуге болады?

Еркін штаттарға арналған құжаттама: Тегін монадалар ретінде бірнеше монодер пайда болады, Бос босатылған деректерді ескере отырып, Free Free функциясы Identity monad-ге изоморфты болып табылады. Тегін Мүмкін, кез-келген деңгейдің өкілеттігін білдіретін жанұялық монархияны модельдеу үшін қолдануға болады.
01 ақп. Орнатылған '13 сағат 10:50
1
жауап

Monad Stack Penetration сыныптары еркін / операциялық Monad Transformers?

FreeT / ProgramT құрған монадичек трансформаторларға арналған mtl-ұқсас механизм болуы мүмкін бе? Бұл оқиға туралы менің түсінігім. Бірде монат трансформаторы ойлап тапты. Сонда адамдар бір-біріне біртұтас трансформаторларды жинай бастады, содан кейін ...
30 шілдеде сағат 4: 24-де белгіленген
3
жауаптар

MonadFix-ді «Тегін» үшін іске асыруға болады ма?

http://hackage.haskell.org/package/free ішіндегі Control.Monad.Free.Free кез-келген Functor-ға арналған «тегін монадқа» қол жеткізуге мүмкіндік береді. Дегенмен, MonadFix данасы жоқ. Себебі мұндай көшірме жазылмайды немесе ол сұрайды ...
01 ақп. Орнатылған '13, 1:07
4
жауаптар

Тегін монадисті қалайша кеңейте аламын?

Мүмкін, барлық монандаларды Тегін пайдалана отырып айтуға болады (егер бұл болмаса, қарсы мысал не және неге)? Monad немесе оның тиісті трансформатор жалғасы ретінде Free немесе FreeT-ді қолдануды білдіреді - бұл функция дұрыс болар еді ...
13 қыркүйек '14 сағат 23:15
5
жауаптар

Тегін монади аудармашыларын кеңейту мүмкін бе?

Тегін DSL монадиті, мысалы: деректер FooF x = Foo String x | Bar Int x deriving (Functor) type Foo = Free FooF және Foo үшін кездейсоқ аудармашы: printFoo :: Foo -> IO () printFoo (Free (Foo sn)) = print s> ...
13 желтоқсанда орнатылған . 13: 13-те
1
жауап

Scala-дағы Free Monad-ға монадический әсерлерін қою

Мен Scala-да тегін монадисті оқып жатырмын, ал мен мысалдармен Free Monad-та көтере алатын алгебраның қарапайым мысалын келтірдім. Міне, менің алгебралық мөрленген кеңестерім КонсультацияOp [A] объектілерге кеңес беру {case class жасау (c: кеңес) кеңейтеді ...
24 сағаттан кейін орнатыңыз . '15 сағат 18:46
1
жауап

Хаскеллде ымырусыз CPS-ны айқындық пен рефлексияны қолданған кезде

Хаскеллде монахтарды жасау кезінде ешқандай өкініш стилін жалғастыра алмайсыз ба? Мысал ретінде, мен қарапайым корутинді монадисті қолданамын. Егер сіз ешқашан ...
26 шілдеде сағат 21: 36-да орнатылды
1
жауап

Тегін баламалы функтордан оптималды қосымшалар талдаушысын жасаңыз

Қолтаңбаның келесі түрлерін қарастырайық: деректер Foo x = Foo {name :: String, reader :: String -> x} данасы Функтор, онда fmap f (foo nr) = Foo n $ f. r Қазір мен foo-дан оппарс-аппликаторға дейін табиғи айырбастауды ...
03 қараша күні орнатылды '14 сағат 19:23
2
жауаптар

Control.MonadPlus.Free-мен не болды?

тегін MonadPlus, деректер ретінде айқындалады fa = Pure a | Тегін (f (Free fa)) | Plus [Free fa] төмендегі ескертпен (changelog) 4.6 тегін жойылды: Control.MonadPlus.Free жойылды. Оның орнына FreeT f [] қолданыңыз және нәтиже ...
24 тамызда орнатыңыз '15 сағат 17:55
2
жауаптар

Тегін монади визуализациясы

Менің ойымша, менде тегін монадтың бар екендігі туралы жалпы түсінік бар деп ойлаймын, бірақ оны көрнекі етудің жақсы әдісі болғым келеді. Магмалардың екілік екілік ағаштар екендігі мағынасы бар, себебі бұл «ортақ», себебі сіз ...
02 желтоқсан 23: 23-те