[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/26 12:58 / Filesize : 286 KB / Number-of Response : 995
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

CommonLisp Scheme Part11



1 名前:デフォルトの名無しさん mailto:sage [04/08/02 23:13]
過去スレ
Part1: piza2.2ch.net/tech/kako/987/987169286.html
Part2: pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part3: pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part4: pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part5: pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part6: pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part7: ruku.qp.tc/dat2ch/0311/20/1042167213.html
Part8: pc2.2ch.net/tech/kako/1058/10582/1058263391.html
Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/
Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/

関連リンクは>>2-10あたり


930 名前:デフォルトの名無しさん [04/11/03 16:41:01]
「計算機プログラムの構造と解釈」(和訳版)を読んでいるのですが、
1.2.4 べき乗の説明で、fast-exptの増加の程度は(p25の注釈37によると)
「2を底とするnの対数に、nの2進表現での1の数を足して1を引いたもの」
と説明があります。
この説明中の 『nの2進表現での1の数』 とはどのような数なのでしょうか?


931 名前:デフォルトの名無しさん mailto:sage [04/11/03 16:46:36]
1 less than the log base 2 of n plus the number of ones in the binary representation of n.

932 名前:デフォルトの名無しさん mailto:sage [04/11/03 16:51:49]
>>914
とりあえずevaluate作ってみたよん。
手元にLispがないからSchemeになってまふ。
オペランドは2つに固定ね(美しくないけど解りやすいから)

(define *operator* `((+ . ,+) (- . ,-) (* . ,*) (expt . ,expt)))

(define evaluate-1
(lambda (op opr1 opr2 a b)
(apply (cdr (assoc op *operator*))
(list
(cond
((eq? opr1 'x) a)
((eq? opr1 'y) b)
(else opr1))
(cond
((eq? opr2 'x) a)
((eq? opr2 'y) b)
(else opr2))))))


(define evaluate
(lambda (expression a b)
(let ((op (car expression))
(opr1 (cadr expression))
(opr2 (caddr expression)))
(evaluate-1 op (if (pair? opr1) (evaluate opr1 a b) opr1) (if (pair? opr2) (evaluate opr2 a b) opr2) a b))))

; (evaluate '(+ 4.1 (- y (* x 2.1))) 2.3 3.3) -> 2.5699999999999994


933 名前:デフォルトの名無しさん mailto:sage [04/11/03 16:58:56]
>>930
ビットが立っている数だろ?
100101(2) ⇒ 3


934 名前:デフォルトの名無しさん mailto:sage [04/11/03 17:46:27]
残りのmutateだよん

(define mutate-operator
(lambda ()
(let ((r (random 100)))
(cond ((< r 30) '+) ((< r 60) '-) ((< r 90) '*) (else 'expt)))))

(define mutate-operand
(lambda (operand)
(let ((r1 (random 100))
(r2 (random 100)))
(cond
((or (< r1 60) (null? operand))
(cond ((< r2 20) 'x) ((< r2 40) 'y) (else (random 1.0))))
(else (list (mutate-operator) operand (mutate-operand '())))))))


935 名前:934 mailto:sage [04/11/03 17:47:01]
(define mutate
(lambda (expression)
(let ((op (car expression))
(opr1 (cadr expression))
(opr2 (caddr expression))
(r (random 100)))
(cond
((< r 20)
(list (mutate-operator)
(if (pair? opr1) (mutate opr1) opr1)
(if (pair? opr2) (mutate opr2) opr2)))
((< r 60)
(list op
(if (pair? opr1) (mutate opr1) (mutate-operand opr1))
(if (pair? opr2) (mutate opr2) opr2)))
(else
(list op
(if (pair? opr1) (mutate opr1) opr1)
(if (pair? opr2) (mutate opr2) (mutate-operand opr2))))))))
; (mutate (mutate (mutate (mutate '(* (+ x y) (- x y)) )))) --> (+ (* 0.8420 0.1857) (- (+ x x) 0.9704))
>20% the operator will colapse into an operand according to rule 1
これの意味は不明なのでいれてないよん。

936 名前:デフォルトの名無しさん mailto:sage [04/11/03 18:40:25]
(list (mutate-operator)
(if (pair? opr1) (mutate opr1) opr1)
(if (pair? opr2) (mutate opr2) opr2)))
とかって
(list (mutate-operator) opr1 opr2))
にすると思ってた。

937 名前:デフォルトの名無しさん mailto:sage [04/11/03 21:10:25]
>>930,931
原文はなんてことないのに日本語訳だとわかりにくいですねえ。



938 名前:デフォルトの名無しさん mailto:sage [04/11/04 05:18:57]
みんなえらいな
助け合いってのが心に染みたよ




939 名前:デフォルトの名無しさん mailto:sage [04/11/04 12:24:08]
>>935
>20% the operator will colapse into an operand according to rule 1

そのoperatorを含む式が一つのoperand(x,y,定数のどれか)になる
ってのが対称的で美しい気がする。

operandがexpressionになるって規則もあるしね。


940 名前:flatline@Vim%Chalice ◆r6EONKKhcc mailto:sage [04/11/05 04:17:47]
おはようございます.
On Lispの邦訳がとりあえず第25章まで終りました.ご賞味下さい.
っ [ ttp://user.ecc.u-tokyo.ac.jp/~g340299/onlisp_j.pdf ]
あとパッケージについてのappendixが残っているのと,全体的な訳の見直し,注の整備,
見栄えの向上,HTMLやtexinfoへの変換(←やるかどうか怪しい)ですかね...

なお↑のサイトは私が来年4月に工学部に進学してまもなくすると
(移行措置も何もなく)一夜にして移転しますんで,ミラー置いておきますね.
っ [ ttp://www.komaba.utmc.or.jp/~flatline/onlisp_j.pdf ]
まだ工学部生としての学生証番号が決まってないので,
移転先がどういうアドレスになるかはまだ不明です.

941 名前:デフォルトの名無しさん mailto:sage [04/11/05 04:22:09]
>>940
すげーな。一人でやってるのか?これってどのぐらい時間かけてるの?
一日何分ぐらいやってる?


942 名前:デフォルトの名無しさん mailto:sage [04/11/05 04:34:13]
flatlineさんおつかれ。よくやったね。
後で印刷して、ありがたく読ませてもらうよ。

943 名前:デフォルトの名無しさん mailto:sage [04/11/05 05:27:24]
お疲れさまです。早速読んでみます。

944 名前:デフォルトの名無しさん mailto:'sage' [04/11/05 06:56:20]
>>940
おつかれさま!
texinfoホスイ


945 名前:flatline@Vim%Chalice ◆r6EONKKhcc mailto:sage [04/11/05 07:16:48]
>>941 メインは私ですが様々な方からいただいた指摘を取り込んであります.
かかった期間は2年弱. 数日にいっぺん,1,2時間ずつやってたかな?
;; 自分で本を書くのに比べれば微々たる労力,とも言えますが...

>>942 Appendixがないのと,誤訳が残ってそうなのは覚悟しといてください.
紙にしちゃうと読みやすいけど更新に追随し辛いですよね. 今後はChangeLogでもつけようかな?
あと,印刷するには余白が狭過ぎかもしれません... いずれ直します.

>>943 どうもです.何か気付いたら教えてください.

946 名前:flatline@Vim%Chalice ◆r6EONKKhcc mailto:sage [04/11/05 07:21:03]
>>944 モウチト待ッテ (´Д`;)

947 名前:デフォルトの名無しさん mailto:sage [04/11/05 07:22:26]
>>flatline
乙!喜んで読ませてもらう!

948 名前:デフォルトの名無しさん mailto:sage [04/11/05 13:39:53]
恭一また臭いこといってんな



949 名前:デフォルトの名無しさん mailto:sage [04/11/05 13:40:55]
ごめん誤爆した

950 名前:デフォルトの名無しさん mailto:sage [04/11/06 07:29:32]
そういえばgaucheのMinGWへのポートは結局どうなったの?


951 名前:デフォルトの名無しさん mailto:sage [04/11/07 04:12:29]
みなさんedってつかってますか?
clispでedをディスアセンブルしてメモ帳以外のエディタを使おうと思ったのですが、うまくいかないですよ。

952 名前:ミミ mailto:sage [04/11/07 04:20:14]
>>951
ディスアセンブル?
EDITOR 環境変数を変更するか、*EDITOR* グローバル変数を変更すればいいと思うんだけど。

953 名前:デフォルトの名無しさん mailto:sage [04/11/07 10:14:15]
Scheme入門(数学ネタ
ttp://www.altum.jp/math/exp2a/
なかなか面白いので晒しage

954 名前:デフォルトの名無しさん mailto:sage [04/11/07 20:16:45]
たぶん大学のサーバーに置いてあったころに見たな。

955 名前:デフォルトの名無しさん mailto:sage [04/11/07 22:58:11]
Gaucheでpsd使われてる方いますか?

956 名前:デフォルトの名無しさん mailto:sage [04/11/08 23:31:11]
LisperはGUI組む必要があるときどうしてますか?
CLIMはACLだと別売りみたいだし、LispWorksのドキュメント見るとobsolete扱いで
CAPI使え、みたいなこと書いてあるんで何がデファクトなのかよ〜わからん。
ウェブアプリケーションにしちゃうもん?

957 名前:デフォルトの名無しさん mailto:sage [04/11/08 23:34:59]
GUIイラネ

958 名前:デフォルトの名無しさん mailto:sage [04/11/08 23:42:19]
ですね



959 名前:956 mailto:sage [04/11/08 23:55:59]
GUIイラネ、で済めばいいんだけどさ(実際漏れもEmacsからほとんど外に出ないし)、
仕事でLisp使ってブツを作り上げておっさん連中にデモ・プレゼンするとき困らない?
Emacsのバッファで作業してるの見せてもおっさんには説得力ないんだよね
(でも予算の使い道の決定権を握ってるのは奴らだ)。
折角何の前例もないところにLispを使うという無茶を通して邪魔されないで済んでるので
できれば余計な横槍を入れられないように防衛線を張っておきたいのでし。

個人で使って自己満足してるだけならこんなこと気にする必要もないんだけどね。

960 名前:デフォルトの名無しさん mailto:sage [04/11/09 00:36:08]
>>959
>>15なんていうのはあるけれど。

961 名前:デフォルトの名無しさん mailto:sage [04/11/09 01:00:53]
ウェブアプリにできるような物ならウェブアプリでいいんじゃない?

962 名前:デフォルトの名無しさん mailto:sage [04/11/09 01:26:18]
>>952 *editor*変えたらうまくいきました。今まで何やってたんだ俺…

GUIかどうかは微妙だが、xyzzyでヒルベルト曲線を書くデモを見たときはちょっとビビった。

963 名前:デフォルトの名無しさん mailto:sage [04/11/09 02:07:40]
>>956
WWWアプリが一番楽なアプローチだけど
それができなきゃ自分でGUIライブラリのbindingsを書くしか。


964 名前:956 mailto:sage [04/11/09 02:16:38]
やはりウェブアプリに落ち着いちゃいますか。もしくはFFIで外界と接続する、と。
そのわりには307にレスつけてる人が少ないのを見ると、Lisperは必要なモノは自分で
自作しちゃうのかなぁ、やっぱり。

965 名前:デフォルトの名無しさん mailto:sage [04/11/09 03:04:01]
>>956-964
つまりLispはVisualBasicやVisualC++のかわりにはなりえないっていう結論になるの?


966 名前:デフォルトの名無しさん mailto:sage [04/11/09 03:17:04]
   ∩___∩   ?     
   | ノ\     ヽ        |
  /  ●゛  ● | ?      |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |   
/     ∩ノ ⊃  ヽ  
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /

967 名前:デフォルトの名無しさん mailto:sage [04/11/09 03:20:16]
>>964
自作しちゃうので世に出てこなくてコミュニティが発展しないってのは
Lisperたちの問題としてよくでてくるよね。

>>965
(よくいる)Lisperのそういう作り込みを基本的に必要としてないってことかなぁ。
でも、垣根を下げるためには、そういう作り込みって重要よね。



968 名前:デフォルトの名無しさん mailto:sage [04/11/09 07:37:35]
動きが必要なら比較的良く使うのは OpenGL バインディングかなぁ…
ショボくていいなら Tk インターフェースを良く使う.でも最近だと Web で
DHTML つかうのがお手軽かもしれん.
プレゼン資料ならデータを他のツールで可視化(GNU Plot とか GraphViz とか)
よくやるなぁ.




969 名前:デフォルトの名無しさん mailto:sage [04/11/09 09:36:00]
>>967
逆だよ。
ブラックボックスはダメ。

970 名前:デフォルトの名無しさん mailto:sage [04/11/09 14:57:42]
仕様が公開されてればブラックボックスだろうが別にかまわないが

971 名前:デフォルトの名無しさん mailto:sage [04/11/09 21:44:48]
出来が良けりゃブラックボックスで良い
糞コードしか書けない奴はブラックボックスじゃなくてもいいけどな

972 名前:デフォルトの名無しさん mailto:sage [04/11/10 00:27:55]
Dr.Schemeはいかがでしょう?

973 名前:デフォルトの名無しさん mailto:sage [04/11/10 22:22:02]
なんかハリボテ感が強い>Dr
もうちょっとスマートにまとまらないのかな
GUIも独自とかじゃなくてScheme/tkとかwxSchemeとか

974 名前:デフォルトの名無しさん mailto:sage [04/11/11 02:23:40]
widestudioなんかは既にたくさんのOSと言語に対応している状態なんだから、
比較的楽にlispにも対応できる柔軟性を持ってそうに思えるんだけど、どうなんですかねぇ?


975 名前:デフォルトの名無しさん mailto:sage [04/11/11 09:38:49]
シェルスクリプトで書かれたLISPインタプリタとかってありますか?

976 名前:デフォルトの名無しさん [04/11/11 11:19:58]
>>975
シェルは分かりませんが、awk ならあります。
awklisp っってヤツね。
>>7 を見てね。


977 名前:デフォルトの名無しさん mailto:sage [04/11/11 12:02:28]
>>976
あ、これなかなか面白いです。どうもです。

978 名前:デフォルトの名無しさん mailto:sage [04/11/11 12:35:13]
ECLってどうですか? 使ってる人いますか?



979 名前:デフォルトの名無しさん mailto:sage [04/11/12 02:17:34]
scheme処理系では一般的に日本語(というかSHIFT-JIS)の扱いってどうしているんでしょうか。
SRFIで定義しているようなやつはCとかで書くのか、
それとも他のASCIIを扱う関数から定義しているものなのか…。
実際にSJIS使ったサンプルとかもあれば…。SRFIでは良くわかりませんでした。

今勉強がてらに使ってるやつでは例えば(string-ref "あかさたな" 0)とかするとエラー終了したりしてます。
ここで"あ"って返して欲しいんですが。

980 名前:デフォルトの名無しさん mailto:sage [04/11/12 07:36:43]
comp.lang.schemeよりコピペ。Scheme処理系のunicodeサポート。

1) Gauche: unarguably best Unicode support, including native
read/write syntax for strings, chars, regexps & char-sets; support for
SRFI-13 & SRFI-14; charconv libraries and extensions to I/O procedures
to specify encoding for ports, including auto-detection of Japanese
encodings.

2) PLT >= v299: native Unicode support; regexps and SRFI-13 are
Unicode-aware, SRFI-14 is not; port encodings assumed UTF-8.

