Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-11-04

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:00 benabik r-p: 1782**12+1841**12-1922**12
00:00 camelia rakudo-parrot 215ba6: ( no output )
00:00 benabik r-p: say 1782**12+1841**12-1922**12
00:01 camelia rakudo-parrot 215ba6: OUTPUT«-700212234530608691501223040959␤»
00:23 rurban_ joined #perl6
00:26 Mouq joined #perl6
00:36 TimToady p: &circumfix:«{"{ }".words}»(4,5).say
00:36 camelia rakudo-parrot 215ba6: OUTPUT«===SORRY!===␤Null PMC access in get_bool()␤»
00:37 TimToady lue: note that Str|Int cannot ever work in modern Perl 6, since | has been stolen to mean something else
00:38 TimToady (in siggie kinds of things)
00:39 TimToady p: &circumfix:«{'{'} {'}'}}»(4,5).say
00:39 camelia rakudo-parrot 215ba6: OUTPUT«===SORRY!===␤Null PMC access in get_bool()␤»
00:39 lue TimToady: so I'm guessing that conjectural bit is garbage now? Or does it just need new syntax?
00:40 TimToady that section is completely petrified
00:43 TimToady and the whole thing turned out to be a can of semantic worms with very little social redeeming value
00:44 lue Int⦀Str :)
00:45 lue TimToady: I can tell it's old by the fact it references "Perl 6.0.0" instead of "Perl 6" ( Not that .0.0 isn't something to talk about nowadays, but we don't think of this as "the initial version of P6" much anymore :) )
00:46 TimToady r: say «{4 + 2} 4+2».perl
00:46 camelia rakudo-jvm 882e33: OUTPUT«java.lang.OutOfMemoryError: Java heap space␤  in  (gen/jvm/CORE.setting)␤  in  (gen/jvm/ModuleLoader.nqp:349)␤  in load_setting (gen/jvm/ModuleLoader.nqp:340)␤  in  (src/Perl6/World.nqp:304)␤  in load_setting (src/Perl6/World.nqp:300)␤  in  (src…»
00:46 camelia ..rakudo-parrot 215ba6: OUTPUT«(("6",).list, "4+2")␤»
00:47 TimToady r: say (6,'4+2')
00:47 lue TimToady: shall I purge the Polymorphic type section in S02 then?
00:47 camelia rakudo-jvm 882e33: OUTPUT«java.lang.OutOfMemoryError: Java heap space␤  in  (gen/jvm/CORE.setting)␤  in  (gen/jvm/ModuleLoader.nqp:349)␤  in load_setting (gen/jvm/ModuleLoader.nqp:340)␤  in  (src/Perl6/World.nqp:304)␤  in load_setting (src/Perl6/World.nqp:300)␤  in  (src…»
00:47 camelia ..rakudo-parrot 215ba6: OUTPUT«6 4+2␤»
00:47 TimToady p: say «{4 + 2} 4+2»
00:47 camelia rakudo-parrot 215ba6: OUTPUT«64+2␤»
00:48 TimToady so where's the space?
00:48 TimToady p: say ((6,),'4+2')
00:48 camelia rakudo-parrot 215ba6: OUTPUT«6 4+2␤»
00:48 lue n: say «{4 + 2} 4+2»
00:48 camelia niecza v24-98-g473bd20: OUTPUT«6 4+2␤»
00:48 colomon r: say "64 + 2"
00:48 camelia rakudo-jvm 882e33: OUTPUT«java.lang.OutOfMemoryError: Java heap space␤  in  (gen/jvm/CORE.setting)␤  in  (gen/jvm/ModuleLoader.nqp:349)␤  in load_setting (gen/jvm/ModuleLoader.nqp:340)␤  in  (src/Perl6/World.nqp:304)␤  in load_setting (src/Perl6/World.nqp:300)␤  in  (src…»
00:48 camelia ..rakudo-parrot 215ba6: OUTPUT«64 + 2␤»
00:49 TimToady p: say ((6,).list,'4+2')
00:49 camelia rakudo-parrot 215ba6: OUTPUT«6 4+2␤»
00:50 colomon r-p: say "{4 + 2} 4+2"
00:50 camelia rakudo-parrot 215ba6: OUTPUT«6 4+2␤»
00:50 TimToady p: say «{4 + 2} 4+2».perl.eval
00:50 camelia rakudo-parrot 215ba6: OUTPUT«6 4+2␤»
00:50 colomon n: say «{4 + 2} 4+2»
00:50 TimToady p: say «{4 + 2} 4+2»
00:50 camelia niecza v24-98-g473bd20: OUTPUT«6 4+2␤»
00:50 camelia rakudo-parrot 215ba6: OUTPUT«64+2␤»
00:51 TimToady here we have a value that doesn't round-trip through .perl.eval !!!
00:51 TimToady oh, wait, it does, just wrong :)
00:52 TimToady p: say ('1','2').gist
00:52 camelia rakudo-parrot 215ba6: OUTPUT«1 2␤»
00:52 TimToady p: say ('1'.list,'2').gist
00:52 camelia rakudo-parrot 215ba6: OUTPUT«1 2␤»
00:53 * lue files quoteword space rakudobug
00:53 TimToady p: say (('1',).list,'2').gist
00:53 camelia rakudo-parrot 215ba6: OUTPUT«1 2␤»
00:53 TimToady p: say «1 2»
00:53 camelia rakudo-parrot 215ba6: OUTPUT«1 2␤»
00:53 * TimToady scratches his head
00:54 colomon p: say «{1} 2»
00:54 camelia rakudo-parrot 215ba6: OUTPUT«12␤»
00:55 TimToady p: say «{1} 2».perl
00:55 camelia rakudo-parrot 215ba6: OUTPUT«(("1",).list, "2")␤»
00:55 TimToady p: say (("1",).list, "2")
00:55 camelia rakudo-parrot 215ba6: OUTPUT«1 2␤»
00:55 lue p: say «1 {2} 3»
00:55 camelia rakudo-parrot 215ba6: OUTPUT«123␤»
00:55 lue p: say «1 2 3»
00:55 camelia rakudo-parrot 215ba6: OUTPUT«1 2 3␤»
00:55 colomon lue++
00:56 lue p: say «1 see{2} 3»
00:56 camelia rakudo-parrot 215ba6: OUTPUT«1 see23␤»
00:56 lue o.o
00:56 lue p: say «1 see{2}it 3»
00:56 camelia rakudo-parrot 215ba6: OUTPUT«1 see2it 3␤»
00:56 TimToady p: say «1 {2} 3».perl.eval
00:56 camelia rakudo-parrot 215ba6: OUTPUT«1 2 3␤»
00:56 TimToady p: say «1 {2} 3».perl
00:56 camelia rakudo-parrot 215ba6: OUTPUT«("1", ("2",).list, "3")␤»
00:56 lue p: say «1 see{2}it 7 {8}9 10»
00:57 camelia rakudo-parrot 215ba6: OUTPUT«1 see2it 789 10␤»
00:57 TimToady p: say ("1", ("2",).list, "3")
00:57 camelia rakudo-parrot 215ba6: OUTPUT«1 2 3␤»
00:57 TimToady p: say ("1", ("2",).list, "3").gist
00:57 camelia rakudo-parrot 215ba6: OUTPUT«1 2 3␤»
00:57 TimToady p: say ("1", ("2",).list, "3").Str
00:57 camelia rakudo-parrot 215ba6: OUTPUT«1 2 3␤»
00:58 TimToady p: say ~("1", ("2",).list, "3")
00:58 camelia rakudo-parrot 215ba6: OUTPUT«1 2 3␤»
00:58 TimToady so, what's eating the space?
00:59 TimToady p: say «1 {2} 3».WHAT
00:59 camelia rakudo-parrot 215ba6: OUTPUT«(Parcel)␤»
00:59 TimToady p: say «1 {2} 3».gist
00:59 camelia rakudo-parrot 215ba6: OUTPUT«1 2 3␤»
00:59 lue p: say qqw:/1 {2} 3/
00:59 camelia rakudo-parrot 215ba6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/co2LCoRvejâ�¤Colons may not be used to delimit quoting constructsâ�¤at /tmp/co2LCoRvej:1â�¤------> [32msay qqw:[33mâ��[31m/1 {2} 3/[0mâ�¤    expecting any of:â�¤        colon pair (restricted)â�¤Â»
01:00 lue p: say qqw/1 {2} 3/
01:00 camelia rakudo-parrot 215ba6: OUTPUT«1 2 3␤»
01:00 lue ppphhhtt
01:00 TimToady p: say «1 '{2}' 3»
01:00 camelia rakudo-parrot 215ba6: OUTPUT«1{2}3␤»
01:00 TimToady n: say «1 '{2}' 3»
01:00 camelia niecza v24-98-g473bd20: OUTPUT«1 '2' 3␤»
01:00 lue p: say «1 \{ 3»
01:00 camelia rakudo-parrot 215ba6: OUTPUT«1 { 3␤»
01:00 lue p: say «1 \{\} 3»
01:01 camelia rakudo-parrot 215ba6: OUTPUT«1 {} 3␤»
01:01 TimToady n: my $x = 2; say «1 '$x' 3»
01:01 camelia niecza v24-98-g473bd20: OUTPUT«1 '2' 3␤»
01:01 woosley joined #perl6
01:02 TimToady p: my $x = 2; say «1 '$x' 3»
01:02 camelia rakudo-parrot 215ba6: OUTPUT«1$x3␤»
01:02 TimToady p: my $x = 2; say «1 "$x" 3»
01:02 camelia rakudo-parrot 215ba6: OUTPUT«123␤»
01:02 lue p: my $x = 2; say «1 $x 3»
01:02 camelia rakudo-parrot 215ba6: OUTPUT«123␤»
01:02 TimToady again, spaces disappear
01:02 lue TimToady: quit making me have to revise my bug report! :P
01:03 lue p: my $x = 2; say «1 see$x 3»
01:03 camelia rakudo-parrot 215ba6: OUTPUT«1 see23␤»
01:04 lue p: say «1 '2' 3»
01:04 camelia rakudo-parrot 215ba6: OUTPUT«123␤»
01:04 lue p: say «1 '2 3»
01:04 camelia rakudo-parrot 215ba6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/dldNC_ua_lâ�¤Unable to parse expression in single quotes; couldn't find final "'" â�¤at /tmp/dldNC_ua_l:1â�¤------> [32msay «1 '2 3»[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        argu…»
01:04 lue p: say «1 ''2 3»
01:04 camelia rakudo-parrot 215ba6: OUTPUT«12 3␤»
01:04 lue does... does '' count as interpol... /me checks S02
01:04 TimToady it's clearly wrong from the standpoint of "should work like shell quoting"
01:06 * TimToady decides to go pick at a real scab instead of a metaphorical one
01:08 * lue created rakudobug finally
01:08 * lue enjoys the web-based interface
01:11 lue I'll get rid of the "Polymorphic Types" section from S02, if no-one objects.
01:12 TimToady <crickets>
01:13 colomon half the world is asleep
01:16 dalek specs: d8cd922 | lue++ | S02-bits.pod:
01:16 dalek specs: [S02] Get rid of Polymorphic Types
01:16 dalek specs:
01:16 dalek specs: The idea was novel, but sadly it introduces a terrible set of
01:16 dalek specs: consequences. Additionally, no-one ever implemented it, and it's never
01:16 dalek specs: been really necessary.
01:16 dalek specs:
01:16 dalek specs: Also, the pipe character was already in use in other ways. That's just
01:16 dalek specs: untenable.
01:16 dalek specs: review: https://github.com/perl6/specs/commit/d8cd922a5a
01:18 * TimToady predicts <crickets> from the rest of the world as well
01:19 lue "I never even knew about those polygonal types anyway"
01:22 colomon that's how you solve the square versus rectangle conundrum, right?
01:23 xenoterracide joined #perl6
01:23 lue Any particular reason why ‹› isn't the Unicode equivalent to <> in P6? (Or has it just never been that important?)
01:24 colomon <crickets>  ;)
01:24 lue ‹crickets›
01:25 TimToady r: say q‹crickets›
01:26 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
01:26 camelia ..rakudo-parrot 215ba6: OUTPUT«crickets␤»
01:26 TimToady maybe someone should just unplug the jvm for now...
01:27 TimToady we haven't gone out of our way to look for non-latin1 equivalents for latin1 operators
01:27 lue p: say qw‹foo bar baz›
01:27 camelia rakudo-parrot 215ba6: OUTPUT«foo bar baz␤»
01:27 lue TimToady: that was my suspicion (not gone out of your way). It would nicely mirror <<>>/«» is all.
01:28 TimToady note we don't even have ≠
01:29 TimToady we were kinda forced out of latin1 in dealing with sets, since the texas versions are so klunky
01:29 colomon It's so easy to add your own version of operators...
01:30 lue colomon: precisely why I'm not moaning about it. It was just an idea that flashed across my mind today :)
01:30 * TimToady likes ≟
01:31 TimToady or should that be ≟≟ in C-derived languages?  :)
01:31 lue ≠? What is this, a math class? if there was a EQUALS SIGN WITH OVERLAYED EXCLAMATION MARK, maybe, but for now != works :)
01:31 TimToady then there's ÷
01:32 TimToady if we switched to that, we could do like Ada and make /= the sign for ≠
01:32 lue p: say "Champion of Unicode™" if 1 ⩵ 1
01:32 TimToady I'm sure everyone would just love that...
01:32 camelia rakudo-parrot 215ba6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/G3psVWzgxYâ�¤Two terms in a rowâ�¤at /tmp/G3psVWzgxY:1â�¤------> [32msay "Champion of Unicodeâ„¢" if 1 [33mâ��[31m⩵ 1[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤ …»
01:33 TimToady n: say "Champion of Unicode™" if 1 ⩵ 1
01:33 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0m��Confused at /tmp/7T9m39PJwM line 1:�------> [32msay "Champion of Unicode™" if 1 [33m�[31m⩵ 1[0m��Parse failed��»
01:33 TimToady I like that message better.
01:34 * TimToady doesn't know how rakudo gets the notion that there's another term there...
01:35 lue also, my $a ≝ 42; (really, Unicode gives us no excuse to ambiguate = anymore :P)
01:36 TimToady that would make more sense for a constant than a variable
01:36 lue nod
01:37 raiph joined #perl6
01:38 TimToady np: constant @a = 1,@a; say @a[3]
01:38 TimToady nr: constant @a = 1,@a; say @a[3]
01:38 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
01:38 camelia ..rakudo-parrot 215ba6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/MkVEGNmmJWâ�¤Variable '@a' is not declaredâ�¤at /tmp/MkVEGNmmJW:1â�¤------> [32mconstant @a = 1,@a[33mâ��[31m; say @a[3][0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
01:38 camelia ..niecza v24-98-g473bd20: OUTPUT«(Any)␤»
01:38 TimToady nobody really does ≝ there yet
01:45 * TimToady would still like to be able to define hamming numbers the way Haskell can: hamming = 1 : map (2*) hamming `union` map (3*) hamming `union` map (5*) hamming
01:46 TimToady assuming a reasonable merge operators, should come out looking like:
01:46 TimToady my @hamming := 1, ((@hamming X* 2) M (@hamming X* 3) M (@hamming X* 5)).squish;
01:47 TimToady constant @hamming = 1, ((@hamming X* 2) M (@hamming X* 3) M (@hamming X* 5)).squish;
01:47 TimToady that is
01:48 TimToady but something is not being evaluated with sufficient abstraction for that to close the recursion
01:51 TimToady http://rosettacode.org/wiki/Hamming_numbers#Haskell if anyone is interested in pursuing this
01:52 nnunley joined #perl6
01:52 TimToady (probably requires => lists that can construct themselves lazily to do it right)
01:53 pochi joined #perl6
01:53 TimToady (either that, or a purer idea of what @a means in this context)
01:53 arnsholt joined #perl6
01:59 broquaint joined #perl6
02:03 kbaker joined #perl6
02:19 raiph joined #perl6
03:07 xan_nick joined #perl6
03:24 colomon lue: lue stands for life universe and everything?
03:26 * TimToady believes that to be the case
03:27 colomon fjords
03:27 lue colomon: Life U. Everything, yesiree :)
03:29 colomon lue++
03:38 rurban joined #perl6
03:56 xinming joined #perl6
04:01 dansamo2 joined #perl6
04:09 dansamo joined #perl6
04:17 c1sung joined #perl6
04:43 c1sung joined #perl6
04:50 preflex_ joined #perl6
05:02 xenoterracide joined #perl6
05:13 lue joined #perl6
05:14 lue TimToady: despite how broken the «1 {2} 3» stuff is, I can't help but feel like it's more in the cool trick category than the showstopper category :) Like ☃☄: not useful, but not utterly terrible.
05:17 [particle]1 joined #perl6
05:18 TimToady well, if it isn't fixed, someone will depend on the current semantics, and then we will break their code when we make it work right; production code is really hard to fix--see Perl 5
05:19 TimToady what was it, SCO Unix, that had && and || reversed in shell scripts, and they never could fix it
05:19 TimToady "we have customers that depend on that"
05:20 geekosaur not in /bin/sh. it had a csh which was pretty much the same one that xenix always had, and which had that bug
05:21 geekosaur xenix csh was doing that before sco existed, even
05:21 geekosaur trs-xenix csh in 1982 had the same bug.
05:21 johnny5_ joined #perl6
05:21 lue .oO(You can either get cake and die.)
05:23 geekosaur (come to think of it I think unisoft v7's csh had it too)
05:23 geekosaur they both blamed it on 2.8bsd I think?
05:26 TimToady don't recall, but yeah, it was csh
05:27 * TimToady only used 4.*bsd, which didn't have that issue that I can recall
05:28 diakopter r-j: 1
05:28 geekosaur I have heard that the bug was not in any released 2BSD csh, only in the one that found its way into xenix, unisoft, etc.
05:28 camelia rakudo-jvm 882e33: ( no output )
05:28 diakopter \o/
05:29 TimToady is that just a restart or did you fix sump'n?
05:29 diakopter sum1 needs to signal hangup to the perl that lauches the eval server every day or so
05:30 diakopter *lunches
05:30 TimToady nom, nom...
05:32 diakopter r-j: 1 while try die
05:33 camelia rakudo-jvm 882e33: ( no output )
05:34 lue r-j: say "I got better"
05:34 camelia rakudo-jvm 882e33: OUTPUT«I got better␤»
05:34 geekosaur who was that masked newt?
05:34 diakopter r-j: say try die
05:34 camelia rakudo-jvm 882e33: OUTPUT«Nil␤»
05:38 diakopter r-j: say eval die
05:38 camelia rakudo-jvm 882e33: OUTPUT«␤  in block  at /tmp/ZBy3qbs0pP:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤  in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196␤  in any command_eval at src/Perl6/Compiler.nqp:17␤␤»
05:39 diakopter r-p: say eval die
05:39 camelia rakudo-parrot 215ba6: OUTPUT«␤  in block  at /tmp/PHSW8R6Ns0:1␤  in any  at /tmp/PHSW8R6Ns0:1␤  in any  at gen/parrot/stage2/NQPHLL.nqp:1146␤  in any eval at gen/parrot/stage2/NQPHLL.nqp:1133␤  in any evalfiles at gen/parrot/stage2/NQPHLL.nqp:1339␤  in any command_eval a…»
05:39 diakopter what'a this "in any"
05:40 geekosaur I assumed a typeything (Any vs. Block vs. ??)
05:44 SamuraiJack joined #perl6
05:59 xan_nick left #perl6
06:14 xenoterracide joined #perl6
06:23 preflex joined #perl6
06:53 darutoko joined #perl6
06:56 SamuraiJack joined #perl6
06:56 lizmat joined #perl6
06:57 locsmif joined #perl6
07:01 [Sno] joined #perl6
07:05 denisboyun joined #perl6
07:11 tobyink joined #perl6
07:16 dmol joined #perl6
07:21 Bucciarati joined #perl6
07:22 locsmif left #perl6
07:27 mathw joined #perl6
07:32 dmol joined #perl6
07:45 jercos r: my Int enum Card (("Ace", 2, 3, 4, 5, 6, 7, 8, 9, "Jack", "Queen", "King") X~ " of " X~ ("Spades", "Clubs", "Diamonds", "Hearts"))
07:45 camelia rakudo-parrot 215ba6, rakudo-jvm 882e33: OUTPUT«===SORRY!===␤No such method 'returns' for invocant of type 'List'␤»
07:46 jercos n: my Int enum Card (("Ace", 2, 3, 4, 5, 6, 7, 8, 9, "Jack", "Queen", "King") X~ " of " X~ ("Spades", "Clubs", "Diamonds", "Hearts"))
07:46 camelia niecza v24-98-g473bd20: ( no output )
07:46 jercos n: my Int enum Card (("Ace", 2, 3, 4, 5, 6, 7, 8, 9, "Jack", "Queen", "King") X~ " of " X~ ("Spades", "Clubs", "Diamonds", "Hearts"));Card.pick.say
07:46 camelia niecza v24-98-g473bd20: OUTPUT«7 of Clubs␤»
07:47 jercos Was this your card? :p
08:01 lizmat joined #perl6
08:02 woolfy joined #perl6
08:04 arnsholt o/
08:09 lizmat arnsholt: /o
08:09 lizmat just backlogging before decommuting
08:18 zakharyas joined #perl6
08:19 dalek specs: 9c428a9 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
08:19 dalek specs: /.sleep/.alarm/
08:19 dalek specs:
08:19 dalek specs: I think ".sleep" is confusing, as its functionality does not match sleep().
08:19 dalek specs: And from this, we could spec an alarm() function, which would just create a
08:19 dalek specs: subscribable with an .alarm and code to be executed when the alarm arrives.
08:19 dalek specs: review: https://github.com/perl6/specs/commit/9c428a98d0
08:19 woolfy left #perl6
08:19 preflex_ joined #perl6
08:26 Bucciarati joined #perl6
08:26 FROGGS joined #perl6
08:32 daxim joined #perl6
09:04 salv0 joined #perl6
09:18 cognominal joined #perl6
09:27 fhelmberger joined #perl6
09:28 nnunley joined #perl6
09:46 tobyink joined #perl6
10:29 denis_boyun joined #perl6
11:04 atroxaper joined #perl6
11:13 dansamo joined #perl6
11:16 nnunley joined #perl6
11:26 xinming joined #perl6
11:32 pernatiy joined #perl6
12:05 salv0 joined #perl6
12:09 itz_ joined #perl6
12:16 rindolf joined #perl6
12:17 itz joined #perl6
12:22 itz joined #perl6
12:31 fhelmberger joined #perl6
12:34 bitpart joined #perl6
12:45 dalek specs: fa517be | util++ | S (5 files):
12:45 dalek specs: Fix typos in S02, S21, S99, S32/IO, and S32/Exception
12:45 dalek specs: review: https://github.com/perl6/specs/commit/fa517be8e7
13:00 xinming joined #perl6
13:02 dmol joined #perl6
13:07 nine joined #perl6
13:07 dmol joined #perl6
13:25 nnunley joined #perl6
13:43 raiph joined #perl6
13:46 ajr joined #perl6
13:47 Timbus|Away joined #perl6
13:50 toebu joined #perl6
13:56 jnap joined #perl6
14:00 gaussblurinc joined #perl6
14:06 kaare__ joined #perl6
14:11 lowpro30 joined #perl6
14:25 denis_boyun joined #perl6
14:26 bluescreen10 joined #perl6
14:29 stevan__ joined #perl6
14:32 PacoAir joined #perl6
14:42 lowpro30_ joined #perl6
14:43 benabik joined #perl6
14:54 logie joined #perl6
15:19 dalek specs: 10b9553 | larry++ | S17-concurrency.pod:
15:19 dalek specs: $*TICK should return Instants, not DateTimes
15:19 dalek specs: review: https://github.com/perl6/specs/commit/10b955341e
15:30 TimToady S17's select examples are all syntax errors, which on the surface means they need commas, but on a deeper level probably means we need a more natural syntax for our combinators
15:32 rurban joined #perl6
15:32 dalek specs: f7cb43e | larry++ | S17-concurrency.pod:
15:32 dalek specs: Add missing commas to select args
15:32 dalek specs: review: https://github.com/perl6/specs/commit/f7cb43eaf2
15:36 * TimToady wishes there were a shorter word that means "subscribable"
15:37 tadzik feed? :) You subscribe to a feed...
15:37 geekosaur "known"?
15:37 toebu joined #perl6
15:37 TimToady well, the role would presumably be Feeder
15:37 TimToady but that doesn't really mean something you can sign up for
15:38 TimToady 'does Feeding' is more grammatical
15:41 TimToady and nobody can figure out whether 'enrol(l)ment' has one 'l' or two
15:42 TimToady we could steal "Publisher", which is currently rather over-specific
15:45 * TimToady thinks using options on .schedule is a fine idea, given the combinatorics
15:46 ajr joined #perl6
15:46 * TimToady would like to sneak "cue" in there somewhere; maybe that's what "async" should become
15:47 TimToady since a cue is what one actor takes from another to start an action or utterance
15:48 TimToady .oO(Enter Hamlet)
15:49 benabik joined #perl6
15:52 TimToady though really, 'start' is probably the clearest thing to replace 'async' with
16:04 toebu joined #perl6
16:05 dalek specs: 2f50e05 | larry++ | S17-concurrency.pod:
16:05 dalek specs: use 'start' for initiating asynchronicity
16:05 dalek specs:
16:05 dalek specs: Especially since we have a 'run' command that does something else,
16:05 dalek specs: and 'run' most often means 'run to completion', which is not true here.
16:05 dalek specs: review: https://github.com/perl6/specs/commit/2f50e054cd
16:05 xalbo joined #perl6
16:05 TimToady also, we don't have a start block anymore...
16:05 sjn hm. maybe there are more words one could use from theater terminology? :)
16:06 sjn s/async/plot/
16:06 sjn "parallel storylines"
16:06 * sjn would love a keyword named "meanwhile" :)
16:07 perigrin INT. Thread A
16:07 perigrin EXT. Process B
16:07 sjn finishing off might be a "finale"
16:09 prevost joined #perl6
16:10 dalek specs: 6b3e9d8 | larry++ | S (3 files):
16:10 dalek specs: more s/async/start/ tweaks
16:10 dalek specs: review: https://github.com/perl6/specs/commit/6b3e9d8dbf
16:11 TimToady s/Subscribable/StageManagement/  # oh wait, that's longer...
16:12 TimToady Stager is shorter but less clear
16:13 TimToady though $*STAGER.cue({...}) is clearer by context
16:15 TimToady $*CUER.cue is really short, but 'cuer' is a funny looking word
16:18 * TimToady is thinking about huffman coding in a larger sense than just the program; we probably won't type Subscribable all that many times inside the program, but we'll be writing about it all the time, so something shorter would be better for that
16:18 benabik .o( Why did you misspell CURE? )
16:20 tobyink joined #perl6
16:21 sjn TimToady: huffman is good, but I hope you also can find some love for the conveyance of understanding. ("making it easy to understand|teach|guess the right word") :)
16:24 * sjn wonders if $*DIRECTOR.cue would be confusing
16:27 jnthn evening
16:27 jnthn I see my "let's get consensus on what to do wiht the new/old S17" was quickly ignored...
16:27 jnthn But happy to see lots of effort going in.
16:28 jnthn The "turn just some of the _ into -" is the only one I absolutely know I'm reverting. :)
16:28 dmol joined #perl6
16:29 jnthn But it may be obviated by another refactor anyway...
16:29 TimToady which I've already said I like :)
16:29 jnthn Yes, I saw that :)
16:30 jnthn I don't feel strongly either way, but the combinatorics argument is a good one.
16:31 jnthn The rest I need to read the patches, but I'm exhausted after late night arriving (Stockholm airport decided to deliver luggage crazy slow) and early morning (teaching located a good bit out of the center, and wanted time to set stuff up, though clueless reception soon hosed that plan...) So probably will leave that for tomorrow or so. :)
16:32 jnthn "cue" is quite a nice word
16:32 jnthn It puns nicely with queue ;)
16:32 TimToady indeed
16:32 jnthn So even if you mishear it, you still understand what it does :)
16:34 denis_boyun joined #perl6
16:34 xinming joined #perl6
16:35 TimToady I suppose it could be $*PLAYLIST.cue for the younger set :)
16:36 jnthn Wait, which contextual are we renamin? :)
16:36 jnthn *renaming
16:36 jnthn I actually don't think S*SCHEDULER needs huffmanizing, fwiw
16:36 jnthn 'cus you're not meant to interact with it directly in the common case
16:36 jnthn But rather use things that use it.
16:36 TimToady no, scheduler is fine
16:36 jnthn OK
16:37 TimToady it's subscribable that is rather too heavy
16:37 jnthn Oh
16:37 jnthn Yes, I agree
16:37 TimToady and I think we'll be talking about them all the time
16:37 jnthn i didn't steal Observable from Rx 'cus I knew there was no chance of us sticking to the rest of the API :)
16:37 TimToady since people aren't that up-to-date on the paradigm
16:38 jnthn So I figured I'd leave that free for anybody who wants to make a module that is an API-alike :)
16:38 TimToady well, Feeder isn't too bad from the standpoint of we might implement feeds with this
16:38 jnthn Oh, hmmm
16:38 xinming joined #perl6
16:38 TimToady anyway, not in a rush, but just something to toss about and weigh
16:39 jnthn This is extremely un-fully-thought-out but I had wondered just a tiny bit if we might want feeds to be a kinda monad-y construct where the type of the first thing controls everything that happens next
16:39 jnthn And that we get rid of the slurpy and actually make it method based
16:39 jnthn So
16:39 TimToady sure, if ; is a monadoid, so is ==>
16:39 jnthn @foo ==> grep { ... } ==> map { ... }
16:39 jnthn Is really
16:39 jnthn @foo.grep({ ... }).map({ ... })
16:40 jnthn Because I *really* want it for subscribable chains too
16:40 jnthn But the slurpy stuff makes writing the candidates hairy :(
16:40 TimToady like I said, we need better combinators
16:40 TimToady syntactically speaking
16:40 jnthn Yeah
16:40 jnthn I just noticed that making chains of ==> sugar for chained method calls might be a really nice thing to do
16:41 BenGoldberg joined #perl6
16:41 jnthn Because it means "do it in the language of the thing we currently have"
16:41 jnthn And is a LOT prettier than unspace ;)
16:41 fridim_ joined #perl6
16:42 jnthn And I think APIs where you chain method calls are common enough that people will make good use of this outside of Perl 6... :)
16:42 jnthn um
16:42 jnthn I mean
16:42 jnthn outside of core stuff
16:42 TimToady though if we leave out the . people will get confused, so maybe @foo ==> .grep ==> .map
16:42 jnthn Told ya I was tired :P
16:42 jnthn I don't know that it's confusing
16:42 TimToady well, there .= already
16:42 jnthn Because you know the invocant is the last thing...well, "know" :)
16:43 FROGGS hello o/
16:43 jnthn I would live with ==> .grep I guess
16:43 jnthn I think I'd just prefer it as the default...
16:44 TimToady maybe we just need to define STDIN for everything we can run :)
16:44 jnthn ;)
16:44 TimToady shower &
16:51 * FROGGS .oO( TimToady ==> shower { /ö } ==> grep { -> $towel { ... } } # Ohh noes! stub towel executed! )
16:51 raiph joined #perl6
16:54 FROGGS damn it, should have included SOAP::Lite
16:56 kaare__ joined #perl6
16:58 benabik joined #perl6
17:05 Tene joined #perl6
17:16 jeffreykegler joined #perl6
17:19 SamuraiJack joined #perl6
17:43 [Sno] joined #perl6
17:45 [Coke] "followable"
17:45 [Coke] trackable?
17:46 [Coke] recordable?
17:47 TimToady eventual :)
17:53 virtualsue joined #perl6
17:55 ajr joined #perl6
17:59 denis_boyun__ joined #perl6
17:59 jnthn Pushy )))
18:01 TimToady Reactionary :)
18:02 TimToady .oO(actors and reactors)
18:02 rurban joined #perl6
18:03 TimToady leaders and followers
18:03 TimToady one "follows" the news as well
18:04 diakopter Befriendable
18:05 diakopter Stalkable
18:07 geekosaur Amiable; extra credit if you can get Aimable to fall out...
18:15 TimToady if your feed is coming from an antenna, you tune your receiver
18:16 diakopter Transceivable
18:16 TimToady Intranceivable!
18:18 anocelot "You keep using that word..."
18:21 TimToady anyhoo, if we implement ==> with subscribables, I think we could safely steal 'does Feed' to represent the underlying role, then pick some appropriate verb to subscribe/follow/track
18:22 diakopter Edible
18:22 diakopter Bitable
18:22 arnsholt anocelot: Incidentally, is an anocelot a negated ocelot? =)
18:23 TimToady .melikes
18:23 timotimo is Tasty
18:23 diakopter Potable
18:23 * anocelot likes potable
18:23 TimToady .yu
18:23 TimToady .yum
18:23 diakopter Potatable
18:23 TimToady isn't potable only about fluids though?
18:24 anocelot Well, if it can blend...
18:24 perigrin I think anything you can carry is potable.
18:24 TimToady it's really about what you want to eat, not what doesn't make you sick
18:24 anocelot savory
18:24 TimToady .want
18:24 anocelot droolworthy
18:25 * colomon wonders if jnthn++ would be more comfortable with drink analogies.  ;)
18:25 * TimToady want cookie!
18:26 TimToady 'does Tap'
18:26 * anocelot feeds TimToady Oreo
18:26 TimToady .draw
18:27 TimToady .order
18:27 jnthn hahaha
18:27 jnthn does Pump
18:27 jnthn Like a beer pump
18:27 jnthn :D
18:27 jnthn "message pump" is actually what Windows calls it, iirc :)
18:28 TimToady pump definitely has 'push' connotations to
18:28 TimToady *too
18:28 TimToady Pump.tap() maybe
18:28 jnthn .oO( It's a childish British slang for fart too )
18:28 TimToady well, there you have it
18:29 sftp joined #perl6
18:30 TimToady still, food tends to be more discrete, like messages
18:30 diakopter Intravenable
18:30 nwc10 of the suggestions so far, I still like `start` the best. It pretty much makes sense even without reading documentation
18:30 nwc10 I like the cue pun, but it's not as clear
18:31 TimToady that's why the doc currently says "start" :)
18:31 geekosaur (a coupon for a cue pun?)
18:31 jnthn .oO( you think it's cue today )
18:31 * TimToady hands geekosaur a cue stick
18:32 * TimToady hands jnthn a cue shtick
18:32 * anocelot adds cue "cue pun" coupon to the queue pen.
18:34 arnsholt jnthn: Before a bind_pos_native on JVM, is tc.native_type set to indicate what kind of value is being passed, or should I just assume the right value has been set?
18:34 nwc10 TimToady: yes, sorry, didn't say that I'd seen that you'd already done that
18:34 nwc10 I liked the idea "wish" too, but I wasn't sure about it
18:34 jnthn arnsholt: Um...I think that it actually is set by the op
18:35 jnthn arnsholt: no, wait...gah, how'd I design it...
18:36 xinming joined #perl6
18:37 sftp joined #perl6
18:37 jnthn arnsholt: Mostly it's done as a "sanity check"
18:37 jnthn arnsholt: The check is done in the ops, iirc
18:37 arnsholt Right
18:37 jnthn arnsholt: So it doesn't set the kind of vaue, it assumes it, but then I think you write in there what you actually set
18:37 jnthn and then the ops check its what was expected
18:38 arnsholt Ooooh, right
18:38 jnthn I kinda thing we'll probably remove the checking later
18:38 jnthn Because you only violate it if you do a stupid code-gen bug I guess...
18:38 jnthn But I wanted it while building stuff because I knew if such a bug happened I'd waste an hour or two finding it...
18:38 arnsholt Or the user does silly things with nqp::ops, I guess
18:38 jnthn yeah, or that. Hm :)
18:38 arnsholt But that's a code-gen bug too, 'cept a wetware one =)
18:40 lawrmcfa joined #perl6
18:41 lawrmcfa joined #perl6
18:45 ajr joined #perl6
18:47 ajr_ TimToady 13:02:07 Only you're an Old Newtonian
18:48 jnthn self.feed &
18:48 ajr_ Sorry, "Only if" :-)*
18:50 araujo joined #perl6
18:50 araujo joined #perl6
18:54 masak evenin', #perl6
18:55 FROGGS hi masak
18:57 moritz \o *
18:57 FROGGS any objections about removing nbp::shell1 from nqp-j?
18:57 FROGGS err, nqp*
18:58 moritz isn't it needed for shell() ?
18:58 FROGGS no, this uses shell aka shell3
18:59 SamuraiJack joined #perl6
18:59 FROGGS there is no call to nqp::shell that only has one arg AFAICS
19:02 Rotwang joined #perl6
19:04 djanatyn joined #perl6
19:05 masak I see I missed some excellent punshedding today.
19:05 masak clearly I should quit $dayjob and just hang out on #perl6 all day, so that I never miss anything.
19:06 * moritz should create a CNAME punlog.perlgeek.de for the IR clogs :-)
19:10 masak speaking of which:
19:10 masak today's autopun spotting: https://twitter.com/janl/status/397358285499940865
19:12 denis_boyun joined #perl6
19:17 TimToady while "next" and "last" are interesting from a Strangely Consistent viewpoint, I think it's going to be terribly confusing to overload words that are normally used for control flow
19:18 anocelot prepend a disambiguating character?
19:19 rurban joined #perl6
19:19 masak TimToady: waitwait, that sounds interesting. what's the context?
19:19 TimToady S17
19:19 TimToady the new one
19:20 * TimToady is provisionally going with "more" and "done" instead...or should it be "moar"?  :)
19:21 masak agree about confusing.
19:22 masak whatever we choose, they should be strangely dual to iterators.
19:23 masak i.e. the "next" one should be opposite .get
19:23 masak the "last" one should be opposite having no more values
19:23 masak and the "fail" one should be opposite throwing an exception
19:23 TimToady well, .moar and .done work on both ends
19:24 * masak doesn't like .more/.moar -- not one-y enough
19:24 TimToady just "is there moar?" vs "I want moar!"
19:25 TimToady well, presumably the pumping .moar could pump moar than one at a time
19:25 masak hm -- .pub / .snub / .flub :)
19:25 TimToady you think that's cute today...
19:25 masak sez the guy who proposed .moar :P
19:25 TimToady prior art :P
19:26 FROGGS nqp-p: say(nqp::fileislink("src"))
19:26 camelia nqp-parrot: OUTPUT«Class 'File' not found␤current instr.: '' pc 40 ((file unknown):49857655) (/tmp/BW7PAngIaR:7)␤»
19:26 FROGGS nqp-j: say(nqp::fileislink("src"))
19:26 camelia nqp-jvm: OUTPUT«0␤»
19:26 * masak .oO( there's moar where that came from )
19:26 [particle] joined #perl6
19:27 TimToady would you prefer .item or some such?
19:27 * TimToady is trying to keep things 4 chars so things line up right...
19:27 FROGGS TimToady++
19:28 FROGGS (about the line up)
19:28 masak TimToady: actually, if iterators have .get, then publishers should have .put
19:28 TimToady .item doesn't imply movement though
19:28 FROGGS .give
19:28 TimToady but S17 also uses "next" to label the callback that handles it
19:29 TimToady so you kinda want a symmetrical "pump" word
19:29 TimToady in fact, I used to have it "pump" but decided it wasn't symmetrical enough
19:29 TimToady and the pragmatics of "more" are attractive
19:30 stevan_ joined #perl6
19:31 stevan__ joined #perl6
19:31 TimToady and the fact is our whole metaphor is running toward mass nouns rather than count nouns
19:31 perigrin higgs nouns-ons.
19:31 * TimToady currently has s/Subscribable/Supply/ and s/Publish/Feed/ and s/subscribe/tap/
19:33 TimToady "more" is very clear from the standpoint of telling the reader you're not "done"
19:33 TimToady even though it's a mass noun, er, adjective
19:33 TimToady well, it can be count too
19:34 TimToady more toothpaste vs more teeth
19:34 perigrin it can also be a noun ... "I want more", "He got more than me" ... no?
19:34 masak perigrin: http://images.cdn.bigcartel.com/bigcartel/product_images/68656787/max_h-1000+max_w-1000/hugs600x600.png
19:35 perigrin *nice*
19:35 masak perigrin: that still feels like an adverb to me.
19:35 dalek nqp: 0cc061e | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
19:35 dalek nqp: mapped fileislink
19:35 dalek nqp: review: https://github.com/perl6/nqp/commit/0cc061ef9e
19:35 perigrin actually I was thinking it was an implied adjective ... but I don't know if those actually exist
19:35 masak perigrin: though in the construction "the more <X> the more <Y>" it's a noun, I guess.
19:36 masak though it's hard to reason about parts-of-speech in set phrases.
19:36 perigrin depends on the value of X and Y ... "more money, more problems"
19:36 perigrin yep
19:44 dalek specs: a9d1cc6 | larry++ | S17-concurrency.pod:
19:44 dalek specs: Take a whack at some simpler terminology
19:44 dalek specs: review: https://github.com/perl6/specs/commit/a9d1cc61c0
19:55 lue hello world o/
19:55 pippo joined #perl6
19:57 pippo masak: do you remeber this: (^20_000).join(',').split(',')
19:59 pippo it turns out "split" is implemented with gather and take... and that is what makes the split slow and eat-up much memory.
20:00 moritz and the JVM needs to emulate continuations for that, which probably isn't very efficient
20:01 timotimo oh my :/
20:01 timotimo at some point, we need to do something about that, no?
20:01 pippo I mean rakudo jvm.  If you try this "gather {for ^20_000 {take $_}}" you'll have the same effect of  (^20_000).join(',').split(',')
20:02 moritz timotimo: presumably, yes
20:02 moritz though it might not be the CPS transform that's to blame; that was just guessing on my part
20:03 pippo Another strange thing is that on rakudo JVM gather /take is slower than pushing elements on a list. I'll explain...
20:04 lue p: my $a = ^20_000 Z ','; say +$a.split(',')
20:04 camelia rakudo-parrot 215ba6: OUTPUT«1␤»
20:04 lue p: my $a = ^20_000 X ','; say +$a.split(',')
20:04 camelia rakudo-parrot 215ba6: OUTPUT«(timeout)»
20:04 timotimo yeah, it would be slower than doing list pushes, because it also has to jump back and forth between the code grabbing items from the list and the code generating them
20:04 pippo gather {for ^1000 {take $_}} is slower than my @a; for ^1000 {@a.push($_)}
20:05 timotimo which is not completely like a call, because it might be inside the middle of code. thus: CPS transform
20:05 pippo But on niecza gather and take is order of magnitudes faster than pushing on a list...
20:06 jaffa4 joined #perl6
20:06 jaffa4 hi all
20:06 moritz then it likely does .push rather slowly :-)
20:06 pippo :-))
20:06 lue then perhaps there's a way to avoid all that jumping assuming it's the problem.
20:06 timotimo it probably resizes and copies the whole list on each push!!!!
20:06 masak jaffa4: aloha.
20:06 moritz timotimo: or not, after all sorear++ was involved :-)
20:07 grondilu joined #perl6
20:07 jaffa4 do you think it is possible to inherit from an npq class and modify its behaviour by inheritance?
20:07 jaffa4 aloha
20:07 lue rn: my @a; for ^1000 {@a.push($_)}; say now - BEGIN now
20:07 jaffa4 I mean theoritically
20:07 masak nqp: class A {}; class B is A {}; say("yes")
20:07 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
20:07 camelia ..niecza v24-98-g473bd20: OUTPUT«0.10935306549072266␤»
20:07 camelia ..rakudo-parrot 215ba6: OUTPUT«0.53215591␤»
20:07 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«yes␤»
20:07 timotimo through what i will refer to as "deep magic", it might even be possible to find out if the result of the gather/take is going to be taken in batches, or eagerly, and then implement it in terms of pushing into a list.
20:07 masak jaffa4: theoretically, yes :)
20:07 moritz practically, yes.
20:08 jaffa4 to modify it in Perl 6.
20:08 lue timotimo: niecza pushes in about 1/5 the time of r-p ^^^ :) Not the issue.
20:08 moritz partically, if you do it in Perl 6, it might be a lot easier to use delegation
20:08 moritz otherwise you'll have non-Perl 6 values leaking out everywhere
20:08 masak jaffa4: what you want to do sounds like "do you think it's possible to walk on stilts *using another guy's legs*?" :)
20:08 tobyink joined #perl6
20:08 moritz lue: or it might be simply the 'for ^1000' iteration that's dog slow on rakudo
20:09 lue moritz: we've got some issues then :)
20:09 moritz lue: we do, for sure
20:09 jaffa4 to be exact , modify a nqp class in Perl 6 and pass it to npq class
20:10 moritz jaffa4: just don't. You'll be in a world of pain if you attempt that.
20:10 lue masak: [ btw, I'm far more supportive of RT now that I can make tickets in Firefox instead of Thunderbird. It's wonderful :) ]
20:11 lue p: Q:PIR{}; say "alive"; Q:NQP{}; say "alive"
20:11 camelia rakudo-parrot 215ba6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/EYMn48RIQlâ�¤Unrecognized adverb: :NQPâ�¤at /tmp/EYMn48RIQl:1â�¤------> [32mQ:PIR{}; say "alive"; Q:NQP[33mâ��[31m{}; say "alive"[0mâ�¤    expecting any of:â�¤        colon pair (restricted)â�¤Â»
20:11 pippo r: say "hello"; my $now= now; my @a; for ^500 {@a.push($_)}; say now - $now;
20:11 jaffa4 I mean Perl6::Action....I does not do what is necessary
20:11 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
20:11 camelia ..rakudo-parrot 215ba6: OUTPUT«hello␤0.31830214␤»
20:12 pippo r: say "hello"; my $now= now; my @a; for ^200 {@a.push($_)}; say now - $now;
20:12 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
20:12 camelia ..rakudo-parrot 215ba6: OUTPUT«hello␤0.1199790␤»
20:12 lue pippo: now - BEGIN now is a so much cooler way to time things :)
20:12 moritz j: say 42
20:12 pippo lue: I would like to not count startup time
20:13 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
20:13 moritz it's dead, jim
20:13 jaffa4 Star trek?
20:13 pippo :-(
20:13 lue r: my $a = 0; for ^100 { $a += $_ }; say $a; say now - BEGIN now; say now - INIT now;
20:14 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
20:14 camelia ..rakudo-parrot 215ba6: OUTPUT«4950␤0.10701221␤0.0462985␤»
20:14 lue pippo: I think INIT now should ignore startup time, if I read S04 right.
20:14 pippo lue: thank you!
20:14 moritz well, BEGIN also happens after startup time :-)
20:15 moritz just at compile time
20:16 pippo and INIT?
20:16 lue moritz: I almost (*almost*) think we should take r-j off the r: command until it stops being so prone to issues, holding everybody up.
20:16 lue pippo: INIT happens asap at run-time (BEGIN is asap at compile-time)
20:16 lue pippo: http://perlcabal.org/syn/S04.html#Phasers
20:16 moritz lue: I almost agree
20:17 pippo OK then it is what I wanted.
20:17 pippo lue: thank you.
20:17 lue moritz: :)
20:18 pippo Anybody nows how much time r-j need to come back?
20:18 masak lue, moritz: almost +1
20:18 pippo Anybody knows how much time r-j need to come back?
20:19 lue pippo: It's just that r-j on the eval server is having memory trouble. (If you had a local copy of r-j, it would be fine and dandy all the time)
20:19 * lue does not have a compiled r-j at the moment. </disclamer>
20:19 lue *disclaimer
20:19 pippo I have it. I am using Camelia to show you...
20:20 moritz pippo: it usually needs manual restart :(
20:20 pippo :-(
20:21 moritz j: say 42
20:21 camelia rakudo-jvm 882e33: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
20:22 jaffa4 Can I mix npq and Perl 6 in one project?
20:22 moritz jaffa4: yes, if you are careful and you know what you're doing
20:23 moritz j: say 42
20:23 camelia rakudo-jvm 882e33: OUTPUT«42␤»
20:23 jaffa4 I mean if I write some of the code in npq and some of the code in Perl 6
20:24 pippo r-j: my @a; for ^200 {@a.push($_)}; say now - INIT now;
20:24 camelia rakudo-jvm 882e33: OUTPUT«0.297␤»
20:24 * moritz can only repeat his previous statement
20:24 PerlJam jaffa4: why would you want this?
20:24 moritz pippo: I'd appreciate it if you wouldn't kill r-j again :-)
20:24 jaffa4 to modify Perl6::action and to pass it to Perl6:grammar
20:24 jaffa4 safely
20:25 pippo gather{ for ^200 {take $_}}; say now - INIT now; #it will not kill it
20:25 pippo ... I hope
20:26 pippo j: gather{ for ^200 {take $_}}; say now - INIT now; #it will not kill it
20:26 camelia rakudo-jvm 882e33: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/mylcwqYRfwâ�¤Undeclared routine:â�¤    gather used at line 1â�¤â�¤Â»
20:26 pippo j: gather { for ^200 {take $_}}; say now - INIT now; #it will not kill it
20:26 camelia rakudo-jvm 882e33: OUTPUT«2.258␤»
20:26 lue ping FROGGS: have you worked more on slangs?
20:27 FROGGS lue: not within the last days, why?
20:27 pippo ^^do you see the difference between gather/take and pushing in a list
20:27 FROGGS lue: I am thinking about them on a daily basis though :o)
20:27 pippo ^^do you see the difference between gather/take (2.258) and pushing in a list (0.297)
20:28 lue FROGGS: no reason, but jaffa4 just revealed (indirectly) that he's doing something that needs them
20:28 lue well, maybe
20:29 jaffa4 ok, I am trying to get token array of perl 6 code.... by getting token information out of the parse tree out of Parl6:grammar
20:29 grondilu how would you go about getting all $k-longed distinct substrings of a given string?  Is there anything more efficient than sub substrings($str, $k) { uniq map { $str.substr: $_, $k }, 0 ..^ $str.chars - $k }
20:29 FROGGS lue: I need jnthn to get the last bits in line... dunno when he+me are going to take the time for it
20:29 jaffa4 no, I have a lot of tokens now.. but not all tokens are contained in the parse tree
20:30 jaffa4 spaces , comments and ; are missing
20:30 * lue reeeeally can't wait for slangs :)
20:30 moritz grondilu: apart from micro optimizations, I'm sure that's about the fastest way that is on contemporary rakudo
20:31 jaffa4 I have been thinking of modifying Perl6:: action to record these remaining tokens separately
20:31 jaffa4 and then merge them with the rest of tokens.
20:32 jaffa4 now if you know better solutionl.....
20:44 * masak will happily wait for slangs
20:48 dalek nqp: a78d074 | (Tobias Leich)++ | / (2 files):
20:48 dalek nqp: mapped filereadable, filewritable, fileexecutable
20:48 dalek nqp: review: https://github.com/perl6/nqp/commit/a78d0740a6
20:58 grondilu can I send a gist to rakudo-jvm?
20:58 grondilu j: https://gist.github.com/grondilu/7309090
20:58 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
20:58 jaffa4 what slangs?
20:59 masak all of them!
20:59 grondilu Could someone run https://gist.github.com/grondilu/7309090 on JVM and tell the result and how long it took?
21:01 jaffa4 what is slangs?
21:03 lue jaffa4: things that let you modify how Perl 6 is parsed.
21:04 lue jaffa4: http://perlcabal.org/syn/S02.html#Slangs
21:05 colomon joined #perl6
21:06 masak as currently spec'd, "defining a normal Perl macro" doesn't actually have anything to do with replacing $~MAIN
21:06 masak a macro definition is just a kind of routine defition.
21:07 masak definition*
21:07 araujo joined #perl6
21:08 lue Sometimes I think it would be easier/consistenter just to make Perl6::Grammar and Perl6::Actions augment/supercede-able just like any other grammar or class.
21:12 pippo grondilu: here is the result on my machine: java.lang.OutOfMemoryError: GC overhead limit exceeded real2m30.990s user6m27.450s sys0m1.889s
21:14 pippo grondilu: ... the result of executing on r-j, on my machine,  your program https://gist.github.com/grondilu/7309090
21:14 * jnthn back
21:21 masak jnthn! \o/
21:24 lue jnthn: am I supposed to get "Could not find sub &postfix:<>" after exercise 7.4 of the slides? (Add the -> method call op)
21:26 jnthn lue: No, but you are meant to remember to put :op<callmethod> in the <O(...)> of your postfix<.> operator... At a guess that's what's missing, anyway. :)
21:27 * lue hasn't touched the slides in a while, so...
21:29 lue Now I get invoke() not implemented in class 'NQPMu', which I suspect is closer to "The problem is that we did not make methods accept the invocant (the object they are called on).". Either 7.5 fixes that or it's something I need to go and figure out. I'll look at NQP's Rubyish example again.
21:31 lue hang on, NQP's Rubyish example doesn't seem to do the :op<...> bit either for the methodcall op. Hm
21:32 jnthn lue: Does it instead have an action method for it?
21:33 lue yeah, Rubyish (and my PHPish) creates an ::Op(:op<callmethod>)
21:34 jnthn oh!
21:34 jnthn yeah, and you need that to set :name(...) I guess :0
21:34 jnthn So it has to be an action method
21:34 jnthn anyway, that's what's missing :)
21:36 lue jnthn: here's my grammar and action method, as it stands: https://gist.github.com/lue/01439dd8d78da377e8e8
21:37 lue (and causes the postfix:<> error)
21:39 lue It's essentially what the slides told me, and what the Rubyish example with NQP does, so idk what my issue is... :(
21:40 jeffreykegler joined #perl6
21:43 colomon joined #perl6
21:44 jnthn lue: lemme eyeball it, though I'm crazy tired :)
21:44 lue :)
21:46 Guest76482 joined #perl6
21:47 jnthn lue: Does the method name need to be :sym not just : ?
21:48 pippo colomon: have you got any idea on why "gather { for ^200 {take $_}}" is slower (on r-j) than "my @a; for ^200 {@a.push($_)}"?
21:48 lue *headdesk*
21:48 lue Now I get "too many positional arguments: 2 passed, 1 expected", and *that* sounds like a job for $this implementation.
21:48 pippo colomon: by the way on niecza is the contrary i.e. the gather / take is much much faster.
21:48 lue jnthn: thanks :)
21:49 pippo colomon: by the way on niecza is the contrary i.e. the gather / take is much much faster than pushing on a list.
21:51 colomon pippo: I believe gather / take is doing some fancy mechanics behind the scenes to work on r-j, but that's totally jnthn++ and sorear++'s area of expertise, not mine.
21:54 arnsholt I remember overhearing a discussion on that in Austin
21:54 arnsholt sorear insisted it was pretty straightforward, but I'm not entirely sure when the key classes are called Take and CoTake =)
21:55 arnsholt (Category theory is a bit scary)
21:55 masak :)
21:55 woolfy joined #perl6
21:56 jnthn I understand the model we took on the JVM, and I think I know how it differs from Niecza. It's a trade-off
21:56 masak codata is totally straightforward! well, actually it's straightbackward...
21:57 jnthn Niecza is basically stackless, iiuc. I didn't want to go that path with JVM 'cus it would have hurt our ability to use indy and the JVM JIT's inlining so effectively.
21:57 jnthn But it does mean our gather/take has to go saving stack frames.
21:57 arnsholt What's indy? I think I've seen that gram in the JVM stuff
21:57 jnthn The bug we have at the moment is that gather/take accidentally creates an extra call frame per take...
21:57 Guest76482 joined #perl6
21:58 jnthn arnsholt: invoke dynamic, written by people tired of writing invoke dynamic again and again 'cus invoke dynamic is a lot to type...
21:58 arnsholt Right, right
21:59 * woolfy and lizmat are back home after nice Austrian Perl Workshop in Salzburg (we did some shopping and sightseeing and walking and more)
21:59 jnthn arnsholt: oh btw, it turns out my November trip to Oslo is actually taking place in Bergen...
21:59 jnthn So sadly won't be about in Oslo this month :(
21:59 * jnthn wonders if there's a Bergen.pm :)
22:00 pippo jnthn: if the bug of gather and take is corrected, gather and take would be faster than pushing on a list on JVM?
22:00 arnsholt Aw, it'd be cool to have a beer
22:00 arnsholt I'm sure there'll be another chance though
22:00 jnthn pippo: Hard to say.
22:00 jnthn pippo: sorear++ was aware of the bug and was pondering a solution, then got busy
22:01 sjn \o
22:01 jnthn pippo: And I've kinda been holding out for him to come back with an awesome solution rather than trying to dig deeply myself... :)
22:01 BenGoldberg Considering the common java-ish abbreviation of i18n for internationalization, shurely we should write invokedynamic as i11c?
22:01 pippo jnthn: OK :-)
22:01 arnsholt jnthn: Mal a propos, what kind of tools have you used to debug NQP/JVM code?
22:01 sjn jnthn: ah, too bad
22:01 arnsholt I'm growing a bit fed up with jdb, coming from gdb
22:01 sjn jnthn: drop by the BLUG guys in Bergen :)
22:02 sjn lots of cool people there too :)
22:02 jnthn sjn: They blog in the past?
22:02 sjn eheh
22:02 jnthn arnsholt: I, uh...System.err.println... :)
22:03 jnthn arnsholt: And a bunch of intuition
22:03 arnsholt Aren't BLUG the crazy crazy people who implemented RFC 1149?
22:03 pippo If gather and take will not have a chance to become faster than pushing on a list. Perhaps it will be necessary to rewrite some function/methods implementations to avoid gather and take for the sake of speed?
22:03 sjn arnsholt: yes
22:03 arnsholt jnthn: Right, same approach as me then =)
22:03 jnthn pippo: We have a HashIter in Rakudo these days for that reason. Hash iteration also used to gather/take.
22:04 arnsholt pippo: Yeah, I think there are some things in Rakudo that could be gather/take but aren't because of performance
22:04 * sjn wonders what the name of the Perl 5 spec project was
22:04 arnsholt Heh. What jnthn said
22:04 jnthn pippo: I think that we may be able to do some amount of batching.
22:04 jnthn pippo: I'm not sure what liberties the spec does/doesn't give us there
22:09 pippo jnthn: I understand. I am looking forward to see this bug corrected. Meanwhile thank you for the help.
22:09 pippo good night #perl6
22:09 pippo left #perl6
22:11 * lue realizes he never actually made signatures do anything in PHPish *facepalm*
22:11 * lue &
22:13 BenGoldberg The BLUG implementation of the CPIP protocol had ping times varying from 3211 to 6389 seconds
22:20 ssutch joined #perl6
22:29 jnap left #perl6
22:34 dave joined #perl6
22:36 BenGoldberg preflex: seen yoleaux
22:36 preflex yoleaux was last seen on #perl6 10 days, 3 hours, 14 minutes and 58 seconds ago, saying: 18:23Z <diakopter> Mouq: awesome work on stdsigspace Mouq++
22:37 BenGoldberg Who had been running the yoleaux bot?
22:44 masak 'night, #perl6
22:45 diakopter 'night
22:45 diakopter BenGoldberg: dpk
22:54 * jnthn should rest also
22:54 jnthn o/
22:54 diakopter o/
22:58 dmol joined #perl6
23:15 stevan_ joined #perl6
23:19 BenGoldberg preflex: seen dpk
23:19 preflex dpk was last seen on #scheme 11 days, 4 hours, 54 minutes and 27 seconds ago, saying: if you use Chibi you can add Lua too later, because apparently there's a Lua front-end coming at some point i think
23:20 BenGoldberg preflex: ask dpk Could you please reboot yoleaux?
23:21 preflex Consider it noted.
23:21 telex joined #perl6
23:23 pdurbin joined #perl6
23:25 lue I feel bad now, forgetting preflex can handle messages too :)
23:38 xdbr_ joined #perl6
23:42 colomon joined #perl6
23:43 davec` joined #perl6
23:48 telex joined #perl6
23:49 benabik joined #perl6

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

Perl 6 | Reference Documentation | Rakudo