Lisp Scheme Part41 (855レス)
Lisp Scheme Part41 http://mevius.5ch.net/test/read.cgi/tech/1531587928/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
431: はちみつ餃子 ◆8X2XSCHEME [sage] 2021/07/18(日) 10:09:27.74 ID:+Ch+KzUq >>430 > 書き捨てなら抽象度は低い方がよいのが原則じゃないか? 手間とのトレードオフで抽象化層をわざわざ作るのを避けるという意味ならそうだけど、 多様な語彙 (標準ライブラリ、またはそれに近いもの) がすでに揃っている中 から選べるなら状況をより適切に表しているものをピックアップしたほうが わかりやすいし手間も少ないでしょ。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/431
432: デフォルトの名無しさん [sage] 2021/07/18(日) 10:13:20.17 ID:2Hl3gQcn ポエムだけど、状態機械ともロジックは等価だよね 二項漸化式を例に 仮引数-呼び出し 末尾再帰 a b accum - b (next b) accum' do a b result - b (next b) result' 状態機械 a b state - b (next b) state' 状態機械は普通遷移テーブルを与えて考えるけど、制御構造で動的に割り振れば前の二者になる 状態を引数で受け渡すことで、ステートフルな計算を実現する http://mevius.5ch.net/test/read.cgi/tech/1531587928/432
433: デフォルトの名無しさん [sage] 2021/07/18(日) 10:18:13.98 ID:2Hl3gQcn >>431 その文章には賛同するけど、その線引は深入りすると宗教戦争になりそうなやつだな… 忘れてくれ http://mevius.5ch.net/test/read.cgi/tech/1531587928/433
434: デフォルトの名無しさん [sage] 2021/07/18(日) 10:31:34.34 ID:2Hl3gQcn 'formをテーブルに書き込んでしまえば… http://mevius.5ch.net/test/read.cgi/tech/1531587928/434
435: デフォルトの名無しさん [sage] 2021/07/18(日) 10:43:00.23 ID:iK76XXqo 状態機械の定義にそぐうかは詳しくないので分からないけど、表で管理するのは見やすそう でもデータ構造中に保持する限り反復に翻訳される可能性は皆無だろうな http://mevius.5ch.net/test/read.cgi/tech/1531587928/435
436: デフォルトの名無しさん [sage] 2021/07/18(日) 22:30:22.92 ID:wZnHH9/v do構文は何がどこかすぐ忘れる named letはうる覚えでもなんとかなる ただのletの亜種だから断然読みやすい http://mevius.5ch.net/test/read.cgi/tech/1531587928/436
437: デフォルトの名無しさん [] 2021/07/18(日) 22:33:40.35 ID:3JZJIWfz ×うる覚え ○うろ覚え http://mevius.5ch.net/test/read.cgi/tech/1531587928/437
438: デフォルトの名無しさん [sage] 2021/07/20(火) 02:01:05.64 ID:DJlNseKm すみませんscheme初心者なのですが累乗を求めるプログラムが動きません http://www.nct9.ne.jp/m_hiroi/func/abcscm04.html を参考に、let と cond を使って書いてみたのですが let で局所変数を導入した瞬間に動かなくなりました 何が間違っているのか指摘していただけると幸いです (define (pow x y) (let ((z (pow x (quotient y 2)))) (cond ((zero? y) 1) ((zero? (modulo y 2)) (* z z)) (else (* x z z)) ) ) ) http://mevius.5ch.net/test/read.cgi/tech/1531587928/438
439: デフォルトの名無しさん [sage] 2021/07/20(火) 02:30:15.19 ID:yRdGIeGP infinite recursion http://mevius.5ch.net/test/read.cgi/tech/1531587928/439
440: デフォルトの名無しさん [sage] 2021/07/20(火) 03:11:09.60 ID:DJlNseKm (z (pow x...)) の評価が ((zero? y) 1) の前に起きてるのが原因なんですね z に (pow x..) を束縛だけして評価しないみたいなことって出来るんですかね? (define (pow2 x y) (if (= y 0) 1 (let ((z (pow2 x (quotient y 2)))) (if (= (modulo y 2) 0) (* z z) (* x z z))))) みたいに if 文に分解して (= y 0) 1 を (let ((z (pow2 x ..) の前に出すしかないんでしょうか let と cond を一緒に使うとスッキリ書けそうなのですが… http://mevius.5ch.net/test/read.cgi/tech/1531587928/440
441: デフォルトの名無しさん [sage] 2021/07/20(火) 09:22:43.66 ID:0xL9gg55 (define (pow x y) (let ((z (lambda()(pow x (quotient y 2))))) (cond ((zero? y) 1) ((zero? (modulo y 2)) (* (z) (z))) (else (* x (z) (z)))))) http://mevius.5ch.net/test/read.cgi/tech/1531587928/441
442: デフォルトの名無しさん [sage] 2021/07/20(火) 10:43:12.24 ID:aBN0Hnxa 計算量悪化してない? http://mevius.5ch.net/test/read.cgi/tech/1531587928/442
443: デフォルトの名無しさん [sage] 2021/07/20(火) 11:23:57.77 ID:0xL9gg55 (define (pow x y) (let ((z (lambda()(pow x (quotient y 2))))) (cond ((zero? y) 1) ((zero? (modulo y 2)) (set! z (z)) (* z z)) (else (set! z (z)) (* x z z))))) http://mevius.5ch.net/test/read.cgi/tech/1531587928/443
444: デフォルトの名無しさん [sage] 2021/07/20(火) 12:21:34.41 ID:27sTwTCb ifとletを使うのが一番いいと思う (define (pow1 x y) (let ((z (delay (pow1 x (quotient y 2))))) (cond ((zero? y) 1) ((zero? (modulo y 2)) (* (force z) (force z))) (else (* x (force z) (force z)))))) (define (pow2 x y) (let ((z #f)) (cond ((zero? y) 1) ((begin (set! z (pow2 x (quotient y 2))) (zero? (modulo y 2))) (* z z)) (else (* x z z))))) http://mevius.5ch.net/test/read.cgi/tech/1531587928/444
445: デフォルトの名無しさん [sage] 2021/07/20(火) 12:42:50.05 ID:DJlNseKm >>443 なるほどアリティ0の無名関数として束縛してやれば定義時に評価されずに済むんですね 評価したいときはリストにすれば評価されると めちゃくちゃ為になりました ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1531587928/445
446: デフォルトの名無しさん [sage] 2021/07/20(火) 13:00:13.21 ID:DJlNseKm >>444 やはり自然なのはifとlet使った書き方なんですかね そもそも明示的に遅延評価を表すシンタックス形式(delay)があるんですね勉強になります ありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1531587928/446
447: はちみつ餃子 ◆8X2XSCHEME [sage] 2021/07/20(火) 16:19:35.74 ID:BjsPOMc7 計算量のことを言うなら繰り返し二乗法を使うのがスマートやろ。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/447
448: デフォルトの名無しさん [sage] 2021/07/20(火) 17:16:38.64 ID:FEwdsMz6 force 使うの大袈裟すぎない? 440で全く問題ないと思ったけど http://mevius.5ch.net/test/read.cgi/tech/1531587928/448
449: はちみつ餃子 ◆8X2XSCHEME [sage] 2021/07/20(火) 17:33:51.23 ID:BjsPOMc7 元になる数式をなるべく形式を変えずに書きたいみたいな要求はあるんじゃないの? プログラマ的視点で見れば >>440 の形に不自然さは感じない (むしろ比較的自然だと思う) けど、 理論家がコードに書き起こすときにはコードを変形させるよりは 遅延を明示したほうがすっきりと感じることだってあるだろう。 そこらへんは何が正しいとは言えないけど、 現時点で Scheme を学習中の人みたいなので色々な方法に触れておけば どれかは役にたつこともあるかもね。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/449
450: デフォルトの名無しさん [sage] 2021/07/20(火) 17:41:31.79 ID:yRdGIeGP こんなんでもいいんじゃない (define (pow2 x y) (if (= y 0) 1 (let ((z (pow2 x (quotient y 2)))) (* (if (= (modulo y 2) 0) 1 x) z z)))) http://mevius.5ch.net/test/read.cgi/tech/1531587928/450
451: はちみつ餃子 ◆8X2XSCHEME [sage] 2021/07/21(水) 23:35:17.25 ID:tIqEOSex Racket 8.2 がリリースされておった。 https://blog.racket-lang.org/2021/07/racket-v8-2.html http://mevius.5ch.net/test/read.cgi/tech/1531587928/451
452: デフォルトの名無しさん [sage] 2021/07/29(木) 12:26:00.90 ID:AB6awnRN トイプログラムをチューニング合戦やめーや http://mevius.5ch.net/test/read.cgi/tech/1531587928/452
453: はちみつ餃子 ◆8X2XSCHEME [sage] 2021/07/29(木) 14:35:36.73 ID:lV+mYu1n 簡単な場合をよく考えられないなら応用的状況ではもっと出来ないよ。 応用ができるようになってからなら枝葉は後回しにすべきだけど。 (いわゆる「早すぎる最適化は諸悪の根源」ってやつ。) あと、単にこのスレってあまり話題ないから。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/453
454: デフォルトの名無しさん [] 2021/08/29(日) 19:48:00.40 ID:ExQfKpCF Parenscriptとclojurescriptのメリットとデメリットどこかにまとまってないかな 主力をcLかclosureのどっちにするかで悩んでる http://mevius.5ch.net/test/read.cgi/tech/1531587928/454
455: デフォルトの名無しさん [] 2021/09/01(水) 11:05:24.22 ID:3cqZfQ8E racket から pythonのtensorflowとか使いたいのに まともなpython ffiが見つからない racket死んでる? http://mevius.5ch.net/test/read.cgi/tech/1531587928/455
456: デフォルトの名無しさん [] 2021/09/03(金) 17:00:38.92 ID:w5919iNp フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、 “テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡 https://prtimes.jp/story/detail/DBnPOktyljr テレワークの一般化により、11月にはテレワーク可能案件83.7%へと増加。 2021年、フリーランスのトレンドは「移住&テレワーク」と予測 https://prtimes.jp/main/html/rd/p/000000045.000050142.html リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、業務委託契約の求職者と企業をマッチング https://www.value-press.com/pressrelease/262778 1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の 人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現! https://www.nishinippon.co.jp/item/o/713384/ 新潟県、移住してきたテレワーカー/フリーランスに最大50万円を支給 https://internet.watch.impress.co.jp/docs/news/1287094.html 茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金 https://internet.watch.impress.co.jp/docs/news/1281120.html 長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給 https://internet.watch.impress.co.jp/docs/news/1274735.html フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の 『ものづくり・商業・サービス補助金』とは?概要や条件を解説 https://freenance.net/media/money/4255/ 『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル https://prtimes.jp/main/html/rd/p/000000051.000010457.html http://mevius.5ch.net/test/read.cgi/tech/1531587928/456
457: デフォルトの名無しさん [] 2021/09/04(土) 12:17:58.77 ID:7RPQ9cbD hy一時期話題になったけど今は誰も使ってない http://mevius.5ch.net/test/read.cgi/tech/1531587928/457
458: デフォルトの名無しさん [] 2021/09/04(土) 13:00:17.62 ID:P/r0boNY 春頃にLispマシンの話題になっているが、 TAOのコードは結局Public Domainに出来ないのかな https://www.nue.org/nue/tao/celis/index.html http://mevius.5ch.net/test/read.cgi/tech/1531587928/458
459: デフォルトの名無しさん [sage] 2021/09/04(土) 17:09:55.40 ID:jSSzYM7r だいぶん昔にjaistでtaoのイベントがあったが同様の質問が出たが権利問題が解決できないらしく関係者にさえ配布できない状況らしい lispの勉強会で遭遇した人の話なので風の噂レベルでスマンがガッカリしたのを思い出した.エミュレーションもデモしたらしい http://mevius.5ch.net/test/read.cgi/tech/1531587928/459
460: デフォルトの名無しさん [sage] 2021/09/05(日) 06:20:35.31 ID:pE5Z7TQ6 quickdocs復活してるな http://mevius.5ch.net/test/read.cgi/tech/1531587928/460
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 395 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s