🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: j. funkcyjne - jakie zastosowania?

#765
From: Tomasz Zielonka
Date: Wed, 04 Jan 2006 13:24
52 lines
2955 bytes
RobertSzefler wrote:
> Tomasz Zielonka wrote:
>
>> W Haskella nie wpakowano takich srodkow, a jest calkiem, calkiem.
>> Zgadzam sie, ze wsparcie mogloby byc lepsze, ale np. jakosc kompilatorow
>> chyba i tak przebija to, co teraz mamy np. dla C++. No dobra, C++ to
>> zupelnie inna kategoria. Bjarne (prawie) wygral konkurs "Zaprojektuj
>> jezyk programowania, ktorego nikomu nie uda sie zaimplementowac".
>
> Nie da się zaimplementować = w praktyce nie da się napisać dobrego 
> parsera w rozsądnym czasie (ze względu na głęboko poj***** gramatykę). 
> Jak to się przebrnie, to dalej konstrukcja kompilatora jest typowa dla 
> języków imperatywnych 

Nie do konca. Jest gorzej, bo gramatyka C++ (a nawet C) jest
niejednoznaczna i kompilator wlasciwie musi robic jednoczesnie analize
skladniowa i sprawdzanie typow. Wez chocby taki przyklad:

    ...

    void f(void)
    {
        ...
        x * y; // co to za konstrukcja?
    }

To C. W C++ jest jeszcze gorzej, chocby ze skladowymi klas, np.
czy to wartosc, typ czy szablon:
    T<41234>::member

Do "nie da sie" dodalbym jeszcze nieslychanie skomplikowane reguly
semantyczne jezyka (widocznosc nazw, konkretyzacja szablonow,
rozwiazywanie wolan przeciazonych funkcji, ...), rozdzielna kompilacja
dla szablonow, itp.

> - sprawdzanie typów (duużo prostsze bądź co bądź niż w Haskellu),

W Haskellu jest to przynajmniej dobrze sformalizowane.

> Co więcej, istnieje spora ilość prac teoretycznych świadcząca o tym,
> że implementacja kompilatorów jęz.  funkc. to w istocie rzeczy to samo
> (np. odpowiedniość między SSA i CPS lub postacią A-normalną).

Mowisz o jezyku funkcyjnym z ewaluacja "non-strict"?

Best regards
Tomasz

-- 
I am searching for programmers who are good at least in
(Haskell || ML) && (Linux || FreeBSD || math)
for work in Warsaw, Poland
Technical Details
Message-ID: <slrndrnj9i.6j9.tomasz.zielonka@localhost.localdomain>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!not-for-mail
References: <dpc61g$f0l$1@news.onet.pl> <dpdvtq$oss$1@nemesis.news.tpi.pl> <slrndrn602.61b.tomasz.zielonka@localhost.localdomain> <slrndrn661.61b.tomasz.zielonka@localhost.localdomain> <dpg8ns$52m$1@nemesis.news.tpi.pl> <slrndrnguv.6eu.tomasz.zielonka@localhost.localdomain> <dpghlc$1j3v$1@news2.ipartners.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!not-for-mail
From: Tomasz Zielonka <tomasz.zielonka@gmail.com>
Newsgroups: pl.comp.lang.funkcyjne
Subject: Re: j. funkcyjne - jakie zastosowania?
Date: Wed, 4 Jan 2006 13:24:19 +0000 (UTC)
Organization: ATMAN
Lines: 52
Message-ID: <slrndrnj9i.6j9.tomasz.zielonka@localhost.localdomain>
References: <dpc61g$f0l$1@news.onet.pl> <dpdvtq$oss$1@nemesis.news.tpi.pl> <slrndrn602.61b.tomasz.zielonka@localhost.localdomain> <slrndrn661.61b.tomasz.zielonka@localhost.localdomain> <dpg8ns$52m$1@nemesis.news.tpi.pl> <slrndrnguv.6eu.tomasz.zielonka@localhost.localdomain> <dpghlc$1j3v$1@news2.ipartners.pl>
Reply-To: tomasz.zielonka@gmail.com
NNTP-Posting-Host: 85.232.225.130
Mime-Version: 1.0
X-Trace: node1.news.atman.pl 1136381059 84624 85.232.225.130 (4 Jan 2006 13:24:19 GMT)
X-Complaints-To: abuse@atman.pl
NNTP-Posting-Date: Wed, 4 Jan 2006 13:24:19 +0000 (UTC)
User-Agent: slrn/0.9.8.1pl1 (Debian)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit