Article View: pl.comp.lang.funkcyjne
Article #461Re: czemu tu taka cisza?
From: Przemek Wis'niewski
Date: Mon, 13 Oct 2003 07:32
Date: Mon, 13 Oct 2003 07:32
63 lines
3078 bytes
3078 bytes
Andrzej Wasowski wrote:
> Oj Panowie, Panowie, czarujecie co nie miara. Sporo sie pomieszalo.
>
> Nie znam pythona, ale zwykle rozumienie instrukcji for jest takie, ze
> nie jest ona wyrazeniem, a zatem nie zwraca wartosci. W jezykach
> funkcjonalnych zwykle oznacza sie to typem unit.
To prawda, bo poprostu nie moze byc wyrazeniem.
>>proc {ForAll Xs P}
>> case Xs
>> of nil then skip
>> [] X|Xr then
>> {P X}
>> {ForAll Xr P}
>> end
>>end
>
>
>>Czy to przypadkiem nie jest funkcja map, albo jakis jej wariant?
>>Wydaje mi sie, ze ta funkcja zwraca przetworzona lista, a nie powinna.
>>
>>map [] f = []
>>map (e:es) f = (f e) : (map es f)
>
>
> Ta funkcja zwraca przetworzone liste. Jej typ to
>
> 'a list -> ('a -> 'b) -> 'b list
>
> For blizszy jest SMLowemu List.app o typie
>
> ('a -> 'b) -> 'a list -> unit
>
> Implementowanemu np tak
>
> fun app f [] = ()
> | app f (x::xs) = (f x; app f xs)
>
> Ta funkcja nie zwraca wyniku a tylko wykonuje f dl kazdego elementu.
Tak jak List.iter i Array.iter w Ocamlu.
> [WARNING: slabo znam Haskella] Rzeczywiscie w Haskellu taka funkcja nie
> miala by duzego sensu. Haskell nie zezwala na efekty uboczne a
> aplikowanie funkcji bez efektow ubocznych jest tansze, gdy go w ogole
> nie wykonywac :). Stad tez wyskakuje ta monady:
>
>
>>iter [] f = return ()
>>
>>>iter (e:es) f = do
>>> f e
>>> iter es f
>
>
> A jesli chodzi o dyskusje, co jest krotsze, to zwykle Haskell. Ale czy
> to ma takie znaczenie?
Nie, to byly zarty zaczepno-obronne.
--
Przemek Wis'niewski
Technical Details
Message-ID:
<24205-1066030454@gw.magellan.net.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!newsfeed.gazeta.pl!news.internetia.pl!not-for-mailReferences:
<Xns940C7E860B845dupajasio@127.0.0.1> <87he2m8vkq.fsf@hector.domek> <Xns940C891076596dupajasio@127.0.0.1> <s99y8vytfl4.fsf@localhost.localdomain> <Xns940CD6EFCBADzdomu@127.0.0.1> <s99y8vxt6i7.fsf@localhost.localdomain> <87d6d8kisy.fsf@hector.domek> <3045-1065776488@gw.magellan.net.pl> <Xns94107A9EA8791dupajasio@127.0.0.1> <12737-1065782463@gw.magellan.net.pl> <Xns941086C5952D5dupajasio@127.0.0.1> <21531-1065784865@gw.magellan.net.pl> <s993ce1jggg.fsf@localhost.localdomain>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!newsfeed.gazeta.pl!news.internetia.pl!not-for-mail From: Przemek Wis'niewski <przemekw@becomo.usunto.com> Newsgroups: pl.comp.lang.funkcyjne Subject: Re: czemu tu taka cisza? Date: Mon, 13 Oct 2003 09:32:28 +0200 Organization: Netia Telekom S.A. Lines: 64 Message-ID: <24205-1066030454@gw.magellan.net.pl> References: <Xns940C7E860B845dupajasio@127.0.0.1> <87he2m8vkq.fsf@hector.domek> <Xns940C891076596dupajasio@127.0.0.1> <s99y8vytfl4.fsf@localhost.localdomain> <Xns940CD6EFCBADzdomu@127.0.0.1> <s99y8vxt6i7.fsf@localhost.localdomain> <87d6d8kisy.fsf@hector.domek> <3045-1065776488@gw.magellan.net.pl> <Xns94107A9EA8791dupajasio@127.0.0.1> <12737-1065782463@gw.magellan.net.pl> <Xns941086C5952D5dupajasio@127.0.0.1> <21531-1065784865@gw.magellan.net.pl> <s993ce1jggg.fsf@localhost.localdomain> NNTP-Posting-Host: gw.magellan.net.pl Mime-Version: 1.0 X-Trace: nefryt.internetia.pl 1066030453 24205 213.17.131.34 (13 Oct 2003 07:34:13 GMT) X-Complaints-To: abuse@inetia.pl NNTP-Posting-Date: Mon, 13 Oct 2003 07:34:13 +0000 (UTC) In-Reply-To: <s993ce1jggg.fsf@localhost.localdomain> X-Accept-Language: pl X-Tech-Contact: usenet@internetia.pl User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030930 Debian/1.4-5 X-Server-Info: http://www.internetia.pl/news/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit