Érik Martin-Dorel's Avatar

Érik Martin-Dorel

@erikmartindorel.bsky.social

Assoc. prof. in CS (University of Toulouse, Lab. IRIT), free software maintainer. Teaching in @master-sdl.bsky.social (Software Engr. curriculum ⊂ MSc in CS). Using Rocq/OCaml/Elisp/Java/Python/Docker/Bash/Git. https://linktr.ee/erikmd

119 Followers  |  374 Following  |  38 Posts  |  Joined: 21.11.2024  |  2.0222

Latest posts by erikmartindorel.bsky.social on Bluesky

And they use YOCaml 😎🤌

14.07.2025 10:26 — 👍 7    🔁 2    💬 2    📌 0
A three-panel meme featuring scenes from The Matrix. In the first panel, Morpheus holds out both hands offering two pills, with text reading 'MAP & FILTER' on the left hand and 'FOR LOOPS' on the right hand. The second panel shows Neo looking contemplative with the text 'OCAML' overlaid. The third panel shows Agent Smith asking 'Did you just take both pills?' The meme humorously suggests that OCaml programmers use both functional programming concepts (map & filter) and imperative constructs (for loops) together

A three-panel meme featuring scenes from The Matrix. In the first panel, Morpheus holds out both hands offering two pills, with text reading 'MAP & FILTER' on the left hand and 'FOR LOOPS' on the right hand. The second panel shows Neo looking contemplative with the text 'OCAML' overlaid. The third panel shows Agent Smith asking 'Did you just take both pills?' The meme humorously suggests that OCaml programmers use both functional programming concepts (map & filter) and imperative constructs (for loops) together

why not both? 🤔🐫

09.07.2025 13:17 — 👍 38    🔁 6    💬 3    📌 0
Watch OCaml Watch media related to the OCaml programming language and ecosystem

in case you've been wondering about getting an account on watch.ocaml.org:

1. it's possible if you're making OCaml videos and want to upload them (e.g. FUN OCaml has an account, among others)
2. if you want to just like an comment: use a Fediverse account (e.g. Mastodon)! 🧡🐫

07.07.2025 10:49 — 👍 11    🔁 3    💬 0    📌 0
TodoMVC

Helping you select an MV* framework

TodoMVC Helping you select an MV* framework

Dear #OCaml / web community, regarding ways to put forth all OCaml-based methods to develop frontends:

the todomvc.com project provides equivalent implem. of the same app, written using various #MVC frameworks

