RealWorld Halogen ready for technical review



Over the past two months I’ve written an implementation of the RealWorld project for Halogen. You can see all 3,000 lines of the completed project here (pending some tests):

It’s the only project I’m aware of that showcases how to build a non-trivial application in PureScript. It follows the ReaderT pattern and comes with a long-form guide (still in progress) explaining the ideas and principles behind the implementation.

I am nearly ready to submit the project to the official RealWorld project by Thinkster, a 20,000-star repository that lets you compare and contrast the same application implemented in different frameworks. It’s a fantastic opportunity to showcase PureScript and Halogen to a wide audience.

Before I do that, however, I would love to make sure I really am showcasing the best of PureScript!

Call for technical review (Halogen users)

I’m not quite ready to share this project widely or submit it to the Thinkster repository. I would like to get a few other folks’ eyes on the project to help call out places where:

  • I have written something clunky or verbose, which could be done better
  • I have written something unnecessarily complex, which might scare off beginner-intermediates
  • I have done something that typically wouldn’t be done in the real world, OR I have failed to do something that would be done in the real world.
  • I have done something incorrect and diverged from the RealWorld spec

I understand that technical / code reviews are a big time investment. But even a quick glance over the project might lead to an issue jumping out at you. If you can spare 15 minutes to read through some of the key parts of the application and see what you think, it could lead to meaningful improvements to this resource.

Here’s the link:
RealWorld Halogen

Next steps

I plan to release the project officially in the new year (hopefully Halogen 5 doesn’t come out before I do!). The guide will be updated and completed in that time, and so by mid-January we should have a real world demonstration application ready to go for Halogen!


I am only just starting out with Purescript and Halogen, so I can’t really comment too much about the quality of the Purescript or how idiomatic it is.

I am implementing two production projects in Halogen at the minute and have been using this project as a guide to structuring them. It has been invaluable! I found the code to be easy to follow and work out what was going on. It was easy to adapt the structure to my projects. I haven’t come across anything yet that isn’t really covered.

You know about the documentation needing updating… so I don’t need to mention that! Little things like the documentation for Logging is different to the actual implementation confused me at first.

So from a beginners perspective I would say it is very well put together. Thankyou so much for doing it - I can honestly say I would have been lost without it!