Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-07-27

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:14 BenGoldberg .ping
00:14 yoleaux There is no ping command; nor can this be construed as a response.
00:14 preflex yoleaux: you have 1 new message. '/msg preflex messages' to read it.
00:22 benabik joined #perl6
00:38 ggoebel2 joined #perl6
00:46 benabik joined #perl6
00:51 btyler joined #perl6
01:17 xinming joined #perl6
01:22 cooper joined #perl6
01:37 FROGGS joined #perl6
01:41 benabik joined #perl6
01:59 colomon joined #perl6
02:03 orafu joined #perl6
02:04 Ben_Goldberg joined #perl6
02:19 Ben_Goldberg .ping
02:19 yoleaux There is no ping command; nor can this be construed as a response.
02:54 xinming joined #perl6
03:11 crab2313 joined #perl6
03:12 diakopter .response
03:12 diakopter .construe
03:12 diakopter .ping
03:12 yoleaux There is no ping command; nor can this be construed as a response.
03:12 diakopter .respond
03:12 diakopter .pong
03:14 jaldhar joined #perl6
03:15 colomon joined #perl6
03:18 fridim_ joined #perl6
03:27 diakopter colomon: hi
03:28 colomon \o
03:30 preflex_ joined #perl6
03:31 jaldhar joined #perl6
03:54 lizmat good *, Perl6!
03:57 btyler joined #perl6
03:58 raiph joined #perl6
04:08 dalek specs: 683b532 | (Elizabeth Mattijsen)++ | S04-control.pod:
04:08 dalek specs: Eradicate "will start" from spec: it is now done with once {}
04:08 dalek specs: review: https://github.com/perl6/specs/commit/683b532b43
04:16 dalek specs: f4d058a | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
04:16 dalek specs: Spec the already existing .classify/.categorize on hashes
04:16 dalek specs: review: https://github.com/perl6/specs/commit/f4d058ab7d
04:36 dalek specs: 9211e64 | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
04:36 dalek specs: Spec multi-level classification/categorization
04:36 dalek specs: review: https://github.com/perl6/specs/commit/9211e64cd7
04:42 dalek specs: b4bb8b6 | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
04:42 dalek specs: Spec a :bind named parameter for .classify/.categorize
04:42 dalek specs: review: https://github.com/perl6/specs/commit/b4bb8b605f
04:49 dalek specs: 147122a | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
04:49 dalek specs: Spec an optional :bind parameter to List/Hash.push
04:49 dalek specs: review: https://github.com/perl6/specs/commit/147122a56b
04:50 TimToady https://github.com/perl6/roast/commit/2baf5cffdf is incorrect, it's supposed to be substituting the KeyBag implementation for the Hash implementation
04:50 TimToady 'of' implies that each hash entry would return a KeyBag
04:50 TimToady which isn't what we want
04:50 TimToady lizmat: ^^
04:51 lizmat next commit I reverted it and fudged it for now
04:51 lizmat :-)
04:51 TimToady okay, still backlogging :)
04:52 TimToady okay, I see it now
04:55 lizmat r: my %h is KeyBag # fudging the test was needed for now
04:55 camelia rakudo 35818f: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable trait 'is KeyBag' has not yet been implemented.�Did you mean 'of KeyBag'?�at /tmp/LPCT2YXXtx:1�------> �»
04:56 TimToady that's sort of a misguided DYM
04:57 TimToady s/misguided/misguiding/
04:57 lizmat you're right
04:57 lizmat felt good when I was misguided though, but no need for further misguiding is indeed necessary
04:58 TimToady a :bind option seems smelly to me, but I don't have a better idea yet
04:58 dalek rakudo/nom: 73a8420 | (Elizabeth Mattijsen)++ | src/core/Variable.pm:
04:58 dalek rakudo/nom: Remove misguiding suggestion in temporary death message for "is TypeObject"
04:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/73a842030f
04:59 lizmat well, maybe it should be :BIND, as is used elsewhere in the code, e.g with hash slices
05:00 lizmat to make it stand out more?
05:00 lizmat (although the use of :BIND there is not visible, but added by the parser, afaik)
05:00 TimToady I'm not sure how much we should be encouraging people to bind into arrays
05:01 TimToady sorta violates the array contract if they bind a non-container
05:01 lizmat you mean like @a[42] := %h ?
05:02 TimToady I mean like @a[42] = 43;
05:02 TimToady := 43
05:02 TimToady r: my @a; @a[0] := 43; $a[0]++
05:02 camelia rakudo 35818f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Variable '$a' is not declared. Did you mean '@a'?â�¤at /tmp/3wTQsYgQed:1â�¤------> [32mmy @a; @a[0] := 43; $a[0]++[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement endâ�¤        statement modifierâ�¤        stateme…
05:02 TimToady r: my @a; @a[0] := 43; @a[0]++
05:02 camelia rakudo 35818f: OUTPUT«Cannot modify an immutable value␤  in sub postfix:<++> at src/gen/CORE.setting:3770␤  in sub postfix:<++> at src/gen/CORE.setting:2113␤  in block  at /tmp/4tixKSxCzk:1␤␤»
05:03 TimToady and if you're wanting to push immutables, it probably means you wanted a list rather than an array
05:03 lizmat to me, that feels like a case of "doctor, if I push here, it hurts"
05:03 TimToady well, but there's no point in crufting up the API for things we want to discourage
05:03 TimToady and it feels like cruft to me
05:03 crab2313 joined #perl6
05:04 TimToady would want to see a use case first
05:04 lizmat maybe it should be an attribute of an array / hash
05:04 lizmat well, the categorization problem of colomon would be a use case to me
05:04 lizmat pretty sure that memory usage would have with :bind
05:05 lizmat *half
05:05 TimToady could be
05:06 lizmat I have been a heavy user of Data::Alias at $work
05:07 lizmat at one point, it was the only thing that allowed us to grow within the given metal parameters
05:08 lizmat or should I say "constraints of the hardware"
05:10 TimToady it's possible that :bind should be how it works all the time for things like .classify
05:10 lizmat yes, I've considered that
05:10 TimToady it's more in the immutable value mindset
05:10 lizmat which would mean, we probably need to have a named parameter to *not* bind
05:11 TimToady you don't generally return such a hash with the intent of later modifying it
05:11 lizmat indeed
05:11 TimToady well, just make sure you're feeding it containers
05:12 TimToady my $a = [<a b c>]; $a.list[1] = 'B'; say $a
05:12 TimToady nr: my $a = [<a b c>]; $a.list[1] = 'B'; say $a
05:12 camelia rakudo 35818f, niecza v24-88-g1f87209: OUTPUT«a B c␤»
05:13 TimToady .list is returning the actual containers, so a binding op would still end up with containers
05:13 TimToady anyway, I still don't see that we need an option
05:14 lizmat but making classify / categorize bind by default, would make sense ?
05:14 TimToady seems so to me
05:15 * TimToady is not, of course, running a full simulation in his head at the moment...
05:16 * TimToady just knows that 'adverbs' usually means we need to think a little more
05:16 TimToady especially when the same adverb starts showing up in multiple places
05:17 * lizmat will try to keep that in mind  :-)
05:18 TimToady we might or might not need a rawpush or rawplan primitive down deep to save having to write .[$i] := $thing
05:19 TimToady or .{$k} := $thing
05:19 lizmat why call that rawpush, instead of bindpush ?  isn't the latter more descriptive in what it does?
05:20 TimToady sure, names are always negotiable, except when they aren't :)
05:20 lizmat both examples you give, are internally implemented with a :BIND parameter to the postcircumfix candidate
05:21 lizmat at least in rakudo :-)
05:21 TimToady "might or might not" :)
05:21 * TimToady is really good at using a lot of words to claim nothing
05:23 moritz \o
05:24 dalek rakudo/nom: 1f1076a | moritz++ | src/Perl6/World.nqp:
05:24 dalek rakudo/nom: Do not complain when exporting exactly the same symbol twice
05:24 dalek rakudo/nom:
05:24 dalek rakudo/nom: fixes RT #118965
05:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1f1076a2fa
05:24 dalek specs: f670ef1 | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
05:24 dalek specs: Remove :bind named parameter
05:24 dalek specs:
05:24 dalek specs: Instead classify / categorize may generate immutable data structures.
05:24 dalek specs: review: https://github.com/perl6/specs/commit/f670ef1495
05:25 lizmat +Please note that for performance reasons, an implementation is free to C<bind>
05:25 lizmat +values to the resulting arrays.  So you should consider these arrays to be
05:25 lizmat +immutable.
05:26 lizmat is that sufficiently handwavy  :-)
05:28 lizmat r: my %h is what it is  # very LTA error message  :-)
05:28 camelia rakudo 73a842: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot call 'trait_mod:<is>'; none of these signatures match:�:(Mu:U $child, Mu:U $parent)�:(Mu:U $type, :rw(:$rw)!)�:(Mu:U $type, :nativesize(:$nativesize)!)�:(Mu:U $type, :unsigned(:$unsigned)!)�:(Mu:U $type, :hidden(:$hidden)!)�:(M…
05:29 lizmat moritz o/
05:30 TimToady we could probably put a final candidate that simply reports "no such trait as 'foo'"
05:31 dalek rakudo/nom: 909a662 | (Elizabeth Mattijsen)++ | src/core/Variable.pm:
05:31 dalek rakudo/nom: Variable trait "is start" is no more
05:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/909a6622e3
05:31 lizmat r: my $a will foo # like this
05:31 camelia rakudo 73a842: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Missing blockâ�¤at /tmp/dtTEtl9tt0:1â�¤------> [32mmy $a will foo # like this[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        parameterized blockâ�¤Â»
05:31 lizmat r: my $a will foo {} # like this
05:31 camelia rakudo 73a842: OUTPUT«[31m===[0mSORRY![31m===[0m�You can not 'will foo' in a variable declaration�at /tmp/wDtY4cp7sy:1�------> �»
05:32 TimToady s/'can not'/cannot/
05:33 TimToady but it's still not quite right...'cannot say' maybe
05:34 dalek rakudo/nom: c0e8db6 | (Elizabeth Mattijsen)++ | src/core/Variable.pm:
05:34 dalek rakudo/nom: Tweaks in error message
05:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c0e8db6138
05:34 TimToady "I don't know how I will 'foo'"   :)
05:39 lizmat I don't know how foo I will
05:42 kaare_ joined #perl6
05:43 dalek roast: 8da77bb | moritz++ | S11-modules/import.t:
05:43 dalek roast: RT #118965 - multiple overlapping imports should not bomb
05:43 dalek roast: review: https://github.com/perl6/roast/commit/8da77bbe45
05:48 dalek rakudo/nom: fb836dc | (Elizabeth Mattijsen)++ | src/core/Variable.pm:
05:48 dalek rakudo/nom: Added fallbacks for "is foo" and "of foo" in variable declarations
05:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fb836dc285
05:53 moritz ok 30 - took too long 15
05:53 moritz somehow that reads... wrong
05:53 lizmat suggestions?
05:53 moritz 'finished in time'?
05:54 moritz fwiw several of those tests fail for me (on a slow machine)
05:54 lizmat and all with 20 seconds, right ?
05:55 lizmat or with different values ?
05:55 moritz my $toolong = 5
05:55 moritz that's what's in the test file
05:55 lizmat but it should show how long they actually took
05:55 lizmat [20s] ?
05:56 moritz ok 3 - [21s] discard server and client
05:56 lizmat yup, that looks like a 20s timeout + 1 actual second of processing
05:57 moritz but if it runs into a timeout, wouldn't the actual test fail?
05:57 lizmat well, that's the odd thing, they don't
05:57 lizmat so maybe that test is bogus also
05:57 lizmat or maybe we're just suffering from buffering
05:58 lizmat and the watchdog makes sure we get the result after 20 seconds
05:58 lizmat I've been recently been bitten by buffering of TAP ouutput
05:58 lizmat which indicated it was hanging, but showed the wrong test
05:59 moritz lizmat: do the tests pass for you?
06:00 lizmat except for 7 timeout fails, yes
06:00 lizmat have been failing since I put them in
06:00 lizmat timeouts have been there for as long as I've been doing spectests, it feels to me
06:01 lizmat they just were never visible before I added the "took too long" tests
06:07 dalek roast: d05f498 | (Elizabeth Mattijsen)++ | S32-io/IO-Socket-INET.t:
06:07 dalek roast: Made 'took too long" test comments a bit more understandable
06:07 dalek roast:
06:07 dalek roast: Suggested by moritz++
06:07 dalek roast: review: https://github.com/perl6/roast/commit/d05f498955
06:26 wk joined #perl6
06:42 rindolf joined #perl6
06:43 raiph joined #perl6
06:43 raiph http://www.reddit.com/r/programming/comments/1j3jq3/a_comparison_between_perl_and_haskell/
06:45 dark_energy joined #perl6
07:36 ecocode joined #perl6
07:53 grondilu joined #perl6
07:59 grondilu rn: say .perl given Set.new: <foo>.set.item, <foo bar>.set.item;
07:59 camelia niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Unable to resolve method set in type Str␤  at /tmp/7KS_GoBMVT line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @ 576) ␤  at /home/p6…
07:59 camelia ..rakudo fb836d: OUTPUT«set("foo", "bar")␤»
08:00 grondilu rn: say .perl given Set.new: set(<foo>).item, set(<foo bar>)).item;
08:00 camelia rakudo fb836d: OUTPUT«[31m===[0mSORRY![31m===[0m�Unexpected closing bracket�at /tmp/KP8mES9Kup:1�------> [32mSet.new: set(<foo>).item, set(<foo bar>)[33m�[31m).item;[0m�»
08:00 camelia ..niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0m��Unexpected closing bracket at /tmp/bYMZJg64ZW line 1:�------> [32mSet.new: set(<foo>).item, set(<foo bar>)[33m�[31m).item;[0m��Parse failed��»
08:00 grondilu rn: say .perl given Set.new: set(<foo>).item, set(<foo bar>).item;
08:00 camelia niecza v24-88-g1f87209: OUTPUT«Set.new("foo", "foo bar")␤»
08:00 camelia ..rakudo fb836d: OUTPUT«set("foo", "bar")␤»
08:01 grondilu rn: say set(<foo bar>).perl
08:01 camelia niecza v24-88-g1f87209: OUTPUT«Set.new("foo", "bar")␤»
08:01 camelia ..rakudo fb836d: OUTPUT«set("foo", "bar")␤»
08:04 dmol joined #perl6
08:11 dalek rakudo/nom: 0d3c78c | (Elizabeth Mattijsen)++ | src/core/Exception.pm:
08:11 dalek rakudo/nom: Add X::Comp::Trait exception
08:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0d3c78cf4b
08:11 dalek rakudo/nom: 296da02 | (Elizabeth Mattijsen)++ | src/core/Variable.pm:
08:11 dalek rakudo/nom: Make faulty variable trait declarations nicer using new Exception
08:11 dalek rakudo/nom:
08:11 dalek rakudo/nom: Still wondering what would be needed to actually show the line of code like
08:11 dalek rakudo/nom: some other errors do.
08:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/296da02886
08:36 SamuraiJack__ joined #perl6
08:41 masak good morning, #perl6
08:43 spider-mario joined #perl6
08:45 masak [backlog] TimToady: making Str the base class for all numeric things is how Moose does it, fwiw. you probably know that already.
09:03 masak (but I think it is a type-system detail that fits much more effortlessly in the emergent type system that Perl 5 already has. I remember seeing the Moose type hierarchy for the first time, noting that Int <: Num <: Str, and nodding, thinking "yeah, that makes sense". for Perl 5.)
09:13 rindolf joined #perl6
09:46 cognominal joined #perl6
09:50 woolfy1 Damian Conway about Perl 5 and Perl 6 and he also mentions MoarVM: http://www.youtube.com/watch?v=MxcVjbyKzQA
09:56 nwc10 the one I'd really like to know if there is a video of is http://www.oscon.com/oscon2013/public/schedule/detail/28774
09:58 masak woolfy1! \o/
09:58 woolfy1 \o
09:59 masak is "ahead of time" a new term for non-JIT compilation?
09:59 nwc10 it's not "new" to me.
09:59 masak then I'm just behind the curve on that one.
09:59 * masak .oO( compilation is just heavily cached interpretation )
09:59 nwc10 and it's the traditional compiler. For the past fourever^H^H^H^H+ decades
10:00 masak in other news, I keep studying category theory, and it keeps (slowly) blowing my noodle.
10:01 masak category theory is the "The Dude" of mathematics.
10:01 mtk joined #perl6
10:04 masak here's what I learned yesterday at the airport:
10:04 masak you know state machines? they're essentially graphs with nodes (states) and edges (transitions).
10:05 masak a graph is eminently understandable as a category, so CT comes into play here.
10:06 masak now, there's an intuitive sense in which one state machine B can be said to be "compatible" with another state machine A. we can say that when B always acts like A, except B can have more detailed states that A doesn't capture. but whenever A makes a state transition, B makes a similar one.
10:06 pupoque_ joined #perl6
10:07 masak (so where A might have states <s1 s2 s3>, B might have states, say, <s1 s2a s2b s2c s3a s3b>)
10:07 masak now, this notion of B being "compatible" with A is exactly what CT's notion of "natural transformation" captures.
10:08 masak a "natural transformation" maps one category to another, all the while "respecting" enough structure, enough of the objects/arrows (nodes/edges, states/transitions, whatever).
10:08 domidumont joined #perl6
10:10 masak I also realized that the closest most programmers ever get to CT is learning about generic types. (like List<Employee>) but it shows up in a lot of other places too, especially programming language semantics.
10:10 masak I'm starting to see quite a bit of category theory in Git.
10:32 crab2313 joined #perl6
10:32 pmurias joined #perl6
10:37 dalek Perlito: 1c0afa1 | (Flavio S. Glock)++ | / (5 files):
10:37 dalek Perlito: Perlito5 - cleanup source code, tests
10:37 dalek Perlito: review: https://github.com/fglock/Perlito/commit/1c0afa1cd3
10:50 dalek rakudo-js: 11bfb45 | (Pawel Murias)++ | run (2 files):
10:50 dalek rakudo-js: Set WHAT on a STable when creating a type object, pass test 72.
10:50 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/11bfb45451
10:56 masak pmurias++
11:02 dalek Perlito: 9a6dce0 | (Flavio S. Glock)++ | / (4 files):
11:02 dalek Perlito: Perlito5 - parser - cleanup
11:02 dalek Perlito: review: https://github.com/fglock/Perlito/commit/9a6dce0363
11:05 colomon joined #perl6
11:09 tadzik oh noes! http://irclog.perlgeek.de/
11:09 tadzik moritz: ^
11:10 timotimo r: say "hello 1 world -2".comb(/[a..z]+|'-'?<digit>+/)
11:10 camelia rakudo 296da0: OUTPUT«1 -2␤»
11:10 timotimo r: say "hello 1 world -2".comb(/[a..z]+/)
11:10 camelia rakudo 296da0: OUTPUT«␤»
11:10 timotimo huh?
11:10 timotimo oh!
11:10 timotimo ...
11:12 JimmyZ tadzik: http://tina.perlgeek.de/
11:12 tadzik ah, thanks JimmyZ :)
11:15 masak that's a workaround, though. not a fix.
11:16 masak timotimo: no, [] doesn't mean "character class" any more.
11:16 timotimo i'm looking at pod_string and i think make-ing each character into a string and then joining them is very wasetful
11:16 masak std: /[a..z]+/
11:16 timotimo masak: that's the "oh!" part ;)
11:16 camelia std c2215f0: OUTPUT«ok 00:00 42m␤»
11:16 masak hrm.
11:16 masak std: /[a-z]+/
11:16 camelia std c2215f0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Invalid regex metacharacter (must be quoted to match literally) at /tmp/8pRVjz778p line 1:â�¤------> [32m/[a-[33mâ��[31mz]+/[0mâ�¤Potential difficulties:â�¤  [a-z] appears to be an old-school character class; please use <[a..z]> if you mean…
11:17 masak timotimo: yes, probably very wasteful.
11:17 timotimo problematically, a..z has meaning inside [ ] in new regex syntax, too, so there's no reason to warn
11:17 masak timotimo: set up a small microbenchmark to find out how wasteful! :)
11:18 timotimo i'm looking at text::emotion::scorer right now. i've put the dictionary into a pod block now
11:18 timotimo i'll try with a heredoc for comparison.
11:18 timotimo it's not quite the same, because before trying to match a pod_string_character, it'll try to find a formattingcode or braces.
11:18 timotimo although that could be made faster with a few lookahead assertions.
11:19 timotimo maybe even letting it do LTM
11:20 moritz tadzik: thanks. Seems to have been a caching problem, 'cause it went away after I removed all the caches
11:23 timotimo masak: did you notice i've made a pullrequest for druid? :)
11:23 isBEKaml joined #perl6
11:25 timotimo oh, Text::Emotion::Scorer has a dictionary with multi-part-words in it, but it doesn't seem to ever try to match them
11:30 masak timotimo: no. looking.
11:31 timotimo the text::emotion::scorer benchmark i just came up with shows 18s for pod, 6s for heredoc
11:32 masak ooh! timotimo++ # https://github.com/masak/druid/pull/3
11:32 masak seems I'll need to pull this one manually, though.
11:32 masak s/pull/merge/
11:33 timotimo because you had done stuff after ng-compat in the master branch?
11:33 masak prolly.
11:33 masak I'll fetch and rebase.
11:33 timotimo :)
11:35 tadzik masak: git config --global alias.purr 'pull --rebase'
11:35 masak conflict.
11:35 masak investigating.
11:35 masak tadzik: all very good, but not relevant for rebasing a different branch on someone else's fork into your own master. :)
11:37 masak ah, I'm not conflicting with timo. I'm conflicting with myself :)
11:37 masak (and that's why github cannot merge straight away.)
11:37 tadzik masak: I know, I know. It just seemed appropriate :)
11:40 masak lots of conflicts.
11:40 masak but so far none fatal, so to speak.
11:41 masak timotimo: is https://github.com/timo/druid/commit/0db7fbb8d0b68d5f39d60011e079da3a5e3ede89#L0R49 a forgotten debug print statement? it creates a conflict for me.
11:41 masak removing it for now.
11:46 sidus joined #perl6
11:46 masak timotimo++ # thanks!
11:52 timotimo you're welcome :)
11:53 timotimo just adding lookahead assertions to the alteration in pod_string_character gets me down to 14 instead of 18 seconds
11:53 logie joined #perl6
11:53 timotimo well, 14.5
12:01 timotimo turning one of the two alterations into an LTM gets me down to 12.9, that's much better than 18 ...
12:02 tadzik whoa :)
12:02 timotimo except i broke something
12:02 tadzik timotimo++
12:03 timotimo namely formatting codes.
12:03 timotimo i just broke formatting codes.
12:03 timotimo oh yeah
12:03 timotimo "before" isn't the right word to do a lookahead ...
12:04 moritz it isn't?
12:04 tadzik lookbefore, lookafter
12:05 tadzik maybe <?behind> and <?ahead> would be nice to have
12:08 moritz DBIish>git pull
12:08 moritz Updating 7903d63..0429089
12:08 moritz {lib/DBDish => lib3434/DBDish3535}/mysql.pm6 |    1 +
12:08 moritz WTF?
12:09 timotimo o_O
12:09 timotimo Stage parse      : 227.399 - my laptop is not a fun development platform at all.
12:10 timotimo oh, 83 degC, what fun.
12:10 dalek DBIish: 0a0c491 | moritz++ | lib (2 files):
12:10 dalek DBIish: fix location DBDish::mysql
12:10 dalek DBIish: review: https://github.com/perl6/DBIish/commit/0a0c4918e6
12:10 tadzik each revision gets its own directory :)
12:13 moritz and I wondered why DBIish failed its tests
12:19 pupoque_ joined #perl6
12:20 preflex_ joined #perl6
12:21 kaare_ joined #perl6
12:23 ingy joined #perl6
12:25 ilbot6 joined #perl6
12:31 birdwindupbird joined #perl6
12:31 timotimo i'm thinking it should be faster to .substr $c.orig when encountering more than one consecutive pod_string_character that's "basic"
12:32 timotimo kind of like the nibbler does
12:33 timotimo i wonder if getting rid of "make ~$<char>" in that case would be helpful.
12:33 timotimo on the other hand, other users of pod_string_character probably rely on the .ast being a string sometimes
12:42 timotimo nqp: my $foo := Nil; say(nqp::defined($foo));
12:42 camelia nqp: OUTPUT«0␤»
12:44 timotimo nqp: say("foo bar!".substr(3, 4))
12:44 camelia nqp: OUTPUT«Method 'substr' not found for invocant of class 'String'␤current instr.: '' pc 51 ((file unknown):40) (/tmp/lcZxMXg2uW:1)␤»
12:44 timotimo nqp: say(nqp::substr("foo bar!", 3, 4))
12:44 camelia nqp: OUTPUT« bar␤»
12:44 timotimo ok
12:44 hanekomu joined #perl6
12:47 hanekomu joined #perl6
12:47 timotimo i have a prototype that builds "simple" characters as Nil and then substr's out larger chunks from the $/.CURSOR.orig
12:48 timotimo still wondering why my lookahead assertions made formatting codes break ... <?after [A..Z]['<'|'«']> <pod_formatting_code seemed totally correct to me :|
12:49 benabik joined #perl6
12:50 timotimo oh, darn it
12:50 timotimo i've done the same mistake twice?
12:56 xinming joined #perl6
13:07 colomon joined #perl6
13:08 moritz <?before
13:08 moritz <?after is the look-behind
13:08 timotimo hahahaha, someone quoted the lyrics to 'albi the racist dragon' in the pod spectests
13:08 timotimo it is?
13:08 timotimo ... of course it is
13:08 moritz r: say 'abc' ~~ /<?before b> ./
13:09 camelia rakudo 296da0: OUTPUT«「b」␤␤»
13:14 timotimo spectests are clean. i think i can pullrequest that. i'll do a few more thorough speed comparisons first (with S26-documentation.pod i suppose)
13:15 vmspb joined #perl6
13:16 masak timotimo: I bet that was tadzik++ ;)
13:16 mdxi joined #perl6
13:16 mdxi left #perl6
13:16 timotimo flight of the conchords is a great show
13:17 masak telling <?before and <?after apart takes some time. it's probably like 'left' and 'right' -- they're symmetrical in a way that makes the naming arbitrary.
13:17 masak but even so, I believe they're good names for what they do.
13:18 crab2313 joined #perl6
13:18 masak fwiw, my mnemonic is "am I [not] [before|after] <regex>?"
13:18 timotimo that's the one i adopted now, too
13:18 masak (the '[not]' being for the <! cases)
13:18 timotimo the little heredoc vs pod block benchmark is (on my desktop now) 2.5 seconds vs 6.25 seconds
13:19 timotimo since the pod block could also contain formatting codes, i'm somewhat satisfied with that result.
13:19 PacoLinux joined #perl6
13:21 timotimo before my pod6_improvements branch was merged, it was quite a bit faster, though
13:22 timotimo not "quite a bit", it was a bit less than 2x slower than the heredoc when using pod
13:22 timotimo makes me a bit sad still
13:24 timotimo i wonder if it would be possible to trim Match objects in action methods. if you know you won't be accessing $<foo><bar><baz>[5]<quux><frob><yoink> from three rules up anyway, why not throw it away sooner? might make parsing take less memory... seems premature, though ...
13:26 vmspb left #perl6
13:26 masak you'll still need to return all the Match objects in the end.
13:26 rindolf joined #perl6
13:27 timotimo in the very end?
13:28 masak when the grammar parse succeeds, I mean.
13:28 moritz well, unless you don't capture stuff in the first place
13:28 timotimo what i'm thinking of isn't automatic, it's something you'd do manually
13:28 moritz but yes, IMHO that would be useful
13:29 moritz fwiw the Perl 6 features FAQ long had "parse tree pruning" in it
13:29 timotimo i mean, the stmtlist token or its action (or any of its parent) probably don't care about a pod_string_character that's buried 10 layers deep, but it's still *there*
13:29 timotimo ah, cool
13:29 timotimo doesn't surprise me that i'm not the first one to think of that :P
13:30 timotimo could it, in theory, be as simple as calling $/.prune after you're done with that part of the match and you're convinced nobody above you will care about it?
13:30 timotimo perhaps it would be sane to have a $*PREVENT_PRUNE, too, though
13:39 pecastro_ joined #perl6
13:48 timotimo alas, formatting codes remain broken for some reason.
14:01 pupoque_ joined #perl6
14:14 btyler joined #perl6
14:18 timotimo nqp: my $foo; say($foo == Nil);
14:18 camelia nqp: OUTPUT«1␤»
14:19 timotimo nqp: my $foo; say($foo =:= Nil);
14:19 camelia nqp: OUTPUT«1␤»
14:19 timotimo nqp: my $foo := 0; say($foo == Nil);
14:19 camelia nqp: OUTPUT«1␤»
14:19 timotimo nqp: my $foo := 0; say($foo =:= Nil);
14:19 camelia nqp: OUTPUT«0␤»
14:19 timotimo mhm.
14:19 timotimo nqp: my $foo := 0; say($foo =:= Nil);
14:19 camelia nqp: OUTPUT«0␤»
14:19 timotimo nqp: my $foo := 0; say($foo !=:= Nil);
14:19 camelia nqp: OUTPUT«Confused at line 2, near "say($foo !"␤current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)␤»
14:21 timotimo it appears the formatting codes were still parsed correctly, but stringified or skipped when creating the pod_string in my new code :|
14:21 timotimo apparently nqp::defined didn't do what i meant it to do?
14:21 timotimo who knows.
14:24 pupoque__ joined #perl6
14:25 timotimo nope, it seems like the pod_string_frugal i made ate the > and the formattingcode won't find it any more :|
14:25 timotimo so the frugality doesn't help when it's one level down; interesting!
14:26 JimmyZ :-)
14:26 timotimo also annoying :(
14:27 ribasushi joined #perl6
14:31 FROGGS joined #perl6
14:34 dalek nqp: d5989ea | (Pawel Murias)++ | src/HLL/Compiler.nqp:
14:34 dalek nqp: Fix --help in nqp.
14:34 dalek nqp: review: https://github.com/perl6/nqp/commit/d5989ea5ec
14:34 dalek nqp: 30d991e | (Pawel Murias)++ | / (2 files):
14:34 dalek nqp: Fix nqp::setinvokespec on parrot. Add a test for it.
14:34 dalek nqp: review: https://github.com/perl6/nqp/commit/30d991ebab
14:34 dalek nqp: a6c22e1 | (Pawel Murias)++ | src/HLL/Compiler.nqp:
14:34 dalek nqp: Merge remote-tracking branch 'origin/fix-help'
14:34 dalek nqp: review: https://github.com/perl6/nqp/commit/a6c22e1bd9
14:34 dalek nqp: 3eca203 | (Pawel Murias)++ | / (2 files):
14:34 dalek nqp: Merge remote-tracking branch 'origin/fix-set-invocation-spec'
14:34 dalek nqp: review: https://github.com/perl6/nqp/commit/3eca203dbe
14:36 masak yes, nested quantifiers are independent along the eagerness/frugality axis. probably a good thing, all things considered. :)
14:36 timotimo mhm
14:37 Psyche^ joined #perl6
14:37 dalek rakudo-js: 526b8c0 | (Pawel Murias)++ | / (2 files):
14:37 dalek rakudo-js: Update nqp submodule. Add test 70 to run_tests.
14:37 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/526b8c0b57
14:38 dalek Perlito: 106ddcd | (Flavio S. Glock)++ | / (8 files):
14:38 dalek Perlito: Perlito5 - more for-loop variants
14:38 dalek Perlito: review: https://github.com/fglock/Perlito/commit/106ddcdda0
14:38 xinming joined #perl6
14:41 PacoLinux joined #perl6
14:44 timotimo what operation would be replaced with nqp::assignunchecked by the optimizer? i'm trying my Int $a = something-that-returns-Int(); and it seems like the op that would be replaced is p6store; is p6store just "do type checking on the container and all that stuff"?
14:52 pupoque_ joined #perl6
14:54 timotimo for native containers it seems like it's already doing a bind, does that have an equivalent "no need to do type checks" version, too?
14:55 SamuraiJack__ joined #perl6
15:03 pmurias pmichaud: ping
15:04 pmichaud pmurias: pong
15:04 pmichaud just catching up on a few things here :)
15:04 FROGGS hi pmichaud
15:05 pmichaud we can meet /privmsg or on chan, as you prefer.
15:05 masak pmichaud! \o/
15:05 pmichaud and good morning, #perl6
15:06 [Coke] hio
15:06 FROGGS pmichaud: we are right before getting panda+modules to work on rakudo@jvm, and almost starting to get moarvm bootstrap nqp
15:07 pmichaud FROGGS: yes, good.  Even though I haven't been on IRC, I've been following commit logs and blog posts :)
15:08 FROGGS ahh, k :o)
15:08 colomon joined #perl6
15:08 FROGGS personally I didnt expect this state this early, I'd expected it would take one or two more months
15:09 masak we can slow down if you want...
15:09 masak :P
15:09 FROGGS hehe
15:09 FROGGS no!!
15:13 dalek Perlito: 95ebf21 | (Flavio S. Glock)++ | / (4 files):
15:13 dalek Perlito: Perlito5 - more for-loop variants
15:13 dalek Perlito: review: https://github.com/fglock/Perlito/commit/95ebf2105a
15:18 timotimo you can tell i've been working on pod stuff by the failing tests >_>
15:18 timotimo (only locally, of course!)
15:21 tadzik someone put Flight of the Conchords in the spectests? Weird, who could that be?
15:23 tadzik timotimo++ # awesome work on pod
15:23 tadzik I was worried that I was the only person who can understand this code :P fortunately, you and moritz++ prove me wrong
15:24 GlitchMr n: https://gist.github.com/GlitchMr/6095148
15:24 camelia niecza v24-88-g1f87209: OUTPUT«ok 1/1␤Hello , world! True␤»
15:24 GlitchMr n: https://gist.github.com/GlitchMr/6095148
15:24 camelia niecza v24-88-g1f87209: OUTPUT«Hello , world!␤ok 1/1␤»
15:25 GlitchMr I still like this Niecza bug, even when it's a bug.
15:26 GlitchMr n: https://gist.github.com/GlitchMr/6095148
15:26 camelia niecza v24-88-g1f87209: OUTPUT«Hello , world!␤ok 1/1␤»
15:26 GlitchMr ok
15:27 benabik infix nothing?
15:27 GlitchMr Yeah, a bug.
15:27 TimToady std: sub infix:[] ($a,$b) { $a X $b }
15:27 camelia std c2215f0: OUTPUT«[31m===[0mSORRY![31m===[0m�Null operator is not allowed at /tmp/_3LqMHTrF0 line 1:�------> [32msub infix:[][33m�[31m ($a,$b) { $a X $b }[0m�Parse failed�FAILED 00:00 42m�»
15:28 timotimo tadzik: don't call it awesome just yet. it may end up not working after all ;)
15:28 tadzik nonsense :)
15:28 timotimo but you *may* call my work awesome when i (if i?) manage to rewrite the pod parsing in the modular style i still haven't yet fully sketched out in my mind yet
15:28 GlitchMr Known bug, but still not fixed in Niecza :-).
15:28 tadzik well, the existing code has plenty of duplications
15:29 * [Coke] makes some progress on getting the daily star run to use the latest nqp, rakudo, and modules.
15:29 tadzik but I think they're distinct enough, that trying to abstract common part from them may prove to be more trouble than it's worth
15:29 tadzik at least that was my conclusion when I was working at the code during gsoc
15:30 tadzik I may have been wrong, and/or my laziness made me biased :)
15:30 colomon joined #perl6
15:32 [Coke] (for the daily star run, I'll keep whatever the last declared version of parrot in star was. make sense?)
15:33 [Coke] also killing the spectest run, since we're already doing that elsewhere.
15:33 SunilJoshi joined #perl6
15:34 timotimo i didn't see how to cover "keep spaces and newlines in this text, but also allow the parsing of sub-blocks"
15:34 timotimo but that might just be infamiliarity with the code.
15:35 TimToady decommuting from OSCON &
15:36 flussence timotimo: shouldn't that just be a matter of twiddling rules to use <ws> instead of <.ws>?
15:36 timotimo r: "foo" ~~ /$<foo>=[.+]/; say $<foo>.perl;
15:36 camelia rakudo 296da0: OUTPUT«Match.new(orig => "foo", from => 0, to => 3, ast => Any, list => ().list, hash => EnumMap.new())␤»
15:36 timotimo flussence: no, whitespace collapsing is done in some place some where. probably would be helpful to find it and figure it out properly.
15:36 flussence hrm
15:38 timotimo in Perl6::Pod::build_pod_string maybe?
15:40 [Coke] how to get the tag-#commits-sha output for our version from a git command?
15:41 timotimo git describe
15:41 timotimo newest formatting code stuff seems to be in working order now. at last! :)
15:43 FROGGS [Coke]: put do a git pull first, to get the latest tags
15:44 FROGGS (not just git pull and then branchname)
15:47 timotimo great, all of S26-documentation/*.t passes again
15:47 PacoLinux joined #perl6
15:47 tadzik aww yiss
15:47 FROGGS \o/
15:48 timotimo will check out the performance differences soon.
15:48 timotimo t/spec/S04-declarations/state.rakudo.parrot ..................... Dubious, test returned 1 (wstat 256, 0x100)
15:48 timotimo not sure what that is all about
15:49 tadzik does it have any pod inside?
15:49 [Coke] FROGGS: ... and then what?
15:49 timotimo ===SORRY!===
15:49 timotimo You cannot say 'will start' in a variable declaration.
15:49 timotimo that breaks it.
15:49 FROGGS then git describe
15:49 [Coke] FROGGS++
15:50 dmol joined #perl6
15:51 sidus joined #perl6
15:52 timotimo without a debug say every time a pod_string_character finds a character it should even be possible to benchmark ... :P
15:52 skids joined #perl6
15:55 [Coke] FROGGS: I assume a fresh git clone doesn't have to explicitly pull tags?
15:55 [Coke] (as long as I only care if they are fresh immediately post-clone)
15:56 timotimo huh. no speed difference in parsing? that's weird.
15:57 timotimo it's still wasteful to have one match object per character inside pod.
16:00 [Coke] timotimo: isn't that fixed by making the rule grab more than one char at a time
16:00 [Coke] ?
16:00 [Coke] surely we could grab a line at time?
16:03 logie joined #perl6
16:06 masak r: say (1..20).classify( * % 3 ).perl
16:06 camelia rakudo 296da0: OUTPUT«("1" => [1, 4, 7, 10, 13, 16, 19], "2" => [2, 5, 8, 11, 14, 17, 20], "0" => [3, 6, 9, 12, 15, 18]).hash␤»
16:06 masak r: say (1..20).classify( * % 3 ).classify( * % 2 ).perl
16:06 camelia rakudo 296da0: OUTPUT«("1" => [1, 4, 7, 10, 13, 16, 19], "2" => [2, 5, 8, 11, 14, 17, 20], "0" => [3, 6, 9, 12, 15, 18]).hash␤»
16:06 timotimo i probably should be able to grab multiple characters in a row if i just keep making sure it's not a < or > and that if it's a capital letter, it's not followed by <
16:07 masak lizmat: I don't understand what .classify does on hashes. https://github.com/perl6/specs/commit/f4d058ab7d saying they're "Same as List's classify" doesn't do it for me as an explanation.
16:07 colomon joined #perl6
16:08 masak lizmat: is there a way to rephrase what it does either in a more exact way, or in a way that doesn't refer to List.classify?
16:08 masak (or both)
16:09 timotimo r: say "<" ~~ /<[<]>/
16:09 camelia rakudo 296da0: OUTPUT«「<」␤␤»
16:09 timotimo r: say "<" ~~ /<-[«]>/
16:09 camelia rakudo 296da0: OUTPUT«「<」␤␤»
16:09 masak r: say "-" ~~ /<[-]>/
16:09 camelia rakudo 296da0: OUTPUT«「-」␤␤»
16:10 masak r: say "「" ~~ /<[「]>/
16:10 camelia rakudo 296da0: OUTPUT«「「」␤␤»
16:10 masak r: say "」" ~~ /<[」]>/
16:10 camelia rakudo 296da0: OUTPUT«「」」␤␤»
16:10 * masak idly wonders if 」 shouldn't be escaped in .gist output of match results
16:14 [Coke] gist isn't meant to be programatically reused (is it?) so it's not crucial.
16:14 [Coke] it would make it potentially less confusing.
16:19 timotimo gist is for humans, yes
16:21 masak [Coke]: right. hence "idly wonders" rather than "submits rakudobug" ;)
16:22 timotimo my "improvements" so far just made it all slower.
16:33 btyler joined #perl6
16:38 PacoLinux joined #perl6
16:55 crab2313 joined #perl6
17:01 sidus joined #perl6
17:37 dmol joined #perl6
17:53 domidumont joined #perl6
17:57 colomon joined #perl6
18:33 colomon joined #perl6
18:36 dalek rakudo-star-daily: 2513a74 | coke++ | / (2 files):
18:36 dalek rakudo-star-daily: Don't run the spectest any longer.
18:36 dalek rakudo-star-daily:
18:36 dalek rakudo-star-daily: This is already covered elsewhere
18:36 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/2513a7406c
18:36 dalek rakudo-star-daily: f61b183 | coke++ | bin/star.sh:
18:36 dalek rakudo-star-daily: Use latest rakudo & nqp
18:36 dalek rakudo-star-daily:
18:36 dalek rakudo-star-daily: In the beginning, it was fine to use the star specific ones because
18:36 dalek rakudo-star-daily: we knew they were broken. Now we want to keep an eye out for new
18:36 dalek rakudo-star-daily: breakages.
18:36 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/f61b183670
18:36 dalek rakudo-star-daily: fe3420c | coke++ | bin/star.sh:
18:36 dalek rakudo-star-daily: Test latest modules
18:36 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/fe3420c3dd
19:10 colomon joined #perl6
19:29 domidumont joined #perl6
19:31 raiph joined #perl6
19:35 raiph timotimo: http://irclog.perlgeek.de/perl6/2013-07-26#i_7375584
19:36 timotimo that's not the answer i was looking for
19:36 rhr joined #perl6
19:41 keith_ joined #perl6
19:44 dalek rakudo-star-daily: 0e4579d | coke++ | log/ (4 files):
19:44 dalek rakudo-star-daily: today (automated commit)
19:44 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/0e4579df1b
19:46 [Coke] ^^ has data from rakudo-latest, nqp-latest, <modules-latest>
19:46 timotimo quite a few explosions
19:46 [Coke] 3 modules failing:
19:47 [Coke] modules/zavolaj modules/perl6-lwp-simple modules/perl6-File-Tools
19:55 arnsholt Hmm. Functionality change I need to look into for Zavolaj
19:58 dmol joined #perl6
19:59 raiph timotimo: lizmat removed "will start" in the last 24 hours
20:04 colomon joined #perl6
20:06 raiph "In Haskell, the bind operator [supports] ad-hoc polymorphism ... [unlike p6's feed ops] ... you've got the ability to dispatch on the context of the input"
20:08 timotimo indeed, i was running off of an old version
20:08 timotimo because i was working on my laptop, which doesn't get new rakudo builds often (overheating problems etc)
20:14 FROGGS joined #perl6
20:19 cosimo joined #perl6
20:20 vmspb joined #perl6
20:30 masak raiph: I don't understand the context in which Perl 6's feed op wouldn't have "ad-hoc polymorphism".
20:31 raiph http://www.reddit.com/r/programming/comments/1j3jq3/a_comparison_between_perl_and_haskell/cbbahq0
20:33 dalek Perlito: 6f0823d | (Flavio S. Glock)++ | / (4 files):
20:33 dalek Perlito: Perlito5 - parser - more bareword disambiguation
20:33 dalek Perlito: review: https://github.com/fglock/Perlito/commit/6f0823d3e4
20:42 raiph masak: aiui, everything in p6 can be made contextually ad-hoc, right? isn't that fundamental?
20:43 * moritz doesn't know what people mean when they say "everything"
20:44 xinming joined #perl6
20:45 * moritz -> sleep
20:46 diakopter raiph: I think his point is that no, you can't have everything be so ad-hoc or optimizability flies out the window...
20:46 masak raiph: I think it's dangerous to promise/claim that in Perl 6, "everything can be made contextually ad-hoc".
20:47 raiph moritz: goodnight (s/goodnight/one can arbitrarily alter the meaning of some code fragment by altering the language on the fly/ # provided one does it appropriately)
20:47 masak raiph: I probably came into Perl 6 believing that, many years ago. now I believe it's a language that abides by language design rules and limitations. it's a rather *cool* language, but it still abides by rules and limitations.
20:47 masak raiph: thus, for example, the DWIM/WAT tension.
20:48 diakopter DWATIM
20:48 masak :P
20:49 xenoterracide joined #perl6
20:49 tadzik [Coke]: do you have data on how many nqp tests nqp-jvm was passing over time?
20:50 * lue suspects a backronym is attached to WAT
20:50 dmol joined #perl6
20:51 raiph masak: right. u can change any lang by changing the compiler. it's easier to change a lang that makes the compiler easier to change. it's still easier if u can do that from within the lang. it's still easier if the lang has been designed with that in mind.
20:53 raiph i thought one of the key aspects of p6 was addressing each of these levels
20:53 * masak is happy to report he solved problem 8 in five minutes flat with a Perl 5 one-liner: http://www.conceptispuzzles.com/index.aspx?uri=info%2Farticle%2F424
20:54 lue raiph: there's slangs for changing how the language is parsed. That's the most you can modify P6, afaict
20:54 masak raiph: you are not wrong.
20:55 masak raiph: and (thanks to Turing-universality) saying "*anything* is possible!" is not really an exaggeration.
20:55 masak raiph: and I'm not really arguing against. just trying to understand what facts the original quote was rooted in.
20:55 masak so far, I still don't get it.
20:56 raiph haskell's bind is fundamentally polymorphic
20:56 raiph (is what i think chonglibloodsport is saying)
20:57 raiph (reminds me of BETA's assignment)
20:59 raiph my thought is that, while the feed ops may not be designed to be arbitrarily polymorphic, i'm hand-wavily guessing that a macro or slang will (one day, relatively easily) get one where one needs to go
21:00 raiph larry has m-expressioned to his heart's content, but he first made sure the mexes are pretty good at manipulating sexes, right?
21:01 raiph masak: am i making any sense?
21:03 raiph btw, the original context of chonglibloodsport's comment was the thread containing the reddit comment i posted a link to
21:04 masak I haven't followed the link; sorry. I believe I am too tired to think about this tonight.
21:05 masak to a first approximation, Haskell can say "X is fundamentally polymorphic" about many things, and be right. Haskell builds straight off type theory. Perl 6 doesn't.
21:05 masak I believe further discussion needs to be grounded in a concrete use case.
21:06 masak e.g. how does the feed operator being polymorphic help in writing some Haskell code?
21:06 masak s/feed/bind/
21:07 masak how could it have helped if the Perl 6 feed operator were "fundamentally polymorphic"? not looking for syntax for that, just some short example of where it currently falls short.
21:08 masak if there is no such example, what are we discussing beyond fancy polysyllabic words? :)
21:09 masak sorry for being brusque. I find age makes me impatient with discussions that make extraordinary claims but provide no data.
21:09 raiph well, an example (maybe monad) is in the thread, but i'm not sure that will help
21:10 raiph because that's just one example, and, aiui, p6 addresses those particular issues from another angle
21:11 masak right.
21:11 dalek nqp: fffd8ee | (Pawel Murias)++ | t/nqp/25-class.t:
21:11 dalek nqp: Test that when calling methods we can use |@args and |%args.
21:11 dalek nqp: review: https://github.com/perl6/nqp/commit/fffd8ee577
21:12 masak phrased differently, imagine someone submitted a rakudobug "[BUG] feed operator is not polymorphic in Rakudo". no additional information.
21:12 dalek rakudo-js: 67439e3 | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp:
21:12 dalek rakudo-js: Support |@args and |%args when calling methods.
21:12 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/67439e3cfc
21:13 dalek Perlito: f30599a | (Flavio S. Glock)++ | / (3 files):
21:13 dalek Perlito: Perlito5 - parser - indirect-object param handling fix
21:13 dalek Perlito: review: https://github.com/fglock/Perlito/commit/f30599a1c0
21:13 masak before rejecting it, people would contribute one or more of: (a) the spec doesn't say anything about the feed operator being polymorphic, (b) could you provide a small test/use case showing what you feel is missing?, (c) this is not a complete bug report, it's just an empty sentence. please submit better next time.
21:14 masak there might be a context in which that quote has a meaning, and is falsifiable, etc. but I don't have that context, and something tells me that context doesn't exist at the other end of the link.
21:15 masak 'night, #perl6
21:15 raiph masak: goodnight. (to be clear, i don't see this as p6 weakness, but strength, that larry has thought through the issues deeply, built in escape hatches at the right places, and made the feed "operators" be between statements, and do the most useful things nicely.)
21:15 btyler_ joined #perl6
21:17 masak bind is a monadic binary operator. feed operators are statement separators, just like semicolons. they are different beasts, and comparing them makes little sense. at least apples and oranges are both in the category "fruit".
21:23 lue .oO(Unless you describe feed operators as binding statements together into one long chain.)
21:23 raiph thanks for talking it through a bit. good night and dream of apples and oranges being nuts...
21:26 raiph lue: which is more or less the original context in the thread
21:28 raiph "the monadic sequencing operator which connects the inputs/outputs of multiple functions while ensuring the proper order of evaluation (which is [nonetheless] subject to lazy evaluation). It's a lot more like the | (pipe) operator in shell"
21:29 pupoque joined #perl6
21:31 lue is that from the reddit discussion or the spec?
21:32 [Coke] tadzik: no. only rakudo-jvm
21:41 sidus joined #perl6
21:43 raiph joined #perl6
21:44 raiph lue: the reddit thread
21:46 FROGGS joined #perl6
22:07 dalek perl6-roast-data: 25d4731 | coke++ | / (5 files):
22:07 dalek perl6-roast-data: today (automated commit)
22:07 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/25d47318bf
22:08 [Coke] looks like a bunch of new failures in both rakudos
22:19 btyler joined #perl6
22:32 xenoterracide joined #perl6
22:44 colomon joined #perl6
22:55 benabik joined #perl6
23:03 pupoque_ joined #perl6
23:08 pupoque__ joined #perl6
23:11 pupoque_ joined #perl6
23:25 benabik joined #perl6
23:34 diakopter just posted: https://gist.github.com/anonymous/6096722
23:35 diakopter in reply to http://news.perlfoundation.org/2013/07/hague-grant-application.html#comment-17980265
23:38 BenGoldberg joined #perl6
23:40 keith_ joined #perl6
23:47 BenGoldberg rpn: for gather { take 2; say 'eager' } { .say; last }
23:47 camelia niecza v24-88-g1f87209: OUTPUT«2␤»
23:47 camelia ..rakudo 296da0, pugs: OUTPUT«eager␤2␤»
23:50 vmspb left #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo