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.

New language suggestion (3)

1 Name: Jafet : 2006-09-13 07:34 ID:hIx8bY09

Hi

I have a suggestion for a new esolang. Of course, the rules are only suggestions, and may be changed. I'm hoping this can make it to the "ongoing projects" page at the wiki! :)

  • Each instruction is given an integer label, which may be arbitrary and non-unique.
  • Each instruction is allowed to:

** Add a hardcoded constant to its current label number.
** Subtract a hardcoded constant from its current label number.
** Multiply its label number by a hardcoded constant.
** Given hardcoded integers X and Y, perform any of the above operations to all the instructions with label X, with argument Y.
** Output its current label number to user.
** Change its label number to a user-input value.

After an instruction is executed, its label number X is taken. An interpreter shall then take the next instruction with label not smaller than X, and execute that instruction, ad infinitum; until the next instruction is found to be 0, whereupon the program shall terminate. If two or more subsequent instructions have equal labels, they shall be executed in implementation-defined order.

In short: instructions are always executed in sorted order, with the stability of the internal sort function regarded as implementation-specific.

2 Name: Jafet : 2006-09-13 08:41 ID:hIx8bY09

Addendum:

There are a couple of logical errors in the original rule text, and too much redundancy, I suppose. (Yep, it's intended to be another tarpit.) Here is the revised syntax list, with refinements.

Instructions

  • Add a constant to current label number
  • Subtract a constant from current label number
  • Add a constant to any constant label number
  • Subtract a constant from any constant label number
  • Read ASCII value and assign to current label
  • Output low byte of current label number as ASCII

Program terminates when there are no more instructions past the current one to be executed.

Infinite loop

1. this + 0 //"+/- 0" == no-op
1. this + 0

Meh, I'll be spending a couple hours figuring out Hello World. Wish me luck.

3 Name: Ørjan : 2006-10-05 13:07 ID:0BEpZdJ4

Why don't you put a description on the wiki? My impression is this forum is not used much, I come here only rarely.

This thread has been closed. You can not post in this thread any longer.