In diesem Post geht es endlich mal wieder um
OCaml, eine großartige funktionale Sprache, die
es schon seit 1996 gibt. (Wenn man den Vorgänger Caml mitzählt sogar
schon seit 1985.)
OCaml hat wie viele andere funktionale Sprachen seinen Ursprung in der
Forschung am INRIA in Frankreich, ist aber seit ca. 20 Jahren
zunehmend auch in industriellen Projekten im Einsatz, zum Beispiel bei
Facebook, Jane
Street und
Bloomberg.
Zum Erfolg von OCaml haben allem vor das elegante Modulsystem, die
ergonomische Syntax, der schnelle Byte-Code- und der effiziente
Native-Code-Compiler beigetragen. Ein Manko plagte aber die
OCaml-Programmierung seit den Anfangstagen: OCaml unterstützte bis
vor kurzem keine Multicore-Programmierung, zumindest nicht direkt.
Mit dem Release von OCaml 5.0.0 im
Dezember 2022 ist das Problem allerdings ausgeräumt:
Multicore-Programmierung sowie Nebenläufigkeit werden unterstützt.
Das Multicore-OCaml-Team um
KC Sivaramakrishnan hat sich viel Zeit
gelassen, um wirklich alles richtig zu machen.
„Multicore OCaml“ hat eine ganze Reihe von Facetten, heute geht es
speziell um die Nutzung von Betriebssystem-Threads. In späteren Posts
werden wir uns auch noch die Unterstützung von Nebenläufigkeit mit
„effect handlers“ anschauen sowie die effiziente parallele
Programmierung mit „Reagents“.
Weiterlesen...