3) Gambit: native Unicode support, no regexp or SRFI support, encoding
for files and terminal is fixed at startup time and limited to Latin-1
or common Unicode encodings (UCS-2, UCS-4 or UTF-8).

4) SISC/Kawa/Jscheme: leverages Java Unicode support; SISC has Unicode
aware SRFI-13, Unicode unaware SRFI-14, the others have neither;
encoding is determined by default by locale, but SISC and Kawa provide
port encoding procedures; Java uses UTF-16 internally which may cause
complications with surrogate pairs.



981 名前:デフォルトの名無しさん mailto:sage [04/11/12 07:37:26]
7) Chicken: characters are allowed within the full 21-bit Unicode
range, however by default the non-ASCII characters have no read/write
syntax. I have a unit almost ready for release that leverages this
and assumes UTF-8 encoded strings/ports to provide full Unicode
support, including regexps, SRFI-13 and SRFI-14. Chicken has an iconv
interface, and I also have a unit with a more friendly interface such
as (with-input-from-encoded-file enc file thunk).

8) MIT-Scheme: Unicode chars strings are disjoint types; 'alphabet'
type as Unicode-char alternative to char-sets; Unicode string ports;
no port encoding utilities.

9) Bigloo: Unicode strings and characters are disjoint types; no port
encoding utilities.

