
Ask HN: Functional front-end? - bradcomp
I&#x27;m finally at a point where I can start work on a significant side-project, and I&#x27;m trying to determine my tech stack.<p>I&#x27;m using Haskell server-side, and I would like to build my front-end using functional techniques as well.<p>I&#x27;ve looked at PureScript, Elm, and Cycle.js as possibilities for building my client side code.<p>I&#x27;d like something that can integrate with other libraries in the Javascript ecosystem, and it would be nice to be able to use it for client side routing, ajax calls, etc.<p>PureScript is impressive, but it looks to have the steepest learning curve, and and the last time I tried it the  toolchain was terrible (hopefully this is no longer the case).<p>Elm looks good too, but from what I can tell it doesn&#x27;t really fit into the modern npm &#x2F; bower &#x2F; requirejs etc. ecosystem.<p>I like the philosophy behind Cycle.js, and of course interop wouldn&#x27;t be a problem, but... it&#x27;s still JavaScript.  This isn&#x27;t a huge deal, but it does count against it a bit.  I use JS all day and it would be nice to have something typesafe, and closer to Haskell syntactically and semantically.<p>I&#x27;m open to other suggestions as well, I&#x27;m not trying to limit it to those three, but they at least give an idea of where my mind is.  I would be especially interested in hearing from people who have used any of these (or others) to build web applications.<p>Thanks!
======
alphanumeric0
Hello,

I've been learning Elm for a few months and have done a few small side
projects in it. I'm also currently in the process of learning PureScript.

I prefer the way Elm is structured around signals. PureScript does not seem to
be structured this way by default, but there is at least one project written
in PureScript that gives you Elm-style FRP.

Once my Elm projects became sufficiently advanced, I noticed I was looking to
use higher-kinded types, which Elm does not seem to have yet, while PureScript
does. This may be important to you.

------
purescript
I hope you find PureScript has improved considerably since you last looked,
but if you have any specific issues, please drop into #purescript IRC and let
us know.

