Oh yeah... caught in the lie! ;) But I meant that the `T` is inferred from the instance `field`, and that `T`, LUBed with other `T`s, helps to infer a phantom type, while the instance `field` is quickly raised to a `BaseKey`... and everything is fine because of erasure...
-
-
Replying to @propensive
Clever or too clever? Also, could it be made more obviously correct?
1 reply 0 retweets 0 likes -
Replying to @dwijnand
Not sure. I've been playing around with inferring types through variance for a while. I don't like the use of implicits, especially. And maybe use-site variance (i.e. bounded existentials) might work better...
1 reply 0 retweets 0 likes -
Replying to @propensive @dwijnand
Alternatively, given(a, b, c).propagate(d) { ... } could be replaced with (a & b & c).propagate(d) { ... } without the @ uv or implicits. WDYT?
1 reply 0 retweets 0 likes -
Replying to @propensive
That's symbolic, so also not good. Maybe I'll get a chance to play with it today.
1 reply 0 retweets 1 like -
Replying to @dwijnand
Fair warning: you'll need to compile Mercator first, which Pyroclastic depends on. I also discovered that dotc does not infer implicit function types the same as if they're explicit lambdas at the callsite, which is problematic. Best to use scalac until I work that out.
1 reply 0 retweets 0 likes -
Replying to @propensive
Is https://search.maven.org/artifact/com.propensive/mercator_2.12/0.1.1/jar … not good enough?
1 reply 0 retweets 0 likes -
Replying to @dwijnand
Probably not. I don't think that version defines sequence for monads...
1 reply 0 retweets 0 likes -
Replying to @propensive @dwijnand
The thing about my experimental libraries is that you've got to really want to experiment... ;)
1 reply 0 retweets 0 likes -
Replying to @propensive
I'll take a fury build definition and access to a fury beta build, if available.
1 reply 0 retweets 1 like
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.