Scala의 variant는 낯설고도 헷갈리기 쉬운 개념이다. 개념 정의 A <: B 일때 C[A] <: C[B] 라면, C는 covariant다. A <: B 일때 C[A] >: C[B] 라면, C는 contravariant다. 역도 성립한다. C가 covariant라면, A <: B 일때 C[A] <: C[B]이다. C가 contravariant라면, A <: B 일때 C[A] >: C[B]이다. 선언하는 법 C를 covariant로 선언하려면, class C[+A] … Scala의 variant 계속 읽기
[태그:] Scala
Scala와 Haskell의 문법
Functional Progrmaming Principles in Scala 수업을 듣고 스터디를 하면서 배운 스칼라의 문법 및 언어 특징들을 Haskell과 비교하면서 적어본다. Type inference Scala는 함수를 정의할 때 return type이 무엇인지 생략해도 알아서 추론을 할 수 있다. scala> def double (x: Int) = x * 2 scala> :type double (x: Int)Int 하지만 formal parameter의 타입은 생략할 수 없다. scala> … Scala와 Haskell의 문법 계속 읽기