Hello
Here is the latest Caml Weekly News, for the week of January 05 to 12, 2010.
Archive: http://groups.google.com/group/fa.caml/browse_thread/thread/36e9d2019afd2140#
Martin Jambon announced:Our company, MyLife, is continuing to seek OCaml programmers to expand our team in the Silicon Valley. We develop back-end people search technologies and the vast majority of our code is written in Objective Caml and runs on Linux. We love that as it provides us with an opportunity to tackle on big challenges with great productivity. We are now looking for talented and passionate people to share the fun in Mountain View, California. The primary requirements for the job are: - proficiency in a functional programming language and eventually OCaml - familiarity with Linux and shell scripting - proficiency in written English, as much of our team communications are written (brainstorms, bug reports, etc.) - ability to understand end-user requirements and translate them into robust software that gets the job done The ideal candidate will have a good nose for hunting bugs, diagnosing performance problems, and hacking his/her way through colleagues' code. Please contact us at ocaml-job@mylife.com if you are interested or might be interested in the future.
Archive: http://groups.google.com/group/fa.caml/browse_thread/thread/a80bb03789e3d6db#
Richard Jones announced:
Bitstring is a syntax extension which adds Erlang-style bit matching
and construction to OCaml programs. You can use this to efficiently
and safely parse communication protocols and binary file formats.
Bitstring handles integers, booleans, strings, sub-bitstrings, big-,
little- and native-endianness, signed and unsigned types,
variable-width fields, fields whose width depends on values in
previous fields, fields with arbitrary bit alignment, forward offsets,
when-clauses, checked expressions, security against buffer overflows
and DoS, and lots more.
Example:
let bits = Bitstring.bitstring_of_file "image.gif" in
bitmatch bits with
| { ("GIF87a"|"GIF89a") : 6*8 : string; (* GIF magic. *)
width : 16 : littleendian;
height : 16 : littleendian } ->
printf "%s: GIF image is %d x %d pixels" filename width height
| { _ } ->
eprintf "%s: Not a GIF image\n" filename
The latest version is 2.0.2 which fixes a number of compilation
problems related to OCaml 3.11, and incorporates some unofficial
patches which were floating around. (Note that bitstring 2.0.0 is
known to be broken on Debian).
Home page:
http://code.google.com/p/bitstring/
API documentation:
http://people.redhat.com/~rjones/bitstring/html/Bitstring.html
i am not sure, if this is of interest here, but i give it a try. i use cmake
heavily to compile my projects, so i wrote a UseOcaml.cmake script, adapted
from UseLATEX.cmake, to do the job for me. it can be found here:
http://yars.svn.sourceforge.net/viewvc/yars/branches/yars-refactoring/modules/UseOcaml.cmake?revision=509&view=markup
it is not complete yet, but it allows to easily compile ocaml-binaries in the
following way:
ADD_OCAML_TARGET(
OUTPUT loc
MAIN loc.ml
SOURCES file_node.ml files.ml io.ml file_statistics.ml message_node.ml
HEADERS file_node.mli files.mli io.mli file_statistics.mli message_node.mli
LIBRARIES unix.cmxa str.cmxa extLib.cmxa
INCLUDES /opt/local/lib/ocaml/site-lib/extlib
)
one current problem is that i cannot add multiple entries to the INCLUDES.
i am happy to receive comments.
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/.
OCaml-MonetDB5:
https://forge.ocamlcore.org/projects/ocaml-monetdb5/
Programming language internships in Paris, France:
http://dutherenverseauborddelatable.wordpress.com/2010/01/08/programming-language-internships-in-paris-france/
OCaml Uint:
https://forge.ocamlcore.org/projects/ocaml-uint/
A new style for the blog:
http://math.andrej.com/2010/01/08/a-new-style-for-the-blog/
Tutorial on exact real numbers in Coq:
http://math.andrej.com/2010/01/07/tutorial-on-videolecturesnet/
The OPA type system, part 1:
http://dutherenverseauborddelatable.wordpress.com/2010/01/07/the-opa-type-system/
Beta Testing with MacDeveloper:
http://coherentpdf.com/blog/?p=39
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.