4 ms·
Looks cool. I feel like you should try and integrate with existing Haskell concepts. Maybe you'd have to make small changes in the design decisions compared to
by alipang 13y ago
Looks cool. I feel like you should try and integrate with existing Haskell concepts. Maybe you'd have to make small changes in the design decisions compared to jQuery, but honestly, using the typical Haskell abstractions things just seem to be "right" somehow.
Queries could easily be modelled with the list monad. Add the stateT transformer for effects. Add lenses for niceness. (Lenses could really beautify the internal implementation as well me thinks).
I'd love to hear about some of your design choices making this.
- friendly_chap 13y agoThank you! I definitely agree with you regarding the idiomatic solutions. However, the only defense I can come up with (not that I really want to excuse myself) is this is part of an effort (Hakit) to make Haskell web development accessible to HS beginners. I was a beginner myself when I started Hakit, a web toolkit, and I was overwhelmed by the seemingly complex Haskell APIs. So I tried to build a complete toolkit while forcing the users learning as few Haskell concepts as possible, without writing exceedingly ugly code. I will surely try to make this more appealing to Haskell ninjas too though.
- jhartikainen 13y agoInteresting, as a web dev I agree that getting into Haskell can be a bit tricky due to exactly what you said... However, I feel that if you remove the Haskelly parts from Haskell it's no longer really what makes it so great. I think focus should rather be more on writing better guides (many of the existing ones are not very "hands on" so you can't get straight to doing what you want - web development - even though it's doable). However, that being said, I look forward to seeing how this progresses and anything else you may have in store.
- friendly_chap 13y agoAs a beginner I got into Haskell for the basics - generics done right, ADTs, typeclasses, very nice syntax, crazy good list operations etc My reaction to monads & transformers was: "I never asked for this." I got used to them in a couple of weeks but I know multiple people personally who couldn't grasp them in months. I try to provide them with a toolkit to flex their muscles on and be productive with.