Þ¥bonds€¬cell_resultsŽÙ$d78c56f5-4b9d-4451-8fc0-bd0f6dd0cbf2Цqueued¤logs�§running¦output†¤bodyÚ î
Loading WASM...
¤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Ú 
Loading WASM...
¤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Ú ñ
Loading WASM...
¤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Ùd

Autograde 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Ú 
Loading WASM...
¤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
Loading WASM...
¤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.jl­pluto_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Ú@ Instantiating... === Resolving... ===  No Changes to `/tmp/jl_yrgLFT/Project.toml`  No Changes to `/tmp/jl_yrgLFT/Manifest.toml` Precompiling... ===  Activating project at `/tmp/jl_yrgLFT`°HypertextLiteralÚ@ Instantiating... === Resolving... ===  No Changes to `/tmp/jl_yrgLFT/Project.toml`  No Changes to `/tmp/jl_yrgLFT/Manifest.toml` Precompiling... ===  Activating 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)
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€