レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
ヒッキープログラミングスレ
-
プログラミングの話題のスレ
質問・相談
初心者からプロまで
プログラミングに関することなら何でもOK
-
配列じゃなくてリスト構造ってことか
struct list {
void *data;
list *next;
};
ってところか
-
>>819
Cで作るならそんな感じ
-
そうだなlispはリストプロセッサーなんだから当たり前だよな、リスト構造と配列をごっちゃに考えてて勘違いしてた、すまん
-
リスト構造と配列は全然違う構造のデータタイプなのに何で俺はごっちゃに考えて同じものだと勘違いしてたんだ・・・そのせいで余計な時間を費やしてしまった・・・orz
-
>>820
お手数をかけてしまってすまんかった、俺が1人勘違いして暴走してた・・・
-
というかCで作ろうとしてるのか?
メモリ破壊バグとの戦いになる予感
俺も費やした時間の9割がそんな感じで投げ出しちゃった
-
Cはポインタとかallocとかよく分からんから使う気はないけんど
-
ついに燃え尽きた
もうこれ以上手を入れて機能拡張する気にもならないし実際に使う気にも鳴らなくなった
もう一ヶ月以上CやjavaでLisp実装に時間を使ってるんだよなあ
land of lispも積ん読だしこれからどうしよう
-
大きくなると1人で管理するのは大変そうだしね
-
まだ3000行くらいだしそれは大丈夫だけどある程度動いたら満足してしまう
-
こちとらその十分の一の300行くらいで頭がパンクしそうだよ・・・
-
ちゃんとしたエディタ使えばもう少し管理しやすくなるんだろうけどね・・・
-
ごちゃごちゃしてくるとどこで何を処理してこの変数は何だったかとかチンプンカンプンに
-
>ある程度動いたら満足してしまう
これは俺もあるわ
純lisp今作業とどこおってるし
-
純lispの論文のevalの実現方法見てるんだが英文のとこちゃんと読まないとちょっと分からない感じだし
labelやlambdaとかかなり複雑怪奇に再現してるぽいし、
-
引数と本体をリストにして保存すればいけると思う
-
おそらくそうしてるんだろうけど、解読大変だわこの論文・・・英語がハードルすぎる
あと論文読んでたらeqをこの論文の仕様どおりに作って無かったことに気づいた>>578のは間違ってた
eqは引数にatomic symbolしかとれずリスト渡すとundefinedにしないといけないのに>>578としてたからNILになってたわ・・・
-
読んでいったら>>834の言う感じの処理があった本当すごいわ・・・
-
まじかよ当たってたのか
-
論文からevalまでのlispコード全部書いてみたけどエラー出た・・
エラー検出の機能がテキトーだからlispコードのどこミスったのか分からん・・・さてどうするか
-
そもそも記述ミスなのか論文の括弧抜けが多いしM式からS式起こすだけじゃダメぽいな・・・
括弧抜けを補足するにはちゃんと理論を理解しないと補足できない
ここかな?とテキトーに括弧を補完したのがたぶん原因かな・・・
-
今日はもうオシマイ、純lispはまた明日やるとするか
-
>>838
自分もその問題に今悩まされてる
エラー時にどの行が間違えてるかも教えてくれればいいけどどうやってればいいんだろうな
-
難しい問題だな・・
-
もうpythonでlispのコードをpythonのバイトコードに生成してそれを実行しようと考えてみたけどそのほうが遥かに難しいな
-
それはそれでムズかしそうだな
-
俺はpythonは全く知らんからコードすら読めない
たしか括弧の代わりにタブインデントで何ちゃらの範囲を決める言語だっけか
-
そういやCのmakefileも処理部分はタブインデントしないといけないって2年くらい前に知ったわ
それ以前は毎度コマンドラインからコンパイラを呼び出してたけど
makeコマンドの使い方覚えてコンパイルがだいぶ楽になったなあ
なつかしい
-
それにしても「何ちゃら」が思い出せない、もう歳だなあ・・・物覚え悪いし物忘れ酷いし
-
ブロックじゃないかな
-
おお、そうだブロックだ、ブロック構造
-
ブロック構造なんてたいていのプログラミングに存在する概念だのにすごいド忘れだわ、hahaha・・・
-
そんな用語知らなくてもプログラム組めるからね
-
組むだけならね・・・入門書とか資料とかに書かれてて「何だっけこれ?」とかなるのは調べる時間が増えてデメリットはそれなりにあるよ・・・
-
ブロックをググってwikipeida見たらjavascriptにはブロック構造のスコープが無いってことを今初めて知ったわw
javascriptを初めて使ったのは大学時代の頃合いか10年前後前になるぞ・・・
ブロック (プログラミング) - 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で(藁))
リフレクション (情報工学) - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%95%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3_(%E6%83%85%E5%A0%B1%E5%B7%A5%E5%AD%A6)
結構いろんな言語が持ってるだね・・知らんかったわ
-
perl,ruby,javascriptがあってpythonないとかハブられてるな
-
こうなったらYOUが書いChinaよ!
-
(´・д・`)ヤダ
-
そうか・・・まぁ面倒だもんね
-
ワロタ、またやっちまったw
間違って無限ループコード書いてブラウザ固まったww
-
それはブラウザが悪いな
無限ループを検出したら警告するべき
-
そういうもんなのか
-
javaのスタック浅いから自前で実装したいけどどうやってやるんだろう
-
スタックってこれ?
Stack (Java Platform SE 6)
http://docs.oracle.com/javase/jp/6/api/java/util/Stack.html
-
そのスタックの説明に↓これ使えって書いてあるけどこっちのほうの話?
ArrayDeque (Java Platform SE 6)
http://docs.oracle.com/javase/jp/6/api/java/util/ArrayDeque.html
-
javascriptでクラス(オブジェクト?)の設計誤ったわw
フィールドとかはJavaみたいなゲッターセッターのほうが無難だわな
とくにjavascriptの場合だと未定義の名前でもアクセスできるから()つけない呼び出しは危ないわ
名前の書き間違えのリスクを考えてなかった、書き直しだあ・・・
-
それだけどjavaでlisp処理系の実装で再起を深くするとネイティブスタックだと
すぐスタックオーバーフロー出るから自前でスタック実装できればいいなと思った
-
ttp://iup.2ch-library.com/i/i0937667-1371372856.png
とりあえず描画関数を増やしてみた
これでボタンとか作ればいいのか
-
おお!本格的ですげえな!
-
http://www.geocities.jp/takeiteasy_idontthinkso/mysoft/js_minimal_lisp/index.html
純LISPをある程度整理した、疲れた・・・
-
そろそろ純lispの枠を超えてlispをjavascriptにパースするプログラムとかどうなの
自分が欲しいだけだけど
-
パーズっていう言い方は間違えてるか
-
>lispをjavascriptにパースするプログラム
これってつまりどういうことをするプログラムなの?
-
javascriptを書かなくてもlispで書いたものをjavascriptに変換すれば和田英一さんでもハッピーになれるんじゃないかなという感じ
-
ライフゲームが動いて感無量
ttp://uploader.sakura.ne.jp/src/up123194.png
-
すげえ、マジですげえな
-
>>873
つまりhaxeみたいなトランスレータってこと?
-
こゆのとは違うの?
凄い。JavaScript上で動作するLisp「Javathcript」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
http://www.moongift.jp/2012/08/20120815-3/
-
>>877
javascriptに変換しなくても出来るのかすごいな
俺が想像してたのはhaxeだけどこれなら変換する必要ないな
-
ライフゲームといえば何年か前にヒキ板のプログラミングスレでアップしたことがあったなあ・・・
-
ファイル探してみたら2008年の10月だった・・・もう5年も前だったのか・・・
-
リファレンスマニュアル書いてたら眠たくなってきた
>>879
出来れば見てみたい
というかプログラミング歴長いのにライフゲーム作ろうと思うのか
-
歴は長くてもレベルは低いと言ったろうが!(藁)
-
うpたときのロダのリンクお気に入りに入れてたけど、さすがに5年も前じゃリンク切れか・・・
-
ほいほい、過去にうpったの再ageよ
http://www1.axfc.net/uploader/so/2938897.zip?key=hikky
-
javascript製、このファイルの中でzipファイルになってるのが過去にうpしたやつ
-
何というか無難に動くね
特にこれと言って言うこと無いから困るけど
-
だから、歴は長くてもレベルは低(ry
-
まったくw俺がレベル低いという話を全く信用してなかったのかw
小4からやってて20年にはなるが密度が濃くなったのは大学時代後期からで
それでも2〜3か月に数日思いついたことを試すくらいだと言うたのに
-
でもvisual basicでシューティングゲーム作れてるからね
-
シューティングだと・・・!?まさか純lispのページ以外も見ちゃったの・・・/(^o^)\
-
つかあのレベルのものはVB6のポトペタではそう難しくないと、しかも自機以外は全部手抜きという(爆)
-
いや、普通に見られるだろ・・・
-
VB6はシングルスレッド固定だし、JavaScriptほどではないが変数もかなり自由に色色格納できるし
GUIはポトペタで作れるし、Windowsアプリのやっかいなメッセージ処理いらんし
すごく簡単だよ
-
windows持ってないしMSに捨てられた言語はノーサンキュー
まあちょっとレトロな感じが魅力的だけど
-
VB6はエクセルのVBAやVBScriptと元が同じ系列だからね、エクセルのマクロ作ってる人なんてごまんといるし、難しい言語ではない
そもそも BASIC言語 のスタンス自体が初心者向きなんじゃなかったっけか・・・
まぁだからあのHPで公開してる程度はすごくも何ともないんよ・・・
-
>>874
こゆの作ってしまうあなたのほうが何倍もすごい
-
VB以外でGUIアプリを作ってみようと思ったけど色々考えなきゃならないことが極端に増えるからね・・・CとかJavaとか、煩雑すぎる・・・
unix系のGUIは入門書のサンプルコードを走らせるくらいしかしたことないけど、あれも分かりづらかったなあ(かなり古いやり方が載ってる本だったけどね)
-
うpしたもののさっきはブラウザで動かしてみたしかしてなかったけど
ソースコードのほう見たらイミフすぎてワロタ
-
どういう原理で動いてんのか自分ですら分からんw
for文多いし謎の処理やたら多いし
-
パっと見としては無駄が多そうな印象だったが、今ライフゲームを作ろうと思っても仕組みを覚えてないからソラでは作れないなあ・・・
-
こういうの悪い設計というのかなあ、可読性ゼロすぎだわ
-
というか似たようなファイルがごちゃごちゃしててどれがどれだかわからんよ
-
当時直しながら何度かageたから
どれがどれだったか俺も分からんからまとめてageた
-
純lispの論文見てて気になったんだけど
((label F (lambda (X) X)) (quote ABC))
こういう感じのって関数が実行されるの?
もしそうなら
((quote CONS) (quote A) (quote (B C))) とかも関数が実行されたりするの?
これで実行するようには俺の純LISPは作られてないからさ・・・
-
それともlabel (define)の戻り値は設定した値が戻り値になったりするの?
-
今んとこ俺の実装だと(label A (quote B))の戻り値はAになるんだけど、普通のlispがこれの戻り値がBになるのなら、作り直さなきゃならんのよね・・・
-
あ、普通のlispだとlabelじゃなくてdefineなんだっけか、
-
うーむ、こればっかはIBM704ってマシンの仕様ってことになるから誰にも分からんか・・・
-
リストの先頭は評価せず
特別式関数マクロ名(アトム)かlambdaのリストかlambdaのリストを設定してるlabelのリストなら関数として認識するってことか?
うーむ、仕様がよく分からん、やはり何らかの実装を試す必要があるのか・・・
-
暑いし、また明日考えるとするか、寝よう、熱帯夜すぎる
-
(define var value)でvarを返す仕様かvalueを返す仕様か決めるだけじゃないの
((label F (lambda (X) X)) (quote ABC))
このlabelがvalueを返す仕様ならFにlambdaをセットしてからvalueを返してるんじゃないかな
-
そこは仕様次第なのか、わかった、ありがとう
-
LISPについてググってたらガベージコレクションってLISPが発端だったんだな、驚いたわ
-
エラー検出時のメッセージどうしよう
-
どうしようというのは日本語文章にするか英語文章にするかみたいな悩み?
-
ちょっとここにメモらせてね
Lisp ・ oraccha/omicron Wiki ・ GitHub
https://github.com/oraccha/omicron/wiki/Lisp
-
ちなみの俺の純LISPのエラーメッセージは今でこそ英語メッセージだけど
でたらめ英語だからあとで全部を日本語に直していく予定
-
俺が困ってんのは表示するメッセージの話じゃなくて
エラー検出時にピンポイントで誤ってるところがわかるように表示する方法なんだよ
|
|
掲示板管理者へ連絡
無料レンタル掲示板