
Pixel
Contributions, suggestions and fixes are welcome.
The . operator is used for package scope when packages (modules) are imported "qualified". Indentation can optionally be replaced by { ; and }. In addition to . function composition, there's also $ function application, which often is more practical to use. Under "control flow", there's also case x of v0 -> e0 v1 -> e1 ... otherwise -> e and | bool0 = e0 | bool1 = e1 | ... | otherwise = en I'm not sure if "iterate" counts as loop forever? I can't remember any %-based sprintf off the top of my head, but hey, who'd want one anyway? As for "duplicate n times", I suppose you'll have to combine the two Prelude functions (concat . repeat n), while (map toUpper)/(map toLower) converts the case of strings, (!!) accesses an indexed character, and substrings of lenght l at position i can be extracted by (take l . drop i). (Remember that strings are lists!) Dictionaries can (inefficiently in some cases) be constructed using assoc lists, with the "lookup" function as accessor. (I'm not sure what you'd want to include of this, but at least some of it should be relevant, I hope.) -kzm -- If I haven't seen further, it is by standing in the footprints of giants