🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.funkcyjne
Article #354

Re: >>=

#354
From: Paweł 'Pasza' Ostrowski
Date: Thu, 29 May 2003 11:24
58 lines
2842 bytes
Dnia Thu, 29 May 2003 09:09:14 +0000 (UTC), Tomasz Zielonka napisał(a):
>> Monada: polimorficzny typ (czyli sparametryzowany innym typem), np
>> .. 
> Dokładnie -> unarny konstruktor typu.

ok :), to chcialem wyrazic
 
>>	  Ważna jest chyba monada stanowa (koniecznie zobacz
>>         przykłady w obu źródłach które podałem), rozwiązuje ona
>>         problem stanu w programie funkcyjnym.
> 
> Monady pozwalają opisać wiele "efektów", np.
>     - stan
>     - wyjątki (Maybe, IO, Either)
>     - niedeterminizm (choćby monada [])
>     - referencje mutowalne (IO, ST s)
>     - tablice mutowalne (IO, ST s)
>     - wejście / wyjście (IO)
>     - wątki (co ciekawe można wymodelować ograniczoną postać wątków w 
> 	     czystym Haskellu, bez wsparcia środowiska wykonawczego)        
>     - kontynuacje
>     - środowisko

brrr - widze, ze to co zrozumialem to dopiero poczatek, troche nie
docenilem problemu :), robi wrazenie

>> ..
>>         środowiska nie można wyciągnąć w żaden sposób boza monadę,
>>         obliczenia na nim są zaszyte w kokretną definicję operatora
>>         >>=.
> 
> W monadach IO i ST jest to konieczność, ale nie wszystkie monady są
> abstrakcyjne i zabraniają dostępu do swojej reprezentacji.

doszedlem do tego podczas pisania poprzedniego posta (na przykladzie Maybe)

>>  ..
>>       typu (M a) da wynik przejścia przez wszystkie obliczenia zawinięty
>>       w monadę M.
> 
> To działa tylko przy prostszych monadach, takich jak monada stanu.
> Spróbuj to rozumowanie zastosować do monady IO z wątkami lub choćby do
> monady parsowania ;)

ja mowilem ze sie nie znam :)
 
>>       'Na chłopski rozum': złożenie wielu obliczeń w jedno duże
>>       obliczenie.
> 
> Dobrze jest myśleć o monadach od strony inżynierii oprogramowania, jako
> o sposobie konstruowania interfejsu biblioteki.
> ..

ok, chetnie to przemysle, dzieki

-- 
Pasza
pasza (at) zodiac.mimuw.edu.pl
Technical Details
Message-ID: <bb4qm2$2nn$1@pasza.io.waw.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!not-for-mail
References: <bb47la$o6t$1@kenny.mimuw.edu.pl> <bb4b15$no1$1@pasza.io.waw.pl> <slrnbdbjhn.t42.t.zielonka@zodiac.mimuw.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!not-for-mail
From: Paweł 'Pasza' Ostrowski <pasza@acn.waw.pl>
Newsgroups: pl.comp.lang.funkcyjne
Subject: Re: >>=
Date: Thu, 29 May 2003 11:24:50 +0000 (UTC)
Organization: independent
Lines: 58
Message-ID: <bb4qm2$2nn$1@pasza.io.waw.pl>
References: <bb47la$o6t$1@kenny.mimuw.edu.pl> <bb4b15$no1$1@pasza.io.waw.pl> <slrnbdbjhn.t42.t.zielonka@zodiac.mimuw.edu.pl>
NNTP-Posting-Host: zodiac.mimuw.edu.pl
Mime-Version: 1.0
X-Trace: kenny.mimuw.edu.pl 1054207456 16827 10.1.1.1 (29 May 2003 11:24:16 GMT)
X-Complaints-To: abuse@news.mimuw.edu.pl
NNTP-Posting-Date: Thu, 29 May 2003 11:24:16 +0000 (UTC)
User-Agent: slrn/0.9.7.4 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit