【GNU】スクリプト言語 Guile【scheme】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2009/04/18(土) 01:30:29
   __,, , , , _ 、 ,,, ... ,, _ ..,_
 ー=、 、ー-、`ヽ、、ヽ`!i' , ,i",r'",-'"=ミ
    `ヽ`ヾ`、 ! ヽ ! l! i! !_i_/_<'"``
     `,ゝ、iliー'" "、,"、',  i, リ
      !/!,li ,;;-=o=-,ッィ=。ゥィ     くにへ かえるんだな
  __  i、`!', '; `ー /;;!i、''; ,!     おまえにもかぞくGuileんだろう・・・
ー''`ヽ`,ーi'`''"!、ヽ , `一'、 /   __
    `il `i ! ヽ、   ̄ ̄ / iヽ、/ ,.ヽ_
     i! !`   `ーァ、-ー'  ! ノ!トi,!'",ノ-、
   ,..=、i! iヽ-、 rィ',;'!ヽー-、!  `/_,i' _,.!'、
ーニー-、._ `ヽゞニ-、.;' i! ! ,  `ト_ノ`x-'" ノ
=ニヽ、 , `, /ヾ=ソ ノ !/   !、`ー`''イ、
-ー-、 `i, / / ヽ `イ_,  i -'" ̄`! !   ヽ
   ゝノ /-'"  `   ' !    ヽ     !

Guile (About Guile)
http://www.gnu.org/software/guile/guile.html

Guile によるスクリプティング
http://www.ibm.com/developerworks/jp/linux/library/l-guile/index.html
2デフォルトの名無しさん
垢版 |
2009/04/18(土) 02:39:30
2get
3デフォルトの名無しさん
垢版 |
2009/04/18(土) 05:17:16
3get
schemeを初めて触る人にアドバイスをください
英文でも学習しようという意欲のある人だと、emacsのinfoが便利っぽいですね
2009/04/18(土) 07:28:17
>>3
Lispを学んでから使え
2009/04/18(土) 07:54:00
SchemeはLispじゃなかったのか
6デフォルトの名無しさん
垢版 |
2009/04/18(土) 08:46:10
>>5
シンボルが無い
()と#fを使いわけなくちゃいけない
名前空間が無い
マクロが無い
ハッシュテーブルが無い
仕様に未定義 undefined だらけ
仕様にREPL(read-eval-print-loop)が無い

ワルいけどSchemeはLispとしてあまりにも不完全すぎる
2009/04/18(土) 08:57:15
>>6
> シンボルが無い
うそつくな
> マクロが無い
うそつくな
> ハッシュテーブルが無い
R6RSかSRFI69にありますが

CL厨ってこんな奴ばっか?
2009/04/18(土) 09:15:56
>>6を満たした言語ってなんだろ?
C言語(特有のマクロ)っていつ頃ついたのかな?

>()と#fを使いわけなくちゃいけない
がLisp/Schemeっぽいんだよな
2009/04/18(土) 09:25:23
>>7
CLやっている人は、さすがにSchemeもちゃんと触っているでしょ
10デフォルトの名無しさん
垢版 |
2009/04/18(土) 09:31:34
Common LispをLispと呼ぶのは初心者だってじっちゃがいってた。
2009/04/18(土) 09:32:06
Schemeの"シンボル"はCLのシンボルとは違うだろ
2009/04/18(土) 09:36:40
> SchemeはCommon Lispとしてあまりにも不完全すぎる
それはあまりにもごもっともでございます。
2009/04/18(土) 09:55:23
C言語はCommon Lispとしてあまりにも不完全すぎる
JavaはCommon Lispとしてあまりにも不完全すぎる
PerlはCommon Lispとしてあまりにも不完全すぎる
cobolはCommon Lispとしてあまりにも不完全すぎる

Schemeで表せ
NGNG
あぼーん
15デフォルトの名無しさん
垢版 |
2009/04/18(土) 10:01:29
>Schemeで表せ
#f
2009/04/18(土) 10:07:33
Common LispはSchemeとしてあまりにも不完全すぎる
C言語はSchemeとしてあまりにも不完全すぎる
JavaはSchemeとしてあまりにも不完全すぎる
PerlはSchemeとしてあまりにも不完全すぎる
cobolはShcemeとしてあまりにも不完全すぎる
HaskelllはShcemeとしてあまりにも不完全すぎる
2009/04/18(土) 10:21:15
難易度からいえば
C<Java=Ruby<Common Lisp<Python<Scheme
だろ。



読み方の話だけど。
2009/04/18(土) 10:30:59
>>17
Gaucheは、Schemeの下だな
人と話すときにスッと出てこないのには、自信がある
19デフォルトの名無しさん
垢版 |
2009/04/18(土) 10:48:16
まつもとゆきひろ<<DennisRitchie<<<<<<<<<<<<(日本語の限界)<<<<<Bjarne Stroustrup
20デフォルトの名無しさん
垢版 |
2009/04/18(土) 10:55:08
Guileのメリットって何?FSFのお墨付き?GNU標準だから?
2009/04/18(土) 12:17:28
>>20
GNUの標準拡張言語としてHURDと同じくらい未来が保証されている。
この未来が明るいのか暗いのかは人によって違う。
2009/04/18(土) 15:20:07
待ちguile
2009/04/18(土) 16:33:33
>>1
いわゆる「出落ち」
2009/04/18(土) 16:36:06
>>19
dmr は日本語喋れるのか
知らんかった
2009/04/18(土) 18:35:53
読みやすさの問題だろ。
2009/04/18(土) 19:02:55
>>24
白本(緑本)を読んでないな。ちゃんと

 "o tegami wo doumo arigatou gozaimasu."

って喋ってる。
2009/04/18(土) 20:53:06
>>26
それリッチーじゃなくてカーニハン
2009/04/19(日) 17:51:35
無頼庵蟹半とか美流上位とか
2009/04/19(日) 18:12:22
美流上位は本人がそう書いたんだっけ。
さてクイズ。高徳納って誰でしょう?
2009/04/19(日) 21:09:47
1.ドナルド・ダック
2.ドナルド・クヌース
3.ドナルド・マクドナルド
2009/04/24(金) 01:46:22
>>1
935 名前:デフォルトの名無しさん[sage] 投稿日:2009/04/18(土) 05:12:39
>>933
guileを中心に勉強している身としては、うれしいがw
本当に大胆だな

Guileスレを立てた1は、週1で簡単なスクリプトでいいから、投稿してくれ
2009/04/24(金) 16:44:44
まずソニックブームのスクリプトを書いてもらおうか
2009/04/24(金) 20:05:25
# It's cool!!!
(define (sonic-boom)
(define (bar y)
(define (foo x)
(if (= x 0)
(format #t ")\n")
(begin (format #t " ")(foo (- x 1)))))

(if (= y 20)
(foo y)
(begin (foo y) (bar (+ y 1)))))
(begin (format #t "Sonic Boom!!!\n") (bar 0)))

(sonic-boom)
2009/05/05(火) 13:09:46
209 名前:デフォルトの名無しさん[sage] 投稿日:2009/05/05(火) 05:23:24
>>208
いいんじゃない?
それでは、パイロット版という感じで気楽にやりましょうか。

【イベント名】 13時だョ!全員集合

【開始時間・終了予定時間】 今日の13時〜14時
【モットー】競うというより楽しく
【参加条件】一般的な社会常識がある人で関数型言語が使える人、または勉強している人。
【部門】今回は2部門。初心者部門と一般部門。初心者は3題出題。
一般部門は初心者部門の問題3題に加えて、7題を加えた計10題。
【イベントに使うスレ】 ttp://pc12.2ch.net/test/read.cgi/tech/1239985829/
【あとサイト】  和訳 http://odz.sakura.ne.jp/projecteuler/
【解答用紙】 http://codepad.org/
【備考】初心者の参加、大歓迎です。あとおもしろい企画があったら、どしどしレスしてください。

Lisp Scheme Part26
http://pc12.2ch.net/test/read.cgi/tech/1240567959/
2009/05/05(火) 13:11:21
やるよ
問題は11, 12, 13にしてみる
数学的によくわからなくて、解けないというオチにならなければいいが
2009/05/05(火) 13:12:39
Project Euler(http://odz.sakura.ne.jp/projecteuler/)のProblem 1を解いてみた。
末尾再帰にはしたけど高速化はしていない。

(define p001
(lambda (n)
(letrec ((p001-aux (lambda (n sum)
(cond
((= n 0)
sum)
((or (= (modulo n 3) 0)
(= (modulo n 5) 0))
(p001-aux (- n 1)
(+ sum n)))
(else
(p001-aux (- n 1)
sum))))))
(p001-aux n 0))))
2009/05/05(火) 13:23:38
1番をみて、一般部門を10問にしたけど、11, 12, 13は難しいぞ
自分のプログラム技術で解けるかな
3836(1/2)
垢版 |
2009/05/05(火) 13:43:53
すまん、13:00から勝手に始めてた。Problem 11ね。
(define prod
(lambda (table)
(let ((xmax (vector-length (vector-ref table 0)))
(ymax (vector-length table)))
(let ((lookup (lambda (x y)
(if (and (<= 0 x)
(< x xmax)
(<= 0 y)
(< y ymax))
(vector-ref (vector-ref table y) x)
0))))
(lambda (+x +y)
(lambda (x y)
(* (lookup (+ y (* +y 0)) (+ x (* +x 0)))
(lookup (+ y (* +y 1)) (+ x (* +x 1)))
(lookup (+ y (* +y 2)) (+ x (* +x 2)))
(lookup (+ y (* +y 3)) (+ x (* +x 3))))))))))
(define p011
(lambda (flist xlist ylist)
(apply max
(map (lambda (f)
(apply max
(map (lambda (y)
(apply max
(map (lambda (x)
(f x y))
xlist)))
ylist)))
flist))))
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況