Haskell-based shell - hash (final project for Programming in Haskell course, 2014/2015)
The task of this project is to implement Hash, a simple shell programmed in Haskell.
- Basic language structures defined
- Structure execution
- Parsing
- Basic Functionality (80 %)
- Abstracted command calling (2 pts)
- Conditional branching (6 pts)
- File manipulation (3 pts)
- Directory manipulation (3 pts)
- Filesystem navigation (3 pts)
- Stream redirection (5 pts)
- Comments (2 pts)
- Variables (3 pts)
-
cat
command (2 pts) -
ls
command (3 pts)
- Advanced functionality (20% for 10 pts)
-
grep
(4 pts) - Piping (5 pts)
-
chmod
(3 pts) - Glob expansion (5 pts)
- Looping (8 pts)
- Forking (8 pts)
-
hexdump
(3 pts) - .hashrc (2 pts)
-
ping
(3 pts)
-