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)
-
catcommand (2 pts) -
lscommand (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)
-