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

9:55 AM
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
12:42 PM
@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
@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
@dzaima well, I would say it's a keyword then, even without the column (matter of terminology)
 
12:48 PM
@dzaima I find it very confusing. Why not use () instead of {}?
 
ngn
s/column/colon/
 
@ngn do you call APLs :While a keyword?
 
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
@dzaima why do you need special while syntax when you could have an operator similar to ?
 
12:58 PM
@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
@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
@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
 
1:19 PM
@dzaima This may interest you.
 
1:31 PM
@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
 
1:55 PM
@Adám that's cool
I like me some userfns
 
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
 
2:24 PM
@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…
7:50 PM
@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 (2079 days later) »