All Projects → ehrenmurdick → purescript-oak

ehrenmurdick / purescript-oak

Licence: MIT license
Implementation of the Elm Architecture in Purescript

Programming Languages

purescript
368 projects
javascript
184084 projects - #8 most used programming language
Dhall
116 projects

Oak is an implementation of the Elm architecture in Purescript.

bower install purescript-oak

This library requires the virtual-dom module. You can get it by using npm to install virtual-dom.

npm install virtual-dom

Documentation is published on pursuit.

A breif example Oak app:

module Main (main) where

import Oak

import Prelude hiding (div)
import Effect

type Model
  = {number :: Int}

data Msg
  = Inc
  | Dec

view :: Model -> View Msg
view model = div [] do
    button [onClick Inc] do
      text "+"
    div [] do
      text model.number
    button [onClick Dec] do
      text "-"

next :: Msg -> Model -> (Msg -> Effect Unit) -> Effect Unit
next msg mod h = mempty

update :: Msg -> Model -> Model
update msg model = case msg of
  Inc -> model { number = model.number + 1 }
  Dec -> model { number = model.number - 1 }

init :: Model
init = { number: 0 }

app :: App Msg Model
app = createApp { init, view, update, next }

main :: Effect Unit
main = do
  rootNode <- runApp app Nothing
  container <- getElementById "app"
  appendChildNode container rootNode
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].