-
-
Notifications
You must be signed in to change notification settings - Fork 4
full evaluation
Pannous edited this page Dec 28, 2022
·
5 revisions
full instant evaluation
Uncharged data, blocks or quoted code can be forced to be fully evaluated with the interpret
keyword or with the !!
sigil. This is usually not necessary: in most pure functions it is ok to treat symbols as lazily un-evaluated until the very last moment.
One example where immediate fully evaluation can be desirable would be
friends{peter james created:now!!}
The created
property of the friends
object will be the current time at construction, even if the object remains uncharged data.
this is different to the following situation
friends{peter james updated:now}
#do some other stuff which takes a while
print friends!!
#do some other stuff which takes a while
print friends!!
here the print statement would each show different updated
times
todo what about partial evaluation
friends{peter james created:now!}
print friends!