15 ms·
>ParEdit is an addition to text editor, and it doesn't block you from introducing mismatched parenthesis. It's actually an important feature, because an editor
by thrown_22 4y ago
>ParEdit is an addition to text editor, and it doesn't block you from introducing mismatched parenthesis. It's actually an important feature, because an editor that forbids this will be more painful to use than manually fixing parens. So we still fix parens in 2022.
_It does._ This is like trying to explain red to a very obstinate man wearing a blind fold their whole life.
>What I was talking about is something like this:
I have no idea which of:
(ecase length name)
(ecase (length name))
((ecase length) name)
you want.
What you're complaining about is that operators of arbitrary arity need a termination symbol. That is a feature, not a bug. Basically your code is very simple and you're not using higher order functions. At which point you might as well go back to python.
To actually encode the information you're talking using nothing but white space you'd need to do the following:
find-frame-class
name
cond
and
char=
char name 0
#\T
not
member
name
quote
"TXX"
"TXXX"
:test #'string=
ecase
length
name
3
'text-info-frame-v2.2
4
'text-info-frame-v2.3
t
ecase
length
name
3
'generic-frame-v2.2
4
'generic-frame-v2.3
or some such. I lost interest in getting it correct since I wasted a rather long time trying to fit a tree in a 2d page at university. The key point is that a tree can be infinite dimensional and a page isn't. When you know that you rather quickly realize that all syntactic sugar is doomed and you spend your life doing more productive things with it.