I'm sorry, there was a subtle error in the definition of the function
finAuDeterminize in my posting, which caused genuine performance
trouble!  Replace sort by (sort.nub).  That is:

finAuDeterminize :: (Ord l) => FinAu l -> FinAu [l]
finAuDeterminize startStates = [f startStates]
    where f :: (Ord l) => [FaState l] -> FaState [l]
          f states = FaState label' acceptQ' trans'
              where label' = (sort.nub) (map label states)
                    acceptQ' = or (map acceptQ states)
                    trans' = map (singleton.f.concat) (transpose (map trans states))
                    singleton a = [a]

Carl

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to