HNHacker News
TopNewBestAskShowJobs

jjba23

247 karma · joined September 12, 2024

A monad is just a monoid in the category of endofunctors, what's the problem?
submissionscomments
jjba23··on Parsing Expression Grammar vs. Regexes: Building Org Parser in Lisp, Export HTML
Some really impressive work there! thanks for sharing!
jjba23··on Parsing Expression Grammar vs. Regexes: Building Org Parser in Lisp, Export HTML
Aha! Interesting to hear you were going in the same direction. There are indeed quite some tricky situations to handle since Org (and Markdown) are complex in many ways.

the approach I am taking is to combine the PEG with a step of AST processing in order to then produce a correct and descriptive tree structure (for later rendering).

I do agree the Guile library has some spots to improve but honestly, I am already enjoying it so much, and it's far better for the Lisper in me than other things I've tried. I also find S-expressions much more comprehensible and self-documenting.

Looking forward to seeing what you do with it :)

I am indeed hoping that this library is useful for more people and that perhaps things like Haunt blog generator can use it (and other interesting uses)

As for nested markup, and nested lists it has been tricky, but so far I've really promising results:

(assert-equal #:got (inline-org->html (inline-org->ast "*bold with /italic/*")) #:expect "<strong>bold with <em>italic</em></strong>")

jjba23··on Parsing Expression Grammar vs. Regexes: Building Org Parser in Lisp, Export HTML
Indeed you make a good point. My naive self thought it could work out, but actually the more you zoom out, the more tree-structures you see in many formats. And in my opinion, then it's time to sheathe Valyrian Steel of Lisp, IMHO the language to rule them all when it comes to working with tree based structures (Org, HTML, SXML, many more)
jjba23··on Parsing Expression Grammar vs. Regexes: Building Org Parser in Lisp, Export HTML
I think you make a great point in highlighting the value of Regex. I don't want to undermine it at all, although some use-cases are just not a good fit for it (even if you can horseshoe things). I think a higher-level abstraction for regex is super welcome, and I quite admire what you are doing there, thanks a lot for sharing. I do think regex's indeed quite a lot more difficult to grasp when complexity rises compared to grammars or other approaches.
jjba23··on Quest for eternal dock on Wayland – lambdock (C and GTK4 and Lisp Guile Scheme)
Thanks for your comment! I think indeed a lot of people underestimate Guile's performance, power and expressiveness.
jjba23··on Ask HN: How to tune Emacs config for portability: Linux, macOS and Windows?
Thanks for the comment
jjba23··on Relational Schema Migrations Powered by Lisp on DBs (Guile Scheme) + Seeding
This [WIP] tool provides a declarative, transactional approach to managing your database state, ensures your relational schema and database is exactly as you decree, incrementally. Compatible with SQLite3, MySQL and PostgreSQL. Write your schema migrations and seeding easily, and in your native database dialect.
jjba23··on Supreme Sexp System – SSS – A Lisp Machine Adventure
Seems like there's been quite some interest lately in my custom configurations and self-built OS with GNU Guix, Emacs, StumpWM and more, which works amazing, specially for devs, and is pretty much 100% configurable with Lisp :blessed: Many stars in just a couple days, maybe it inspires you to do great things, and free up your computing.
jjba23··on ZZSpec – Give feedback on Scala library to ease testcontainers and ZIO test
Meh, thought this would get more views haha
jjba23··on ZZSpec – Give feedback on Scala library to ease testcontainers and ZIO test
A Scala library with great ZIO (and ZIO test) integration to help you easily write high-level integration/black box tests. ZZSpec tests help you grow your confidence in the correctness of software. Why ? Testing at a high level means freedom of implementation and refactoring. This is something all engineers love . Read more this page further to understand why this library was created.

https://github.com/jjba23/zzspec