2 ms·
Turtle [1] is a reimplementation of the Unix command line environment in Haskell that permits you to run external shell commands but leverages the typesystem to
by minhmeoke 5y ago
Turtle [1] is a reimplementation of the Unix command line environment in Haskell that permits you to run external shell commands but leverages the typesystem to provide structured values and reduce errors.
Turtle> cd "/tmp"
Turtle> pwd
FilePath "/tmp"
Turtle> :type pwd
pwd :: IO Turtle.FilePath
Turtle> touch "file"
Turtle> testfile "file"
True
Turtle> rm "file"
Turtle> testfile "file"
False
Fish [2] and Oilshell [3] are two other efforts to create new shell dialects that improve usability while remaining somewhat backwards-compatible.
[1] https://hackage.haskell.org/package/turtle https://hackage.haskell.org/package/turtle
https://hackage.haskell.org/package/turtle-1.5.22/docs/Turtle-Tutorial.html https://hackage.haskell.org/package/turtle-1.5.22/docs/Turtl...
[2] https://fishshell.com https://fishshell.com
[3] https://www.oilshell.org/ https://www.oilshell.org/