abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 22:55 | Komunita

Nadace Raspberry Pi oznámila, že OpenVX 1.3 API lze nově používat také na Raspberry Pi. OpenVX je standard pro akceleraci aplikací počítačového vidění. Vyzkoušet lze ukázkové příklady.

Ladislav Hagara | Komentářů: 0
včera 22:11 | Zajímavý článek

Možná jste taky někdy zápasili s tiskem formulářů nebo šablon, které pořád ne a ne vyjít ve správné velikosti. Článek Tisk v přesném měřítku (PDF, PPD, CUPS) popisuje příběh hledání jedné takové chyby v GNU/Linuxu.

xkucf03 | Komentářů: 3
včera 08:00 | Nová verze

Byla vydána nová verze 4.8 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl aktualizován na verzi 9.5.1. Thunderbird na verzi 68.9.0. Linux na verzi 5.6.0. Opravena byla řada bezpečnostních chyb.

Ladislav Hagara | Komentářů: 1
30.6. 23:11 | Zajímavý projekt

Na Kickstarteru byla spuštěna kampaň na podporu tabletu CutiePi postaveného na Raspberry Pi, konkrétně na Compute Module 3+ Lite. Předobjednat jej lze za 198 dolarů. Expedice je plánována na listopad.

Ladislav Hagara | Komentářů: 4
30.6. 22:11 | Zajímavý článek

Na serveru Techrights.org vyšel článek The GNU Project is Bleeding Into Microsoft, který upozorňuje na podezřele se množící případy projektů, které jsou přesměrované z webových stránek GNU na GitHub (proprietární software a služba provozovaná Microsoftem). Článek poukazuje i na to, že k řadě přesměrování došlo po tom, co byl Richard Stallman (zakladatel hnutí GNU a nadace FSF) „vyhnán“ z vedení FSF (resp. odstoupil po agresivní

… více »
xkucf03 | Komentářů: 42
30.6. 18:00 | Komunita

Projekt KDE přešel na GitLab. Vlastní instance již běží na invent.kde.org. Další info v příspěvku na blogu GitLabu. Před dvěma lety byl na GitLab přesunut vývoj GNOME.

Ladislav Hagara | Komentářů: 2
30.6. 17:33 | Nová verze

Vyšel webový prohlížeč Mozilla Firefox 78.0. Jedná se o vydání s prodlouženou podporou (ESR). Počínaje tímto vydáním jsou k dispozici také poznámky k vydání pro podniky, kde jsou shrnuty změny týkající se zabezpečení, kompatibility a chování zvláště právě v podnikovém prostředí. Jednou z takových změn je odstranění podpory TLS 1.0 a 1.1.

Fluttershy, yay! | Komentářů: 2
30.6. 13:22 | Zajímavý článek

Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 95 (pdf), HackSpace 32 (pdf) a Hello World 13 (pdf).

Ladislav Hagara | Komentářů: 2
30.6. 07:00 | Zajímavý software

Jak na potlačení okolního hluku při online komunikaci na Linuxu? Zkusit lze včera představenou grafickou aplikaci Cadmus využívající k tomu určený plugin pro PulseAudio [reddit].

Ladislav Hagara | Komentářů: 8
29.6. 23:00 | Nová verze

Skriptovací jazyk Lua byl vydán ve verzi 5.4 (stručný seznam změn), a to 5,5 roku od verze 5.3, resp. dva roky od 5.3.5.

Fluttershy, yay! | Komentářů: 0
Používáte některé open-source řešení [protokol] pro šifrovaný instant messaging?
 (23%)
 (30%)
 (5%)
 (11%)
 (18%)
 (6%)
 (12%)
 (26%)
Celkem 286 hlasů
 Komentářů: 32, poslední 28.6. 17:51
Rozcestník


Vložit další komentář
21.9.2007 00:18 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Úvod do Scheme
Sice je to uvodni clanek, ale i tak bych cekal aspon to "hello world". IMHO moc kratke.
Překladač ti nikdy neřekne: "budeme kamarádi"
21.9.2007 07:41 Honza "tux" Friesse | skóre: 15 | blog: Tuxův blog | Vyškov
Rozbalit Rozbalit vše Re: Úvod do Scheme
(display "Hello World!")(newline)
21.9.2007 13:39 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Úvod do Scheme
Anebo:

"Hello world"
21.9.2007 01:16 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Úvod do Scheme
- A je to taky k něčemu dobrý?

- Asi ne.
Quando omni flunkus moritati
Fluttershy, yay! avatar 21.9.2007 07:15 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Úvod do Scheme
Je v tom případě k něčemu dobrý Pascal? Haskell? Logo? Smalltalk? cokoliv-dalšího-co-není-C-nebo-Java?
Science advances one funeral at a time. (Max Planck, parafráze) ✊ ⓔⓐⓣ ⓣⓗⓔ ⓡⓘⓒⓗCHAZ
21.9.2007 07:42 CEST
Rozbalit Rozbalit vše Re: Úvod do Scheme
"- A je to taky k něčemu dobrý?"

Osobne se mi v tehle *-fixovych jazycich pise docela dobre. Postscript a LISP(Scheme) jsou rozhodne zajimavym resenim.

Jinak GIMP taky pouziva Scheme pro svoje script, neco jsem si s tim nascriptoval, ale samozrejme vim, ze jdou pouzivat ruzne perl, python a snad i dalsi scripty. Ale v tom Scheme to vypada hezky:)
21.9.2007 08:39 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Úvod do Scheme
Akčemujetodobrý je v některých oblastech skoro sprosté slovo, třeba v matematice, a řekl bych že v programovacích jazycích občas také :-)
21.9.2007 09:49 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: Úvod do Scheme
Mimo jiné je to téměř ideální jazyk, pokud si chcete vyzkoušet jak napsat netriviální interpret nebo kompilátor. Což možná zní jako blbost, ale kdo nezkusil neví jak to rozšíří obzor, zvláště pokud v budoucnu potřebujete vytvořit domain specific jazyk.
21.9.2007 10:23 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Úvod do Scheme
scheme, nejake pozitiva ma

1) za prve jako vyukovy jazyk je naprosto vynikajici... nemusite ucit studenty nejakou slozitou syntaxi nebo konstrukce a muzete se venovat vysvetlovani obsahu -- rekurze, abstrakce, atd...

2) da se na nem snadno demonstrovat funkcionalni, imperativni i objektove programovani a chcete-li i logicke (coz ne vsude jde)

3) jako lisp je snadno rozsiritelny a jdou v nem modelovat dalsi jazyky

4) jak psal TZ o neco vyse -- muzete si snadno napsat vlastni intepreter/kompiler

5) ja k tomu dodavam, muzete si napsat vlastni/interpreter kompiler a ve spojeni s budem 3) zkoumat jak by se choval novy jazyk

6) a spousta dalsich...

btw. kdesi, kdysi, jsem nasel clanek od RMS, kde obhajoval scheme jako skriptovaci jazyk na urok trebal Tcl a dalsich... prave z toho duvodu, ze si Tcl muzete napsat ve schemu ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
21.9.2007 07:36 Honza "tux" Friesse | skóre: 15 | blog: Tuxův blog | Vyškov
Rozbalit Rozbalit vše Re: Úvod do Scheme
Lepší neŽ odkaz na R5RS by byl odkaz na R6RS s tím, že poslední draft je již schválená finální R6RS.

Na rozdíl od R5RS došlo k rozdělení dokumentu na jádro jazyka a knihovny. Také se celkem zvětšil počet podporovaných věcí -> R6RS už není na 50 stránek (tedy jádro ano, jádro + knihovny už ne).

