Lisp Scheme Part41

2018/07/15(日) 02:05:28.62ID:oGr67yTf
Common Lisp、SchemeをはじめとするLisp族全般のスレです

■前スレ
Lisp Scheme Part40
http://mevius.5ch.net/test/read.cgi/tech/1426481152/

■テンプレ
ttp://wiki.fdiary.net/lisp/

■関連スレ
【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net
http://mevius.5ch.net/test/read.cgi/tech/1483498849/
【GNU】スクリプト言語 Guile【scheme】
http://mevius.5ch.net/test/read.cgi/tech/1239985829/
【入門】Common Lisp その11【質問よろず】
http://peace.2ch.net/test/read.cgi/tech/1411307361/
【Scheme】Schemeインタプリタ Mosh Part1【Lisp】
http://peace.2ch.net/test/read.cgi/tech/1272469779/
【魔法】リリカル☆Lisp【言語】
http://peace.2ch.net/test/read.cgi/tech/1183396621/
Lisp@UNIX版
http://mevius.5ch.net/test/read.cgi/unix/1019926525/
2021/04/07(水) 22:28:51.32ID:0y6O4yId
GNUは、というかストールマンが目指してるのはフリーな(自由な)CとLispの環境だと思うんだよね
2021/04/07(水) 22:50:57.97ID:BC88Bm4+
guileをゴリ推してるけどなにそれ状態だよなー
特段良いとは思わないけどlisp押ししてくれる貴重な権力者
正直C協調性だとか拡張向きだとか今時普通なんで売れないと思います
2021/04/07(水) 22:52:05.81ID:BC88Bm4+
応援のつもりで一応入れてる
ちゃんとダウンロード数カウントしてるか知らんが
2021/04/08(木) 01:27:32.57ID:d0EnvaGP
Guile も良い処理系だよ。
Windows ではいまいち使い勝手が良くないからワイはあまり使わんけど。

GNUプロジェクトとして開発しているだけあって、
ライセンス的にもビルドプロセス的にもGNUのソフトウェアとは連携しやすいから
個別のソフトウェアとしてどうこうというだけでなく
GNUプロジェクトであることに意味があるんだと思う。

ただアプリケーションの拡張用に Guile はリッチすぎる気がする。
ライブラリはホスト環境 (アプリケーション) 側で用意するから
言語処理系の側は単純なほうがありがたいことが多い。
GIMP が TinyScheme をベースにしてることからもわかるように、
拡張用言語はこんくらいの規模でいんだよな。
2021/04/08(木) 18:16:52.22ID:IR9u3KhO
GNUといえばEmacs
最も普及しているLisp環境
379本田
垢版 |
2021/04/09(金) 05:55:12.32ID:U7WaDuwU
>>361

GitHub - lisper/cpus-caddr: FPGA based MIT CADR lisp machine - rewritten in modern verilog - boots and runs
https://github.com/lisper/cpus-caddr
2021/04/10(土) 00:08:20.59ID:pgV1eSpW
guileはdicoと使うと便利ぞ
dicoはdictと喧嘩しやがるアレなやつだからだが
2021/04/10(土) 00:11:58.64ID:pgV1eSpW
>>379
既にハードも気軽にお手製できる時代だったな…
やったことないんでどこまで気軽か知らんが
382本田
垢版 |
2021/04/11(日) 07:05:56.11ID:vMH2MoUG
>>381
Unlambda.com | Main / Cadr
http://www.unlambda.com/index.php?n=Main.Cadr
Retrocomputing - MIT CADR Lisp Machines
CADR Emulation
2021/05/04(火) 13:30:15.28ID:fppjg2ZR
LispとCの融合ということだと、KCLはLispective-Cなのでは
384本田
垢版 |
2021/05/06(木) 21:07:40.28ID:0MCggaNl
>>377
Guile-based Emacs
http://www.mit.edu/~raeburn/guilemacs/
2021/05/08(土) 16:12:40.38ID:HQQ9X3gD
Racket Programming the Fun Way: From Strings to Turing Machines
https://nostarch.com/racket-programming-fun-way
386デフォルトの名無しさん
垢版 |
2021/05/25(火) 18:47:13.72ID:JJYQeYh+
pというprocedureが何回呼び出されたかを出力したいと思って以下のコードを書きましたが、意図通り動きません。
どうすればいいですか?

(define (cube x) (* x x x))

(define (p x) (- (* 3 x) (* 4 (cube x))))

(define (count_p angle n)
(if (not (> (abs angle) 0.1))
n
(p (count_p (/ angle 3.0) (+ n 1)))))
2021/05/25(火) 18:50:37.18ID:JJYQeYh+
あ、分かりました。
2021/05/25(火) 19:30:00.29ID:xQ/lxTUk
そうか
389デフォルトの名無しさん
垢版 |
2021/06/28(月) 10:43:13.88ID:TRKsA7C/
Schemeで

(newline)
(display 1.0)

のように複数の文?をつなげて実行することができます。

x が正のときに (newline) と (display 1.0) を続けて実行するようにするにはどのように記述すればいいのでしょうか?
390デフォルトの名無しさん
垢版 |
2021/06/28(月) 10:44:02.91ID:TRKsA7C/
>>389

(if (< 0 x) …

と if を使いたいです。
2021/06/28(月) 11:02:31.15ID:PxTgcihw
(if (< 0 x) (begin (newline) (display 1.0)))
392デフォルトの名無しさん
垢版 |
2021/06/28(月) 11:03:43.42ID:7XtL7Dy7
(if (< 0 x)
((lambda ()
(newline)
(display 1.0))))
2021/06/28(月) 14:39:39.18ID:TRKsA7C/
>>391-392
ありがとうございました。
2021/06/28(月) 20:21:41.41ID:3DnBzo4y
condでいい
(cond ((< 0 x) (newline) (display 1.0)))
2021/06/28(月) 21:54:24.27ID:PxTgcihw
今度でいい?
2021/06/29(火) 12:31:46.50ID:aO3q0Gho
implicit progn(begin)が欲しいならwhenとunlessを積極的に使おう
2021/06/29(火) 12:46:42.78ID:aO3q0Gho
色んな書き方が出来るからこそ、most specificなものを使おう
398デフォルトの名無しさん
垢版 |
2021/06/29(火) 13:29:59.66ID:0N5v+m2R
二年前から、どうでもいい駄文が多すぎだな。
2021/06/29(火) 17:27:58.16ID:cKUJRDcK
へーじゃあ君は2年間何してたの
2021/06/29(火) 18:52:26.88ID:yETyFiIt
lispの質問が減って自己紹介みたいな駄文が多いんだよ
2021/06/30(水) 02:43:05.48ID:HrMy06Ib
結局 most specific なものは何だろう
2021/06/30(水) 03:40:26.71ID:hbO/nBwY
when でいいんじゃね
403デフォルトの名無しさん
垢版 |
2021/07/07(水) 05:18:16.92ID:Jk8/Aq6G
stalin って今も最速?
2021/07/07(水) 20:28:05.30ID:Kq6g4muF
スターリンは残酷に最適化するからな
2021/07/07(水) 23:24:28.15ID:690XxCxv
プログラムがr4rsで記述できていてシングルスレッドしばりの競争ならいまでも速い可能性はあるだろうな
だれか追試してくれよ
406デフォルトの名無しさん
垢版 |
2021/07/11(日) 18:50:40.89ID:aa3AN28M
(eq? '(a b c) (list 'a 'b 'c))

を実行すると

#f

