Skip to content

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!

Home

Philosophy

data & code blocks

features

inventions

evaluation

keywords

iteration

tasks

examples

todo : bad ideas and open questions

⚠️ specification and progress are out of sync

Clone this wiki locally