Skip to content

Instantly share code, notes, and snippets.

View lgastako's full-sized avatar

John lgastako

  • Francon & Heyer
  • Milky Way Galaxy, Third Rock from the Sun
View GitHub Profile
module BinChar
-- %default total
-- Binary literals
data BinChar : Char -> Type where
O : BinChar '0'
I : BinChar '1'
data Every : (a -> Type) -> List a -> Type where
module ParserExperiment
( statementParser
) where
import Control.Applicative ( (<*) )
import Data.Functor ( (<$) )
import Text.Parsec
import Text.Parsec.Char ( upper )
type Identifier = String
@lgastako
lgastako / SelfServe.hs
Created May 23, 2018 09:45
Anonymous Records in Haskell (via SuperRecord) Example
#!/usr/bin/env stack
-- stack --resolver lts-9.21 --install-ghc runghc --package aeson --package lens --package protolude --package safe --package servant --package superrecord --package text --package time --package warp
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedLabels #-}
{-# LANGUAGE OverloadedStrings #-}
type Enum a
= Enum
{ predFn : a -> Maybe a
, succFn : a -> Maybe a
}
pred : Enum a -> a -> Maybe a
pred (Enum { predFn }) =
predFn
@lgastako
lgastako / trees.hs
Created September 17, 2017 05:09
hustle trees
module TreeFolds where
data Tree a
= Leaf a
| Branch (Tree a) (Tree a)
deriving (Eq, Ord, Read, Show)
instance Foldable Tree where
foldMap f (Leaf a) = f a
foldMap f (Branch l r) = foldMap f l `mappend` foldMap f r
@lgastako
lgastako / global-local.elm
Created May 30, 2017 22:07 — forked from jeffreyrosenbluth/global-local
A Reflex app with both global and local state
{-# LANGUAGE RecursiveDo #-}
-- | A simple example of a Reflex application that uses both elm style "global"
-- state and component level "local" state. The global state is a counter that
-- can be incremented and decremented by buttons that remember how many times
-- they have been clicked.
module Main where
import Control.Applicative
@lgastako
lgastako / .ghci file
Created May 17, 2017 04:41 — forked from npezolano/.ghci file
.ghci file
:set prompt "λ: "
:set -fno-warn-unused-imports
:def hlint const . return $ ":! hlint \"src\""
:def hoogle \s -> return $ ":! hoogle --count=15 \"" ++ s ++ "\""
:def pl return . (":! pointfree \"" ++) . (++ "\"")
type Branches
= Epistemology
| Ethics
| Logic
| Metaphysics
type Branches =
| Epistemology
| Ethics
CREATE VIEW salesforce.actual_sf_task_count AS
SELECT COUNT(*) sf_task_count
FROM salesforce.sf_task;
-- [local]:5432 salesforce@salesforce # SELECT * FROM actual_sf_task_count;
-- +---------------+
-- | sf_task_count |
-- +---------------+
-- | 8226055 |
-- +---------------+
@lgastako
lgastako / HaskellMapsAndLists.hs
Last active January 1, 2016 08:28
Haskell implementation of https://gist.github.com/amontalenti/8114359 from a non-haskell programmer.
module Main where
import Data.Map (Map)
import qualified Data.Map as Map
main = let someItems = [1, 2, 3, 4]
someMapping = Map.fromList [ ("ST", "started")
, ("IP", "in progress")
, ("DN", "done")
]