Jinak dobrá práce, hlavně vydržet až k makrům.
Fluttershy, yay! avatar 21.9.2007 14:42 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Úvod do Scheme
Zatím ale není mnoho implementací.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ ⓔⓐⓣ ⓣⓗⓔ ⓡⓘⓒⓗCHAZ
21.9.2007 17:32 Honza "tux" Friesse | skóre: 15 | blog: Tuxův blog | Vyškov
Rozbalit Rozbalit vše Re: Úvod do Scheme
Zrovna ta doporučená, tj. PLT Scheme, je R6RS (nejsem si jist že na 100%, tak moc jsem to nestudoval, ale 90% to bude), protože u R6RS se vycházelo hlavně s PLT Scheme. Nemluvě o tom, že existuje jakási emulace pro R5RS. Navíc tím články získají delší životnost.
21.9.2007 21:26 Jaromír Hradílek | skóre: 29 | Brno
Rozbalit Rozbalit vše Re: Úvod do Scheme
Podle mnohých se bohužel R6RS odchyluje od filozofie jazyka natolik, že spousta z majoritních implementací explicitně oznámila, že jej implementovat nebude (PLT k nim nepatří). Pro hlubší vzhled doporučuji prostudovat některé z komentářů k jeho zamítnutí, viz oficiální výsledky hlasování.
22.9.2007 10:48 Honza "tux" Friesse | skóre: 15 | blog: Tuxův blog | Vyškov
Rozbalit Rozbalit vše Re: Úvod do Scheme
To je určitě pravda, osobně jsem to dost pocítil na news comp.lang.scheme. Na druhou stranu jsem takřka přesvědčen, že to většinu lidí přejde a nakonec budou R6RS implementovat. Dle mého názoru je R6RS obrovským krokem kupředu. Rozhodně se o tom nehodlám hádat, jelikož je to věc čistě subjektivní. Zdá se mi že hodně lidí nepochopilo, že Scheme dospívá a už to prostě není čistě akademický projekt, ale (třeba v případě PLT Scheme) velice použitelná platforma pro vývoj aplikací.
21.9.2007 07:45 CEST
Rozbalit Rozbalit vše Re: Úvod do Scheme - LISP?
Ja mel dojem, ze LISP je zkratkou pro "Lots of Insanely Stupid Parentheses", ale ted koukam, ze toho je vic, jako vzdy:) "Lots of Irritating Superfluous Parentheses" "Lots of Infuriating and Silly Parentheses" "Lots of Isolated Silly Parentheses" - zdroj http://www.linuxexpres.cz/praxe/lisp
21.9.2007 09:18 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: Úvod do Scheme - LISP?
Nenechte se plést. Lisp původně měl vypadat "normálně". Původně byly závorky jen mezikrok a základem měly být M-výrazy, ale nějak se to nikomu nechtělo používat a zůstalo se u závorkovacích S-výrazů.

A každý rok to někdo zkouší znova, a nikdy to nefunguje...
21.9.2007 09:23 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Úvod do Scheme - LISP?
a ja si celou dobu myslel, ze je to Language Intend for Smart People ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
freshmouse avatar 21.9.2007 07:49 freshmouse | skóre: 42 | blog: Bruno Banány
Rozbalit Rozbalit vše Re: Úvod do Scheme
Hmm, Robert to vymňoukl a nepublikoval všech pětatřicet odstavců...
21.9.2007 08:44 Vladimir Kralik
Rozbalit Rozbalit vše Aky je rozdiel medzi LISP a Scheme ?
V clanku je spominane, ze Scheme je dialekt LISP-u. Aky je vsak medzi nimi rozdiel, sa tam uz nepise :-(.
21.9.2007 09:07 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: Aky je rozdiel medzi LISP a Scheme ?
Dialekt znamená, že je jedním z mnoha lispů. Otázka je zhruba stejná jako jaký je rozdíl mezi vámi a člověkem (tedy pokud předpokládám, že člověk jste).

Pokud je otázka jaký je rozdíl mezi různými dialekty, tak scheme se (jak to chápu) snaží být co nejčistší a nejortogonálnější (minimum konstrukcí, které společně umožňují vše). Z pragmatického hlediska - má continuations a povinnou tail recursion, není zaměřeno až tak na výkon (v porovnání třeba s Common Lispem). Je to Lisp-1 (jména funkcí a proměnných zabírají jeden prostor, na rozdíl od CL) a je lexically scoped (stejně jako CL, na rozdíl - pokud vím - třeba od Emacs lispu).

Stačí? :)
21.9.2007 08:56 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Good Luck
Tož asi už chápem, co je to henten lama kalkulus :-)
Jardík avatar 21.9.2007 09:15 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Úvod do Scheme
Není pátek? Kde jsou distribuční novinky?
Věřím v jednoho Boha.
Luboš Doležel (Doli) avatar 21.9.2007 14:39 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Úvod do Scheme
Budou v pondělí ;-)
21.9.2007 09:22 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: Úvod do Scheme
Mimochodem, co se týče Scheme a MITu, tak časy se mění
21.9.2007 09:28 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: Úvod do Scheme
Druhé mimochodem k historii - na Lambda papers by se možná v článku hodil odkaz, když jsou na webu (např. z http://lambda-the-ultimate.org/papers).

A když byly zmíněny ty Hewittovy aktory, tak stálo za to říct i jak to s nimi dopadlo - při implementaci se ukázalo, že kód pro ně byl zcela ekvivalentní s kódem tuším pro funkce, takže ve Scheme nejsou.
21.9.2007 09:35 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Úvod do Scheme
Když jsem uviděl nadpis "Úvod do Scheme", doslova jsem nadskočil nadšením. To ale poněkud opadlo, když jsem jako autora viděl Davida Kolibáče. Bez urážky, ale jak dlouho autor Scheme zná a něco v něm píše? Neříkám, že tenhle seriál nebude přínosný, ale jen aby to nebyla další ze sérií "hurá, naprostý začátečník učí jiné začátečníky". Zrovna Scheme/LISP podle mě patří mezi poměrně specifické jazyky, které vyžadují, aby ten, kdo je chce naučit jiné, o nich taky něco věděl.

Já už myslel, že se konečně k něčemu dokopal Kyosuke. Zas nic. :-)
21.9.2007 11:01 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
Já bych musel udělat seriál spíš o Gauche Scheme než jen o Scheme, ale lichotíš mi až příliš, tak slavné to se mnou zase nebude. Ke každodennímu používání Scheme se musím teprve dokopat, i když zrovna Gauche člověku (resp. unixářovi) musí dělat velikánské chutě. Na rozdíl od jiných implementací mi přijde i jako použitelné pro rozumné věci. :-)

Na dokopávání se pracuje , ale čas velí zatím jinak. Je pravda, že začít takhle (↑) asi není úplně vhodné. Já se jen bojím, aby - kdybych něco takového začal psát - aby to neskončilo jako pouhý plagiát SICP. To se totiž dá jen velmi těžko přebít, a tak kvalitní učivo člověk z hlavy prostě vytlačit nedokáže. Na druhou stranu, směska poznatků ze studia Bible...totiž co to říkám, SICP (i když pro lispery to je totéž ;-)) a věcí specifických pro Gauche, které je docela pěkně udělané (a navíc jsem si pro něj udělal balíček a jsem líný používat něco jiného :-)), by mohla být použitelná. Nicméně jediný použitelný algoritmus, který mě napadá, je časově trošku náročnější. Teď mě omluvte, půjdu pozřít ještě nějaké lispohlávky. :-)
21.9.2007 12:46 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Úvod do Scheme
Jsi příliš skromný. :-) Do studia celé SICP by se poustil asi jen opravdu vážný zájemce o Scheme. Zato občasné články napsané člověkem, který už o Scheme něco ví (třeba i inspirované SCIP, na tom není nic špatného), navíc psané se zaměřením na jednu z těch opravdu praktičtěji použitelných implementací, by možná přilákaly ke Scheme více lidí.

S chutí do toho a půl je hotovo. Neber to zas tak zodpovědně. ;-) Sem tam další díl případného seriálu, to tě nezabije. :-)

Já už plánuju naučit se Scheme a Haskell asi rok, ale z nedostatku času na podrobnější studium jsem se nedostal dál než k úplným trivialitkám. Nakonec to dopadne tak, že se k nim dostanu až teď v Neprocedurálním programování na MFF. A i tak mám dojem, že to bude zaměřeno spíše na Prolog, takže si Scheme a Haskell nakonec stejně budu muset nastudovat sám.
21.9.2007 16:29 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Úvod do Scheme
Už dlouho mám v plánu si pořídit Structure And Interpretation Of Computer Programs v tištěné podobě. Ale teprv teď jsem se podíval na Amazon, kolik vlastně stojí. Spadla mi z toho čelist, ale mohl jsem čekat trošku vyšší cenu. Takže si asi ještě chvíli počkám. :-)

Nevíte někdo, jestli se dá ta kniha koupit tady u nás? Nebyl by problém si ji objednat ze zahraničí, ale takhle by to bylo jednodušší.
21.9.2007 16:41 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
Mně stála 1250 Kč, o týden později se nabídka vyšvihla na 2000. :-) Asi jsem měl štěstí. Nicméně i za ty dva tisíce je to levné, ten obsah má cenu zlata. Není žádný substituent, knížek o algoritmech je kupa, prakticky o každém jazyku taky, ale tahle učí, jak myslet, a v žádné jiné nic podobného není.
21.9.2007 16:56 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Úvod do Scheme
Koukal jsem, že přímo na Amazonu by mě přišla na 60USD, to by sedělo na těch zhruba 1250 Kč, ale to by bylo bez poštovného. Přímo MIT Press ji prodává za 80 dolarů, to už je docela pálka. :-)

