catseye / Funge-98

MIRROR of https://codeberg.org/catseye/Funge-98 : The Funge-98 specification in all its gory
https://catseye.tc/node/Funge-98
32 stars 2 forks source link

Incorrect delta for south/north #5

Closed bbernardoni closed 6 years ago

bbernardoni commented 7 years ago

South and North seem to be labeled with incorrect delta values (found here).

Everywhere else seems to indicate south is (0,1) and north is (0,-1).

cpressey commented 6 years ago

Congratulations! You found a 19-year-old error in the spec.

I can tell you exactly why this is, too. When just starting on the design of Funge-98, I had it in my mind that it would be nice if its co-ordinate system matched the co-ordinate plane commonly used in mathematics. In this, the co-ordinates on the y-axis increase as you move up the page ("north").

But that proved to be an extremely unpopular choice, with most voices on the mailing list expressing a strong preference for retaining the orientation used by Befunge-93, (which matched the one commonly used in early computer graphics,) where y co-ordinates increases as you move down the page.

(You can find a comparison of these two, with some (not totally accurate, but still useful) context, on this page: Introduction to Graphics.)

I conceded to the popular opinion in this case and edited the spec to change the orientation everywhere (including the definition of North and South). Except, of course, I missed a spot, as you have pointed out.

(Thankfully, it seems to not have confused anyone, as the number of other places, in the spec and in written programs, where it is clear that bigger y = south, smaller y = north, has probably overwhelmed this one statement, to the point where it was hard to even spot.)

I'm currently compiling an ERRATA document to accompany the spec, and will mention this error in that document.

Thanks!

cpressey commented 6 years ago

This error has been listed in the ERRATA document, which has now been released. Thank you for your report. Closing this issue.