したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

ヒッキープログラミングスレ

1(-_-)さん:2013/02/26(火) 04:49:59 ID:GABg0f3o
プログラミングの話題のスレ

質問・相談
初心者からプロまで
プログラミングに関することなら何でもOK

951(-_-)さん:2013/06/19(水) 18:58:10 ID:???
やっぱ何らかの実際の実装系を使ってみないとアカンのかもな、想像だけでlispの基本システムを作るのは無理くさいね・・・

952(-_-)さん:2013/06/19(水) 18:59:03 ID:???
それは俺が10日ほど前に指摘したと思う

953(-_-)さん:2013/06/19(水) 19:01:37 ID:???
マジか、それはすまなかった、もう色々とあって完全に忘れてたわ・・・

954(-_-)さん:2013/06/19(水) 19:04:27 ID:???
歳は取りたくないねえ・・・すぐにいろんなことを忘れてしまう・・

955(-_-)さん:2013/06/19(水) 19:29:03 ID:???
忘れるよりも早く

956(-_-)さん:2013/06/19(水) 20:05:45 ID:???
今Wikipediaの静的スコープと動的スコープのページを読み直したら、動的スコープと静的スコープの認識を間違ってることにさらに気づいた・・・
動的スコープ=全部グローバルスコープ だと勘違いしてたわ・・・うーむ、どんどんハードルが上がっていくな・・・

957(-_-)さん:2013/06/19(水) 20:09:58 ID:???
これは純lisp内に作った変数管理処理を丸ごと考え直さなければなさそうだな・・・動的スコープにするにしても静的スコープにするにしても・・・

958(-_-)さん:2013/06/19(水) 20:11:13 ID:???
今俺が作った純lispは動的スコープにも静的スコープにもどっちにもなってない謎スコープシステムだ・・・

959(-_-)さん:2013/06/19(水) 20:12:41 ID:???
しかしこうしたシンプルな構造と処理のみ実装の言語をひとつでも作りあげれば今後別言語作るときにも活かせそうだし踏ん張りどころといったとこか

960(-_-)さん:2013/06/19(水) 20:13:50 ID:???
つくづく思う、俺ってバカだなぁ・・・って

961(-_-)さん:2013/06/19(水) 20:20:22 ID:???
純lisp制作にあたってスコープに関する過ちのまとめ
・新しいスコープ突入箇所 −> × 評価すべきリストの開き括弧、 ○ lambdaやletやdoといったローカルバインディング(?)とかいうのをする箇所
・静的スコープ −> × 現段階のは動的スコープ的な挙動もしてる(呼び出し元のスコープも参照してる) 、 ○ 静的スコープなら呼び出し元のスコープを参照してはいけない、宣言時のみのスコープを参照する
・動的スコープ −> × 全部グローバルスコープ、 ○ 呼び出し元のスコープを参照できるというだけであって、グローバルスコープの意味じゃない
・純LISPのスコープ −> × 静的スコープで実装しようとした(実際は静的スコープにすらなってないが)、 ○ 古典LISPに分類されるので動的スコープで実装すべき

962(-_-)さん:2013/06/19(水) 20:25:23 ID:???
動的スコープ・静的スコープ

共通 ネストの外側の変数を参照できる

静的スコープ メソッド呼び出しなどは異なるブロックへ移動したことになり、メソッド呼び出し側のブロックから参照できる変数をメソッド側のブロックからは参照できない
動的スコープ メソッド呼び出しなどの異なるブロックへの移動であっても、一つ内側のネストであるかのようにメソッド呼び出しが側のブロックから参照できる変数もメッソドのブロックから参照できる

963(-_-)さん:2013/06/19(水) 20:26:33 ID:???
うーむ、日本語にまとめるのは難しい、考えをまとめるはずのメモのレスが余計混乱をまねきそうだ・・・・うううう

964(-_-)さん:2013/06/19(水) 20:27:52 ID:???
まぁいいや、とくにかくどう作り直せばいいのかだいたいの見当はついた気がする、明日くらいに修正にとりかかる

965(-_-)さん:2013/06/19(水) 20:37:09 ID:???
あと直さなきゃならんこととしたら
スコープ・ブロック・ネスト、この3つの言葉の意味をちゃんと理解することかなあ・・・・これもテキトー雰囲気で使ってるから正しい意味の使い方してない可能性が高い・・・
うーむ・・・

966(-_-)さん:2013/06/19(水) 20:38:35 ID:???
ひとまずここにメモっておく
スコープ - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97
ブロック (プログラミング) - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
ネスティング - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%8D%E3%82%B9%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0

これも明日読むことにする、今日はもうプログラミングしない

967(-_-)さん:2013/06/19(水) 20:40:30 ID:???
不特定多数のボランティアが記述するWikipediaの内容をそのまま信じるのも何だがな

968(-_-)さん:2013/06/19(水) 21:34:44 ID:???
書籍にしろインターネットサイトにしろラジオにしろテレビにしろ専門家の講義にしろ
丸ごと鵜呑みにして信じるのはよくない

969(-_-)さん:2013/06/20(木) 00:21:24 ID:???
新聞だけ信じればいいのさ

970(-_-)さん:2013/06/20(木) 02:55:07 ID:???
とりあえず形になったから晒してみる
よかったら試してみてほしい
ソースはつけてないけどごめんね
ttp://www1.axfc.net/uploader/so/2941007

971(-_-)さん:2013/06/20(木) 03:02:40 ID:???
java -jar Lisp.jar
で起動してみたはいいけど
これってどうやって終了されるの?

972(-_-)さん:2013/06/20(木) 03:03:21 ID:???
EOFで終了するよ

973(-_-)さん:2013/06/20(木) 03:08:36 ID:???
そうなのか、loadでサンプル読み込もうとしたらなんか動いて無い気がして強制終了させちゃったわ

974(-_-)さん:2013/06/20(木) 03:10:02 ID:???
lifegame動いたよー
あとfib.lispってやつは
先日いってた性能テストするみたいなやつなの?
パッと見はフリーズしてるようにしか見えん

975(-_-)さん:2013/06/20(木) 03:10:44 ID:???
タスクマネージャ見たらめいっぱいCPU使ってるわ

976(-_-)さん:2013/06/20(木) 03:11:24 ID:???
fib.lispとtarai.lispはベンチマーク用だから数十秒~数分かかる負担にしてある
いうの忘れててごめんね

977(-_-)さん:2013/06/20(木) 03:13:02 ID:???
ベンチマークなら所要時間の結果を表示するとかしたほうがよかったんじゃないの
テキストエディタで開いてみるとそれっぽいコード書かれてないし

978(-_-)さん:2013/06/20(木) 03:14:03 ID:???
シェルからtimeコマンド使ってるからその必要はなかった
あとtarai関数の時間測ってほしいな

979(-_-)さん:2013/06/20(木) 03:16:36 ID:???
timeコマンドを使うとはどういうふうに?

980(-_-)さん:2013/06/20(木) 03:18:18 ID:???
ていうかfib.lispがまだ終わらないようなんだけど、これって何分くらいかかるものなの?

981(-_-)さん:2013/06/20(木) 03:18:35 ID:???
windowsからだと無理かもしれん
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230902/
あと組み込み関数に時間を測る機能はない
sleepならあるけど

982(-_-)さん:2013/06/20(木) 03:19:21 ID:???
fibは俺の環境では6分以上かかったと思う
takは18秒

983(-_-)さん:2013/06/20(木) 03:20:58 ID:???
おそらくだけどねー
WindowsのコマンドプロンプトのTIMEコマンドだと時間は計測できないんじゃないかと思うの
PowerShellというのがUnixシェルに近い自由なこと出来るけど、これ自体がめちゃくちゃ重くて計測に向いてないと思うのね
そんでもってこのPCの仕様でか、一般権限のアプリケーションが占有できるCPUが最大25%までなの、だから計測に向いてないと思うのね
このCPUはたしか2コア2スレッドでCPU25%で一つのスレッドを丸々占有という感じ

