Last active
April 23, 2025 14:52
-
-
Save GiuseppeChillemi/e489a6c5dfa143c3558d04d761cadf82 to your computer and use it in GitHub Desktop.
args-test.r
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;Red [] | |
Rebol [ | |
Title: "Args Test" | |
Description: "Test the working of ARGS" | |
] | |
;---- Z is here for STUB ---- | |
z: %testfile.txt | |
test: func [a aa 'a-lit 'aa-lit :a-get :aa-get] [ | |
Prin "IN-LINE: g ARG: a - PROBE a >> " probe a | |
Prin "IN-LINE: g ARG: a - PROBE :a >> " probe :a | |
Prin "IN-LINE: :g ARG: aa - PROBE aa >> " probe aa | |
Prin "IN-LINE: :g ARG: :aa - PROBE :aa >> " probe :aa | |
Prin "IN-LINE: g ARG: 'a-lit - PROBE a-lit >> " probe a-lit | |
Prin "IN-LINE: g ARG: 'a-lit - PROBE :a-lit >> " probe :a-lit | |
Prin "IN-LINE: :g ARG: 'aa-lit - PROBE a-lit >> " probe aa-lit | |
Prin "IN-LINE: :g ARG: 'aa-lit - PROBE :a-lit >> " probe :aa-lit | |
Prin "IN-LINE: g ARG: :a-get - PROBE a-get >> " probe a-get | |
Prin "IN-LINE: g ARG: :a-get - PROBE :a-get >> " probe :a-get | |
Prin "IN-LINE: :g ARG: :aa-get - PROBE aa-get >> " probe aa-get | |
Prin "IN-LINE: :g ARG: :aa-get - PROBE :aa-get >> " probe :aa-get | |
] | |
Print "--- Function ---" | |
g: func [][1 + 1] | |
print rejoin [mold :g lf] | |
test g :g g :g g :g | |
print "" | |
Print "--- Quoted ---" | |
g: quote (3 + 3) | |
print rejoin [mold :g lf] | |
test g :g g :g g :g | |
print "" | |
Print "--- Composed function ---" | |
f: func [][1 + 1] | |
g: compose [(:f)] | |
print rejoin [mold :g lf] | |
test g/1 :g/1 g/1 :g/1 g/1 :g/1 | |
print "" | |
halt | |
comment [ | |
;----------------- RESULTS------------------------ | |
;----------------- Rebol2 -------------------- | |
--- Function --- | |
func [][1 + 1] | |
IN-LINE: g ARG: a - PROBE a >> 2 | |
IN-LINE: g ARG: a - PROBE :a >> 2 | |
IN-LINE: :g ARG: aa - PROBE aa >> 2 | |
IN-LINE: :g ARG: :aa - PROBE :aa >> func [][1 + 1] | |
IN-LINE: g ARG: 'a-lit - PROBE a-lit >> g | |
IN-LINE: g ARG: 'a-lit - PROBE :a-lit >> g | |
IN-LINE: :g ARG: 'aa-lit - PROBE a-lit >> 2 | |
IN-LINE: :g ARG: 'aa-lit - PROBE :a-lit >> func [][1 + 1] | |
IN-LINE: g ARG: :a-get - PROBE a-get >> 2 | |
IN-LINE: g ARG: :a-get - PROBE :a-get >> func [][1 + 1] | |
IN-LINE: :g ARG: :aa-get - PROBE aa-get >> :g | |
IN-LINE: :g ARG: :aa-get - PROBE :aa-get >> :g | |
--- Quoted --- | |
(3 + 3) | |
IN-LINE: g ARG: a - PROBE a >> (3 + 3) | |
IN-LINE: g ARG: a - PROBE :a >> (3 + 3) | |
IN-LINE: :g ARG: aa - PROBE aa >> (3 + 3) | |
IN-LINE: :g ARG: :aa - PROBE :aa >> (3 + 3) | |
IN-LINE: g ARG: 'a-lit - PROBE a-lit >> g | |
IN-LINE: g ARG: 'a-lit - PROBE :a-lit >> g | |
IN-LINE: :g ARG: 'aa-lit - PROBE a-lit >> (3 + 3) | |
IN-LINE: :g ARG: 'aa-lit - PROBE :a-lit >> (3 + 3) | |
IN-LINE: g ARG: :a-get - PROBE a-get >> (3 + 3) | |
IN-LINE: g ARG: :a-get - PROBE :a-get >> (3 + 3) | |
IN-LINE: :g ARG: :aa-get - PROBE aa-get >> :g | |
IN-LINE: :g ARG: :aa-get - PROBE :aa-get >> :g | |
--- Composed function --- | |
[func [][1 + 1]] | |
IN-LINE: g ARG: a - PROBE a >> 2 | |
IN-LINE: g ARG: a - PROBE :a >> 2 | |
IN-LINE: :g ARG: aa - PROBE aa >> 2 | |
IN-LINE: :g ARG: :aa - PROBE :aa >> 2 | |
IN-LINE: g ARG: 'a-lit - PROBE a-lit >> g/1 | |
IN-LINE: g ARG: 'a-lit - PROBE :a-lit >> g/1 | |
IN-LINE: :g ARG: 'aa-lit - PROBE a-lit >> :g/1 | |
IN-LINE: :g ARG: 'aa-lit - PROBE :a-lit >> :g/1 | |
IN-LINE: g ARG: :a-get - PROBE a-get >> g/1 | |
IN-LINE: g ARG: :a-get - PROBE :a-get >> g/1 | |
IN-LINE: :g ARG: :aa-get - PROBE aa-get >> :g/1 | |
IN-LINE: :g ARG: :aa-get - PROBE :aa-get >> :g/1 | |
;----------------- Red -------------------- | |
--- Function --- | |
func [][1 + 1] | |
IN-LINE: g ARG: a - PROBE a >> 2 | |
IN-LINE: g ARG: a - PROBE :a >> 2 | |
IN-LINE: :g ARG: aa - PROBE aa >> 2 | |
IN-LINE: :g ARG: :aa - PROBE :aa >> func [][1 + 1] | |
IN-LINE: g ARG: 'a-lit - PROBE a-lit >> g | |
IN-LINE: g ARG: 'a-lit - PROBE :a-lit >> g | |
IN-LINE: :g ARG: 'aa-lit - PROBE a-lit >> 2 | |
IN-LINE: :g ARG: 'aa-lit - PROBE :a-lit >> func [][1 + 1] | |
IN-LINE: g ARG: :a-get - PROBE a-get >> g | |
IN-LINE: g ARG: :a-get - PROBE :a-get >> g | |
IN-LINE: :g ARG: :aa-get - PROBE aa-get >> :g | |
IN-LINE: :g ARG: :aa-get - PROBE :aa-get >> :g | |
--- Quoted --- | |
(3 + 3) | |
IN-LINE: g ARG: a - PROBE a >> (3 + 3) | |
IN-LINE: g ARG: a - PROBE :a >> (3 + 3) | |
IN-LINE: :g ARG: aa - PROBE aa >> (3 + 3) | |
IN-LINE: :g ARG: :aa - PROBE :aa >> (3 + 3) | |
IN-LINE: g ARG: 'a-lit - PROBE a-lit >> g | |
IN-LINE: g ARG: 'a-lit - PROBE :a-lit >> g | |
IN-LINE: :g ARG: 'aa-lit - PROBE a-lit >> (3 + 3) | |
IN-LINE: :g ARG: 'aa-lit - PROBE :a-lit >> (3 + 3) | |
IN-LINE: g ARG: :a-get - PROBE a-get >> g | |
IN-LINE: g ARG: :a-get - PROBE :a-get >> g | |
IN-LINE: :g ARG: :aa-get - PROBE aa-get >> :g | |
IN-LINE: :g ARG: :aa-get - PROBE :aa-get >> :g | |
--- Composed function --- | |
[func [][1 + 1]] | |
IN-LINE: g ARG: a - PROBE a >> 2 | |
IN-LINE: g ARG: a - PROBE :a >> 2 | |
IN-LINE: :g ARG: aa - PROBE aa >> 2 | |
IN-LINE: :g ARG: :aa - PROBE :aa >> func [][1 + 1] | |
IN-LINE: g ARG: 'a-lit - PROBE a-lit >> g/1 | |
IN-LINE: g ARG: 'a-lit - PROBE :a-lit >> g/1 | |
IN-LINE: :g ARG: 'aa-lit - PROBE a-lit >> 2 | |
IN-LINE: :g ARG: 'aa-lit - PROBE :a-lit >> func [][1 + 1] | |
IN-LINE: g ARG: :a-get - PROBE a-get >> g/1 | |
IN-LINE: g ARG: :a-get - PROBE :a-get >> g/1 | |
IN-LINE: :g ARG: :aa-get - PROBE aa-get >> :g/1 | |
IN-LINE: :g ARG: :aa-get - PROBE :aa-get >> :g/1 | |
;----------------- Rebol3 -------------------- | |
--- Function --- | |
make function! [[][1 + 1]] | |
IN-LINE: g ARG: a - PROBE a >> 2 | |
IN-LINE: g ARG: a - PROBE :a >> 2 | |
IN-LINE: :g ARG: aa - PROBE aa >> 2 | |
IN-LINE: :g ARG: :aa - PROBE :aa >> make function! [[][1 + 1]] | |
IN-LINE: g ARG: 'a-lit - PROBE a-lit >> g | |
IN-LINE: g ARG: 'a-lit - PROBE :a-lit >> g | |
IN-LINE: :g ARG: 'aa-lit - PROBE a-lit >> 2 | |
IN-LINE: :g ARG: 'aa-lit - PROBE :a-lit >> make function! [[][1 + 1]] | |
IN-LINE: g ARG: :a-get - PROBE a-get >> g | |
IN-LINE: g ARG: :a-get - PROBE :a-get >> g | |
IN-LINE: :g ARG: :aa-get - PROBE aa-get >> :g | |
IN-LINE: :g ARG: :aa-get - PROBE :aa-get >> :g | |
--- Quoted --- | |
(3 + 3) | |
IN-LINE: g ARG: a - PROBE a >> (3 + 3) | |
IN-LINE: g ARG: a - PROBE :a >> (3 + 3) | |
IN-LINE: :g ARG: aa - PROBE aa >> (3 + 3) | |
IN-LINE: :g ARG: :aa - PROBE :aa >> (3 + 3) | |
IN-LINE: g ARG: 'a-lit - PROBE a-lit >> g | |
IN-LINE: g ARG: 'a-lit - PROBE :a-lit >> g | |
IN-LINE: :g ARG: 'aa-lit - PROBE a-lit >> (3 + 3) | |
IN-LINE: :g ARG: 'aa-lit - PROBE :a-lit >> (3 + 3) | |
IN-LINE: g ARG: :a-get - PROBE a-get >> g | |
IN-LINE: g ARG: :a-get - PROBE :a-get >> g | |
IN-LINE: :g ARG: :aa-get - PROBE aa-get >> :g | |
IN-LINE: :g ARG: :aa-get - PROBE :aa-get >> :g | |
--- Composed function --- | |
[make function! [[][1 + 1]]] | |
IN-LINE: g ARG: a - PROBE a >> 2 | |
IN-LINE: g ARG: a - PROBE :a >> 2 | |
IN-LINE: :g ARG: aa - PROBE aa >> 2 | |
IN-LINE: :g ARG: :aa - PROBE :aa >> make function! [[][1 + 1]] | |
IN-LINE: g ARG: 'a-lit - PROBE a-lit >> g/1 | |
IN-LINE: g ARG: 'a-lit - PROBE :a-lit >> g/1 | |
IN-LINE: :g ARG: 'aa-lit - PROBE a-lit >> 2 | |
IN-LINE: :g ARG: 'aa-lit - PROBE :a-lit >> make function! [[][1 + 1]] | |
IN-LINE: g ARG: :a-get - PROBE a-get >> g/1 | |
IN-LINE: g ARG: :a-get - PROBE :a-get >> g/1 | |
IN-LINE: :g ARG: :aa-get - PROBE aa-get >> :g/1 | |
IN-LINE: :g ARG: :aa-get - PROBE :aa-get >> :g/1 | |
] | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment