◎正当な理由による書き込みの削除について: 生島英之 とみられる方へ:【GNU】スクリプト言語 Guile【scheme】->画像>1枚
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/tech/1239985829/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。
__,, , , , _ 、 ,,, ... ,, _ ..,_ ー=、 、ー-、`ヽ、、ヽ`!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 3get schemeを初めて触る人にアドバイスをください 英文でも学習しようという意欲のある人だと、emacsのinfoが便利っぽいですね
>>5 シンボルが無い
()と#fを使いわけなくちゃいけない
名前空間が無い
マクロが無い
ハッシュテーブルが無い
仕様に未定義 undefined だらけ
仕様にREPL(read-eval-print-loop)が無い
ワルいけどSchemeはLispとしてあまりにも不完全すぎる
>>6 > シンボルが無い
うそつくな
> マクロが無い
うそつくな
> ハッシュテーブルが無い
R6RSかSRFI69にありますが
CL厨ってこんな奴ばっか?
>>6 を満たした言語ってなんだろ?
C言語(特有のマクロ)っていつ頃ついたのかな?
>()と#fを使いわけなくちゃいけない
がLisp/Schemeっぽいんだよな
>>7 CLやっている人は、さすがにSchemeもちゃんと触っているでしょ
Common LispをLispと呼ぶのは初心者だってじっちゃがいってた。
Schemeの"シンボル"はCLのシンボルとは違うだろ
> SchemeはCommon Lispとしてあまりにも不完全すぎる それはあまりにもごもっともでございます。
C言語はCommon Lispとしてあまりにも不完全すぎる JavaはCommon Lispとしてあまりにも不完全すぎる PerlはCommon Lispとしてあまりにも不完全すぎる cobolはCommon Lispとしてあまりにも不完全すぎる Schemeで表せ
Common LispはSchemeとしてあまりにも不完全すぎる C言語はSchemeとしてあまりにも不完全すぎる JavaはSchemeとしてあまりにも不完全すぎる PerlはSchemeとしてあまりにも不完全すぎる cobolはShcemeとしてあまりにも不完全すぎる HaskelllはShcemeとしてあまりにも不完全すぎる
難易度からいえば C<Java=Ruby<Common Lisp<Python<Scheme だろ。 読み方の話だけど。
>>17 Gaucheは、Schemeの下だな
人と話すときにスッと出てこないのには、自信がある
まつもとゆきひろ<<DennisRitchie<<<<<<<<<<<<(日本語の限界)<<<<<Bjarne Stroustrup
Guileのメリットって何?FSFのお墨付き?GNU標準だから?
>>20 GNUの標準拡張言語としてHURDと同じくらい未来が保証されている。
この未来が明るいのか暗いのかは人によって違う。
>>19 dmr は日本語喋れるのか
知らんかった
>>24 白本(緑本)を読んでないな。ちゃんと
"o tegami wo doumo arigatou gozaimasu."
って喋ってる。
美流上位は本人がそう書いたんだっけ。 さてクイズ。高徳納って誰でしょう?
1.ドナルド・ダック 2.ドナルド・クヌース 3.ドナルド・マクドナルド
>>1 935 名前:デフォルトの名無しさん[sage] 投稿日:2009/04/18(土) 05:12:39
>>933 guileを中心に勉強している身としては、うれしいがw
本当に大胆だな
Guileスレを立てた1は、週1で簡単なスクリプトでいいから、投稿してくれ
# 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)
209 名前:デフォルトの名無しさん[sage] 投稿日:2009/05/05(火) 05:23:24 >>208 いいんじゃない? それでは、パイロット版という感じで気楽にやりましょうか。 【イベント名】 13時だョ!全員集合 【開始時間・終了予定時間】 今日の13時〜14時 【モットー】競うというより楽しく 【参加条件】一般的な社会常識がある人で関数型言語が使える人、または勉強している人。 【部門】今回は2部門。初心者部門と一般部門。初心者は3題出題。 一般部門は初心者部門の問題3題に加えて、7題を加えた計10題。 【イベントに使うスレ】 http://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/ やるよ 問題は11, 12, 13にしてみる 数学的によくわからなくて、解けないというオチにならなければいいが
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))))
1番をみて、一般部門を10問にしたけど、11, 12, 13は難しいぞ 自分のプログラム技術で解けるかな
すまん、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))))
Problem 11の呼び出しの方。やっぱり高速化はしていない。 (define data #(#(08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08) #(49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00) #(81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65) #(52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91) #(22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80) #(24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50) #(32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70) #(67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21) #(24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72) #(21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95) #(78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92) #(16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57) #(86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58) #(19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40) #(04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66) #(88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69) #(04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36) #(20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16) #(20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54) #(01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48))) (display (p011 (list (let ((prod-table (prod data))) (prod-table 1 0) (prod-table 0 1) (prod-table 1 1) (prod-table 1 -1))) '(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19) '(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19)))
具現化できない infoを読んでいる時間が長いんだが というか、あと5分ぐらいで俺は制限時間の1時間だ 思ったより数学・数学していなくて、おもしろいね 11を解いたか、すごいなあ 13をやっているんだけど 答えに近づく解法をしているとは、思いながらやっている
実はProblem 12も解いたんだけど速度がダメすぎた。 N=500だと1時間以上かかりそう。
おれは無解答で・・・
こういう問題が来るとは思わなかったな
ひさしぶりにSchemeを触ったけど、楽しいね
宿題って感じで毎日1問ぐらいがいいなあ
ググったら、あと解答らしきアドレスをみつけたんですけど、どうしましょうか?
答えの数字のみのやつ
あとコードパットに解答を貼って、リンクしたほうがいいんじゃないかと思う
みんなが平気ならかまわないけど
>>38 tableって39さんと同じ形式?
気付いたらもう終わっているという…
せっかくなので以前書いたProblem 12を高速化してみようかと書き直し始めたら軽く1時間越えた。
途中経過
http://paste.lisp.org/display/79705 SBCLでN=1000が6秒くらい。本体の方の工夫が全く書けてないのでもう少し速くなると思う。
>>43 三角数の値を求めるだけの問題だから、問題ないけど
項の値が+1されているね
うちの環境だと15秒だったw
メモ化した意味がなかったので微修正。(26行目あたり)
http://paste.lisp.org/display/79738 5倍速くらいになった。あと
>>44 も修正。
本体の方は変えてもあまり意味ないような気がしてきたからもういいや。
>>45 本体の最後こうすると速くなったよ
(do ((i 2 (1+ i)))
((<= n (if (oddp i)
(* (factors-count i) (factors-count (/ (1+ i) 2)))
(* (factors-count (/ i 2)) (factors-count (1+ i)))))
(values (* i (1+ i) 1/2) i)))
あーそのループは考えてたんだけど単純にかけ算で良かったんだ。 N=1000で0.1秒切るなぁ。すばらしい。
13番の50桁問題、難しくないじゃん guileで50桁前後の扱えないのかと思っていたら、普通に扱えた
>>51 ふつうによめちゃうなあ
文節をわけて、最初と最後を強調して、錯覚させているのもあるし、ひらがなもそうだよね
>>51 もう誰か作ってたよ、はてなの誰かのブログでみた。
commonlispで書いてみたよ。
clispとSBCLで確認済み。
http://codepad.org/Et9qPCmE >>53 それどこ?IDだけでもplz
プロジェクトオイラーの問題11をCで解いてしまいますた。 問題12はclispで20秒で解けた 答えは12375番目の76576500という三角数です。 プログラムは ↓ (defun dv-sub (n) (do ((x 1 (1+ x)) (y n) (a nil)) ((>= x y) a) (if (= (mod n x) 0) (progn (setf a (cons x (cons (/ n x) a))) (setf y (/ n x)))))) (time (do* ((x 2 (1+ x)) (y 3 (+ y x)) (a (dv-sub y) (dv-sub y))) ((> (length a) 500) (format t "~A ~A~%" x y))) )
1.9.0リリースsage 時間ができたらいじってみよう
guileってまだメンテされてたのかw gaucheスレかと思った
まだGNU Guile 1.9.5はありません。
現時点の最新版は1.8.7と1.9.4 (alpha)です。
git@sv / guile.git / summary
http://git.savannah.gnu.org/gitweb/?p=guile.git Index of /pub/gnu/guile
http://ftp.gnu.org/pub/gnu/guile/ >>62-65 リリース報告すんなら何が変わったかぐらい、書け
GIMPスレでも聞いたんですが、scheme周りなのでこちらの方がいいと判断して質問しました。 GIMP2.6で、schemeを用いてファージー選択→スポイト→選択箇所塗りつぶし→ガウシアンぼかしの流れを 一括で処理するようなものを組みたいのですが可能なんでしょうか?
1.9.5リリースsage 何が変わったかはNEWS参照のこと
1.9.6リリースsage 何が変わったかはNEWS参照のこと
1.9.7リリースsage 何が変わったかはNEWS参照のこと
1.9.8リリースsage 何が変わったかはNEWS参照のこと
1.9.9リリースsage 何が変わったかはNEWS参照のこと
2.0.0リリースsage 何が変わったかはNEWS参照のこと
1.9.10リリースsage
何が変わったかはNEWS参照のこと
いよいよ次は2.0!
>>76 ウソイクナイ
下記サイトのscript-fuを調べて、改良したものを作りたいと思って
本やサイト調べてもどうしても意味のわからない部分があるんですが、
聞いてもいいですかね?
http://www.rpi.edu/dept/acm/packages/gimp/gimp-1.2.3/plug-ins/script-fu/scripts/line-nova.scm 7行目の (let* ((*points* (cons-array (* 3 2) 'double))は何やっているのか(特にdoubleの意味)
17行目の (define (draw-vector beg-x beg-y direction)の引数?の詳細
33行目の (define (set-marginal-point beg-x beg-y direction) のset-marginal-point
40行目の (aux dir1 1)のauxの意味
どうか頼みます。
こういうのscmを調べるのに役立つサイトに心当たりがあるのでしたら、教えてください。
>>78 Gimp も Scheme も大して知らない俺でも分かる範囲で…
>7行目の (let* ((*points* (cons-array (* 3 2) 'double))は何やっているのか(特にdoubleの意味)
cons-array は配列を作る関数。(* 3 2) は 3 * 2 = 6 で、配列の要素数が 6 個という意味。
'double は型指定で配列に格納されるデータが double 型という事。
つまり (cons-array (* 3 2) 'double) は double 型で要素数が 6 個の配列を確保している。
let は代入(本当は束縛)で、*points* という変数(本当はラベル)にこの配列を格納している。
最近の GIMP は Guile から TinyScheme に置き換わったから、cons-array の代わりに
make-vector を使います。
>>78 >17行目の (define (draw-vector beg-x beg-y direction)の引数?の詳細
>33行目の (define (set-marginal-point beg-x beg-y direction) のset-marginal-point
>40行目の (aux dir1 1)のauxの意味
残りは Scheme というより、そのプログラムの中での命名の話。
beg-x => begin-x : 線分の始点の x 座標
beg-y => begin-y : 同じく y 座標
set-marginal-point => marginal(境界、ふち)の point(座標)を set する
aux => auxiliary : 補助関数
あ、一個忘れてた。direction は線分の角度を指定する引数。
結構古いものなので仕様変更で、今では絶滅危惧種な関数かと 考えていましたが、意味がわかってすっきりしました。 これで解析も何とかなる(かな?)と思います。 本当にありがとうございました!
1.9.11リリースsage 何が変わったかはNEWS参照のこと 次こそは2.0!
>>83 残念sage
2010-09-04
GNU Guile 1.9.12 (beta) released. Again, this may be the last release before 2.0 comes out.
RCとなるまで期待しちゃダメなのか?
ヽ(`Д´)ノ 1.8.8リリースsage! ( ゚д゚)…1.8!?
2009-07-05 GNU Guile 1.8.7 released. This is the next maintenance release for the 1.8 stable series. 1.8 は1年半ぶりか
1.9.15リリースsage 2.0はいよいよ2/16にリリース!(`・ω・´)
2.0.1リリースsage 何が変わったかはNEWS参照のこと
使い始めたage 結構ライブラリが充実してるんだね
例えば楽天のページでお目当ての転売商材があって、人が殺到してエラーのページが出ます 売り切れる前になんとかしたい で、スクリプトを使って攻略するにはどうすればいいですか?
>>97 具体的にどうしたいの?
ポチるまで自動化したいの?
2.0.5リリースsage 何が変わったかはNEWS参照のこと
cygwinでビルドが通らない。 libffiが無いといわれる。
>>104-108 激動の4年間がここに詰まっている
gimpの処理自動化したいと思ってscheme勉強し始めたけど目的が明確化してる分勉強するの楽しい あと知識が深まると今まで分からなかったところがこういうことかと発見できるのも楽しい
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 FQNK5
linuxベッタリの異端なschemeと思ったらintrospectionが充実してて割とお気に入り、かも
read.cgi ver 07.7.23 2024/12/25 Walang Kapalit ★ | Donguri System Team 5ちゃんねる -curl lud20250209215411このスレへの固定リンク: http://5chb.net/r/tech/1239985829/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「【GNU】スクリプト言語 Guile【scheme】->画像>1枚 」 を見た人も見ています:・ふらっと C#,C♯,C#(初心者用) Part140 ・一番難易度が高いプログラミング言語は? ・構造化プログラミングはまだ必要ではないのか? ・【統計分析】機械学習・データマイニング9 ・何でお前らは完璧な言語作んないの? ・: Forth Factor ; 連鎖性言語part 1 0 0 + + ! ・ソフトウェアのプログラム解析 ・センター試験: 数学IIBのプログラムについて語るスレ part3 ・パチンコ、パチスロの基盤のプログラム ・【Iパス】IT資格の難易度ランキング【基本情報】 ・プログラミング超初心者の質問 ・HSP総合スレ【part 10】 (c)2ch.net ・【PHP】下らねぇ質問はここに書き込みやがれ 8 ・実行側でのコード構造の組み合わせ方 ・Visual Studio 2017 Part6 ・俺の親父がウゼーんだが…元任天堂の社員ガーって ・次世代言語議論スレ[Go Rust Scala Haskell]第5世代 ・Pythonのお勉強 Part57 ・スレ立てるまでもない質問はここで 152匹目 ・関数型言語ML (SML, OCaml, etc.), Part 7 ・初心者だけどgccが使えない ・Java入門・初心者質問スレ Part.8 ・プログラミングのお題スレ Part16 ・Excel VBA 質問スレ Part49 ・オブジェクト指向の活用方法を教えて下さい ・盗用したコードどれくらい書換えれば合法になるの? ・統合開発環境Appmethodスレ ・滋賀大学データサイエンス学部ってどう思う? ・C++相談室 part153 ・Pythonのお勉強 Part 28 ・グラフィック特化言語 Processingを語るスレ ・スレ立てるまでもない質問はここで 153匹目 ・くだすれPython(超初心者用) その48【まず1嫁】 ・手続き型システムの設計 1 ・【Lisp】プログラミング言語 Clojure #4【JVM】 ・PEG.jsで構文解析しよう ・【未来】マイニング工場は全てがスクラップに! ・次世代言語15 Go Rust Swift Kotlin TypeScript ・【QBASIC互換!?】FreeBasic【GPL】 2 ・Visual Studio Code / VSCode Part11 ・次世代言語11[Rust Swift TypeScript Dart] ・気象予測に関するプログラムpart1 ・iOS、Android、Linuxサーバーの三点セット開発 ・スレ立てるまでもない質問はここで 155匹目 ・AWS,Azure,GCP ・メルカリのようなアプリを作りたい 情報求む ・Excel VBA 質問スレ Part70 ・【統計分析】機械学習・データマイニング18 ・【逝ってみよう!】アイディア出しスレッド ・【Intel】OpenCV総合スレ 5画素目【画像処理】 ・【統計分析】機械学習・データマイニング24 ・PHPでurl暗号化したいんやがどうすりゃええの? ・UWSC初心者用スレ2 ・Access VBA 質問スレ Part2 ・関数型プログラミング言語Haskell Part32 ・【統計分析】機械学習・データマイニング23 ・Visual Studio 2010 Part21 ・★★Java質問・相談スレッド183★★ ・Delphi/C++Builderが長い時を越えて再び無料に ・くだすれC++Builder(超初心者用)その5 ・【.cmd】 バッチファイルスクリプト %14 【.bat】 ・くだすれPython(超初心者用) その37 ・Androidパターンロック解除 ・「コード」と書いたら「当分お断りしております。」 ・syamuさんが書いたプログラムにありがちなこと
07:54:11 up 27 days, 8:57, 0 users, load average: 14.18, 11.19, 11.32
in 0.6654679775238 sec
@0.012470006942749@0b7 on 020921