This file contains 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
import GHC.Unicode | |
strToTitle str = [if isSpace (fst ch) then toTitle (snd ch) else snd ch | ch <- (zip (" " ++ str) str)] |
This file contains 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
data Box = Box { box_x1 :: Integer, box_y1 :: Integer, box_x2 :: Integer, box_y2 :: Integer } deriving Show | |
subdivideNW Box { box_x1 = x1', box_y1 = y1', box_x2 = x2', box_y2 = y2'} = Box { | |
box_x1 = x1', | |
box_y1 = y1', | |
box_x2 = x1' + half_width, | |
box_y2 = y1' + half_height | |
} | |
where | |
half_width = (x2' - x1') `div` 2 |
This file contains 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
zz |
This file contains 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 FlexibleInstances #-} | |
import GHC.Float | |
data LangVariable = LangString String | LangNumber Double | LangNull deriving Show | |
class LangCoercion a where | |
toLangVariable :: a -> LangVariable | |
instance LangCoercion String where |
This file contains 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
import Control.Monad.State | |
import Control.Monad.Trans | |
type StackState a = StateT [Integer] IO a | |
--type StackStateIO = StateT [Integer] IO () | |
push :: Integer -> StackState () | |
push a = do | |
modify (a:) | |
return () |
This file contains 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
-- How do I force evaluation when working with monadic values? :( | |
type HeapPtr = Integer | |
type VMVariable = String | |
__fn_0 :: [VMVariable] -> VMVariable | |
createFunction :: ([VMVariable] -> VMVariable) -> VMState VMVariable | |
setProp :: HeapPtr -> VMVariable -> VMVariable -> VMState () | |
vmMain = do |
This file contains 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
vmMain :: VMState VMVariable | |
vmMain = do { | |
let (VMObject hello) = (VMObject 123); | |
return VMNull; | |
-- ^ | |
-- parse error on input `return' | |
} | |
This file contains 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 Main | |
import meow | |
foo : Float | |
foo = 0.123 | |
hello : Float -- can switch to Float/Int to use the correct one | |
hello = foo |
OlderNewer