schemeで論理の勉強しようと思って
(tflist n)で#tと#fの組み合わせを列挙してくれる関数を書こうとしたんだが
意外と難しい
最初mapで#t → (#t #f) (#t #t)という風に書こうとしたが
これだとflattenが居るし、flattenを再帰で呼び出してみたら
全部平らになってしまって(#t #t #t #t #t #f #t #f #t ...)みたくなっちまった
誰かたすけて
動作イメージ
(tflist 1)
'(#t #f) or '((#t) (#f))
(tflist 2)
'((#t #f) (#t #t) (#f #f) (#f #t))
(tflist 3)
'((#t #t #t) (#t #t #f) (#t #f #t) (#t #f #f) (#f #t #t) (#f #t #f) (#f #f #t) (#f #f #f))