#60 Value comparation rework

Open
opened 9 months ago by belliash · 1 comments

The actual value comparation implemented by PH7 Engine is trying to imitate PHP behavior. First of all, NULL < -1, and NULL == 0. Sorting is thus nondeterministic. Secondly, objects compare as greater than anything else except other objects, which they are neither less than nor greater than. Finally, comparison operators try to sort arrays, two different ways: first by length, then by elements. If they have the same number of elements but different sets of keys, though, they are non comparable.

This needs comparation mechanism to be rewritten and fixed.

The actual value comparation implemented by PH7 Engine is trying to imitate PHP behavior. First of all, NULL < -1, and NULL == 0. Sorting is thus nondeterministic. Secondly, objects compare as greater than anything else except other objects, which they are neither less than nor greater than. Finally, comparison operators try to sort arrays, two different ways: first by length, then by elements. If they have the same number of elements but different sets of keys, though, they are non comparable. This needs comparation mechanism to be rewritten and fixed.
belliash added the
bug
label 9 months ago
belliash added the
aerscript
label 9 months ago
likoski commented 9 months ago
Owner

We should not compare incompatible values in general.

We should not compare incompatible values in general.
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.