Five reflexes are installed. Each manifest says what its reflex does and the inputs it takes. contact returns an email, and mail's to takes one.
You type one sentence. Each card turns over to show what its reflex does and the inputs it takes.
evoke shows the plan before anything runs. «and» splits the sentence into two steps, and «them» points at what step 1 will find.
Step 1 runs. contact finds dana's address.
The address becomes the draft's recipient. contact returns an email, and mail's to takes an email. The kinds match, so the address passes.
The draft is addressed to dana, and nothing is sent. Two more sentences wait in the tabs above: one where evoke asks first, and one where it stops.
«look up dana's address» reads as contact. contact 0.90 · none 0.06 · mail 0.03 · lights 0.01
«dana» is a word from your own list of people. name dana 0.90 · unstated 0.08 · sam 0.02
evoke asks the classifier whether «and» separates two tasks. Here, the answer is yes. "splits":[{"start":22,"end":27,"word":"and","order":"and","p":0.9}]
«email them» reads as mail. mail 0.88 · none 0.08 · contact 0.04
«them» takes the email that step 1 found, the kind mail's to needs. "binds":[{"from":1,"to":2,"arg":"to","field":"email","kind":"email","via":"fill"}]
The same five reflexes are installed. contact returns an email, and no input of the timer takes one.
You type one sentence. This time, its second part asks for a timer.
«them» points at step 1, but a timer takes no address. Its inputs take a duration and a quoted label, never an email.
So evoke asks before anything runs. When «them» points back at a step it can take nothing from, evoke asks first. Here, the answer was yes.
Both steps ran, each on its own. The address had nowhere to go, so nothing passed.
«look up dana's address» reads as contact. contact 0.90 · none 0.06 · mail 0.03 · lights 0.01
«dana» is a word from your own list of people. name dana 0.90 · unstated 0.08 · sam 0.02
evoke asks the classifier whether «and» separates two tasks. Here, the answer is yes. "splits":[{"start":22,"end":27,"word":"and","order":"and","p":0.9}]
«start a 10 minute timer for them» reads as timer. timer 0.88 · none 0.08 · lights 0.02 · volume 0.02
«them» points at step 1, but the timer takes no email. step 2 refers to step 1, but takes nothing from it
The same five reflexes are installed. None of them feeds a cat.
You type one sentence. This time, its second part asks to feed the cat.
No installed reflex feeds a cat. The second part matches nothing.
So nothing runs, not even the lights. evoke refuses the whole sentence before any step starts, rather than do half of it.
«kill the lights in the den» reads as lights. lights 0.91 · none 0.06 · timer 0.02 · volume 0.01
evoke asks the classifier whether «and» separates two tasks. Here, the answer is yes. "splits":[{"start":26,"end":31,"word":"and","order":"and","p":0.95}]
Nothing installed matches «feed the cat». none 0.95 · lights 0.05
What evoke printed in its tests, replayed here. The classifier's answers and the five reflexes were written for those tests. You cannot install these reflexes.
The collection, thirteen reflexes you can install today, has its own mail reflex. It opens a real draft on a Mac.