となるのはなぜでしょうか?
2021/07/11(日) 19:31:30.75ID:19O1KSs3
eq?はメモリ上の実体が同一かどうかを返すので、値を比較したかったらequal?を使えばいいよ
2021/07/11(日) 20:25:33.03ID:aa3AN28M
>>407
ありがとうございました。
2021/07/12(月) 20:42:52.24ID:O01P9WLY
named let使おうと思ったらCommon lispには無かった
2021/07/12(月) 22:45:17.08ID:u5zIJQm8
(let loop ((n 10)) (if (> n 0) (loop (- n 1)) #t))

(((lambda (loop) (set! loop (lambda (n) (if (> n 0) (loop (- n 1)) #t))) loop) 'dummy-label) 10)
こういう仕組みだからCLで書けなくもないと思うけど
2021/07/12(月) 23:10:07.08ID:eka9NNGK
現代のlispハッカーはみんなloopマクロ使ってるよ
2021/07/13(火) 08:34:35.37ID:egse1qJT
named-lambdaならalexandriaにある
2021/07/13(火) 10:27:19.42ID:A078Hhon
Schemeで、

(+ '3 3)

を評価すると

6

が返ります。

'3 は「3」というシンボルを表わすのではないんですか?
2021/07/13(火) 11:05:03.90ID:jDPJbhfl
>>413
クウォートは評価を抑制するという仕組み。
データ (S式) の世界がプログラムの世界にマッピングされるときにデータの世界のままで留め置く感じ。

識別子はデータの世界ではシンボルなので、(変数として) 評価しなければシンボル自体となる。
3 はデータの世界でも数値の 3 であり、数値はプログラムの世界で評価すると
それ自体になるという自己評価 (self-evaluating) という規則の対象なので
3 はクウォートを付けても付けなくても評価結果は数値の 3 。

ちなみにベクタリテラルが自己評価の対象になるかどうかは変更があったので注意が必要。
R5RS/R6RS では自己評価の対象ではないのでクウォートが必要だが R7RS では自己評価になる。
まあほとんどの処理系は適当に許容したりもするんだけど。
2021/07/13(火) 16:32:31.52ID:NGIJbx4Y
number?で#tなだけで数値をシンボルで実装した処理系もあるかもしれん
2021/07/13(火) 17:10:19.73ID:QSkHhbzy
小さい数値はヒープアロケーションせずにワードに詰め込む (ことで GC 削減して高速化を図る)
ような実装が一般的だったり、同じ内容の文字列リテラルを統合したりすることがある。

eq? が数値や文字列について処理系依存になっているのは
おそらくそういった最適化を許すための配慮なんだけど、
処理が遅くなってでも一貫した扱いをするというデザインを選んだなら
内部的に数値とシンボルと統合することも選択肢としてはあるかもね。

そうしてもユーザー視点ではたいして得なことはないんだけど、
アプリケーションに組み込んで拡張用言語として使うとか
だったらアプリケーション側の事情と馴染みやすいかどうかみたいな視点もあるし。
2021/07/13(火) 19:58:17.06ID:tejz1RXC
数字はreadした時点でnumberになる
それをquoteしてもnumberのまま
quoteするとはevalされないということだ
もちろんnumberをevalしてもnumberのままだ
2021/07/14(水) 06:57:41.65ID:O4vE2Kew
あっそうか
末尾再帰が仕様にないからloopを使うようになってるのかな?
2021/07/15(木) 04:52:42.37ID:eqEigNI9
逆やね末尾再帰でloopを代替できるからイキって仕様からloopを消したったのがschemeやからユーザーもイキるやで
2021/07/15(木) 06:43:25.74ID:S7wkmjz6
末尾呼び出しの最適化が至高の技術のように思っていた時期が僕にもありました
2021/07/15(木) 11:32:01.61ID:d93moyXm
末尾呼出し最適化はあくまでもセマンティクスの話であって、
ループ構文を避ける強い流れがあるわけじゃないよ。

do や named let くらいしか繰り返し構文が用意されてないのは
皆が合意できる仕様をまとめられていないという非常に単純な理由だよ。

R7RS-Large に入れるループ構文の候補としては
・ SRFI-42 (https://srfi.schemers.org/srfi-42/srfi-42.html)
・ foof-loop (http://wiki.call-cc.org/eggref/5/foof-loop)
・ chibi loop (http://synthcode.com/scheme/chibi/lib/chibi/loop.html)
が挙がっている。

まあまだちゃんと議論されてないので他の候補が出るかもしれないし、
結局何も入れないということもあるかもね。
2021/07/15(木) 16:04:48.23ID:MIyHkZEB
アキュムレータ加えて末尾再帰で書くよりはdoを好むわ
ロジックとしては全く等価だし、見やすい方がいい
2021/07/15(木) 16:12:57.83ID:MIyHkZEB
loopキーワードは:を付けてlisp keywordにすればビジュアル的に随分見やすくなるね

ところでloopの独特の言い回しはAlgol由来だと最近知った、downtoとか
esacやfiまで取り入れてたら投げ捨てるけど
2021/07/15(木) 16:15:28.68ID:MIyHkZEB
>>412
sbclが内部でnlet使ってるね
::で参照したりコピペしたりしてるわ

やっぱclに入れた方が良かったな
2021/07/15(木) 16:34:32.82ID:zKeMNTWP
loopしなくてもdestructuring bindやwithの為にloop使うのは我ながら良くないと思う
値を集める節がハマると簡潔に書けるのでつい
2021/07/15(木) 17:45:11.96ID:d93moyXm
慣れた Scheme ユーザーなら末尾呼出し (末尾再帰) になっているかどうかは空気のように判断できるけど、
do で書けるものなら do で書いたほうがそういう判断をする必要さえないわけで、
なるべく抽象度の高い構文 (または手続き) を使うに越したことはない。

大事なのは抽象化で、繰り返しをしているところなら繰り返しに見えるように書くのが筋だろ。
(繰り返しに do という名前を当てるのがどうなんだ……とも思うけど Fortran 由来らしい。)

そういう意味では >>425 が loop をループ以外の用途に使うのは確かに良くは無いんだが、
場合によってはそういうのもイディオムとして定着していることがあるから
意味に忠実にするために冗長になるくらいならイディオムに頼るほうが「わかりやすい」場合もある。

どちらがいいというわけでもなくて全体の匙加減だから難しいよね。
2021/07/15(木) 19:48:28.17ID:eqEigNI9
末尾呼出し最適化をいかした書き方というのは確かにあるのだけれど named let はシンプルな loop に特化していて中途半端なのだよなあ
2021/07/15(木) 21:29:35.37ID:hFBqwrB0
named let 嫌いだわ、構文として紛らわしいだけ
あれはgotoとでも名乗るべき
2021/07/16(金) 08:09:46.64ID:IT8DyczJ
>>428
おいらはすき。letなんてどうせシンタックスシュガー。
2021/07/18(日) 09:56:21.45ID:2Hl3gQcn
書き捨てなら抽象度は低い方がよいのが原則じゃないか?
高いほうがいいのは使い回すケース、例えば数列計算関数に項を計算する関数を渡して特殊化したい場合
carがdoなら、何がしたいのか一目で分かるよね

あとclでも普通ループへの展開はしてくれると思うけど、保証はされてないから神経質な人は、より確実に等価なコードに展開されるだろうdoの方がいいかも
いやさすがに気にし過ぎか
2021/07/18(日) 10:09:27.74ID:+Ch+KzUq
>>430
> 書き捨てなら抽象度は低い方がよいのが原則じゃないか?

手間とのトレードオフで抽象化層をわざわざ作るのを避けるという意味ならそうだけど、
多様な語彙 (標準ライブラリ、またはそれに近いもの) がすでに揃っている中
から選べるなら状況をより適切に表しているものをピックアップしたほうが
わかりやすいし手間も少ないでしょ。
2021/07/18(日) 10:13:20.17ID:2Hl3gQcn
ポエムだけど、状態機械ともロジックは等価だよね

二項漸化式を例に
仮引数-呼び出し
末尾再帰
a b accum - b (next b) accum'
do
a b result - b (next b) result'
状態機械
a b state - b (next b) state'

状態機械は普通遷移テーブルを与えて考えるけど、制御構造で動的に割り振れば前の二者になる
状態を引数で受け渡すことで、ステートフルな計算を実現する
2021/07/18(日) 10:18:13.98ID:2Hl3gQcn
>>431
その文章には賛同するけど、その線引は深入りすると宗教戦争になりそうなやつだな…

忘れてくれ
2021/07/18(日) 10:31:34.34ID:2Hl3gQcn
'formをテーブルに書き込んでしまえば…
2021/07/18(日) 10:43:00.23ID:iK76XXqo
状態機械の定義にそぐうかは詳しくないので分からないけど、表で管理するのは見やすそう
でもデータ構造中に保持する限り反復に翻訳される可能性は皆無だろうな
2021/07/18(日) 22:30:22.92ID:wZnHH9/v
do構文は何がどこかすぐ忘れる
named letはうる覚えでもなんとかなる
ただのletの亜種だから断然読みやすい
437デフォルトの名無しさん
垢版 |
2021/07/18(日) 22:33:40.35ID:3JZJIWfz
×うる覚え
○うろ覚え
2021/07/20(火) 02:01:05.64ID: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))
     )
  )
)
2021/07/20(火) 02:30:15.19ID:yRdGIeGP
infinite recursion
2021/07/20(火) 03:11:09.60ID: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 を一緒に使うとスッキリ書けそうなのですが…
2021/07/20(火) 09:22:43.66ID: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))))))
2021/07/20(火) 10:43:12.24ID:aBN0Hnxa
計算量悪化してない?
2021/07/20(火) 11:23:57.77ID: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)))))
2021/07/20(火) 12:21:34.41ID: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)))))
2021/07/20(火) 12:42:50.05ID:DJlNseKm
>>443
なるほどアリティ0の無名関数として束縛してやれば定義時に評価されずに済むんですね
評価したいときはリストにすれば評価されると
めちゃくちゃ為になりました
ありがとうございます
2021/07/20(火) 13:00:13.21ID:DJlNseKm
>>444
やはり自然なのはifとlet使った書き方なんですかね
そもそも明示的に遅延評価を表すシンタックス形式(delay)があるんですね勉強になります
ありがとうございました
2021/07/20(火) 16:19:35.74ID:BjsPOMc7
計算量のことを言うなら繰り返し二乗法を使うのがスマートやろ。
2021/07/20(火) 17:16:38.64ID:FEwdsMz6
force 使うの大袈裟すぎない?
440で全く問題ないと思ったけど
2021/07/20(火) 17:33:51.23ID:BjsPOMc7
元になる数式をなるべく形式を変えずに書きたいみたいな要求はあるんじゃないの?
プログラマ的視点で見れば >>440 の形に不自然さは感じない (むしろ比較的自然だと思う) けど、
理論家がコードに書き起こすときにはコードを変形させるよりは
遅延を明示したほうがすっきりと感じることだってあるだろう。

