Skip to content

Instantly share code, notes, and snippets.

@naoto-ogawa
naoto-ogawa / gist:3544278796d447e7aff5
Created May 11, 2014 10:48
Haskell Nim calculation
module Data.Nim
(Nim)
where
import Data.Bits
class Nim a where
(+^*) :: a -> a -> a
(*^*) :: a -> a -> a
[work06]$ vim mffp.hs
[work06]$ ghci
GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> :l mffp.hs
[1 of 1] Compiling Main ( mffp.hs, interpreted )
Ok, modules loaded: Main.
*Main> :t answer
--
-- Excerpt from Monads for functional programming
-- http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
--
-- 2.1 Variation zero: The basic evaluator
--
data Term = Con Int | Div Term Term
eval :: Term -> Int
--
-- Excerpt from Monads for functional programming
-- http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
--
-- 2.1 Variation zero: The basic evaluator
--
data Term = Con Int | Div Term Term
eval :: Term -> Int
--
-- Excerpt from Monads for functional programming
-- http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
--
-- 2.1 Variation zero: The basic evaluator
--
data Term = Con Int | Div Term Term deriving (Show)
eval :: Term -> Int
*Main> eval2 answer
("eval(Con 1972) <- 1972\n eval(Con 2) <- 2\n eval(Div (Con 1972) (Con 2)) <- 986\n eval(Con 23) <- 23\n eval(Div (Div (Con 1972) (Con 2)) (Con 23)) <- 42\n ",42)
*Main>
@naoto-ogawa
naoto-ogawa / test01.hs
Created May 18, 2014 02:29
Read a bite from a binary file
import System.IO
import qualified Data.ByteString.Lazy as BL
import Data.Binary.Get
test_binary :: IO ()
test_binary = do
rh <- openFile "test.ppm" ReadMode
i <- BL.hGetContents rh
let d = runGet (getWord8) i
putStr $ show d
import java.util.ArrayList;
import java.util.List;
public class AssignIntegerBetweenMinAndMax {
public static void main(String[] args) {
Block block = new Block();
block.setMin(10);
@naoto-ogawa
naoto-ogawa / Grouping.java
Created March 15, 2016 13:50
Grouping Samples
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class GroupingBefore8 {
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<table id='t' border='10'>
<tr><td id='c00'>北海道</td><td id='c01'>5,400</td><tr>
<tr><td id='c10'>青森</td><td id='c11'>1,321</td></tr>
<tr><td id='c20'>岩手</td><td id='c21'>1,284</td></tr>