packages feed

fourmolu-0.9.0.0: data/fourmolu/let-style/output-LetNewline-InLeftAlign-indent=4.hs

{-- should be the same in every option --}

-- TODO: https://github.com/tweag/ormolu/issues/917
-- let_oneline_empty =
--   let in 10

let_oneline_single =
    let a = 1 in a + 2

let_oneline_multi =
    let a = 1; b = 2 in a + b

{-- pure let expressions --}

-- TODO: https://github.com/tweag/ormolu/issues/917
-- let_empty =
--   let
--   in  10

let_single =
    let
        a = 1
    in
        a + 2

let_single_sig =
    let
        a :: Int
        a = 1
    in
        a + 2

let_multi =
    let
        a = 1
        b = 2
    in
        a + b

let_single_newline =
    let
        a = 1
    in
        a + 2

let_multi_newline =
    let
        a = 1
        b = 2
    in
        a + b

{-- do-block --}

test_do = do
    -- TODO: https://github.com/tweag/ormolu/issues/917
    -- let

    let
        a = 1

    let
        b = 2
        c = 3

    let
        d = "hello"
     in
        print d

    let
        d = "hello"
        e = "world"
     in
        print (d ++ e)

{-- list comprehension --}

test_list =
    [ x + a + b + c
    | x <- xs
    , let

    , let
        a = 1
    , let
        b = 2
        c = 2
    ]

test_list_do = do
    x <-
        [ x + a + b + c
            | x <- xs
            , let

            , let
                a = 1
            , let
                b = 2
                c = 3
            ]

    [ x + y + a + b + c
        | y <- ys
        , let

        , let
            a = 1
        , let
            b = 2
            c = 3
        ]