Tiago Cogumbreiro's Avatar

Tiago Cogumbreiro

@forkjoin.bsky.social

Assistant professor @ UMass Boston | https://cogumbreiro.github.io/ | Faial is a verifier for #CUDA and #WebGPU written in #OCaml https://gitlab.com/umb-svl/faial #ocaml #rocq

119 Followers  |  267 Following  |  56 Posts  |  Joined: 23.11.2024  |  1.5351

Latest posts by forkjoin.bsky.social on Bluesky

Programming Languages: Application and Interpretation

Pleased to announce that the third edition of my PL book, PLAI, is finally available on paper! Same price as it's been for 20 years (-:. Also made it available on Kindle EPUB, and a few other options. (Always free options, of course.) Enjoy!
www.plai.org

27.07.2025 17:25 โ€” ๐Ÿ‘ 34    ๐Ÿ” 6    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
ocamlot/lib/activitypub/decode.ml at d677ae6b208074660811dc9120e6b90353e7f338 ยท kiranandcode/ocamlot An Activitypub server in OCaml! Contribute to kiranandcode/ocamlot development by creating an account on GitHub.

decoders library is quite elegant, esp if your format is absolutely disgusting

(source used it to parse the activitypub spec, the most underspecified and broken format known to humankind)

github.com/kiranandcode...

17.07.2025 18:31 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Dune Developer Preview (Sept-28-2024) fails to build z3 ยท Issue #10970 ยท ocaml/dune Expected Behavior I would like to migrate my project to Dune developer preview. Actual Behavior dune build is unable to compile the package z3. See point 4 below for output. Reproduction 1. Create ...

Progress here: github.com/ocaml/dune/i...

14.07.2025 20:28 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Turns out, I forgot to run `dune pkg lock` and z3 doesn't work with Dune Preview ๐Ÿ˜ญ

I managed to advance a bit further by changing Z3's lock file, but since I have no idea of what I'm doing, z3 then failed in the linking stage.

14.07.2025 20:28 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

PSA! Please share around! Due to a limited number of submissions, we're extending the OCaml Workshop deadline by a week to July 10th AoE!

Functional programmers! Heed my call! We need your submissions!!

06.07.2025 07:59 โ€” ๐Ÿ‘ 12    ๐Ÿ” 13    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Having Claude keep tabs of what was done and then generate the migration notes was invaluable. I would've forgotten all the steps otherwise. Humans and tools can use the guide and I already used it to have Claude migrate another project without further input.

29.06.2025 15:19 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I migrated from a Coq 8.19 + coq_makefile to dune + Rocq 9.0, assisted with Claude Code. It was a great experience, as there are so many little (tedious) details, from opam, Git, dune, etc.

gitlab.com/cogumbreiro/...

29.06.2025 15:14 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

If you are a functional programmer in Asia, then it is your obligation, nay your existential imperative to submit to the OCaml workshop this year

SPLASH/ICFP is in Asia this year and we have fewer submissions from the western folks because of the distance

Submit!!! Plsplsplsplsplz

26.06.2025 23:27 โ€” ๐Ÿ‘ 12    ๐Ÿ” 6    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
**CRITICAL RULE**: If ANY proof attempt fails to compile, STOP IMMEDIATELY.

**CRITICAL RULE**: If ANY proof attempt fails to compile, STOP IMMEDIATELY.

I'm learning to use Claude code for my Rocq proof development. First rule of fight club: If ANY proof attempt fails to compile, STOP IMMEDIATELY.

Otherwise, Claude just exhausts my tokens.

19.06.2025 15:52 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

If I may ask, what tolling are you using?

29.05.2025 13:46 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

Original post: types.pl/@liamoc/1145...

25.05.2025 20:27 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
GitHub - kiranandcode/LeanTeX: Write LaTeX presentations directly from Lean4~ Write LaTeX presentations directly from Lean4~. Contribute to kiranandcode/LeanTeX development by creating an account on GitHub.

Oh, defo you should! I am sad that I don't currently have any research actively working on lean at the moment because programming in it is honestly like working in the language of my dreams; I can truly extend it as much and as often as I want to fix any pain points

github.com/kiranandcode...

21.05.2025 04:37 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

So cool! You're making me want to play with Lean ๐Ÿ‘€

