Asi uz starnu a musi se na me hrozne polopaticky, ale z tohoto clanku jsem mel pocit, ze jsem zpatky na fuckulte a zase mi nekdo slozite vysvetluje veci ve sve podstate uplne jednoduche. Cele mi to pripda psane nejak kostrbate a necesky. Tim ani tak nemyslim uzivani cizich slov, ta vetsinou beru jako presne vyjadrovani, ale spise me zarazeji obraty typu "provede vypis". Proc ne jednoduse "vypise"? Nebo proc se namahat s necim jako "vlozeni hodnoty na aktualni vrchol zasobniku"? Takovyto clanek snad budou cist prakticky pouze programatori a tem je zbytecne rikat, ze se hodnota vklada do zasobniku na vrchol a jeste k tomu aktualni. Komentovat kam se neco do zasobniku vlozi ma smysl jen tehdy, kdyby to na vrchol nebylo.
Plus mam pocit, ze prvni priklad je nejaky divny. Jestlize je square definovano jako dup *, tak bych cekal ze [0 1 2 3] [square] map bude mit jako vysledek [0 1 4 9]. Zretelne to tedy dela neco jineho, nez ocekavam a bud ten priklad nechapu, nebo je tu nejaka chybka.
Ale uz se tesim na pokracovani. Treba se dozvim, jak se v takovemto jazyce bez promennych zvlada napriklad vypocet determinantu matice 3x3. To musi byt uplna nirvana... Sice si dokazu predstavit jak to udelat hrubym nasilim, ale z poctu nutnych zasobnikovych operaci me jima hruza.
Diky za nazor. Prave ze jsem zjistil, ze mnoho programatoru zasobnik (nebo nedejboze strom ci dalsi obecnejsi grafove struktury) vubec nezna! Samozrejme to nejsou lidi, co vystudovali IT, ale dneska se programatorem stava vcelku kdokoli (nic proti, znam par lidi s prumyslovkou, kteri jsou na prgani fakt dobri), takze je IMHO dobre nerikat nektere veci moc vagne, ale trosku je upresnit. Ostatne i v dotazech se nekdo ptal, co je to arita - to se snad probira v teorii programovacich jazyku ne? Par lidi - alespon co jsem mel cest videt jejich zdrojaky - si napriklad v Jave vystaci pouze s polem, zadnou dalsi "kontejnerovou" datovou strukturu nepotrebuji :-)
Jinak diky za upozorneni na chybu v textu - nektere casti zdrojaku jsem kopiroval z terminalu, nektere (vcetne poznamek) dopisoval az potom. Definice square je uvedena nize, jde o dup *.
Nedá mi to a musím s kolegou souhlasit (a to tak starý nejsem :-)).
Ten polopatický tón mi spíš připomněl střední školu, než fuckultu. A zabít několika stránkový článek vysvětlováním postfixové notace proloženým obrázky obstarožních kalkulaček ...
To s těmi poli mě docela překvapuje. Spíš bych čekal, že budou používat výhradně kontejnery, protože to je pohodlnější (minimálně se do nich dá přidávat).
Ještě technické (rejpavé) poznámky. Pro kompozici se používá symbol kolečka uprostřed řádku, ne symbol pro stupeň. Konec prvního odstavce druhé části jsem nějak nepochopil, resp. jsem nepochopil jakou to má souvislost s článkem. Vyvolal ve mně falešné naděje, že snad Joy tyto konstrukty přímo používá (pak by to byl opravdu zajímavý jazyk :-)).
Ale když už to tam je, tak by to mohlo být přesnější, protože pomocí nulové funkce atd. jsou definované částečně rekurzivní funkce a projekce není jedna funkce, ale spočetně mnoho funkcí. A pokud první věta třetího odstavce patří k témuž, tak opravdu nevím jaký je rozdíl mezi kombinace funkcí a kompozice funkcí, ale jednoho z toho by měl být operátor substituce. Naopak tam chybí naprosto zásadní operátor minimalizace.