Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Jemný úvod do LISPu

oozy
oozy (neregistrovaný)
21. 4. 2004 0:51 Nový

Scheme

celé vlákno

Pekny, pre zaciatocnika mozno vhodnejsi, je dialekt LISPu -- Scheme [ http://www.schemers.org ], ktory ma viacero implemenetacii, napr. guile pouziva GIMP. Najcastejsie sa vsak natrafi na MIT Scheme a zaujimavy, ale IIRC bohuzial iba pre windows je Dr. Scheme. Este mi neda, nespomenut krasnu kontrukciu "continuations", ktore som okrem jazykov z rodiny LISP inde nevidel. Co sa tyka first a rest je to hnus. :) Skalny pouzivaju car a cdr uz len preto, ze sa to da pekne kombinovat do caar, cdar, caadr a pod. ;)

nigol
nigol (neregistrovaný)
21. 4. 2004 7:07 Nový

Re: Scheme

celé vlákno

Jestli dobre vidim, tak Dr. Scheme je i pro Linux, viz. http://download.plt-scheme.org/drscheme/. Sam jsem ho teda zkousel pouze ve Win...
Co se tyce car a cdr, naprosto souhlasim :)

Wejn
Wejn (neregistrovaný)
21. 4. 2004 12:09 Nový

Re: Scheme

celé vlákno

I dalsi jazyky maji continuations ... minimalne Ruby :-)

"Kernel::callcc":
Generates a Continuation object, which it passes to the associated
block. Performing a cont.call will cause the callcc to return (as
will falling through the end of the block). The value returned by
the callcc is the value of the block, or the value passed to
cont.call. See Continuation on page 298 for more details. Also see
Kernel::throw for an alternative mechanism for unwinding a call
stack.

Emil Jerabek
Emil Jerabek (neregistrovaný)
21. 4. 2004 16:29 Nový

Re: Scheme

celé vlákno

A Unlambda :)
http://www.eleves.ens.fr:8080/home/madore/programs/unlambda/

Jancll
Jancll (neregistrovaný)
23. 4. 2004 13:34 Nový

Re: Scheme

celé vlákno

DrScheme jede i pod Linuxem, osobne se mi podarila rozjet pouze verze 202.

Yeti
Yeti (neregistrovaný)
21. 4. 2004 1:00 Nový

Script-Fu

celé vlákno

A nejhorší jsou LISPové jazyky. Ty potvory vám vlezou všude... ;-)

LISPový jazyk, konkrétně Scheme (a ještě konkrétněji SIOD, což je mírně svérázná implementace Scheme), je i jazyk Script-Fu v GIMPu. Naštěstí už dnes existuje Python-Fu...

Kdo používá GNOME, nejspíš má nainstalovaný Guile (opět Scheme) a ani o tom neví.

A kdyby člověk zakutal, asi ještě na disku nějaký další LISP (resp. jeho příbuzného) najde...

kyknos
kyknos (neregistrovaný)
21. 4. 2004 8:52 Nový

Re: Script-Fu

celé vlákno

proc nastesti? script-fu je skvely nastroj a je jedna z ne z nejlepsich veci na gimpu

Yeti
Yeti (neregistrovaný)
21. 4. 2004 9:26 Nový

Re: Script-Fu

celé vlákno

Python-Fu === Script-Fu (mod jazyk)

Tj. liší se jen jazyk. Takže jestli je Script-Fu skvělý nástroj (což je), tak je Python-Fu také -- proto moc nechápu tu výhradu.

Já sice v LISPu (teda Scheme) něco stvořím, když na to dojde, ale pokud mohu mít přesně totéž, ovšem v Pythonu, tak je volba jasná...

kyknos
kyknos (neregistrovaný)
21. 4. 2004 10:08 Nový

Re: Script-Fu

celé vlákno

volba je jasna.. ale v mem pripade je to lisp. a to umim python i lisp stejne dobre. lisp je ale kompatibilnejsi s mym zpusobem uvazovani. to je ale asi individualni. podstatne je vstk to ze script-fu je interni soucasti gimpu takze script-fu spustite v jakekjoliv instalaci gimpu na planete. python -fu jpotrebuje externi python ... takze vyuziti je omezeno

deda.jabko
deda.jabko (neregistrovaný)
21. 4. 2004 12:46 Nový

Re: Script-Fu

celé vlákno

guile je supr! jako vestaveny jazyk do programu... navic umi k sobe pripojovat dalsi ceckove fce, proste krasa.

sveho casu jsem si v guilu napsal simulaci jazyka XQuery, ktery jako datovy sklad bral MySQL... opravdu prasarna ;-)

na prvni pohled jsou ty zavorky totalni peklo, ale na druhy pohled, kdyz clovek zjisti co jde vyvadat s pomoci max 10 konstrukci jazyka, zmeni nazor
(chybi vam for-cyklus ala pascal, neni nic lehciho nez si ho napsat...)

