Skip to content

Instantly share code, notes, and snippets.

View pete-murphy's full-sized avatar

Pete Murphy pete-murphy

View GitHub Profile
module Main where
import Prelude
import Data.Maybe (Maybe(..))
import Effect (Effect)
import Effect.Exception (throw)
import React.Basic.DOM (render)
import React.Basic.DOM as R
import React.Basic.Events (handler_)
import React.Basic.Hooks (Component, component, useReducer, (/\))
module Main where
import Prelude
import Data.Foldable (intercalate, traverse_)
import Data.Maybe (Maybe(..))
import Data.Nullable (Nullable, null)
import Effect (Effect)
import Effect.Exception (throw)
import React.Basic.DOM (render)
import React.Basic.DOM as R
@pete-murphy
pete-murphy / Main.purs
Created October 9, 2020 12:57
Example of useEffect, useAff in simple React app
module Main where
import Prelude
import Data.Maybe (Maybe(..))
import Effect (Effect)
import Effect.Class (liftEffect)
import Effect.Class.Console (log)
import Effect.Exception (throw)
import React.Basic.DOM (render)
import React.Basic.DOM as R
@pete-murphy
pete-murphy / Main.purs
Last active February 8, 2021 02:38
Routing example
module Main where
import Prelude
import Data.Array (range)
import Data.Foldable (oneOf)
import Data.Maybe (Maybe(..))
import Effect (Effect)
import Effect.Exception (throw)
import React.Basic (JSX, fragment)
import React.Basic.DOM (render)
import Control.Arrow ((>>>))
import Control.Lens ((&))
import Control.Monad.Trans.State (State, evalState, gets, put)
import Data.Foldable (minimumBy)
import Data.List.Split (splitOn)
import Data.Ord (comparing)
import qualified Data.Set as S
type Token = Point -> [Point]
import qualified Control.Monad as Monad
import Control.Monad.Trans.State (State)
import qualified Control.Monad.Trans.State as State
import Data.Function ((&))
import Control.Arrow ((&&&))
data Node = Node {children :: [Node], metadata :: [Int]}
allMetadata :: Node -> [Int]
allMetadata node = metadata node ++ concatMap allMetadata (children node)
module Main where
import Prelude
import Data.Maybe (Maybe(..))
import Data.Symbol (SProxy(..))
import Data.Tuple.Nested ((/\))
import Effect (Effect)
import Effect.Class (class MonadEffect, liftEffect)
import Effect.Ref as Ref
module Main where
import Prelude
import Data.Maybe (Maybe(..), fromMaybe)
import Data.Tuple (fst)
import Effect (Effect)
import Effect.Exception (throw)
import Effect.Unsafe (unsafePerformEffect)
import React.Basic.DOM (render)
import React.Basic.DOM as R
@pete-murphy
pete-murphy / Main.purs
Last active February 12, 2021 16:24
Semiring Validation example
module Main where
import Prelude
import Control.Alt ((<|>))
import Control.Apply (lift2)
import Control.Monad.Reader (ReaderT(..))
import Control.Monad.Reader as Reader
import Data.Array as Array
import Data.Maybe (Maybe(..))
import Data.Maybe as Maybe
@pete-murphy
pete-murphy / Main.purs
Last active January 26, 2021 23:54
Regex Example
module Main where
import Prelude
import Data.Array.NonEmpty as NonEmpty
import Data.Either (Either)
import Data.Either as Either
import Data.Maybe (Maybe)
import Data.String.Regex (Regex)
import Data.String.Regex as Regex
import Data.String.Regex.Flags as Flags