My solutions, using ocamllex as usual, will be posted there:
My solutions, using ocamllex as usual, will be posted there:
About 50% of all mll files out there are affected and raise the exception 'Failure: empty token' on some input. An example of such input is now provided at compile time. github.com/ocaml/ocaml/... #ocaml
About 50% of all mll files out there are affected and raise the exception 'Failure: empty token' on some input. An example of such input is now provided at compile time. github.com/ocaml/ocaml/... #ocaml
The lexer, on the other hand 😅
Still, I'm enjoying menhir and ocamllex so far, even tho the learning curve is kinda steep
The lexer, on the other hand 😅
Still, I'm enjoying menhir and ocamllex so far, even tho the learning curve is kinda steep
New: Tree-sitter language injections (Markdown code blocks, OCaml in OCamllex and Menhir), much richer error reporting, better multi-line strings and a --check flag for CI.
github.com/topiary/topi...
New: Tree-sitter language injections (Markdown code blocks, OCaml in OCamllex and Menhir), much richer error reporting, better multi-line strings and a --check flag for CI.
github.com/topiary/topi...
I learned about menhir and ocamllex, and this week I already found an OCaml project at work that uses them both.
And thanks to my experience in personal time, it was quite easy to understand what’s going on.
The lexer, on the other hand 😅
Still, I'm enjoying menhir and ocamllex so far, even tho the learning curve is kinda steep
I learned about menhir and ocamllex, and this week I already found an OCaml project at work that uses them both.
And thanks to my experience in personal time, it was quite easy to understand what’s going on.
#AdventOfCode 2024 day 2 part 2, implemented in
#OCaml using ocamllex (written and displayed here in @kde.org's awesome Kate ❤️) :
#AdventOfCode 2024 day 2 part 2, implemented in
#OCaml using ocamllex (written and displayed here in @kde.org's awesome Kate ❤️) :
#ocaml
#ocaml
ocaml.org/manual/5.4/l...
ocaml.org/manual/5.4/l...
ocaml.org/manual/5.4/l...
ocaml.org/manual/5.4/l...
Part 1 was trivial. Part 2 was less fun as I couldn't leverage ocamllex for parsing all the input in one pass. I had to read chars one by one and then transform the data. But once that's done it's simple number crunching :).
#OCaml 🐫 solutions:
Part 1 was trivial. Part 2 was less fun as I couldn't leverage ocamllex for parsing all the input in one pass. I had to read chars one by one and then transform the data. But once that's done it's simple number crunching :).
#OCaml 🐫 solutions:
Could use support for odoc and cram files ;-)
Could use support for odoc and cram files ;-)
Read all about how we leveraged Tree-sitter to make this happen: www.tweag.io/blog/2026-07...
Read all about how we leveraged Tree-sitter to make this happen: www.tweag.io/blog/2026-07...
how are all parser generators so much better than the corresponding lexer generators (happy >> alex, menhir >>>>>> ocamllex)
how are all parser generators so much better than the corresponding lexer generators (happy >> alex, menhir >>>>>> ocamllex)
There is a 5 year old PR on the vim-ocaml repository that'd fix it (unfortunately it is a breaking change, but 5 years is probably enough notice and time to merge?)
There is a 5 year old PR on the vim-ocaml repository that'd fix it (unfortunately it is a breaking change, but 5 years is probably enough notice and time to merge?)
I fought menhir, ocamllex, and I really don't want to see those again haha – but thanks to both…
I fought menhir, ocamllex, and I really don't want to see those again haha – but thanks to both…
Ce qui rend mes codes courts là j'ai l'impression que c'est beaucoup l'utilisation de ocamllex pour le parsing (et aussi que y a des trucs qui mériteraient d'être sur deux ou trois lignes que je colle sur une seule pour faire joli haha ^^).
Ce qui rend mes codes courts là j'ai l'impression que c'est beaucoup l'utilisation de ocamllex pour le parsing (et aussi que y a des trucs qui mériteraient d'être sur deux ou trois lignes que je colle sur une seule pour faire joli haha ^^).
My solutions, in #OCaml using #ocamllex, can be found here:
code.up8.edu/pablo/aoc2023
I try to write efficient and elegant functional code, and to showcase as best as possible OCaml's standard library, avoiding other dependencies.
My solutions, in #OCaml using #ocamllex, can be found here:
code.up8.edu/pablo/aoc2023
I try to write efficient and elegant functional code, and to showcase as best as possible OCaml's standard library, avoiding other dependencies.
#394634 hoarder: set mainProgram
#394631 hcl2json: 0.6.6 -> 0.6.7
#394629 vimPlugins.cord-nvim: 1.0.0 -> 2.2.3
#394623 fzf: 0.60.3 -> 0.61.0
#394615 nss_latest: 3.109 -> 3.110
#394606 seagoat: 0.54.3 -> 0.54.4
#394634 hoarder: set mainProgram
#394631 hcl2json: 0.6.6 -> 0.6.7
#394629 vimPlugins.cord-nvim: 1.0.0 -> 2.2.3
#394623 fzf: 0.60.3 -> 0.61.0
#394615 nss_latest: 3.109 -> 3.110
#394606 seagoat: 0.54.3 -> 0.54.4