Skip to content

Instantly share code, notes, and snippets.

View pete-murphy's full-sized avatar

Pete Murphy pete-murphy

View GitHub Profile
@pete-murphy
pete-murphy / Main.purs
Created October 31, 2021 02:23
Simple ADT example
module Main where
import Prelude
import Effect (Effect)
import Effect.Console as Console
import TryPureScript (render, withConsole)
data SchoolPerson = Teacher | Director | Student String
@pete-murphy
pete-murphy / Main.purs
Last active November 12, 2021 04:57
Pairing fundeps
module Main where
import Prelude
import Control.Comonad (class Comonad)
import Control.Comonad as Comonad
import Control.Extend (class Extend)
import Control.Extend as Extend
import Data.Array.NonEmpty (NonEmptyArray)
import Data.Array.NonEmpty as NE
module Main where
import Prelude
import Control.Comonad (class Comonad, extend, extract)
import Control.Comonad.Store (Store, store, peek, pos)
import Control.Comonad.Traced (Traced, runTraced, traced)
import Effect (Effect)
import Effect.Class.Console (log)
import Data.Array ((..), filter, length)
@pete-murphy
pete-murphy / Main.purs
Created December 3, 2021 15:22
zip3 implementation with ZipList & ado
module Main where
import Prelude
import Effect.Console as Console
import TryPureScript (render, withConsole)
import Data.Array as Array
import Data.List.ZipList (ZipList(..))
zip3 :: Array Int -> Array Int -> Array Int -> Array (Array Int)
@pete-murphy
pete-murphy / Main.purs
Created December 5, 2021 16:26
checkDateChange debugging
module Main where
import Prelude
import Data.Date (Date)
import Data.Date as Date
import Data.Enum as Enum
import Data.Maybe (Maybe(..))
import Data.Maybe as Maybe
import Data.String.CodePoints as CodePoints
@pete-murphy
pete-murphy / Example.hs
Created January 30, 2022 17:17
Editable sorting methods
{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
@pete-murphy
pete-murphy / Main.purs
Last active July 22, 2022 13:34
Parallel traverse with V and Compose
module Main where
import Prelude
import Control.Monad.Except (ExceptT(..))
import Control.Monad.Except as Except
import Control.Monad.Except as ExceptT
import Control.Parallel as Parallel
import Control.Parallel (class Parallel)
import Data.Array ((..))
@pete-murphy
pete-murphy / Main.purs
Created February 16, 2022 14:27
Inferred DecodeJson instance
module Main where
import Prelude
import Affjax as AX
import Affjax.ResponseFormat as AXRF
import Affjax.StatusCode (StatusCode(..))
import CSS (block, display)
import Data.Argonaut as Argonaut
import Data.Either (Either(..))
@pete-murphy
pete-murphy / Main.purs
Last active February 26, 2022 22:48
FingerTree usage
module Main where
import Prelude
import Data.Array as Array
import Data.FingerTree (FingerTree)
import Data.FingerTree as FingerTree
import Data.Lazy as Lazy
import Data.Monoid.Additive (Additive(..))
import Data.Newtype (class Newtype)
@pete-murphy
pete-murphy / Main.purs
Last active April 24, 2022 15:41
Example of merging props with default values in wrapper component
module Main where
import Prelude
import Prim.Row (class Nub, class Union)
import React.Basic.DOM as DOM
import React.Basic.DOM.Generated (Props_video)
import React.Basic.Hooks (Component)
import React.Basic.Hooks as React
import Record (merge)