Mno, mám tu zbytečnou, nikdy nepoužitou knihu "Mistrovství v C++", jejíž prodej by mi mohl pár stovkama pomoct. :-) Teď to řešit nebudu, ale v brzké době si asi vážně SICP koupím. Kdybych furt jenom čekal a čekal, tak ji nebudu mít nikdy. :-)
21.9.2007 16:52 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Úvod do Scheme
$60 neni zase takova hruza... kvalitni pocitacova literatura se i v cr pohybuje kolem te tisicovky... otazka jestli se to v tom pripade vyplati vzhledem k online verzi... (osobne jsem neco obdobneho resil s art of unix programming -- a nakonec jsem nelitoval) ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
21.9.2007 17:01 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Úvod do Scheme
Máš pravdu, když jsem se nad tou cenou pak zamyslel, taky mi to nepřišlo tak hodně. Jak píšu výše, za Mistrovstvi v C++ jsem dal taky litr a nakonec mi byla naprosto k ničemu. U SICP očekávám větší přínos, vzhledem k tomu, že i opravdu zkušení programátoři o ní v recenzích prohlašují, že jim i po letech pořád dává něco nového.
21.9.2007 17:26 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Úvod do Scheme
naprosto souhlasim... (ale pssst, ne aby to o c++ slysel pan ponkrac ;-]) ja jsem mel tu cest chodit na prednasky dr. skoupila (viz v clanku zminene skripta), ktery prednasel de facto podle SICP -- takze to nejzakladnejsi jsem mel predzvykane do cestiny a je fakt, ze uroven jeho prednasek (i kdyz nekteri maji sve pochybnosti) byla jedna z nejlepsich... ta knizka, i kdyz mistama ma taky sve mouchy, je opravdu dobre vystavena a asi dokaze naucit programovat... obzvlast pokud jste si zatim nenechal znicit mozek treba c++ ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
22.9.2007 11:44 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Úvod do Scheme
No, já už z programování něco málo umím. A pokud jde o C++, tak předmět Programování v C/C++ už mám taky za sebou. Jestli mi zničilo C++ mozek, to ukáže budoucnost, zatím jsem v něm ještě nic nenapsal. :-) A ani mě to moc neláká, moc se mi ten jazyk nelíbí. Více se mi líbí čisté Céčko, už jen z čistě estetických důvodů. ;-)

Takže to Mistrovství asi někomu střelím, něco málo přidám a pořídím si SICP. Ještě jednou bych se rád zeptal: dá se ta kniha koupit i tady v ČR?
Marek Bernát avatar 22.9.2007 12:10 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: Úvod do Scheme
Povedal by som, ze da, ale nebude to lacny spas. Tiez by som si ju rad kupil, ale kym to nebude do 1000 Kc, tak budem musiet vystacit s pdf :-(

C++ a Java inak nie su zle jazyky. Problem je, ze ich tlacia ludom do hlavy este predtym, kym sa naucia programovat (vymyslat algoritmy) a nepovedia im, ze existuju aj ine (lepsie) alternativy (ktore by ich prave mysliet naucili). Tak sa nam rodia zastupy cvicenych opic pripravenych pisat public static int … az do konca zivota.

C++ (a v mensej miere aj Java) je ale dobry jazyk, ked uz clovek programovat vie a rovnako vie, preco ho chce pouzit (typicky rychlost programu alebo sprava pamate). Skoda len, ze takych ludi je desiva mensina. Tolko moj dnesny povzdych :-)
physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
21.9.2007 13:26 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Úvod do Scheme
no, uz podle prvniho vtipku slo poznat, ze cerpal ze skoupilovych skript... coz je vicemene vytah a preklad ze SICP... sice jako jemny uvod a doplnek k jeho prednaskam dobry, ale uz mirne prekonany. u nas ted sepsali o neco hardcorovejsi "cvicebnici" -- kde uz se jde i do vetsi hloubky... otazka je, jestli je to dobre nebo spatne, 250 stran na semestr mne prijde docela dost. ;-]

s vyse uvedenym clankem je potiz -- ze vlastne krome par vtipku a strucneho uvodu nic neresi... ani prefixovou notaci, natoz proces vyhodnocovani, na toz vubec podstatu lisp-like jazyku.... mozna by to chtelo cely serial malinko zhutnit...

gauche je dobre -- pokud byste si dal tu praci, tak bych si o nem i neco rad precetl... protoze neni scheme jako scheme... btw. z gauche mam docela mindraky... je nekolikanasobne rychlejsi nez muj "schemik" ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
21.9.2007 13:34 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Úvod do Scheme
s vyse uvedenym clankem je potiz -- ze vlastne krome par vtipku a strucneho uvodu nic neresi... ani prefixovou notaci, natoz proces vyhodnocovani, na toz vubec podstatu lisp-like jazyku.... mozna by to chtelo cely serial malinko zhutnit...
Přesně o to mi šlo – není problém napsat pár článků o syntaxi Scheme, o tom, jak se píšou podmínky atd. Ale zrovna u jazyků LISPovské rodiny je celkem vhodné se rozepsat i o jejich podstatě a filozofii. A to už není jen tak...

No bezva, tak to už jsme dva, kdo budeme na Kyosukeho vyvíjet mírný nátlak v mezích zákona. :-D
21.9.2007 14:05 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
BTW, Gauche Scheme je jediný interpret, který znám, s podporou OpenGL 2.0 a GLSL - a teď nemluvím jen o Scheme, hledal jsem i něco pro Python a Ruby, ale marně. Stejně tak potěší nativní pthready bez omezení, úplné rozhraní na BSD sockety, binární stromy a trie v základní knihovně (hashtables jsou samozřejmost, tak je zmiňovat nebudu :-)), KMP algoritmus rozebraný na kousky, LCS a diff, Wrightův pattern matcher, Kiselyovův XML parser, podpora asi třiceti SRFIček...seznam je pekelně dlouhý. ;-)
21.9.2007 14:11 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Úvod do Scheme
Pekne. Ma to nejaky aspon trochu efektivni kompilator?
21.9.2007 14:21 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
Právě že moc ne, ale u glue jazyka to až tolik nevadí. :-) Tam ocením spíš fíčury a všeobecnou použitelnost. Co je však efektivní, to je spouštění toho zkompilovaného kódu. Startup time je minimální, takže i unixoidní (krátké, často spouštěné) skripty v něm mají docela smysl. Když to kamarádovi stačí na realtimové řízení, asi těžko budu víc náročný. :-)
21.9.2007 14:53 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Úvod do Scheme
Jo, to je u Scheme trochu problem - spousta glue variant a zadna poradna varianta pro psani kompletnich programu. Nekdy si rikam, ze by nemusel byt takovy problem napsat Scheme frontent pro GCC. On ten scheme narozdil od ostatnich dynamickych jazyku zas az tolik te compile-time informace neskryva.
21.9.2007 15:01 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
Nestačí Chez, Gambit a Stalin? ;-) (A vůbec, co je to "kompletní program"?)
21.9.2007 15:18 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Úvod do Scheme
Diky za radu. Na Stalin jsem koukal a neco me na nem nevyhovovalo, ale uz si presne nevzpominam, co to bylo.
21.9.2007 15:24 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
Stalin je mírně experimentální, ale Gambit je hodně rychlý a na rozdíl od Chez se za něj nemusí platit. :-) Ale nepotřebuju ho, tak jsem ho zatím nezkoušel. Jen vím, že tahle implementace je hodně poctivá, ze skušeností kamarádů.
21.9.2007 14:25 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Úvod do Scheme
btw. rozsah knihoven a bindingu bych moc nehodnotil... prakticky vzdycky jde dopsat cokoliv (teda az treba na pthreads)... ted jenom najit ten cas to napsat... ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
21.9.2007 14:27 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
Mno jo, ale u (téměř) one-man show je to docela úctyhodné. ;-) A trošku to ukazuje, že Shiro Kawai to myslí fakt vážně.
21.9.2007 15:11 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Úvod do Scheme
ja to nepopiram... jenom se me libi gauche z malinko jinych duvodu... treba pro docela slusny runtime... btw. ty srfi jsou vsechny jeho implementace, nebo to prebira v ramci licence...? uz delsi dobu si pohravam s myslenkou prevzit do sveho interpretru znekama srfi ... ale su liny dopsat hygienicke makra... ktere v nich spousta lidi pouziva ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
21.9.2007 15:16 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
Netuším, asi se to bude lišit případ od případu. Koneckonců, některá SRFIčka se nedají naimplementovat jen jako knihovna (třeba nové syntaxe pro všelijaké literály), ale něco určitě převzal. Mno, Gauche je pod BSD, takže snad není problém s výpůjčkami. :-)
Fluttershy, yay! avatar 21.9.2007 14:44 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Úvod do Scheme
Když on nikdo z expertů nic nenapíše...
Science advances one funeral at a time. (Max Planck, parafráze) ✊ ⓔⓐⓣ ⓣⓗⓔ ⓡⓘⓒⓗCHAZ
21.9.2007 12:12 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Úvod do Scheme
Ve článku by stálo za to zmínit (když už tam tak okázale propagujete to použití Scheme na MIT), že MIT přechází/přešlo ze Scheme na Python, což mě jakožto pythonistu nesmírně hřeje u srdce ;-)

