Free idea for others to run with (I don't have the time): Visual functional programming!

Drag & drop "blocks" into "(pattern) -> (value) (fallback...)" definitions to define new blocks. Or provide intelligent autocomplete as an option.

That concept should be Turing Complete, & readily graspable (especially with a debugger). Programs written in it could be entirely self-contained.

Main challenge: Hooking up I/O people find meaningful.

I think it fits in @jos 's vision discussed yesterday.
1/2

3YP

@natalie Kind of, but that looks like the sort of "Scratch for functional programming" I'd want to avoid in my proposal.

I wouldn't be interesting in mapping the Haskell syntax to Scratch blocks, when we could make this singular concept of a block the entire language. Every block which does more than store data would have an implementation in terms of itself or other blocks you can pull up.

@jos