Skip to content

Instantly share code, notes, and snippets.

import Text.Regex
type State s a = s -> (a, s)
comb :: State s a -> (a -> State s b) -> State s b
comb m k = \s -> let (x1, s') = m s in k x1 s'
comb_ :: State s a -> State s b -> State s b
comb_ m n = m `comb` \_ -> n
drop var persons;
drop var groups;
drop var assignments;
// 人
var persons base
relation { p_id integer
, p_name character
, p_gender integer
, p_age integer}
key {p_id};
persons :=
import Data.Time
import System.Locale
dayAndTime :: ZonedTime -> (Day, TimeOfDay)
dayAndTime zt = let lt = zonedTimeToLocalTime zt
day = localDay lt
time = localTimeOfDay lt
in (day, time)
day = fst . dayAndTime
import Data.Time.Calendar
data Person = P { p_id :: Int
, name :: String
, gender :: Int
, age :: Int
} deriving (Show, Eq)
data Group = G { g_id :: Int
, gname :: String
import Data.Time.Calendar
import Control.Monad
import Data.List
data Person = P { p_id :: Int
, name :: String
, gender :: Int
, age :: Int
} deriving (Show, Eq)
import Data.Time.Calendar
import Control.Monad
data Person = P { p_id :: Int
, name :: String
, gender :: Int
, age :: Int
} deriving Show
data Group = G { g_id :: Int
data Person = P { p_id :: Int
, name :: String
, gender :: Int
, age :: Int
} deriving Show
persons = [ P 1 "Tarou" 1 10
, P 2 "Hanako" 2 20
, P 3 "Jirou" 1 30
, P 4 "Saburou" 1 40]
public class Cons<A> implements IList<A> {
/**
* リストの先頭要素
*/
private A x;
/**
* リストの残りの要素
*/
private IList<A> xs; // 型変数を忘れないように!
/**
* 人
*/
var person = function(spec){
var that = {};
var toString = function(){
return spec.name + " " + spec.age.toString();
};
that.toString = toString;