Minutes from Jan 2016 SIP/SLIP Meeting

Hamish Dickson

BLOG

SIP/SLIP meeting, January 2016

A video recording of this meeting is available.

Welcomes and apologies

Today we have @SethTisue, @sjrd, @heathermiller, @non and @odersky

January milestone issues

SIP for supporting named type arguments and partial type argument lists

Link to SIP: https://github.com/scala/scala.github.com/pull/456

Proposal by @ahmadsalim

Notes:

  • The SIP is a design proposal about the syntax and what the semantics of these features might be, but at this point has no code.
  • This idea has come up a few times over the years and is based on those previous discussions.

This proposal and dotty:

@odersky:

  • have considering something like this in dotty. Doing this involves considering quite a few rules (and their corner cases), which this SIP doesn’t cover.
  • generally sympathetic, but not sure this has the format for a SIP.

@odersky thinks there should be a wider discussion about this, involving:

  • for partial type application how do we want to support this?
  • named parameters one way to do this, but there are possibly other ways and we want to use the same approach.
  • for example another way of doing this is kind-projector, do we want to put something like that in the language (and if yes, under what syntax?)?

Conclusion:

@odersky thinks this is promising, but needs to be fleshed out for a SIP. He also notes that dotty wants to do this, so we might want to wait and synchronize rather than have @ahmadsalim spend a lot of time working on this, only to find a different approach has been made in dotty.

@non, it’s good to be clear that there are two things people want here:

  • partial application
  • partial specification, where want to apply all the types but only want to specify some of them and infer the rest

@SethTisue sums up:

  • partial application part could go in Scala before dotty
  • the named type parameter feature would need to be tried in dotty first (it’s much more experimental) before any back port.

Actions:

Ask @ahmadsalim to talk to the dotty team about this.