Re: Problems with existential type variables

2000-05-10 Thread Thorsten Altenkirch
> > data RegExp sigma = Empty | Epsilon | Sym sigma > > | Seq (RegExp sigma,RegExp sigma) > > BTW, why not Seq (RegExp sigma) (RegExp sigma)? Oops, I suppose the slogan is "Who uses Haskell has to Curry"... :-) (I changed this). > > data (Fin sigma) => NFA' sigma = forall

Re: Problems with existential type variables

2000-05-10 Thread Marcin 'Qrczak' Kowalczyk
Wed, 10 May 2000 13:04:19 +0200 (CEST), Thorsten Altenkirch <[EMAIL PROTECTED]> pisze: > data RegExp sigma = Empty | Epsilon | Sym sigma > | Seq (RegExp sigma,RegExp sigma) BTW, why not Seq (RegExp sigma) (RegExp sigma)? > data (Fin sigma) => NFA' sigma = forall q. (Fin q) =

Problems with existential type variables

2000-05-10 Thread Thorsten Altenkirch
I am using Haskell to implement the text book algorithms on automata theory and formal languages. In the moment I'd like to implement the algorithm which translates regular expressions (RegExp) to nondeterministic finite automata (NFA). I.e. I have defined the types (ignore Fin (=finite type) for