【Lisp】プログラミン ..
[2ch|▼Menu]
263:デフォルトの名無しさん
10/03/06 08:27:51
>>261
そらまぁそうだわな
>>261
> 自動変換ツール
ないだろうな。作る気もしない(clojure は lisp1, CL は lisp2)


264:デフォルトの名無しさん
10/03/06 08:58:11
Schemeからだって自動変換するようなものじゃない。
再帰の扱いや遅延評価の活用を考えると、既存のLispとは別物と考えるべき。
Clojureに乗りかえようとおもって本腰いれたけど、置き換えじゃなくて共存になった。

265:デフォルトの名無しさん
10/03/09 13:50:45
Clojure勉強しようと思って図書館から「プログラミングClojure」借りてきた。

言語の学習は当然ながら処理系が必須。Clojureをインストール。
git先端をantしてmvnして・・・swank-clojureが動かないからquackで・・・

とか、苦労して実行環境を構築(普通はサクッとできるんでしょうな(泣))。

Hello worldとかちゃんと動くぞ・・・と喜んだのも束の間。サンプルを落とさなきゃだ。

サンプルを落としてサンプルのルートでClojureを起動すると立ち上がらない(;_;)。
良く見るとサンプルにClojure本体からContribから起動スクリプトから全部ある。

普段使いのClojreとは別にサンプル専用のreplを起動するようにして学習再開 ← 今ここ

266:デフォルトの名無しさん
10/03/09 14:13:25
javaでlisp処理系って昔から割とあったけど、本格的になってきたなあ

267:デフォルトの名無しさん
10/03/10 05:52:35
abclもclojureもjavaが動けばどこでも動くのですごくうれしい
インタラクティブ環境って使っていること自体が楽しくて困る


268:デフォルトの名無しさん
10/03/10 21:11:43
前者は別にメリットとは思えないな。

269:デフォルトの名無しさん
10/03/10 22:41:55
ご自由に

270:デフォルトの名無しさん
10/03/11 00:21:26
CLISP も割とどこでも動くからな…
Clozure CL も現実的によく使われている環境はカバーしてるし

ブラウザ上で動かしたいとか、PaaS みたいなのだとまた変わってくるけど

271:デフォルトの名無しさん
10/03/11 00:47:13
>>268,270
LTK無くてもwindowを扱えるのでちょろっとしたツール作るのにも向いてる
ThreadもWindow操作もunixとMSwinとmacの間で書き換えが必要ないってだけで嬉しい

他にこれ満たしてくれるのACLしかないような気がする



272:デフォルトの名無しさん
10/03/11 01:03:40
GUI はそうだね。SDL や OpenGL を使っても限界があるし。
スレッドは Clozure CL でも行けると思う。

273:デフォルトの名無しさん
10/03/27 19:26:48
リッチなUI(透過や非矩形ウィンドウ)を取り扱うのってclojureできるのかな?
swingとかは無理そうで、JavaFXだと手軽にできるみたいなんだけど
clojureはjavaFX扱えるんだろうか?


274:デフォルトの名無しさん
10/03/27 21:28:06
SunのJavaVM限定だけど、Java側の機能を呼べばできるんでないかな?
URLリンク(java.sun.com)

275:デフォルトの名無しさん
10/03/28 19:33:52
clojure.contrib.duck-streams すげー。

(read-lines "URLリンク(www.2ch.net)")
って書くだけでhtml引っ張ってきてくれる。びっくりですよ。

276:デフォルトの名無しさん
10/03/28 19:58:38
>>275
しらんかった
HTTPリクエストまじめに書いちゃった
読み出しをduck-streamで

orz


277:デフォルトの名無しさん
10/03/28 21:35:20
phpのfile_get_contentsみたいなもんか。

細かいこともできるのはいいね。>>276 頑張れw


278:デフォルトの名無しさん
10/03/29 09:41:32
>>277
手探りでしたいことから探していくと上位機能の存在しらないままいたりするからねぇ
一度contribのソースとコメントに目をとおしたほうがよくないかな>>276


279:デフォルトの名無しさん
10/03/29 16:53:40
contribどころかclojure.coreのコードも見てないぜっ

280:デフォルトの名無しさん
10/03/29 20:48:37
duck-streamは、clojure-contrib-1.1.0のapiドキュメントの方に載ってますた

281:デフォルトの名無しさん
10/04/08 22:57:23
URLリンク(www.viksit.com)

clojure-1.2.0-snapshot 来てるのか?

