Article View: pl.comp.lang.funkcyjne
Article #31Re: Przepe³nienie stosu w Ocamlu.
From: Mariusz K. Grzeca
Date: Fri, 06 Dec 2002 23:10
Date: Fri, 06 Dec 2002 23:10
28 lines
2218 bytes
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-mailReferences:
<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