Keynote - What to Leave Implicit by Martin Odersky

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

Meta comment: the roadmap seems to be taking more and more of a concrete shape with each Dotty update.

  • Just research for features that may make their way into Scala
  • Actually, might be future Scala
  • Will be future Scala (but a long way off)
  • Definitely will be Scala 3.0 (and here's the timeline)

Scala 2.13 is slated to land end of Q1 2018 (i.e. less than a year from now) and then apparently Scala 2.14 and Scala 3.0/Dotty will be launched in parallel. Could be mid-late 2019 when Dotty lands. Would be thrilled if that were the case...

๐Ÿ‘๏ธŽ︎ 3 ๐Ÿ‘ค๏ธŽ︎ u/expatcoder ๐Ÿ“…๏ธŽ︎ Apr 25 2017 ๐Ÿ—ซ︎ replies

"Implicits are what make Scala, Scala" - I couldn't agree more, they very accurately represent the double edged sword Scala can be.

๐Ÿ‘๏ธŽ︎ 5 ๐Ÿ‘ค๏ธŽ︎ u/hobozilla ๐Ÿ“…๏ธŽ︎ Apr 25 2017 ๐Ÿ—ซ︎ replies

While the additional restrictions on implicits and the addition of implicit funtion types sound great in principle, I'm wondering what affect the new rules around implicit conversions will have on how scala authors approach DSL development.

As I understand it the below code will not compile since the definition of the implicit conversion and its application exist in separate source files.

// author code
package dsl

trait Query[T, U] {
  def flatMap[A, B](...)
  def map[A, B](...)
  ...
}
trait Table[T]

implicit def table2Query[T <: Table[_], U](t: T): 
  Query[T, U] = new Query[T, U]{}

// client code
package com.company

import dsl._

object User extends Table {...}
object Role extends Table {...}

val q = for {
  u <- User
  r <- Role if u.id ...
} yield (u, r)
๐Ÿ‘๏ธŽ︎ 1 ๐Ÿ‘ค๏ธŽ︎ u/expatcoder ๐Ÿ“…๏ธŽ︎ Apr 25 2017 ๐Ÿ—ซ︎ replies
Captions
No captions available for this video.
Info
Channel: Scala Days Conferences
Views: 17,394
Rating: 4.8649788 out of 5
Keywords: scala, scaladays, scaladayschicago, chicago, scala days, martin odersky, odersky, implicit, constructs, imports, inheritance, language, implicits, implementation, scala days chicago
Id: Oij5V7LQJsA
Channel Id: undefined
Length: 64min 10sec (3850 seconds)
Published: Mon Apr 24 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.