CMP: objections to this tradfn/control structure syntax for my APL? I'm pretty sure it wouldn't require making unusable keywords and regular dfns should still be fine
@ngn you're still free to make a variable named while if you want, it shouldn't conflict with the syntax. I don't feel like having a colon before the while would add much
@ngn oh so then everything's okay (or well at least not worse than Dyalog)
@Adám it doesn't align with that parentheses otherwise can't have multiple statements. Curly braces, however, can. They're just arbitrary scope separators (which I might have some implications on ←, I'll have to think about that)
@ngn even if I were to make characters for while, if, else (no idea how that would even work actually), for, I'd either have to pass them dfns which could have the implicit args (= bad design) or make a special syntactic construct which would defeat the purpose
also, by some reason I just feel like the control flow of the program should be syntactically structured differently than the static calculations/whatever
really I just want some design which doesn't have lingering side-effects, is simple to read (control flow stands out from everything else) and doesn't have end
@dzaima sounds like you're running away from lisp :)
in k there's $[condition;expr1;expr0] for if-then-else and {condition}{body}/x for while, but there's also if[condition;expr1;expr0] and while[condition;body] - I consider the latter 2 bad design
@ngn I'd expect the first 2 to be hard to find in a big program though. My reasoning for having control flow stick out is that to find a specific place in code you'd have to follow a bit of easily noticeable control flow to the place you want, instead of either searching for the patterns or reading everything when you only cared about a small portion
@Adám yay i'm not the first to think this'd be nice. However that still uses the annoyingly long :End
@dzaima in my experience that's never been a problem; however there is some difficulty caused by k's lack of closures - you can't access the surrounding function's variables from inside a while loop in its first form