🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Przepe³nienie stosu w Ocamlu.

#31
From: Mariusz K. Grzeca
Date: Fri, 06 Dec 2002 23:10
28 lines
2218 bytes
On Fri, 6 Dec 2002, Tomek Czajka wrote:

> Jak programowac funkcyjnie, to tylko leniwie!

Dlaczego? Leniwość jest bardzo droga i utrudnia wnioskowanie o
złożoności pamięciowej programów.

> W jezyku leniwym odpowiednikiem takiego for-a jest fold

Nie wiem w jakim. W znanych mi nie ma funkcji fold dla list. Są między
innymi foldl i foldr.

> W jezyku funkcyjnym leniwym bedzie to sie odbywalo w pamieci stalej.

Nie będzie. Prześledź sobie jak wygląda redukcja wyrażenia:

foldl (+) 0 [a1, a2, a3, a4, a5, ...]

foldl (+) (0 + a1) [a2, a3, a4, a5, ...]
foldl (+) (0 + a1 + a2) [a3, a4, a5, ...]
foldl (+) (0 + a2 + a3 + a4) [a5, ...]
...

Po pierwsze foldl generuje wyrażenie reprezentowane przez łańcuch
thunków o długości liniowej względem rozmiaru danych wejściowych. Po
drugie ewaluacja tego wyrażenia wymaga liniowego stosu :)
Po trzecie foldl i foldr, lub ich odpowiedniki są również w gorliwych
językach funkcyjnych :)
Technical Details
Message-ID: <Pine.LNX.4.44L.0212070001400.22165-100000@sokrates.mimuw.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.k.pl!news.tkmedia.pl!news-1.feed.trzepak.pl!news.ipartners.pl!newsfeed.gazeta.pl!news.internetia.pl!mimuw.edu.pl!news.mimuw.edu.pl!not-for-mail
References: <asg3hf$25q$1@kenny.mimuw.edu.pl> <3DF10715.9A91D4D8@mimuw.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.k.pl!news.tkmedia.pl!news-1.feed.trzepak.pl!news.ipartners.pl!newsfeed.gazeta.pl!news.internetia.pl!mimuw.edu.pl!news.mimuw.edu.pl!not-for-mail
From: "Mariusz K. Grzeca" <mgrzeca@sokrates.mimuw.edu.pl>
Newsgroups: pl.comp.lang.funkcyjne
Subject: Re: Przepe³nienie stosu w Ocamlu.
Date: Sat, 7 Dec 2002 00:10:59 +0100
Organization: Zamordysci wszystkich krajow laczcie sie
Lines: 30
Message-ID: <Pine.LNX.4.44L.0212070001400.22165-100000@sokrates.mimuw.edu.pl>
References: <asg3hf$25q$1@kenny.mimuw.edu.pl> <3DF10715.9A91D4D8@mimuw.edu.pl>
NNTP-Posting-Host: sokrates.mimuw.edu.pl
Mime-Version: 1.0
X-Trace: kenny.mimuw.edu.pl 1039216264 19215 10.1.1.6 (6 Dec 2002 23:11:04 GMT)
X-Complaints-To: abuse@news.mimuw.edu.pl
NNTP-Posting-Date: Fri, 6 Dec 2002 23:11:04 +0000 (UTC)
X-Original-Path: sokrates.mimuw.edu.pl!mgrzeca
X-Quake2-Server: games.astercity.net:28910
X-Editor: Vim 5.6
In-Reply-To: <3DF10715.9A91D4D8@mimuw.edu.pl>
X-Path-Notice: Path line has been filtered
X-Newsreader: Microshaft Lookout Express 10.00.666
X-Quake2-Name: [SOFT]nosound
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit