[racket-dev] Regular expression types [was Re: [racket-bug] all/14455: wrong type for hash]
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
> <matthias at 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.toronto at 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