282:(u_・y) ◆e6.oHu1j.o
10/04/12 03:03:41
>>275
は!?なにがすごいの?
read-lines関数に与えられた文字列がURLだったらそれ用の処理してるだけじゃん???
こんな事は大昔から誰かがやってたであろう事だし
clojureが出来るんじゃなくて
clojure「でも」出来るようになってるってだけのことじゃん
このclojureスレ興ざめなんだけど
たったその程度でclojure褒めたたえるのやめてよね

283:デフォルトの名無しさん
10/04/12 07:45:17
それ用の処理を標準に組み込んだところを評価してるんじゃね

284:デフォルトの名無しさん
10/04/12 14:23:26
>>282
clojureが凄いんじゃなくて、clojure.contrib.duck-streamsが凄いんでしょ。

それも、言語的に凄い・・・とかじゃなくて、使えば凄く楽ができる・・・って感じでは?

285:デフォルトの名無しさん
10/04/12 14:24:53
socketさえあればそんな糞ライブラリすぐ作れるだろ。
libcurlくらいの機能があるものならともかく。

286:デフォルトの名無しさん
10/04/13 00:45:23
貴殿のコミットをお待ち申しあげます

287:デフォルトの名無しさん
10/04/14 17:32:47
あて先はこちら

288:デフォルトの名無しさん
10/04/20 20:23:19
ファイルの読み書きはJavaのクラス利用するの?それともclojureのライブラリにそれ系の関数群がある?

289:デフォルトの名無しさん
10/04/20 21:52:54
Javaのクラスをそのまま使ってるコードはよく見かける。

290:デフォルトの名無しさん
10/04/20 22:03:45
>>288
with-out-writerとか

291:デフォルトの名無しさん
10/04/20 22:59:45
>>288
URLリンク(lethain.com)

292:デフォルトの名無しさん
10/04/22 10:41:34
masterと1.1.xってどっちのが新しいのかわからん

293:デフォルトの名無しさん
10/04/22 11:46:33
1.1.xは、12/31で止まってる
masterが、svnのtrunk的な扱いになってるようだ。

樹形図的なやつ
URLリンク(github.com)

294:デフォルトの名無しさん
10/04/22 11:57:36
分からない人は
URLリンク(code.google.com)
ここのを使っとくのがいいかと。

295:デフォルトの名無しさん
10/04/22 16:48:30
>>293
そうするとduck-streamsはどこにいっちゃったん?


296:デフォルトの名無しさん
10/04/23 00:36:39
contribになければ、まだないということ。

297:デフォルトの名無しさん
10/04/23 22:45:30
間違えて消えたのか、元を間違えたのか・・・

テスト系には、requireにclojure.contrib.duck-streams残ってるよー

298:デフォルトの名無しさん
10/04/24 23:54:12
URLリンク(groups.google.com)

> It sounds like you're using a 1.2 pre-release snapshot build of
> clojure-contrib. There's currently some refactoring going on to better
> organize contrib, now that it's a little more mature. Most of
> clojure.contrib.duck-streams has now become clojure.contrib.io.

なんと

299:デフォルトの名無しさん
10/04/24 23:58:56
richhickey-clojure-15a2b2e\src\clj\clojure\test.clj(196): clojure.contrib.duck-streams/writer.
richhickey-clojure-15a2b2e\src\clj\clojure\test\junit.clj(35): clojure.contrib.duck-streams/writer)."
richhickey-clojure-contrib-af2a730\clojurescript\src\clojure\contrib\clojurescript.clj(14): (:require [clojure.contrib.duck-streams :as ds]))
richhickey-clojure-contrib-af2a730\clojurescript\src\clojure\contrib\clojurescript\applet.clj(17): (:require [clojure.contrib.duck-streams :as ds]))
richhickey-clojure-contrib-af2a730\clojurescript\src\clojure\contrib\clojurescript\cli.clj(16): (:require [clojure.contrib.duck-streams :as ds]))

clojure/testとclojure/contrib/clojurescriptだけ、手が回ってないのかな。

300:デフォルトの名無しさん
10/04/25 00:04:52
richhickey-clojure-contrib-af2a730\src\main\clojure\clojure\contrib\io.clj

1行目:
;;; duck_streams.clj -- duck-typed I/O streams for Clojure

;; CHANGE LOG
;;
;; May 13, 2009: added functions to open writers for appending

