Article View: pl.comp.lang.funkcyjne
Article #880Re: Przyjemny, elegancki, prosty jezyk funkcyjny
From: pawellt
Date: Tue, 15 May 2007 22:33
Date: Tue, 15 May 2007 22:33
63 lines
3034 bytes
3034 bytes
> O... jakbym czytał opis Common Lispu :-) Ale do nauki polecałbym raczej
> Scheme (inny dialekt Lispu, w ostatnich latach dość popularny, właśnie
> wychodzi R6RS).
Ale te wszystkie nawiasy. Sa prawie tak samo wkurzajace jak wcięcia w
Pythonie :)
No i te operacje na listach, gdzie jednak troche moga zaciemniac te
nieco "malo przejrzyste":
( car ( cdr ( cdr ( blabla ) ) ) )
Poza tym sama kwestia obiektowosci. W Scheme masz cos w stylu:
(define samochod-class
(make-standard-class
'superclass #t
'slots '(frame parts size)
'method-names '()))
> Chyba sobie żartujesz...
Dlaczego? Chociażby kwestia definicji klas w Dylanie:
define class <kolor-okna> (<okno>)
end class;
... i już masz definicje klasy "kolor-okna" dziedziczącą po klasie
"okno".
Chcesz to samo z atrybutuami (slotami) - wystarczy:
define class <kolor-okna> (<okno>)
slot typ_koloru;
slot kod_koloru;
end class;
Chcesz dodać do powyzszego metode, wystarczy:
define method hello-world() => ();
puts("Hello, world!");
end method;
Albo wygodne funkcje/metody w stylu:
define method rozmiar_buta(osoba :: <string>)
if (osoba = "Jasio")
14;
else
11;
end if;
end method;
Czy można jeszcze prosciej? :) Ostatnio widzialem w sieci taki projekt
duzego sniffera
pisanego w Dylanie ( http://www.networknightvision.com/ ) to mimo że
znam podstawy tego
jezyka - to rozumiem praktycznie caly kod zrodlowy wiekszosci
modulow. Nie mowie ze jestem
w stanie sprawnie w tym pisac - ale czyta sie to jak opowiadanie :)
pozdrawiam
Technical Details
Message-ID:
<1179268422.157417.102270@o5g2000hsb.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!newsfeed.silweb.pl!newsfeed.pionier.net.pl!news-fra1.dfn.de!newsfeed.ision.net!newsfeed2.easynews.net!ision!newsfeed.freenet.de!feeder.news-service.com!proxad.net!198.186.194.251.MISMATCH!news-out.readnews.com!transit4.readnews.com!postnews.google.com!o5g2000hsb.googlegroups.com!not-for-mailReferences:
<1179163778.661628.303210@h2g2000hsg.googlegroups.com> <f2ak3b$rpj$1@nemesis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!newsfeed.silweb.pl!newsfeed.pionier.net.pl!news-fra1.dfn.de!newsfeed.ision.net!newsfeed2.easynews.net!ision!newsfeed.freenet.de!feeder.news-service.com!proxad.net!198.186.194.251.MISMATCH!news-out.readnews.com!transit4.readnews.com!postnews.google.com!o5g2000hsb.googlegroups.com!not-for-mail From: pawellt@gazeta.pl Newsgroups: pl.comp.lang.funkcyjne Subject: Re: Przyjemny, elegancki, prosty jezyk funkcyjny Date: 15 May 2007 15:33:42 -0700 Organization: http://groups.google.com Lines: 69 Message-ID: <1179268422.157417.102270@o5g2000hsb.googlegroups.com> References: <1179163778.661628.303210@h2g2000hsg.googlegroups.com> <f2ak3b$rpj$1@nemesis.news.tpi.pl> NNTP-Posting-Host: 89.78.228.38 Mime-Version: 1.0 X-Trace: posting.google.com 1179268429 18523 127.0.0.1 (15 May 2007 22:33:49 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 15 May 2007 22:33:49 +0000 (UTC) In-Reply-To: <f2ak3b$rpj$1@nemesis.news.tpi.pl> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1),gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: o5g2000hsb.googlegroups.com; posting-host=89.78.228.38; posting-account=3Lee-Q0AAACbM2FIqRfd6EujTecHR1lq Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit