Article View: pl.comp.lang.funkcyjne
Article #227Re: Scheme w Polsce
From: Mariusz K. Grzeca
Date: Mon, 27 Jan 2003 13:00
Date: Mon, 27 Jan 2003 13:00
33 lines
3195 bytes
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-mailReferences:
<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