Related articles |
---|
[4 earlier articles] |
Re: Implementation Language Choice joachim.durchholz@web.de (Joachim Durchholz) (2004-02-13) |
Re: Implementation Language Choice kevin@albrecht.net (Kevin Albrecht) (2004-02-13) |
Re: Implementation Language Choice lex@cc.gatech.edu (Lex Spoon) (2004-02-26) |
Re: Implementation Language Choice joachim.durchholz@web.de (Joachim Durchholz) (2004-02-26) |
Re: Implementation Language Choice gdr@integrable-solutions.net (Gabriel Dos Reis) (2004-02-27) |
Re: Implementation Language Choice joachim.durchholz@web.de (Joachim Durchholz) (2004-03-02) |
Re: Implementation Language Choice la@iki.fi (Lauri Alanko) (2004-03-02) |
Re: Implementation Language Choice lex@cc.gatech.edu (Lex Spoon) (2004-03-02) |
Re: Implementation Language Choice torbenm@diku.dk (2004-03-06) |
Re: Implementation Language Choice bettini@dsi.unifi.it (Lorenzo Bettini) (2004-03-06) |
Re: Implementation Language Choice joachim.durchholz@web.de (Joachim Durchholz) (2004-03-11) |
Re: Implementation Language Choice mayan@sandbridgetech.com (Mayan) (2004-03-19) |
Re: Implementation Language Choice Barak.Zalstein@ceva-dsp.com (Barak Zalstein) (2004-03-26) |
From: | Lauri Alanko <la@iki.fi> |
Newsgroups: | comp.compilers |
Date: | 2 Mar 2004 11:08:05 -0500 |
Organization: | Private |
References: | 04-02-109 04-02-149 04-02-164 04-02-174 |
Keywords: | design |
Posted-Date: | 02 Mar 2004 11:08:05 EST |
Gabriel Dos Reis <gdr@integrable-solutions.net> virkkoi:
> Joachim Durchholz <joachim.durchholz@web.de> writes:
[On pattern matching]
> | Though it's beyond me why this never made it into mainstream imperative
> | languages; it's exceedingly useful.
>
> Probably because people have been using the more general Visitor Pattern?
The more excruciatingly painful, you mean?
I once participated in writing a toy OQL compiler. The implementation
language was preordained to be C++. We did things by the book and used
the visitor pattern instead of "ugly" dynamic casts to discriminate
between different syntactic classes.
It was horrible, really. Having to write a trivial visit-method in
every class, and having to write all the auxiliary visitor classes
whenever the syntax tree had to be traversed. I couldn't help thinking
all the time how much simpler everything would have been had we just
used Haskell, defined a simple datatype for the abstract syntax, and
pattern matched on the terms.
I guess the code would have been shorter by a factor of ten, maybe.
Lauri Alanko
la@iki.fi
Return to the
comp.compilers page.
Search the
comp.compilers archives again.