Das Scala-Typsystem: Parametrisierte Typen und Varianzen, Teil 2

Was meint der Scala-Typchecker mit der Fehlermeldung covariant type occurs in contravariant position? Welche Regeln stecken dahinter? Wie lassen sich diese Regeln auf den vertrauten Subtyp-Polimorphismus zurückführen? Dieser Post befasst sich mit diesen Frage, nachdem im letzten Post Typ-Parameter und Varianz-Annotationen beleuchtet wurden.

weiterlesen

Andreas Schroeder

Das Scala-Typsystem: Parametrisierte Typen und Varianzen, Teil 1

Scala wurde 2004 veröffentlicht und wird an der EPFL und von Typesafe weiterentwickelt. Das passiert einerseits gefördert durch Forschungsgelder der europäischen Union und andererseits unterstützt durch industrielle Investoren. Scala hat in den letzten Jahren deutlich an Bedeutung gewonnen, und wird mehr und mehr produktiv eingesetzt – auch bei codecentric AG. Diese Blog-Serie befasst sich mit einem Aspekt des Scala Typsystems, nämlich mit Ko- und Kontravarianten Typ-Parametern (d.h. diese ominösen Plus- und Minuszeichen in der Kopfzeile einer Klasse, z.B. in class Box[+A]).

weiterlesen

Andreas Schroeder

Scala Parserkombinatoren im Dienste des Bieres

Bier ist mehr als 5000 Jahre alt und wurde (möglicherweise durch Zufall?) im alten Ägypten durch halbgebackenes, vergorenes Brot erfunden. Super Sache, denn dadurch sind wir heute nicht nur um ein wohlschmeckendes Getränk reicher, wir haben auch einen Anwendungsfall, an dem wir unsere hier vorgestellten Parserkombinatoren in Scala ausprobieren können.

weiterlesen

Gunther Wittig