 bondscell_results$5560ed36-b0c0-11ea-0104-49c31d171422queued¤logsrunning¦outputbody5<div class="markdown"><h2>Turtle commands</h2>
</div>mimetext/htmlrootassigneelast_run_timestampA`Uְpersist_js_state·has_pluto_hook_features§cell_id$5560ed36-b0c0-11ea-0104-49c31d171422depends_on_disabled_cells§runtime r-published_object_keysdepends_on_skipped_cells§errored$47907302-b0c0-11ea-0b27-b5cd2b4720d8queued¤logsrunning¦outputbody&left! (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAb,persist_js_state·has_pluto_hook_features§cell_id$47907302-b0c0-11ea-0b27-b5cd2b4720d8depends_on_disabled_cells§runtime )published_object_keysdepends_on_skipped_cells§errored$ab083f08-b0c0-11ea-0c23-315c14607f1fqueued¤logsrunning¦outputbody5<div class="markdown"><h1>🐢 definition</h1>
</div>mimetext/htmlrootassigneelast_run_timestampA`Uаpersist_js_state·has_pluto_hook_features§cell_id$ab083f08-b0c0-11ea-0c23-315c14607f1fdepends_on_disabled_cells§runtime vԵpublished_object_keysdepends_on_skipped_cells§errored$70160fec-b0c7-11ea-0c2a-35418346592equeued¤logsrunning¦outputbodyك<bond def="angle" unique_id="TsKBZQvw468E"><input type='range' min='0' step='0.031415926535897934' max='1.5707963267948966'></bond>mimetext/htmlrootassigneelast_run_timestampAbTpersist_js_state·has_pluto_hook_features§cell_id$70160fec-b0c7-11ea-0c2a-35418346592edepends_on_disabled_cells§runtime΃published_object_keysdepends_on_skipped_cells§errored$fc44503a-b0bf-11ea-0f28-510784847241queued¤logsrunning¦outputbody'right! (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAb3persist_js_state·has_pluto_hook_features§cell_id$fc44503a-b0bf-11ea-0f28-510784847241depends_on_disabled_cells§runtime Hǵpublished_object_keysdepends_on_skipped_cells§errored$6dbce38e-b0bc-11ea-1126-a13e0d575339queued¤logsrunning¦outputbody/turtle_drawing (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAbɀpersist_js_state·has_pluto_hook_features§cell_id$6dbce38e-b0bc-11ea-1126-a13e0d575339depends_on_disabled_cells§runtime 
published_object_keysdepends_on_skipped_cells§errored$573c11b4-b0be-11ea-0416-31de4e217320queued¤logsrunning¦outputbody*backward! (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAblYpersist_js_state·has_pluto_hook_features§cell_id$573c11b4-b0be-11ea-0416-31de4e217320depends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$310a0c52-b0bf-11ea-3e32-69d685f2f45equeued¤logsrunning¦outputbody+Vector{String} (alias for Array{String, 1})mimetext/plainrootassigneeDrawinglast_run_timestampAb|%persist_js_state·has_pluto_hook_features§cell_id$310a0c52-b0bf-11ea-3e32-69d685f2f45edepends_on_disabled_cells§runtime<published_object_keysdepends_on_skipped_cells§errored$5aea06d4-b0c0-11ea-19f5-054b02e17675queued¤logsrunning¦outputbodyK<div class="markdown"><h2>Function to make turtle drawings with</h2>
</div>mimetext/htmlrootassigneelast_run_timestampA`U<persist_js_state·has_pluto_hook_features§cell_id$5aea06d4-b0c0-11ea-19f5-054b02e17675depends_on_disabled_cells§runtime ;published_object_keysdepends_on_skipped_cells§errored$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5bqueued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAbͫpersist_js_state·has_pluto_hook_features§cell_id$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5bdepends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$e6c7e5be-b0bf-11ea-1f7e-73b9aae14382queued¤logsrunning¦outputbody)forward! (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAbC̰persist_js_state·has_pluto_hook_features§cell_id$e6c7e5be-b0bf-11ea-1f7e-73b9aae14382depends_on_disabled_cells§runtime ޵published_object_keysdepends_on_skipped_cells§errored$d30c8f2a-b0bf-11ea-0557-19bb61118644queued¤logsrunning¦outputbodymsgMethodError: no method matching right!(::Main.workspace#2.Turtle, ::Missing)
[0mClosest candidates are:
[0m  right!(::Main.workspace#2.Turtle, [91m::Number[39m) at ~/work/disorganised-mess/disorganised-mess/turtles.jl#==#fc44503a-b0bf-11ea-0f28-510784847241:1stacktracecall_short}(::var"#7#8"{typeof(Main.workspace#2.forward!), typeof(Main.workspace#2.right!), Missing, Colon})(t::Main.workspace#2.Turtle)inlined£urlُhttps://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//turtles.jl#==#d30c8f2a-b0bf-11ea-0557-19bb61118644#L3pathh/home/runner/work/disorganised-mess/disorganised-mess/turtles.jl#==#d30c8f2a-b0bf-11ea-0557-19bb61118644source_packagecall}(::var"#7#8"{typeof(Main.workspace#2.forward!), typeof(Main.workspace#2.right!), Missing, Colon})(t::Main.workspace#2.Turtle)linfo_typeCore.MethodInstancelinefile2turtles.jl#==#d30c8f2a-b0bf-11ea-0557-19bb61118644func#7parent_modulefrom_ccall_shortpturtle_drawing(f::var"#7#8"{typeof(Main.workspace#2.forward!), typeof(Main.workspace#2.right!), Missing, Colon})inlined£urlُhttps://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//turtles.jl#==#6dbce38e-b0bc-11ea-1126-a13e0d575339#L1pathh/home/runner/work/disorganised-mess/disorganised-mess/turtles.jl#==#6dbce38e-b0bc-11ea-1126-a13e0d575339source_packagecallpturtle_drawing(f::var"#7#8"{typeof(Main.workspace#2.forward!), typeof(Main.workspace#2.right!), Missing, Colon})linfo_typeCore.MethodInstancelinefile2turtles.jl#==#6dbce38e-b0bc-11ea-1126-a13e0d575339functurtle_drawingparent_modulefrom_ccall_shorttop-level scopeinlinedãurlpathh/home/runner/work/disorganised-mess/disorganised-mess/turtles.jl#==#d30c8f2a-b0bf-11ea-0557-19bb61118644source_packagecalltop-level scopelinfo_typeNothinglinefile2turtles.jl#==#d30c8f2a-b0bf-11ea-0557-19bb61118644func##function_wrapped_cell#312parent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAc-persist_js_state·has_pluto_hook_features§cell_id$d30c8f2a-b0bf-11ea-0557-19bb61118644depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§erroredñcell_dependencies$5560ed36-b0c0-11ea-0104-49c31d171422precedence_heuristic	cell_id$5560ed36-b0c0-11ea-0104-49c31d171422downstream_cells_mapupstream_cells_map@md_strgetindex$47907302-b0c0-11ea-0b27-b5cd2b4720d8precedence_heuristic	cell_id$47907302-b0c0-11ea-0b27-b5cd2b4720d8downstream_cells_mapleft!upstream_cells_mapTurtle$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5b-right!$fc44503a-b0bf-11ea-0f28-510784847241Number$ab083f08-b0c0-11ea-0c23-315c14607f1fprecedence_heuristic	cell_id$ab083f08-b0c0-11ea-0c23-315c14607f1fdownstream_cells_mapupstream_cells_map@md_strgetindex$70160fec-b0c7-11ea-0c2a-35418346592eprecedence_heuristic	cell_id$70160fec-b0c7-11ea-0c2a-35418346592edownstream_cells_mapangle$d30c8f2a-b0bf-11ea-0557-19bb61118644upstream_cells_mapCoreBasePlutoRunner.create_bondPlutoRunnerHTML/Core.applicable@bindBase.getpi$fc44503a-b0bf-11ea-0f28-510784847241precedence_heuristic	cell_id$fc44503a-b0bf-11ea-0f28-510784847241downstream_cells_mapright!$d30c8f2a-b0bf-11ea-0557-19bb61118644$47907302-b0c0-11ea-0b27-b5cd2b4720d8upstream_cells_mapTurtle$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5b-Number$6dbce38e-b0bc-11ea-1126-a13e0d575339precedence_heuristic	cell_id$6dbce38e-b0bc-11ea-1126-a13e0d575339downstream_cells_mapturtle_drawing$d30c8f2a-b0bf-11ea-0557-19bb61118644upstream_cells_mapTurtle$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5bjoinHTML/*StringpiFunction$573c11b4-b0be-11ea-0416-31de4e217320precedence_heuristic	cell_id$573c11b4-b0be-11ea-0416-31de4e217320downstream_cells_mapbackward!upstream_cells_mapTurtle$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5bfoward!-Number$310a0c52-b0bf-11ea-3e32-69d685f2f45eprecedence_heuristic	cell_id$310a0c52-b0bf-11ea-3e32-69d685f2f45edownstream_cells_mapDrawing$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5bupstream_cells_mapStringVector$5aea06d4-b0c0-11ea-19f5-054b02e17675precedence_heuristic	cell_id$5aea06d4-b0c0-11ea-19f5-054b02e17675downstream_cells_mapupstream_cells_map@md_strgetindex$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5bprecedence_heuristic	cell_id$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5bdownstream_cells_mapTurtle$e6c7e5be-b0bf-11ea-1f7e-73b9aae14382$573c11b4-b0be-11ea-0416-31de4e217320$fc44503a-b0bf-11ea-0f28-510784847241$47907302-b0c0-11ea-0b27-b5cd2b4720d8$6dbce38e-b0bc-11ea-1126-a13e0d575339upstream_cells_mapTupleBoolNumberDrawing$310a0c52-b0bf-11ea-3e32-69d685f2f45e$e6c7e5be-b0bf-11ea-1f7e-73b9aae14382precedence_heuristic	cell_id$e6c7e5be-b0bf-11ea-1f7e-73b9aae14382downstream_cells_mapforward!$d30c8f2a-b0bf-11ea-0557-19bb61118644upstream_cells_mapTurtle$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5bpush!+*Numbercossin$d30c8f2a-b0bf-11ea-0557-19bb61118644precedence_heuristic	cell_id$d30c8f2a-b0bf-11ea-0557-19bb61118644downstream_cells_mapupstream_cells_map:turtle_drawing$6dbce38e-b0bc-11ea-1126-a13e0d575339right!$fc44503a-b0bf-11ea-0f28-510784847241forward!$e6c7e5be-b0bf-11ea-1f7e-73b9aae14382angle$70160fec-b0c7-11ea-0c2a-35418346592ecell_execution_order$70160fec-b0c7-11ea-0c2a-35418346592e$ab083f08-b0c0-11ea-0c23-315c14607f1f$310a0c52-b0bf-11ea-3e32-69d685f2f45e$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5b$5560ed36-b0c0-11ea-0104-49c31d171422$e6c7e5be-b0bf-11ea-1f7e-73b9aae14382$573c11b4-b0be-11ea-0416-31de4e217320$fc44503a-b0bf-11ea-0f28-510784847241$47907302-b0c0-11ea-0b27-b5cd2b4720d8$5aea06d4-b0c0-11ea-19f5-054b02e17675$6dbce38e-b0bc-11ea-1126-a13e0d575339$d30c8f2a-b0bf-11ea-0557-19bb61118644last_hot_reload_time        shortpathturtles.jlprocess_statusreadypath@/home/runner/work/disorganised-mess/disorganised-mess/turtles.jlpluto_versionv0.19.47last_save_timeA`TZcell_order$70160fec-b0c7-11ea-0c2a-35418346592e$d30c8f2a-b0bf-11ea-0557-19bb61118644$ab083f08-b0c0-11ea-0c23-315c14607f1f$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5b$310a0c52-b0bf-11ea-3e32-69d685f2f45e$5560ed36-b0c0-11ea-0104-49c31d171422$e6c7e5be-b0bf-11ea-1f7e-73b9aae14382$573c11b4-b0be-11ea-0416-31de4e217320$fc44503a-b0bf-11ea-0f28-510784847241$47907302-b0c0-11ea-0b27-b5cd2b4720d8$5aea06d4-b0c0-11ea-19f5-054b02e17675$6dbce38e-b0bc-11ea-1126-a13e0d575339published_objectsnbpkginstall_time_nsΞ!instantiatedòinstalled_versionsterminal_outputsnbpkg_sync
[0m[1mInstantiating...[22m
[90m===[39m
[32m[1m  No Changes[22m[39m to `/tmp/jl_sHPgyd/Project.toml`
[32m[1m  No Changes[22m[39m to `/tmp/jl_sHPgyd/Manifest.toml`

[0m[1mResolving...[22m
[90m===[39m
[32m[1m  No Changes[22m[39m to `/tmp/jl_sHPgyd/Project.toml`
[32m[1m  No Changes[22m[39m to `/tmp/jl_sHPgyd/Manifest.toml`

[0m[1mPrecompiling...[22m
[90m===[39m
[32m[1m  Activating[22m[39m new project at `/tmp/jl_sHPgyd`enabled÷restart_recommended_msgrestart_required_msgbusy_packageswaiting_for_permission,waiting_for_permission_but_probably_disabled«cell_inputs$5560ed36-b0c0-11ea-0104-49c31d171422cell_id$5560ed36-b0c0-11ea-0104-49c31d171422codemd"## Turtle commands"metadatashow_logsèdisabled®skip_as_script«code_folded$47907302-b0c0-11ea-0b27-b5cd2b4720d8cell_id$47907302-b0c0-11ea-0b27-b5cd2b4720d8code9left!(🐢::Turtle, angle::Number) = right!(🐢, -angle)metadatashow_logsèdisabled®skip_as_script«code_folded$ab083f08-b0c0-11ea-0c23-315c14607f1fcell_id$ab083f08-b0c0-11ea-0c23-315c14607f1fcodemd"# 🐢 definition"metadatashow_logsèdisabled®skip_as_script«code_folded$70160fec-b0c7-11ea-0c2a-35418346592ecell_id$70160fec-b0c7-11ea-0c2a-35418346592ecodeO@bind angle HTML("<input type='range' min='0' step='$(pi/100)' max='$(pi/2)'>")metadatashow_logsèdisabled®skip_as_script«code_folded$fc44503a-b0bf-11ea-0f28-510784847241cell_id$fc44503a-b0bf-11ea-0f28-510784847241codeGfunction right!(🐢::Turtle, angle::Number)
	🐢.heading -= angle
endmetadatashow_logsèdisabled®skip_as_script«code_folded$6dbce38e-b0bc-11ea-1126-a13e0d575339cell_id$6dbce38e-b0bc-11ea-1126-a13e0d575339codefunction turtle_drawing(f::Function)
	🐢 = Turtle((150, 150), pi*3/2, true, String[])
	
	f(🐢)
	
	image = """<svg version="1.1"
     baseProfile="full"
     width="300" height="300"
     xmlns="http://www.w3.org/2000/svg">""" * join(🐢.history) * "</svg>"
	return HTML(image)
endmetadatashow_logsèdisabled®skip_as_script«code_folded$573c11b4-b0be-11ea-0416-31de4e217320cell_id$573c11b4-b0be-11ea-0416-31de4e217320code8backward!(🐢::Turtle, by::Number) = foward!(🐢, -by)metadatashow_logsèdisabled®skip_as_script«code_folded$310a0c52-b0bf-11ea-3e32-69d685f2f45ecell_id$310a0c52-b0bf-11ea-3e32-69d685f2f45ecodeDrawing = Vector{String}metadatashow_logsèdisabled®skip_as_script«code_folded$5aea06d4-b0c0-11ea-19f5-054b02e17675cell_id$5aea06d4-b0c0-11ea-19f5-054b02e17675code,md"## Function to make turtle drawings with"metadatashow_logsèdisabled®skip_as_script«code_folded$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5bcell_id$6bbb674c-b0ba-11ea-2ff7-ebcde6573d5bcodehmutable struct Turtle
	pos::Tuple{Number, Number}
	heading::Number
	pen_down::Bool
	history::Drawing
endmetadatashow_logsèdisabled®skip_as_script«code_folded$e6c7e5be-b0bf-11ea-1f7e-73b9aae14382cell_id$e6c7e5be-b0bf-11ea-1f7e-73b9aae14382codeNfunction forward!(🐢::Turtle, distance::Number)
	old_pos = 🐢.pos
	new_pos = 🐢.pos = old_pos .+ (distance .* (cos(🐢.heading), sin(🐢.heading)))
	if 🐢.pen_down
		push!(🐢.history, """<line x1="$(old_pos[1])" y1="$(old_pos[2])" x2="$(new_pos[1])" y2="$(new_pos[2])" stroke="black" stroke-width="3" />""")
	end
	🐢
endmetadatashow_logsèdisabled®skip_as_script«code_folded$d30c8f2a-b0bf-11ea-0557-19bb61118644cell_id$d30c8f2a-b0bf-11ea-0557-19bb61118644codeVturtle_drawing() do t
	
	for i in 1:100
		right!(t, angle)
		forward!(t, i)
	end
	
endmetadatashow_logsèdisabled®skip_as_script«code_folded«notebook_id$da1efb82-4a9e-11f0-22dd-7b6f8d27e71din_temp_dir¨metadata