Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Metaprogramming features
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-10-04 (01:16)
From: Jon Harrop <jonathandeanharrop@g...>
Subject: Re: [Caml-list] Metaprogramming features
On Friday 03 October 2008 17:01:36 David Teller wrote:
> I strongly agree with that feature request. One reason is all the code
> which is currently in Camlp4 but actually deserves the MetaOCaml
> treatment.

Most Camlp4 code is macros providing syntax extensions to OCaml that would not 
benefit from run-time code generation. So what Camlp4 code are you referring 
to that "deserves MetaOCaml treatment"?

> The other reason is that I believe that the Haskell vs. OCaml 
> race matters.

If you want a race, forget Haskell and look at F# which already provides typed 
metaprogramming with quotations, unsafe high-performance metaprogramming via 
CIL and the two most valuable syntax extensions (try..finally and views) as 
well as most of the key benefits of OCaml plus decent libraries and a 
concurrent run-time.

IMHO, the most productive direction for OCaml right now is towards LLVM. An 
LLVM backend to OCaml would facilitate some productive improvements (e.g. 
free polymorphism, easy run-time code generation and dynamic linking, easy 
FFI, platform independent and performant intermediate representation, extra 
optimization passes for "free"). Moreover, this path can lead to completely 
independent compilers that could then be free to expose their lexers, 
parsers, type checkers and metaprogramming capabilities without licensing 

Dr Jon Harrop, Flying Frog Consultancy Ltd.