そこらへんは何が正しいとは言えないけど、
現時点で Scheme を学習中の人みたいなので色々な方法に触れておけば
どれかは役にたつこともあるかもね。
2021/07/20(火) 17:41:31.79ID: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))))
2021/07/21(水) 23:35:17.25ID:tIqEOSex
Racket 8.2 がリリースされておった。
https://blog.racket-lang.org/2021/07/racket-v8-2.html
2021/07/29(木) 12:26:00.90ID:AB6awnRN
トイプログラムをチューニング合戦やめーや
2021/07/29(木) 14:35:36.73ID:lV+mYu1n
簡単な場合をよく考えられないなら応用的状況ではもっと出来ないよ。
応用ができるようになってからなら枝葉は後回しにすべきだけど。
(いわゆる「早すぎる最適化は諸悪の根源」ってやつ。)

あと、単にこのスレってあまり話題ないから。
454デフォルトの名無しさん
垢版 |
2021/08/29(日) 19:48:00.40ID:ExQfKpCF
Parenscriptとclojurescriptのメリットとデメリットどこかにまとまってないかな
主力をcLかclosureのどっちにするかで悩んでる
455デフォルトの名無しさん
垢版 |
2021/09/01(水) 11:05:24.22ID:3cqZfQ8E
racket から pythonのtensorflowとか使いたいのに
まともなpython ffiが見つからない

