Skip to content

Instantly share code, notes, and snippets.

{-# LANGUAGE RecursiveDo #-}
import Reflex.Dom
import qualified Data.Map as M
import Data.Monoid
import Control.Applicative
main = mainWidget $ el "div" $ do
(svg, ()) <- buildElementNS mns "svg" ("width" =: "300" <> "height" =: "300") $ mdo
circle <- wrapElement =<< buildEmptyElementNS mns "circle"
("cx" =: "100" <> "cy" =: "100" <> "r" =: "100" <> "fill" =: "red")
@nomeata
nomeata / demo.sh
Last active August 29, 2015 14:27
shake UI demo
#!/bin/bash
while read -u 3 line
do
if [ "$line" == "====" ]
then
read -n 0
clear
else
echo $line
@nomeata
nomeata / gist:071c1f87450cf668bbeb
Created May 21, 2015 14:54
Compiling Stackage LTS 2.9 (GHC 7.8.4) with -ddump-rule-firings
291212 Rule fired: unpack
290940 Rule fired: unpack-list
180247 Rule fired: tagToEnum#
147567 Rule fired: Class op return
128770 Rule fired: ++
125196 Rule fired: Class op >>=
108321 Rule fired: foldr/app
86067 Rule fired: Class op >>
62107 Rule fired: Class op ==
61679 Rule fired: Class op showsPrec
@nomeata
nomeata / Main.hs
Created April 25, 2015 21:18
CodinGame „There is no Spoon“ World Cup entry
import System.IO
import Control.Monad
import qualified Data.Map.Strict as M
import qualified Data.Set as S
import Text.Printf
import Data.List
type Node = (Int,Int)
type Link = (Node, Node)
{-# LANGUAGE TupleSections #-}
module SeqCP where
import Data.Sequence
import Prelude hiding (drop, take, length, splitAt)
import Test.QuickCheck ((===), (==>), Property, Positive(..))
data CPs x y =
Empty |
SingleCP x (Seq y) |
Theorem insert_perm: forall k l, Permutation (k :: l) (insert k l).
Proof.
intros. induction l.
- reflexivity.
- simpl. destruct (ble_nat k a).
+ reflexivity.
+ transitivity (a :: k :: l).
* apply perm_swap.
* constructor; assumption.
Qed.
@nomeata
nomeata / GC-Anim.hs
Last active August 29, 2015 14:02
GC animation
{-# LANGUAGE ViewPatterns, GeneralizedNewtypeDeriving, DeriveDataTypeable#-}
import Diagrams.Prelude
import Diagrams.Backend.Cairo.CmdLine
import Diagrams.TwoD.Vector
import Diagrams.Core.Types
import qualified Data.Monoid.MList
import Data.Monoid.Coproduct
import Data.Typeable
@nomeata
nomeata / TakeR.hs
Last active December 19, 2015 19:39 — forked from sacundim/TakeR.hs
Fix benchmarking (avoid sharing)
{-# LANGUAGE RankNTypes, ScopedTypeVariables #-}
import Control.Monad.ST
import Data.Foldable as F
import Data.Array.ST
import Data.Sequence (Seq)
import qualified Data.Sequence as Seq
import Criterion.Main