20.05.2025 20:56 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Yes, we use ocaml's binding of z3 directly. We have used the stdin+smtlib in the past, but for our use case using the API works quite well and it is simpler to package.

For libclang we have use the stdin approach, which is not ideal. I haven't tried the llvm opam package, but it appears outdated.

15.05.2025 12:35 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Sound and Partially-Complete Static Analysis of Data-Races in GPU Programs | Proceedings of the ACM on Programming Languages GPUs are progressively being integrated into modern society, playing a pivotal role in Artificial Intelligence and High-Performance Computing. Programmers need a deep understanding of the GPU programm...

Yes, we have a few papers on the subject of the verification (data-race analysis). Our latest is this one at OOPSLA: dx.doi.org/10.1145/3689...

Ah, thanks for the heads up, I will try to submit something.

15.05.2025 12:28 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
umb-svl / faial ยท GitLab GitLab.com

For some definition of cool, Faial is a static verifier of CUDA kernels written in OCaml. Self plug disclaimer.

gitlab.com/umb-svl/faial

14.05.2025 22:19 โ€” ๐Ÿ‘ 5    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Forgot to add that the accompanying gist includes a brief and step-by-step tutorial. The screenshot shows the conclusion, not the story.

12.05.2025 19:58 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
`nat_ind  (fun x => x + 0 = x) eq_refl  (fun n IH => eq_S (n + 0) n IH)`

`nat_ind (fun x => x + 0 = x) eq_refl (fun n IH => eq_S (n + 0) n IH)`

Here's a short demo I gave to my students on proving a simple result without ltac (functional style). #Rocq

gist.github.com/cogumbreiro/...

12.05.2025 19:57 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Paper reviewing, 5 out of 10 done, 2 weeks to go. ๐Ÿฅต

11.05.2025 22:03 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Dune Developer Preview (Sept-28-2024) fails to build z3 ยท Issue #10970 ยท ocaml/dune Expected Behavior I would like to migrate my project to Dune developer preview. Actual Behavior dune build is unable to compile the package z3. See point 4 below for output. Reproduction 1. Create ...

Z3 builds in Dune Developer Preview! <3

Love it. I can't wait to have time to make our project build with the new dune!

#ocaml

github.com/ocaml/dune/i...

11.05.2025 22:02 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Post image

@ NEPLS

09.05.2025 14:09 โ€” ๐Ÿ‘ 7    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
OCaml cross-compilation: an experiment OCaml has no official solution to cross-compilation, with many disparate options developed for different use cases. In this article I describe my own experiments with cross-compilation and attempts to...

Cross-compiling OCaml

www.chrisarmstrong.dev/posts/ocaml-...

07.05.2025 16:40 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

This is exciting progress! I'm crossing my fingers to see Z3 in that list soon.

30.04.2025 19:35 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Your research statement is engaging. It was a really compelling front page.

28.04.2025 17:58 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Agreed!

28.04.2025 16:00 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I really enjoy reviewing papers. I am reviewing this paper for OOPSLA. I understood the intro. The overview section started by making me giggle and the problem statement was clear as day. I'm pumped to discover what comes next. Hopefully, a strong accept.

28.04.2025 15:06 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
OCaml Game Engine: ECS My experience implementing camlcade's archetypal Entity-Component-System (ECS) in OCaml.

ECS in #OCaml featuring extensible variant types and GADTs edwardwibowo.com/blog/ocaml-g...

14.04.2025 13:53 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Session Types | Programming languages and applied logic

new book on session types just dropped!

www.cambridge.org/us/universit...

03.04.2025 15:54 โ€” ๐Ÿ‘ 36    ๐Ÿ” 12    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
GitHub - Octachron/roguetype: The first ever roguelike written in the OCaml type system The first ever roguelike written in the OCaml type system - Octachron/roguetype

Finally, a roguelike powered by OCaml's type system!

github.com/Octachron/ro...

02.04.2025 12:58 โ€” ๐Ÿ‘ 5    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Unite! Visiting Professorship Programme at TU Darmstadt (2nd Call) is open for applications until 31 March.

๐Ÿ”— More information: tinyurl.com/3ppnw75f

#TรฉcnicoLisboa #ULisboa

24.03.2025 18:40 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@forkjoin is following 19 prominent accounts