forked from metaeducation/rebol-issues
-
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[Epic] Holes in our evaluation model #2127
Comments
This was referenced Feb 15, 2020
Closed
This was referenced Jun 19, 2020
This was referenced Oct 7, 2020
Closed
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Submitted by: BrianH
For Rebol 3 we have done a lot to clean up our semantics, and build a much cleaner, more uniform, more intentionally designed evaluation model. Between the rebalancing of error triggering, or of none propagation, or of type conversions, we're well on our way to making a much more solid base for us to build on going forward.
However, we still have some holes in the new model that need fixing or filling in. This is a list of the minor changes, fixes or additions that we should do before 3.0, at least ones that aren't referenced in the other epics (though a few of those too). Limited to semantic model or API changes - we can fix bugs while we're at it, but semantic model changes need to go in before the 3.0 release sets an expectation of continuing compatibility.
Related tickets in the first comment, to make linking easier. Status will be updated there.
Imported from: CureCode [ Version: r3 master Type: Issue Platform: All Category: Evaluation Reproduce: Always Fixed-in:none ]
Imported from: metaeducation#2127
Comments:
Submitted by: BrianH
Missing functions:
TO-VALUE TO-VALUE function to convert unset to none #2003 - The last bit of the "unset is only erroneous when you need it to be" principle.WRAP WRAP function #2119 - Missing part of the new locals model (like Drop current FUNCTION, make it a FUNCT synonym instead #1973): The locals-gathering equivalent of USE.Breaks in the model:
DO/next non-block DO/next doesn't set var when /next doesn't apply #1951 - expected modification doesn't happen, doesn't trigger error either.REDUCE/into non-block REDUCE/into of non-block doesn't insert into target #2061 - breaks the /into model, making code that uses it not work.COMPOSE/into non-block COMPOSE/into of non-block doesn't insert into target #2062 - breaks the /into model, making code that uses it not work.SPLIT misnames /into Rename SPLIT's /INTO refinement #2051 - breaks the /into model, and it's not a good name for this either.REDUCE/no-set sets set-words REDUCE/NO-SET working also with set-path! #2122 - no-set means no setting.Crash on REDUCE REDUCE [:self] REDUCE REDUCE [:self] crash #1756 - bigger issue: get-word evaluation of 'self keyword doesn't convert from frame to object, like word evaluation does.Filling in the coverage gaps (some not as critical):
More will links be added later.
#637, #1951, #2003 and #2119 have PRs.
#2061 fixed in: Oldes/Rebol3@6d14eea
#2062 fixed in Oldes/Rebol3@27278b6
#1756 fixed in zsx/r3@b275787 and Oldes/Rebol3@2abd4c2
#2051 modified in Oldes/Rebol3@3385185 (
split/pieces
instead ofsplit/into
)#2122 fixed in Oldes/Rebol3@690dffa
The text was updated successfully, but these errors were encountered: