Skip to content
Snippets Groups Projects
04-task.scala 372 B
Newer Older
//    PDF: https://moodle.epfl.ch/pluginfile.php/3175938/mod_folder/content/0/week01-5-First-Class-Tasks.pdf
//  Video: https://mediaspace.epfl.ch/playlist/dedicated/31866/0_c46icdbx/0_v7c766xv
// Slides: 3

package lecture1

trait Task[A]:
  def join: A

def task[A](toRun: => A): Task[A] =
  val t = threadStart(toRun)
  new Task[A]:
    override def join: A = t.joinMe