エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
CPS変換風のやり方で NNF(否定標準形) を DNF(選言標準形) に変換する - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
CPS変換風のやり方で NNF(否定標準形) を DNF(選言標準形) に変換する - Qiita
(ql:quickload '(:trivia :trivia.quasiquote)) (use-package :trivia) ; パターンマッチ用マクロ (name... (ql:quickload '(:trivia :trivia.quasiquote)) (use-package :trivia) ; パターンマッチ用マクロ (named-readtables:in-readtable :fare-quasiquote) ; パターンにquasiquote ` を使える (defun NNF-DNF (condition) ;; 論理式をとって、継続渡しスタイル(cps)の関数を返す。 ;; OR 節はイテレータになる。 (ematch condition (`(or ,@rest) ; list の 最初の要素がorのとき (let ((restk (mapcar #'NNF-DNF rest))) ; 要素ごとにcps関数を作って (lambda (k) ; 関数自体もcps関数を返す ;; calls k for each element (do