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 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 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 / 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
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 / 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)
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
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
@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
module Main where
import Prelude
import Control.Alt ((<|>))
import Control.Lazy as Lazy
import Data.Either (Either(..))
import Data.Int as Int
import Data.Maybe (Maybe(..))
import Effect (Effect)
@pete-murphy
pete-murphy / Main.purs
Last active May 11, 2023 21:12
Unify error types in a simple fetch & decode example (PureScript)
module Main where
import Prelude
import Affjax as Affjax
import Affjax.ResponseFormat as ResponseFormat
import Control.Monad.Except (ExceptT(..))
import Control.Monad.Except as Except
import Data.Argonaut as Argonaut
import Effect (Effect)
import Effect.Class as Effect