Related articles |
---|
Compiler Construction - New to it and getting started. NatLWalker@gmail.com (Nate the Capricious) (2005-02-11) |
Re: Compiler Construction - New to it and getting started. napi@cs.indiana.edu (2005-02-12) |
Re: Compiler Construction - New to it and getting started. torbenm@diku.dk (2005-02-16) |
Re: Compiler Construction - New to it and getting started. touati@nospam-prism.uvsq.fr (TOUATI Sid) (2005-02-28) |
Re: Compiler Construction - New to it and getting started. torbenm@app-4.diku.dk (2005-02-28) |
Re: Compiler Construction - New to it and getting started. touati@prism.uvsq.fr (TOUATI Sid) (2005-03-01) |
From: | TOUATI Sid <touati@prism.uvsq.fr> |
Newsgroups: | comp.compilers |
Date: | 1 Mar 2005 15:53:25 -0500 |
Organization: | Universite de Versailles Saint-Quentin-en-Yvelines |
References: | 05-02-039 05-02-068 05-02-099 05-02-107 |
Keywords: | optimize, courses, OOP |
Posted-Date: | 01 Mar 2005 15:53:25 EST |
> I don't agree. First of all, most optimization techniques are
> formalized in some way (data-flow analysis, control-flow analysis,
> pattern recognition, etc.) and, secondly, OCaml or SML can be used to
> write ad-hoc code as well as C can. I would actually say they are even
> better at this than C, as you don't have to worry so much about memory
> allocation/deallocation in the compiler and you can often write fairly
> advanced transformations as quick hacks by using pattern matching or
> standard higher-order functions such as fold and map.
>
> Where C may be a better option than OCaml or SML is bytecode
> interpreters. Here, you may want to do bit-fiddling and stuff where
> you treat the same data sometimes as pointers and sometimes as
> integers. This is where C's lack of type enforcement can come in
> handy.
>
> Torben
Torben,
your arguments convinced me. I agree that OCaml can be used as
imperative C language, so it may be used to implement ad hoc compiler
optimization modules.
However, there is another important point : history ! sometimes, many
previous compiler modules are already implemented in C or C++. Reusing
them efficiently may require to use one of these two languages. I think
you would say that OCaml allows to import external modules (as if they
are libraries) ! but we may feel too that reusing C modules is better
done by continuing to use C. All depends on the engineering criteria.
History isn't a weak argument in software engineering : did you try to
persuade physicists to stop using fortran 77 ?
S
Return to the
comp.compilers page.
Search the
comp.compilers archives again.