Very useful!!!
![]()
(and has been useful as a place for me to update it over time, to look at how it shapes up and makes sense!)
Do note that the %types.r table encodes the type/antiform information as well: Such as for splice:
block! "list of elements that blocks evaluation unless EVAL is used"
~splice!~ "fragment of multiple values without a surrounding block"
(payload1)
[any-series? any-branch? any-sequencable?]
And for error:
error! "context with id, arguments, and stack origin"
~failure!~:U "error state that is escalated to a panic if not triaged"
(payload1 payload2)
[any-inert?]
(The :U means the antiform is "unstable".)
In any case, %types.r is a pretty good example of dialecting! As much as possible, it's good to use Rebol to do code generation for properties in the C (and also to put in the binary for HELP)!
%types.r has come a long way since R3-Alpha!
This is what it looked like in R3-Alpha:
A much better strategy has been implemented for specifying granular dispatch, so the last vestiges of weirdness of things like self string + f* file * are gone: