Hello
Here is the latest Caml Weekly News, for the week of September 06 to 13, 2011.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2011-09/msg00054.html
Philippe Wang announced:during this summer, a few changes have happened for OCAPIC. OCAPIC is about programming PIC18 micro-controllers using OCaml (the complete language with a modified runtime library) rather than assembly (PIC ASM or subsets of C). - a new look for the website, and a new URL (the former one is still valid) http://www.algo-prog.info/ocapic/ - a new major version for OCAPIC (2.5) The list of new features is available on the download page: http://www.algo-prog.info/ocapic/web/index.php?id=Download - and more importantly, a tutorial (in both French and English) for those who want to explore this particular world of PIC micro-controllers in OCaml. As a PIC environment simulator is part of OCAPIC, you can even experiment PIC programming without having any PIC hardware. http://www.algo-prog.info/ocapic/web/index.php?id=Documentation Feel free to send feedback or ask questions.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2011-09/msg00056.html
Philippe Wang announced:(sorry, no English version this is about a new book written in French) _______ Bonjour, un livre pour l'apprentissage de la programmation en OCaml est paru cet été. Il s'agit de "Programmation de droite à gauche et vice-versa" par Pascal Manoury. ISBN 978-2-916466-05-7, 150 pages. Le livre correspond à un cours dispensé en L2 à l'Université Pierre et Marie Curie. Le livre sur le site de l'éditeur : http://paracamplus.com/?CGIRunMode=book&urn=Cours/UPMC/LI220/6 Le 1er chapitre est disponible en PDF là : http://paracamplus.com/Books/Cours/UPMC/LI220/6/extrait.pdf
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2011-09/msg00071.html
Robert Pickering announced:Functional Programming eXchange is a developer conference that focuses on functional programming. The 2012 edition will take place on Friday March 16th March 2012, at the Skills Matter eXchange, in London. Typically talks are explore concepts that often crop up in functional programming such as parallelism or domain specific languages, look at frameworks built in functional languages or are cases studies of using functional programming in industry. Previous speakers have included: Simon Peyton Jones, Miles Sabin, David Pollak, Adam Granicz, Antonio Cisternino, Tomas Petricek, Jonas Boner, and Viktor Klang. Videos of the talks at the previous events can be found here: http://skillsmatter.com/event/scala/functionalpx-2011 http://skillsmatter.com/event/cloud-grid/functional-programming-exchange-2009 If you are interested at speaking at this conference please send a talk abstract to talks_functionalpx AT skillsmatter.com. I’m aiming to make the decision about which talks have been chosen around 14th October so if you submit an abstract expect to hear from me around this time.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2011-09/msg00068.html
Jocelyn Serot asked and Török Edwin replied:> This may be a trivial question for people working on multiple platforms but, > having worked for a long time only on Unix-like platforms (including Mac OS > X), > i'm a bit puzzled.. > > What is the "best" (simplest both for the programmer and, most importantly, > the > end user) way to develop a program in Ocaml in order to distribute it to > people > having only MS Windows platforms ? > > Is it possible to cross-compile (from what i've read, no) ? mingw32-ocaml can cross-compile, Debian and Fedora includes it. You'll need to cross-compile all the OCaml (and native) libs you use though (Fedora might provide pre-cross-compiled libs, not sure). Unfortunately there doesn't seem to be an easy way to cross-compile for Win64 in Debian (might be possible if an mingw-w64-ocaml package is created based on mingw-w64), but 32-bit executables run just there too. > > Do i have to install a ocaml distribution on a machine running windows, > compile > my program with the installed tools (ocamlc/ocamlopt) and distribute the > resulting .exe ? That'd work of course, but you have the inconvenience of booting windows everytime. > Aux question : In the Unix version, arguments are passed on the command > line. I > understand that the same can be done under Windows using some kind of > "shell" > (under Cygwin). But this may be disruptive to many Windows users who are > used > to the "click to launch" approach. Is there some kind of tool that could > automatically wrap a command-line-based app into a click-to-launch app (with > some additionnal pop-ups to enter arguments for ex) ? Not that I know of, but one could be written using ocaml-win32 (or lablgtk). Is your app purely console based otherwise, or does its Unix version have a GUI? > Sorry if these questions sound trivial but despite a long experience in > Ocaml > programming (>15 yrs), i've never been exposed to sw dev under windows (in > fact > i deliberately avoid this terrain ;) > > Btw, for those interested, the program i'm trying to port is a compiler > generating VHDL code for FPGAs from high-level actor-dataflow descriptions > (more info here : > http://wwwlasmea.univ-bpclermont.fr/Personnel/Jocelyn.Serot/caph.html). > For the moment, i'm distributing a bytecode but this requires the target > audience to have a ocaml distrib installed on their machine (which, from > experience, most of them view it as an hindrance). Does that mean that you don't use 3rdparty libs, or only use ones that can be compiled to pure bytecode (without native code)? If so cross-compiling with mingw32-ocaml should work fairly well. Another alternative would be to distribute ocamlrun.exe alongside your program.Dmitry Grebeniuk also replied:
> What is the "best" (simplest both for the programmer and, most importantly, > the > end user) way to develop a program in Ocaml in order to distribute it to > people > having only MS Windows platforms ? If you want to just distribute your program, you can get cross-compilers. They will make the binaries that you can distribute, of course. If you want to test your program (to see whether it runs, at least!), assure the quality of your program in some ways -- the cross-compiling is not enough, and you should use the real windows installation or some kind of a virtual machine. This is caused by the differences between many windows versions, currently installed "windows updates", software versions (for example, the version of installed ActiveState Tcl/Tk package for GUI OCaml programs). > Is there some kind of tool that could > automatically wrap a command-line-based app into a click-to-launch app (with > some additionnal pop-ups to enter arguments for ex) ? The best way is to distribute a tcl/tk-powered application with a fair GUI (and with the tcl/tk itself). Also the "wish" utility from tcl/tk does exist in windows tcl/tk installation (AFAIR), you can use it too, for simple GUIs, for just "prompt and go" wrappers. Lablgtk2 is good too. Avoid the .bat/.cmd files generation (Sys.command too), since cmd (the windows shell) uses some incomprehensible ways to handle the quotes. It's more safe to write some utility in ocaml+labltk that passes command line options to the real working program with Unix.create_process-like functions (the functions that receive the argv[] list! arguments shouldn't be concat'ed to the string). As for ocaml-windows-mingw-32bit developement, you can use my project "overbld": http://overbld.sourceforge.net/ ;, it provides installers for some variants of OCaml+libraries distribution. I will add/fix libraries to/in the distribution. (compiler in the overbld distribution will be updated when OCaml 3.13 will be released, in 1..2 weeks from the OCaml release). It's easy for me, since I'm fighting this issue (windows, ocaml, libraries) for a long time. 64 bits are not required for my windows applications, so I'm not adding/compiling 64-bit version of overbld. But it is not a very hard task, as I have seen, since OCaml runs on mingw64. (Really, I saw it On The Internets!).
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2011-09/msg00070.html
Anders Fugmann asked and Gilles Pirio replied:> Before starting my own Bloom filter implementation, I want to ask if > anyone knows of any existing implementation of Bloom filters in Ocaml. > I'm especially interested in counting bloom filters. Martin Jambon's implementation of Bloom filters can be found at https://github.com/mjambon/memories I know he's actively watching this list so feel free to contact him for further info.Ashish Agarwal also suggested:
There was a PADL paper presenting an implementation in Haskell: http://blog.malde.org/index.php/2009/02/11/notes-from-padl/
Thanks to Alp Mestan, we now include in the Caml Weekly News the links to the recent posts from the ocamlcore planet blog at http://planet.ocamlcore.org/. Second release candidate of Ocsigen 2.0: http://ocsigen.org/ OCAPIC 2.5: http://caml.inria.fr/cgi-bin/hump.cgi?contrib=742 Baby steps with Mercury - doing file I/O.: http://blog.dbpatterson.com/post/10101986648 A Note on Geomancy: http://alaska-kamtchatka.blogspot.com/2011/09/note-on-geomancy.html 4x4-Bit Matrix Transposition: http://alaska-kamtchatka.blogspot.com/2011/09/4-matrix-transposition.html Segmentation Faults, TAP and Eclipse: http://gaiustech.wordpress.com/2011/09/09/segmentation-faults-tap-and-eclipse/ L-BFGS 0.8 released: https://forge.ocamlcore.org/forum/forum.php?forum_id=805 new release of ocaml-buddy: https://mancoosi.org/~abate/new-release-ocamlbuddy Boolean Expression Simplifier: https://forge.ocamlcore.org/projects/bes/ Goodbye MLstate, goodbye Opa: http://dutherenverseauborddelatable.wordpress.com/2011/09/06/goodbye-mlstate-goodbye-opa/
If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.
If you also wish to receive it every week by mail, you may subscribe online.