Skip to content

Instantly share code, notes, and snippets.

@mmitou
mmitou / unicode.hs
Created December 14, 2012 03:12
unicode escapeされた文字をunicodeの文字に変換する。
{-# LANGUAGE NoMonomorphismRestriction, OverloadedStrings #-}
import qualified Data.ByteString.Char8 as BS
import qualified Data.Attoparsec.ByteString as AB
import qualified Data.Attoparsec.ByteString.Char8 as AC
import Control.Applicative ((<*), (*>), (<$>), (<|>))
import Data.Conduit.Attoparsec
import Data.Conduit
import Data.Char
@mmitou
mmitou / UtilTest.java
Created December 16, 2012 07:42
Javaのユニットテストのサンプル
package waptest;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.junit.*;
import java.util.Comparator;
import java.util.List;
import java.util.Arrays;
import waptest.util.*;
@mmitou
mmitou / Bindings.hs
Last active December 10, 2015 02:58
HaskellのOpenGLチュートリアル http://www.haskell.org/haskellwiki/OpenGLTutorial2
module Bindings (idle
, display
, reshape
, keyboardMouse) where
import qualified Graphics.Rendering.OpenGL as GL
import qualified Graphics.UI.GLUT as GLUT
import Data.IORef
import Display
@mmitou
mmitou / mandelbrot.hs
Created December 25, 2012 10:53
HaskellとOpenGLでマンデルブロ集合
import Data.Complex
import Graphics.Gnuplot.Simple (linearScale)
import Control.Monad (forM_)
import Data.Maybe (isJust)
import qualified Graphics.Rendering.OpenGL as GL
import qualified Graphics.UI.GLUT as GLUT
import Data.IORef
f :: Complex Double -> Complex Double -> Complex Double
f c z = z * z + c
@mmitou
mmitou / main.hs
Created January 22, 2013 09:26
AWSで作成したインスタンス等を削除する処理
{-# LANGUAGE OverloadedStrings, ScopedTypeVariables #-}
module Main where
import Prelude hiding (catch)
import Data.Text ()
import Data.Conduit
import qualified Data.Conduit.List as CL
import Control.Applicative
import Control.Concurrent (threadDelay)
@mmitou
mmitou / IDs.hs
Created January 22, 2013 14:18
Twitterで指定したスクリーン名のユーザーのタイムラインを取得する処理
{-# LANGUAGE OverloadedStrings #-}
module Twitter.Types.IDs (
IDs
, get_ids) where
import Twitter.Types.Json
import Data.Aeson
import Control.Monad (mzero)
import Control.Applicative ((<$>), (<*>))
@mmitou
mmitou / test0.hs
Created February 9, 2013 05:54
各種オイラー法
import Graphics.Gnuplot.Simple
import Data.IORef
import Control.Monad
forwardEulerMethod :: Fractional a => (a -> a) -> Integer -> (a, a) -> [(a, a)]
forwardEulerMethod f divNum range = zip (tail xs) accums
where
xs = linearScale divNum range
ys = map f xs
dx = xs !! 1 - xs !! 0
@mmitou
mmitou / dump.c
Created February 10, 2013 09:39
文字をダンプ
#include <stdio.h>
void dump_char(const char c) {
size_t i = 0;
char buf[8] = {0};
for(i = 0; i < 8; ++i) {
buf[7-i] = ((c >> i) & 0x01);
}
for(i = 0; i < 8; ++i) {
printf("%d", buf[i]);

ghcのインストール

ここでghc-7.4.2-src.tar.bz2を落とす。

sudo yum install ncurses-devel sudo mkdir -p /usr/local/haskell/ghc/7.4.2 ./configure --prefix=/usr/local/haskell/ghc/7.4.2 make sudo make install

var jarsec = new Jarsec(" 123 ");
var x = jarsec.space().integer().many(Jarsec.space).run();
var y = jarsec.space().choice(Jarsec.character("01"), Jarsec.integer, Jarsec.return).run();
function spaces() {
this.many(spaces);
return this;
};