レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
ヒッキープログラミングスレ
-
プログラミングの話題のスレ
質問・相談
初心者からプロまで
プログラミングに関することなら何でもOK
-
そういえば不等式実装してないのか
それなら難しいかも
-
不等式どころか数値とかいう概念がないからね、種別がシンボルとリストだけだし
-
数値の概念がないので足し算引き算もない
純LISPはチューリング完全をテストするための必要最小限しかないから
-
そう言えばそうか
-
強引に足し算を作ってみた
(label add1 (lambda (x) (cond ((atom x) (cond ((eq x '0) '1) ((eq x '1) '2) ((eq x '2) '3) ((eq x '3) '4) ((eq x '4) '6) ((eq x '5) '6) ((eq x '6) '7) ((eq x '7) '8) ((eq x '8) '9) ((eq x '9) '(0 . 1)) ('T 'nil))) ('T (cons (cond ((atom (add1 (car x))) (add1 (car x))) ('T (car (add1 (car x))))) (cond ((atom (add1 (car x))) (cdr x)) ('T (add1 (cdr x)))))))))
(add1 (add1 (add1 '(7 9 . 9))))
-
一箇所間違えてたw
((eq x '4) '6) → ((eq x '4) '5)
-
足し算といっても1を加算するだけだけどw
-
リスト構造と言う考え方を少ししてみたら
>>518氏が問題視してたとこがやっとわかった
ようはC言語の文字列みたいに処理の最後にnull(nil)が来ることで処理を打ち切るのだとしたら
(A . B)みたいなリストはやたらと扱いにくい、つかリストの終わりが発見できないのな
IBM704ってのはどう解決してたんだろうか
-
ああ、1文字ずつ処理を続ければnilじゃなく閉じ括弧で判断すればいいのかな、ドットの有無で何らかのフラグとか立てておけばよさそうだし
俺がやったみたいに全部読み込んで変換してじゃ昔のマシンじゃメモリ不足だろうしね
-
前も行ったけど字句解析と構文解析を混ぜて考えないほうがいいよ
先頭のトークンを取り出してそれが括弧かアトムかで処理をしていくのがいいと思う
他の人の実装見てもそんな感じだったし
-
なるほど、括弧の情報を残してリスト化するのか、そういう発想に至らなかったわ
他の人の実装みたりとか勉強熱心だね、
-
ひとまず純lisp作りにとりかかっておきながら
パーサとか字句解析とか構文解析などこれらの単語の意味が分からないので
ググってくるは
今回みたいな一連のコードからプログラム起こす処理なんて初めてやったことだし
無知すぎてアドバイスすら理解してない自分が情けない(´・ω・`)
-
自分で使っておきながらSyntax Errorの意味すら知らんかったりする
N88-BASICで遊んでた頃よく出てきたエラーメッセージだから何となく使ってみただけ
-
おけおけ、分かった、パーサって構文解析って意味なのか、字句解析のほうだと勘違いしてた、
字句解析はスキャナやトークナイザって言うのね、
>>482で書いたhoge関数はパーサじゃなくてスキャナやトークナイザってやつのほうだったよ
日本語も外来語も難しす
-
> 自分で使っておきながらSyntax Errorの意味すら知らんかったりする
直訳すればすぐにわかるだろww
というかN88-BASICの頃からプログラミングやってんのか大先輩だな
-
構文解析のほうは>>484で書いたhoge2関数のほうね
つまり一応はアドバイス通りに字句解析と構文解析は分離してたは
よかったよかった
-
>>607
先日書いた通り英語力が壊滅的なので語彙力がない
まぁ英和辞書使えば分かるだろうけど面倒だったし、特に広く公開するフリーソフトにするわけでもないし
そこらへんはテキトーでいいかなと
-
ちなみにN88-BASICが使えるパソコンが家にあっただけで
N88-BASIC全盛期にやってたわけじゃないよw
N88-BASICで遊んでたころはWindows98とかWindowsMEとかWindows2000が出てた頃だから
過去人や老人ってわけじゃないよw
-
まぁまだあの時期はベーマガにN88BASICのプログラム投稿とかまだまだあったけどほとんどVBに成り代わっていったなあ
-
それでも10年くらいやり始めた年が違うよ
3年前にハローワールドで喜んでたくらいだし
-
当時は型の古い廃棄予定のパソコンを貰ってきて遊んでたから
時代はWindows98とかMEの時代だったのにWindows3.1だったからねあのパソコンw
ベーマガ掲載の投稿プログラムをちょろちょろ試すくらいしかしてなかったな
-
しょぼいのやってたときもプログラミング歴として加算してもよいのかねwそんなこと言ったら小4のときから学校のクラブでロゴライター2使ってたし
初めてプログラミングに関わったときからの時間なら単純に20年経過になるけど、だからといって年数分のレベルがあるかというとそうではないしなw
日本は能力主義じゃなく変な年歴主義なのはどうかと思うがプログラミングのスキルやレベルなら>>612のほうがかなり高いと思うよw
-
いや、lisp処理系がうまく作れるかどうかだけだからそういう判断はできないよ
web関連はさっぱりだしGUIはtcl/tkのラッパーとjavaのswing少しくらいしか使えないしMP3プレーヤーも作れない
-
俺はこの人生でプログラミングをやりこんできたわけじゃないしね
最近は純lisp作りに夢中になってたせいで毎日のようにやってたけど
多くて2〜3か月に1回くらいの頻度で思いつきを形にしようとして途中で飽きるを繰り返してきてるし
実質的な能力でいえばプログラミング歴1年くらいの人にも劣ると思ってるわw
-
この純lispもちゃんと仕上げるかどうかは飽きるか否かにかかってるしねw
たぶんまた日が経つとパーサの意味を忘れてると思うわ
-
>>615
俺っちvb6を使ってるからgui開発はかなり楽ちんな言語だし
mp3プレーヤーなんてmciSendStringでの作り方紹介してるサイトのコピペだけで作れるし
javaのswingなんてhello world表示するの作っただけで途中で投げちゃったわw
-
web関連も俺っちも詳しくないからかなり酷い作りになってるの多いしね
外部ライブラリ拾ってきて使うのあんま好きじゃないからjavascriptのライブラリのjQueryとか使ったことすらないしw
-
純lispは完成したんじゃないの
気に障ったのなら謝る
-
まぁまぁ遊んだことある言語の羅列なら
ロゴライター2、N88-BASIC、QBASIC、CA-Realizer、Visual Basic6.0、Java ME、JavaScript、PHPってとこくらいかなあ
ちょっと触ったくらいの言語は(ハローワールド書いただけどか)
C言語、C++、C#、ActionScript、Java、Visual Basic .NET、VBA、VBScript、HSP、Delphiってとこかなあ
GUIで何かアプリ作るのなら慣れたVB6でなら多少のものは作れるけどだいたい途中で飽きて投げ出すし
エディっションがLearning Editionという機能制限版だから出来ることが非常に少なくて
ある程度使えるようになった(6〜7年くらい前か)あたりで機能制限が問題にはなってきてたね
-
>>620
ああ、なんかゴメン、他のスレとかでよく「w」を使うからつい
純lisp完成でテンションあがってたので何か気を悪くするようなレスしてたらすまない
-
俺の態度が何か尊大だったりしてるのなら、そういう性格だからヒキになってしまったと思ってくれればいい、周りとの衝突が多かったからな
-
人間関係を築くすべもないし、まぁこう自分語りのレスを超連投しまくったりするわけだしね、他のスレでもよくやって注意をよく受けるよw、以降気を付けます
-
>>620
純lispの完成っていうかなんていうか
間違いのないlispのコード入れたらちゃんと処理されるというだけで
たとえば括弧の数が合ってないコード入れたり、複数行に分けて書いたりとかそういうのは読み込めなくて処理できないし、コメント行も文頭以外は処理できないから
純lispのevalを作って試すには使い勝手が悪すぎなので大幅な手直しが必要なのと、
あとメンテしやすいようにソースコードの整形や名前等のつけなおしとかしたいし、全体のアプリとしての完成はしてないんよ
プロセッサというやつ(?)だけが完成したってかんじ
-
字句解析やら構文解析やらを作れたのは今回が初めてだから今もすごく興奮してるっていうか
以前にもBASICを作ろうとかjavascriptとかの文法ミスを見つけるのとか思ったことはあるんだけどどれもかなり序盤のほうで放り出しちゃってるし
唯一Java MEで作ったプログラミング(?)ぽいのは字句解析とか構文解析とか必要ない作りだしね
-
まぁこれで数値計算とか文字列処理とかできるレベルのlispまでに作りこむことができればプログラマの初歩レベルくらいの今の能力を超えられるかもしれんが
流石にそれは面倒だし、lisp用のエディタがないとlispコードを書くのはかなりしんどい、括弧の数が合わなくて何度エラー出たことか、
純lispの論文も括弧の数がおかしなことなってて解釈に苦労したし
-
じゃあ次はリファクタリングだな
俺は必要な機能一覧をTODOにざーっと書いてそれをひとつずつ満たして言ってる
Javaだからswingを使ってグラフィック機能も作れそう
-
あとどちらかっていうと今の興味は純lispだけで数値演算ぽい処理できたら面白いだろうなと思ってる感じだし>>597みたいなのね
-
lisp用のエディタならemacsが王道かな
windowならxyzzyの方がいいと思うけど
俺もwindows手に入れてxyzzyとUnixのツールを移植したものでプログラミングしたいよ
-
まーたググらせやがって、リファクタリングとか知らんちゅうの(笑)、
変数導入時にあるていど整理したからさほどの整理量じゃないけど、整理することをリファクタリングというのか
ただ整理するだけというわけじゃなく改良・修正とバグ取りもするからリファクタリングという処理の段階ではないね・・・
-
unix系なのか、すごいな
unix系はちょろっとだけ触ったことあるけど本当にちょろっとなので勝手とかほとんど分からないわ(藁)
javaスレで見かけた話だとunix系でのjavaは特にguiは具合が悪いとか聞いたな、まぁ試したことないから知らんけどね
-
上のコード見て思ったけどなんかjavascriptの割りには文字列処理のやり方チマチマしてるな
もっとズバーと置換とか分割とかやってうまくやる方法あると思うけど
-
> unix系でのjavaは特にguiは具合が悪い
gtkを使ったものと比べればそう感じる時はあるね
でもjava/swingで作ったv2cなんかは人気だしそれほどでもないのかもしれない
-
先ほどもいったけどプログラミングレベルはプログラミング歴1年未満の人にも劣ると自信を持って言えるレベルなので(爆)
javascriptもちゃんとした文献読んで勉強したってわけじゃなくて、javascriptスレでも嘲笑される とほほの入門 とかいうサイトでやったもので
-
javascriptに定番のテクニックとかほとんど知らんのよ、javascript使う機会も多いわけじゃないし、調べよう覚えようって気にならないし
-
んで、ベーマガとかに掲載されてたのは化石レベルのコードばかりだからスタイリッシュな現代のコード事情にも精通してないしね
-
つかベーマガにも素晴らしいコードとか載ってたはずだろうけど、俺が理解できるのは初心者投稿のプログラムばかりだったから特に役にも立って無いとく感じかなw
-
こう思ってくれればいいよ
毎月1回だけ腕立て伏せを5〜6回するという生活習慣を20年続けたら腕の筋肉はムキムキになるか?そりゃならんだろうw
俺のプログラミングレベルもスキルも知識もそういう次元だから
あまりまっとうは話はちょっと分からんw
-
そういやふとsyntaxが気になったので辞書引いてくるわ
-
やっべ、くだらん自分語りレスを続けたせいでポイントサイトめぐりが終わらんかった・・・orz
-
自分でも分かってるんだけどね、自分語りのレスなんて他人が読んでも面白いもんってわけじゃないし、時間の無駄だって、学習能力低すぎだわ、まったく2chは恐ろしいところだ(ここ2chじゃないけど藁)
-
ネットを利用した小遣い稼ぎってどれくらい貯まるの?
前から興味あるけど手が出せない
-
ポイントサイト・小遣いサイトはうまくやる人は結構稼ぐみたいだけど
俺は毎日3〜4時間はかかって年間で3〜4千円程度にしかならないよ
-
ちなみに複数の小遣いサイトをめぐるから3〜4時間かかって
ここの小遣いサイトだと年間で500円前後くらいしかたまらない
全部合わせて年間3〜4千円
-
平仮名になっちゃったけど「個々」ね
-
ちなみにブログにアフィリエイトリンク貼ってるけど偶然に1回入ったことあるくらいでこの6〜7年でそれ以外の成果ポイントは無し、そもブログの更新頻度やリンク貼りが怠慢だから仕方ないけどね
-
そんなに厳しいのか・・・
もしかして巡回プログラム作れば動かしてるだけでお金が入ってきたりするかな
-
無職板のプログラミングスレの人みたいにアプリ開発とかで稼げればいいのだろうけど
残念ながらそういう次元じゃないし、飽きっぽい性格ゆえちゃんと完成させたアプリなど無いし
(ハローワールド出力をそれを持って完成とするなら、あるにはあることになるけど笑)
-
>>648
巡回プログラムというのがどういうもんか分からんけど
javascriptやflashなど動的コンテンツや検索行為でポイントを貯めるのが多いから
そういうのって出来るのか分からん
それと、俺がやってるのはクリックとかコンテンツプレイや検索行為とかで貯めるポイントばかりだから
普通の主婦とかの会員は小遣いサイト経由での買い物やサービス利用や登録で結構稼いでるようだよ
一銭も金使わずにポイント貯めようというのがそも無理ゲーな感じではある
-
あと一銭も使わずにポイント貯めていこうとすると、毎日やらんとほとんどたまらない、毎日やって年で多くて500円前後だからね・・・
ヒキってる事情が弱いなら素直に脱ヒキしてバイトしたほうが何千倍も稼げる
-
無職板のプログラミングスレ見てみたらテンプレが関数型言語ばかりでワロタ
>>650
やっぱり無理そうか
でも検索して貯まるならまだ作れそうな気がする
-
検索も検索ワードをチェックしてるからそれなりに単語を用意せねばならんし、javascriptやcookie必要なの多いし別窓開くのばっかだし
単純なpostやgetだけでいいのなら簡単だのにね
-
テンプレまじまじと読んだことないから分からんかったがlispとかもあったんだなあのスレ
-
ひとまず気になるので「関数型言語」というのを調べるか、
俺ぜってー共同開発とかそういうの無理だわ、言葉知ら無さ杉はコミニュケーション取れないからな
情報処理試験(?)の問題とかに載ってる言葉とかあれの大半は覚えて扱えないと
職業プログラマとかは無理なんだろうな、意味が通じない相手じゃ仕事にならんもんな・・・
-
そんなことよりもっと綺麗なコード書いたほうがいいと思う
-
コード貼っつけはしたものの、事後整形が大半だからな
人に読ませたり共同作業したりを想定してないから
記述に決まったルールとか設けてないし
何よりもエディタはただのテキストエディタ使ってるから自動整形すらない
まぁ読みやすさを前提にコード書いてても結局あとで見直したりメンテしたりすることほとんどなかったからなあ
前作ったアプリを修正するのではなくてゼロから作り直すってのがほとんどだし
-
まあ人のコードを汚いと言っておいて自分のもあまり綺麗ではないんだよな
今書いてる&optionalの部分なんかいい具合に絡まってるし
-
ひとまずwikipediaの説明がひどく分かりづらかったので「関数型言語」の理解は性急なものでもないゆえ、またヒマなときに調べることにするとする
-
なぜコードを貼り付けるのか?
自分はこんなことが出来るんだよ!と主張している
小さい子供と同じ、自分が出来るようになると人に自慢したくなる
そういう心理だろう
-
自己顕示欲の一種、人間なら持ってて当たり前田のクラッカー
-
うん
-
みなもどんどんプログラミングな話をしていくんじゃ!
-
おっと、純lispプロセッサ完成したと思ってたら
色々試してるうちにバグがいくつかあったわ・・・
はぁ・・・
-
純lisp手直しするの面倒くなってきた・・・
-
字句解析(スキャナだっけ?)のとこをちょいと手抜きすぎた
-
正規表現使わずちゃんと1字1字解析すべきだった・・・
-
今どんなコードになってるのか見てみたい
-
>>668
自分のHPにアップしてみた
↓コード(本体)
http://www.geocities.jp/takeiteasy_idontthinkso/mysoft/js_minimal_lisp/lisp3.js
↓テスト用ページ
http://www.geocities.jp/takeiteasy_idontthinkso/mysoft/js_minimal_lisp/index.html
-
結構本格的になってるけどNILとTにquoteを付けないとダメってどうなの
あとUIは出力結果が見難いから上につけたほうが良さそう
まあ色々試してみたけど穴が見つからなくて(´・ω・`)
-
>NILとTにquoteを付けないとダメってどうなの
wikipediaの純lispのリンク先の純lispの論文がそうなってる↓
RECURSIVE FUNCTIONS OF SYMBOLIC EXPRESSIONS AND THEIR COMPUTATION BY MACHINE (Part I) (12-May-1998)
http://www-formal.stanford.edu/jmc/recursive.html
-
NILに付いてるのは見つからなかったけどTには付いてるね
-
>NILとTにquoteを付けないとダメってどうなの
まぁ言われてみて気づいたけど確かにちょっとおかしな部分があるね
緑字で展開される中にあるNILは大丈夫くて記述するときはquote必須というのはちょっと処理としておかしいね確かに
-
ちょっと直してくる
-
修正してきた
NILは通るようになった
Tについてはもう一度論文見直してくる
-
当初はTもNILもquoteなしで通るようにしてあったんだけど
論文見てたらquoteがついてたから付けるもんなのかなと該当部分をサクっと削除したんだけど
-
ちょっと混乱してきた
-
Common Lispの仕様見るとTもquoteいらないかんじか
-
そうだね
でもTはTじゃなくても(quote True)とかでも問題ないしどうでもいいと思う
-
TとNILをquoteなしで実行できるように戻してきた
-
>>679
いろいろとアドバイスや指摘ありがとうね
すごく助かるわ
-
俺飽きっぽすぎてワロタ
手直ししないで純lisp用のスキャナとトークナイザを作ってたわ
-
字句解析をスキャナとトークナイザに分断するとそれぞれはかなりシンプルな処理に収まるのな
ただ工程が増えるし2重走査してる感して可読性が高くなるかわり無駄処理が増えるイメージだ
-
それやり方間違ってる気がする
-
字句解析機とか構文解析機とか自動生成するのとかあるとか世の中すげえな
-
効率のいい方法は
トークンを一つ取得
そのトークンがアトムを表すならアトムにする
開き括弧ならそれに対応する閉じ括弧までをリストにする
という感じでやっていく
-
lex/yaccは覚えるの面倒そうだな
まあlispには無用の長物
-
うん、そのほうが効率よさそう
-
純lispなんかにかまけてないでさっさとmp3プレーヤーを作ればよかったと思えど
純lispが面白いからそっちのほうばかり気になってしまう
今使ってるmp3プレーヤが恐ろしいくらいに使い勝手が悪い(これも俺が作ったのだけど)
ああ、まいった
-
自作lispでファイル入出力出来るようになったし結構実用的に使えるようになってきた
あとはウィンドウ操作さえできれば完成だと思うけど正規表現トークンとか使えるようにしたいな
-
それはすげえな
色々できるもん作れるとかすげえよ
-
ゆくゆくはそのlispを公開とかするの?
ベクターとかはオワコンかもだけど
無料で公開とかならlinux系ならパッケージシステムとかに登録するのかな
|
|
掲示板管理者へ連絡
無料レンタル掲示板