Portál AbcLinuxu, 28. května 2024 10:42

fp? WTF? Functional Perl!

5.7.2007 15:42 | Přečteno: 1330× | Perl

To si jednou takhle brouzdám po CPANu a hledám binding do Erlangu a pak mě napadne kouknout se kolem. Kromě toho, že jsou tam k nalezení moduly k telekomunikačním výpočtům Erlang B a C, které vymyslel ten člověk po němž dostal Erlang jméno (jo to je ten chlápek jehož obrázek se objeví na začátku a na konci toho Monthy Pythoního filměčku Erlang The Movie), tak je tam k nalezení i takový srandovní modul jménem fp.

Ptáte se se WTF fp? Šílenci jen tak nevymřou. Prostě modul pro čistě funkcionální programování v perlu. Už DESCRIPTION varuje pojednáním o tom jak zjistit sudost nebo lichost čísla. Žádný zbytek po dělení holenkové, ale pěkně funkcionálně rekurzivně. Operátor přiřazení? Zapomeňte! Koukněte se do zdrojáků. Jediné přiřazení obsahuje funkce import, jinak celý ten modul je definován funkcionálně s použití základních funkcionálních operátorů perlu. Z komentářů je vidět, že i to jediné přiřazení autora moc mrzí.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

5.7.2007 16:02 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: fp? WTF? Functional Perl!
Odpovědět | Sbalit | Link | Blokovat | Admin
sub is_even { (($_[0] % 2) == 0); }

To má nějaký side-effect? Jaký?
5.7.2007 16:17 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: fp? WTF? Functional Perl!
Nejspíš modulo 2 má sloužit ke zjištění zbytku po dělení dvěma, to že tím náhodou zjistíš, zda je číslo liché, je ten vedlejší efekt. Alespoň tak jsem to pochopil :-)
5.7.2007 16:20 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: fp? WTF? Functional Perl!
Jo a to modulo 2 funguje jen pro celá čísla. (Nevím, na jakém oboru čísel je sudost/lichost definovaná, ale co kdyby to náhodou nebyla jen celá čísla...)
5.7.2007 16:46 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: fp? WTF? Functional Perl!
A jak by si to chtěl pro obor jiný, nežli celá čísla bych se podíval :) Formální definice lichých čísel (n=2k +1 <=> k je celé číslo, pak n je číslo liché), každé celé číslo, které není liché je sudé.
5.7.2007 16:48 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: fp? WTF? Functional Perl!
Oprava:

A jak by si to chtěl pro obor jiný, nežli celá čísla definovat? Na formální definici bych se rád podíval :) Formální definice lichých čísel na množině celých čísel: (n=2k +1 <=> k je celé číslo, pak n je číslo liché), každé celé číslo, které není liché je sudé.

5.7.2007 16:30 thingie
Rozbalit Rozbalit vše Re: fp? WTF? Functional Perl!
To nemyslím, že bude ten side-effect který by nějak vadil.
6.7.2007 10:46 walley walleyovic | skóre: 4 | blog: walley
Rozbalit Rozbalit vše Re: fp? WTF? Functional Perl!
Odpovědět | Sbalit | Link | Blokovat | Admin
to je teda zvracenost, nicmene to jasne ukazuje, ze krome perlu a c nejsou potreba zadne jine programovaci jazyky.
openstreetmap.social
6.7.2007 14:27 Dunric | skóre: 21
Rozbalit Rozbalit vše Re: fp? WTF? Functional Perl!
Odpovědět | Sbalit | Link | Blokovat | Admin
V další verzi asi přibude implementace monád a jejich transformace, protože to bez těch "side" efektů prostě někdy nejde ;-)

Např. na CPAN se bohužel(bohudík?) ukazuje, že použitelnost progr. jazyka je kromě efektivity implementace daná především dostupností už hotové práce - použitelných modulů a knihoven. Včetně takových neuvěřitelných hraček jako je Lingua::Romana::Perligata .

In the garden sleeps a messenger ·
6.7.2007 14:58 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: fp? WTF? Functional Perl!
Musíš uznat, že tohle je zajímavější než Latina :)
6.7.2007 23:31 Dunric | skóre: 21
Rozbalit Rozbalit vše Re: fp? WTF? Functional Perl!
Uff, tak tohle už je hodně ujetý ;-)
In the garden sleeps a messenger ·

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.