Viz článek De-Scheming MIT.
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
21.9.2007 12:32 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Úvod do Scheme
To už tu padlo.
21.9.2007 13:05 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
To není tak úplně "přechod ze Scheme na Python", to je paralelní program s mírně jiným zaměřením, který může, ale nemusí 6.001 nahradit. S největší pravděpodobností Python pro ty "první čtyři týdny" poslouží úplně stejně, na ty další by asi nestačil :-), ale však taky ten předmět míří spíš k robotice než k softwarovým abstrakcím. Jsem si jistý, že Hal Abelson, jeden s příznivců nových osnov, určitě na svůj oblíbený jazyk nezanevřel jen proto, že by Python byl najednou nějak zázračně lepší na věci, na které dosub bylo (a věřím, že i bude) lepší Scheme. Nový předmět prostě řeší jiné věci a člověk přeci nebude dělat textový editor ve Fortranu ani simulátor elektrických obvodů v COBOLu. Python studentům pro ty jednoduché věci bude bližší než Scheme a určitě to není špatná volba pro ty, co nechtějí celý život psát kompilátory.
Fluttershy, yay! avatar 21.9.2007 14:40 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Úvod do Scheme
Vycházel jsem z uvedeného seznamu škol na Schemers.org, který je ale (jak tak koukám) neaktuální.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ ⓔⓐⓣ ⓣⓗⓔ ⓡⓘⓒⓗCHAZ
23.9.2007 20:22 Kolotoč
Rozbalit Rozbalit vše Re: Úvod do Scheme
Psal jsem to sem už jednou, ale můj příspěvek byl smazán, vyjádřím se tedy mírněji. Bojím se že nahrazení náročného kurzu v akademicky velmi zajímavém jazyku Scheme jednodušším a "spotřebním" kurzem v Pythonu je jen ukázkou typického problému, který vidíme i na našich vysokých školách. Snaha o to mít co nejvíc studentů kvůli státním dotacím vede k trivializaci výuky. Rušení abstraktních a "vědeckých" předmětů a jejich nahrazování "praktickou výukou" vede k přeměně univerzit z výzkumných a elitních výukových ústavů na jakási počítačová učiliště která mají napříště dodávat levné programátory v Javě do firemních projektů. Myslíte si že je náhoda že zakladatelé Googlu Larry Page a Sergej Brin vystudovali počítače právě na Stanfordu který je známý kvalitním výzkumem v oblasti computer science, a ne na nějaké rychlokvašce typu Vysoká škola ekonomická nebo ve školícím centru natřeném vysokoškolskou barvou jako je třeba Vysoká škola Jednorožeč?
25.9.2007 14:32 mys elf
Rozbalit Rozbalit vše Re: Úvod do Scheme
A nic to nebylo platné, protože namísto Scheme v Google nasadili zakladatelé od začátku Python.
25.9.2007 18:37 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
No jistě, jestli na Stanforgu programovali v MIXu, tak to byl pokrok. :-) (Hint: Důvody pro výběr jazyka mohou být všelijaké, a hlavně, většinu strojových cyklů stráví Google v C++, protože Python na to nemá (i když kompilátor Common Lispu by mít mohl - za šílené licenční sumy ovšem), a obsluhuje ty vyšší vrstvy.)
25.9.2007 18:37 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
s/Stanforgu/Stanfordu/
22.9.2007 22:40 Kolotoč
Rozbalit Rozbalit vše Re: Úvod do Scheme
Ale hovnajs. Python je v podstatě omezenej Lisp s céčkovou syntaxí pro ty co nemají na to pochopit Lisp. Scheme a Lisp da rulez!
23.9.2007 06:26 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
A to jsem si už myslel, že já musím být nepřekonatelně protivný a nafoukaný závorkář...a vono prdlajz. :-D
25.9.2007 14:38 mys elf
Rozbalit Rozbalit vše Re: Úvod do Scheme
Python je Lisp pro lidi, kteří nemají hlavu v p...ísku a chtějí řešit praktické věci čitelně namísto DSL onanie. Osobně se právě učím OCaml, který mi přijde jako zajímavější alternativa Lispu díky rychlosti, typové inferenci a rozumnější syntaxi.

BTW co má znamenat "da rulez"? To je nějaký slang senegalských imigrantů v Bronxu?
25.9.2007 18:40 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
<rejp>No jasně, trvalo mi strašně dlouho, než jsem si ze seznam[::-1] zvykl na (reverse seznam) protože to druhé je oproti tomu prvnímu šíleně nečitelné a nepraktické. ;-)</rejp>
25.9.2007 19:34 mys elf
Rozbalit Rozbalit vše Re: Úvod do Scheme
On má Python také funkci reversed() (kterou já osobně používám) a in-place metodu list.reverse(). Ale pokud zůstaneme u seznamů, tak mně opravdu pythonovská notace (a notace mnoha jiných jazyků pro indexaci seznamu či pole) pro výběr prvku na určitém místě přijde čitelnější než car, cadr, caddr, cadddr atd. i než nth. Prostě mi ten syntaktický cukr v rozumné míře přijde fajn. Uznávám, že je to věc názoru.
25.9.2007 19:53 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
"reversed"? Tak o tom slyším prvně. Když napíšu v Pythonu "reversed", vypíše se mi "<type 'reversed'>". Netuším, co to má znamenat (představuju si, že typy pasují skutečně k typům hodnot, jako je float, int, list a podobně), ale moje představa je taková, že objektový jazyk by mohl mít něco jako univerzální API pro sekvence - jako že když nad objektem zavolám o.reversed(), vrátí mi objekt stejného typu, jen pozadu. Když chci udělat vlastní typ s rozhraním sekvence, netuším, jak ho pro reversed(o) přetížím (pokud Python nemá CLOSoidní objektový systém, jako má třeba Gauche), leda, že bych všude psal type(a)(reversed(a)), což je ukrutné. :-) A o.reverse() je zase destruktivní.

