Creating an app skeleton using Halogen 0.5 and Ocelot components


I made a stab at this in order to scratch an itch of my own but maybe it will interest someone else - i’m currently trying to work out how to fix a couple of compile errors arising from the changes going from Halogen 0.4 -> 0.5, so i can’t say if it will work.

Collaborators welcome!

edit: forgot the repo

1 Like

I’m concluding / suspending this effort now - having gotten thru the simple stuff here there’s a bunch of changes which i think would require me to learn more about Halogen 0.4 in order to understand how to migrate the code. There certainly are good resources for this (see links below) but they’re not quite enough for me to intelligently migrate the parts that have changed in the (formerly) Parent components.

I think someone who’d built an app with Halogen 0.4 could probably make those changes pretty easily, its a question of resolving the following sort of stuff:

$ spago build  2>&1 | grep "Unknown type" | sort | uniq                                       master ✭ ✱
Unknown type H.ComponentDSL
Unknown type H.HTML
Unknown type H.ParentDSL
Unknown type H.ParentHTML
Unknown type H.SubscribeStatus
Unknown type ProxyS
Unknown type Select.ComponentHTML
Unknown type Select.Message

Useful links for anyone who’s interested in using my WIP as a base:


Just checking, but is your goal here to upgrade purescript-ocelot from Halogen v4 to Halogen v5?


yes, plus moving it to spago, just to have a “hello world”-ish skeleton that would let people (including me) tip a toe in a halogen 5 app with minimal setup

(i didn’t fork ocelot because i really only want a skeleton - but i would have forked and offered a PR if i’d got it working)


I’m currently figuring out Yesod/Servant. In a few weeks, I’ll likely be getting back to Halogen where I’d likely help you in this regard.

1 Like