flat assembler
Message board for the users of flat assembler.

Index > OS Construction > Esoteric programming languages and operating systems...

Author
Thread Post new topic Reply to topic
THEWizardGenius



Joined: 14 Jan 2005
Posts: 382
Location: California, USA
THEWizardGenius
I have suddenly become interested in Esoteric programming languages, such BrainF**k, Befunge, and (my favorite) SNUSP. Has anyone studied these seriously? I mean, they are by definition "useless" for most practical applications (I don't mean programs) and uses, but they are interesting.
If you don't know what an Esoteric programming language is, do a search on google for "Esoteric programming language," "Brainfuck," or "SNUSP," or on WikiPedia... that's where I first discovered SNUSP...
These are very interesting, although useless, and maybe we shouldn't ignore them, or at least not ignore the concepts they employ.

Maybe someone could modify one of them, so it is useful (perhaps make some sort of interface to operating system API functions) for actual programming- I'm thinking like for a Hobby OS or something- maybe even as the core of the OS. Or maybe with just (no modification) for a simple one like BrainF**k- for a bootsector 512b OS. Imagine an OS where you type in simple BrainF**k programs and run them, and it fits in the boot sector! Just an idea, one I won't be able to implement because I'm going to start working on my own HobbyOS... maybe when it's finished (a few years) I'll make a SNUSP interpreter to go with it, but thats a LONG ways off. Maybe a MenuetOS programmer could use my idea...

SNUSP is really simple, but cool anyways. It is a 2-Dimensional language, uses single-character instructions, no alpha-numeric instructions, and operates on an array of numbers. You can do random numbers and it has support for simple multi-threading. It even has a standard! The thing about esoteric languages is that they are simple, too simple. If we can expand and extend a language to maintain its simplicity, yet be usable for application programming...

The other idea I got from SNUSP and befunge, but would be usable. I was thinking a 2d programming language would be pretty difficult in a normal multi-character-instruction programming language, unless we implement it as modules... we could write an IDE where the user has a graph paper-like work area: covered with squares. Each square would contain either a left/right/up/down directive (telling the interpreter/compiler/whatever which direction to move in) or a module of code. You could view the code (in small letters and with scrollbars) in the square, or click on it to modify it or see it in a bigger window. This way we could have all sorts of options of how our code is executed. For example, in befunge, there is a directive to move in a random direction. If we have a similar directive, and we position modules of code on all sides, then we could execute a random bit of code.

I don't know if these are good ideas or not, and like I say I'm too busy to do anything with them at the moment, but maybe someone else who likes my ideas would use one or both of them... if so, I'd like to see your work, and try it out, and use it. It would probably be easier to write an interpreter first, or perhaps a "compiler" that converts it to one-dimensional FASM-style assembly language? If nobody uses my idea, maybe I'll work on it later... Thanks for at least reading it, even if you don't like it...

Note: I wasn't sure if I should post this here or in the Heap... If you need to move it Admin, go ahead...

_________________
FASM Rules!
OS Dev is fun!
Pepsi tastes nasty!
Some ants toot!
It's over!
Post 31 Jan 2005, 02:45
View user's profile Send private message AIM Address Reply with quote
crc



Joined: 21 Jun 2003
Posts: 637
Location: Penndel, PA [USA]
crc
Quote:
Maybe someone could modify one of them, so it is useful (perhaps make some sort of interface to operating system API functions) for actual programming- I'm thinking like for a Hobby OS or something- maybe even as the core of the OS. Or maybe with just (no modification) for a simple one like BrainF**k- for a bootsector 512b OS. Imagine an OS where you type in simple BrainF**k programs and run them, and it fits in the boot sector!


I've written several BF interpreters that will fit in a boot sector. I just don't see much point since you get nothing useful out of it...
Post 31 Jan 2005, 02:55
View user's profile Send private message Visit poster's website Reply with quote
beppe85



Joined: 23 Oct 2004
Posts: 181
beppe85
Brainf*ck is my favorite one. Befunge is cool, but the worst ever is malbolge, even its creator is unable to write a program in it.

And I think seriously about this subject. My master thesis will be "Code generation optimizations for esoteric programming languages".

I plan to write a full-featured BF environment in assembly someday. I wrote one in Delphi for CIL(or what the hell the m$ calls it) and it was very funny.

I just want to see an OS built on BF. Cool

_________________
"I assemble, therefore I am"

If you got some spare time, visit my blog: http://www.beppe.theblog.com.br/ and sign my guestmap
Post 31 Jan 2005, 18:42
View user's profile Send private message Reply with quote
THEWizardGenius



Joined: 14 Jan 2005
Posts: 382
Location: California, USA
THEWizardGenius
I agree, malbolge is impossible...
I liked befunge, but SNUSP is my favorite. It's kind of a cross between BrainF*ck and Befunge...

I agree BrainF*ck isn't very useful, I was just thinking it would be kind of interesting.

A BrainF*ck OS? lol, sounds interesting...

_________________
FASM Rules!
OS Dev is fun!
Pepsi tastes nasty!
Some ants toot!
It's over!
Post 01 Feb 2005, 18:28
View user's profile Send private message AIM Address Reply with quote
simpaticool



Joined: 12 Jan 2005
Posts: 16
Location: Romania
simpaticool
never heard about ...
please provide some extra info
and some url for download ...
Very Happy
Post 03 Feb 2005, 07:10
View user's profile Send private message Reply with quote
beppe85



Joined: 23 Oct 2004
Posts: 181
beppe85
hehehe..every go ahead asking for where to download...everybody wrote a BF system but nobody publishes it.

If you have .NET installed, I could make an effort to port mine to the bare .NET system, currently it depends on pre-Delphi 8 assemblies.
Post 03 Feb 2005, 10:21
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar.

Powered by rwasa.