>> apply: func [function data][do compose reduce [function quote (data)]]
== func [function data][do compose reduce [function quote (data)]]
>> apply 'reverse/part [[a b c d] 2]
== [b a c d]
>> skip tail words-of system/words -5
== [right-menu left-command right-command caps-lock num-lock]
>> 'abracadabra
== abracadabra
>> skip tail words-of system/words -5
== [left-command right-command caps-lock num-lock abracadabra]
>> [what? no this can't be serious!]
== [what? no this can't be serious!]
>> skip tail words-of system/words -5
== [what? this can't be serious!]
no
isn't among the last 5 "mentioned" words, because it was already pre-defined.
get
.
@Ungaretti context
is a wrapper around make object!
:
>> source context
context: func ["Makes a new object from an evaluated spec"
spec [block!]
][
make object! spec
]
object
is a... well, see yourself :wink:
object: :context
, so they are the same?
make object!
creates and object in the same way as object
? So context would be a wrapper around object
Namespaces are not objects!
Even if they look like objects, namespaces only exist at compilation time, so they cannot be manipulated at run-time.
Namespaces are commonly structured as hierarchies
Except that there's no hierarchy between contexts whatsoever.