Þ ¥bonds€¬cell_resultsŽÙ$d78c56f5-4b9d-4451-8fc0-bd0f6dd0cbf2Цqueued¤logs�§running¦output†¤bodyÚ î
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚÿï²vû°persist_js_state·has_pluto_hook_features§cell_idÙ$d78c56f5-4b9d-4451-8fc0-bd0f6dd0cbf2¹depends_on_disabled_cells§runtimeÎûl|µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$256272d4-1ea3-40d5-953b-cffd2d4b1ba8Цqueued¤logs�§running¦output†¤bodyÚ
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚÿïüý¬°persist_js_state·has_pluto_hook_features§cell_idÙ$256272d4-1ea3-40d5-953b-cffd2d4b1ba8¹depends_on_disabled_cells§runtimeÍ"¬µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$6b5ff8b1-ec53-4b46-9980-44c4847d9eacЦqueued¤logs�§running¦output†¤bodyÙ*mini_repl (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚÿïŸE°persist_js_state·has_pluto_hook_features§cell_idÙ$6b5ff8b1-ec53-4b46-9980-44c4847d9eac¹depends_on_disabled_cells§runtimeÎørÙµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$22770ba8-7bcc-484e-bec5-85629e340930Цqueued¤logs�§running¦output†¤body§missing¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚÿïûãv°persist_js_state·has_pluto_hook_features§cell_idÙ$22770ba8-7bcc-484e-bec5-85629e340930¹depends_on_disabled_cells§runtimeÍ'µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$a074dec9-e8ab-4956-bfa3-24654d5c5274Цqueued¤logs�§running¦output†¤bodyÚ ñ
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚÿïÅNY°persist_js_state·has_pluto_hook_features§cell_idÙ$a074dec9-e8ab-4956-bfa3-24654d5c5274¹depends_on_disabled_cells§runtimeÎ Iퟵpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$a6139adc-e619-458b-8e53-02d89f482d28Цqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚÿïQ×°persist_js_state·has_pluto_hook_features§cell_idÙ$a6139adc-e619-458b-8e53-02d89f482d28¹depends_on_disabled_cells§runtimeÎe² µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$bddc7a13-d524-42f6-b3c1-24bf63188cc5Цqueued¤logs�§running¦output†¤bodyÙ”Exercise 5.2
👉 Write an expression that returns true. Given is x = 100
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚÿíNˆa°persist_js_state·has_pluto_hook_features§cell_idÙ$bddc7a13-d524-42f6-b3c1-24bf63188cc5¹depends_on_disabled_cells§runtimeÎ –\µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$c350fc7c-e519-4e3d-802f-4cbdd6d6b9f5Цqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚÿíNšé°persist_js_state·has_pluto_hook_features§cell_idÙ$c350fc7c-e519-4e3d-802f-4cbdd6d6b9f5¹depends_on_disabled_cells§runtimeÎ nµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$49ed99c9-3d68-4e64-b292-45d8140fdd0dЦqueued¤logs�§running¦output†¤bodyÙdAutograde simple exercises
Without a Julia process!
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚÿíNpŰpersist_js_state·has_pluto_hook_features§cell_idÙ$49ed99c9-3d68-4e64-b292-45d8140fdd0d¹depends_on_disabled_cells§runtimeÎ ¸µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$1bbc3534-1a99-421e-b947-7ff4e7e6e0a2Цqueued¤logs�§running¦output†¤bodyÚ[
¤mime©text/html¬rootassigneeªwasm_setup²last_run_timestampËAÚÿï�Ñp°persist_js_state·has_pluto_hook_features§cell_idÙ$1bbc3534-1a99-421e-b947-7ff4e7e6e0a2¹depends_on_disabled_cells§runtimeÎ
®Túµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$22fafdef-9765-427c-816d-04440a613307Цqueued¤logs�§running¦output†¤bodyÚ¦Julia WASM as a JS package
The Julia WASM build can be used to execute Julia code from JavaScript! This notebook shows off two use cases!
For more info, see the Julia WASM project and a demo of Pluto running inside WASM .
If you are interested in helping us with WASM development, please get in touch with me or Keno Fischer . If you find WASM interesting and useful, please spread the word!
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚÿíNC(°persist_js_state·has_pluto_hook_features§cell_idÙ$22fafdef-9765-427c-816d-04440a613307¹depends_on_disabled_cells§runtimeÎ Î͵published_object_keys�¸depends_on_skipped_cells§erroredÂÙ$5f82e865-213b-472d-a7a2-6dab4fc4caaeЦqueued¤logs�§running¦output†¤bodyÙD
Julia REPL inside your browser
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚÿíNY`°persist_js_state·has_pluto_hook_features§cell_idÙ$5f82e865-213b-472d-a7a2-6dab4fc4caae¹depends_on_disabled_cells§runtimeÎ ž(µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$64bfadea-6390-413e-8f5a-f29a8b36e58fЦqueued¤logs�§running¦output†¤bodyÚ
¤mime©text/html¬rootassignee¦mybond²last_run_timestampËAÚÿïï'(°persist_js_state·has_pluto_hook_features§cell_idÙ$64bfadea-6390-413e-8f5a-f29a8b36e58f¹depends_on_disabled_cells§runtimeÎ
‡±µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$20209643-23ea-4f0c-bdf8-53c83d169ee9Цqueued¤logs�§running¦output†¤bodyÚM
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚÿïÄ{$°persist_js_state·has_pluto_hook_features§cell_idÙ$20209643-23ea-4f0c-bdf8-53c83d169ee9¹depends_on_disabled_cells§runtimeÎú'>µpublished_object_keys�¸depends_on_skipped_cells§errored±cell_dependenciesŽÙ$d78c56f5-4b9d-4451-8fc0-bd0f6dd0cbf2„´precedence_heuristic §cell_idÙ$d78c56f5-4b9d-4451-8fc0-bd0f6dd0cbf2´downstream_cells_map€²upstream_cells_map�©mini_repl‘Ù$6b5ff8b1-ec53-4b46-9980-44c4847d9eacÙ$256272d4-1ea3-40d5-953b-cffd2d4b1ba8„´precedence_heuristic §cell_idÙ$256272d4-1ea3-40d5-953b-cffd2d4b1ba8´downstream_cells_map€²upstream_cells_map�¦mybond‘Ù$64bfadea-6390-413e-8f5a-f29a8b36e58fÙ$6b5ff8b1-ec53-4b46-9980-44c4847d9eac„´precedence_heuristic §cell_idÙ$6b5ff8b1-ec53-4b46-9980-44c4847d9eac´downstream_cells_map�©mini_repl”Ù$d78c56f5-4b9d-4451-8fc0-bd0f6dd0cbf2Ù$20209643-23ea-4f0c-bdf8-53c83d169ee9Ù$a074dec9-e8ab-4956-bfa3-24654d5c5274Ù$64bfadea-6390-413e-8f5a-f29a8b36e58f²upstream_cells_mapŒ¦string�ªwasm_setup‘Ù$1bbc3534-1a99-421e-b947-7ff4e7e6e0a2·HypertextLiteral.Bypass�¸HypertextLiteral.content�¦String�¤@htl�¤Expr�¤Real�ºHypertextLiteral.ScriptTag�·HypertextLiteral.Result�°HypertextLiteral‘Ù$a6139adc-e619-458b-8e53-02d89f482d28¥Union�Ù$22770ba8-7bcc-484e-bec5-85629e340930„´precedence_heuristic §cell_idÙ$22770ba8-7bcc-484e-bec5-85629e340930´downstream_cells_map€²upstream_cells_map�¤code‘Ù$64bfadea-6390-413e-8f5a-f29a8b36e58fÙ$a074dec9-e8ab-4956-bfa3-24654d5c5274„´precedence_heuristic §cell_idÙ$a074dec9-e8ab-4956-bfa3-24654d5c5274´downstream_cells_map€²upstream_cells_map�©mini_repl‘Ù$6b5ff8b1-ec53-4b46-9980-44c4847d9eacÙ$a6139adc-e619-458b-8e53-02d89f482d28„´precedence_heuristic§cell_idÙ$a6139adc-e619-458b-8e53-02d89f482d28´downstream_cells_map�°HypertextLiteral’Ù$6b5ff8b1-ec53-4b46-9980-44c4847d9eacÙ$1bbc3534-1a99-421e-b947-7ff4e7e6e0a2²upstream_cells_map€Ù$bddc7a13-d524-42f6-b3c1-24bf63188cc5„´precedence_heuristic §cell_idÙ$bddc7a13-d524-42f6-b3c1-24bf63188cc5´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$c350fc7c-e519-4e3d-802f-4cbdd6d6b9f5„´precedence_heuristic §cell_idÙ$c350fc7c-e519-4e3d-802f-4cbdd6d6b9f5´downstream_cells_map€²upstream_cells_map€Ù$49ed99c9-3d68-4e64-b292-45d8140fdd0d„´precedence_heuristic §cell_idÙ$49ed99c9-3d68-4e64-b292-45d8140fdd0d´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$1bbc3534-1a99-421e-b947-7ff4e7e6e0a2„´precedence_heuristic §cell_idÙ$1bbc3534-1a99-421e-b947-7ff4e7e6e0a2´downstream_cells_map�ªwasm_setup‘Ù$6b5ff8b1-ec53-4b46-9980-44c4847d9eac²upstream_cells_map„·HypertextLiteral.Bypass�·HypertextLiteral.Result�°HypertextLiteral‘Ù$a6139adc-e619-458b-8e53-02d89f482d28¤@htl�Ù$22fafdef-9765-427c-816d-04440a613307„´precedence_heuristic §cell_idÙ$22fafdef-9765-427c-816d-04440a613307´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$5f82e865-213b-472d-a7a2-6dab4fc4caae„´precedence_heuristic §cell_idÙ$5f82e865-213b-472d-a7a2-6dab4fc4caae´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$64bfadea-6390-413e-8f5a-f29a8b36e58f„´precedence_heuristic §cell_idÙ$64bfadea-6390-413e-8f5a-f29a8b36e58f´downstream_cells_map‚¦mybond‘Ù$256272d4-1ea3-40d5-953b-cffd2d4b1ba8¤code‘Ù$22770ba8-7bcc-484e-bec5-85629e340930²upstream_cells_mapˆ¤Core�¤Base�·PlutoRunner.create_bond�«PlutoRunner�©mini_repl‘Ù$6b5ff8b1-ec53-4b46-9980-44c4847d9eac¥@bind�¯Core.applicable�¨Base.get�Ù$20209643-23ea-4f0c-bdf8-53c83d169ee9„´precedence_heuristic §cell_idÙ$20209643-23ea-4f0c-bdf8-53c83d169ee9´downstream_cells_map€²upstream_cells_map�©mini_repl‘Ù$6b5ff8b1-ec53-4b46-9980-44c4847d9eac´cell_execution_orderžÙ$a6139adc-e619-458b-8e53-02d89f482d28Ù$22fafdef-9765-427c-816d-04440a613307Ù$5f82e865-213b-472d-a7a2-6dab4fc4caaeÙ$49ed99c9-3d68-4e64-b292-45d8140fdd0dÙ$bddc7a13-d524-42f6-b3c1-24bf63188cc5Ù$c350fc7c-e519-4e3d-802f-4cbdd6d6b9f5Ù$1bbc3534-1a99-421e-b947-7ff4e7e6e0a2Ù$6b5ff8b1-ec53-4b46-9980-44c4847d9eacÙ$d78c56f5-4b9d-4451-8fc0-bd0f6dd0cbf2Ù$20209643-23ea-4f0c-bdf8-53c83d169ee9Ù$a074dec9-e8ab-4956-bfa3-24654d5c5274Ù$64bfadea-6390-413e-8f5a-f29a8b36e58fÙ$22770ba8-7bcc-484e-bec5-85629e340930Ù$256272d4-1ea3-40d5-953b-cffd2d4b1ba8´last_hot_reload_timeË ©shortpath³julia-wasm-in-js.jl®process_status¥ready¤pathÙI/home/runner/work/disorganised-mess/disorganised-mess/julia-wasm-in-js.jlpluto_version¨v0.19.47®last_save_timeËAÚÿíLë–ªcell_orderžÙ$22fafdef-9765-427c-816d-04440a613307Ù$5f82e865-213b-472d-a7a2-6dab4fc4caaeÙ$d78c56f5-4b9d-4451-8fc0-bd0f6dd0cbf2Ù$49ed99c9-3d68-4e64-b292-45d8140fdd0dÙ$bddc7a13-d524-42f6-b3c1-24bf63188cc5Ù$20209643-23ea-4f0c-bdf8-53c83d169ee9Ù$c350fc7c-e519-4e3d-802f-4cbdd6d6b9f5Ù$a6139adc-e619-458b-8e53-02d89f482d28Ù$22770ba8-7bcc-484e-bec5-85629e340930Ù$6b5ff8b1-ec53-4b46-9980-44c4847d9eacÙ$a074dec9-e8ab-4956-bfa3-24654d5c5274Ù$64bfadea-6390-413e-8f5a-f29a8b36e58fÙ$256272d4-1ea3-40d5-953b-cffd2d4b1ba8Ù$1bbc3534-1a99-421e-b947-7ff4e7e6e0a2±published_objects€¥nbpkgНinstall_time_nsΪ0¬instantiatedòinstalled_versions�°HypertextLiteral¥0.9.3°terminal_outputs‚ªnbpkg_syncÚ@
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mResolving...[22m
[90m===[39m
[32m[1m No Changes[22m[39m to `/tmp/jl_yrgLFT/Project.toml`
[32m[1m No Changes[22m[39m to `/tmp/jl_yrgLFT/Manifest.toml`
[0m[1mPrecompiling...[22m
[90m===[39m
[32m[1m Activating[22m[39m project at `/tmp/jl_yrgLFT`°HypertextLiteralÚ@
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mResolving...[22m
[90m===[39m
[32m[1m No Changes[22m[39m to `/tmp/jl_yrgLFT/Project.toml`
[32m[1m No Changes[22m[39m to `/tmp/jl_yrgLFT/Manifest.toml`
[0m[1mPrecompiling...[22m
[90m===[39m
[32m[1m Activating[22m[39m project at `/tmp/jl_yrgLFT`§enabled÷restart_recommended_msgÀ´restart_required_msgÀbusy_packages�¶waiting_for_permissionÂÙ,waiting_for_permission_but_probably_disabled«cell_inputsŽÙ$d78c56f5-4b9d-4451-8fc0-bd0f6dd0cbf2„§cell_idÙ$d78c56f5-4b9d-4451-8fc0-bd0f6dd0cbf2¤codeÙ%mini_repl(;
default = "sqrt.(1:3)"
)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$256272d4-1ea3-40d5-953b-cffd2d4b1ba8„§cell_idÙ$256272d4-1ea3-40d5-953b-cffd2d4b1ba8¤code¦mybond¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$6b5ff8b1-ec53-4b46-9980-44c4847d9eac„§cell_idÙ$6b5ff8b1-ec53-4b46-9980-44c4847d9eac¤codeÚ
function mini_repl(;
default::String = "1 + 1",
setup_code::String = "",
dramatic_timeout::Real = 0,
post_process_function_code::Union{Expr,String} = "identity",
)
@htl("""
$(wasm_setup)
Run!
Loading WASM...
""")
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$22770ba8-7bcc-484e-bec5-85629e340930„§cell_idÙ$22770ba8-7bcc-484e-bec5-85629e340930¤code¤code¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$a074dec9-e8ab-4956-bfa3-24654d5c5274„§cell_idÙ$a074dec9-e8ab-4956-bfa3-24654d5c5274¤codeÙ;mini_repl(;
setup_code = "x = 999",
default = "x / 99",
)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$a6139adc-e619-458b-8e53-02d89f482d28„§cell_idÙ$a6139adc-e619-458b-8e53-02d89f482d28¤code¶using HypertextLiteral¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$bddc7a13-d524-42f6-b3c1-24bf63188cc5„§cell_idÙ$bddc7a13-d524-42f6-b3c1-24bf63188cc5¤codeÙ\md"""
#### Exercise 5.2
👉 Write an expression that returns `true`. Given is `x = 100`
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$c350fc7c-e519-4e3d-802f-4cbdd6d6b9f5„§cell_idÙ$c350fc7c-e519-4e3d-802f-4cbdd6d6b9f5¤code ¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$49ed99c9-3d68-4e64-b292-45d8140fdd0d„§cell_idÙ$49ed99c9-3d68-4e64-b292-45d8140fdd0d¤codeÙ@md"""
## Autograde simple exercises
Without a Julia process!
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$1bbc3534-1a99-421e-b947-7ff4e7e6e0a2„§cell_idÙ$1bbc3534-1a99-421e-b947-7ff4e7e6e0a2¤codeÚvwasm_setup = @htl("""
""")
¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$22fafdef-9765-427c-816d-04440a613307„§cell_idÙ$22fafdef-9765-427c-816d-04440a613307¤codeÚ)md"""
# Julia WASM as a JS package
The Julia WASM build can be used to execute Julia code from JavaScript! This notebook shows off two use cases!
For more info, see the [Julia WASM project](https://github.com/Keno/julia-wasm) and a demo of [Pluto running inside WASM](https://pluto-wasm-backend.netlify.app/editor.html).
> If you are interested in helping us with WASM development, please get in touch with [me](https://github.com/fonsp) or [Keno Fischer](https://github.com/Keno). If you find WASM interesting and useful, please spread the word!
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$5f82e865-213b-472d-a7a2-6dab4fc4caae„§cell_idÙ$5f82e865-213b-472d-a7a2-6dab4fc4caae¤codeÙ+md"""
## Julia REPL inside your browser
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$64bfadea-6390-413e-8f5a-f29a8b36e58f„§cell_idÙ$64bfadea-6390-413e-8f5a-f29a8b36e58f¤code¿mybond = @bind code mini_repl()¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$20209643-23ea-4f0c-bdf8-53c83d169ee9„§cell_idÙ$20209643-23ea-4f0c-bdf8-53c83d169ee9¤codeÚ&mini_repl(;
default = "sqrt(x) == 10",
setup_code = "x = 100",
dramatic_timeout = 0.5,
post_process_function_code = quote
result -> if !isa(result, Bool)
"You should return true or false"
elseif result == true
HTML("
Correct!
")
else
HTML("
Keep working on it!
")
end
end
)¨metadataƒ©show_logsèdisabled®skip_as_script«code_folded«notebook_idÙ$eeebc6be-4aa4-11f0-2990-f35221a7c9a1«in_temp_dir¨metadata€