how about adding a ReasonML / Melange version?🔥🐫
(there's already a js_of_ocaml version)

13.05.2025 21:47 — 👍 2    🔁 1    💬 0    📌 0
Specific fields not allowing paste | Firefox Support Forum | Mozilla Support

I guess this is because the app at stake is a web app, and its Javascript code prevents pasting?

In this case, if you use Firefox, you may be interested in this tip?

support.mozilla.org/en-US/questi...

12.06.2025 20:29 — 👍 0    🔁 0    💬 1    📌 0
GitHub - grain-lang/binaryen.ml: OCaml bindings for Binaryen. OCaml bindings for Binaryen. Contribute to grain-lang/binaryen.ml development by creating an account on GitHub.

BTW it happens there's an OCaml binding for Binaryen (but you were certainly aware of it):
github.com/grain-lang/b...

28.05.2025 23:41 — 👍 0    🔁 0    💬 0    📌 0
Violating memory safety with Haskell's value restriction Violating memory safety with Haskell's value restriction

Just read a very nice article by @welltypedwit.ch !
welltypedwit.ch/posts/value-...

It strongly focuses on Haskell, but I believe it'd be interesting for #OCaml devs as well (and the blog article cites the paper on "Relaxing the Value Restriction" by Jacques Garrigue, DOI: doi.org/10.1007/978-...)

26.05.2025 21:50 — 👍 1    🔁 0    💬 0    📌 0
This should create a domain record at:

_atproto.erik.martin-dorel.org

Verify DNS Record (…)

This should create a domain record at: _atproto.erik.martin-dorel.org Verify DNS Record (…)

I think so!!

(* Just FYI, I just found an old screenshot of that very page I took on 2024-11-21: the feature was not mentioned. *)

25.05.2025 22:37 — 👍 2    🔁 0    💬 0    📌 0
This should create a domain record at:

_atproto.todo.com

Your current handle @erikmartindorel.bsky.social will automatically remain reserved for you. You can switch back to it at any time from this account.

Verify DNS Record (…)

This should create a domain record at: _atproto.todo.com Your current handle @erikmartindorel.bsky.social will automatically remain reserved for you. You can switch back to it at any time from this account. Verify DNS Record (…)

and yet, if I open bsky.app/settings/acc... > Handle > I have my own domain, I see:

"Your current handle … will automatically remain reserved for you. You can switch back to it at any time from this account."

Maybe this "handle-preservation feature" is new?

25.05.2025 22:12 — 👍 1    🔁 0    💬 1    📌 0

Also on android, also having the same problem. Apparently not a problem on iOS according to one of my mutuals.

@bsky.app this is inconvenient enough that I am thinking of either only logging in on my computer or quitting BlueSky.

18.05.2025 12:07 — 👍 2    🔁 1    💬 0    📌 0

Yes we can also do this. But if the compiler is happy with both, I don't see why we'd discard the currying-based, more elegant phrasing.
Anyway I can understand it is a matter of personal taste.

22.05.2025 19:49 — 👍 0    🔁 0    💬 0    📌 0
Preview
curry flexible but simple curry function. Latest version: 1.2.0, last published: 12 years ago. Start using curry in your project by running `npm i curry`. There are 107 other projects in the npm registry us...

But currying is one of the pillars of FP!
If you drop it, you won't be able to write code like:
[1; 2; 3; 4]
|> List.filter (fun n -> n mod 2 = 0)
|> List.map (fun n -> n * n)

And in PLs where currying is not native, it is available as a package:
www.npmjs.com/package/curry
pypi.org/project/PyMo...

22.05.2025 18:39 — 👍 0    🔁 0    💬 1    📌 0
Compiling OCaml to the TI-84+ CE Calculator In this post, I’ll explain how I compiled an OCaml program to run on a TI-84+ CE calculator. 🐪

An epic hack, getting OCaml running on a TI-84+ CE calculator.

farlow.dev/2025/05/17/o...

20.05.2025 14:31 — 👍 43    🔁 7    💬 0    📌 0
OCaml Web Development: Essential Tools and Libraries in 2025 Are you curious about using OCaml for web development? We outline some of the biggest tools and libraries you'll want to check out!

「 Functional programming fits in well with the web world. The transactional nature of HTTP and the convergence towards immutable state management solutions (such as Redux and consort) make OCaml a very good candidate for web application development 」

#ocaml #webdev
tarides.com/blog/2025-05...

18.05.2025 19:01 — 👍 7    🔁 3    💬 0    📌 0
Preview
OCaml Web Development: Essential Tools and Libraries in 2025 Are you curious about using OCaml for web development? We outline some of the biggest tools and libraries you'll want to check out!

OCaml Web Development: Essential Tools and Libraries in 2025 https://lobste.rs/s/tpge66 #web #ml

16.05.2025 11:19 — 👍 2    🔁 1    💬 1    📌 0

Et le snippet de code EmacsLisp de mon post précédent permet d'ajuster aussi les raccourcis pour passer en plein écran vs. maximiser la fenêtre sans basculer vers un "plein écran isolé" :
Ctrl+Cmd+f
Ctrl+u Ctrl+Cmd+f

14.05.2025 11:41 — 👍 0    🔁 0    💬 1    📌 0
Preview
tapfa-init.el/.emacs at b833c211b15c9c198fa7c17a11b2a7fa0493dd53 · erikmd/tapfa-init.el Environnement de TP pour OCaml et Coq avec GNU Emacs (UE TAPFA = Types Abstraits et Programmation Fonctionnelle Avancée) - erikmd/tapfa-init.el

Oui par défaut les deux touches options sont identiques dans emacs sous macOS. Solution: ajouter ces lignes dans son .emacs, pour que Option de gauche = Meta, et Option de droite = Caractères spéciaux :
github.com/erikmd/tapfa...

14.05.2025 11:37 — 👍 2    🔁 0    💬 1    📌 0
TodoMVC

Helping you select an MV* framework

TodoMVC Helping you select an MV* framework

Dear #OCaml / web community, regarding ways to put forth all OCaml-based methods to develop frontends:

the todomvc.com project provides equivalent implem. of the same app, written using various #MVC frameworks

how about adding a ReasonML / Melange version?🔥🐫
(there's already a js_of_ocaml version)

13.05.2025 21:47 — 👍 2    🔁 1    💬 0    📌 0
Post image

I implemented CSS in OCaml via styled-ppx, implemented HTML in OCaml via html_of_jsx, and implemented React in server-reason-react

I got them all

12.05.2025 16:00 — 👍 9    🔁 1    💬 2    📌 0
Try OxCaml An OCaml toplevel supporting Janestreet's Modes

You can try Janestreet's #OCaml with modes in your browser at patrick.sirref.org/oxcaml

09.05.2025 13:58 — 👍 9    🔁 5    💬 2    📌 0
Preview
Algebraic Data Types An overview of ADTs with F# & OCaml

I wrote an essay about algebraic data types and pattern matching! #OCaml #FSharp #FunctionalProgramming

07.05.2025 16:27 — 👍 15    🔁 6    💬 1    📌 0
Preview
GitHub - janestreet/ecaml: Writing Emacs plugin in OCaml Writing Emacs plugin in OCaml. Contribute to janestreet/ecaml development by creating an account on GitHub.

Today I came across ECaml (github.com/janestreet/e...) - a project that allows you to write #Emacs plugins in #OCaml. While, I don't have any issues with Elisp, I'll definitely check it out at some point. I'm guessing Jane Street are using it for their internal Emacs plugins.

07.03.2025 15:04 — 👍 11    🔁 3    💬 2    📌 0
Post image

#COBOL est partout, mais ses usages réels restent méconnus. La Communauté du COBOL & OCamlPro
lancent une grande enquête sur COBOL en 2025 !
Vous codez, formez ou travaillez avec COBOL ? Votre témoignage compte.
📋 Répondez avant le 30 juin : form.typeform.com/to/NSuM9Z2r

28.04.2025 10:08 — 👍 4    🔁 3    💬 0    📌 0

tout pareil ici sur un petit vps. j'ai du ban des ranges comme un goret pour etre tranquille :/
c'est bien décrit ici:
bsky.app/profile/arst...

28.04.2025 21:29 — 👍 3    🔁 3    💬 1    📌 0
La théorie des types, de Russell aux assistants à la démonstration | Collège de France

Live in four hours, the intro lesson of Thierry Coquand, creator of Coq/Rocq, in Colège de France in Paris: www.college-de-france.fr/fr/agenda/le...

(in French, hopefully with subtitles; the buffet should be good also! 🙂)

13.03.2025 13:08 — 👍 4    🔁 1    💬 0    📌 0

Nix doesn't have a docs problem it has a discovery problem!

So let me fix that by giving you all my favorite docs, youtubers, blogs and nix projects. (also no personal config have been listed)

Make sure to reply if you think i missed any.

(1/5)

25.11.2024 10:27 — 👍 117    🔁 33    💬 11    📌 8

Dans les mystères de Microsoft... je viens de découvrir que Powershell n'est pas mis à jour automatiquement avec Windows et qu'on se retrouve avec une vieille version même sous Windows 11, qu'il faut mettre à jour manuellement.

(ça m'a dépanné des trucs donc je partage le tuyau)

23.04.2025 15:06 — 👍 33    🔁 6    💬 4    📌 0

Rocq has this rarely known feature, and mathematicians hate it for that. (This is not clickbait 😆)

Impredicative Set allows to quantify over types of values while still being at the same level. This leads to paradox for most mathematicians but not in Rocq!

Here is what follows: 👇

01.04.2025 08:40 — 👍 3    🔁 3    💬 1    📌 1
Preview
Category:OCaml - Rosetta Code OCaml (formerly known as Objective Caml) is the main implementation of the Caml programming language, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier...

FWIW @sabine.sh, there may be some useful snippets in: rosettacode.org/wiki/Categor...

unfortunately, they are distributed under the copyleft license GNU FDL 1.2/1.3, which appears to be unsuitable for code 🙁

cf. e.g. the incompatibility from/to the GPL: en.wikipedia.org/wiki/GNU_Fre...

22.04.2025 14:10 — 👍 1    🔁 0    💬 0    📌 0
Testing - Real World OCaml

& dev.realworldocaml.org/testing.html

18.04.2025 15:46 — 👍 2    🔁 0    💬 1    📌 0

@erikmartindorel is following 20 prominent accounts