RE: [Caml-list] How could I implement an efficient ring buffer?

2012-04-02 Thread Jon Harrop
The "mod" and the write barrier will significantly degrade performance vs C. Probably faster to replace "mod" with if-based wrap around but there's nothing you can do about the write barrier. Cheers, Jon. > -Original Message- > From: David Allsopp [mailto:dra-n...@metastack.com] > Sent:

RE: [Caml-list] Don't forget the user

2011-12-16 Thread Jon Harrop
Wouldn't it be preferable for students to use OCaml in a browser? I'm just teaching a bunch of people F# and I've recommended tryfsharp.org to them for that reason. Perhaps it would be better to build something comparable in the OCaml world, rather than starting down the arduous route of an easy

RE: [Caml-list] Some comments on recent discussions

2011-12-13 Thread Jon Harrop
Adrien wrote: > On 13/12/2011, Alain Frisch wrote: > > As Xavier said, it would be great to find someone who'd like to join > > the core dev team in order to improve support for Windows. Anyone > interested? > > In my experience, OCaml is working mostly fine on Windows. I can see some > issues bu

RE: [Caml-list] Why isn't there a common platform for functional language interaction ?

2011-12-10 Thread Jon Harrop
Most projects are either academic research or industrial products. In academia, reinventing a common language run-time won't get funding because it is not novel enough. In industry, products that aren't economically viable in the mid-term (years) or sooner won't get funding. So the common solutions

RE: [Caml-list] Why NOT to compile OCaml via C

2011-12-10 Thread Jon Harrop
Stéphane Glondu wrote: > C sure is not a good target language, but assembly is not either. > The assembly backends of ocamlopt (and GHC... there is no support at all on > some Debian ports) look like a maintenance burden that their authors obviously > cannot cope with. I find the idea of making oca

RE: [Caml-list] float on 32 bits?

2011-12-01 Thread Jon Harrop
You'll probably have to do a lot of work to get the same floating point behaviour from OCaml. Firstly, OCaml compiled with ocamlopt often retains 80 bits of precision when processing in registers. Secondly, the Java specification mandates more accurate handling of some functions, e.g. trigonome

[Caml-list] Dynamic graph algorithms

2011-11-08 Thread Jon Harrop
e any work on this kind of stuff using OCaml? For some reason, there seems to be surprisingly little research on these topics... -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com -- Caml-list mailing list. Subscription management and archives: https://sympa-roc.inria.f

RE: [Caml-list] How to write an efficient interpreter

2011-11-06 Thread Jon Harrop
If the language you are interpreting is quite declarative then piggy-backing on OCaml's run-time either by writing an interpreter or by compiling to OCaml code will be a big advantage. Writing a VM with a run-time as efficient as OCaml's in this context is a *lot* of work compared to writing an int

RE: RE: RE: [Caml-list] Priority queues, reloaded

2011-07-14 Thread Jon Harrop
Radu Grigore wrote: > On Wednesday, July 13, 2011 7:59:38 PM UTC+1, Jon Harrop wrote: > > Moreover, do you actually need a heap in the MST algorithm? > > Didn't you just quote the part that says Algorithm 1 uses radix sort? Yes. That shows that it can be done but not that it

RE: RE: [Caml-list] Priority queues, reloaded

2011-07-13 Thread Jon Harrop
Radu Grigore wrote: > Another comparison appears in SGB, file miles_span.w, in the context of > computing minimum spanning trees. It turns out that Fibonacci heaps are not > only a theoretical curiosity! That's interesting. I was under the impression Fibonacci heaps had a really bad constant prefa

RE: [Caml-list] Priority queues, reloaded

2011-07-10 Thread Jon Harrop
Jean-Christophe Filliâtre wrote: > Hum... You forgot the 13 lines for function app :-) You must admit that all > together it's quite a lot of code (37 lines). Ugh, yeah. > The code for removal in AVLs is shorter (19 lines) and follows a simpler logic > (based on min_elt and remove_min_elt). Poin

RE: [Caml-list] Priority queues, reloaded

2011-07-10 Thread Jon Harrop
Radu Grigore wrote: > With a time limit of three hours this is what I'd do. In a real program, I'd > probably go for binomial heaps if imperative is OK, or maxiphobic heaps if > persistence is important. FWIW, I found that Okasaki's binomial heaps are among the slowest. Pairing heaps were the fast

RE: [Caml-list] Priority queues, reloaded

2011-07-09 Thread Jon Harrop
Andrew wrote: > Since the previous discussion regarding priority queues pretty much concluded > that they weren't available in OCaml, could you point to the most compact > implementation that you know of? I'm very likely to have to recode my own > implementation in a time-restricted setting, so I'd

RE: [Caml-list] Priority queues, reloaded

2011-07-09 Thread Jon Harrop
Jean-Christophe Filliâtre wrote: > Wow, that's impressive! But I guess you didn't need to implement the remove > operation on red-black trees :-) That's a real pain. Is Kahrs' so bad: delete :: Ord a => a -> RB a -> RB a delete x t = case del t of {T _ a y b -> T B a y b; _ -> E}