Sorry guys, I had something different in mind.
When I ask people to port my typical 'Hell' code, I tend to suggest that all XML-related code should stay in Untyped. In most cases this kind of S-expression manipulation is hairy from an ordinary TR pov but has a simple interface to the Typed world. It really is a case where typed-untyped cooperation shines. But eventually such pieces of code should/could be typed too. For those cases, the XML type systems that Sam mentioned are ideal and one day we may wish to develop a TR+XML (Xduce?) combination. On Apr 20, 2014, at 3:06 PM, Eric Dobson wrote: > Asumu has a rough draft of a commit that would allow this to work, I > don't know the current status though. > > https://github.com/plt/racket/pull/564 > > I was thinking about the problem and I think our current union types > and recursive types covers a lot of ground. > > For example as one user wanted to do, exactly one vector and bunch of > numbers: (Rec T (U (Cons (Vectorof Real) (Listof Real)) (Cons Real > T))). > > > On Sun, Apr 20, 2014 at 11:38 AM, Matthias Felleisen > <matth...@ccs.neu.edu> wrote: >> >> This might be one of those areas where we could 'generalize' gradual typing. >> >> >> On Apr 19, 2014, at 7:37 PM, Sam Tobin-Hochstadt wrote: >> >>> On Sat, Apr 19, 2014 at 7:24 PM, Neil Toronto <neil.toro...@gmail.com> >>> wrote: >>>> Are there type systems that can? It seems like you could specify this type >>>> and similar ones using regular expressions. >>> >>> There is lots of work on types for XML specification that can handle >>> this sort of thing, I believe, but not specifically in the context of >>> function arguments. >>> >>> Note that TR can handle alternating types just fine in lists, for >>> example -- it's just that the function argument sequence is different. >>> >>> Sam >>> _________________________ >>> Racket Developers list: >>> http://lists.racket-lang.org/dev >> >> >> _________________________ >> Racket Developers list: >> http://lists.racket-lang.org/dev _________________________ Racket Developers list: http://lists.racket-lang.org/dev