I don't think that print(x) debugging is the best that 70 years of computer research can give us. 🙃

We can do better!

Learnable Programming

Pluto doesn't have print, show, @show, etc, and yet it's still easier to debug things! A lot of debug scenarios are avoided, by always showing intermediate values, and by cutting away at that nasty state.

But still, print can be useful sometimes, because we don't have Notebooks inside notebooks yet. In particular, functions and loops don't show intermediate values.

<aside> 💡 also it would be nice to be able to do side notes inside Markdown, that display next to the page

</aside>

What if we combine these ideas?

A function aside(...) that does all of these things!

md"""
Hey hello my name is John.$(aside(md"My friends call me _Johnoworitz_."))
"""

maybe with some new Markdown syntax (Julia's markdown parser is extensible)

for i in 1:100
	aside(i)
	lkjafslkjsafklj
	if isprime(i)
		aside("prime!")
	end
end