News for hackers. Stuff that matters.
Re:Distributed Systems in Haskell by wyager on Sunday June 12, 2016 @07:24PM (#11890840)
Author here. Glad to see this on HN! Happy to answer any questions.
Re:Distributed Systems in Haskell by state_less on Sunday June 12, 2016 @07:48PM (#11890917)
Thanks for the writeup! I am wanting to learn Haskell and this inspires confidence that one can develop larger projects using a more rigorous, less error prone approach. I like it.
Re:Distributed Systems in Haskell by navaati on Monday June 13, 2016 @05:50AM (#11892651)
Shouldn't the type of the monadic serverStep be "Message -> m ()" to match the type of the explicit "serverStep :: Config -> State -> Message -> (State, [Message])" ? Aka, serverStep isn't a monadic object, it's a Kleisli arrow.
Re:Distributed Systems in Haskell by wyager on Monday June 13, 2016 @11:09AM (#11894452)
You're right, that's a typo. I even wrote it out correctly later. I'll fix that. Thanks!
Re:Distributed Systems in Haskell by geekingfrog on Monday June 13, 2016 @04:28AM (#11892367)
Great post. How much knowledge and experience of haskell did you have before starting this project?
Re:Distributed Systems in Haskell by wyager on Monday June 13, 2016 @11:23AM (#11894601)
I'd been dabbling with it for a year or two.

Probably my most significant previous use was in my second-semester computer architecture class as a substitute for Verilog. Using Christiaan Baaij's Cλash project, one can transform a (large) subset of Haskell into VHDL/Verilog/SystemVerilog and slap it on an FPGA. There's a rundown of that project on my blog too.

My project partner had never really used Haskell before, so he was learning as we went. By the end of the semester he was writing code no problem. "Immersion learning" seemed to work quite well here.

Re:Distributed Systems in Haskell by cyknus on Sunday June 12, 2016 @11:18PM (#11891530)
Why Haskell? What made you choose Haskell?
Re:Distributed Systems in Haskell by wyager on Monday June 13, 2016 @12:08AM (#11891680)
For the first project, curiosity. For subsequent projects, the desire to repeat our experience with the first project.
Re:Distributed Systems in Haskell by domlebo70 on Sunday June 12, 2016 @08:59PM (#11891122)
This was a great post. Really love how you walked through the example code.