Stealing from Biologists to Compile Haskell Faster
https://iankduncan.com/engineering/2026-05-30-stealing-from-biologists-to-compile-haskell-faster/
Stealing from Biologists to Compile Haskell Faster
https://iankduncan.com/engineering/2026-05-30-stealing-from-biologists-to-compile-haskell-faster/
@knowprose @Yuras I know this was not the question, but a problem with AI for producing output (here, code) is that it doesn't have a vision.
Now when I set out to a task, I have a vague idea in my head. It often turns out to be wrong, but my instincts and vision along the way help me correct it.
If I were to hand off the task to the AI, it would perform it as-is (with ~20% of my instructions botched).
Now, if I could formalize that vision well enough for the AI.. a different question.
... now the question is, does a Star which has 'Applicative f' as a constraint instead of just 'Functor f' exists and named? Then it could have a class method 'pureStar' defined as 'Star . rmap pure', to achieve the original goal.
Unless #Haskell people know a name for that class, we might call it AppStar or PureStar :)
@barubary @benjaminedwardwebb
guys, you won't believe this, but I accidentally got nearer to solve this.
I believe things of shape 'a -> f b' are more generally called a Star (if we treat a->b as a Profunctor, and f is a Functor). See https://hackage.haskell.org/package/profunctors-5.6.2/docs/Data-Profunctor-Types.html#t:Star
It literally says "lifting a Functor into a Profunctor". Now, obviously since f only has Functor constraint in Star, we don't have pure (so we need to construct by 'Star . rmap pure . f').
(TBC)
If you want performance, or the problem space is sufficiently large/open, you need tradeoffs.
When you have tradeoffs, it bleeds into your interface. Interface and implementation can't go irrespective.
When implementing, you'll keep thinking, will users be able to achieve what they want, and how they need to call this?
When writing interface, think how will the implementation be able to satisfy this?
That's why things are complicated, for me at least, in #programming.
We have updated our #PhET scraper for Free online #physics, #chemistry, #biology, earth #science and #math simulations.
Here is the source code: https://github.com/openzim/phet/releases/tag/v3.1.2
Here is the packaged software: https://www.npmjs.com/package/phetscraper
Here are the ZIM #offline archives: https://browse.library.kiwix.org/#category=phet