Sample programs

This list of sample programs is a work in progress.

A turtle that understands forward and right

Here is a turtle that responds to go forward and turn right messages. Give the bird messages.
Click on the turtle to watch how he works.


This will be replaced by a work area containing 2 things: a box, and an element. top level widget
{ "semantic": { "type": "top_level", "running": true, "backside_widgets": [ { "widget": { "semantic": { "type": "box", "size": 3, "contents": [ { "semantic": { "type": "bird", "nest": { "shared_widget_index": 1 } }, "view": { "backside": false }, "version": 1 }, { "semantic": { "type": "box", "size": 2, "contents": [ { "semantic": { "type": "element", "html": "%3Cspan%20style%3D%22color%3A%20rgb(255%2C%200%2C%20255)%3B%20font-family%3A%20arial%2C%20sans-serif%3B%20font-size%3A%20xx-large%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%20normal%3B%20orphans%3A%20auto%3B%20text-align%3A%20start%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20white-space%3A%20normal%3B%20widows%3A%20auto%3B%20word-spacing%3A%200px%3B%20-webkit-text-stroke-width%3A%200px%3B%20display%3A%20inline%20!important%3B%20float%3A%20none%3B%20background-color%3A%20rgb(238%2C%20238%2C%20238)%3B%22%3ETurn%20right%3C%2Fspan%3E", "attributes": [], "attribute_values": [], "attributes_backsides": [] }, "view": { "backside": false }, "version": 1 }, { "semantic": { "type": "number", "operator": "+", "numerator": "30", "denominator": "1", "format": "improper_fraction" }, "view": { "backside": false }, "version": 1 } ], "horizontal": true, "name": ";;", "infinite_stack": true }, "view": { "backside_geometry": { "x_scale": 1, "y_scale": 1, "original_width": 550, "original_height": 200 }, "saved_width": 218, "saved_height": 76, "backside": false }, "version": 1 }, { "semantic": { "type": "box", "size": 2, "contents": [ { "semantic": { "type": "element", "html": "%3Cspan%20style%3D%22color%3A%20rgb(255%2C%20229%2C%20153)%3B%20font-family%3A%20arial%2C%20sans-serif%3B%20font-size%3A%20xx-large%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%20normal%3B%20orphans%3A%20auto%3B%20text-align%3A%20start%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20white-space%3A%20normal%3B%20widows%3A%20auto%3B%20word-spacing%3A%200px%3B%20-webkit-text-stroke-width%3A%200px%3B%20display%3A%20inline%20!important%3B%20float%3A%20none%3B%20background-color%3A%20rgb(153%2C%200%2C%200)%3B%22%3EGo%20Forward%3C%2Fspan%3E", "attributes": [], "attribute_values": [], "attributes_backsides": [] }, "view": { "backside": false }, "version": 1 }, { "semantic": { "type": "number", "operator": "+", "numerator": "50", "denominator": "1", "format": "improper_fraction" }, "view": { "backside_geometry": { "x_scale": 1, "y_scale": 1, "original_width": 550, "original_height": 200 }, "backside": false }, "version": 1 } ], "horizontal": true, "name": ";;", "infinite_stack": true }, "view": { "backside_geometry": { "x_scale": 1, "y_scale": 1, "original_width": 550, "original_height": 200 }, "saved_width": 164, "saved_height": 67, "backside": false }, "version": 1 } ], "horizontal": true, "name": ";;;" }, "view": { "frontside_width": 445, "frontside_height": 96, "frontside_left": 104, "frontside_top": 37, "backside_geometry": { "x_scale": 1, "y_scale": 1, "original_width": 550, "original_height": 200 }, "saved_width": 445, "saved_height": 96, "backside": false }, "version": 1 } }, { "widget": { "semantic": { "type": "element", "html": { "shared_html_index": 0 }, "attributes": [ "left", "top", "width", "height", "rotate" ], "attribute_values": [ 468, 271, 44, 68, 180 ], "attributes_backsides": [ [], [], [], [], [] ], "running": true, "backside_widgets": [ { "widget": { "semantic": { "type": "robot", "speed": 1, "frontside_conditions": { "semantic": { "type": "element", "html": { "shared_html_index": 0 }, "attributes": [ "left", "top", "width", "height", "rotate" ], "attribute_values": [ 0, 0, 44, 68, 30 ], "attributes_backsides": [ null, null, null, null, null ], "erased": true }, "view": { "saved_width": 44, "saved_height": 68, "backside": false }, "version": 1 }, "backside_conditions": [ { "widget": { "semantic": { "type": "box", "size": 2, "contents": [ { "semantic": { "type": "element", "html": "%3Cspan%20style%3D%22color%3A%20rgb(255%2C%20229%2C%20153)%3B%20font-family%3A%20arial%2C%20sans-serif%3B%20font-size%3A%20xx-large%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%20normal%3B%20orphans%3A%20auto%3B%20text-align%3A%20start%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20white-space%3A%20normal%3B%20widows%3A%20auto%3B%20word-spacing%3A%200px%3B%20-webkit-text-stroke-width%3A%200px%3B%20display%3A%20inline%20!important%3B%20float%3A%20none%3B%20background-color%3A%20rgb(153%2C%200%2C%200)%3B%22%3EGo%20Forward%3C%2Fspan%3E", "attributes": [], "attribute_values": [], "attributes_backsides": [] }, "view": { "backside": false }, "version": 1 }, { "semantic": { "type": "number", "operator": "+", "numerator": "3", "denominator": "1", "format": "improper_fraction", "erased": true }, "view": { "backside": false }, "version": 1 } ], "horizontal": true, "name": ";;" }, "view": { "backside": false }, "version": 1 } } ], "body": { "type": "body", "steps": [ { "type": "robot_action", "action_name": "pick up", "path": { "type": "path.to_resource", "resource": { "type": "box", "size": 2, "contents": [ null, null ], "horizontal": true, "name": ";;", "is_backside": true } }, "additional_info": { "time": 7912 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "path.to_entire_context", "is_backside": true }, "additional_info": { "left_offset_fraction": 0.46539772727272727, "top_offset_fraction": 0.6045280612244898, "time": 2025 } }, { "type": "robot_action", "action_name": "pick up", "path": { "type": "path.to_resource", "resource": { "type": "number", "operator": "+", "numerator": "1", "denominator": "1", "format": "mixed_number", "is_backside": true } }, "additional_info": { "time": 1722 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "newly_created_widgets_path", "index": 0, "next_path": { "type": "box_path", "index": 1 } }, "additional_info": { "time": 1527 } }, { "type": "robot_action", "action_name": "open the backside", "path": { "type": "newly_created_widgets_path", "index": 0, "next_path": { "type": "box_path", "index": 1 } }, "additional_info": { "time": 2490 } }, { "type": "robot_action", "action_name": "edit", "path": { "type": "newly_created_widgets_path", "index": 0, "next_path": { "type": "box_path", "index": 1 } }, "additional_info": { "setter_name": "set_numerator", "argument_1": "-90", "toString": "by changing the value of the numerator to -90", "button_selector": ".toontalk-numerator-input", "time": 5379 } }, { "type": "robot_action", "action_name": "close the backside", "path": { "type": "newly_created_widgets_path", "index": 0, "next_path": { "type": "box_path", "index": 1 } }, "additional_info": { "time": 2285 } }, { "type": "robot_action", "action_name": "pick up a copy of", "path": { "type": "path_to_style_attribute", "attribute": "rotate", "element_widget_path": { "type": "path.to_entire_context" } }, "additional_info": { "time": 4446 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "newly_created_widgets_path", "index": 0, "next_path": { "type": "box_path", "index": 1 } }, "additional_info": { "time": 4375 } }, { "type": "robot_action", "action_name": "pick up", "path": { "type": "path.to_resource", "resource": { "type": "nest", "contents": [], "serial_number": 3, "name": "#26", "is_backside": true } }, "additional_info": { "time": 1465 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "path.to_entire_context", "is_backside": true }, "additional_info": { "left_offset_fraction": 0.5628693181818182, "top_offset_fraction": 0.06549744897959184, "time": 1162 } }, { "type": "robot_action", "action_name": "pick up", "path": { "type": "newly_created_widgets_path", "index": 4, "removing_widget": true }, "additional_info": { "time": 5335 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "newly_created_widgets_path", "index": 0, "next_path": { "type": "box_path", "index": 0 } }, "additional_info": { "time": 1142 } }, { "type": "robot_action", "action_name": "open the backside", "path": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0, "next_path": { "type": "path.to_widget_on_nest", "next_path": { "type": "box_path", "index": 1 } } }, "additional_info": { "time": 3076 } }, { "type": "robot_action", "action_name": "click the button of", "path": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0, "next_path": { "type": "path.to_widget_on_nest", "next_path": { "type": "box_path", "index": 1 } } }, "additional_info": { "button_selector": ".toontalk-settings-backside-button", "time": 1934 } }, { "type": "robot_action", "action_name": "edit", "path": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0, "next_path": { "type": "path.to_widget_on_nest", "next_path": { "type": "box_path", "index": 1 } } }, "additional_info": { "setter_name": "set_operator", "argument_1": "*", "toString": "by changing the operator to * of the number", "button_selector": ".toontalk-times-radio-button", "time": 2632 } }, { "type": "robot_action", "action_name": "edit", "path": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0, "next_path": { "type": "path.to_widget_on_nest", "next_path": { "type": "box_path", "index": 1 } } }, "additional_info": { "setter_name": "set_infinite_stack", "argument_1": true, "toString": "change dragging to make a copy of ", "button_selector": ".toontalk-infinite-stack-check-box", "time": 3151 } }, { "type": "robot_action", "action_name": "add a new widget to the work space", "path": { "type": "path.to_resource", "resource": { "type": "bird", "nest": { "semantic": { "type": "function_nest", "function_type": "number", "function_name": "sine" }, "view": { "backside": false }, "version": 1 }, "is_backside": true } }, "additional_info": { "button_selector": ".toontalk-make-function_bird_button", "path_to_source": { "json": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0 } } } }, { "type": "robot_action", "action_name": "close the backside", "path": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0, "next_path": { "type": "path.to_widget_on_nest", "next_path": { "type": "box_path", "index": 1 } } }, "additional_info": { "time": 3161 } }, { "type": "robot_action", "action_name": "open the backside", "path": { "type": "newly_created_widgets_path", "index": 5 }, "additional_info": { "time": 1489 } }, { "type": "robot_action", "action_name": "edit", "path": { "type": "newly_created_widgets_path", "index": 5 }, "additional_info": { "setter_name": "set_function_name", "argument_1": "cosine", "toString": "change the function bird to 'cosine'", "button_selector": ".toontalk-select-function", "time": 4268 } }, { "type": "robot_action", "action_name": "copy", "path": { "type": "newly_created_widgets_path", "index": 0 }, "additional_info": { "time": 5282 } }, { "type": "robot_action", "action_name": "pick up", "path": { "type": "newly_created_widgets_path", "index": 6, "removing_widget": true }, "additional_info": { "time": 2015 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "newly_created_widgets_path", "index": 5 }, "additional_info": { "time": 3581 } }, { "type": "robot_action", "action_name": "pick up a copy of", "path": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0, "next_path": { "type": "path.to_widget_on_nest", "next_path": { "type": "box_path", "index": 1 } } }, "additional_info": { "time": 7556 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "newly_created_widgets_path", "index": 3, "next_path": { "type": "path.to_widget_on_nest" } }, "additional_info": { "time": 3036 } }, { "type": "robot_action", "action_name": "pick up", "path": { "type": "newly_created_widgets_path", "index": 3, "next_path": { "type": "path.to_widget_on_nest", "removing_widget": true } }, "additional_info": { "time": 2685 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "path_to_style_attribute", "attribute": "left", "element_widget_path": { "type": "path.to_entire_context" } }, "additional_info": { "time": 4291 } }, { "type": "robot_action", "action_name": "open the backside", "path": { "type": "newly_created_widgets_path", "index": 5 }, "additional_info": { "time": 2682 } }, { "type": "robot_action", "action_name": "open the backside", "path": { "type": "newly_created_widgets_path", "index": 5 }, "additional_info": { "time": 1218 } }, { "type": "robot_action", "action_name": "edit", "path": { "type": "newly_created_widgets_path", "index": 5 }, "additional_info": { "setter_name": "set_function_name", "argument_1": "sine", "toString": "change the function bird to 'sine'", "button_selector": ".toontalk-select-function", "time": 3792 } }, { "type": "robot_action", "action_name": "close the backside", "path": { "type": "newly_created_widgets_path", "index": 5 }, "additional_info": { "time": 2414 } }, { "type": "robot_action", "action_name": "pick up", "path": { "type": "newly_created_widgets_path", "index": 0, "removing_widget": true }, "additional_info": { "time": 3009 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "newly_created_widgets_path", "index": 5 }, "additional_info": { "time": 1490 } }, { "type": "robot_action", "action_name": "pick up a copy of", "path": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0, "next_path": { "type": "path.to_widget_on_nest", "next_path": { "type": "box_path", "index": 1 } } }, "additional_info": { "time": 6361 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "newly_created_widgets_path", "index": 3, "next_path": { "type": "path.to_widget_on_nest" } }, "additional_info": { "time": 3195 } }, { "type": "robot_action", "action_name": "pick up", "path": { "type": "newly_created_widgets_path", "index": 3, "next_path": { "type": "path.to_widget_on_nest", "removing_widget": true } }, "additional_info": { "time": 2905 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "path_to_style_attribute", "attribute": "top", "element_widget_path": { "type": "path.to_entire_context" } }, "additional_info": { "time": 13818 } }, { "type": "robot_action", "action_name": "remove", "path": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0, "removing_widget": true }, "additional_info": { "time": 11387 } }, { "type": "robot_action", "action_name": "remove", "path": { "type": "newly_created_widgets_path", "index": 3, "removing_widget": true, "not_to_be_dereferenced": true }, "additional_info": { "time": 4496 } }, { "type": "robot_action", "action_name": "remove", "path": { "type": "newly_created_widgets_path", "index": 5, "removing_widget": true }, "additional_info": { "time": 5768 } } ] }, "next_robot": { "shared_widget_index": 0 }, "name": "FD", "running": true, "description": "a robot that responds to go \"Forward\" messages to a turtle.", "backside_widgets": [ { "widget": { "shared_widget_index": 0 }, "is_backside": true } ] }, "view": { "frontside_width": 66, "frontside_height": 110, "frontside_left": "81.98155918727915%", "frontside_top": "13.71875%", "backside_width": 0, "backside_height": 0, "backside_left": 0, "backside_top": 0, "backside_geometry": { "x_scale": 1, "y_scale": 2.086956521739129, "original_width": 550, "original_height": 253 }, "saved_width": 66, "saved_height": 110, "backside": false }, "version": 1 } }, { "widget": { "shared_widget_index": 1 } } ] }, "view": { "frontside_width": 44, "frontside_height": 68, "frontside_left": 468, "frontside_top": 271, "backside_width": 0, "backside_height": 0, "backside_left": 0, "backside_top": 0, "saved_width": 44, "saved_height": 68, "backside": false }, "version": 1 } } ] }, "view": { "background_color": "rgb(245, 240, 240)", "backside_width": 1173, "backside_height": 474, "backside_left": 8, "backside_top": 184.1875, "saved_width": 146, "saved_height": 50.5, "backside": true, "drag_x_offset": 320, "drag_y_offset": 254.8125 }, "version": 1, "shared_widgets": [ { "semantic": { "type": "robot", "speed": 1, "frontside_conditions": { "semantic": { "type": "element", "html": { "shared_html_index": 0 }, "attributes": [ "left", "top", "width", "height", "rotate" ], "attribute_values": [ 0, 0, 44, 68, 6 ], "attributes_backsides": [ null, null, null, null, null ], "erased": true }, "view": { "saved_width": 44, "saved_height": 68, "backside": false }, "version": 1 }, "backside_conditions": [ { "widget": { "semantic": { "type": "box", "size": 2, "contents": [ { "semantic": { "type": "element", "html": "%3Cspan%20style%3D%22color%3A%20rgb(255%2C%200%2C%20255)%3B%20font-family%3A%20arial%2C%20sans-serif%3B%20font-size%3A%20xx-large%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%20normal%3B%20orphans%3A%20auto%3B%20text-align%3A%20start%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20white-space%3A%20normal%3B%20widows%3A%20auto%3B%20word-spacing%3A%200px%3B%20-webkit-text-stroke-width%3A%200px%3B%20display%3A%20inline%20!important%3B%20float%3A%20none%3B%20background-color%3A%20rgb(238%2C%20238%2C%20238)%3B%22%3ETurn%20right%3C%2Fspan%3E", "attributes": [], "attribute_values": [], "attributes_backsides": [] }, "view": { "backside": false }, "version": 1 }, { "semantic": { "type": "number", "operator": "+", "numerator": "3", "denominator": "1", "format": "improper_fraction", "erased": true }, "view": { "backside": false }, "version": 1 } ], "horizontal": true, "name": ";;" }, "view": { "backside": false }, "version": 1 } } ], "body": { "type": "body", "steps": [ { "type": "robot_action", "action_name": "pick up", "path": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0, "next_path": { "type": "path.to_widget_on_nest", "next_path": { "type": "box_path", "index": 1, "removing_widget": true } } }, "additional_info": { "time": 5194 } }, { "type": "robot_action", "action_name": "drop it on", "path": { "type": "path_to_style_attribute", "attribute": "rotate", "element_widget_path": { "type": "path.to_entire_context" } }, "additional_info": { "time": 3174 } }, { "type": "robot_action", "action_name": "remove", "path": { "type": "path.to_backside_widget_of_context", "type_name": "nest", "backside_index": 0, "removing_widget": true }, "additional_info": { "time": 5733 } } ] }, "name": "RT", "description": "a robot that processes \"Turn right\" messages to turtles." }, "view": { "frontside_width": 66, "frontside_height": 110, "frontside_left": null, "frontside_top": null, "backside_width": 0, "backside_height": 0, "backside_left": "0%", "backside_top": "91.78825827205883%", "advanced_settings_open": true, "saved_width": 66, "saved_height": 110, "backside": false }, "version": 1 }, { "semantic": { "type": "nest", "contents": [], "guid": "toontalk_id_1436697087263", "serial_number": 1, "name": "turtle", "description": "a nest that receives turtle messages such as \"Go Forward\" and \"Turn right\"." }, "view": { "saved_width": 116, "saved_height": 98, "backside": false, "frontside_left": "33.858767667844525%", "frontside_top": "20.625%" }, "version": 1 } ], "shared_html": [ "%3Cimg%20src%3D'data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACwAAABACAYAAABhspUgAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wcKChwIFxpolwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAVMElEQVRo3s2aeWzd13XnP%2Fe3vp2Pi7iTIrVQ3EQt1q5ot2TLiiLbihMD7aRxO02TSYtpMcUUE2QWoCkm7QwazIok03ScOh57XCd2nESKtVmyLGulZNmSKYrivm9vX3%2Fr%2FEGKliyJcicu6gs8PBL4vfv73nu%2B55zvOffCpzAOPKEB8MRu1f%2FFA%2FLfH%2FyC8tJjuzwBgCf3KXyaQ%2F5NJ9iyKcyRE2n27fHU%2Bfz2v1dV56uK4rYoilu6pF6%2B9vNDVuzTBCz9phOcfncGj89n%2Fo2u2d%2BUJNcVwhW6Zv9zVRX%2FDmD3ds9nBzDAprVVRYpitwK4LsJ1Z80nm1sBjp7MfTYAr2irB%2BDqB8PS6tUbsB2orq6ltmYhjgNNTa0lWzeyGmDD%2BkX%2F9ICvvt8LwPatPKcqcrEkIBZLMD45gSQgkYgGios5CHDufM9nhRJ%2FJQIBaeXlK%2BcVy4JcLgWug%2B3A2NiwpOtSI1wVnxkOB%2Fz%2FSQfhz%2BUs9j7%2BBLmcRSqV5wv7n0TXPTiOU7JxzcbCzwzgVHoi7zhOOhDwsWv7NiwLbBuWLV1CU2Mztk20u29x8tMC%2FClEdeHaNrn6ukVcam9H10HTdN4%2BfRqfz4%2FtkJ6Y%2BsD8TOzwmkfKAMjlGVi5YpXz%2BhuvIwRomsKF9vMIScJ1SPyTJ449O70AXGofn5lE0t995dWXMqZlzNAklQYX3n33lA2i935zbN8S%2BP%2Bz553%2FPLo9wLGTKQC%2B%2BXX4H9%2B%2F%2B%2BFHd%2Fg49lYGQDy1v2B7UaG6K5VO77Ato3J5a2NNUWGB3NnVRWFhEYos0HUP0VgqOjIyfs00xZgkiwGPHrqWyaaPXv0gMtbRif3sU%2FDya3e%2FZ%2F%2FjGpmcn%2BMno%2FMD%2FvjYu9uz0OOxHrEtO9LVU3qmo3PcfGQF3o0bar9dXbXgWwsWFNF1q4u%2Bvj4qK8oJFYSZmpqkpKQEj8eLZRgYpsnE5ARlpWWAYPHiJdzs6jEj0cy%2F%2FZ8%2F7P9LgMpyvKtXqosFpvSLX3MdsB%2B6w4%2FtFI8HAmKfogjdNMVFSXJqJcnZ7%2FH6VmiqkkokUkevdzjf2rypfteiuuL%2FPjU9SiwWQ9N0XNchnc4SDhdgGDni8QSSJFBVjVwujySB48CSJUuZnBwnHA5jGDb5PD%2Fu7h5O1NUVN5hmvsHn9cqxePq9SNT43qEj1smnPi9vV1T7j21beTcS8b128p1El%2FjCXk9AUYzXFi6s2ppKxdV0OgFg6LpHKS5aII%2BMDhIMhkgmEyxd2pyIRKa1ZDLmqVu4iLVr1%2FHmkSOk0wkMI4eqqrS2rOBS%2B3lUVWPlytWcO3cORQHXhfr6paRTSZY1NHHm7CmefuoZTMNwf3X4FwJACAiFiojHI7lsxjkuye6q4uKSymQyahmmPXGrx7tBMS3Xj1AKvR5Ni8XyCAGSJOmGkWNkdBAhIJFI0LB0GdVVlaHI9ATpdJ5wuJBDh39JPB4BQNU8VFZWg5AoLioBIejt7UNRQFFUZFmit7eLYLCAyalxHMehsaGBuoULhRASb%2FzyZ7iuy%2FT0BELg0XT2AcRikwiBosgU11YZL0u6xl8H%2FO7NkbHRiM8XBCAUCqPrOiCwLboLi4oIBgsYHBqivLyK4uIChkdGcF2X3Y%2FuJRgMU7%2BwjrHRYc6fP8vTTz9DPp9ncnKMYDDM4sVNPPvMb2GakM%2FnGBoepKCgEF3z8MpPX2dweBhd97m5HMccR2q%2Fi7MCXFdg22IgmfZ9W16y2DuRznLZsfO%2BfD69yHHk4UzG%2BIFhONdtW%2FyVLBe84fMqvxXw%2BamsqsKyHHTdQyQyBbhomkYmm6a3rw%2FLNnFdUDWNkZFBHMcmm83h8%2BqMjY8RjU4hyzKyrFJdVcP45BSqKuP3eekf6Kehcd0PX3xh4BsL62TNtiXZtpVxxxFlpil9R5Lc%2F%2BI48ogSj%2FvOBQLp50xL%2Fq%2BKwp84juREolJa05B%2BfSxvfPvPag8FAzLXrr%2BPcusG27ft5vLls4hZdx0ZHSbgDyJJ4wgxsyPpVBp3VhQLAZruo7unC0kCyzIwTYOuWx0MjwyTz6cRQmAYppgc7%2FlaQxM%2FS2e8%2F0ZRTS%2BuLFTF0pIpOX7khGVB5u6wtn%2Bvxi8OGx9lspVK%2FTf%2BYHfP0FA%2F45OjpFNpqqpq6e29hSTdNplERUU1ExOjWNZMBlYUbfZvF8eBhoZmeno6cZz7RytJKFTX1BOPTVNd3fDfvvUfzv3Jg0LbXZnuNtjtW3yzAr30L8rLSrAdG1wAl7GxobndnakwHEZGBubAui6UlJQiyzNTe70eXNdmdoL7Dtux8Hg8eL0eFpQWL123Gv8%2FKDWfPJ0BoLQ0sO%2BdM%2B%2BgqirJZALLMsnlch8DDMXFpUjSTD3rOBAqCCNJEq4L4XAhyUQCx3EeCNh1IR6PYDvw9tsnNtbVKv7HH%2FV%2BMsDhcGhmlzezb2pqzN%2FX30tXV8ecOcV9cmM8HqOmpg7bngHs0bS5HVUUnUw2jevOI2gkmJgYYXp6DMvKFuQMsfnXx7KfrMzP5fIA%2FNmfPvaXhmk079m9hyvvfXAHZ%2B9%2BvrCwiA3rNqNpGkKotLa0sGvHDqLxLJqmU1VZSXNzK4lEgkwmPS81fN4Ai%2BoXk81mH796Lf%2FdT6yHC0NUtTQva26%2FfJZr1z9AUaC6qhpFVRkfHyOZzOK6UFFRwr%2F85h%2Fz6muv0n75PWQZJieHiMWmudnVgeNAX18vjgvf%2FfPvcOnyJX51%2BBeYpj0bX%2B%2FYORk03UPA76e5aUmorDxeMD7WHf9EgHfvCjW9e%2B7dyqbGJs5fOI%2BmSSxvaaOz6ybLlrVQWV5ONpthYW0dNzo76Lx5A1WdLZkCQTweL7IsA%2FZsKIOXXnmRcEEhdQsXz4DFpSAURlEUhIALF8%2BSy2UZGRunoryS0qJe%2F%2FgY8YeqtfVr8D6ysvYHufzkP3McC8Mw51KrYeRRFAVd8%2FLc7%2FwuP%2F7J82QyKWz7owgUChZQVFzCwEDvPY7mOLBy5SoalzYyNT3NtQ%2FfJxqNUFFRzcBAD0JI%2BP0BDCPP4JC66djJ1NmHcvixXQsW2k72Ry0tbYyODiOES1NTK7lchlwuh%2BM45PMGnV03aW1po6e3b47fAF6%2FH1yJZOreQsPn8%2BE4gnfOnKG3r5tMJoXj2MRi0VnfcLEsE9u2kSRH6bjpvP7QKKFp3i%2BvbGsGLDRNx%2B%2F3oyoqiUTiLq%2BenIxSVVmFpkp3uZFpmOSN3D3O5Tiwom01Qjgoygxnbzvw7W%2FXhfLyGgKBELrOVz5RWHMcY08oVEBx0QIMI4em6Xi9HkzT%2FtjC4NTpExQVl%2BLeZXmXcLgQSZLuAVxSsoC%2BvqH7hEYx54C2bZNOp2lubjS3bmLDAwHv3DbTOrCs%2FLb33n%2BPU28fw3Fs%2FP7gnEb4uIqamppAU3UcZ6a0N03wev0UFhYCAseZAWqasGrlKk68dXTOOe9cyKJFS9E9HlwXQqEQiiITDBbKukbbA6PEiVNRNq4LLAoGNaamJ7EtCyFg04ZNnDt%2F9h73dF3weDxs2riR7dt20NvXiySDJARejxdFUWltfQTDMEgk4qxfu55L7VfQ9XvNnM9lePrAQZ5%2F4UWSyRi67uVGxzV7KqKdBuPBYW1BSfr36%2BtWoqoq09MTBIJh6mprefnvX0K6A7BtQ01VJatXr%2Bel%2F%2Fsyts1cVREOB6ioqMKyDK5cuYAQM8%2Bfeuc01dVljI2NI8t3Z7mhkWECgQC4MD4%2BSihUSCQSEeWl3jKg44EcVmRptWGaVJSXEwqFyaSTfP9%2FfR%2FXced21bLA6%2FOwZcsOLlw6iyyDxzMDWFVB0zRyOQPXdZHlGUCqCh0d19m1cw9%2Bn%2BfeNO26%2FO%2Fnf4Sug88XRFE1AoGAHCrw7HiI0wmrfmENo2Ojs2k6Sywew3XBMCAQCNG4bBmbNmzh2Ik3mZgY42O%2BhSTJGEZuTg%2FfmckuXjxPS0sbljWz%2BNuf24pNiJmKZHJijNaW5VJZqX%2F1QzKdMzIxOUVNTR3d3Z1zmetzm7cRDATo7u0mGpnGNM0HihlJCFzHxXXvdlQhoOvWTZa3rmDNmrVEowlc1yUWm0SWZVKpGKZpUVlZw9TUGKl0CsPIyfMCNi0ln0gkOHv%2BMj7vjDkrKmo4%2Fc5JotHUXOy80dnD%2BnVr8Hn9DAz2z%2B2y6zIrK%2B%2Ff7igsLERRVT744DKWZc%2F9pqqqisLCxXR1dWKaORqXtXDlvUsgPOa8lJAlm4rKSvY9to3SBSUIATdvfkg6nULXmQv4ugeuXb9CVfVC8vkZujgOFBWVUF5eyfLW5SiKgmUzJzktCxoblzMyPIBlzWgMSZqZb2RkmN7eThQFhoaGZ8CCk8vm2ufdYUmysUyT%2FsEBFi1qIBKdRpLc%2B3ZfLMvm6tXL%2FNE3v0FPXx%2BZTJq%2B3m5M06SkuITmlhXggGGZRCOTeDw%2B2tvfxTSt%2B%2FD%2BIwt5vTqWZVNcXOpcuz51bd6wBqBrKtPRKLW1dQgh7nGeO%2BNwRUUVL778AslEarafAZIMZ86eoX%2Bgf05C6rrC2rWb6enpRpmnwRsKhWhbvppYLMrNrg9FMOBWz0sJw1QG4okYrU0tyPL8rWMhYEFpKYl46i5tkM8bZHPZuZAmy5DPWwwNDd4Vf%2B83VFVlZGSIi5eu8tSTX3ajcWtiXsATk%2FpPbnX3WeXlFfh8flzXvW80yOVg1aq1DA%2F13QMik0mTyWTuWZzj2BQXL5i3VAKBJMsoKiQSMRyLzLyAL7SnR1Jp4%2Ft9%2Ff0cPXYIXffg9we5U9Y6Dqxfu4r9T%2Byjv3%2FwHj7KsoqiqPdwdHCwnxVtK8jleCDoWCzK9NQUHl3h8pXr6bfP8sa8gE%2B%2BDpm08%2BfRaHJE03Sqq2vZtnU7RUVFcy9pbmrm67%2F%2FNUZHR6mvX4KmeggEQrMVBgSDQUKh0Nzziqygqioej5enDxzg2S8dpLy88h5%2FKCwspqCgkOnINK2tK%2Bns7P3PAI%2BsKn2wgL%2FwfhUnTo3nDz7ZVhYq8G%2B6evUaQ0N9LFhQNiuyBbW1i%2FnR83%2FDmbMXSaUiOK7FurUbUVWdZDJJVWU1Pq8PBCwoKWPr5q0EggVoHg9%2F98LfEYlGeOrAQa5dex%2FbtnFd8Pn8tLa0kUymCIfD9PWNnHn15%2Fmv%2FvYz8Obx9IMBT04mARyPOqRv3rj%2ByaVLFqmTU5OzYig2W9JPYxgGmsqcsJGExNT0BJZl09jQRDAYYGJiAk1TKSkq4fJ7FxkeHkaWIZFIMzQySOmCCqampxACvB4vXbe6iMUThAsXIMneZy5cig6Xl%2Fvp7jUffpp%2Fo8u5KdwbbV%2F64sHWw28eIRGPsW7dBqqrFxKJTGOa%2Bbm06%2Ff78PsDRCKTWJZJNBZjdGyU6elJ4vEoqXQWx7HJ57NzfM6k0yQSMVwcHAeaW9qYnBzlK7%2F9VSYmo68ff6vjB%2Bse0cxDR3IP70tsXFfA0HCeDzt53bE7t%2B7YtrW2p%2FeWiMcj9Pb2sGbNeoaG%2BucAh8NFyLIyV5e5Lti2hW1buC4UFIRxXXe2J3GH88gSQkiAS0GoACEUqiproj958ei%2FOt%2FOzc4ue%2FZcxU9Pn%2FlgwEPDebZu1ugftJ329zI%2FDvqnalauaFk9MjqEz%2BejqqoKRdHIZDLYtoWiaCQSM8JFCPB4fMiyQi43YwVVVbFth2z2o06OZcHOnXsYHx8hHC5meHiQz23ewis%2F%2FVna61HPr2gVoaZlSs2HnbuHe%2Fo63IdSon%2FQZtvmQvoHcyxZREBIxsHi4nIsy2R4eBCBYMeOR7lx40NyuRymZVFdVUMkkqCoKIwkCQoKCshmM2QyafJ5A0VRKS4unqkw8iaVFZX09XVTVlZJNpuh8%2BaHKAo%2BVXUfkyT3y5LkPNu8rHdrwxKVxfWejq5u05n3nM51c7NB36icmhpncLCHFW0rSabSDA2PcubM20iSTGNjM0sWLWH1ytXs3LmTsrIK9u39AksWN7B58w7yeaiprePzT%2BwnkUhRX78IWYZL7ef4vee%2BRiaTIpO5s5%2FseoVwCyTJLXQcpnJ5uV%2BSHOmBjZRd2zwcPzUDdtvnvDXlpflORXG8t0uj2tqF7sYNm93jJ45I6XQSTdNR1RlaGIbFovrFSLJMV9dNgkE%2FRUXFGIZBJpPBcUxs2yWfzyWLiqoyPT3Dr%2Fj8YpmuuXvu24a1hZHJqN%2FJZrXvHj2ZMu9Lid5%2Ba%2FbiESt8Pus%2F6rrbdmfGikTi493dI3%2Fb1NSclSTNjEajrs%2Fn8X1u0xaqKisZmxhDUWSqKssQQpBIxMlls7S2tNHQ0IRhiA8iEefA374w%2FqddPRxuXiaHZJl99%2BuKGob6Q8OUj2iaNX7zlm08sLf2%2BcdZU1FR%2FLrf769KJKKk08m5qKAowuztTf%2F1C%2F%2FndGTvHqrChSWlBQUVXxqfiGxRFbnc6%2FWX5bJpaqprMUxIJs0LPl%2Fgje7unsX9g5O3EnHnxZNn6L%2F9rnRWvCbL4oAQYo%2BiOHNlk2nKxy2btO1w%2BdARI%2FlASjyxRw%2F4fcbLwaB3n2UZ2Lb1cTP96uWffmU%2F%2FHjOex9ZiarryCXFytfDBc730hn5kMdb%2BRepZCJrWdHOy%2B3kV65CmZwKW5euxOyZU1aNw0dntO4zT8r%2BXF4u0nXnVY9urctmlVv5vNJimG6tIlvZQ0ft4QdGieXNosJ1pf2um7cVRS0pLashn08jyxqOYzE6XvxU38DZyR1bPPQNzCxmdAxncBhrcZ1X03XjOZDeSaczP3jjUGq4qrLYvHYj697qwR4Zy80t8lbPR50kvzdovnU6kygsCrzgOuJ6LKr%2B66Mns5nuXjvS1eMm9z4qc6vHvb%2BAj8T8rt%2Bb%2FZ4kid8rKw03Dg32EQz4Ma08ti2NeT1ZC%2BCt0%2FdmISFJHbYjEMLRZWnmkOPk6emHntBfvJJg7x4Ph48k8sDLAOsfCXK%2BfYYJh4%2FZ91drjY31nDwdH%2FjVkTXHhZDd4dHxLlWFTDaNZVlks8qRw0czN%2B%2F30vVra%2FD5MmnXFb2uS7HrOv%2Bgqw2HP5aGb4OdV17euNE7ew3h%2FYJYQnvespTVuZw6HY15dscT2mPAvwDYsEa7Z6LzFwfJpL2m60jHQVRLsviNbx1%2BovHo9rsvXjzzlHxr7mLHLu%2B8v11cVy6%2BeED5w2cPCvdLT4uSndv8nzq%2Be8x2%2B4LH7ZHNqH%2FQtKzAD3DkeHbeybr7xlwh3A7XlchmtcITp9L%2F%2BIDvHE%2Fu0%2Fnlm7njHZ3x9JpVwU94y0q9IUlOnxBs%2FcdgwLw8u9H1kXeOjBmfaMJbPVayYYkaVhS77cMb7s8%2FbcD%2FD%2FBf0Fk6gIDSAAAAAElFTkSuQmCC'%20alt%3D'turtle.png'%2F%3E" ] }

A gadget for replacing the current page

This gadget senses when something is dropped on it and treats it as a URL that it passes along to a special bird that changes the current URL of the current tab.


Reading and writing URL hash

Here is a widget for reading and writing the 'hash' part of the current URL (the part starting with hash - #). Useful (among much else?) for providing hints to puzzles since puzzles on refresh resets the page but needs to keep track of how many time the page has been refreshed.


A team of robots that computes Fibonacci numbers in a doubly recursive manner

In order to compute the Fibonacci of n the team includes simple robots for answering what the first and second Fibonacci numbers are. The third robot makes two copies of the team. One copy computes n-1 and the other n-2. The third robot gives a sum function bird the task to add up the results when they arrive and give the sum to the "answer" bird.


Go to ToonTalk manual home page