タグ

clojureに関するir_taktのブックマーク (10)

  • IntelliJ IDEA と Cursive で始める — Clojure の日本語ガイド

    IntelliJ IDEA と Cursive で始める¶ Cursive は Clojure 開発で必要な機能、あるいはあると便利な機能を統合的に提供してくれます。 概要¶ IntelliJ IDEA という日でも人気の IDE の上で動くプラグインです。日ではあまり使用例を見かけませんが、海外では Emacs に次ぐ人気の高い開発環境となっています。 現在 Cursive は IntelliJ IDEA のプラグインとして提供されており、他の JetBrains 製品と同様にバージョン管理システムやインスペクターなどといった機能を使うことができます。 Cursive はそのほぼ全てを Clojure で書かれており、 Clojure エコシステムとの統合も非常にうまく出来ています。そして、 Cursive の開発は Cursive を使って行われているため、 Cursive は C

  • Clojure - Cheatsheet

    Clojure 1.11 Cheat Sheet (v54) Download PDF version / Source repo Many thanks to Steve Tayon for creating it and Andy Fingerhut for ongoing maintenance.

  • Clojure(ある意味)基礎文法最速マスター - Homoiconic Days

    (このエントリはLisp Advent Calendar 2012 1日目の記事です。) はじめに 2年ほど前に、「◯◯言語基礎文法最速マスター」という、それぞれの言語の基的な文法を説明したブログ記事を書くのが大流行した時期がありました。その流行り具合は、まとめ記事にまとめられた記事の数を見てもうかがい知ることができると思います(たとえば、こことか→プログラミング基礎文法最速マスターまとめ - ネットサービス研究室)。 それで、これだけたくさんの言語がカバーされてれば当然Clojureもあるだろうと思ってググってみましたが、意外にも2年経った今も「Clojure基礎文法最速マスター」はないみたいです。で、僕は入門記事みたいなのは書くのが苦手なのでやらないんですが、「Clojureの基礎文法とは何ぞや」ということを改めて考えてみました。 で、「基礎」をfoundationと考えれば、コンパ

    Clojure(ある意味)基礎文法最速マスター - Homoiconic Days
  • GPソフト Wiki - ClojureのVar

    Clojureでは、変更可能(mutable)なオブジェクトは、VarとRefとAgentとAtomの4つだけです。記事では、その中の1つ、Varオブジェクトについて整理します。 Varを作るにはdef特殊フォームを使います。defは、生成したVarオブジェクトを返します。 user=> (def foo "Hello") #'user/foo defの結果として表示された「#'user/foo」は、「userという名前空間の、fooという名前のVarオブジェクト」という意味です。 上記コードでは、fooという名前のVarを作り、値として"Hello"という文字列をバインドしています。図示すると下記のような関係になります。 点線は名付け対象を示しています。実線矢印はバインド先を指します。このように、Varオブジェクトは、何らかの値(Stringオブジェクトとか関数オブジェクトとか)を指す

    ir_takt
    ir_takt 2015/05/22
    varとかbindingとかそのへんの話
  • Clojure のエレガントなところ - hozumiの日記

    リスト、ハッシュマップ、ベクタ、集合のリテラルがある ;リスト (1 2 3 4) ;ハッシュマップ {:a 1, :b 2, :c 3} ;ベクタ [1 2 3 4] ;集合 #{1 2 3 4} よく使う基データ型のリテラルがあるというのはソースコードに図が入ってるみたいで考えるよりも早く理解できる。しかもいじりやすい。他の多くの言語でもこれらの基データ型のリテラルは用意されているが、Clojure ではこれらはとてもよく使う重要なビルディングブロック。 リスト、ハッシュマップ、ベクタ、集合、文字列 をシーケンスとして抽象化 (take 2 '(a b c d)) ;リスト ;=> (a b) (take 2 {:a 1 :b 2 :c 3 :d 4}) ;ハッシュマップ ;=> ([:a 1] [:b 2]) (take 2 [:a :b :c :d]) ;ベクタ ;=> (:a

    Clojure のエレガントなところ - hozumiの日記
  • で、次は何がくるの? - 第2回 TIS Matsuri

    4. Different cars, same road 注) Rich Hickeyのスライドに大いに煽り成分を加えてあります。要は表面的な違いしかないってことです。 ● ● ● ● 多重継承もMix-inもインタフェースも大した違 いなんてねーよ 動的型付けだろうが、静的型付けだろうが、 ダメプログラマはゴミコードを書く 文末セミコロンもインデントスタイルもブ ロックも、個人の趣味でしかないって クロージャもインナークラスも大差ないっ て。Java8ラムダに何期待してんの? http://wiki.jvmlangsummit.com/images/a/ab/HickeyJVMSummit2009.pdf

    で、次は何がくるの? - 第2回 TIS Matsuri
  • イミュータブル時代の言語としてのClojure - Qiita

    この記事はRich HickeyのClojureのコンセプトを示したリソースへのリンク集です。 このリンクを追っていけば、LISPであることやBetter Javaであることなんてものは表面的な特長に過ぎず、イミュータビリティ(とシンプルさ)こそが最大の特長であるということに気付かされます。 ClojureはOut of the Tar Pit (PDF) という論文に基づいて、状態とふるまいを分離するように言語設計されています。レースコンディションのような偶発的におこりうる問題は、状態とふるまいが一体となった混沌から生まれるのであって、これを分離してどうしても避けることの出来ない状態の管理だけ特別に扱うという考え方です。 オブジェクト指向が状態を安易に変更できてしまうのは、「状態」と「アイデンティティ」が密結合しているためです。ある2つのオブジェクトが同一かどうかは、問題領域に依存してい

    イミュータブル時代の言語としてのClojure - Qiita
  • 渋谷JVM#1 Immutable時代のプログラミング言語 Clojure

    2. 特長 ● Lisp ● 関数型プログラミングのためのもの ● 確固たるプラットフォームと共生する JVM, .NET, Javascript上でそれらの型,GC,例外機構を利用し ながら動作する ● Concurrencyのためにデザインされた http://clojure.org/rationale

    渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
  • Home - CL-TryJ

    The IT sphere, which is constantly changing and developing. New professions and directions regularly appear here, and therefore the need for experienced specialists is very high.

  • Clojure入門

    The document shows code examples of printing "Hello" greetings in different programming languages like Common Lisp, Scheme, Clojure, Ruby, and using different approaches like functions, macros. It also demonstrates basic Clojure REPL usage, loading files, documentation lookup, source viewing, and different ways to read lines from a file in Clojure.Read less

    Clojure入門
  • 1