タグ

ブックマーク / qiita.com/lagenorhynque (7)

  • Clojure開発環境でのフォーマッターcljstyle設定まとめ: Spacemacs, IntelliJ IDEA (Cursive), VS Code (Calva), Vim (vim-iced) - Qiita

    Clojure開発環境でのフォーマッターcljstyle設定まとめ: Spacemacs, IntelliJ IDEA (Cursive), VS Code (Calva), Vim (vim-iced)VimClojureIntelliJSpacemacsVSCode お好みのエディタ/IDEにClojure開発環境を用意したら、ぜひファイル保存時に自動実行できるフォーマッターも設定しましょう。 他言語におけるPrettierなどと同様に、ファイルを保存するたびにフォーマットできると非常に快適です。 Clojureのフォーマッターcljstyleの使い方 - TOYOKUMO Tech Blogという記事でも紹介されている、従来のcljfmtよりも高速に動作し高機能なcljstyleを利用します。 記事でもClojure開発環境での基操作まとめ: Spacemacs, Intelli

    Clojure開発環境でのフォーマッターcljstyle設定まとめ: Spacemacs, IntelliJ IDEA (Cursive), VS Code (Calva), Vim (vim-iced) - Qiita
  • Clojureのマクロとclojure.specのある未来 - Qiita

    Clojurianでラブライブ!ファン(海未🏹&曜⛵推し)のlagénorhynque (a.k.a. カマイルカ)です。 今年9月に開催された勉強会「市ヶ谷Geek★Night#14 市ヶ谷java 〜JVM言語の玉手箱〜」(通称「市ヶ谷clojure」)でSpectacular Future with clojure.specと題してclojure.specの基を紹介する発表をしましたが、そういえばマクロでの利用には触れていなかったので記事ではclojure.specとマクロの関係についてご紹介します。 clojure.specとマクロ clojure.specでは、述語(predicate)の組み合わせでデータに対する仕様を記述することができ、それを関数の引数や戻り値に対して適用すれば関数の事前条件、事後条件のチェックが可能になり、ある種の契約プログラミングが実現できる。 一般

    Clojureのマクロとclojure.specのある未来 - Qiita
  • ミニマリストのためのClojure REST API開発入門 - Qiita

    新たなプログラミング言語に入門したら、早く実用的なアプリケーションを作ってみたくなるものです(ちなみに私 lagénorhynque🐬 は最近、Elixirに入門しました)。 コミュニティの発展とともにClojureの応用領域もますます拡大していますが、定番は何よりWeb開発ということで記事では素早く最小構成的にREST APIを開発する方法を紹介します。 DuctやLuminusなどWebアプリ開発をスムーズにするための(マイクロ)フレームワークが有名なものだけでもいくつか存在しますが、今回はHTTPサーバ抽象と基的なユーティリティを提供するRingとルーティング機能を提供するbidiによるミニマルな実装を考えます。 サンプルコードはPythonライブラリFlask-RESTfulのドキュメントQuickstartの例を参考にし、敢えて名前空間を分割せず1ファイルにまとめる構成にし

    ミニマリストのためのClojure REST API開発入門 - Qiita
  • Clojure/ClojureScript関連リンク集

    Clojure/ClojureScript入門者の方の学習の参考に(もしくは布教のために)、開発環境からコミュニティまでの基的な情報をまとめてみました。 「参考」として挙げているのは個人的にオススメのブログ記事/スライドなどです。 随時更新していますが、コメントや編集リクエスト、Twitterなどで良さそうな情報源を教えていただければ反映していきます。 Clojure公式 Clojure 日語版: clojure-site-ja GitHub 参考 Rich Already Answered That!: Clojureの設計判断についてのRich Hickeyの発言まとめ matthiasn/talk-transcripts: Transcripts of Clojure-related talks: Clojure関連の有名な発表のトランスクリプト "Simple Made Eas

    Clojure/ClojureScript関連リンク集
  • ClojureとHaskellで簡単なコマンドラインツール(RESTクライアント)を作ってみた - Qiita

    昨年末のAdvent Calendarで2回に分けて紹介したsituated-program-challengeのClojure/Duct版実装とHaskell/Yesod版実装ですが、そこではもともとの課題のうちRESTサーバしか実現できていなかったため、今回新たにRESTクライアント実装についてご紹介します。 Clojure/Duct版RESTサーバ: lagenorhynque/situated-program-challenge/rest-server at clj-version1 ClojureのDuctでWeb API開発してみた - Qiita Haskell/Yesod版RESTサーバ: lagenorhynque/situated-program-challenge/rest-server at hs-version1 ClojurianがHaskellでWeb API

    ClojureとHaskellで簡単なコマンドラインツール(RESTクライアント)を作ってみた - Qiita
  • Clojureで簡単DSL構築 - Qiita

    Lispの方言のひとつであるClojureは『実践プログラミングDSL』でいうところの「コンパイル時メタプログラミング」に優れている、ということでLispマクロを活用したごく簡単な DSL(domain-specific language) を実装してみた。 基礎となるデータ構造を定義 ここでは、キャラクター(しかもschool idol限定)のプロフィールデータを管理したいという想定で Profile レコードを定義してみる。 ;; データ構造(レコード)定義 (defrecord Profile [name birthday bloodtype height favorites unfavorites cv school grade group unit]) ちなみに、Profileレコードのフィールド cv は我々の業界ではもちろん conversion(コンバージョン ※インターネ

    Clojureで簡単DSL構築 - Qiita
  • Clojureでアナフォリックマクロ(anaphoric macro)を書く - Qiita

    『On Lisp』を読んでいて出てきた「アナフォリックマクロ」(ある種の"不健全な"マクロ)をClojureでも書いてみた。 ついでに、Common LispとClojureでのマクロの「変数捕捉」についても確かめてみた。 アナフォリックマクロ(anaphoric macro; 前方照応的なマクロ)とは、通常は有害なマクロの「変数捕捉」(variable capture)を意図的に発生させることによって前方照応的なシンボル(≒ 自然言語における代名詞)を扱えるようにしたマクロのこと。 ちなみに、変数捕捉を起こしえない安全なマクロは「健全なマクロ(hygienic macro)」と呼ばれる。 マクロの変数捕捉 壊れた if-not / unlessマクロを通してマクロの変数捕捉が発生する仕組みを確認してみる。 Common Lispの場合 Common Lispで以下のようなマクロを定義した

    Clojureでアナフォリックマクロ(anaphoric macro)を書く - Qiita
    ishideo
    ishideo 2017/12/05
    [macro[qiita]
  • 1