Re: how to extend a capability on a data source?

Rob Withers <[email protected]>
Newsgroups gmane.comp.capabilities.general
Message-ID <[email protected]>
On Nov 6, 2013, at 7:57 AM, David Barbour <[email protected]> wrote:

> On Tue, Nov 5, 2013 at 8:17 PM, Rob Withers <[email protected]> wrote:
> Well, that’s wonderful.  Is it possible to do so in Scala, do you think?
> 
> No. Scala made some type system decisions that are incompatible with HM inference algorithms. 

Is there another language, hosted on the jvm, that supports HM inference, like Clojure?  Or fork Scala? 

> How does it work in HM?  Is it possible that the promise could be composite typed, so that it could be treated as both an eventual reference, as well as the result type of the send?
> 
> In general, a new promise would be constructed as a pair like: 
> 
>     (HasPromises m) => newPromise :: m (Resolver a, Eventual a)
> 
> Type `a` could then be inferred from both ends: the consumer of the eventual `a` and the resolution of `a` both imply some requirements about the type of `a`.

Very interesting.  Types are composite subtypes, and the context used drives the inference of the different type facets.

(HasPromises m) => newPromise :: m (
	Resolver a,  
	Eventual a, 
	TransactionalMembrane a, 
	ImmigrationVisa a, 
	PersistentTuple a, 
	Comparable a, 
	Externalizable a)

that would be sweet.

thanks,
rob

_______________________________________________
cap-talk mailing list
[email protected]
http://www.eros-os.org/mailman/listinfo/cap-talk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.