Skip to content

Instantly share code, notes, and snippets.

{-# LANGUAGE FlexibleContexts #-}
module Data.JQ where
import Control.Applicative ( Applicative, (<$>), (<*>) )
import Control.Monad ( (>=>) )
import Control.Monad.Reader.Class
import qualified Data.Aeson as JSON
import qualified Data.Aeson.Types as JSON
import qualified Data.HashMap.Strict as HM
import Data.List ( foldl1' )
@notogawa
notogawa / Python.hs
Created June 4, 2015 15:58
Call Python interpreter from Haskell using inline-c
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import qualified Language.C.Inline as C
import Foreign.C.Types
import Foreign.C.String
C.include "python2.7/Python.h"
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances, FlexibleContexts #-}
module Flatten (flatten) where
import Control.Monad
class Flatten m x a where
flatten :: x -> m a
instance Monad m => Flatten m (m a) a where
flatten = id
-- uniqコマンド
--
-- $ agda -c -i. -i/usr/share/agda-stdlib/ uniq.agda
-- $ ./uniq
--
module uniq where
module PartialityStream where
open import IO using (IO; return; _>>=_)
@notogawa
notogawa / Dockerfile
Created November 15, 2015 13:55
example
FROM debian
MAINTAINER Noriyuki OHKAWA <[email protected]>
RUN apt-get update
RUN apt-get install --no-install-recommends -y tomcat8
ADD openam/OpenAM-12.0.0.war /var/lib/tomcat8/webapps/openam.war
EXPOSE 8080
CMD /usr/lib/jvm/default-java/bin/java \
@notogawa
notogawa / FLOPS2016.agda
Last active March 13, 2016 01:15
FLOPS 2016 Agda Tutorial, Andreas Abel
-- FLOPS 2016 Agda Tutorial
module FLOPS2016 where
-- 歴史の話
-- ALF Half Agda1 ALFA AgdaLight Agda2
-- Simply Typed Lambda Calculus
-- Checking Inference Lookup Rules
data ℕ : Set where
@notogawa
notogawa / HelloWorld.hs
Created April 19, 2016 14:14
Hello,World!
module Main where
import Network ( withSocketsDo, listenOn, PortID(PortNumber), connectTo )
import Network.Socket ( accept, send, close, recvLen )
import Control.Concurrent ( forkIO, threadDelay )
import System.IO ( hClose )
import Control.Monad ( void )
import Control.Exception ( bracket )
main :: IO ()
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE TypeInType #-}
import Data.Kind
import Data.Proxy
import Data.Singletons
import Data.Singletons.TypeLits
import Data.Type.Equality
import GHC.TypeLits
module ET where
open import Data.Maybe
open import Data.Nat
open import Data.Bool using (Bool; true)
open import Data.Product using (∃; _,_; _×_)
open import Relation.Binary.PropositionalEquality
open import Relation.Nullary using (Dec; yes; no)
data TypeRep : Set where
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE DataKinds #-}
import Data.Singletons
import Data.Singletons.Prelude.Enum
import Data.Singletons.Prelude.List
import Data.Singletons.Prelude.Num
import GHC.TypeLits