Koukám teď, že sorted(o) bude téhož zrna. Nemám námitky proti Pythonu jako jazyku (nebo jen víceméně malé), ale spíš proti takovýmhle věcem. :-) Jak píšu jinde, ve Scheme leckdy název funkce a způsob jejího použití jednoduše uhádnu (a nemusím hledat), páč je to mírně konzistentnější, což mi je velmi milé. Ale to možná je jen věc vkusu, různí lidé si standardní knihovnu asi mohou představovat jinak. :-)
25.9.2007 20:20 mys elf
Rozbalit Rozbalit vše Re: Úvod do Scheme
Nevyjádřil jsem se asi nejlíp. reversed() a sorted() jsou iterátory. Proč to vypisuje to nepříliš inteligentní <type reversed>, mi taky není úplně jasné. Nicméně tohle rozhranní JE obecné a funguje nad jakýmkoliv iterovatelným objektem, tedy např. i nad seznamem, tuple a slovníkem. Takže ano - type_name(reversed(a)). Může to být občas trochu nepohodlné, nicméně já osobně preferuju líné vyhodnocování a iterátory mi obecně vyhovují.
26.9.2007 06:33 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
Jsem moc rád, že Vám Python vyhovuje. :-) Nicméně otázka, jaký přístup k iterování datových kolekcí je nejlepší, zůstává obecně stále otevřená (třeba [1], [2], [3], [4]). Skoro se zdá, že každý jednotlivý přístup je dobrý tak na 80-90 % věcí a chtít po něm i zbytek smrdí problémem. :-) (Hmm, aspoň budou mít teoretici spoustu zábavy na příští desítky let. ;-)) V kontextu Pythonu generátory zapadají velice pěkně, o tom žádná.
1.10.2007 22:52 mys elf
Rozbalit Rozbalit vše Re: Úvod do Scheme
Díky za odpověď, mrkám na to.
25.9.2007 23:11 Kolotoč
Rozbalit Rozbalit vše Re: Úvod do Scheme
Oh yeah brotha! We are da eleet Lisp gang, and we got all da krak and bitchez 'cause we are more klever tha ya. You Python weeners, you will never feel da real magik of programming like we do.
25.9.2007 23:26 mys elf
Rozbalit Rozbalit vše Re: Úvod do Scheme
I'm a white European guy and really do not understand your gibberish; only something tells me you keep moving your arms before your face like crazy. Nice try, though. ;-)
25.9.2007 23:35 Kolotoč
Rozbalit Rozbalit vše Re: Úvod do Scheme
Good beef, mate! Kewl to meet ya! And, learn Da Lisp, ok?
21.9.2007 12:24 lf
Rozbalit Rozbalit vše Re: Úvod do Scheme
Scheme je vynikajuci jazyk na vyuku programovania. Neexistuje lepsi sposob ako sa naucit clenit kod, ako ked musite kazdy cyklus naprogramovat ako rekurzivnu funkciu.
21.9.2007 14:40 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Úvod do Scheme
ehm, co je to Hewittova teorie aktorů ? :-D
Přidej se k odporu proti eko-fanatismu! Konzumuj prémiové informace plné zdravého rozumu a vyhýbej se těm nevhodným!
Fluttershy, yay! avatar 21.9.2007 14:46 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Úvod do Scheme
Science advances one funeral at a time. (Max Planck, parafráze) ✊ ⓔⓐⓣ ⓣⓗⓔ ⓡⓘⓒⓗCHAZ
21.9.2007 20:24 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Úvod do Scheme
btw. vaše patička je značně nechutná, i za předpokladu že člověk nemá předsudky proti tomu druhu sexu...
Přidej se k odporu proti eko-fanatismu! Konzumuj prémiové informace plné zdravého rozumu a vyhýbej se těm nevhodným!
21.9.2007 20:47 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úvod do Scheme
Jaký uživatel, taková patička? :-)
21.9.2007 23:22 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Úvod do Scheme
Co nechutna, ale hur je nejspis i nepravdiva, neb zacpa je AFAIK stolice blokovana v tlustem streve a ne v konecniku.
Josef Kufner avatar 21.9.2007 23:51 Josef Kufner | skóre: 69
Rozbalit Rozbalit vše Re: Úvod do Scheme
IMHO jen záleží na kvalitách parnera... ale asi bych dal přednost nějaké jiné léčebné metodě :-D
Hello world ! Segmentation fault (core dumped)
21.9.2007 14:46 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Úvod do Scheme
Scheme je uz dlouha leta muj nejoblibenejsi programovaci jazyk a napsal jsem v nem nekolik veci, tak bych se k clanku mohl take vyjadrit. Ale nechce se me psat proflakle fraze, tak zkusim nejakou kritiku:
  • Scheme numeric tower je sice pekna predstava, ale je IMHO nepouzitelna pro praci s necelociselnymi cisly.
  • Nepritomnost standardnich struktur - existuji zpusoby jak je ve Scheme doimplementovat, ale pak maji dve alternativni problemy - bud jsou syntakticky znacne protivne (kazdy accessor musi obsahovat specifikaci struktury), nebo zakryvaji compile-time informace a ty presouvaji do run-time (dispatch podle typu objektu v runtime)
  • Nepritomnost namespaces (alespon v R5RS). I kdyz zatim jsem nevidel interpretovany jazyk, ktery by mel namespaces udelany dobre.
  • R5RS hygienic makra jsou mnohem otravnejsi a mnohem mene nazorna nez klasicka Lispova makra
  • Continuations jsou sice uzasna vec, ale zabijeji to interpreti, kteri pouzivaji stack a pri slozitejsim pouzivani continuations ho kopiruji
  • Obecne me trapi nemoznost vyjadrit nejakou informaci znamou v compile-time, i kdyz porad lepsi nez kdyz me jine jazyky nuti vyjadrit neco, o cem v compile-time nemam potuchy.
Jinak osobne za jeden z nejvetsich a casto opomijenych prinosu Lispu ci Scheme povazuji seznamy a symboly jako zakladni elementy jazyka, takze je s nimi velmi snadna manipulace, je mozne je pouzit jako literaly a dalsi.
21.9.2007 20:57 JS
Rozbalit Rozbalit vše Python je IMHO pohodlnejsi nez Scheme
No, ja jsem Scheme trochu zkousel z nutnosti, protoze jsem na Treo 680, co mam, nic jineho nez LispMe nemel, a i ten nakonec nejak spatne spadl, cimz moje pokusy skoncily. Zkousel jsem napsat programek na vypocet mocnin matice (proste jsem si trochu hral s grafy, a na neco jsem to potreboval), a protoze jsem neznal "do" a "let" (mel jsem k dispozici jen online manual a znal jen prvni kapitolu SICP prednasky), tak jsem vsechny smycky programoval pres rekurzi, a delal to dost funkcionalne. Nejsem zadny hlupak (ostatne, nakonec jsem v tom udelal co jsem chtel), ale podle me, programovat pres koncovou rekurzi nasobeni matic, ulozenych jako vektor vektoru, je cisty masochismus. V Pythonu (mem nejoblibenejsim jazyce) bych to napsal na 3 radky. A taky mi tam dost chybely slovniky. Proste, funkcionalni programovani je matematicka krasa, ale lidskemu uvazovani to casto moc nesedne (nehlede na to, ze nekdy do tech funkci proste musite natahat nejake globalni promenne, a to je strasna fuska se s tim psat), ergo, pokud potrebujete neco rychle splacat, bude vas to zdrzovat. Ale pokud nekdo vi lepe, rad se podivam, jak to dela.
21.9.2007 23:17 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Slovníky v každé rozumné implementaci jsou - mně v Pythonu zase chybí stromy a trie. ;-) Rozumný člověk by použil nějakou knihovnu pro numerickou matematiku (nebo rovnou Cčko), ale myslím, že ani ve Scheme to nemusí být tak strašné. Hmm, budu si to muset zkusit. Myslím, že v Gauchi to nebude taková hrůza. :-) V Pythonu se zase blbě symbollicky derivuje. Asi každý jazyk má to svoje. A globální proměnné? Proč globální proměnné, když člověk má uzávěry? Nemyslíš jen obyčejné volné proměnné? Možnost definovat související funkce uvnitř daného obklopující formou (definicí funkce, příkazem let...) tak, aby mohly používat společnou proměnnou, mi přijde jako krásná, jak funkčně, tak esteticky. :-)
21.9.2007 23:39 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Je mozne pekne definovat souvisejici funkce uvnitr nejakeho environmentu pro zajisteni sdilene promenne, ale pak je problem je snadno vsechny nabindovat do vnejsiho prostredi.
22.9.2007 00:41 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Hmmm, pokud je potřebuju exportovat, použiju systém modulů. Ovšem ve většině případů takhle definované fce potřebuju jako interní. A myslím, že i jednoduché makro si na to člověk může napsat sám. :-)
22.9.2007 00:51 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Podíval jsem na to trošku a myslím, že následující kód využívající SRFI-25 a SRFI-42 (což jsou snad dost rozšířené věci) dělá to, co by měl:
;; Funkce přijímá matici A velikosti (m x n) [(sloupce x řádky)]
;; a matici B velikosti (o x m). Vrací matici
;; velikosti (o x n).

(define (mmul A B)
  (let ((m (array-length A 1))        ;; Počet sloupců matice A (vlevo)
        (n (array-length A 0))        ;; Počet řádků matice A (vlevo)
        (o (array-length B 1)))       ;; Počet sloupců matice B (nahoře)
    (tabulate-array (shape 0 o 0 n)   ;; Generujeme prvky výsledku 
                    (lambda (i j)     ;; (o x n) po řádcích.  
                      (sum-ec (: k 0 m)             ;; Sečteme pro všechny 
                              (* (array-ref A i k)  ;; sloupce A a řádky B
                                 (array-ref B k j)))))))
Ale nejsem až taký dobrý schemař, třeba mě časem napadne i něco lepšího. :-) S vícerozměrnými poli ve Scheme si teď hraju vůbec prvně a to API neznám. Tohle ale IMHO vypadá celkem rozumně.
22.9.2007 10:39 JS
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Diky za odpoved (i ostatnim), ale to neni uplne co jsem mel na mysli. Za prve, LispMe prostredi je hodne spartanske, a ja ho musel pouzit, protoze jsem nic jineho k ruce nemel (i kdyz je fakt, ze jsem se Scheme trochu naucit chtel). Takze jsem nemel k dispozici funkce jako tabulate-array, shape nebo sum-ec.

Za druhe, myslim, ze ten priklad trochu ilustruje co mam na mysli. Samozrejme, Scheme je jako kazdy jazyk turingovsky uplna, takze se tam da implementovat cokoli. Jde o to, ze funckionalne clovek (tj. v rekurzivnich smyckach misto iterativnich smycek) clovek dost casto neuvazuje. Patrne proto jste pouzil funkce z urcite (ne)standardni knihovny, ktere tuto komplikaci odstinuji.

Jeste jinak - ja bych taky v Pythonu mohl pouzit numarray misto vnorenych seznamu, kdybych potreboval nasobit matice. Ale to znamena API navic. Nemuzu si pomoci, ale standardni funkce a struktury Pythonu jsou bliz tomu, co clovek obvykle potrebuje, nez matematicky krasne standardni funkce Scheme. Matematicka elegance ma nepochybne sve vyhody, ja je nepopiram, ale v hodne (mozna vetsine) pripadech ponekud prekazi.

Mohli bychom pouzit nasledujici analogii: Jedete kempovat, co si s sebou vezmete? Nekdo si vezme svycarsky nuz, jiny zase nanoassembler. Nepochybne, nanoassembler je obecne uzitecnejsi, protoze vam vyrobi cokoli. Pokud ale zrovna potrebujete otvirak na konzervy, na svycarskem noziku ho hned najdete, kdezto do nanoassembleru musite nejdriv naprogramovat, co ma vyrobit a jak to ma vypadat. A vetsinu casu potrebujete spis ten otvirak nez treba Torx sroubovak. :-)

PS. Diky za upozorneni na SRFI, to jsem neznal.
22.9.2007 14:04 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Za prve, LispMe prostredi je hodne spartanske, a ja ho musel pouzit, protoze jsem nic jineho k ruce nemel (i kdyz je fakt, ze jsem se Scheme trochu naucit chtel).
Já myslím, že od prostředí s pár sty kilobajty se toho zas až tolik čekat nedá... :-)
Patrne proto jste pouzil funkce z urcite (ne)standardni knihovny, ktere tuto komplikaci odstinuji.
Standardní. Ale upozorňuji, že to nejsou všechno funkce, comprehensions jsou syntaktické rozšíření (ostatně je máte i v Pythonu). Nicméně tahle rozšíření prošla peer-review, jsou již několik let v platnosti a většina dobrých implementací je přijala. (Stejně jako se časem přidávaly věci do Pythonu.)

Pokud jde o použitelnost, s tím se dá souhlasit: Dost často je dobré mít nástroj bližší běžným potřebám. I proto (pokud jde o Scheme) používám Gauche, které mě nenutí dělat spoustu i z mého pohledu zbytečných věcí (ilustrativní jsou třeba regexpy a jejich přímá aplikace jako v Perlu nebo Ruby, namísto toho, abych s nimi musel proskakovat nějakými funkcemi). Ostatně i Python je taková praktičtější verze Lispu, tedy aspoň to tvrdí Peter Norvig. :-D

