Building a Shell
healeycodes.com
Building a Shell
1–10 of 49 posts
Re: Building a Shell
#2Re: Building a Shell
#3[0] https://github.com/lourencovales/codecrafters/blob/master/sh...
Re: Building a Shell
#4Building a shell is a great exercise, but honestly having to deal with string parsing is such a bother that it robs like 2/3 of the joy along the way. I once built a very simple one in Go [0] as a learning exercise and I stopped once I started getting frustrated with all the corner cases. [0] https://github.com/lourencovales/codecrafters/blob/master/sh...
For side-projects, I have to ask myself if I'm writing a parser, or if I'm building something else; e.g. for a toy programming language, it's way more fun to start with an AST and play around, and come back to the parser if you really fall in love with it.
Re: Building a Shell
#5Re: Building a Shell
#6 controlling terminal
session leader
job control
The parser was easy in comparison.Re: Building a Shell
#7[flagged]
Re: Building a Shell
#8[flagged]
We can easily imagine it done a better way - for all the criticism of Windows, PowerShell gives a glimpse into this hypothetical future.
Re: Building a Shell
#9Bit of pedantry but I don't think traditional unix shell (like this) follows repl model; the shell is not usually doing printing of the result of evaluation . Instead the printing happens more as a side effect of the commands.
Re: Building a Shell
#10[flagged]
Dealing with the corner cases ends up teaching you a lot about a language and for an ancient language like the shell, dealing with the corner cases also takes you through the thinking process of the original authors and the constraints they were subject to. I found myself in this situation while writing EndBASIC and wrote an article with the surprises I encountered, because I found the journey fascinating: https://www.endbasic.dev/2023/01/endbasic-parsing-difficulti...