Sat Jul 14 12:11:20 EDT 2018

nailing down semantics

Something isn't right with conc and slice.
Make some tests?

The problem here is clear: I want to look at the output of conc and
slice for a variety of things, but I have no clear way to do that at
the command line.

The need to resort to the command line is a consequence of dynamic
typing.  I.e. the semantics is not completely capture in the type.

Actually, this is readily available.  Here "Trigger" is a module that
has all relevant pieces imported, and ghci is entered through the
nix/cabal setup.

Prelude Trigger> take 10 $ SeqEmu.trace $ return [1]

Prelude Trigger> take 10 $ SeqEmu.trace $ let v = Seq.constant (Seq.SInt (Just 2) 1) in do v' <- Seq.conc v v ; return [v']

So that's not it.

EDIT: The error was in slice, shiftR had args swapped.
But I think I have at least some better way to look at tests now.