OCaml
- OCaml 5.3.0 releaseddiscuss.ocaml.org OCaml 5.3.0 released
We have the pleasure of announcing the release of OCaml version 5.3.0. dedicated to the memory of John William Mauchly and Paul Verlaine on the anniversary of their death. De la musique avant toute chose, Et pour cela préfère l’Impair (Music first and foremost of all! Choose your measure of...
- How OCaml type checker works -- or what polymorphism and garbage collection have in common | okmij.org | original February 2013 | updated January 9, 2022
> There is more to Hindley-Milner type inference than the Algorithm W. In 1988, Didier Rémy was looking to speed up the type inference in Caml and discovered an elegant method of type generalization. Not only it is fast, avoiding scanning the type environment. It smoothly extends to catching of locally-declared types about to escape, to type-checking of universals and existentials, and even to MLF. > > Alas, both the algorithm and its implementation in the OCaml type checker are little known and little documented. This page is to explain and popularize Rémy's algorithm, and to decipher a part of the OCaml type checker. The page also aims to preserve the history of Rémy's algorithm.
- Announcing Godotcaml for Godot 4.2 | Fizzixnerd Blog | Matt Walker | Jun 28, 2024
Jun 28, 2024
Matt Walker writes:
> This is an extremely early stage of development, but basically at this point it is possible to: > - Call any builtin Godot utility function or method (static, virtual, or otherwise) from OCaml easily, and with documentation comments for the original function intact an available through your favourite OCaml LSP implementation. > - Use Godot (binary) operators in a natural way from OCaml. (Unary operators are currently broken, which I will be investigating!) > - Construct Godot values from OCaml easily, and from OCaml analogues if they exist (e.g. I incur a dependency on Gg for low-dimensional vector math) > - Marshalling in and out of all these functions to/from the OCaml analogues. That is, a method that is in Godot on an object of type ClassyClass taking an int parameter and returning an int will appear in Godotcaml as int64 -> ClassyClass.t structure ptr -> int64, where the ClassyClass.t structure ptr is the “pointer to the Godot object”, commonly called self. (Note that this is always the last argument, to facilitate pipeline-style programming when GDScript programmers have a method-chaining interface.) > - Naturally define a new Godot class in OCaml that inherits from an existing Godot-registered class. (Currently NOT tested with classes defined in GDScript and/or externally.) > - Most of the code-gen for custom engines that define new stock/builtin types and classes, etc. > - Simulated inheritence for stock (and easily extendable to user-defined) classes using module inclusion: That is if Derived inherits from Base, then simply include Base in the module representing Derived, and you get access to all the methods from Base without explicit casting (or in the case of Rust’s gdext, object composition). > - Naturally define a new Godot method in OCaml and have it called from GDScript or another Godot-bound language. (ergonomics still WIP).
Read Announcing Godotcaml for Godot 4.2
See also: Setting Up a Godotcaml Project (Today)
- Eio 1.0 Release: Introducing a new Effects-Based I/O Library for OCamltarides.com Eio 1.0 Release: Introducing a new Effects-Based I/O Library for OCaml
The OCaml 5 update brought much-anticipated support for programming on multiple cores. It also introduced support for concurrency via effect…
- [Personal project] GitHub - monomon/schooloprog: generate ical school schedulegithub.com GitHub - monomon/schooloprog: Small program to convert sexp description to ical
Small program to convert sexp description to ical. Contribute to monomon/schooloprog development by creating an account on GitHub.
I had been meaning to try OCaml for a long time, and saw the opportunity.
My daughter's school schedule was sent in an inconvenient format (screenshot), so I decided to type it in manually in sexps, which I am a fan of.
These are used as a source for my program to generate icalendar with recurrences, exceptions for the holidays, and so on. Someone might find it useful as reference too.
- Learn Lambda Calculus in 10 minutes with OCamldev.to Learn Lambda Calculus in 10 minutes with OCaml
I'm going to teach you the basics of Lambda Calculus really quickly. Lambda Calculus is deep. But...
- Meet odoc, OCaml's Documentation Generatortarides.com Meet odoc, OCaml's Documentation Generator
Effective documentation is a cornerstone of software development. It helps developers understand how to use a language, its libraries, and…