P∀scal is a compiler plugin that provides more concise syntax for creating polymorphic values (in the usual Scala encoding as objects with a single generic method).
The syntax
Λ[α](t): T
is meant to be analogous to System F’s
Λα. t : T
(where T
is of the form ∀α. U
)
and is rewritten to
new T { def apply[α] = t }
P∀scal generalizes kind-projector
's polymorphic lambdas in several ways.
Project site: https://github.com/TomasMikula/pascal