reference. Hazel [hazel]

Hazel is a live functional programming environment that is able to typecheck, manipulate, and even run incomplete programs, i.e programs with holes. There are no meaningless editor states.