🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.funkcyjne
Article #461

Re: czemu tu taka cisza?

#461
From: Przemek Wis'niewski
Date: Mon, 13 Oct 2003 07:32
63 lines
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-mail
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>

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