A vůbec, já netvrdím, že Python je špatný jazyk. Mně jen odradil určitý vnitřní bordel v implementaci, když jsem se pokoušel pochopit jazykový model, abych mohl kupříkladu dělat bindingy, nebo se vrtat v runtimu a tak. A příšerně rozházená standardní knihovna, prakticky bez jakýchkoli konvencí, což mě nutilo hledat v dokumentaci a nemohl jsem hádat (= používat intuici), kteýžto postup v Ruby a Gauche prakticky zaručeně funguje a frustruje mě podstatně méně. Jinak jako jazyk (gramatika, sémantika a podobně) je moc fajn, na tom se určitě shodneme. :-)
22.9.2007 14:12 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
A ještě závažná připomínka:
Jde o to, ze funckionalne clovek (tj. v rekurzivnich smyckach misto iterativnich smycek) clovek dost casto neuvazuje. Patrne proto jste pouzil funkce z urcite (ne)standardni knihovny, ktere tuto komplikaci odstinuji.
Ano, takto uvažuje mnohem častěji implementátor jazyka než jeho uživatel. Nicméně v lispovských jazycích může být uživatel jazyka sám sobě jeho implementátorem a tak mu je tail recurision poskytnuta jako základní prostředek k vlastním implementacím jazykových fíčur. Od toho, aby člověk používal konstrukce méně abstraktní a více názorné, jsou tu makra a funkce vyššího řádu (někdy je lepší to, někdy zase ono, a řeší to tak i Python a přiznává to i Guido). Tvrdit, že Scheme je špatné, protože řeší smyčky rekurzivní aplikaci procedur, je asi tak moudré, jako tvrdit, že Cčko je špatné, protože má goto a protože všechny ty whily a fory nakonec skončí jako Jc <adresa>. Nikdo nikoho v Cčku nenutí psát smyčky pomocí goto. (Když už jsme u těch analogií. ;-))
23.9.2007 07:47 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Mimochodem, jsem pako: :-D
gosh> (use gauche.array)
#<undef>
gosh> (define A #,(<array> (0 2 0 2) 10 2 0 -3))
A
gosh> (define B #,(<array> (0 2 0 2)  2 1 -1 2))
B
gosh> (array-mul A B)
#,(<array> (0 2 0 2) 18 14 3 -6)
gosh> (array-expt A 2)
#,(<array> (0 2 0 2) 100 14 0 9)
(Aneb "vždycky se podívej pořádně, co vlastně máš ve standardní knihovně svého jazyka..." :-D)
23.9.2007 19:33 DarkTatka
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Myslim si ze Vas kod je sice elegantni, ale nedemonstruje nadheru jazyka Scheme. Stejny kod se da napsat za pouziti pouze zakladni funkcionality, napriklad jako tato rekurzivni funkce, jeho princip vychazi primo z definice nasobeni matic. Matice je zadana jako seznam seznamu, imho toto reseni je "cistsi" :)
(define A '((1 0 2) (-1 3 1)))  
(define B '((3 1) (2 1) (1 0))) ;; testovaci matice A, B

(define multiply_matrix
  (lambda (A B)
    (let create_rows ((A A))
      (if (null? A)
                 '()
                 (cons
                  (let create_member ((B B))
                    (if (null? (car B))
                        '()
                        (cons (apply + (map * 
                                            (car A)
                                            (map car B)))
                              (create_member (map cdr B)))))
                  (create_rows (cdr A)))))))
(multiply_matrix A B) :==> ((5 1) (4 2))
23.9.2007 19:53 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
ten jeden named-let jde nahradit mapem -- a je to jeste hezci... (nad tim druhym se me nechce uz premyslet)
(define multiply_matrix
 (lambda (A B)
   (map (lambda (x)
     (let create_member ((B B))
      (if (null? (car B))
       '()
       (cons (apply + (map *
                       x
                       (map car B)))
        (create_member (map cdr B))))))
       A)))
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
23.9.2007 20:28 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Me se nejvic libi tahhle verze nasobeni matic v seznamech (mam-li k dispozici transpozici):
(define (matrix-multiply a b)
  (map (lambda (lx) (map (lambda (ly) (apply + (map * lx ly))) (matrix-transpose b))) a))
23.9.2007 21:50 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Takže bez matrix-transpose takhle?
(define (matrix-multiply a b)
  (map (lambda (lx) (map (lambda (ly) (apply + (map * lx ly))) (apply map list b))) a))
BTW, je to takhle o dva znaky kratší - jak že bylo to řešení v Pythonu na tři řádky? :-D (Ale moje námitka ohledně efektivity zůstává, a to mlčím i o tom array-mul, co jsem nakonec v Gauche našel. ;-))
23.9.2007 22:46 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Velmi pekne.
24.9.2007 00:03 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
hezky, ja jsem si rikal, ze to pujde zkratit, protoze ten druhy named-let vypadal podezrele... jeste, ze to nekdo vyresil... a ja jsem misto toho mohl jit na pivo ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
24.9.2007 01:19 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Já si jen nemohl vzpomenout na prostředek, začátek ((map <něco> A)) byl celkem jasný a na konec (transpozici) jsem přišel kdysi před lety ještě v Pythonu (akorát tam jsem ho dělal přes b_transposed = zip(*b) ;-)), jen ta věc mezi tím mi nějak ušla. Bídáku! A já mám jít spát střízlivý, jo? A ještě s map a apply kroužícími hlavou. (Hmmm, to ale taky není zrovna nejlepší naplnění slova "střízlivý"... :-D)
24.9.2007 23:26 DarkTatka
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Ja vedel ze se k nejakymu krasnymu, elegantnimu, lehce pochopitelnymu reseni nekdo dopracuje :) Jinak imho nejlepsi skripta k Scheme sepsal pan doc. Vilem Vychodil, k dostani u studentu INF06 na UPOL, protoze odjel na dovolenou a skripta na netu uz nejsou.
25.9.2007 00:25 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
jak uz jsem psal o neco driv -- skoupilovi skripta jsou prekonane, ale ta "vychodilova" "cvicebnice" mne pripada na druhou stranu malinko mastodontni (30-40 stran na lekci) -- to je opravdu pro fanousky... ale znam spoustu lidi, kteri si z toho opakovali na statnice... ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
27.9.2007 18:13 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Může mi někdo to (apply map list b) vysvětlit? Všechno to kolem mi přijde jako brnkačka, ale tohle mi nějak hlava nebere, možná je problém v tom, že nejsem schemer ani lisper. apply aplikuje operaci map na list a tu matici, tedy seznam seznamů. Tedy dělá map list na jednotlivé ??? co vlastně?
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
27.9.2007 20:45 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Krok za krokem:
(apply map list '((1 2 3) (4 5 6)))
=>
(map list '(1 2 3) '(4 5 6))
=> ;; (map f list1 list2 list3 ... listn) -> \
 (cons (f (car list1) (car list2) (car list3) ... (car listn)) 
     (map f (cdr list1) (cdr list2) (cdr list3) ... (cdr listn)))
(cons (list 1 4)  (cons (list 2 5) (cons (list 3 6) '())))
=> 
'((1 4) (2 5) (3 6))
27.9.2007 22:50 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Aha, už mi to trochu dochází, problém nebyl v tom, že bych nechápal jak funguje to apply ale jak funguje ten map. Já jsem ho chápal příliš procedurálně. Takhle rozepsané už to dává smysl. V erlangu je to to samé jako
t([[]|_]) -> [];
t(X) -> [
		[ H || [H|_]<-X ]		% cut heads
		| t([ T || [_|T]<-X ])	% transpose tails
	].
Ten scheme map je něco jako erlangový zipwith, ale zipwithN. Je to mnohem pružnější, protože erlangový map umí pracovat jen s jedním seznamem.
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
27.9.2007 20:50 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
BTW, pokud i (map * lx ly) o kousek vlevo byla "brnkačka", tak snad není problém pochopit ani tohle. ;-)
27.9.2007 22:51 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Nějak mi nedošlo, že by ve dvou seznamech mohl být problém, ale víc už jo :-)
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
27.9.2007 21:44 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Jinak, ve Scheme je apply definováno tak, že poslední argument (zde b) musí být seznam, který se připojí na seznam argumentů volané procedury. Všechny předchozí s výjimkou prvního se připojí před něj, a první poslouží jako operátor. Názorněji: (apply + 1 2 3 '(4 5 6)) je totéž, co (+ 1 2 3 4 5 6). (BTW, apply přece taky patří do "brnkačky"... :-D)
28.9.2007 09:51 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
BTW, efektivitu stranou, tohle by někteří v CL označili za bad style kvuli třeba (apply + ...) - není zaručeno, že + bude fungovat pro seznamy delší než 50 prvku. To + se dá přepsat do reduce, ale s tím koncovým (apply map list b) nevím (i když ten obrat pro transpose taky znám).

Ve scheme je tohle metodicky OK? Tedy - je možné funkci aplikovat na libovolně dlouhý seznam, nebo implementace muže omezit maximální počet parametru?
28.9.2007 10:45 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
nad tim jsem nikdy nepremyslel a bral to jako automatiku... r5rs se k tomu nevyjadruje, ale to je tim, ze r5rs je spis "povidani o schemu" nez opravdova specifikace.

btw. imho. nejsem si jisty, jestli to kyosukeho vysvetleni (apply map list b) odpovida specifikaci -- nejak me tam nesedi skladani seznamu.
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
28.9.2007 12:13 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Ten apply jsem nenapsal, já, to byl Santiago. ;-) Co že tam přesně nesedí? (BTW, nenárokuju si genialitu, takže je klidně možné, že mi někde něco ušlo. ;-))
28.9.2007 12:39 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
mozna, je to tim, ze me to jeste poranu dobre nemysli... ale misto prevodu
(apply map list '((1 2 3) (4 5 6)))
=>
(map list '(1 2 3) '(4 5 6))
me z toho leze:
(apply map list '((1 2 3) (4 5 6)))
=>
(map (list '(1 2 3) '(4 5 6)))
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
28.9.2007 12:59 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Huh? :-) Jako že (apply a b c) vede na `(a (b ,@c))? Jaký by to mělo smysl? U mně (apply a b c) zásadně vede na `(a b ,@c), a je to tak i ve specifikaci.
23.9.2007 20:10 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Pěkné a zajímavé, myslím, že Sussman by to ocenil ;-), a dokonce i já to přečtu a pochopím (a to už je co říct, protože na tohle jsem fakt tupej :-D). Nicméně praktické aspekty numerických výpočtů leží asi jinde - seznamy seznamů žerou paměť, dost často bourají koherenci přístupů do cache a občas i kazí asymptotickou složitost (aspoň v některých případech).

A navíc právě tohle bude asi kód, který napsal předřečník a bylo mu z toho následně šoufl. Gauche mi dovoluje homogenní vícerozměrná pole a dobrovolně si je pro matice odpírat nebudu. :-) Apropos, pokud jde o eleganci, Váš kód ve Scheme je krásný, nicméně nedemonstruje nádheru lambda kalkulu. Stejný kód se dá použít za použití pouze základní funkcionality lambda kalkulu, doporučuji zkusit zapsat za domácí úkol. ;-)

(Hint: Většina lisperů si Lisp před jinými podobnými jazyky vybere kvůli možnosti tvorby jazykových abstrakcí, ne proto, že se v něm dá všechno zapsat rekurzivní manipulací se seznamy - i přesto, že teoreticky to samozřejmě jde. ;-) Samozřejmě, kazdý by si to měl zkusit, naučit se to - a taky se naučit, kdy to není zrovna dobrý nápad.)
22.9.2007 08:03 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme

Globální (dynamicky vázané) proměnné se (aspoň v CL) docela hodí pro defaultní parametry funkcí, pokud je jeden netouží psát. Jak tohle řešit bez nich?

clhs pro write:

Parameter        Corresponding Dynamic Variable  
array            *print-array*                   
base             *print-base*                    
case             *print-case*                    
circle           *print-circle*                  
escape           *print-escape*                  
gensym           *print-gensym*                  
length           *print-length*                  
level            *print-level*                   
lines            *print-lines*                   
miser-width      *print-miser-width*             
pprint-dispatch  *print-pprint-dispatch*         
pretty           *print-pretty*                  
radix            *print-radix*                   
readably         *print-readably*                
right-margin     *print-right-margin*            

A pořád mi není jasné, jak se principiálně liší globální proměnná od globální funkce - a ty snad ve Scheme jsou morálně bez problému, ne? Ostatně měl jsem za to, že globální proměnné tam taky máte.

Jinak místní schemeři (little, seasoned i reasoned) mě asi nebudou mít rádi, ale myslím, že pro praktické účely je CL často použitelnější (aspoň pokud mluvíme opravdu o holých standardech), byť nabízí více možností a tak je méně čisté - zmiňované do macro (v obou standardech) je IMHO opravdu pruda a méně čitelné než obdobná loop konstrukce. Kromě toho je k dispozici i funkcionálně čistší kombinace map/reduce (což je možná ve scheme taky, ne? Nebo si to lze aspoň napsat s rekurzí), a samozřejmě i ta proklatá rekurze :)

