packages feed

dhall-1.29.0: tests/lint/success/multiletB.dhall

-- example0.dhall

let Person
    : Type
    =   ∀(Person : Type)
      → ∀(MakePerson : { children : List Person, name : Text } → Person)
      → Person

let example
    : Person
    =   λ(Person : Type)
      → λ(MakePerson : { children : List Person, name : Text } → Person)
      → MakePerson
          { children =
            [ MakePerson { children = [] : List Person, name = "Mary" }
            , MakePerson { children = [] : List Person, name = "Jane" }
            ]
          , name = "John"
          }

let everybody
    : Person → List Text
    = let concat = http://prelude.dhall-lang.org/List/concat

      in    λ(x : Person)
          → x
              (List Text)
              (   λ(p : { children : List (List Text), name : Text })
                → [ p.name ] # concat Text p.children
              )

let result
    : List Text
    = everybody example

in  result