July 9th, 2009

Зависимые типы в Скале?!

Я и не знал, что такое там есть. Из статьи Polymorphic Embedding of DSLs:

trait Regions {
...
type Region
...
}

def program(semantics : Regions) : semantics.Region = ...

Как видно, возвращаемый тип зависит от аргумента. Это, конечно, не полные зависимые типы, но само по себе весьма неслабо. Насколько понимаю, это пока экспериментальная фича...