Skip to content

ivanperez-keera/forks-gooey

 
 

Repository files navigation

GHCJS Examples

Hello World example, uses the bare minimum of functions from ghcjs-dom to get text into the browser window.

Only slightly more elaborate than hello, sets a large chunk of static HTML, and then selects several elements by id. The use of documentGetElementById is important. The use of embedFile is not so important. Both will disappear as I move to better libraries for constructing HTML.

Use hamlet and blaze-html to create the inner HTML content.

Use ghcjs-dom to read from an input field and echo the value to a paragraph..

Like echo, but register a callback on a button, and only update the paragraph when the button is pressed. This is the simplest example with a callback.

timer

A countdown timer using an MVar event queue to tie the knot. Callbacks on DOM elements add events to the queue. A single Haskell thread pops events from the queue and updates the (global) state. A render function is called in a loop by requestAnimationFrame and updates the DOM based on the global state. This is the simplest example with an event queue.

Uses diagrams-ghcjs and ghcjs-canvas to render to a Canvas element. Also uses ghcjs-jquery to setup the initial DOM. There's probably a better way without jquery, however.

Uses ghcjs-canvas to render a bouncing ball. Click in the canvas to move the ball to that point.

Uses diagrams-ghcjs to render a bouncing ball. Click in the canvas to move the ball to that point.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 74.0%
  • HTML 19.7%
  • CSS 5.4%
  • Shell 0.9%