984(-_-)さん:2013/06/20(木) 03:26:06 ID:???
ちなみに>>974の1分前くらいに始めたfib.lispがまだ終わらんのだけど

985(-_-)さん:2013/06/20(木) 03:29:52 ID:???
PCの仕様書見たら2コア4スレッドと書いてあった、スレッドとコアの関係がどのようなのか知らんけど
1.66GHzのネットブックさんのCPUを25%、CPUスレッド丸々1個使って20分、今終わったみたい

986(-_-)さん:2013/06/20(木) 03:31:09 ID:???
すまんfibはやりすぎてた
そういえば6分じゃなくて3分くらいかかってたの思い出したわ

987(-_-)さん:2013/06/20(木) 03:31:40 ID:???
なんか日本語がおかしいけど気にしないで

988(-_-)さん:2013/06/20(木) 03:32:02 ID:???
おおざっぱにfib.lispは20分かかったよ

989(-_-)さん:2013/06/20(木) 03:33:26 ID:???
やっぱり(fib 38)はやりすぎだったなすまん

990(-_-)さん:2013/06/20(木) 03:33:46 ID:???
WindowsコマンドプロンプトのTIMEコマンドをなんとか工夫して開始時の現在時刻と終了時の現在時刻を表示させたけど
tarai.lispはだいたい2分20秒くらいかかったみたいだよ

991(-_-)さん:2013/06/20(木) 03:35:23 ID:???
なるほど
やっぱりエラーチェックが足枷になってるかな

992(-_-)さん:2013/06/20(木) 03:39:21 ID:???
他のも試したよreversiってのが途中でエラーで止まるよ

C:\Users\unko\Downloads\lisp\sample>java -jar ..\Lisp.jar reversi.lisp
FILE: "reversi.lisp", line 23
(AREF BOARD (1DIM X Y))
ERROR: シーケンスの外を参照しようとしています


C:\Users\unko\Downloads\lisp\sample>java -jar ..\Lisp.jar reversi.lisp
FILE: "reversi.lisp", line 23
(AREF BOARD (1DIM X Y))
ERROR: シーケンスの外を参照しようとしています

993(-_-)さん:2013/06/20(木) 03:42:24 ID:???
それはエラーメッセージがちゃんと出るか確かめるために範囲外チェック外してた
コメントアウト外せば大丈夫だと思う

994(-_-)さん:2013/06/20(木) 03:46:34 ID:???
sampleをもうちょっと増やせばよかったね

995(-_-)さん:2013/06/20(木) 03:50:42 ID:???
reversiのコメント外したんだけどフリーズしたぽい
こちらでおける場所が無くなってしまってどうにもならなくてウィンドウ閉じたけど
コマンドプロンプトのほうが復帰しない

996(-_-)さん:2013/06/20(木) 03:51:50 ID:???
CPUはほとんど使ってないからバグで止まってる感じなのかな

997(-_-)さん:2013/06/20(木) 03:52:46 ID:???
うん、main関数はまだ作りかけだからね
終了処理とか置けない時の処理とかしてない

998(-_-)さん:2013/06/20(木) 03:53:49 ID:???
まあ手続き型的に書けるようなマクロいくつか定義されてるから自分で書き直せると思うよ
だるくてやってられないと思うけど

999(-_-)さん:2013/06/20(木) 03:55:50 ID:???
なるほどreversi.lispはオセロの完成品というわけじゃないののか、納得

1000(-_-)さん:2013/06/20(木) 03:58:16 ID:???
次スレ

ヒッキープログラミングスレ 2
http://jbbs.livedoor.jp/bbs/read.cgi/internet/17286/1371668281/




掲示板管理者へ連絡 無料レンタル掲示板