btw. cetl jsem clanek od R.M.Stallmana, kde obhajoval, ze na skriptovani v aplikacich by se nemel pouzivat TCL ani nic jineho, ale prave scheme, protoze v nem jdou nasimulovat dalsi jazyky - a je to tak

Dalibor Šrámek
Dalibor Šrámek (neregistrovaný)
21. 4. 2004 14:39 Nový

Re: Script-Fu

celé vlákno

Greenspun's Tenth Rule of Programming says it all: "Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified bug-ridden slow implementation of half of Common Lisp."

Pavel Tišnovský
Pavel Tišnovský (neregistrovaný)
21. 4. 2004 8:21 Nový

Tečka - dvojice

celé vlákno

Seznamy nejsou ve skutečnosti zabudovány přímo v interpreteru LISPu. Tam jsou "pouze" tečka-dvojice a seznamy jsou pouze zkráceně zapsané tečka-dvojice - ušetří se závorky, tečky a závěrečný nil. Nad tím existuje pár příkazů, zejména cons, car a cdr, no a s nimi se už dá vystavět slušná knihovna pro práci se seznamy.

Mormegil
Mormegil (neregistrovaný)
21. 4. 2004 10:17 Nový

Re: Tečka - dvojice

celé vlákno

Nojo, v jazyce, ktery se jmenuje "Zpracovani seznamu" (cesky preklad LISPu zni tedy ZPRASE) asi opravdu jde se seznamy slusne pracovat. :o)

Pavel Tišnovský
Pavel Tišnovský (neregistrovaný)
21. 4. 2004 12:20 Nový

Re: Tečka - dvojice

celé vlákno

To zcela jiste. Ale pomoci tecka dvojice se daji velmi jednoduse vytvorit i slozitejsi (nelinearni) datove struktury, napriklad strom, zasobnik, tabulka, graf.

Take je IMHO dobre vedet, jak ty seznamy vypadaji zevnitr, tj. jak funguji funkce cons, car, cdr a jak LISP napriklad pozna konec seznamu.

deda.jabko
deda.jabko (neregistrovaný)
21. 4. 2004 15:19 Nový

Re: Tečka - dvojice

celé vlákno

cons, car i cdr jsou dokonce zbytecne, protoze jdou nahradit lambdou :-)) pravda, pak takove teckove pary nejsou sice ty spravne teckove pary, ale je uzasne co vsechno LISP dokaze

martin
martin (neregistrovaný)
21. 4. 2004 8:39 Nový

lama dotaz

celé vlákno

Je to case sensitive?

Mormegil
Mormegil (neregistrovaný)
21. 4. 2004 10:25 Nový

Re: lama dotaz

celé vlákno

Pis vsechno velky a nepatrej po tom. :-)
Ale vicemene to je insensitive. Podrobnosti viz napr. http://www.lispworks.com/reference/HyperSpec/Body/01_dada.htm

OBTW odkaz na CLISP HyperSpec by v clanku IMHO mel byt!

hans
hans (neregistrovaný)
21. 4. 2004 10:16 Nový

"ortogonalni"?

celé vlákno

Proc "ortogonalni"? Co to znamena, ze je jazyk
"pravouhly"? A proc takovy vyraz? diky

Pichi
Pichi (neregistrovaný)
21. 4. 2004 10:48 Nový

Re: "ortogonalni"?

celé vlákno

To znamena, ze jednotlive vlastnosti se neprekrivaji (maji nulovy prumet -> jsou ortogonalni). Jinymi slovy, jednu vec delate jednim zpusobem. Pojem ortogonality je zobecneny v matematicke analyze.

gonzo
gonzo (neregistrovaný)
21. 4. 2004 10:19 Nový

Dylan

celé vlákno

Jazyk Dylan (DYnamic LANguage) bol navrhnuty firmou Apple Computer Inc. Podla sloganu vznikal ako pokus ziskat nieco tak mocne ako Lisp a take rychle ako C. Kvoli tomu sa vzdal niektorych crt ako napr. moznost explicitne volat eval. Niekde na polceste vyvoja stratil aj zatvorkovu prefixovu syntax a nahradil ju infixovou.

Verzia pre linux je dostupna na http://www.gwydiondylan.org (FreeBSD ju ma v portoch), pre windows mozno pouzit http://www.fun-o.com

rs
rs (neregistrovaný)
21. 4. 2004 14:21 Nový

Re: Dylan

celé vlákno

na fun-o.com ale pisou o Jave misto Lispu:
It fills the void between Java and C++

Psonek
Psonek (neregistrovaný)
21. 4. 2004 11:19 Nový

Scheme na telefonu

celé vlákno

