What is `... | ab & # 8594; c` in a text type declaration means?

Possible duplicate:
What is "|" to define a Haskell class?

In the following (from Data.HList.HListPrelude , how do I interpret the | ll' -> l'' ?

 class HAppend ll' l'' | ll' -> l'' where hAppend :: l -> l' -> l'' 

And is it part of the standard Haskell (i.e. Haskell 2010) or extension?

+4
source share
1 answer

This is an extension called Functional Dependencies , which you can see in the future by looking at the top of the file.

Essentially speaking, l'' uniquely determined from l and l' .

Required because HAppend is a multi- HAppend class (which is also an extension).

+8
source

Source: https://habr.com/ru/post/1446805/


All Articles