[Home] [By Thread] [By Date] [Recent Entries]

  • From: Adam Retter <adam.retter@g...>
  • To: "Liam R. E. Quin" <liam@f...>
  • Date: Tue, 18 Jun 2024 22:34:17 +0200

> Providing a function-based interface to a type might get you some of
> the way. Better yet, divorce types from the processing, and provide a
> Java-style functional interface,
>     socks:get-pair()
>     socks:get-colour($which as dt:leftRight)
>     socks:wash($socks as item()*)
> and here, wash() would check using instance of that it was passed the
> right type, and you could use a different implementation, with a
> different namespace binding of the socks prefix, and maybe you can
> accomplish what you want indirectly?

We did something a bit like this for task.xq whereby we used Maps of
functions to imitate objects, if you squint a bit and write combinator
functions that expect certain named map entries to have certain
function signatures then you can get a structural typing like
approach.

-- 
Adam Retter

skype: adam.retter
tweet: adamretter
http://www.adamretter.org.uk


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member