🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Przepełnienie stosu w Ocamlu.

#28
From: Mariusz K. Grzeca
Date: Mon, 02 Dec 2002 20:25
30 lines
2204 bytes
Arek Paterek wrote:

> Oczywiście można zapisać rekurencję w postaci ogonowej i pewnie
> wtedy stos nie będzie używany, ale co robić w większych programach?


Oszacować czy istnieje niebezpieczeństwo przepełnienia stosu i jeśli 
istnieje zapisz rekurencję w postaci ogonowej :)
Jeśli nie jesteś w stanie oszacować - przyjmij, że się przepełni i 
zapisz ogonowo :)
Jeśli nie umiesz zapisać rekurencyjnie, a umiesz to prosto zapisać za 
pomocą pętli, to znaczy że  musisz jeszcze troszkę poćwiczyć ;)

> W Ocamlu jest to problem (i w innych językach funkcyjnych pewnie też),
> w językach imperatywnych problemu nie ma (jest w mniejszej skali,


Nie ma problemu, bo "odpowiednikiem" iteracji z języka imperatywnego 
jest rekurencja ogonowa, a nie rekurencja w ogóle ;)

> Wydaje mi się, że skoro programowanie funkcyjne jest takie dobre i 
> piękne, funkcje rekurencyjne są lepsze od lamerskich pętli,
> a Ocaml jest pięknym językiem i ma najlepszy kompilator,
> to powinien poradzić sobie z przepełnieniem stosu przynajmniej
> w swoim kompilatorze bajtkodowym.


Nie tylko nie powinien, ale nawet nie ma prawa sobie z tym poradzić. 
Pomyś chwilę co, poza adresem powrotu, ląduje na stosie w Twoim 
programiku...
Technical Details
Message-ID: <asgim0$gb8$1@news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.ipartners.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mail
References: <asg3hf$25q$1@kenny.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.ipartners.pl!newsfeed.tpinternet.pl!news.tpi.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: Mon, 02 Dec 2002 21:25:57 +0100
Organization: tp.internet - http://www.tpi.pl/
Lines: 31
Message-ID: <asgim0$gb8$1@news.tpi.pl>
References: <asg3hf$25q$1@kenny.mimuw.edu.pl>
NNTP-Posting-Host: ps68.warszawa.cvx.ppp.tpnet.pl
Mime-Version: 1.0
X-Trace: news.tpi.pl 1038863872 16744 217.99.2.68 (2 Dec 2002 21:17:52 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Mon, 2 Dec 2002 21:17:52 +0000 (UTC)
In-Reply-To: <asg3hf$25q$1@kenny.mimuw.edu.pl>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2b) Gecko/20021016
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit