 bondscell_results$cce97156-3292-4d75-ae6b-3cee986cdf98queued¤logsrunning¦outputbodyٱ<div class="markdown"><pre><code class="language-julia">macro pure&#40;ex&#41;
    return esc&#40;:&#40;Base.@assume_effects :foldable &#36;ex&#41;&#41;
end
</code></pre>
</div>mimetext/htmlrootassigneelast_run_timestampAL@^ǰpersist_js_state·has_pluto_hook_features§cell_id$cce97156-3292-4d75-ae6b-3cee986cdf98depends_on_disabled_cells§runtime 	!published_object_keysdepends_on_skipped_cells§errored$d1928a6f-c564-4ace-a1e0-7789d6f65e28queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAL@.persist_js_state·has_pluto_hook_features§cell_id$d1928a6f-c564-4ace-a1e0-7789d6f65e28depends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$674ecc1c-5999-4327-b087-4b553d98b5d9queued¤logsrunning¦outputbody٦<div class="markdown"><pre><code class="language-julia">map&#40;f, A::AbstractArray&#41; &#61; collect_similar&#40;A, Generator&#40;f,A&#41;&#41;
</code></pre>
</div>mimetext/htmlrootassigneelast_run_timestampAL@]ְpersist_js_state·has_pluto_hook_features§cell_id$674ecc1c-5999-4327-b087-4b553d98b5d9depends_on_disabled_cells§runtimeE+published_object_keysdepends_on_skipped_cells§errored$77423e98-b580-11ec-3aaa-131342d1510dqueued¤logsrunning¦outputbodyك<div class="markdown"><h1>A better <code>@less</code> inside notebooks</h1>
<p>Copy the following cell in your notebook:</p>
</div>mimetext/htmlrootassigneelast_run_timestampAL=persist_js_state·has_pluto_hook_features§cell_id$77423e98-b580-11ec-3aaa-131342d1510ddepends_on_disabled_cells§runtime Opublished_object_keysdepends_on_skipped_cells§errored$baf98a10-a541-4f67-ac50-60dbf95f9927queued¤logsrunning¦outputbodyl<div class="markdown"><pre><code class="language-julia">first&#40;r::OrdinalRange&#123;T&#125;&#41; where &#123;T&#125; &#61; convert&#40;T, r.start&#41;
first&#40;r::OneTo&#123;T&#125;&#41; where &#123;T&#125; &#61; oneunit&#40;T&#41;
first&#40;r::StepRangeLen&#41; &#61; unsafe_getindex&#40;r, 1&#41;
first&#40;r::LinRange&#41; &#61; r.start
</code></pre>
</div>mimetext/htmlrootassigneelast_run_timestampAL@\opersist_js_state·has_pluto_hook_features§cell_id$baf98a10-a541-4f67-ac50-60dbf95f9927depends_on_disabled_cells§runtime "published_object_keysdepends_on_skipped_cells§errored$269d092d-0114-445f-8e0c-0a85ef4b5dbequeued¤logsrunning¦outputbody<div class="markdown"><p>You can then use the <code>@less</code> macro to get function definitions:</p>
<pre><code class="language-julia">@less any_function&#40;&#41;</code></pre>
<p>Example:</p>
</div>mimetext/htmlrootassigneelast_run_timestampAL=persist_js_state·has_pluto_hook_features§cell_id$269d092d-0114-445f-8e0c-0a85ef4b5dbedepends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored±cell_dependencies$cce97156-3292-4d75-ae6b-3cee986cdf98precedence_heuristic	cell_id$cce97156-3292-4d75-ae6b-3cee986cdf98downstream_cells_mapupstream_cells_mapBaseBase.@pureInteractiveUtils@lessInteractiveUtils.less$d1928a6f-c564-4ace-a1e0-7789d6f65e28$d1928a6f-c564-4ace-a1e0-7789d6f65e28precedence_heuristic	cell_id$d1928a6f-c564-4ace-a1e0-7789d6f65e28downstream_cells_mapInteractiveUtils.less$baf98a10-a541-4f67-ac50-60dbf95f9927$674ecc1c-5999-4327-b087-4b553d98b5d9$cce97156-3292-4d75-ae6b-3cee986cdf98upstream_cells_map splitfindfirst:AbstractStringMarkdown.CodeStringendIntegerbeginendswithjoinTextInteractiveUtilsMarkdown.MDMarkdown==read$674ecc1c-5999-4327-b087-4b553d98b5d9precedence_heuristic	cell_id$674ecc1c-5999-4327-b087-4b553d98b5d9downstream_cells_mapupstream_cells_mapmapInteractiveUtilssqrt@lessInteractiveUtils.less$d1928a6f-c564-4ace-a1e0-7789d6f65e28$77423e98-b580-11ec-3aaa-131342d1510dprecedence_heuristic	cell_id$77423e98-b580-11ec-3aaa-131342d1510ddownstream_cells_mapupstream_cells_map@md_strgetindex$baf98a10-a541-4f67-ac50-60dbf95f9927precedence_heuristic	cell_id$baf98a10-a541-4f67-ac50-60dbf95f9927downstream_cells_mapupstream_cells_map:InteractiveUtilsfirst@lessInteractiveUtils.less$d1928a6f-c564-4ace-a1e0-7789d6f65e28$269d092d-0114-445f-8e0c-0a85ef4b5dbeprecedence_heuristic	cell_id$269d092d-0114-445f-8e0c-0a85ef4b5dbedownstream_cells_mapupstream_cells_map@md_strgetindexcell_execution_order$77423e98-b580-11ec-3aaa-131342d1510d$d1928a6f-c564-4ace-a1e0-7789d6f65e28$269d092d-0114-445f-8e0c-0a85ef4b5dbe$baf98a10-a541-4f67-ac50-60dbf95f9927$674ecc1c-5999-4327-b087-4b553d98b5d9$cce97156-3292-4d75-ae6b-3cee986cdf98last_hot_reload_time        shortpathless.jlprocess_statusreadypath-/home/runner/work/Notebooks/Notebooks/less.jlpluto_versionv0.19.47last_save_timeAL=+cell_order$77423e98-b580-11ec-3aaa-131342d1510d$d1928a6f-c564-4ace-a1e0-7789d6f65e28$269d092d-0114-445f-8e0c-0a85ef4b5dbe$baf98a10-a541-4f67-ac50-60dbf95f9927$674ecc1c-5999-4327-b087-4b553d98b5d9$cce97156-3292-4d75-ae6b-3cee986cdf98published_objectsnbpkginstall_time_ns   AZinstantiatedòinstalled_versionsterminal_outputsnbpkg_sync@
[0m[1mInstantiating...[22m
[90m===[39m

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

[0m[1mPrecompiling...[22m
[90m===[39m
[32m[1m  Activating[22m[39m project at `/tmp/jl_AnnxKJ`enabled÷restart_recommended_msgrestart_required_msgbusy_packageswaiting_for_permission,waiting_for_permission_but_probably_disabled«cell_inputs$cce97156-3292-4d75-ae6b-3cee986cdf98cell_id$cce97156-3292-4d75-ae6b-3cee986cdf98code@less Base.@pure identitymetadatashow_logsèdisabled®skip_as_script«code_folded$d1928a6f-c564-4ace-a1e0-7789d6f65e28cell_id$d1928a6f-c564-4ace-a1e0-7789d6f65e28codeLfunction InteractiveUtils.less(file::AbstractString, line::Integer)
	content = read(file, String)

	lines = split(content, '\n')[line:end]
	if endswith(file, ".jl")
	
		final_idx = findfirst(==(""), lines)
		def = join(lines[begin:final_idx], '\n')
		Markdown.MD(Markdown.Code("julia", def))
	else
		Text(join(lines, '\n'))
	end
endmetadatashow_logsèdisabled®skip_as_script«code_folded$674ecc1c-5999-4327-b087-4b553d98b5d9cell_id$674ecc1c-5999-4327-b087-4b553d98b5d9code@less map(sqrt, [1,2,3])metadatashow_logsèdisabled®skip_as_script«code_folded$77423e98-b580-11ec-3aaa-131342d1510dcell_id$77423e98-b580-11ec-3aaa-131342d1510dcodeXmd"""
# A better `@less` inside notebooks

Copy the following cell in your notebook:
"""metadatashow_logsèdisabled®skip_as_script«code_folded$baf98a10-a541-4f67-ac50-60dbf95f9927cell_id$baf98a10-a541-4f67-ac50-60dbf95f9927code@less first(1:10)metadatashow_logsèdisabled®skip_as_script«code_folded$269d092d-0114-445f-8e0c-0a85ef4b5dbecell_id$269d092d-0114-445f-8e0c-0a85ef4b5dbecodevmd"""
You can then use the `@less` macro to get function definitions:

```julia
@less any_function()
```

Example:
"""metadatashow_logsèdisabled®skip_as_script«code_foldedënotebook_id$672c54a6-8a3c-11ef-213b-2f8801bb8f55in_temp_dir¨metadata