現状、accept された論文が以下にあります。
https://www.scirp.org/journal/paperinformation?paperid=115471
最新の論文は以下にあります。
https://vixra.org/abs/2310.0117
良かったら見てみてください。
現状、accept された論文が以下にあります。
https://www.scirp.org/journal/paperinformation?paperid=115471
最新の論文は以下にあります。
https://vixra.org/abs/2310.0117
良かったら見てみてください。
すべての好配置をチェックしようとすると、かなりのマシンパワーが必要だと分かった。
やむなく中断します。
23/02/12追記
メモリリークが原因でした。
Lens の (%~)
(modify) を使って対応します。
CPL で Stateモナド を作ってみた。ちゃんと出来てるかどうかは分からない。
# State Monad # newtype State s a = State { runState :: s -> (s, a) } right object State(S, A) with state is runState: State -> Exp(S, Prod(A, S)) end object; let run(x) = ev.pair(runState.state(cur(x)), s.o);
ev.pair
の第二引数1(s.o)
が初期状態だ。
> let run(x) = ev.pair(runState.state(cur(x)), s.o) x: Prod(1,nat) -> Prod(*a,nat) ------------------------------ run(x): 1 -> Prod(*a,nat) cpl> simp full run(Prod(true, s)) pair(true,s.s.o) : 1 -> Prod(bool,nat) cpl> simp full run(Prod(true.!, s).Prod(true, s)) pair(true.!,s.s.s.o) : 1 -> Prod(bool,nat) cpl>
Stateモナド の実体としては、カリーcur
をかぶせたProd
を置く。
第一引数には返したい結果、第二引数には状態を更新する関数(ここではnat->nat
)を置く。
連鎖させることもできる※1。Prod(true.!, s).Prod(true, s)
のように。(!
は後方の合成射を全て消すものです)
(※1 bind じゃないよな?)
分からない......
すべての C可約 の好配置データに追記しないといけなくなった。
今回は No.3,10 を変更しました。
今日も checkCReduce() を書いた。
前回の bug は直しました。
今日も checkCReduce() を書いた。
前セクションの値sameangle が壊れていることが分かった。