Browse thread
How to write a CUDA kernel in ocaml?
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | David Allsopp <dra-news@m...> |
| Subject: | RE: [Caml-list] How to write a CUDA kernel in ocaml? |
Basile Starynkevitch wrote: > Eray Ozkural wrote: > > Compiling Ocaml to efficient C is not easy and probably impossible (or > extremely difficult) in the general case. In > particular, tail recursive calls are essential in Ocaml, and are not > available in C in most compilers. What's this based on (out of interest)? Most C compilers don't necessarily identify tail recursion in *C* code but if you're emitting C as an OCaml backend then there's no reason not to convert tail recursive *OCaml* functions to C code based on goto or similar looping constructs (yes, you'd almost-always-virtually-never use goto in a hand-crafted C program without apologising profusely at Dijkstra's grave but if you're using C as an intermediate language then that's a different matter). If I recall correctly from an old post on this list, this is how Felix handles tail recursion when translating Felix to C++ David