racket死んでる?
456デフォルトの名無しさん
垢版 |
2021/09/03(金) 17:00:38.92ID: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
457デフォルトの名無しさん
垢版 |
2021/09/04(土) 12:17:58.77ID:7RPQ9cbD
hy一時期話題になったけど今は誰も使ってない
458デフォルトの名無しさん
垢版 |
2021/09/04(土) 13:00:17.62ID:P/r0boNY
春頃にLispマシンの話題になっているが、
TAOのコードは結局Public Domainに出来ないのかな
https://www.nue.org/nue/tao/celis/index.html
2021/09/04(土) 17:09:55.40ID:jSSzYM7r
だいぶん昔にjaistでtaoのイベントがあったが同様の質問が出たが権利問題が解決できないらしく関係者にさえ配布できない状況らしい
lispの勉強会で遭遇した人の話なので風の噂レベルでスマンがガッカリしたのを思い出した.エミュレーションもデモしたらしい
2021/09/05(日) 06:20:35.31ID:pE5Z7TQ6
quickdocs復活してるな
2021/09/07(火) 20:50:21.97ID:8Gi3qZOZ
Scheme版のcl-ppcreは何処いったんだ?
2021/09/07(火) 21:18:49.39ID:yn0D/zff
>>461
srfi-115
463デフォルトの名無しさん
垢版 |
2021/09/10(金) 16:25:34.83ID:vbZ+sZ5t
政治闘争で頻繁に互換性ないアップデートを繰り返して死んだ
hy

