Situated	Program
Challenge	with	Haskell
&	Clojure
Self-introduction
	/laʒenɔʁɛ̃k/	カマイルカlagénorhynque
(defprofile lagénorhynque
:name "Kent OHASHI"
:languages [Clojure Haskell Python Scala
English français Deutsch русский]
:interests [programming language-learning mathematics]
:contributing [github.com/japan-clojurians/clojure-site-ja])
Blog	Posts
REST	server	(Haskell/Yesod)
REST	server	(Clojure/Duct)
REST	client	(Clojure	&	Haskell)
ClojurianがHaskellでWeb	API開発に⼊⾨してみた
ClojureのDuctでWeb	API開発してみた
ClojureとHaskellで簡単なコマンドラインツール
(RESTクライアント)を作ってみた
Source	Code
Haskell	version
Clojure	version
https://github.com/lagenorhynque/situated-
program-challenge/tree/hs-version1
https://github.com/lagenorhynque/situated-
program-challenge/tree/clj-version1
hs-version1
	&	Haskell Yesod
Features
type	safety
type-safe	routing	( )
type-safe	JSON	manipulation	( ,	 )
type-safe	DB/SQL	manipulation	( ,
)
metaprogramming
	(cf.	Lisp	macros)
Yesod
aeson lens
Persistent
Esqueleto
Template	Haskell
clj-version1
	&	Clojure Duct
Features
data-driven/data-oriented	approach
data-driven	architecture	( ,	 )
data-driven	routing	( )
data-driven	JSON	manipulation	(Clojure	maps
&	sequences)
data-driven	SQL	manipulation	( )
Duct Integrant
Ataraxy
Honey	SQL
Further	Reading
ClojurianがHaskellでWeb	API開発に⼊⾨してみた
ClojureのDuctでWeb	API開発してみた
ClojureとHaskellで簡単なコマンドラインツール
(RESTクライアント)を作ってみた
Haskell
Yesod
aeson
lens
Persistent
Esqueleto
Template	Haskell
Clojure
Duct
Integrant
Ataraxy
Honey	SQL

Situated Program Challenge with Haskell & Clojure