I like what I see in Janet, but FWIW /usr/bin/lua5.2 on my Ubuntu machine is 199,576 bytes.
If you write in C without any dependencies, it will take tens of thousands of lines of code before you hit 200 KB :) And that's enough to implement many interpreted languages.
Although I will say that Micro Python is super impressive, because it's small and Python is a deceptively large language -- much bigger than Lua or Clojure.
The Unix port of Micro Python is 412,984 bytes on my machine, and I was only able to get CPython down to ~900 KB after removing many major pieces of functionality (unicode, complex numbers, almost all modules, etc.).
For comparison, /usr/bin/python2.7 on my machine is 3.5 MB, and /usr/bin/python3.5 is 4.4 MB. That's not a knock -- I've really used all that stuff at some point!
Actually, I pulled down the repo and did a build. Janet is significantly larger than "200-300 kB" whether I'm counting just source, or built binaries+libs. So perhaps it's an old claim that needs to be updated.
Thanks for sharing re: MicroPython. Had a lot of fun with that over Christmas on a little ESP8266. It's a neat trick that it fits on such a tiny board.
If you write in C without any dependencies, it will take tens of thousands of lines of code before you hit 200 KB :) And that's enough to implement many interpreted languages.
Although I will say that Micro Python is super impressive, because it's small and Python is a deceptively large language -- much bigger than Lua or Clojure.
The Unix port of Micro Python is 412,984 bytes on my machine, and I was only able to get CPython down to ~900 KB after removing many major pieces of functionality (unicode, complex numbers, almost all modules, etc.).
For comparison, /usr/bin/python2.7 on my machine is 3.5 MB, and /usr/bin/python3.5 is 4.4 MB. That's not a knock -- I've really used all that stuff at some point!
Hollowing Out the Python Interpreter http://www.oilshell.org/blog/2018/11/15.html