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
Last active September 11, 2022 17:14
ST push
module Main where
import Prelude
import Control.Monad.ST as ST
import Data.Array as Array
import Data.Array.ST as Array.ST
import Data.Foldable as Foldable
import Effect (Effect)
import Effect.Console as Console
@pete-murphy
pete-murphy / Main.purs
Created September 4, 2022 20:23
Move indices around STArray
module Main where
import Prelude
import Data.Foldable (fold)
import Effect (Effect)
import TryPureScript (h1, h2, p, text, list, indent, link, render, code)
import Control.Monad.ST as ST
import Data.Array.ST as Array.ST
@pete-murphy
pete-murphy / Main.purs
Last active September 4, 2022 00:26
Halogen click
module Main where
import Prelude
import Data.Maybe (Maybe(..))
import Effect (Effect)
import Effect.Aff (Aff, delay, Milliseconds(..))
import Halogen as H
import Halogen.Aff as HA
import Halogen.HTML as HH
@pete-murphy
pete-murphy / Main.purs
Created August 28, 2022 05:33
Halogen click
module Main where
import Prelude
import Data.Array (cons, drop, length)
import Effect (Effect)
import Effect.Aff (Aff, delay, makeAff, Milliseconds(..))
import Halogen as H
import Halogen.Aff as HA
import Halogen.HTML as HH
@pete-murphy
pete-murphy / Main.purs
Created August 21, 2022 17:31
Render unicode in React text element
module HelloReactHooks.Main where
import Prelude
import Data.Maybe (Maybe(..))
import Effect (Effect)
import Effect.Exception (throw)
import React.Basic.DOM as R
import React.Basic.DOM.Client (createRoot, renderRoot)
import Web.DOM.NonElementParentNode (getElementById)
{ config, pkgs, lib, ... }:
let
zsh-plugins = {
nix-shell = (fetchGit {
url = "https://github.com/chisui/zsh-nix-shell.git";
rev = "69e90b9bccecd84734948fb03087c2454a8522f6";
});
nix-zsh-completions = (fetchGit {
import * as L from "fp-ts-foldl"
import Immutable from "immutable"
import { readonlyArray as RA, readonlyNonEmptyArray as RNEA } from "fp-ts"
import { pipe } from "fp-ts/function"
import * as t from "transducers-js"
const inc = (n: number) => n + 1
const isEven = (n: number) => n % 2 === 0
const sum = (a: number, b: number) => a + b
@pete-murphy
pete-murphy / Main.purs
Created July 15, 2022 17:21
Derive Functor for Cont-like type
module Main where
import Prelude
import Effect (Effect)
import Elmish.Dispatch (Dispatch)
import Control.Monad.Cont (Cont, runCont)
import Data.Newtype (class Newtype)
newtype Effect' a = Effect' (Cont (Effect Unit) a)
module Main where
import Prelude
import Effect.Console (log)
import TryPureScript
whenFalseAndTrue = when (false && true) do
log "whenFalseAndTrue"
whenTrue = when true do
@pete-murphy
pete-murphy / Main.purs
Created July 7, 2022 14:46
Double-logging repro attempt
module Main where
import Prelude
import Data.Foldable (traverse_)
import Effect.Console (log)
import TryPureScript (render, withConsole)
abc item = when (item.name == "NAME") $ do
log "Here"