User talk:Snowyowl

From Esolang
Jump to navigation Jump to search

Hey-o, A0A0!

Putting its susceptibility to that atrocious pun aside, I've taken an interesting in your language. So much so that I decided to write an interpreter for it. It follows your specification faithfully, I think, except that Ruby's negative indexing capabilities made it bothersome to implement the blank void above the program, so I didn't. : )

Unfortunately, despite my layman's grasp of the Y combinator, I've thus far been unable to get a loop going. I'm almost certain I'm simply missing something, but my intuition tells me that A0A0's semantics just don't make it possible. A line must be padded on both ends if it's to repeat itself, but then you lose the ability to modify its second-to-last argument to do something useful. What're your thoughts on having last-number modifications instead affect the last non-append instruction? Also, because it would almost certainly make looping much less tedious, how do you feel about having the line counter wrap in either direction? Andkerosine (talk) 01:54, 24 January 2013 (UTC)

Hi! Don't worry, I chose the name with that sort of pun in mind.
I think you're right, looping is almost impossible. I figured out how to make a simple while(1) {output("hello")}, and assumed that was enough when I wrote the page, but the "operation" instructions clearly don't work properly.
I haven't updated the spec yet because I'm only 99% sure that a construction like
A0 I0 A0 O0
with some instructions past the trailing A0, can't be made to work. (It duplicates the extra arguments every time it's run, so it probably won't be very helpful.)
Anyway, yes, I'm strongly considering a modification to the spec, and I already have the new semantics in mind (just haven't bothered to update the article). I really hate to break your implementation now that it's all written up though - it looks gorgeous. Snowyowl (talk) 11:23, 24 January 2013 (UTC)

The V operator does seem to have solved most of the issues. I've incorporated the new spec into my interpreter and confirmed that your cat works perfectly. Andkerosine (talk) 02:13, 25 January 2013 (UTC)