48行目:
(ns
#^{:author "Stuart Sierra",
:doc "This file defines \"duck-typed\" I/O utility functions for Clojure.

いろいろ、そのままだった。

301:デフォルトの名無しさん
10/04/25 00:12:24
masterのclojure.contrib.duck-streamsについて、
二月にも質問があるけど、この時は違う意味に扱われてたのかな?

googleグループの方から探すのメンドかったので、検索結果のリンク
URLリンク(www.mail-archive.com)

302:デフォルトの名無しさん
10/04/25 00:15:01
最後のは、勘違いのような気がしてきたので、スルーしてくだしあ・・・orz

303:デフォルトの名無しさん
10/04/29 13:46:58
Scalaがにぎわってるみたいだけど、こっちも盛り上がって欲しいね

304:デフォルトの名無しさん
10/04/29 17:03:48
そういや、Planet Clojure( URLリンク(planet.clojure.in) )って、インド発なんだよな?
> 「Planet 言語名」で、ニュース集約サイト

Incanter( URLリンク(incanter.org) )の開発ログが、多いのが目につくけど。
> Incanter (ClojureベースのRライクな統計計算とビジュアライゼーションプラットフォーム)



305:デフォルトの名無しさん
10/04/29 17:10:41
Rich Hickey氏のスライドだけ公開されてるのかと思ったら、
解説付き(英語)があったんだ・・・

ファイル置場
URLリンク(groups.google.com)
Clojure on blip.tv
URLリンク(clojure.blip.tv)


306:デフォルトの名無しさん
10/04/29 17:28:40
Full Disclojureという、解説ビデオ(英語)シリーズは、5分ぐらいづつで編集されてた。
URLリンク(github.com)

URLリンク(vimeo.com)
URLリンク(vimeo.com) 古い順

Clojure界隈に参加してるひとも英語圏では、解説関係はかなり熱心だよね。


ErlangOTPや、(Scala)Akka、(Java)Teraccotaみたいなエンタープライズ環境を銘打ったものは、
もとから取り込んでる部分も多いせいかあまり見かけないけど・・。

307:デフォルトの名無しさん
10/05/15 15:46:17
SNAPSHOTは URLリンク(build.clojure.org) に置いてありました・・・
URLリンク(build.clojure.org) clojure-1.2.0-master-20100507.230258-69.jar
URLリンク(build.clojure.org) clojure-contrib-1.2.0-SNAPSHOT.jar


308:デフォルトの名無しさん
10/05/15 15:49:19
URLリンク(build.clojure.org)
URLリンク(build.clojure.org)

こっちからだと、名前が変わらない最新版っぽい

309:デフォルトの名無しさん
10/05/15 15:50:58
リリース1.2.0の開発状況?
URLリンク(www.assembla.com)

githubのmasterから持ってきてビルドするときは、
clojure が、 ant
clojure-contrib が、 mvn package -Dmaven.test.skip=true

テストするには、
clojure が、 ant test
clojure-contrib が、 mvn test

でした。

310:デフォルトの名無しさん
10/05/15 15:53:21
1.2.0向けのwikiの草稿?
URLリンク(www.assembla.com)


311:デフォルトの名無しさん
10/05/15 16:09:39
duckstreamでhttpdアクセスすると遅いのだけど何が起きてるんだろう
(time (read-lines "URLリンク(localhost)"))
500msとか消費する


312:デフォルトの名無しさん
10/05/15 23:57:15
clojure-1.1.0 WinXP
(time (def x (read-lines "URLリンク(goo.ne.jp)")))
(time (def x (read-lines "URLリンク(labs.goo.ne.jp)")))
(time (def x (read-lines "URLリンク(goo.ne.jp)")))
(time (def x (read-lines "file:C:/.rnd")))
(time (def x (read-lines "file:C:/WINDOWS/system32/shell32.dll")))

0KB  17ms (16ms:Firebug)
5KB  17ms (15ms:Firebug)
16KB 100ms (63ms:Firebug)
1KB  0.5ms
8MB  8.9ms

こんな感じだった。
URLリンク(localhost)で、FireFoxのFireBugアドオンで接続を確認してみたらいいかも。

313:デフォルトの名無しさん
10/05/16 00:50:25
>>312
slime経由だからって訳じゃないと思う、wgetをwindowsの環境で実行しても此処まで遅くなかったんでちょっと原因がわからなくて
>>312のように普通の結果が得られてるって事は自分の環境がおかしいって事だと思うので別の視点から調査してみるよ

ものすごく感謝してる


314:デフォルトの名無しさん
10/05/21 15:19:55
ドット対ってどうやって作るの?
(cons 'a 'b)
がエラーになるんだが。


315:デフォルトの名無しさん
10/05/21 15:37:13
(cons 'a '(b))

316:デフォルトの名無しさん
10/05/21 15:52:42
ドット対などありゃあせん

317:デフォルトの名無しさん
10/05/24 22:19:30
listでないconsが作れないのと、car,cdrがないのが寂しい。
firstとrestは文字数が違うのが気にいらない。

318:デフォルトの名無しさん
10/05/27 22:39:55
1.2の目玉機能は何?

319:デフォルトの名無しさん
10/05/27 22:47:22
1.2 が出ることです。:-p

320:デフォルトの名無しさん
10/05/28 01:10:51
URLリンク(www.fogus.me)
URLリンク(www.slideshare.net)

1月での1.2予想は、こんな感じだった。

・ reify
・ deftype
・ defprotocol

・ Fine-grained locals clearing
・ Agent error handlers


321:デフォルトの名無しさん
10/05/28 01:23:21
URLリンク(www.assembla.com)
開発サイトのwikiに1.2(以降?)の追加要素がリストされてた。


322:デフォルトの名無しさん
10/05/28 01:34:21
導入するのはこれみたい
URLリンク(clojure.org)
URLリンク(clojure.org)

323:デフォルトの名無しさん
10/05/28 11:48:29
protocols ってなんぞ。

324:デフォルトの名無しさん
10/05/29 00:42:50
JAVAでいう(実装と分離するための)インターフェースの代わりにつかえて、
動的に対応するインターフェースを生成するらしい。

あとから拡張できるらしい?
余計にわからんな。


325:デフォルトの名無しさん
10/05/29 00:49:35
誤訳かもしれんが、
追加する主な動機は、Clojureで書いたClojureコンパイラをClojureでリーズナブルに
コンパイルするのに何が必要かを考えていて、高速で自前のデータ型を操作できるような
機構を追加しようということらしい。




326:デフォルトの名無しさん
10/05/30 00:22:09
なるほど。わからん。

327:デフォルトの名無しさん
10/05/30 01:07:37
名前からすると Objective-C の protocol に近いものだろうか

328:デフォルトの名無しさん
10/06/01 20:16:52
型的にはtraitsのような機能で、
ディスパッチの実装を抽象化するために作られた。
ということみたい。かなり実装指向の機能。


329:デフォルトの名無しさん
10/06/07 07:11:53
clojureで日付を扱いたいと思ってます。

それで
(def dates
'((4 (1 2 30))
(5 (1))))

こんなのを用意して

(make-days dates) -> ((2010 4 1) (2010 4 2) (2010 4 30) (2010 5 1))

このように出力する関数を作りたいんですが

(defn make-days (map #(interleave (repeat 2010) (repeat (first %)) (last %)) dates))
と定義すると
(make-days dates) -> ((2010 4 1 2010 4 2 2010 4 30) (2010 5 1))
となってしまい、ここで詰まってしまいました。
うまく整形する、又はもっとうまい方法はないでしょうか?
初心者的な質問で申し訳ありませんがお願いします。

clojureで日付を扱う人ってどうしてるんでしょう。
java.util.GregorianCalendar使うのが一般的なんですかね。



330:デフォルトの名無しさん
10/06/07 12:42:36
(defn make-days [date-list] (mapcat (fn [e] (map #(list 2010 (first e) %) (second e))) date-list))

(defn make-days [date-list] (mapcat #(map list (repeat 2010) (repeat (first %)) (second %)) date-list))

331:デフォルトの名無しさん
10/06/07 16:29:55
Practical Clojure (英語)がでてました。 2010/5/26
Googleブックスのプレビューもあるよ。
URLリンク(apress.com)

Joy of Clojureは、そろそろ、ファイナルレビューだとあった。
URLリンク(joyofclojure.com)
URLリンク(www.manning.com)

332:デフォルトの名無しさん
10/06/07 16:30:03
今年中に1.2が出るとして、コードが動かなくなるのは、
githubから落としてtestが通らなかった
contrib.duck-type (ioに移動)ぐらいかな。

333:デフォルトの名無しさん
10/06/07 16:53:55
Try Clojure
URLリンク(try-clojure.org)

グローバルIP上でWebサービスを作ってみたいならStax.netで出来るようだ。
URLリンク(stax.net)

URLリンク(developer.stax.net)
URLリンク(wiki.stax.net)
URLリンク(en.wikibooks.org)

URLリンク(wiki.stax.net)

334:デフォルトの名無しさん
10/06/07 23:22:21
>>330
すいません。どうもありがとうございました!シーケンス関数についてもっとよく勉強します。

335:デフォルトの名無しさん
10/06/07 23:38:39
>>332
名前空間の移動だけならAliasとかサポートしてほしかったりとか思うんだけどそういうものじゃないのかな?



336:デフォルトの名無しさん
10/06/09 14:06:33
Results from the State of Clojure, Summer 2010 Survey
URLリンク(muckandbrass.com)

planet clojure経由でみたけど、
「clojureユーザーに聞きました」のアンケート結果がおもしろかった。
IDE、Clojureがなくなったら、一緒に何をつかってる、どのぐらい・どのレベルで何に使ってるとか。

337:デフォルトの名無しさん
10/06/09 14:45:46
「wordpress(php)からclojureにblogをうつしてみた」というのがあった。
毎回作成から生成キャッシュに変えたのもあるみたいだから、主な速度の向上の理由かもしれない。

URLリンク(www.bestinclass.dk)
URLリンク(www.bestinclass.dk)

338:デフォルトの名無しさん
10/06/13 20:38:32
clj-ds Clojure data structure for Java
URLリンク(groups.google.com)

Clojureランタイム呼び出し分の遅延がない、JVM上の他言語供用向けな永続データ構造?

339:デフォルトの名無しさん
10/06/13 20:43:24
URLリンク(blog.higher-order.net)

コメントにあったけど、java向けのPersistent Java Collectionsは、すでにあるのか。
URLリンク(code.google.com)


340:デフォルトの名無しさん
10/06/18 09:47:07
安全な並行処理を売りとしてる割には、
並行処理自身の仕組みが乏しいように見受けられますが、どう実装するのがよいでしょうか?

例えばconsumer-workerパターンのような処理をする場合は
agentを使うのとjava.util.concurrentを使うのと、どっちがよいか、です。

341:デフォルトの名無しさん
10/06/18 22:18:26
URLリンク(clojure.org)

342:デフォルトの名無しさん
10/06/19 01:06:30
URLリンク(www.assembla.com)

Primitive Supportというのでgithubにブランチがいっぱいあるらしい?

BigInt fibで話題になってたやつ?(ただし、Scalaだったような気がする)

343:デフォルトの名無しさん
10/06/19 19:51:54
URLリンク(1978th.net)
ひょっとすると、Clojureを実用的に使ってる方がいるようです。

344:デフォルトの名無しさん
10/06/19 22:17:38
>>340
分かりやすい日本語のスライドがありました。Var/Ref/Atom/Agentの比較表もありました(41p)。
Clojureの言語には、プロセス内の並列機構しかないようだ。
プロセス内で処理するなら、Ref(p.13-)とかでいいんじゃないだろうか。
ここら辺は、RDBみたいな機能だけど、本物が欲しければRDB使えとか。
(略)Clojure並行処理 URLリンク(www.slideshare.net)
Clojure入門 URLリンク(www.slideshare.net)

StuartHalloway作のスライド (比較表の別バージョンがあるる)
URLリンク(github.com)
Rich Hickey作のスライド (pdfのやつ)
URLリンク(groups.google.com)

じっくり読むんだったら、プログラミングClojureを確認したほうが、分かりやすいんじゃないかな。

345:デフォルトの名無しさん
10/06/20 20:14:49
>>330 はポイントフリーで
(def make-days (partial mapcat #(map (conj [2010 (first %)]) (second %))))
のように書いた方が良いのだろうか。

346:名無しさん@そうだ選挙に行こう
10/07/11 12:56:18
VimClojure、始めからかもしれないけど、
evalしたり出来るようになってるのか?
バックグランドでclojure立上げて評価するソースが組み込まれてる。
URLリンク(kotka.de)

347:名無しさん@そうだ選挙に行こう
10/07/11 17:03:43
lisp系つかうのはslime@emacsって決めてるからなぁ、いまさらvi系覚えるの辛い

;;決めたのはもちろんスライムに服を溶かされるヨーコさんのbastered!が原因だ!


348:デフォルトの名無しさん
10/07/13 06:52:48
いやっほ〜い

349:デフォルトの名無しさん
10/07/15 13:32:06
clojure 1.2 Beta 1
URLリンク(clojure.org)

βきたー


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5107日前に更新/81 KB
担当:undef