-
Notifications
You must be signed in to change notification settings - Fork 14
Examples
jgoerzen edited this page Sep 14, 2010
·
1 revision
Some HSH examples:
From John Goerzen’s blog:
*HSH> runIO $ ("ls", ["."]) COPYING HSH HSH.hs TODO announcements testsrc COPYRIGHT HSH.cabal Makefile _darcs test.hs *HSH> runIO $ ("ls", ["-l"]) -|- ("wc", ["-l"]) 12 *HSH> :m +Text.Printf *HSH Text.Printf> let countLines = (zipWith (\i line -> printf "%-5d %s" i line) [(1::Int)..])::([String] -> [String]) *HSH Text.Printf> runIO $ ("ls", ["-l"]) -|- countLines -|- ("grep", ["hs$"]) 6 -rw-r--r-- 1 jgoerzen jgoerzen 1285 Jun 6 09:43 HSH.hs 11 -rw-r--r-- 1 jgoerzen jgoerzen 565 Jun 6 09:43 test.hs *HSH Text.Printf> :m +Data.List *HSH Text.Printf Data.List> runIO $ ("ls", ["-l"]) -|- countLines -|- filter (isSuffixOf "hs") 6 -rw-r--r-- 1 jgoerzen jgoerzen 1285 Jun 6 09:43 HSH.hs 11 -rw-r--r-- 1 jgoerzen jgoerzen 565 Jun 6 09:43 test.hs *HSH Text.Printf Data.List> runIO $ ("ls", ["-l"]) -|- countLines -|- filter (isSuffixOf "hs") -|- ("tr", ["a-z", "A-Z"]) 6 -RW-R--R-- 1 JGOERZEN JGOERZEN 1285 JUN 6 09:43 HSH.HS 11 -RW-R--R-- 1 JGOERZEN JGOERZEN 565 JUN 6 09:43 TEST.HS *HSH Text.Printf Data.List> let generator = \(_::String) -> unlines . map show $ [1..20] *HSH Text.Printf Data.List> generator "" "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n" *HSH Text.Printf Data.List> runIO $ generator -|- ("grep", ["1"])
Also there are some in the API manual.