10) Chez/Elk/Guile/Inlab-Scheme/Rscheme/SCM/Stalin/Stklos: nothing.


982 名前:デフォルトの名無しさん mailto:sage [04/11/12 10:28:15]
どなたかそろそろ、次スレを立てていただけないでしょうか?

983 名前:デフォルトの名無しさん mailto:sage [04/11/12 12:16:45]
次スレ
pc5.2ch.net/test/read.cgi/tech/1100229366/l50

984 名前:デフォルトの名無しさん mailto:sage [04/11/12 15:18:09]
>>7にあるawklispに含まれていたperlispですが、
これはPerl4での動作することを想定して書かれていました。
なのでリファレンスやレキシカルスコープ変数はまったく使われておらず、
コードも煩雑なものとなっています。

Perl5でLISPインタプリタを実装した例などはありますか?
自分で勉強して書けと言われそうですが・・・

985 名前:デフォルトの名無しさん [04/11/12 17:46:04]
>>984
こっちのほうが分かりやすいかも。awk と sh で書いてあります。参考までに。
www-2.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/impl/awk/


986 名前:ミミ mailto:sage [04/11/12 20:01:50]
>>973
DrScheme の GUI (MrEd) は wxWidgets の初期のバージョンから
派生したものらしいよ。

987 名前:本田 [04/11/13 00:12:16]
>>956
>Lisp-Tk
www.cliki.net/Lisp-Tk

