<==? <FORM> '<>> should be T

Description

The ZILCH compiler contains the following function:

The line <==? .Y '<>> <PUT .X 1 0> replaces an empty arg <> with 0.
ZILF evals <==? .Y '<>> to #FALSE () what the original MDL interpreter evals to T.

Workaround:

New test method:

Activity

Show:
Jesse McGrew
July 21, 2019, 3:25 PM

Note that '<> should not be considered ==? to '()... ZilListBase.ExactlyEquals is where this is implemented for type LIST, so I think the fix here will be to have ZilForm.ExactlyEquals fall back to calling that.

Jesse McGrew
October 29, 2020, 8:12 AM

Jesse McGrew mentioned this issue in a commit of zilf / zilf on branch topic/default/zilf-206:

Change ZilForm.ExactlyEquals so that two empty FORMs are considered ==?.

Jesse McGrew
October 30, 2020, 7:45 PM

Jesse McGrew mentioned this issue in a merge request of zilf / zilf on branch topic/default/zilf-206:

Change ZilForm.ExactlyEquals so that two empty FORMs are considered ==?.

Jesse McGrew
October 30, 2020, 7:47 PM

Fixed in 371aefe7edccda9229212ef95a007122baaa9d44.

Assignee

Jesse McGrew

Reporter

Roman Bartke

Components

Labels

Priority

Medium

Fix versions

Affects versions

Configure