次はclojureで同じ政治闘争が始まりそうという噂が
2021/09/10(金) 17:54:13.80ID:53pAHbe3
hy くらいの新興処理系でどんどん変更が入るのは普通のことだと思うが。
つってももう登場から 8 年なのか。
2021/09/11(土) 14:53:00.01ID:WRGMhX/P
>>462
いやそこにある実装は知ってるけど必要なのは>>461
もしかして自分で変換して使ってたのかな?
2021/09/11(土) 20:38:39.26ID:Suq8GRsb
スレに書き込む前に妄想と現実の区別がついていることをよく確認しましょう
2021/09/11(土) 21:45:04.20ID:E5TnD1wu
自分で変換した不確かな正規表現ライブラリなんて使いたくねーな
2021/09/11(土) 23:37:54.18ID:Suq8GRsb
いやそれは移植元にテストケースがあるからテストが完走すればだいじょぶっしょ
しかしそもそもschemeにもpcreライブラリは沢山あるだろうけど
469デフォルトの名無しさん
垢版 |
2021/09/15(水) 04:41:28.63ID:mYoOhxQF
妄想も噂も似たような言い換えみたいなものなのに
何でそんな強い口調で言い換えを強要してくるんだ
470デフォルトの名無しさん
垢版 |
2021/09/15(水) 04:43:02.67ID:mYoOhxQF
何でそんな強い口調で言い換えを強要してくるんだ
2021/09/16(木) 00:32:04.26ID:4L00LZ3y
()に包めば言い換えないでも柔らかさを演出できる
()はすごいのだ
2021/09/16(木) 02:34:55.53ID:PaKnZlMf
465から別の話題になってて468まででひとつの会話の流れ.
つまりお前が勝手に被弾してるわけよ‥
2021/09/16(木) 07:32:28.90ID:d2OD6VRD
クオートしてエバらなければよろしい
レスを投稿する