Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View sordina's full-sized avatar

Lyndon Maydwell sordina

View GitHub Profile
@sordina
sordina / quad.hs
Last active August 29, 2015 13:55
Little QuadTree Example
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
import System.Random
import Data.Default
import Data.Maybe
import Data.Char
import Data.Monoid
import Text.InterpolatedString.Perl6
@sordina
sordina / html_hilbert.hs
Created February 10, 2014 04:10
Render an SVG in an HTML document for a Hilbert curve
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE FlexibleInstances #-}
import Text.InterpolatedString.Perl6
import Text.Printf
type Coord = (Integer, Integer)
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE FlexibleInstances #-}
import Text.InterpolatedString.Perl6
import Text.Printf
type Coord = (Integer, Integer)
type HilbertLookup = [Coord]
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
import Data.Maybe (fromMaybe, catMaybes)
import Data.List (tails, sortBy)
import Data.Ord (comparing)
import Data.List.Split
import Text.Printf
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
import Data.Maybe (fromMaybe, catMaybes)
import Data.List (tails, sortBy)
import Data.Ord (comparing)
import Data.List.Split
import Text.Printf
(def asdf ["a" "b" "c"])
(defn baz [x]
`(def ~(symbol (str x x)) ~x))
(defmacro foo [l]
`(do ~@(map baz (eval l))))
(foo asdf)
@sordina
sordina / haskell-irc-bot.hs
Created March 3, 2014 08:02
Small test bot using simpleIRC library from hackage
{-# LANGUAGE OverloadedStrings #-}
import Network.SimpleIRC
import Data.String
import System.Exit
import qualified Data.ByteString as B
import qualified Data.ByteString.Char8 as C
channel :: C.ByteString
channel = "#sordina-haskellbot-test"
(ns urlpatternmatching
(:require [midje.sweet :refer :all]))
(defn split [string]
(let [matches (re-seq #"/([^/]+)" string)
groups (map #(% 1) matches)
]
groups))
(defn isAuthorizedSection [env patternSection urlSection]
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
coil_A_1_pin = 7
coil_A_2_pin = 9
coil_B_1_pin = 8
{-# LANGUAGE GADTs
, FlexibleInstances
, RebindableSyntax
, DeriveFunctor
, RebindableSyntax
, OverloadedStrings #-}
import Control.Monad.Free
import Control.Monad
import Data.Monoid