🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Scheme w Polsce

#227
From: Mariusz K. Grzeca
Date: Mon, 27 Jan 2003 13:00
33 lines
3195 bytes
Użytkownik Tomek Meka napisał:

 > Może jakieś argumenty?

Pisząc "więcej", "większe" nie piszesz więcej/większe niż co, więc tu 
może tkwi problem... ;] Ale jeśli masz na myśli np. posiadanie więcej 
informacji niż kompilator Pascala, to właśnie coś takiego nie jest 
prawdą. Pascal jest monomorficznym językiem, który nie posiada funkcji 
wyżeszego rzędu, więc kompilator Pascala po sprawdzeniu proprawności 
typologicznej kodu zna dokładnie cały przepływ sterowania i danych w 
programie. Każda aplikacja jest aplikacją konkretnej, znanej funkcji, 
każa zmienna, czy argument ma dokładnie określony i znany typ. Dlatego 
rozwijanie funckji w miejscu, decyzje co do reprezentacji obiektów na 
stercie i na stosie są banalne, wołanie funkcji efektywne (poprzez skok 
bezpośredni).

W przypadku języka funkcyjnego z polimorfizmem parametrycznym i 
funkcjami wyższego rzędu kompilator po kontroli typów nie ma ani 
dokładnej informacji o typach, ani o przepływie sterowania - pierwsze 
wyklucza polimorfizm, drugie funkcje traktowane jako dane...
W przypadku, gdy język oferuje dodatkowo "przeciążanie", egzystencjalnie 
kwantyfikowane typy, polimorficzną rekurencję, polimorfizm wyższego 
rzędu (jak GHC, czy Clean) zdobycie choćby części informacji, które może 
posiadać kompilator Pascala staje się bardzo trudne (bez wykluczenia np. 
prawdziwej, rozdzielnej kompilacji prawdopodobnie niemozliwe).
Jeśli dodamy do tego leniwość (otrzymując niemal kompletny zestaw cech 
typowego, czysto funkcyjnego języka), zrobi się zupełnie nieciekawie, bo 
kompilator nie wie nawet czy coś, co trzyma za rękę jest wartoością 
wyrażenia, czy zawieszeniem, które tę wartośc może dopiero obliczyć...

Twierdzenie, że kompilator języka funkcyjnego wie więcej to bajeczka dla 
studentów-miłośników rzeźbienia w C, którzy maja opory przed czymkolwiek 
innym "bo będzie za wolno"...
Technical Details
Message-ID: <b13am0$rsm$2@news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mail
References: <b0uk8i$to98j$1@ID-180437.news.dfncis.de> <b0uks9$hb1$1@news.tpi.pl> <b0um4c$qpi$1@news.tpi.pl> <b0uvfu$1sbc$1@foka.acn.pl> <b0v03o$sv5gd$1@ID-180437.news.dfncis.de> <b0v2ro$tf6$00$1@news.t-online.com> <b0v7h0$t976g$1@ID-180437.news.dfncis.de> <b0v8b7$bvo$05$1@news.t-online.com> <b115aq$niq$1@news.tpi.pl> <b116ua$1e7$00$1@news.t-online.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.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: Scheme w Polsce
Date: Mon, 27 Jan 2003 14:00:10 +0100
Organization: tp.internet - http://www.tpi.pl/
Lines: 34
Message-ID: <b13am0$rsm$2@news.tpi.pl>
References: <b0uk8i$to98j$1@ID-180437.news.dfncis.de> <b0uks9$hb1$1@news.tpi.pl> <b0um4c$qpi$1@news.tpi.pl> <b0uvfu$1sbc$1@foka.acn.pl> <b0v03o$sv5gd$1@ID-180437.news.dfncis.de> <b0v2ro$tf6$00$1@news.t-online.com> <b0v7h0$t976g$1@ID-180437.news.dfncis.de> <b0v8b7$bvo$05$1@news.t-online.com> <b115aq$niq$1@news.tpi.pl> <b116ua$1e7$00$1@news.t-online.com>
NNTP-Posting-Host: po167.warszawa.cvx.ppp.tpnet.pl
Mime-Version: 1.0
X-Trace: news.tpi.pl 1043672577 28566 213.76.110.167 (27 Jan 2003 13:02:57 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Mon, 27 Jan 2003 13:02:57 +0000 (UTC)
In-Reply-To: <b116ua$1e7$00$1@news.t-online.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.2.1) Gecko/20021130
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit