04:21 Ven` joined 04:26 Ven` left 06:52 Ven` joined 11:11 Ven` left 11:55 Ven` joined
Ven` perl6.org/archive/rfc/309.pod 13:28
that rings a bell 13:29
masak interesting. 13:44
it reminds Cozens of TeX. it reminds me of Smalltalk.
I guess it reminds you Ven` of that mixfix stuff.
Ven` it does :P. 13:50
it also reminds me of is parsed, obviously 13:57
masak I think it's significant that Perl 6 didn't get this in the main language 13:58
instead it got named arguments/parameters
which are slightly less "wild" (by having colons as obvious markers) but fill the same "visual" need 13:59
Ven` adverbs!!!! 14:00
masak adverbs are named arguments' wild cousin, yes 14:01
Ven` adverbs are to named args what perl is to ruby :P
the free-form, insane version
masak did you know we almost got Manhattan distance as an integral part of how multimethod dispatch works in Perl 6?
what we got instead was less powerful, but also much more tractable/reasonable 14:02
I'm afraid I can't say the same about adverbs
they seem much more to me like they expect the user to do calculations in their head of a difficulty similar to that of Manhattan distance 14:03
Ven`
.oO( CommaIDE will fix it ) :P
masak my go-to example: `if %h<foo> :exists { ... }` 14:04
how do you negate this?
well, you change the `if` to `unless`, of course
Ven` either :! or not
masak or you add a simple `!`: `if !%h<foo> :exists { ... }`
Ven` certainly not ! :D
masak no, certainly not 14:05
because now your code is broken
let's just say I love features that are "orthogonal" enough so that simple refactors that you expect to have no change on the program actually have no change
adverbs are not orthogonal in that sense
they ride up and down the AST like a boat in a storm 14:06
Ven` except the sea is lava 14:07
masak and I claim that in order to even understand what just went wrong in the above case, the developer must have a clear-enough understanding of how operators are lifted into an AST
Ven` no, I disagree with that 14:08
masak whereas in reality most users program at a level of familiarity somewhere around a vague understanding of precedence
I mean, no-one would be happier than I if there's a perfectly trivial way to explain how adverbs work 14:09
Ven` "well, when a term and a colon love each other very much, .."
yeah understanding precedence is very necessary 14:10
masak .oO( the adverbs and the bees )
Ven` that's for sure
masak I'm pretty sure I understand how precedence works. I've *still* made the above mistake in earnest -- and immediately understood where I went wrong, but still felt that the *way* I understand it shouldn't really have to come into play. 14:11
precedence is one of these features where it's only really exposed when it breaks people's expectations 14:12
like with ! and instanceof in Java
because the natural tendency is to not want to swap in all the intricacies of precedence
it's less about proficiency actually and more about cognitive load 14:13
14:39 Ven` left 14:40 Ven` joined 16:30 Ven` left