Funge-98 icon indicating copy to clipboard operation
Funge-98 copied to clipboard

Inconsistent delta for high/low

Open cwesson opened this issue 5 years ago • 5 comments

The program flow section states that h is delta <- (0,0,1) and l is delta <- (0,0,-1), whereas the quick reference states the opposite.

cwesson avatar May 09 '20 20:05 cwesson

I can't believe I've never noticed that before. And unfortunately that has resulted in some inconsistency in the various Trefunge implementations. It looks like Rc/Funge and Fungi interpret h as (0,0,1) and l as (0,0,-1), while PyFunge has them the other way around.

j4james avatar May 09 '20 21:05 j4james

BeQunge also uses h as (0,0,1), which I noticed while implementing BeQunge compatibility on by own interpreter, which uses h as (0,0,-1).

cwesson avatar May 09 '20 23:05 cwesson

Running into this with my own interpreter right now. Even going back to the initial commit (HTML spec dated 2004) the inconsistency exists. FBBI never implemented trefunge, and I don't think mycology covers trefunge either.

How fun. I'll see if I can dig up an even older version of the spec somewhere. Update: RcFunge has the 1998 version, and it has the same inconsistency: https://www.rcfunge98.com/spec98.html Somehow I doubt Chris will let us know which one he originally meant :stuck_out_tongue:

h being +z would be more probable if we assume the quick reference was an afterthought, but h being -z would also make sense if we consider 'go low' analogous to 'go down'.

The description and quick reference for m (High-Low If) is consistent with h = -z, l = +z, so I'm inclined to go with that, however if RcFunge does it the other way around, it seems some sort of switch to flip the z axis might be appropriate.

LunarLambda avatar Jun 19 '21 07:06 LunarLambda

Somehow I doubt Chris will let us know which one he originally meant :stuck_out_tongue:

"he"? "meant"?? What is this gibberish? Funge-98 was strictly a committee effort; any supposed intent on behalf of any individual was efficiently eliminated by the sheer, pummeling bureaucracy of the specification process.

If it helps, I do think that one can, in general, reasonably assume that anything calling itself a "quick reference" is more or less advertising itself as having been distilled from something else, rather than having been the basis for something else.

And if the goal is to be compatible with the millions and millions of lines of mission-critical legacy Trefunge code out there in the wild, then yes, implementing a command-line switch or similar contrivance to support both possibilities is indeed a prudent notion.

cpressey avatar Jun 22 '21 15:06 cpressey

what is this gibberish

unfortunately I don't have access to who the rest of the Funge-98 Standards committee was, and where to talk to them :p

cheers!

On Tue, 22 Jun 2021, 17:00 Chris Pressey, @.***> wrote:

Somehow I doubt Chris will let us know which one he originally meant 😛

"he"? "meant"?? What is this gibberish? Funge-98 was strictly a committee effort; any supposed intent on behalf of any individual was efficiently eliminated by the sheer, pummeling bureaucracy of the specification process.

If it helps, I do think that one can, in general, reasonably assume that anything calling itself a "quick reference" is more or less advertising itself as having been distilled from something else, rather than having been the basis for something else.

And if the goal is to be compatible with the millions and millions of lines of mission-critical legacy Trefunge code out there in the wild, then yes, implementing a command-line switch or similar contrivance to support both possibilities is indeed a prudent notion.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/catseye/Funge-98/issues/10#issuecomment-866060160, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJI55IQGP4N2VHISM54FHPTTUCQSLANCNFSM4M46DNPA .

LunarLambda avatar Jun 22 '21 15:06 LunarLambda