2 ms·
I definitely love Python, but I started with C++ as explained in the first link in the post. I also did an experiment with femtolisp, because it was successful
by chubot 9y ago
I definitely love Python, but I started with C++ as explained in the first link in the post. I also did an experiment with femtolisp, because it was successfully used to bootstrap Julia (and has some interesting connections to its macro system).
I admit the way I'm doing things is quirky (as I do in the blog post), but if you look at how femtolisp and Julia work, it's also quirky. The authors clearly love Lisp. Enough that they wrote their OWN Lisp -- I did not write my own Python front end, as explained in this post.
But hey, it works. We'll see if my strategy works.
I don't think Go is a great choice for a "true shell", first because it doesn't use libc (which can be worked around), but also because it only exposes ForkExec() portably and syscall.Exec non-portably, due to the migration of goroutines between threads.
You can probably make it work, but you're going to be fighting it. Go makes the shell less portable, not more. Python is a lot more straightforward since it's written in C and integrates with C. The runtime doesn't start threads behind your back, etc. I should probably write a FAQ about this since it keeps coming up.
https://www.reddit.com/r/ProgrammingLanguages/comments/81wkgv/building_oil_with_the_opy_bytecode_compiler/ https://www.reddit.com/r/ProgrammingLanguages/comments/81wkg...