Safe Haskell | Safe-Inferred |
---|
Documentation
data NonFirstLinesIndenting Source
Instances of this data type control whether the non-first lines of a binding in mode inline or smart-inline should get some extra indentation to match the environment of the place where the binding should be written to.
Assumed that the following call to factorial should get inlined:
result = factorial 3
The function factorial looks this way:
factorial 1 = 1 factorial x = x * factorial (x-1)
The lambda function that is produced in mode inline with IgnoreIndOfTargetEnv looks as follows:
(x -> case x of 1 -> 1 y -> y * factorial (y - 1))
The lambda function produced in mode inline with AdaptIndToTargetEnv looks as follows:
(x -> case x of 1 -> 1 y -> y * factorial (y - 1))
AdaptIndToTargetEnv | Increase indentation of non-first lines by the column number the inlined version of the the function starts at (short: adapt indentation to caller environment) |
IgnoreIndOfTargetEnv | Preserve indentation which means don't adapt the indentation to the environment of the caller. |