Article View: pl.comp.lang.funkcyjne
Article #888Re: Przyjemny, elegancki, prosty jezyk funkcyjny
From: Marcin 'Qrczak' Kowalczyk
Date: Sat, 19 May 2007 00:33
Date: Sat, 19 May 2007 00:33
52 lines
3218 bytes
3218 bytes
Dnia 19-05-2007, sob o godzinie 01:37 +0200, Michał Przybyłek
napisał(a):
> Powyżej zdefiniowana jest jedna globalna funkcja (w pustym środowisku
> zewnętrznym) i może być ona wołana zarówno:
>
> (foo)
>
> jak i:
>
> (funcall *foo*)
Natomiast parametr funkcji (ogólniej: funkcja, która jest dana inaczej
niż jako nazwa przypisana konkretnemu ciału funkcji albo lambda) może
być wołany tylko przez funcall.
Tylko mi nie radź, żebym w ramach spójności wołał każdą funkcję przez
funcall. Nie interesuje mnie takie rozwiązanie, żeby wszystkie przypadki
były jednakowo niewygodne.
> Dlatego, bo rozróżnienie _nie_ jest po globalności/lokalności danej
> funkcji, a po środowisku, w którym siedzi zmienna odnosząca się do niej.
Kłótnia o nazwanie kryteriów jest nieciekawa. Ważne, że rozdzielenie
tych środowisk jest mało praktyczne.
> Rozróżnienie nie jest po _wartości_ danego obiektu, a po sposobie jego
> użycia. Funkcje używa się inaczej niż zwykłe wartości,
Nieprawda. Funkcję mogę przekazać jako argument innej operacji albo
zaaplikować do argumentów. Parametr funkcji mogę przekazać dalej jako
argument innej operacji albo zaaplikować do argumentów.
> Skoro są używane w różnych kontekstach,
Ależ są używane w tych samych kontekstach. Wystarczy niepusta część
wspólna.
Przyznaję tylko tyle, że jeden z kontekstów jest częstszy w przypadku
funkcji, a drugi jest częstszy w przypadku innych wartości. Ta częstość
nie jest jednak tak duża, żebym nie zauważał #' i funcalli.
> BTW, czy np. etykiety dla "goto", też powinny siedzieć w tej samej
> przestrzeni co pozostałe rzeczy ?
Jeśli nie są first class values, to są używane w różnych kontekstach,
więc mogą być w różnych przestrzeniach nazw.
--
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrnik.knm.org.pl/~qrczak/
Technical Details
Message-ID:
<1179534794.18262.35.camel@qrnik>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<1179163778.661628.303210@h2g2000hsg.googlegroups.com> <f2ak3b$rpj$1@nemesis.news.tpi.pl> <1179268422.157417.102270@o5g2000hsb.googlegroups.com> <f2ej9b$f4k$1@nemesis.news.tpi.pl> <1179352200.4321.8.camel@qrnik> <f2igt8$2j$1@atlantis.news.tpi.pl> <1179440766.31265.21.camel@qrnik> <f2imn9$iig$1@atlantis.news.tpi.pl> <1179528669.15951.26.camel@qrnik> <f2ldb0$nun$1@atlantis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: Marcin 'Qrczak' Kowalczyk <qrczak@knm.org.pl> Newsgroups: pl.comp.lang.funkcyjne Subject: Re: Przyjemny, elegancki, prosty jezyk funkcyjny Date: Sat, 19 May 2007 02:33:14 +0200 Organization: tp.internet - http://www.tpi.pl/ Lines: 71 Message-ID: <1179534794.18262.35.camel@qrnik> References: <1179163778.661628.303210@h2g2000hsg.googlegroups.com> <f2ak3b$rpj$1@nemesis.news.tpi.pl> <1179268422.157417.102270@o5g2000hsb.googlegroups.com> <f2ej9b$f4k$1@nemesis.news.tpi.pl> <1179352200.4321.8.camel@qrnik> <f2igt8$2j$1@atlantis.news.tpi.pl> <1179440766.31265.21.camel@qrnik> <f2imn9$iig$1@atlantis.news.tpi.pl> <1179528669.15951.26.camel@qrnik> <f2ldb0$nun$1@atlantis.news.tpi.pl> NNTP-Posting-Host: paf87.warszawa.sdi.tpnet.pl Mime-Version: 1.0 X-Trace: atlantis.news.tpi.pl 1179534876 4065 217.96.225.87 (19 May 2007 00:34:36 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Sat, 19 May 2007 00:34:36 +0000 (UTC) In-Reply-To: <f2ldb0$nun$1@atlantis.news.tpi.pl> X-Mailer: Evolution 2.10.0 PLD Linux Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit