タグ

ブックマーク / athos.hatenablog.com (6)

  • "Contributing to Clojure"の翻訳記事を公開しました - Homoiconic Days

    【翻訳】Clojureにコントリビュートするには - Qiita Contributing to ClojureはClojureにコントリビュートする際に必要な手続きやワークフローについてAlex Millerが説明した記事です。 元記事自体は、Clojureの開発に関する広範な情報を提供してくれていて、Clojureの開発に関わりたいと思う人にとって非常に有益な記事ですが、個人的にこの翻訳記事を公開することで特に周知したかったのは以下の2点です。 Clojureの開発はpull requestベースではない ClojureのコントリビュータにはClojure CAに署名するだけでなれる(名目上は) ClojureのリポジトリはGitHubでホスティングされてますが、PRは受けつけていません。不具合を見つけたからといって、いきなりPRを送っても見てもらえることはありません。Clojureの

    "Contributing to Clojure"の翻訳記事を公開しました - Homoiconic Days
  • ニャンパス株式会社に転職しました - Homoiconic Days

    先月で前職を辞め、今週からニャンパスで働き始めたので報告します。 前職 前職では、組込み業界で働いてました。とはいっても、組込みソフトウェアの開発自体には携わってなくて、主に組込みソフトウェア開発のための開発環境の開発をやってました。 詳しくは書きませんが、会社が求める能力・スキル・ワークライフバランスと、自分が目指したいものが違うことから転職に踏み切りました。いわゆる「音楽性の違い」というやつですね。12月半ばに最終出社を迎え、1月いっぱいまでは有休消化期間でした。 転職先:ニャンパス 2月からはニャンパスで働いています。ご存じの方もいるかもしれませんが、一昨年の秋頃にアニメ「のんのんびより」の中に出てくるセリフのおかげ?で話題にもなった会社です。 ニャンパスは、Clojureをメインの開発言語にしている日で数少ない会社で、BaaSサービスのbaasdayや、その他WebサービスをCl

    ニャンパス株式会社に転職しました - Homoiconic Days
  • tools.macroを使ってLet Over Lambdaのパンドリックマクロを実装する - Homoiconic Days

    (このエントリは Clojure Contrib Library Advent Calendar 18日目の記事です。) はじめに 今回のネタはtools.macroです。 tools.macroは,ライブラリのREADMEによれば「マクロを書くためのツール」という位置づけで,現在提供している主要な機能はmacroletとsymbol-macroletです。これらは,Common Lispの同名の特殊形式と同じように,それぞれローカルマクロとシンボルマクロを定義するのに使うことができます。Clojureは,(少なくとも現時点では)ローカルマクロやシンボルマクロを言語としてサポートしていないため,そういった機能が必要な複雑なマクロを定義する場合等にはtools.macroのマクロを使うのが便利です。 インストール 2013年12月現在のtools.macroの最新版は0.1.2です。tool

    tools.macroを使ってLet Over Lambdaのパンドリックマクロを実装する - Homoiconic Days
  • Clojure Contrib ライブラリとは - Homoiconic Days

    今年も残すところ1ヶ月となり,恒例のアドベントカレンダーの季節がやってきました。このエントリは,Clojure Contrib Library Advent Calendar 2013 の第1日目の記事です。今回は,Contribライブラリの概要について説明します。 contribライブラリとは そもそもContribライブラリとは何かというと,多くの場面で共通して使える便利な機能を提供する,Clojureの「準標準」的な位置づけのライブラリです。 Contribライブラリは,多くの点で標準ライブラリと共通する部分をもちます。たとえば,Clojure自身と同様,Contribライブラリは github.com/clojure 上でホスティングされています。また,Clojureと同じライセンスおよびCA(Contributor Agreement)で開発されていて,後々標準ライブラリへ移行す

    Clojure Contrib ライブラリとは - Homoiconic Days
  • わーい、テトリス言語 Tetrlang 完成したよー\(^o^)/ - Homoiconic Days

    これはなに? Tetrlang は、研究の中間発表を1週間後に控えた大学院生の現実逃避によって作り出された言語テトリスにインスパイアされた言語です。 Tetrlang は以下のような特徴をもつ言語です。 各命令がテトリスのブロック(テトラミノ)によって表される 他のブロックとの境界が分かる限り、(ほとんど)どんな文字でも使うことができる 各命令は Brainf*ck の命令と同様の動作する 言語の説明 Tetrlang では、テトラミノによって命令を表します。テトラミノは隣接する4つの同じ文字から構成されます。テトラミノを構成する文字には空白文字以外の任意の文字が許されます。ソースコードを左から右、上から下という順にスキャンして、テトラミノの現れた順番で命令が実行されます。基的に、テトラミノの(回転による)向きの違いはありません。ただし、後述するIテトラミノだけは、テトラミノの向きによっ

    わーい、テトリス言語 Tetrlang 完成したよー\(^o^)/ - Homoiconic Days
  • 重箱の隅的Clojureのイケてないところ - Homoiconic Days

    この記事はClojure Advent Calendar 2011 4日目の記事です。 Clojureには,シーケンスや組み込みのイミュータブルなコレクション型,STMなどエレガントだといわれる様々な特徴がある。一方で,ときにプログラマを悩ませるような厄介な挙動や不自由さを感じる制約も結構あったりする。 今回は,僕がClojureを使い始めてから2年ちょっとの間に遭遇した,そういったClojureの"イケてない"部分のうち,現在の最新バージョン(v1.3.0)でも見られるものについてまとめてみた。 ネストしたloopをうまく扱えない ClojureはJVM上で実行されるため,(今のところ)末尾呼び出しが最適化されない。末尾再帰(ループ)を使いたい場合にはloop - recurを使う。たとえば,階乗を計算する関数factはloopを使って下のように定義できる。 (defn fact [n]

    重箱の隅的Clojureのイケてないところ - Homoiconic Days
  • 1