Anonymous user
De Bruijn sequences: Difference between revisions
m
→Array-based: added type annotation
(→{{header|Haskell}}: added alternative solution) |
m (→Array-based: added type annotation) |
||
Line 1,391:
<lang haskell>import Control.Monad.State
import Data.Array (Array, listArray, (!), (//))
import qualified Data.Array as A
Line 1,399:
k = length s
db :: Int -> Int -> State (Array Int Int) [Int]
db t p =
if t > n
Line 1,415 ⟶ 1,416:
setArray i x = modify (// [(i, x)])
seqn = db 1 1 `evalState`
in [ s !! i | i <- seqn ++ take (n-1) seqn ]</lang>
|