Sziasztok!
Megfogalmaznátok nekem közérthetően, hogy mi az a monád, milyen algebrai struktúrának feleltethető meg szemléletesen, milyen műveleteket definiálunk rajta, és miért lesz ettől szebb az életünk?
Wiki, Google, szakirodalom, eddig megkérdezett guruk szaktudása nem okosított ki.
szerk.: Funkcionális programozásról témakörről van szó.
Köszi!
- 7251 megtekintés
Hozzászólások
Úgy rémlik, egységelemes félcsoport.
- A hozzászóláshoz be kell jelentkezni
http://en.wikipedia.org/wiki/Monad
"In mathematics and computer science" kategória
(Bocs, eggyel feljebb akartam...)
- A hozzászóláshoz be kell jelentkezni
Ő lesz az én emberem, vele már találkoztam is, de nem értem.
A Just x / Nothing dolog a Maybe esetén teljesen érthető, viszont a műveletei teljesen sötétek, és ez az oldal is össze-vissza magyarázza.
Az odáig rendben van, hogy egy "absztrakt" algebrai struktúráról beszélünk, amin definiálunk két műveletet. Ezer irányba (kohézió nélkül) elkezdi magyarázni, és minden gondolatmenet vége az, hogy "és megváltottuk a világot, mert ennél egyszerűbb már semmi sem lehet".
Tudna valaki példát hozni ennek a funkcionális használatára? Mondjuk életszerűt.
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
Ha a monoidra gondolsz, az egy egységelemes félcsoport (zárt, asszociatív, egységelemes, de nincs feltétlenül inverz)
zárt: bármely két eleme összeműveletezve (*) is a halmazhoz tartozik
asszociatív: átzárójelezhető, azaz a*(b*c) = (a*b)*c
egységelemes: létezik E úgy, hogy minden halmazbeli a-ra E*a = a
--
Ami elől menekülsz, az után szaladsz.
- A hozzászóláshoz be kell jelentkezni
Nem arra gondolok. ;) Az algebrával ilyen szinten nincsenek problémáim, köszönöm.
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
egy helyen hallottam ezt eddig: absztrakt algebranal (kategoriaelmelet, bevmat3 nalunk..).
arra gondolsz? vagy megis mire? :) legalabb matematikai agazatot mondj.
- A hozzászóláshoz be kell jelentkezni
funkcionális programozás. te meg a monoidra gondolsz.
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
tessék, ékezettel írok, csak hogy megértsd. én a monádra gondoltam. kategóriaelméletben létezik.
a monoid más. miért írtam volna absztrakt algebrát meg kategóriaelméletet egy monoidhoz?...
mostmar normalisan irok;) a funkcionalis programozast mindig ruhelltem, ugyhogy erre most nem tolem kapsz valaszt.
- A hozzászóláshoz be kell jelentkezni
akkor ezer bocsánat, megjegyzem, nem az ékezetek hiánya miatt értettelek félre. a kategóriaelmélet szón átsiklottam. :)
a bevmat miatt gondoltam, ami "nálatok" már tudtommal diszkrét matek címen fut, és már nincs belőle 3, csak 2. ;) ott jön elő "komolyabb" (értsd: nem valami komoly) szinten csoportelmélet, ebből következtettem. tévedtem. mea maxima culpa.
bár ettől függetlenül nem tudom, van-e konkrét összefüggés a kategóriaelméleti fogalom és az általam keresett struktúra között. ha van bevmat3 jegyzetből idevágó részed, linkelhetnél, hátha okosabbak leszünk.
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
mi az hogy nalam? ;)
kikerestelek etrbe igy hirtelen, en hamarabb kezdtem, es progmatos vagyok.. es megvan a bevmat3, meg analszig... ;-)
ez van, oreg vagyok. :(
a kettonek nem sok koze van egymashoz, a funkcionalis programozasnal ez egy konstrukcio, mig a matekban.. najo, ott is. en oszinte leszek, sosem lattam ertelmet a funkcionalis programozasnak.
persze ezt hypeoljak mar 20 eve..
- A hozzászóláshoz be kell jelentkezni
Sajnalatos. ilyenkor kit kene leszurni? a diakot vagy az oktatast? Elvegeztel egy csomo matekot es nem ertekeled/erted a FP szepseget, egyszeruseget es kifejezoerejet. Vagy csak nem volt egy jo kurzosod sem a temaban. Ha jol gondolom csak specikent lehet elvegezni ilyeneket az elte-n ugye?
zsolt
- A hozzászóláshoz be kell jelentkezni
elte proginfón (ami progmat helyett van ugyebár) már kötelező félév haskell (funkc.prog címen) és aztán félév pp (párhuzamos programozás), de _sajnos_ semmi komoly.
az tényleg szomorú, hogy valaki "elvből rühelli", de ne csináljunk belőle flémet.
inkább mondjátok már meg, mi az a monád!!! :D
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
Ezekszerint nem segitett amit alant irtam :)
ha ertekesebb, komoly peldat akarsz latni, akkor ajanlom pl a haskell lista mint monad tanulmanyozasat.
Mert ugyebar a haskell lista egy monad.
zsolt
- A hozzászóláshoz be kell jelentkezni
Jézus, az utsó két hozzászólást nem láttam. Olvasom. Köszi.
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
senkit nemkell leszurni. az FP egy olyan dolog, amire lehet elvezni hogy dejo hogy van, meg minden, de a gyakorlati haszna statisztikai hiba szazalekaba esik.
majd ha az uzleti vilag atall Java EE -rol, akkor beszelhetunk rola, addig nem nagyon erdekel. de ha a Javat dobnam, akkor mar inkabb C#oznek.
- A hozzászóláshoz be kell jelentkezni
Amit irsz eloszoris az nem igaz, nevezetesen az iparban nem kicsi a hasznalata.
Masreszrol ha latnad a tendenciat a nyevek fejlodeseben, lathatnad, hogy minden eredelileg imperativ vagy imperativ osoktol szarmazo nyelvet sorban terjesztik ki FP tulajdonsagokkal. nezd meg pl a MS! F#-et, stb, amiknek meg persze ido kell mig elterjed, de elobb utobb...
zsolt
- A hozzászóláshoz be kell jelentkezni
20 eve ezt hypoljatok, hogy majd eljonnek a funkcionalis nyelvek. eljottek? nem. viragzik a Java EE, a C#.
en azt latom, hogy ezekbol meglehet elni, ellenben haskell programozot nem nagyon keresnek.
en mar kinottem abbol, hogy azert programozzak, mert "jee, milyen szep a nyelv, meg dejo!!".
- A hozzászóláshoz be kell jelentkezni
csatlakoznom kell a kollégához, kedves NagyZ, ezúttal tévedsz.
nagyszerű ellenpélda az állításodra az erlang.
szerk.: azért az F# nem tisztán funkcionális nyelv. nem is olyan szép, ha már esztétikai dolgokról beszélünk. de nem azért jó, mert szép. inkább fordítva.
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
az erlang korul az akademiai hypeon kivul nem lattam eletkepes projektet (nem, egy webszerver nem szamit annak).
a funkcionalis nyelvben irt szoftverek, libek, rendszerek szama meg mindig elenyeszo (Java EE viszonylatban).
- A hozzászóláshoz be kell jelentkezni
hát... várd ki a végét. és szokj le arról, hogy csak PC-ben gondolkozol. :) azért a funkcionális programozás abban a formájában, ahogy most van még nagyon fiatalka, és sok mindenben már most okosabb és barátságosabb, mint "vetélytársai". nem arra találták ki, hogy pótoljon valami létezőt, hanem arra, hogy megvalósítson egy (pár) olyan dolgot, amit rajta kívül csak kemény absztrakciók (és kemény számítások) mellett lehet elérni. és meg kell hagyni: az eddigi eredményei nagyon is biztatóak.
ha jól sejtem, az átlagnál több közöd van az absztrakt matematikához, csodálkozom, hogy ilyen ellenszenvvel kezeled ezt az egészet. és sajnálom is. szerintem adj még egy esélyt neki. :)
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
ettol meg nem fogja atvenni a Java EE szerepet. nekem meg valamibol tejet meg kenyeret kell venni ;)
majd ha lesz kereslet FPs munkaerore, _akkor_ jo lesz egy nyelv/paradigma/etc. amig ez <5%, addig az szamomra egy hobbiprojekt :)
nem csak PCben gondolkodok, a mobilom is javas.. ;-)
- A hozzászóláshoz be kell jelentkezni
:D LoL. Nem fogja átvenni soha, nem is hivatott rá.
De oké, aláírom, közjegyző jelenlétében hitelesítem. Enni kell valamit. (Megjegyzem, és nem reklám: Morgan Stanley saját funkcionális nyelvet implementált magának, és nem is véletlenül. Van ennek jövője, múltja nincs.)
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
Még annyit hozzá, hogy nagyon nagy előnye, hogy lényegében az egész program, amikor fut, egy függvénykompozíció. Amiről meg tudjuk jól, hogy asszociatív. Meg az általános asszociativitás törvényét is ismerjük. Párhuzamos programozásnál ez nem jön rosszul, nemdebár?
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
mit mondtam, majd ha lesz munkaeropiaci hatszele, akkor visszaterhetunkra, addig a berbol elo programozokat maximum erdekesseg szinten fogja izgatni.
- A hozzászóláshoz be kell jelentkezni
úgy érettem. adj neki még egy esélyt, mint érdekesség. ;)
gyorsan és könnyen tanulható, úgyhogy, ha világuralomra törne, akkor is lesz időd vele elkezdeni komolyabb szinten foglalkozni.
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
scalaztam, erlangoztam picit, nem csak ugy bebofogtem a topicba:)
- A hozzászóláshoz be kell jelentkezni
"mi az hogy nalam? ;)
kikerestelek etrbe igy hirtelen, en hamarabb kezdtem, es progmatos vagyok.. es megvan a bevmat3, meg analszig... ;-)
ez van, oreg vagyok. :("
ezért tettem idézőjelbe azt, hogy "nálatok". megjegyzem hál'istennek egyre kevesebb közöm van az ELTÉ-hez. de ezt majd egy másik topikban...
szerk.: mármint az ELTE-IK proginfóhoz van egyre kevesebb közöm.
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Konkrétan először a fogalommal a CEFP (Central European Functional Programming) konferencián találkoztam nyár elején. Elég sok előadás ért véget úgy, hogy "és látszik, hogy innen a problémakör visszavezethető a monádokra, tehát minden meg van oldva".
Senki nem tudott felvilágosítani azóta sem, és most megint előjött. Szeretném tudni, mi az.
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
Hacsak nem Leibniz monászairól van szó. De hát az meg metafizika.
- A hozzászóláshoz be kell jelentkezni
:D LOL
Fogalmazzunk úgy, hogy nem hiszem.
- A hozzászóláshoz be kell jelentkezni
Szia!
En akkro ertettem meg amikor elolvastam a kitalalojanak eredeti cikket, remelem jot linkelek:
http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
A lenyeg, hogy a monad egysegbezarja es axiomatizalja a "szekvencia" azaz mondhatnam a sorrendiseg fogalmat, ami termeszetesen siman es egyszeruen implementalhato lambda kalkulusban.
amint megjelenik az egymasutannisag, megjelenik a state, azaz allapot is(es megforditva is egyebkent). Igy ertheto tehat hogy a latszolagos allapotot haskellben pl, teljes egeszeben a monadra kepzodik le.
zsolt
- A hozzászóláshoz be kell jelentkezni
Olvasom, okosodom, hálálkodom. :) Köszi!
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
Szia! Ez esetleg nem segít? http://book.realworldhaskell.org/read/monads.html
- A hozzászóláshoz be kell jelentkezni
És ezt is köszi!
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
Ezt is nézd meg, talán segít: http://diploma.egyetemiblog.hu/funkcionalis-programozas-a-gyakorlatban/
- A hozzászóláshoz be kell jelentkezni
-
- A hozzászóláshoz be kell jelentkezni
én csak azt tudom, h mi a romonád, az ilyen félkör alakú támaszték a boltív építése közben. Biztos egy román illetőségű monád (no offense).
Tudom, mentem.
- A hozzászóláshoz be kell jelentkezni
Hálám mindenkinek a konstruktív és kevésbé konstruktív hozzászólásokért! Előbbiektől némileg már bölcsebb lettem, ha kérdésem van, látom, kihez forduljak. Utóbbiakon meg jókat mosolyogtam/nevettem. :)
A Haskell lista == monád példáért különösen hálás vagyok xbit-nek, sokat segített a linkelt oldalak megértésében.
Szóval köszi!
Szerk.: Amire most kellett, arra ennyi már elég, sőt, a CEFP-es dolgok egy részének teljes megértéséhez egy kicsit mélyebbre kell ásnom, de most már van, amin elindulhatok.
[Megoldva.]
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
Az alábbi megfejtések a legrégibb magyar álmoskönyvből valók:
Tyúkmonyad ha vagyon, kivált télen: nyereség. Tyúkmonyt tojni: apró gyermekeket nevelni. Tyúkmonyat enni: harag, hír.
- A hozzászóláshoz be kell jelentkezni
:) Hálistennek ott még nem tartok, hogy monyádokkal álmodjak.
Melyik volt előbb, a tyúk vagy a monád?
:: by BRI.
:: config :: Acer TravelMate // Ubuntu Jaunty
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog
- A hozzászóláshoz be kell jelentkezni
Nem tudom érdekel-e még a téma, de az itt linkelt paper még hasznos lehet:
http://lambda-the-ultimate.org/node/3805
Amúgy érdemes az LtU-t böngészni, hihetetlen dolgokat találok néha.
-----------
"Generally, Russian technology assumes dumb machines and smart humans, not the other way around." -- The Russian Tea HOWTO
- A hozzászóláshoz be kell jelentkezni