Kdyby se nasel nekdo uchylnej, tak mu muzu poslat Scheme do mobilniho telefonu napsanyho v Jave. Je to R4RS kompatibilni (umi to i ty continuations..). Portnul jsem to tedka v sobotu ze zdrojaku jscheme. Je to celkem sranda, ale psat zavorky na mobilu je des - jedna zavorka == 10x zmacknout klavesu 1 :))

deda.jabko
deda.jabko (neregistrovaný)
21. 4. 2004 15:30 Nový

Re: Scheme na telefonu

celé vlákno

to chcu!
...tomu rikam byt poznamenany skolou - sice paradigmata 1,2,3 uz mam za sebou, ale takovou uchylarnu musim met

Jancll
Jancll (neregistrovaný)
23. 4. 2004 14:03 Nový

Re: Scheme na telefonu

celé vlákno

Ja chci taky!!! Parace za sebou jeste nemam a kdyz nebudu mit co delat napriklad ve vlaku...

ludfan
ludfan (neregistrovaný)
21. 4. 2004 12:27 Nový

set

celé vlákno

Pre tych, co sa chcu LISP skutocne naucit:

Predovsetkym si zakazte pouzivat (set ...).
Nepouzivajte formy ako (prog ...) a podobne.
Vsetky cykly robte rekurzivne.

To vas nauci clenit si program omnoho lepsie ako 150
kurzov o spravnom strukturovanom programovani.
Ak robite cykly ako rekurzivne funkcie,
musite si kazdy cyklus nejako nazvat. To vas nauci
nazyvat premenne tak, aby ste vedeli aj o dva dni
co ten cylkus robi.

Jano
Jano (neregistrovaný)
22. 4. 2004 8:30 Nový

Re: set

celé vlákno

...ale nema v tom prsty pan Kalas, ze? Musim ale povedat, ze jeho prednasky LISPu su skvele...

sw
sw (neregistrovaný)
21. 4. 2004 12:37 Nový

lisp vs elisp

celé vlákno

Diky za clanek. Je sqely;o)

Muze nekdo ve strucnosti napsat
jak moc se lisi elisp (implementace v Emacsu)
od lispu (teda myslim ANSI verzi).

Emil Jerabek
Emil Jerabek (neregistrovaný)
21. 4. 2004 16:25 Nový

Re: lisp vs elisp

celé vlákno

Namatkou: elisp je case sensitive, vsechny symboly maji dynamic scope, znaky jsou ztotoznene z cisly (a cisla jsou pouze kratka), chybi spousta standardnich funkci (ale mnoho z nich je v balicku cl.el), na druhou stranu ma elisp navic datove typy a preddefinovane funkce pro veci spojene s praci editoru.

Jakub Hegenbart
Jakub Hegenbart (neregistrovaný)
21. 4. 2004 18:20 Nový

Huráááááá!!!! :)

celé vlákno

Konečně :) Tak a teď ještě aby to mělo co nejvíc dílů. Nebo bych se taky mohl pustit do těch čtyř LISP e-booků, co se mi válejí na HDD. Semestrální projekt, na kterém jsem dělal, měl výstup do OCML, což je postaveno nad LISPem...geniální jazyk. Ať žije! (A za ctyři roky můžeme slavit jubilanta :)

deda.jabko
deda.jabko (neregistrovaný)
22. 4. 2004 3:17 Nový

Re: Huráááááá!!!! :)

celé vlákno

tri semestry Schemu na UPOLu, by te vycvicily tak, ze bys v Cecku misto for-ka normalne pouzival rekurzi - vim o cem mluvim :-))

Jakub Hegenbart
Jakub Hegenbart (neregistrovaný)
22. 4. 2004 13:10 Nový

Re: Huráááááá!!!! :)

celé vlákno

Netřeba. K tomu mám sklony už teď. Zrovna včera nás na Matematice 6c přesvědčovali, že imperativní köd s while cyklem, programz pro Turingův stroj, parciální rekurzivní funkce a lambda kalkulus jsou ekvivalentní zápisy...a my jim to po několika tabulích lambd uvěřili :)

iolover
iolover (neregistrovaný)
23. 4. 2004 15:29 Nový

io language

celé vlákno

a poznate http://www.iolanguage.com?

sHIPoFfOOLS
sHIPoFfOOLS (neregistrovaný)
23. 4. 2004 19:55 Nový

zkratka

celé vlákno

Jen mala oprava - LISP neni zkratka z LISt Processing, alebrz z Lost In Stupid Parentheses :)

Jakub Hegenbart
Jakub Hegenbart (neregistrovaný)
23. 4. 2004 20:36 Nový

Re: zkratka

celé vlákno

Houby. LISP =

L anguage
I ntended for
S mart
P eople

(like me :)

Srdenko
Srdenko (neregistrovaný)
12. 6. 2006 18:23 Nový

Guile Scheme?

celé vlákno
Da se nekde sehnat guile scheme jako knihovna pro c/c++?
Nejde mi vygooglit.
Zasílat nově přidané příspěvky e-mailem