This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Rec where | |
import Data.Maybe | |
import Data.Map (Map) | |
import qualified Data.Map as Map | |
import Data.List (nub) | |
data Logic = Logic :& Logic | |
| Logic :| Logic | |
| Not Logic |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Sudoku where | |
import Data.Map (Map) | |
import qualified Data.Map as Map | |
import Data.Char | |
import Data.List | |
newtype Board = Board (Map (Int, Int) Int) | |
instance Show Board where |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE GeneralizedNewtypeDeriving #-} | |
module SliderPuzzle where | |
import Prelude hiding (Either(..)) | |
import Data.Vector (Vector, (//), (!?)) | |
import qualified Data.Vector as Vec | |
import Control.Arrow (second, (***)) | |
import Control.Monad.State.Strict | |
import Data.Set (Set) | |
import qualified Data.Set as Set |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE GeneralizedNewtypeDeriving #-} | |
module SliderPuzzle where | |
import Prelude hiding (Either(..)) | |
import Data.Vector (Vector, (//), (!?)) | |
import qualified Data.Vector as Vec | |
import Control.Arrow (second, (***)) | |
import Control.Monad.State.Strict | |
import Data.Set (Set) | |
import qualified Data.Set as Set |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE TypeFamilies, FlexibleInstances #-} | |
module Logic where | |
import Data.Maybe | |
import Data.Map (Map) | |
import qualified Data.Map as Map | |
import Data.List (nub) | |
data Logic = Logic :& Logic | |
| Logic :| Logic |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE ScopedTypeVariables, TypeFamilies, GADTs, DataKinds, MultiParamTypeClasses | |
, FlexibleInstances, FlexibleContexts, PolyKinds #-} | |
module Main where | |
import Data.Proxy | |
import Prelude hiding ((+)) | |
import qualified Prelude | |
data Nat = Zero | Succ Nat |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static Gen<ConsList<T>> Sequence<T>(this ConsList<Gen<T>> list) | |
{ | |
if (list.IsNil) return Return(ConsList.Nil<T>()); | |
return list.Head.Bind(t => | |
list.Tail.Sequence().Bind(ts => | |
Return(ts.Prepend(t)))); | |
} | |
public static Gen<T> Return<T>(T value) => FromGenerator(rnd => value); | |
public static Gen<TB> Ap<T, TB>(this Gen<Func<T, TB>> gf, Gen<T> gen) => | |
gf.Bind(f => gen.Bind(a => Return(f(a)))); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE TemplateHaskell, FlexibleInstances #-} | |
module Parsing.AST where | |
import Test.QuickCheck | |
import Halt.AST | |
import Halt.Utility | |
import Control.Applicative | |
import Data.Char | |
import Data.List | |
import Halt.Printing.Pretty |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Brainfuck | |
( executeString | |
) where | |
import Data.Map (Map) | |
import qualified Data.Map as Map | |
import Data.Vector (Vector) | |
import qualified Data.Vector as Vector | |
import Control.Monad.Trans.State | |
import Control.Monad.Trans.Maybe |