(no title)
reuben364 | 9 months ago
One pattern that I have frequently used in EMACS elisp is that redefining a top-level value overwrites that value rather than shadowing it. Basically hot reloading. This doesn't work in a dependently typed context as the type of subsequent definitions can depend on values of earlier definitions.
def t := string
def x: t := "asdf"
redef t := int
redefining t here would cause x to fail to type check. So the only options are to either shadow the variable t, or have redefinitions type-check all terms whose types depend on the value being redefined.Excluding the type-level debugging they mention, I think a lean style language-server is a better approach. Otherwise you are basically using an append-only ed to edit your environment rather than a vi.
wk_end|9 months ago
kscarlet|9 months ago
And it is called that for a reason, it is not very dynamic :) and probably too static to the taste of many Lisp and all Smalltalk fans.
resize2996|9 months ago
I used this to write the front end for an ATM machine.
extrabajs|9 months ago
reuben364|9 months ago