10. Code is data
(defn build-request-map
"Create the request map from the HttpServletRequest object."
[^HttpServletRequest request]
{:server-port (.getServerPort request)
:server-name (.getServerName request)
:remote-addr (.getRemoteAddr request)
:uri (.getRequestURI request)
:query-string (.getQueryString request)
…
“10個のデータ型毎に使う10個の関数があるより
1個のデータ型に100個の関数があるほうがまし”
- Alan J. Perlis
11. Data as programからわかること
• “Objects are like marionette”
• データ構造を操つるメソッドが
オブジェクトにたくさん生えている
• “more refs more uncertainly”
• Rich(Clojure)の考え
• システムは,シンプルかつ
小さな部品を集めて作るべき
• 三本足の椅子の例え