タグ

ブックマーク / liquidz.github.io (2)

  • Clojureのテンプレートエンジン「cuma」を作ったクマー

    Clojureでシンプルなテンプレートエンジンを作りました cuma: Extensible micro template engine for Clojure https://github.com/liquidz/cuma 動機†もともと、misakiなどではclostacheというテンプレートエンジンを使ってました。 これはmustacheのClojure版で、これはこれでとても素晴らしいものなのですが misaki-markdown を開発する上で 以下2つの問題にぶつかりました以下2つの問題にぶつかりました 置き換える文字列中にテンプレートの表記があると正しく置き換えられない機能拡張ができない前者については送ったpull-requestがマージされたので解消されていますが、後者についてはそもそもmustacheが Logic-less templates を謳っているので 方向性が

    Clojureのテンプレートエンジン「cuma」を作ったクマー
    nitro_idiot
    nitro_idiot 2013/04/14
    簡単に拡張できるの素晴らしい。Common Lispにも欲しい
  • Clojure1.4のReader Literalsで遊んでみた

    Clojure 1.4が出ました! 前々から話題になっていたReader Literalsが使えるようになったので ちょっと遊んでみました。 まずは下準備†基はこちらに書いてある通りです。 $ lein new myreader $ cd myreader $ vi project.clj(defproject myreader "1.0.0-SNAPSHOT" :description "FIXME: write description" :dependencies [[org.clojure/clojure "1.4.0"]]) ; 1.4.0readerの定義は src ディレクトリ直下に data_readers.clj というファイルを作り、そこに定義します。 手始めに文字列を大文字に変換するreaderを定義してみましょう。 src/data_readers.clj { up

    Clojure1.4のReader Literalsで遊んでみた
    nitro_idiot
    nitro_idiot 2012/04/17
    リードマクロ!
  • 1