A few weeks ago, I opened the 2011 State of Clojure survey. As with last year’s survey, my aim was to take a snapshot of the Clojure community — our origins in aggregate, how and where we are using Clojure, and what needs to improve to help the community grow and prosper. First, some facts about the survey and how it was conducted. It was available for approximately 5 days (Wednesday night throug
Resources What is Heroku? Help Customers Careers Events Podcasts Compliance Center Heroku is for Developers CTOs Team Collaboration Startups Enterprises Agencies Students See More Languages Node.js Ruby Java PHP Python Go Scala Clojure See More Latest News from the Heroku Blog Heroku Blog Find out what's new with Heroku on our blog. More news View all blog posts We're very excited to announce offi
Make sure you have leiningen installed, that way we can use the Noir template. You do not have to download anything special to use it, just run the command and leiningen will automatically fetch whatever you need! Three commands later, you've got a working website! Now let's make it do something. Noir uses Hiccup to generate HTML. Hiccup represents html elements as vectors where the first keyword
最近,暇を見つけてClojureのコンパイラを読んでいる。まだよく分かっていない部分もたくさんあるけれど,今まで読んできた中で分かったこと,特にClojureの内部で使われている "Expr" という中間形式についてまとめておく。 Expr って何? Clojureの内部では,以下のような処理が行われている。 Exprは,次のように定義されるインタフェースで,抽象構文木の各ノードを表す。 interface Expr{ Object eval() throws Exception; void emit(C context, ObjExpr objx, GeneratorAdapter gen); boolean hasJavaClass() throws Exception; Class getJavaClass() throws Exception; } 重要なのが eval と emi
JVM上で動作する言語(処理系)にはよくある話だけれど,Clojureの起動は遅い。下の結果は手元の環境で実行した場合の例。 $ repeat 5 time java clojure.main -e '(println "Hello, Clojure!")' Hello, Clojure! java clojure.main -e '(println "Hello, Clojure!")' 2.31s user 0.17s system 131% cpu 1.885 total Hello, Clojure! java clojure.main -e '(println "Hello, Clojure!")' 2.31s user 0.17s system 131% cpu 1.891 total Hello, Clojure! java clojure.main -e '(println
”ありえるえりあ勉強会〜「Lisp脳」勉強会〜”でライトニングトーク(LT)してきました。5分ほどの発表時間内で、今までやってきたEPUB関連ツールとこれから作ろうとしているEPUB生成/配信システムの説明をしました。 まずはプレゼン資料です。 前々から「そろそろ自分のEPUBに関する考えをちゃんと説明しておかないといけないな」と考えていたので、ちょうどいい機会だと思って好き勝手に話させてもらいました。アリエルさんありがとうございました! 正直言いまして、初めてのLTでUstreamで中継されている、さらに資料はその日の15時ぐらいから作り始めた、という悪いフラグ立ちまくりな中で発表したのですが、どうだったんでしょ? 発表内容はこれ以上無いぐらいシンプルに作ったので、話す内容に迷いはなかったですけども。 話した内容を思い出せる範囲で箇条書きにしておきます。 野望『みんなが書いた長い文章を
Introduction Hi, my name is Lambdebug. I can show you how a Clojure program is executed step by step. With a little trick I’ve learned from Einstein, I can even travel back in time, and show you the steps backwards. It’s easy to meet me. Ask Mr Leiningen to get me from clojars (including :dev-dependencies [[lambdebug "0.3.3"]] in your project.clj) Then just say these sentences to the REPL,
これはなに? Tetrlang は、研究の中間発表を1週間後に控えた大学院生の現実逃避によって作り出された言語テトリスにインスパイアされた言語です。 Tetrlang は以下のような特徴をもつ言語です。 各命令がテトリスのブロック(テトラミノ)によって表される 他のブロックとの境界が分かる限り、(ほとんど)どんな文字でも使うことができる 各命令は Brainf*ck の命令と同様の動作する 言語の説明 Tetrlang では、テトラミノによって命令を表します。テトラミノは隣接する4つの同じ文字から構成されます。テトラミノを構成する文字には空白文字以外の任意の文字が許されます。ソースコードを左から右、上から下という順にスキャンして、テトラミノの現れた順番で命令が実行されます。基本的に、テトラミノの(回転による)向きの違いはありません。ただし、後述するIテトラミノだけは、テトラミノの向きによっ
Clj is a Clojure REPL and package management system. It’s designed to complement the project-oriented approach of dependency management systems like Leiningen and Maven, both of which are my preferred tools for managing traditional-project dependencies. However, much of what I use Clojure for, including Incanter-based data analysis, is not really project-oriented. In these cases, it is more conven
公式にはリードマクロは使えない事になっているようだが、怪しい事をすればいけるらしい。 http://briancarper.net/blog/clojure-reader-macros そういうわけで、ヒアドキュメントを実装してみた。 (defn dispatch-reader-macro [ch fun] (let [dm (.get (doto (.getDeclaredField clojure.lang.LispReader "dispatchMacros") (.setAccessible true)) nil)] (aset dm (int ch) fun))) ; http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/lang/reflect/AccessibleObject.html (defn read-until [reade
Better performance in App Engine with new Lisp language Clojure This post is part of the Who's @ Google I/O, a series of blog posts that give a closer look at developers who'll be speaking or demoing at Google I/O. This guest post is written by Stefan Richter, founder of freiheit.com technologies and creator of TheDeadline, an intelligent to-do manager running on Google App Engine. TheDeadline wil
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く