This forum is closed to new posts due to low activity and a deluge of spam. It is kept online as a static historical record. If you want to read about or discuss esoteric programming languages, the Esolang wiki is the place to go. An archive of the forum is available.
Previously, on Esoteric Operating System:
http://esoteric.voxelperfect.net/forum/kareha.pl/1203094023/l50
http://esoteric.voxelperfect.net/wiki/Talk:Main_Page#Esoteric_OS
Hey guys,
I am interested in the idea to use a Linux kernel as the base for an esoteric language operating system.
Is anyone else interested?
I think the steps are:
I have done:
1, 2, 3, and some of 5, including all of 5.1.
Regarding 1, 2, and 3, I then failed to perform step 4. Using Qemu, my Linux kernel wouldn't recognise the disk image - so 1 might need to be redone, or an extra step might be needed such as editing the Master Boot Record or something.
Regarding 5, I have a program called KWrap that fulfills the role of the wrapper described here. It is unfinished, but with it, you can get the kernel to print "Hello world!" for you. At the moment, you cannot use it to read from stdin via the kernel. You may consider this program to be lies and propaganda at this stage, because I haven't put it online. It should be coming soon. Alternatively, I can email it to anyone who asks for a copy.
Personally, I have already decided a value for step 6 that I'd like to proceed with. It is Redirectable Forking Executive Modular SNUSP - an extended form of SNUSP that can read and write files in a filesystem, run other SNUSP programs and fork into multiple processes.
Deschutron
=Appendix A: an architecture for using the wrapper=
-------------------------
| Root Eso-Program Unit |
-------------------------
| |
| stdout | stdin
| |
-------- ---------
| toK | | fromK |
-------- ---------
| |
-------------- ---------
| kwrap |-------| Linux |
-------------- ---------
| |
| stdout | stdin
| |
---------- ------------
| screen | | keyboard |
---------- ------------
where
Root Eso-Program Unit is the root eso-program,
either precompiled or being run in an interpreter.
toK and fromK are character files (Linux term)
i.e. those stream files I mentioned
kwrap is the wrapper
You can set this up by making init be equivalent to this bash code:
kwrap toK fromK
rootEsoProgUnit < fromK > toK
I would help if there was anything I could do. Will the standard C library be usable, or is that not included?
Yes, the standard C library will be usable.
Oh yeah, static linking. Didn't know about that.