« first day (565 days earlier)      last day (2386 days later) » 

09:55
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
(that being equal to this APL)
 
3 hours later…
ngn
ngn
12:42
@dzaima keywords are so un-apl-like
@dzaima So the inner brace is not a dfn?
@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
ngn
@dzaima but would it be just a variable? or would it introduce special parsing rules?
@Adám no, it's not. You can't have an expression end with a f so I'm using that for control structures
@ngn it'd be parsed differently.
ngn
ngn
@dzaima well, I would say it's a keyword then, even without the column (matter of terminology)
12:48
@dzaima I find it very confusing. Why not use () instead of {}?
ngn
ngn
s/column/colon/
@ngn do you call APLs :While a keyword?
ngn
ngn
@dzaima yes
@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
ngn
@dzaima why do you need special while syntax when you could have an operator similar to ?
12:58
@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
ngn
ngn
@dzaima oh, I see, so you want in the while condition and the body to be the of the surrounding dfn
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
ngn
ngn
@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
13:19
@dzaima This may interest you.
13:31
@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
13:55
@Adám that's cool
I like me some userfns
ngn
ngn
@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
14:24
@mousetrapper Email me on adam@ with the domain being the same as www.dyalog.com if you want write access to this room.
 
5 hours later…
19:50
@dzaima That looks even less APL than RAD does, if I'm being honest. How are dfns handled then?

« first day (565 days earlier)      last day (2386 days later) »