All Projects → bszwej → scala-3-crash-course

bszwej / scala-3-crash-course

Licence: other
Scala 3 workshop presenting the top new features of the language.

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to scala-3-crash-course

why-roguelike
A multiplayer ASCII roguelike
Stars: ✭ 17 (-50%)
Mutual labels:  dotty, scala3
Inkuire
Hoogle-like searches for Scala 3 and Kotlin
Stars: ✭ 70 (+105.88%)
Mutual labels:  dotty, scala3
NDScala
N-dimensional arrays in Scala 3. Think NumPy ndarray, but type-safe over shapes, array/axis labels & numeric data types
Stars: ✭ 37 (+8.82%)
Mutual labels:  dotty, scala3
scala3-cross.g8
No description or website provided.
Stars: ✭ 12 (-64.71%)
Mutual labels:  dotty, scala3
Dotty
The Scala 3 compiler, also known as Dotty.
Stars: ✭ 4,836 (+14123.53%)
Mutual labels:  dotty, scala3
workshop
Workshop: Micromagnetics with Ubermag
Stars: ✭ 19 (-44.12%)
Mutual labels:  workshop, exercises
variant
Variant types in TypeScript
Stars: ✭ 147 (+332.35%)
Mutual labels:  union, adt
streams-workshop
A workshop on Node.js Streams
Stars: ✭ 176 (+417.65%)
Mutual labels:  workshop, exercises
introduction-to-neural-networks
No description or website provided.
Stars: ✭ 23 (-32.35%)
Mutual labels:  workshop
typescript-cheatsheet
Cheatsheet for TypeScript.
Stars: ✭ 28 (-17.65%)
Mutual labels:  union
jarvis-workshop
Amazon re:Invent workshop - "Alexa, Ask Jarvis to Create a Serverless App for Me" -
Stars: ✭ 14 (-58.82%)
Mutual labels:  workshop
ws-ldn-1
Clojure/Clojurescript workshop (2-4 Nov 2015, London)
Stars: ✭ 22 (-35.29%)
Mutual labels:  workshop
guide-to-becoming
แหล่งรวบรวมข้อมูลสำหรับคนที่อยากจะพัฒนาตัวเองในด้านต่างๆจากผู้เริ่มต้นสู่ระดับเทพ
Stars: ✭ 23 (-32.35%)
Mutual labels:  workshop
tensorflow-k8s-azure
Train TensorFlow Models at Scale with Kubernetes and Kubeflow on Azure
Stars: ✭ 44 (+29.41%)
Mutual labels:  workshop
TwitchOverlap
Source for stats.roki.sh, as well as API, polls twitch every 30 minutes to calculate intersection of all channels above 1,000 viewers
Stars: ✭ 40 (+17.65%)
Mutual labels:  intersections
scala3-migrate
A tool to help migrating from Scala 2 to Scala 3
Stars: ✭ 80 (+135.29%)
Mutual labels:  scala3
bioc 2020 tidytranscriptomics
Workshop on tidytranscriptomics: Performing tidy transcriptomics analyses with tidybulk, tidyverse and tidyheatmap
Stars: ✭ 25 (-26.47%)
Mutual labels:  workshop
ws-ldn-3
DIY Synth / ARM baremetal workshop (London, 5-6 December 2015)
Stars: ✭ 20 (-41.18%)
Mutual labels:  workshop
The-C-Programming-Language-2nd-Edition
Source code and solutions of exercises to The C Programming Language 2nd Edition by Brian W. Kernighan and Dennis M. Ritchie
Stars: ✭ 208 (+511.76%)
Mutual labels:  exercises
terraform-onboarding
A Terraform workshop for junior IT infrastructure engineer & DevOps engineer & SRE.
Stars: ✭ 26 (-23.53%)
Mutual labels:  workshop

Scala 3 crash course

Join the chat at https://gitter.im/bszwej/scala-3-crash-course

Scala 3 RC3 is already here and we can expect the final release on the 12th of May if no major bugs are found! That's why it's a good timing for playing around and seeing what's there. In this workshop we'll see the most interesting and important features like enums, contextual abstractions (givens, extension methods, type classes, context functions), new types (opaque, unions and intersections). We'll also see what's dropped and what changed. During the exercises, you'll be refactoring Scala 2 to Scala 3 yourself using the new shiny constructs.

This workshop is dedicated to Scala 2 developers and assumes prior knowledge about implicits, ADTs and type classes.

Before the workshop

  1. Checkout this repository
git clone [email protected]:bszwej/scala-3-crash-course.git
  1. Compile with sbt
sbt compile
  1. Import it in your favorite IDE
  • VSCode + metals (recommended)
  • Intellij

Table of contents

  1. Braceless syntax
  2. Enums
  3. Contextual language features:
    • given/using
    • extension methods
    • type classes
    • implicit conversion
    • scoping of given/using
    • contextual functions
  4. Opaque types
  5. Union and Intersection types
  6. The small bits
  7. (In preparation) New kinds of types: type lambdas, match types, dependent functions, polymorphic functions
  8. (In preparation) Type class derivation
  9. (In preparation) Macros

Solutions

Solutions to all exercises can be found in the solutions package.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].