22.9.2007 12:57 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Aby nedoslo ke zmateni - globalni promenne samozrejme ve Scheme jsou.
22.9.2007 13:22 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
filozoficka otazka je, jestli to ve schemu jsou globalni "promenne"? podle me -- akuratnejsi by bylo rict globalni symboly.... ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
22.9.2007 15:32 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Je to globalni environment.
22.9.2007 15:57 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
ja jsem si to az po odeslani uvedomil...ze to jde rict jeste presneji, nicmene tu nastava problem, ktere prostredi je to globalni... protoze pocatecni prostredi a aktualni prostredi REPL nemusi byt stejne ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
22.9.2007 14:13 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
zmiňované do macro (v obou standardech) je IMHO opravdu pruda a méně čitelné než obdobná loop konstrukce.
A právě proto máme základní odpověď na scoping, control flow a vůbec, totiž SRFI-42. :-)
22.9.2007 14:16 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
A ohledně dynamicky vázaných proměnných si zaprudím taky. ;-)
zoul avatar 22.9.2007 14:20 zoul | skóre: 43 | blog: | Boskovice
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Zapomněls’ doprudit el.
22.9.2007 14:21 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Python je IMHO pohodlnejsi nez Scheme
Safru, ulítla mi X selection. Díky! :-)
egg avatar 24.9.2007 21:26 egg | skóre: 20 | Praha
Rozbalit Rozbalit vše Re: Úvod do Scheme
Příklad ad "kčemujetosakradobrý": Editor VRR! (vhodný pro vektorové "matematické" obrázky, schemata apod.) umožňuje skriptování v scheme. To pochopitelně usnadňuje opakované akce, tvorbu vzorů (třeba fraktálních) a vůbec tvorbu obrázků dobře definovanou posloupností operací.
25.9.2007 21:49 Luke
Rozbalit Rozbalit vše Olomouc, Olomouc
Olomouc, no jo ta stodola na kopci. Komu se styska po jmene Chajda, Skoupil ... a jine at se prihlasi. Jinak v komerci jazyk na .... moc sem si zneho neodnesl a v realu jsem ho uz nevidel.
Fluttershy, yay! avatar 25.9.2007 22:25 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Olomouc, Olomouc
Olomouc, no jo ta stodola na kopci.

Stodola pod kopcem. A mám pocit, že ta stodola tady byla dřív než Praha.

Jinak v komerci jazyk na .... moc sem si zneho neodnesl a v realu jsem ho uz nevidel.

Každému co jeho jest. Je dobře, že v komerci moc není -- zmizela by část vhodnosti pro výuku.

Science advances one funeral at a time. (Max Planck, parafráze) ✊ ⓔⓐⓣ ⓣⓗⓔ ⓡⓘⓒⓗCHAZ
25.9.2007 23:00 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Olomouc, Olomouc
:-]]] uvazujete ve spatnych pojmech... jedna vec je komerce a druha vec je praxe... (a to nemluvim o komercni praxi)

at chcete nebo ne, pokud jste si odpovedne prosel skoupilovyma prednaskama a k tomu treba vychodilovyma cvikama... urcite na nas zanechalo nasledky... o kterych ani nevite... a tak to ma byt...

pucim si kousek ze state how to become a hacker od e.s.raymonda:
LISP is worth learning for a different reason — the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot.
btw. osobne muzu rict, treba ze az diky uzaverum ve schemu se me podarilo poradne pochopit anonymni tridy v jave... a pak ze to s realnym svetem nema nic spolecneho.
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
25.9.2007 22:25 harvey
Rozbalit Rozbalit vše Scheme je na VSE
Scheme je skutecne dobre na uceni. Me s nim ucila ucitelka na VSE zaklady programovani, coz úpvazuji za dobry zacatek. Nanestesti to pokracovalo Delpinama, takze jsem se cpal do managementu a ne programovani. Linuxu fandim, pouzivam SuSE.
26.9.2007 09:52 petr
Rozbalit Rozbalit vše Re: Scheme je na VSE
Já začínal na Pascalu -- tehdy ještě Borland Pascal v5. Pak jsem přešel na strojový kód Intel 8080, pak jsem se vrátil zpět k Borland Pascalu, tentokrát k "sedmičce". V něm jsem přešel na Objective Pascal a naučil se TurboVision. Tenkrát pod DOSem to bylo super -- používat assembler v Pascalu a tak -- to bylo skvělý!

Pak jsem "přešel" na Delphi, ale moc mě nebavily, protože tam už jaksi ten Object Pascal nebyl tak moc Object Pascal. A jak jsem tak hledal a hledal náhradu, došel jsem k C na Linuxu.

Teď dělám v Javě a Objective-C a mám takový pocit, že jsem se konečně našel :-)

Já osobně nefandím tolik Linuxu, jako OpenSource obecně. :-)
21.11.2007 17:03 Ondra
Rozbalit Rozbalit vše Re: Úvod do Scheme
cau shanim nekoho, kdy by byl schopny mi poradit ohledne tohohle jazyka - uci nas to na vysoke a nejak tomu nemuzu prijit na kloub. POkud se nekdo najde muj kontakt na qip(icq) 257-573-709 diky moc
24.11.2007 14:01 Phizzi
Rozbalit Rozbalit vše Re: Úvod do Scheme
zdarec.....prosim vas najde se nekdo ochotny pomoci mi s par priklady v Dr. Scheme??mam to na vysce jako povinny predmet a moc tomu nerozumim....kdyby byl nekdo ochotny tak se prosim ozvete jsem ochoten i za nejakou odmenu....jedna se o pet prikladu....dekuji....kontakt...phizzi@seznam.cz
13.12.2007 21:09 Lucie Halasova
Rozbalit Rozbalit vše Re: Úvod do Scheme
dobrý den,chtěla bych poprosit,jestli by mi někdo nepomohl se 3 přiklady,moc to spěchá,jestli by mi někdo pomohl tak at se mi ozve na icq 444-574-661,odměna nemine.Vyřešila bych je sama,ale už je to nad mé síly,děkuji moc.
15.10.2008 22:20 Vujtas
Rozbalit Rozbalit vše Re: Úvod do Scheme
Zdravím, tento algoritmus by se měl rekursivně volat ale nevolá se..v čem chyba..vím, že je potřebná citace..alenevímjak ji použít aby to fungovalo (define pokud (lambda (od do delej) (cond ((<= od do) (begin delej (pokud (+ od 1) do delej))))))
Marek Bernát avatar 15.10.2008 22:41 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: Úvod do Scheme
Jedna možnosť je, že delej má obsahovať funkciu, ktorá sa má volať. V tom prípade to bude takto (s ešte malo úpravou, kedy tá funkcia bude brať ako argument počítadlo)
(define (pokud od do delej)
  (cond ((>= do od)
         (delej od)
         (pokud (+ 1 od) do delej))))
A volať sa to bude takto
(pokud 1 5 (lambda (x) (display x) (newline)))
Citácia tu nikde potrebná nebude. Dá sa síce napísať makro, ktoré by to volanie pokud expandovalo na (do - od + 1) volaní zadaného kódu delej, ale to Vy zjavne nepotrebujete.
physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
16.10.2008 15:25 Vujtas
Rozbalit Rozbalit vše Re: Úvod do Scheme
díky moc
21.10.2008 02:25 windmil
Rozbalit Rozbalit vše scheme , logicka implikace
Dobry den, chci poprosit o radu.Jsem tak trochu lama :o(

Potrebuji realizovat implikaci:

A 0 0 1 1 B 0 1 0 1

A->B 1 1 0 1

A zacal som s 1.radkem a mam problem: (define implikace (lambda ( x y ) ( if (#f #f) #t)))

> (implikace #f #f) . . procedure application: expected procedure, given: #f; arguments were: #f

21.10.2008 07:59 Tom.š Ze.le.in | skóre: 21 | blog: tz
Rozbalit Rozbalit vše Re: scheme , logicka implikace
A jakou by podle vás (#f #f) coby parametr if-u mělo mít hodnotu?
14.1.2009 18:44 Vujtas
Rozbalit Rozbalit vše V čem je chyba prosím
Zkouším vytvořit algoritmus který by měl vrace rozklad čísel na cifry tzn. číslo 128 na '(1 2 8) ale dělá to pořád chybu. (define vypis (lambda (alist) (cond ((null? (cdr alist)) (display (car alist))) (else (begin (display (car alist)) (newline) (vypis (cdr alist))))))) Poradíte mi prosím?
15.1.2009 17:27 Vujtas
Rozbalit Rozbalit vše Re: V čem je chyba prosím
nakonec sem to vyřešil úplně jinak a bez toho alistu

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.