Skip to content

Instantly share code, notes, and snippets.

View emergent's full-sized avatar
🐈
love cats

Satoshi Yoshikawa emergent

🐈
love cats
View GitHub Profile
@oyakata
oyakata / Compose.hs
Created September 8, 2011 16:16
Haskell: 関数の合成
module Compose where
-- 合成演算子 .
-- f . g = \x -> f (g x)
twice f = f . f
compose = foldr (.) id [map (*2), filter even]
composed = twice $ compose
composed2 = twice compose
-- これだけはコンパイルが通らない。
-- 理由は、composeにリストを渡した時点でcallableでなく値になってしまうから。
@syou6162
syou6162 / clj-seq-utils.md
Created September 6, 2012 00:24
Clojureのsequence関係のユーティリティ関数のまとめ

sequence関係のユーティリティ関数で自分がよく知らないものをまとめておく。

map-indexed

昔はindexedっていうそのまんまな関数があったけど、1.3くらいからなくなっていた。今はmap-indexedっていう関数を使う。よく使うのはこんな感じの使い方。

(map-indexed #(vector %1 %2) ["a" "b" "c" "d" "e"])
; ([0 "a"] [1 "b"] [2 "c"] [3 "d"] [4 "e"])

reductions

@ponkore
ponkore / clojure-reader-macro.md
Created December 3, 2012 15:32
Clojure のリーダーマクロについて (lisp reader macro advent calendar 2012 の記事です)。

Clojure のリーダーマクロについて

この記事は、lispリーダーマクロアドベントカレンダー の4日目の記事です。 タイトルにある通り、Clojure でのリー ダーマクロについて取り扱います(対象とする Clojure のバージョンは 1.4)。

はじめに