Skip to content

Instantly share code, notes, and snippets.

{-#LANGUAGE TypeOperators, DeriveDataTypeable, NoMonomorphismRestriction, DeriveFunctor, FlexibleContexts, ScopedTypeVariables #-}
import Control.Eff
import Data.Typeable
import Control.Eff.Reader.Strict
-- | 自分より下のEffを呼び出した回数をカウントするEff。
data Step v = Step (Int -> v) deriving (Typeable, Functor)
runStep :: Eff (Step :> r) a -> Eff r (a, Int)
-- Start: 2014-36-17T03:36:33+09:00
-- End: 2014-45-17T04:45:26+09:00
import Control.Applicative
import Data.Array
import qualified Data.Set as S
import System.Environment
type Field = Array (Int, Int) Char
module ForeignTest where
import Foreign.C
foreign import ccall "print_double" c_print_double :: CDouble -> IO ()
@philopon
philopon / answer.lhs
Last active August 29, 2015 14:01
ticketgobble
62 Afghanistan Antarctica Barbados Botswana Canada Chad China Denmark Ethiopia Guam Guatemala Guernsey Kiribati Latvia Libya Liechtenstein Macao Malawi Martinique Mauritania Mauritius Montenegro Mozambique Namibia Narnia Nauru Netherlands Niger Niue Oman Palau Panama Paraguay Peru Poland Portugal Romania Rwanda Samoa Senegal Serbia Singapore Slovakia Slovenia Somalia Sudan Sweden Switzerland Tajikistan Thailand Togo Tokelau Tonga Turkey Turkmenistan Tuvalu Uganda Ukraine Uzbekistan Vanuatu Zambia Zimbabwe
ENV: haskell
POINT: 可視化
期間が被るノード同士にエッジを引いた無向グラフにおいての最大独立集合問題として
解きました。
このノード数だと相当頑張らないと(頑張っても?)解が得られないと考え、取り敢えず
可視化してみたところ、各独立頂点集合はたかだか18ノードからなる事がわかったため、
各独立頂点集合に対してDFSを行い、解を導きました。
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE ScopedTypeVariables #-}
import GHC.TypeLits
--- /Library/Frameworks/UIM.framework/Versions/Current/share/uim/skk.scm.orig 2014-07-01 05:07:16.000000000 +0900
+++ /Library/Frameworks/UIM.framework/Versions/Current/share/uim/skk.scm 2014-07-01 05:15:41.000000000 +0900
@@ -1031,6 +1031,11 @@
(skk-return-key? key key-state))
(skk-commit-raw sc key key-state)
#f)
+ ((skk-on-key? key key-state)
+ (skk-context-set-state! sc 'skk-state-direct)
+ (skk-context-set-kana-mode! sc skk-type-hiragana)
+ (rk-flush rkc)
import Data.Monoid
import Data.Char
import Text.Read
import Options.Applicative
data Mode = Foo | Bar | Baz deriving (Show, Read, Enum, Bounded)
data Options = Options
{ verbose :: Bool
, limit :: Int
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
@philopon
philopon / dep.hs
Last active August 29, 2015 14:04
{-# LANGUAGE CPP #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE OverlappingInstances #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE TypeFamilies #-}
@philopon
philopon / replicate.hs
Last active August 29, 2015 14:05
replicate of lengthed list
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE OverlappingInstances #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE StandaloneDeriving #-}