Profile avatar
chiroptical.dev
PhD Theoretical Chemistry. Haskell/Typescript full stack engineer at Mercury. Aspiring Erlang programmer. Occasional content creator youtube.com/chiroptical twitch.tv/chiroptical. Fencing enjoyer.
850 posts 1,051 followers 186 following
Regular Contributor
Active Commenter

TIL `let in term` is valid #haskell

Gahhh, first semi-serious fencing injury tonight. I’ll be out of commission for at least a few weeks. Super annoying but it could have been a LOT worse.

Spent a bit pruning my bonsai. No idea if I’ll keep it alive but one can hope!

Finally into the Contracts section of #racketlang guide. Get ready for a flurry of confusion!

A slice of sour dough bread, toasted, with butter and raspberry jam.

How do I increase the skeet frequency of #erlang and #racketlang?

I like that #racketlang allows you to have sub modules which aren’t default exposed but you can opt into them if you need them.

The BEAM is such a superpower

Would you still create smart constructors in #racketlang with contracts on a struct? My guess is no, but it isn't necessarily obvious to me yet.

Phenomenal #fencing night tonight. My parry rispostes were tight. I also better understand when someone is taking priority from me by beating. Need to get better at hiding my blade + distance. I’m very often to close with my blade hidden.

Current learning options: build a compiler in Haskell, learn meta programming techniques in Racket, or learn about WASM and Grain. I need more time!

Why are there so many cool programming languages!

At work we have a use case for an ordered non-empty set. AFAICT, there isn’t a #haskell library for this yet. Pretty sure you could represent it with a ‘NonEmpty a’ and ‘Set a’. Any better ideas?

I’ve been volunteering my time to help with a community project but I kind of want to switch focus to OSS work one night a week instead.

I was finally able to go fencing again tonight. What a dang delight. Too many missed parry riposte situations tonight. It is nice to feel how far I’ve come. #alwaysbelearnin

I was supposed to read structs/modules first but I couldn't help but peak at contracts. This fails at run-time because 0 is not positive.

Can add, [language.auto-pairs] '(' = ')' '[' = ']' '"' = '"' to [[language]] section for #racketlang in #helixeditor to avoid automatically pairing single quotes.

serverracket.com/book/ found this today. No idea if it is good but 🤞

Racket - the Language-Oriented Programming Language - version 8.17 is now available from download.racket-lang.org See blog.racket-lang.org/2025/05/rack... for the release announcement and highlights. #lisp #racketlang #scheme

I finally found an example of the “explicate control” step from Essentials of Compilation. I did not understand what the heck this step was supposed to do for ages.

Just released github.com/chiroptical/.... It now has `deriveHasFieldWithPrefix "prefix"` which strips "prefix" from the field names for their HasField instances. Additionally, the error messages when the prefixes don't match the fields is better for `deriveHasField`. #haskell

Hello friends, I am looking for work: ⌛️ 15+ years of technical experience 🧙‍♀️ Haskell, Purescript, nix, ... 👩‍🔬 Formal methods, theoretical computer science 👩‍💼 7+ years of Team Lead / EM experience eevie.ro/pages/about.... DM for more info, I'm open to both contracting and FTE. Reposts appreciated!

If I wanted to build a web app in #racketlang what libraries should I be checking out?