Chunky Blues — 21 of 59

Scott Hammack and Jessamin Yu

Release 2

Chapter 3 - Chunking

Chunking it with is an action applying to two things.

Understand "chunk [any known thing] with [any known thing]" as chunking it with.

Understand "chunk [any known thing] and [any known thing]" as chunking it with.

Understand "chunk [any known thing] [any known thing]" as chunking it with.

Understand "chunk [any known things]" as chunking it with. [doesn't actually work, but gives a better error message]

Understand "c [any known thing] [any known thing]" as chunking it with.

The chunking it with action has a list of objects called chunking arguments.

The chunking it with action has an object called the new chunk.

Reacting it with is an action applying to two things.

Check chunking it with:

if the noun is not familiar or the second noun is not familiar:

say "You haven't really got a handle on [if the noun is not familiar][the noun][end if][if the noun is not familiar and the second noun is not familiar] or [end if][if the second noun is not familiar][the second noun][end if][if the noun is notable or the second noun is notable]. Further investigation of [end if][if the noun is notable and the second noun is notable]both[else if the noun is notable][the noun][else if the second noun is notable][the second noun][end if][if the noun is notable or the second noun is notable] may be helpful[end if]." instead;

else if the noun is the second noun:

say "You can't chunk something with itself!" instead;

[ else if the noun is not listed in STM and the noun is not listed in LTM:

say "You don't know what to think about [the noun][if the second noun is not listed in STM and the second noun is not listed in LTM] or [the second noun][end if][if the noun is notable or the second noun is notable]. Further investigation of [end if][if the noun is notable and the second noun is notable]both[else if the noun is notable][the noun][else if the second noun is notable][the second noun][end if][if the noun is notable or the second noun is notable] may be helpful[end if]." instead;

else if the second noun is not listed in STM and the second noun is not listed in LTM:

say "You don't know what to think about [the second noun]." instead;]

Carry out chunking it with:

add the noun to chunking arguments;

add the second noun to chunking arguments;

sort chunking arguments in reverse order;

let x be entry 1 in chunking arguments;

let y be entry 2 in chunking arguments;

[whisper "Reacting [x] with [y].";]

try reacting x with y;

if rule failed:

[whisper "Reacting [y] with [x].";]

try reacting y with x;

[ if rule failed:

say "You're unable to find the connection between [the noun] and [the second noun].";

stop the action;]

say "You're unable to find the connection between [the noun] and [the second noun].";

stop the action.

Check reacting it with:

repeat with Z running from 1 to the number of rows in the Table of Chunks:

choose row Z in the Table of Chunks;

let recipe be the component list entry;

sort recipe in reverse order;

if chunking arguments is recipe:

if there is a synopsis entry, say "[synopsis entry][paragraph break]";

if there is a resulting chunk entry, now the new chunk is the resulting chunk entry;

continue the action;

stop the action;

Carry out reacting it with:

if the new chunk is not nothing:

remember the new chunk;

if the new chunk is theory:

confirm the new chunk;

shatter the noun;

shatter the second noun;

else:

file away the noun;

file away the second noun;

follow the confusion check rule;

continue the action;

Report chunking it with:

if the new chunk is [not nothing and the new chunk is] listed in STM or the new chunk is listed in LTM:

whisper "You [if the new chunk is hypothesis]have formulated [the new chunk] and [end if][if the new chunk is theory]discard[else]filed away[end if] the memories of [the noun] and [the second noun].";

[Reacting it with is an action applying to two things.

The reacting it with action has an object called the new chunk.

The reacting it with action has a list of objects called chunking arguments.

Check chunking it with:

if the noun is the second noun:

say "You can't chunk something with itself!";

stop the action;

else if the noun is not listed in STM:

[ if rule succeeded, continue the action;] [why is this here?]

say "You haven't really got a handle on [the noun][if the second noun is not listed in STM] or [the second noun][end if].";

stop the action;

else if the second noun is not listed in STM:

say "You haven't really got a handle on [the second noun].";

stop the action;

[if the noun is not an idea or the second noun is not an idea, instead say "Only ideas can be chunked."]]

[Carry out chunking:

try reacting the noun with the second noun;

if rule succeeded:

continue the action;

else:

if rule failed:

try reacting the second noun with the noun;

if rule succeeded, continue the action;

Check reacting it with:

add the noun to chunking arguments;

add the second noun to chunking arguments;

sort chunking arguments;

repeat with Z running from 1 to the number of rows in the Table of Chunks:

choose row Z in the Table of Chunks;

let recipe be the component list entry;

sort recipe;

if chunking arguments is recipe:

if there is a synopsis entry, say "[synopsis entry][paragraph break]";

if there is a result entry, now the new chunk is the result entry;

continue the action.

Carry out reacting it with:

if the noun is listed in STM, forget the noun;

if the second noun is listed in STM, forget the second noun;

if the new chunk is not nothing, remember the new chunk;

continue the action.

Report reacting it with:

if the new chunk is not nothing and help text is true:

say "[italic type]You have acquired [a new chunk].".]