>ウェブアプリケーションにしちゃうもん?

>CL-HTTP
www.ai.mit.edu/projects/iiip/doc/cl-http/home-page.html
流行としてはGUIよりアプリケーションサーバーだと思う。


988 名前:デフォルトの名無しさん mailto:sage [04/11/13 00:19:04]
>>980-981
どうもありがとうございます。
やはり多国語を扱えるような処理系はネイティブでサポートしているのが多いんですね。
処理系のソースは持っているので自分でなんとかしてみます。



989 名前:デフォルトの名無しさん mailto:sage [04/11/13 00:20:16]
LISPでWEBサービスってできるの?

990 名前:本田 [04/11/13 00:38:31]
>>989
>db-sockets
www.cliki.net/db-sockets
こんなの使えば、HTTPも処理できるプログラム書けるはず。

991 名前:デフォルトの名無しさん mailto:sage [04/11/13 00:41:49]
>>990
そうなんだ。ありがとう^^

992 名前:デフォルトの名無しさん mailto:sage [04/11/13 00:59:44]
>>989
kahuaとか

993 名前:デフォルトの名無しさん mailto:sage [04/11/13 12:22:54]
WebサービスってGoogleみたいにSOAPとか使うやつのことだろ

994 名前:デフォルトの名無しさん mailto:sage [04/11/13 12:37:41]
>>993
そういう規格もありますねー にゃんにゃん






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<286KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef