Haste: Full-Stack Haskell for Non-PhD Candidates
summary
Haste compiles Haskell to JavaScript and demonstrates concrete, usable features: DOM manipulation, HTML5 canvas animation, localStorage, XHR, and type-safe RPC between client and server. Demos compile with haste boot and haste inst, show a spinning cat, a working localStorage save/load, a TodoMVC prototype and a Breakout built with Netwire, and use ffi bidirectional bindings to call and export JS. Testing notes warn that GHC integers differ from JS numbers so pure tests may hide runtime overflows.
AI-written summary · about
chapters (25)
- 0:00Intro
- 0:17About Us
- 5:38What is Haste?
- 6:18History of Haste
- 9:06Haskell Functions (cont.)
- 10:29Miscellaneous Haskell Syntax
- 11:56Installing Haste
- 12:29Authoring Haste "Hello, World"
- 12:50Haste "Hello, World" (cont.)
- 13:10Haste Library
- 13:20Compiling Haste "Hello, World"
- 14:38DOM Manipulation + Events
- 15:16DOM + Events (cont.)
- 17:29Interfacing w/LocalStorage
- 17:50LocalStorage (cont.)
- 19:06Simple Ajax
- 20:002D HTML5 Canvas
- 23:59JavaScript FFI
- 24:50FFI - Haste Calling JS w/ccall
- 26:42FFI - Haste Calling JS w/ffi
- 27:34FFI - ccall vs. ffi
- 28:40FFI - JS Calling Haste Functions
- 30:51Runtime Errors (cont.)
- 31:48Debugging (cont.)
- 35:24Hackage
related talks
58mDeveloping Web Applications with Haskell
01h 43mGHC’s JavaScript Backend
56mScala.js: Safety and Sanity in the Wild West of Web development
28mAsynchronous JavaScript & PureScript for Haskellers
24mClosing Remarks & "One More Thing"
41mWeb Programming with Hoplon
35mJavaScript Full Stack Development
50mIntegrating Purescript and Halogen into Javascript Apps - Part 5 of 6
