Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent delta for high/low #10

Open
cwesson opened this issue May 9, 2020 · 5 comments
Open

Inconsistent delta for high/low #10

cwesson opened this issue May 9, 2020 · 5 comments

Comments

@cwesson
Copy link

cwesson commented May 9, 2020

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.

@j4james
Copy link

j4james commented May 9, 2020

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.

@cwesson
Copy link
Author

cwesson commented May 9, 2020

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).

@LunarLambda
Copy link

LunarLambda commented Jun 19, 2021

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 😛

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.

@cpressey
Copy link
Member

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.

@LunarLambda
Copy link

LunarLambda commented Jun 22, 2021 via email

cwesson added a commit to cwesson/funge-plus-plus that referenced this issue Aug 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants