Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-10-26

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:07 SmokeMac_ joined #perl6
00:09 SmokeMa__ joined #perl6
00:09 pecastro joined #perl6
00:12 Psyche^_ joined #perl6
00:31 xalbo joined #perl6
00:32 djanatyn joined #perl6
00:36 Tene joined #perl6
00:36 Tene joined #perl6
00:50 stevan_ joined #perl6
00:50 SmokeMachine joined #perl6
01:14 FROGGS joined #perl6
01:39 fridim_ joined #perl6
01:46 FROGGS joined #perl6
01:54 telex joined #perl6
02:02 FROGGS joined #perl6
02:09 TimToady you'd think it was Friday night or sump'n
02:19 jnap joined #perl6
02:28 colomon joined #perl6
02:35 perigrin worse than that, it appears people have better things to do!
03:05 colomon high school football game.  ;)
03:17 BenGoldberg r: say 1 ?? 2 !! 3
03:17 camelia rakudo 2ce544: OUTPUT«2␤»
03:17 BenGoldberg r: say 1 R?? 2 !! 3
03:17 camelia rakudo 2ce544: OUTPUT«===SORRY!===␤No such method 'ast' for invocant of type 'NQPMu'␤»
03:17 BenGoldberg Not the error message I expected to get :)
03:18 lue r: say 1 R?? 2 R!! 3
03:18 camelia rakudo 2ce544: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Found ?? but no !!â�¤at /tmp/WWHu8sPcjk:1â�¤------> [32msay 1 R?? 2 R[33mâ��[31m!! 3[0mâ�¤Confusedâ�¤at /tmp/WWHu8sPcjk:1â�¤------> [32msay 1 R?? 2 R[33mâ��[31m!! 3[0mâ�¤    expecting any of:â�¤        postfixâ�¤        â€¦Â»
03:19 BenGoldberg n: say 1 R?? 2 !! 3
03:19 camelia niecza v24-98-g473bd20: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1355 (warn @ 5) ␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 266 (Mu.Str @ 15) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/…»
03:19 BenGoldberg std: say 1 R?? 2 !! 3
03:19 camelia std 082981d: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot reverse the args of ?? !! because conditional operators are too fiddly at /tmp/9rTVTJvRZu line 1:�------> [32msay 1 R?? 2 !![33m�[31m 3[0m�Check failed�FAILED 00:01 122m�»
03:23 BenGoldberg std: say /(ab)/ R~~ 'ab'
03:23 camelia std 082981d: OUTPUT«ok 00:01 125m␤»
03:23 BenGoldberg rn: say /(ab)/ R~~ 'ab'
03:23 camelia rakudo 2ce544: OUTPUT«True␤»
03:23 camelia ..niecza v24-98-g473bd20: OUTPUT«「ab」␤ 0 => 「ab」␤␤»
03:25 dalek std: 8adbc60 | larry++ | STD.pm6:
03:25 dalek std: allow negation of flipflops
03:25 dalek std: review: https://github.com/perl6/std/commit/8adbc60ac4
03:34 preflex_ joined #perl6
04:14 kshannon joined #perl6
04:17 FROGGS joined #perl6
04:39 BenGoldberg std: say 1 R?? 2 !! 3
04:39 camelia std 8adbc60: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot reverse the args of ?? !! because conditional operators are too fiddly at /tmp/rIx_MpfdKc line 1:�------> [32msay 1 R?? 2 !![33m�[31m 3[0m�Check failed�FAILED 00:01 122m�»
04:39 BenGoldberg I guess it'll have to wait until the evalbot does a git pull :)
04:40 lue BenGoldberg: what makes you think it'd work now?
04:42 diakopter .
04:42 preflex_ joined #perl6
04:42 BenGoldberg r: 1 [[[[[[[[[[[[[[[[+]]]]]]]]]]]]]]]] 1
04:42 camelia rakudo 2ce544: ( no output )
04:42 dalek rakudo/nom: a43fff1 | moritz++ | docs/ROADMAP:
04:42 dalek rakudo/nom: [ROADMAP] bump date of last udpate
04:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a43fff1aad
04:44 moritz I love the smell of commits in the morning
04:45 * diakopter wonders if morning will ever come
04:46 diakopter moritz: :( I'm sorry I wasn't able to get to teh host07 things
04:47 moritz diakopter: no worries
04:47 diakopter (maybe you'll have time/energy/willingness :) (changing nqp-m to use nqp and --gen-moar... renaming rakudo to rakudo-parrot... ..)
04:48 diakopter nqp-m :1
04:48 diakopter nqp-m: 1
04:48 camelia nqp-moarvm: OUTPUT«Unhandled exception: Bytecode segment overflows end of stream␤»
04:48 diakopter *cry*
04:50 diakopter hm, I thought there was a third thing on my mental todolist
04:50 diakopter gar
04:51 moritz aliases p => rakudo-p, j => rakudo-j, r => p+j ?
04:51 diakopter p was pugs
04:52 diakopter but..
04:52 moritz that can be changed.
04:52 diakopter yeah I think consistency wins a bit there
04:55 diakopter moritz: of course, what will we call the js backend
04:55 perigrin n
04:55 diakopter :D
04:56 lue .oO(Pugs, if we should keep it, could be moved to h: for Haskell or a: for Audrey)
04:57 lue diakopter: js backend is clearly to become e: . For ECMAScript, obviously :)
04:57 lue r: say [+] <p j>
04:57 camelia rakudo 2ce544: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏p' (indicated by ⏏)␤  in method Numeric at src/gen/CORE.setting:11911␤  in sub infix:<+> at src/gen/CORE.setting:3893␤  in sub infix:<+> at src/gen/CORE.setting:3…»
04:58 diakopter lue: people are staring at me LOL'ing
04:58 lue r: my $a = 'p'; $a.=succ for ^10; say $a;
04:58 camelia rakudo 2ce544: OUTPUT«z␤»
04:59 lue parrot+java = z:
04:59 diakopter lolz parrot+java
05:01 lue r: my $a = 'p'.ord; $a+=10; #`(j) $a+=13; #`(m) say $a.chr; #rakudo -p + -j + -m
05:01 camelia rakudo 2ce544: OUTPUT«‡␤»
05:01 lue .u ‡
05:01 lue .ping
05:02 diakopter .yoleaux
05:02 moritz diakopter: q
05:02 diakopter .yoleaux my yolo
05:02 diakopter afk&
05:03 lue so clearly the parrot+java+moar combination evoker would be    ‡: say "hi Rakudo!" (this is all very straightforward, in my opinion :P)
05:03 lue (U+0087 END OF SELECTED AREA, btw)
05:04 moritz r: say  'p' ~| 'j'
05:05 camelia rakudo 2ce544: OUTPUT«z␤»
05:05 moritz r: say  'p' ~| 'm''
05:05 camelia rakudo 2ce544: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/iNmp3JAmpUâ�¤Two terms in a rowâ�¤at /tmp/iNmp3JAmpU:1â�¤------> [32msay  'p' ~| 'm'[33mâ��[31m'[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤ …»
05:05 moritz r: say  'p' ~| 'm'
05:05 camelia rakudo 2ce544: OUTPUT«}␤»
05:05 moritz r: say  'p' ~| 'm' ~| 'j'
05:05 camelia rakudo 2ce544: OUTPUT«␤»
05:06 moritz r: say  ('p' ~| 'm' ~| 'j').ord
05:06 camelia rakudo 2ce544: OUTPUT«127␤»
05:06 * lue almost wants yoleaux to be named cyberman, for hopefully clear reasons
05:08 lue If we're running out of single-letter aliases, we could always go for majuscules. Unless...
05:08 lue R: say "test"
05:09 lue nope, we could theoretically use majuscules :)
05:35 moritz r: say 1
05:35 camelia rakudo 2ce544: OUTPUT«1␤»
05:36 moritz that's pretty old
05:44 huf joined #perl6
05:49 lue .oO[ At least rakudo is no longer at that point where "pretty old" means "I don't have the version that fixes junctions" :) ]
06:08 benabik "Date of last update: just use git log already."
06:19 kaare_ joined #perl6
06:22 stevan__ joined #perl6
06:39 woolfy1 left #perl6
06:52 SamuraiJack joined #perl6
06:58 dalek perl6-roast-data: 4823f35 | coke++ | / (4 files):
06:58 dalek perl6-roast-data: today (automated commit)
06:58 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/4823f353be
07:12 darutoko joined #perl6
07:19 [Coke] so, pugs kind of works on the new box. lots of locale errors.
07:21 dalek evalbot: ae68940 | moritz++ | build-scripts/rebuild- (2 files):
07:21 dalek evalbot: rework rebuild-rakudo.pl
07:21 dalek evalbot:
07:21 dalek evalbot: * build rakudo and nqp for jvm and parrot in the same dir
07:21 dalek evalbot: * assume that --gen-parrot and --gen-nqp are smart enough (they should be)
07:21 dalek evalbot: review: https://github.com/perl6/evalbot/commit/ae689406f8
07:24 dalek evalbot: 7121ee6 | moritz++ | evalbot.pl:
07:24 dalek evalbot: use new rakudo-p build
07:24 dalek evalbot: review: https://github.com/perl6/evalbot/commit/7121ee6e0f
07:24 sqirrel joined #perl6
08:14 denisboyun joined #perl6
08:17 araujo joined #perl6
08:17 araujo joined #perl6
08:34 [Sno] joined #perl6
09:03 virtualsue joined #perl6
09:08 lizmat joined #perl6
09:14 jnthn morning-ish, #perl6
09:15 lizmat good *, #perl6 from the t-dose
09:23 SamuraiJack_ joined #perl6
09:23 Rotwang joined #perl6
09:45 xinming_ joined #perl6
09:49 spider-mario joined #perl6
09:50 iSlug joined #perl6
09:57 dalek evalbot: b4638da | moritz++ | evalbot.pl:
09:57 dalek evalbot: use nqp-{p,j} from the new rakudo build
09:57 dalek evalbot: review: https://github.com/perl6/evalbot/commit/b4638da8d7
09:57 moritz evalbot control restart
10:01 dalek roast: e739aea | (Elizabeth Mattijsen)++ | S32-array/exists (2 files):
10:01 dalek roast: Merge @a:exists tests into a single file
10:01 dalek roast: review: https://github.com/perl6/roast/commit/e739aea3b2
10:02 dalek rakudo/nom: 435d863 | (Elizabeth Mattijsen)++ | t/spectest.data:
10:02 dalek rakudo/nom: Remove removed file from tests
10:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/435d863ff5
10:04 camelia joined #perl6
10:04 moritz nqp-p: say 42
10:05 camelia nqp-parrot: OUTPUT«Confused at line 2, near "say 42"␤current instr.: 'panic' pc 16306 (gen/parrot/stage2/NQPHLL.pir:6018) (gen/parrot/stage2/NQPHLL.nqp:426)␤»
10:05 moritz nqp-j: say(42)
10:05 camelia nqp-jvm: OUTPUT«42␤»
10:06 dmol joined #perl6
10:06 moritz is it intentional that we don't install the eval server for rakudo-jvm?
10:07 moritz it would make my ilfe with camelia easier
10:12 jnthn moritz: No objections from me
10:18 sqirrel joined #perl6
10:21 moritz huh, seems it's supposed to happen already
10:25 virtualsue joined #perl6
10:34 xinming joined #perl6
10:37 woolfy joined #perl6
10:56 SmokeMac_ joined #perl6
11:04 SmokeMachine joined #perl6
11:06 xinming joined #perl6
11:14 dalek roast: 83aa430 | (Elizabeth Mattijsen)++ | S32- (2 files):
11:14 dalek roast: Some more :exists tests
11:14 dalek roast: review: https://github.com/perl6/roast/commit/83aa4303bd
11:26 colomon joined #perl6
11:27 colomon n: say 1 R?? 2 !! 3
11:27 camelia niecza v24-98-g473bd20: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1355 (warn @ 5) ␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 266 (Mu.Str @ 15) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/…»
11:28 colomon std: say 1 R?? 2 !! 3
11:28 camelia std 8adbc60: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot reverse the args of ?? !! because conditional operators are too fiddly at /tmp/4S0Q4LCpIX line 1:�------> [32msay 1 R?? 2 !![33m�[31m 3[0m�Check failed�FAILED 00:00 122m�»
11:32 pdurbin left #perl6
12:29 cognominal joined #perl6
12:40 lizmat r: class A { method b { say $!a } }  # correctly dies at compile time
12:40 camelia rakudo 435d86: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/D4cXOwgJ0Tâ�¤Attribute $!a not declared in class Aâ�¤at /tmp/D4cXOwgJ0T:1â�¤------> [32mclass A { method b { say $!a[33mâ��[31m } }  # correctly dies at compile time[0mâ�¤Â»
12:41 lizmat r: class A { method b { say $.a } }  # but a public attribute that doesn't exist does not ?
12:41 camelia rakudo 435d86: ( no output )
12:42 dalek nqp: f40977a | jnthn++ | src/NQP/World.nqp:
12:42 dalek nqp: Fix to --vmlibs on MoarVM.
12:42 dalek nqp: review: https://github.com/perl6/nqp/commit/f40977aeaa
12:42 jnthn lizmat: $.a is $(self.a) which is a method call
12:43 jnthn lizmat: Which is late-bound (that is, a subclass could supply it, or mixin, or whatever)
12:43 jnthn So it's a lot harder to do much with
12:44 lizmat ok, so if we're talking about visibility of attributes in roles, then we're basically only talking about private attributes ?
12:44 dalek rakudo/moar-support: c6f0537 | jnthn++ | / (2 files):
12:44 dalek rakudo/moar-support: Tweaks to start attempting CORE.setting on Moar.
12:44 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/c6f0537b5d
12:44 lizmat jnthn++
12:44 lizmat :-)
12:45 jnthn lizmat: Well, the way I tend to think about it is that Perl 6 has no public attributes.
12:45 jnthn lizmat: Just private attributes, and has $.a means "declare $!a and make me an accessor method"
12:45 lizmat ah, ok
12:45 jnthn Which I think is a less confusing way to think of it (in so far as, that's how it actually works) :)
12:46 lizmat so a subclass attribute "a" will hide an attribute "a" in the superclass that way
12:47 jnthn A subclass accessor will, yes.
12:47 jnthn Attributes through the $!x syntax are visible in the class that decalred them only
12:47 jnthn And a $!x in a base class will not conflict with a $!x in a subclass.
12:48 jnthn That's why nqp::getattr is fully qualified with the declaring type, fwiw
12:48 lizmat but a $!x in a role, is basically defining that in the "does"ing class
12:49 lizmat except that that doesn't really work yet  :-)
12:49 jnthn Yeah, or would be if we got the semantics right :)
12:49 lizmat as far as visibility is concerned
12:49 jnthn Maybe that's one for me to pick over in the next days :)
12:49 jnthn We make it to like 5 of CORE.setting (the first 4 are comments or empty) on Moar. :)
12:50 jnthn 16,827 lines to go... :P
12:50 lizmat hehe...   and there I am working on adding lines to the CORE.setting  :-)
12:51 lizmat ok, so I should leave the role private attribute visibility to you ?
12:52 jnthn Well, I don't mind if you take it, but I don't mind doing it either :)
12:52 lizmat I've been looking at it and not seeing my way through to it just yet
12:52 lizmat so I would inspect your commit with great interest
12:53 lizmat and then I could try to finish off "is DEPRECATED" on attributes and classes
12:53 lizmat the way I see it, is to add a deprecated attribute to Attribute
12:54 FROGGS[mobile] joined #perl6
12:54 lizmat and at compose time of the class of the attribute, add ENTER phasers
12:54 lizmat if there is a method for the attribute
12:56 jnthn Does "is DEPRECATED" make sense on an attribute?
12:56 jnthn Oh...on its accessor...
12:56 lizmat if not, create an accessor method with the call to DEPRECATED
12:56 lizmat yes
12:57 lizmat (sorry, was distracted by someone at the Perl stand :-)
12:57 jnthn The latter is probably the easier way
12:57 lizmat the idea of "class A is DEPRECATED {}
12:57 lizmat would be to add an ENTER phaser on "new"
12:58 jnthn Not sure that will quite work...
12:58 jnthn As the "new" is typically inherited from Mu
12:59 lizmat method new (|c) { DEPRECATED("foo"); nextsame }
12:59 lizmat would do the trick, no?
13:00 jnthn But what if the class itself contains a "new" method already?
13:01 lizmat then it would just add an ENTER phaser with a call to DEPRECATED in it
13:17 lizmat this is how "is DEPRECATED" is implemented on subs/methods
13:31 dalek nqp: 87fa87c | jnthn++ | src/vm/moar/ (2 files):
13:31 dalek nqp: Register QAST->MAST as 'QAST', not 'qast'.
13:31 dalek nqp: review: https://github.com/perl6/nqp/commit/87fa87c1c6
13:32 dalek rakudo/moar-support: e0ad5cd | jnthn++ | src/vm/moar/ops/perl6_ops.c:
13:32 dalek rakudo/moar-support: Stub p6settypes.
13:32 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/e0ad5cd098
13:32 dalek rakudo/moar-support: a265104 | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
13:32 dalek rakudo/moar-support: QAST->MAST compiler is now 'qast'.
13:32 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/a265104661
13:34 colomon is panda working on jakudo yet?
13:37 jnthn colomon: Has for a while, I believe
13:37 jnthn donahldh++ did lots of work in that direction :)
13:37 colomon awesome
13:37 colomon I should try to get the smoker running on it.
13:38 colomon alas, still swamped with $work
13:42 Gothmog_ joined #perl6
13:53 Rotwang joined #perl6
13:57 jnthn airprot &
13:58 colomon safe travels!
13:58 mtk joined #perl6
14:07 diakopter anyone know when jnthn will be back? :)
14:08 FROGGS[mobile] jnthn: "we" attack the setting already?
14:09 lizmat it's my understanding he will be in Salzburg next Sat/Sun at the Austrian Perl Workshop
14:09 lizmat and enjoying some time off $work
14:10 lizmat whether that means he will be online or not, I don't know
14:13 lizmat FROGGS[mobile]: [14:44:40] <+dalek> rakudo/moar-support: Tweaks to start attempting CORE.setting on Moar.
14:14 lizmat FROGGS[mobile]: [14:49:49] <jnthn> We make it to like 5 of CORE.setting (the first 4 are comments or empty) on Moar. :)
14:14 lizmat [14:50:14] <jnthn> 16,827 lines to go... :P
14:14 lizmat so, I guess, yes  :-)
14:16 fridim_ joined #perl6
14:17 diakopter lolz
14:26 rindolf joined #perl6
14:26 zakharyas joined #perl6
14:27 lue joined #perl6
14:27 lue hello world o/
14:27 lizmat lue /o
14:31 colomon \o
14:38 logie joined #perl6
14:51 japhb__ r: sub read-32-bit() {}
14:51 camelia rakudo 435d86: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/XYASvdp5fWâ�¤Missing blockâ�¤at /tmp/XYASvdp5fW:1â�¤------> [32msub read[33mâ��[31m-32-bit() {}[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-p…»
14:51 japhb__ r: sub read_32_bit() {}
14:51 camelia rakudo 435d86: ( no output )
14:51 lue r: sub read-bits32() {}
14:51 camelia rakudo 435d86: ( no output )
14:51 lue That's not good.
14:52 japhb__ TimToady: Is that ^^ the way you expect hyphenated identifier parsing to work?
14:52 japhb__ lue: Yeah, that seems odd
14:52 japhb__ std: sub read-32-bit() {}
14:52 camelia std 8adbc60: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed block at /tmp/C8xBHgkif2 line 1:â�¤------> [32msub read[33mâ��[31m-32-bit() {}[0mâ�¤    expecting any of:â�¤   new name to be definedâ�¤ routine_defâ�¤Parse failedâ�¤FAILED 00:01 120mâ�¤Â»
14:52 denis_boyun joined #perl6
14:52 mtk joined #perl6
14:52 japhb__ Huh, it's there in STD too.
14:52 * japhb__ wonders why.
14:53 lizmat std: sub s-foo {}'
14:53 camelia std 8adbc60: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/Z25YXjPWle line 1:â�¤------> [32msub s-foo {}[33mâ��[31m'[0mâ�¤    expecting any of:â�¤     POSTâ�¤   horizontal whitespaceâ�¤  infix or meta-infixâ�¤    infix…»
14:53 lizmat r: sub s-foo {}'
14:53 camelia rakudo 435d86: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/VnUWUipjTVâ�¤Two terms in a rowâ�¤at /tmp/VnUWUipjTV:1â�¤------> [32msub s-foo {}[33mâ��[31m'[0mâ�¤    expecting any of:â�¤        statement listâ�¤        horizontal whitespaceâ�¤        postfixâ�¤ …»
14:53 lizmat r: sub s-foo {}
14:53 camelia rakudo 435d86: ( no output )
14:53 lizmat std: sub s-foo {}
14:53 camelia std 8adbc60: OUTPUT«ok 00:01 122m␤»
14:54 mtk joined #perl6
14:55 japhb__ I'm thinking the rule for what's inside a hyphenated identifier should be laxer than what's on the front of one.  I mean, I can understand not allowing 32-bit-read, but read-32-bit seems sane.
14:56 japhb__ std: sub read-32bit() {}
14:56 camelia std 8adbc60: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed block at /tmp/987SQud9g0 line 1:â�¤------> [32msub read[33mâ��[31m-32bit() {}[0mâ�¤    expecting any of:â�¤    new name to be definedâ�¤ routine_defâ�¤Parse failedâ�¤FAILED 00:01 120mâ�¤Â»
14:56 lue japhb__: S02:1908 "(Note, however, that identifiers may now contain an apostrophe or hyphen if followed by a character matching <.alpha>)"
14:56 synopsebot Link: http://perlcabal.org/syn/S02.html#line_1908
14:56 lue japhb__: so yes, it is intentional.
14:57 japhb__ r: say '3' ~~ /<alpha>/
14:57 camelia rakudo 435d86: OUTPUT«Nil␤»
14:57 japhb__ Huh.
14:58 lue I personally would vote changing it to <.alnum>. Even "mark-2" is acceptable to me.
14:58 colomon what lue said
14:58 japhb__ Ditto.
14:58 colomon I believe the reason is to make it clearer whether you're dealing with a single identifier or mark - 2
14:59 lizmat r: my $a=42; say $a-5
14:59 camelia rakudo 435d86: OUTPUT«37␤»
14:59 colomon instead of "unknown variable $a-5"
14:59 lizmat that will fail with <.alphnum>
14:59 lue oh yeah.
15:00 lizmat r: sub a { 42 }; say a-5
15:00 camelia rakudo 435d86: OUTPUT«37␤»
15:00 lizmat so even checking for sigilled identifiers would not work
15:01 lue .oO( m/ '-' [<alpha>|<digit> <!before $>] / )
15:01 japhb__ I still think the current state is a violation of my mental model that if you wanted an infix operator (subtraction), you should be putting spaces around it.
15:02 lue r: my \foo = 42; my \bar = 21; my \foo-bar = 64; say foo-bar
15:02 camelia rakudo 435d86: OUTPUT«64␤»
15:02 japhb__ It also leaves you with a LTA error (the malformed block error above)
15:02 lue "But I wanted foo *minus* bar" saith someone, I'm sure.
15:03 lizmat r: my \foo = 42; my \bar = 21; my \foo-bar = 21; say foo-bar  # problem solved
15:03 japhb__ I still stick to the infix op should need spaces rule.  The only place I can see people complaining is [*-1]
15:03 camelia rakudo 435d86: OUTPUT«21␤»
15:03 lue (What I'm saying there is that barewords make this an unfortunate issue too. The point here is that an infix operator is perhaps a poor choice for identifier names.)
15:04 rindolf joined #perl6
15:04 sqirrel joined #perl6
15:05 lue japhb__: I prefer spaces too. The main problem I have though is that some people prefer not using spaces, and I'm not sure forcing whitespace for the sake of expanded identifier name possibilities is justified.
15:05 japhb__ We're already forcing spaces in a LOT of places Perl 5 did not.
15:06 lue True, but I'm not sure the people who expect 42-5 or even $foo+32 to work will be happy with you :)
15:07 lizmat maybe "read-32bit" could be made to work, as in ' or -, followed by 0 or more alphnum, followed by one or more alpha ?
15:07 japhb__ And for me the pattern has to be "You can use - in identifiers" or "You cannot use - in identifiers", because I refuse to make an API where some names have - and some have _.  That way lies PHP (though their inconsistency is a different one).
15:07 diakopter std: 1 while{1}
15:07 * colomon prefers spaces around operators except when he doesn't  :)
15:07 camelia std 8adbc60: OUTPUT«ok 00:01 123m␤»
15:08 diakopter std: 1 while.1
15:08 camelia std 8adbc60: OUTPUT«ok 00:00 121m␤»
15:08 diakopter heh
15:09 lue lizmat: I was thinking of a "final alpha" rule or something, but I was loathe to suggest /yet another/ rule to identifiers. Glad to see not everyone would've objected :) But yeah, that's what my thought bubble earlier was hinting at:
15:09 lue .oO( m/ '-' [<alpha>|<digit> <!before $>] / )
15:09 japhb__ lizmat: I could probably work with the read-32bit compromise, but it still feels like an exception I have to remember.
15:09 japhb__ nodnod
15:10 diakopter does rakudo moar-support have a --gen-moar yet?
15:10 diakopter er, does the --gen-nqp in rakudo moar-support work with moar?
15:11 lue r: my $hanging-hyphens- = 42;
15:11 camelia rakudo 435d86: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/sS5qGLOeyF�Preceding context expects a term, but found infix = instead�at /tmp/sS5qGLOeyF:1�------> [32mmy $hanging-hyphens- =[33m�[31m 42;[0m�»
15:11 lue fwiw hyphens in idents already have some special rules.
15:11 lue r: my $endnum42; my $normalvar;
15:11 camelia rakudo 435d86: ( no output )
15:13 lue .oO(perhaps if we replace hyphen en or em dash (– or —), we can avoid these issues.)
15:13 rindolf joined #perl6
15:14 pecastro joined #perl6
15:15 lue hyphen *with
15:28 diakopter r: my \_ = $_; $_ = 55; say _
15:28 camelia rakudo 435d86: OUTPUT«55␤»
15:28 diakopter lizmat: does that ^ seem right to you?
15:30 lue seem right to me. After, idents start with <alpha> :)
15:30 lue *After all (geez)
15:32 rindolf joined #perl6
15:37 lue diakopter: ^^^
15:38 diakopter lue: I meant that the \ makes it act like binding
15:38 lue Oh. That's weird.
15:39 lue r: my $bar; my \foo = $bar; $bar = 42; say foo
15:39 camelia rakudo 435d86: OUTPUT«42␤»
15:39 japhb__ Days when TDD doesn't pay: Every one of the half dozen bugs I just fixed were in my tests, not in my implementation.  :-(
15:39 lue .oO(Your test tests helped you find them though, right?)
15:42 dalek evalbot: e5ea5a4 | moritz++ | runtime/run-rakudo-jvm-evalserver:
15:42 dalek evalbot: use the installed perl6-eval-server
15:42 dalek evalbot: review: https://github.com/perl6/evalbot/commit/e5ea5a48b1
15:42 dalek evalbot: 80846f7 | moritz++ | evalbot.pl:
15:42 dalek evalbot: Target reorganization
15:42 dalek evalbot:
15:42 dalek evalbot: j => rakudo-jvm
15:42 dalek evalbot: p => rakudo-parrot
15:42 dalek evalbot: P => Pugs
15:42 dalek evalbot: r => [rakudo-parrot, rakudo-jvm]
15:42 dalek evalbot: rnP => [rakudo-parrot, rakudo-jvm, niecza, Pugs]
15:42 dalek evalbot: review: https://github.com/perl6/evalbot/commit/80846f70a8
15:42 moritz evalbot control restart
15:43 japhb__ masak, since you seem to be interested in such things: I find that I don't write tests *before* the code.  I put tests and implementation in side-by-side editor windows, hack on both switching back and forth until API seems sane to use *and* implement, and then save both and run the tests to see if I messed up on either side.
15:43 camelia joined #perl6
15:43 camelia joined #perl6
15:45 ajr joined #perl6
15:45 lue The One True Downside to TDD, in my experience, is that you need a well-thought-out plan for your project beforehand :P .
15:45 kaare_ joined #perl6
15:46 lue r: say "can I haz parrots and coffee nao?"
15:46 camelia rakudo-jvm 882e33: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
15:46 camelia ..rakudo-parrot 435d86: OUTPUT«can I haz parrots and coffee nao?␤»
15:47 japhb__ lue: Even with good planning, I find the adage that no plan survives contact with the enemy to win out anyway.
15:47 dalek evalbot: bc2d62e | moritz++ | runtime/run-rakudo-jvm-evalserver:
15:47 dalek evalbot: fix typo
15:47 dalek evalbot: review: https://github.com/perl6/evalbot/commit/bc2d62e074
15:48 lue japhb__: me too (esp. at the start, the content of the tests is going to fluctuate wildly as I peg down naming conventions etc.). But you need to at least have some idea of where it's going, if you don't want to throw away and rewrite tests regularly.
15:48 * japhb__ has recently decided to give up trying to force myself into coding styles that don't match my work patterns, and instead allow other styles to influence me without getting prescriptivist about it.
15:50 japhb__ .oO( I've been coding relatively successfully for a third of a century ... clearly I'm doing *something* right. )
15:50 rindolf joined #perl6
15:50 moritz at $work there is perl code written by 4 other programmers than me (2 of them no longer working at the company, one currently on parental leave), and I can tell just from looking at the code who wrote what
15:53 moritz rj: say 42
15:53 camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.NoClassDefFoundError: org/perl6/rakudo/RakOps␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
15:53 moritz this is inconvenient :(
15:53 moritz speaking of inconvenient
15:54 moritz the rakudo-on-jvm build seems to recompile the setting each time I run 'make j-all', even though nothing has changed :(
15:59 moritz and 'make -d' is uselessly verbose
15:59 moritz ah, 'make --debug=b' is better
15:59 moritz File `gen/jvm/rakudo-runtime.jar' does not exist.
16:00 dalek p6-pb: fe71aa5 | (Geoffrey Broadwell)++ | / (2 files):
16:00 dalek p6-pb: Add comments and s/"/'/ for constant strings
16:00 dalek p6-pb:
16:00 dalek p6-pb: Cleanup, style, and clarity, mostly.
16:00 dalek p6-pb: review: https://github.com/samurais​am/p6-pb/commit/fe71aa5e2d
16:00 dalek p6-pb: 2050fac | (Geoffrey Broadwell)++ | lib/PB/Binary/Reader.pm:
16:00 dalek p6-pb: Handle fixed-width values in PB::Binary::Reader
16:00 dalek p6-pb:
16:00 dalek p6-pb: Handle 32- and 64-bit fixed width wire types, reading them as unsigned
16:00 dalek p6-pb: integers.  This leaves just groups to implement amongst the wire types.
16:00 dalek p6-pb: review: https://github.com/samurais​am/p6-pb/commit/2050facc53
16:00 dalek p6-pb: ce9bea8 | (Geoffrey Broadwell)++ | t/binary-reader.t:
16:00 dalek p6-pb: Tests for fixed-width wire types
16:00 dalek p6-pb:
16:00 dalek p6-pb: Test reading 32-bit and 64-bit fixed width wire types, both "bare"
16:00 dalek p6-pb: and as part of a kv field pair.
16:00 dalek p6-pb: review: https://github.com/samurais​am/p6-pb/commit/ce9bea828d
16:03 moritz ... because I screwed up, that's why
16:09 dalek rakudo/nom: e0c6add | moritz++ | tools/build/Makefile-JVM.in:
16:09 dalek rakudo/nom: [JVM] rakudo-runtime.jar needs to be in .
16:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e0c6add2d3
16:09 dalek rakudo/nom: cd21411 | moritz++ | tools/build/create-jvm-runner.pl:
16:09 dalek rakudo/nom: produce output from create-jvm-runner.pl
16:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cd214119c6
16:09 moritz LHF: rewrite tools/build/create-jvm-runner.pl in nqp or Perl 6
16:09 btyler joined #perl6
16:33 zakharyas joined #perl6
16:35 SamuraiJack_ joined #perl6
16:41 xinming joined #perl6
16:52 xenoterracide joined #perl6
17:19 denis_boyun joined #perl6
17:20 dalek nqp: fd1de52 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
17:20 dalek nqp: port methods about inlineability from jvm backend
17:20 dalek nqp: review: https://github.com/perl6/nqp/commit/fd1de52199
17:29 virtualsue joined #perl6
17:38 jnthn o/ from a plane :)
17:38 FROGGS o/
17:48 nwc10 will we get commits-on-a-plane?
17:48 nwc10 actually, that's not special, with git
17:48 nwc10 pushes from a plane...
17:48 nwc10 moritz: is there a LHF ticket queue?
17:49 moritz nwc10: there are tickets in RT with [LHF] or [Easy] in the subject
17:57 jnthn nwc10: Yes, though probbably in #moaarvm :)
17:57 jnthn hm, latency :)
17:59 jnthn This plane is almost empty, so I can't have much bandwidth competition :)
18:08 sqirrel joined #perl6
18:27 SmokeMac_ joined #perl6
18:31 japhb__ .oO( Except for that guy a few seats up trying to stream a 1080p movie because he doesn't like the inflight ... )
18:31 dalek rakudo/nom: 0e8a78f | (Steve Mynott)++ | README:
18:31 dalek rakudo/nom: fix rakudo jvm Configure line in doc
18:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0e8a78fb26
18:33 lue .oO("Why is this so slow? I paid that tech monkey good money so I could stream movies at 2160q !")
18:35 benabik left #perl6
18:35 benabik joined #perl6
18:41 SmokeMachine joined #perl6
18:42 SmokeMachine joined #perl6
18:43 benabik joined #perl6
18:44 SmokeMachine joined #perl6
18:47 benabik joined #perl6
18:49 * moritz has found the "nostalgy" plugin for thunderbird and is much happier than before
18:51 * lue researches nostalgy
18:51 SmokeMachine joined #perl6
18:53 retupmoca ok, I've created a pull request for rakudo and nqp for my attempt at creating a simple version of gethost()
18:53 SmokeMachine joined #perl6
18:54 retupmoca it seems to work for me, but this is the first time I've looked at rakudo internals, so I don't know if it's "correct"
18:57 SmokeMachine joined #perl6
19:02 raiph joined #perl6
19:02 moritz retupmoca++
19:04 diakopter moritz: don't you have a moar bommit cit?
19:04 diakopter uhm.
19:04 diakopter commit bit
19:05 * colomon now wants a bommit cit
19:05 * diakopter now wants lunch
19:06 moritz diakopter: I do, but I'd suggest to give dagurval one
19:06 moritz retupmoca: the nqp part seems fine. The Rakudo part looks like over-engineering to me (two new classes where the only bit of information is a single string)
19:07 retupmoca moritz: S29 seems to say the two classes are needed
19:07 retupmoca unless I'm not understanding it
19:08 moritz retupmoca: I'll go read S29 then :-)
19:08 retupmoca it also says gethost is supposed to do a lot more than return the machine's local hostname
19:09 retupmoca but that's the only part I need :)
19:09 FROGGS gethost is intended to lookup a name by ip too, IIRC
19:09 moritz retupmoca: I'd say we ignore that part of S29 for now
19:09 moritz retupmoca: make it a function gethostname() that returns a Str, and I'll merge it
19:10 retupmoca will do
19:10 moritz retupmoca: we can worry about the fancy class pieces once we are sure we actually want them
19:11 * moritz builds the NQP part
19:11 dmol joined #perl6
19:15 dalek nqp: 9fcd736 | (Andrew Egeler)++ | src/vm/ (4 files):
19:15 dalek nqp: Add gethostname op
19:15 dalek nqp: review: https://github.com/perl6/nqp/commit/9fcd736c30
19:16 moritz retupmoca++
19:16 raiph does anyone know of good recent blog posts or discussions on "compiler compilers" as defined in https://en.wikipedia.org/wiki/Parser_generator?
19:16 benabik left #perl6
19:16 raiph i'm especially interested in how p6 sits in relation to the comment "The ideal compiler-compiler takes a description of a programming language and a target instruction set architecture, and automatically generates a usable compiler from them. In practice, the state of the art has yet to reach this degree of sophistication and most compiler generato
19:16 raiph rs are not capable of handling semantic or target architecture information."
19:16 benabik joined #perl6
19:17 raiph (which is from the wikipedia page I linked)
19:21 raiph or to be much more specific, what compiler generators do you know that ARE "capable of handling semantic or target architecture information"?
19:22 lue NQP?
19:23 sqirrel joined #perl6
19:24 TimToady we don't really use a compiler generator in the sense they mean it
19:24 TimToady we just make it easy to write a compiler in Perl 6 :)
19:24 perigrin Marpa is a compiler generator in the sense they mean it ... I think.
19:24 perigrin except ... not really ... by half.
19:24 TimToady if some optimizer wants to pretend it's a compiler generator later on, that's great, but not what Perl 6 is about
19:24 moritz perigrin: I thought Marpa was "just" a parse generator
19:25 perigrin moritz: right ... I corrected myself :)
19:25 moritz perigrin: aye
19:26 woolfy joined #perl6
19:31 lue if STD could run Perl 6, I think viv would qualify as a compiler generator :)
19:32 GlitchMr https://github.com/rakudo/rakudo/commit/​882e3376c572cf34a3ffd5c82e5f4c6b0f348e17
19:33 GlitchMr Interesting. I ran that by accident in 2013.01, and it worked. But it's probably so old that accidentally worked.
19:33 GlitchMr it accidentally*
19:36 dalek rakudo/moar-support: 1185c34 | (Tobias Leich)++ | src/vm/moar/ops/perl6_ops.c:
19:36 dalek rakudo/moar-support: stub p6bool
19:36 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/1185c34883
19:43 retupmoca moritz: pull request updated
19:44 GlitchMr https://github.com/rakudo/rakudo/commit/​493505cc64d6c562c8f811c0fd1dafac14d1e059
19:45 GlitchMr Language confusion ;-).
19:46 FROGGS I do that too, almost every day :o)
19:46 FROGGS (at $work)
19:50 GlitchMr Actually, I sometimes used -> in Perl 6.
19:50 GlitchMr Or $hash{key} syntax.
19:52 FROGGS the ~/. typo is usually my only stolperstein
19:52 retupmoca is there a portable conditional-compilation syntax?
19:52 retupmoca more specifically, I want to say "If running on rakudo-parrot, use this code, otherwise use this code over here"
19:53 lue r: say $*VM<name>
19:53 camelia rakudo-jvm 882e33: OUTPUT«jvm␤»
19:53 camelia ..rakudo-parrot 0e8a78: OUTPUT«parrot␤»
19:54 timotimo well, there still is a $known_backends there
19:54 lue retupmoca: any chance $*VM<name> would serve your needs?
19:55 retupmoca lue: can I use that at compile time? MIME::Base64 is currently parrot only, but I still want my code to compile on the jvm
19:55 retupmoca with an error or something, but with the rest of the features usable
19:55 timotimo you can run-time import if you supply all names that you want to import
19:55 lue r: BEGIN { say $*VM<name> }
19:55 camelia rakudo-jvm 882e33: OUTPUT«jvm␤»
19:55 camelia ..rakudo-parrot 0e8a78: OUTPUT«parrot␤»
19:55 lue apparently yes.
19:56 timotimo r: try require MIME::Base64 <&encode &decode>; say &encode;
19:56 camelia rakudo-parrot 0e8a78, rakudo-jvm 882e33: OUTPUT«(Any)␤»
19:56 timotimo and then you can do things like &encode //= sub { ... }
19:57 lue .oO(Arglist case of use is implemented ‽)
19:57 FROGGS star: try require MIME::Base64 <&encode &decode>; say &encode;
19:57 camelia star 2013-09: OUTPUT«(Any)␤»
19:57 timotimo is that actually part of star?
19:57 FROGGS star: use MIME::Base64
19:57 camelia star 2013-09: ( no output )
19:57 timotimo oh, apparently it is
19:58 retupmoca MIME::Base64 doesn't have exported subs
19:58 FROGGS ahh
19:58 retupmoca it has static methods
19:58 retupmoca MIME::Base64.encode_base64
19:58 timotimo ah, so it exports a class?
19:58 timotimo right. you can supply that then
19:58 FROGGS star: try require MIME::Base64; say &MIME::Base64.encode;
19:58 camelia star 2013-09: OUTPUT«No such method 'encode' for invocant of type 'Any'␤  in block  at /tmp/FlcV8XbU27:1␤␤»
19:58 dansamo joined #perl6
19:58 retupmoca star: try require MIME::Base64; say &MIME::Base64.encode_base64;
19:58 camelia star 2013-09: OUTPUT«No such method 'encode_base64' for invocant of type 'Any'␤  in block  at /tmp/QA4omYH58u:1␤␤»
19:59 FROGGS star: try require MIME::Base64; say MIME::Base64.^methods
19:59 camelia star 2013-09: OUTPUT«Could not find symbol '&Base64'␤  in method <anon> at src/gen/CORE.setting:12026␤  in any  at src/gen/Metamodel.nqp:2671␤  in any find_method_fallback at src/gen/Metamodel.nqp:2659␤  in any find_method at src/gen/Metamodel.nqp:946␤  in block  at /tmp/B…»
19:59 Quom joined #perl6
19:59 FROGGS star: use MIME::Base64; say MIME::Base64.^methods
19:59 camelia star 2013-09: OUTPUT«encode_base64 decode_base64␤»
19:59 Quom That's a little redundant
19:59 timotimo require still needs you to give a list of imported symbols, right?
19:59 FROGGS star: try require MIME::Base64; say &::('MIME')::('Base64').encode_base64
19:59 camelia star 2013-09: OUTPUT«No such symbol '&::MIME::Base64'␤  in method <anon> at src/gen/CORE.setting:12026␤  in any  at src/gen/Metamodel.nqp:2671␤  in any find_method_fallback at src/gen/Metamodel.nqp:2659␤  in any find_method at src/gen/Metamodel.nqp:946␤  in block  at /tmp/…»
20:00 dalek rakudo/nom: ec29c0f | (Andrew Egeler)++ | / (4 files):
20:00 dalek rakudo/nom: Implement gethostname()
20:00 dalek rakudo/nom:
20:00 dalek rakudo/nom: Squashed commit of https://github.com/rakudo/rakudo/pull/221
20:00 dalek rakudo/nom:
20:00 dalek rakudo/nom: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
20:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ec29c0f9c2
20:00 timotimo star: try require MIME::Base64 <Mime::Base64>; say &::('MIME')::('Base64').encode_base64
20:00 benabik star: try require MIME::Base64; say &::('Mime::Base64::encode_base64')
20:00 camelia star 2013-09: OUTPUT«No such symbol '&::MIME::Base64'␤  in method <anon> at src/gen/CORE.setting:12026␤  in any  at src/gen/Metamodel.nqp:2671␤  in any find_method_fallback at src/gen/Metamodel.nqp:2659␤  in any find_method at src/gen/Metamodel.nqp:946␤  in block  at /tmp/…»
20:00 camelia star 2013-09: OUTPUT«No such symbol '&::Mime::Base64::encode_base64'␤  in method gist at src/gen/CORE.setting:12021␤  in method gist at src/gen/CORE.setting:953␤  in sub say at src/gen/CORE.setting:12921␤  in block  at /tmp/NfxOaU1BiR:1␤␤»
20:01 FROGGS star: try require MIME::Base64; say ::('MIME')::('Base64').^methods
20:01 camelia star 2013-09: OUTPUT«encode_base64 decode_base64␤»
20:03 Quom r: class A { method b {1} }; say &A.b
20:03 camelia rakudo-jvm 882e33: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ljiVK2iLrcâ�¤Undeclared name:â�¤    &A used at line 1â�¤â�¤Â»
20:03 camelia ..rakudo-parrot 0e8a78: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/L9D4s7l8awâ�¤Undeclared name:â�¤    &A used at line 1â�¤â�¤Â»
20:03 Quom std: class A { method b {1} }; say &A.b
20:03 retupmoca moritz: tyvm :)
20:03 camelia std 8adbc60: OUTPUT«ok 00:01 128m␤»
20:03 Quom n: class A { method b {1} }; say A.&b
20:03 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'b' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit…»
20:03 Quom n: class A { method b {1} }; say &A.b # oops
20:03 camelia niecza v24-98-g473bd20: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in…»
20:03 * lue wonders if MIME::Base64 should be re-written to be pure P6, or if it should just be moved to some sort of VM::Parrot:: to make room for an eventual future P6 MIME::Base64
20:04 Quom Is &Class.meth unimplemented?
20:04 timotimo probably
20:04 retupmoca I would like to have and/or write a pure P6 version of MIME::Base64, but I don't really want to add *another* base64 module
20:04 retupmoca since we have Enc::MIME::Base64 as well (which doesn't compile for me)
20:05 Quom n: class A { method b {1} }; say A.<&b>
20:05 camelia niecza v24-98-g473bd20: OUTPUT«(Any)␤»
20:05 Quom r: class A { method b {1} }; say A.<&b>
20:05 retupmoca (this is for an Email::MIME dependency FYI)
20:05 camelia rakudo-parrot 0e8a78, rakudo-jvm 882e33: OUTPUT«(Any)␤»
20:06 moritz I don't think &Type.method will ever work
20:07 moritz because that just calls a method on a Sub object
20:07 moritz (orelse fails)
20:07 Mouq moritz: At the same time, STD seems to think it's okay
20:08 Mouq std: &blabla
20:08 camelia std 8adbc60: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'blabla' used at line 1�Check failed�FAILED 00:01 124m�»
20:08 FROGGS Mouq: it is okay if the method exists
20:08 moritz to get a reference to a method, use Type.^can('method')[0]
20:08 moritz std: &Blabla
20:08 camelia std 8adbc60: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    'Blabla' used at line 1â�¤Check failedâ�¤FAILED 00:01 124mâ�¤Â»
20:08 lue retupmoca: Enc::MIME... seems to be a reinvented wheel of moritz's MIME::Base64. I don't think anyone would mind much an actually Perl 6 module :) [more]
20:08 FROGGS std: class A { }; A.foo()
20:08 camelia std 8adbc60: OUTPUT«ok 00:01 122m␤»
20:08 FROGGS ENOCHECKFORMETHODS
20:09 lue retupmoca: The only bad part is that names are taken, which means either current MIME::Base64 -> VM::Parrot::MIME::Base64, or new MIME::Base64 is actually GenuinePerl6::MIME::Base64 or something.
20:09 lue FROGGS: syntactically, there is nothing wrong with what you wrote.
20:09 FROGGS why not just adopt MIME::Base64 and make it better?
20:09 FROGGS lue: I know, that is why &A.foo is fine for std
20:10 FROGGS err, &foo.A
20:10 retupmoca FROGGS: that was my first thought, but I'm not sure how to use the current pir code when running on parrot, while running new pure perl code otherwise
20:10 * lue 's preferred action plan is MIME::Base64 becomes Pure Perl6, and optionally Enc::MIME::Base64 ⇒ VM::Parrot::MIME::Base64
20:11 FROGGS retupmoca: put the pir code in a submodule (or a role?), and mix it in or delegate to it depending which backend is there
20:11 moritz lue: fwiw it's not really "my" module, I just took over maintenance to make it fit for R*
20:11 FROGGS like File::Spec, File::Path or IO::Path or what it is called today
20:11 moritz retupmoca: in case of doubt, use eval
20:12 lue .oO(If there's no significant speed drop with the PP6 version, then you could just ditch the PIR code altogether!)
20:12 moritz anyway, I'll gladly hand over maintance of MIME::Base64 to anybody who makes it work on more backends
20:13 retupmoca moritz: I'll work on it if you hand it to me
20:13 retupmoca I'd like to have a portable MIME::Base64 for Email::MIME
20:13 moritz retupmoca: should I just fork it into the perl6 organization, and give you a commit bit?
20:13 retupmoca moritz: works for me
20:13 timotimo lue: hah, are you willing to believe that?
20:13 lue I'm assuming MIME::Base64 is based on the RFC 2045, yes?
20:14 lue timotimo: I'm willing to at least try it and see what the experimentation data says :)
20:14 timotimo sure
20:14 timotimo i'm pessimistic about rakudo performance, honestly
20:15 lue r: say "It can't be that bad. How long did this take? \"{now - BEGIN now}\" Oh."
20:15 camelia rakudo-jvm 882e33: OUTPUT«It can't be that bad. How long did this take? "0.142" Oh.␤»
20:15 camelia ..rakudo-parrot 0e8a78: OUTPUT«It can't be that bad. How long did this take? "0.05908318" Oh.␤»
20:15 diakopter timotimo: in general? in what timeframe?
20:15 moritz retupmoca: done
20:15 timotimo diakopter: "right now"
20:16 diakopter meh; don't worry about it for now..
20:16 lue m: say "It can't be that bad. How long did this take? \"{now - BEGIN now}\" Oh."
20:16 timotimo i'm hopeful that moarvm will be noticably faster than parrot
20:16 retupmoca moritz: again, tyvm :) hopefully I won't take too long
20:16 timotimo lue: heh heh
20:16 timotimo r: say "It can't be that bad. How long did this take? \"{now - BEGIN now}\" Oh."
20:16 diakopter FROGGS: ping
20:16 camelia rakudo-jvm 882e33: OUTPUT«It can't be that bad. How long did this take? "0.148" Oh.␤»
20:16 camelia ..rakudo-parrot 0e8a78: OUTPUT«It can't be that bad. How long did this take? "0.060711066" Oh.␤»
20:16 moritz diakopter: those of us who actually *use* rakudo today are worried about rakudo's performance right now :-)
20:17 diakopter hey, I'll get around to trying it out one of these days...
20:17 timotimo that doesn't include the startup time of the compiler (and iiuc the jvm version uses the evalserver), but it's not terribly bad. but it gets bad fast if you do more things :P
20:17 diakopter ..once it runs on a VM whose source I can trust top to bottom...
20:17 diakopter fsdo bottom
20:18 lue oh hey, uh, I, uh, got something back from camelia! <camelia> rakudo-moar 0e8a78: OUTPUT«It can't be that bad. How long did this take? "0.000000001" Oh.␤»
20:18 FROGGS diakopter: pong
20:18 timotimo :D
20:18 diakopter FROGGS: do you think jnthn was suggesting I could work on the continuations port while he was away?
20:19 dalek ecosystem: ccce167 | moritz++ | META.list:
20:19 dalek ecosystem: MIME::Base64 now lives in the perl6 organization
20:19 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/ccce1679c9
20:19 diakopter FROGGS: relatedly, are you okay with me taking that on over the next day?
20:20 FROGGS diakopter: I understand it like that it would be needed while making the setting compile
20:20 benabik nqp-m: 1; # That's not good.
20:20 camelia nqp-moarvm: OUTPUT«Unhandled exception: Bytecode segment overflows end of stream␤»
20:21 timotimo nqp-m: say("why u do dis");
20:21 camelia nqp-moarvm: OUTPUT«Unhandled exception: Bytecode segment overflows end of stream␤»
20:21 FROGGS diakopter: I am okay with everything, since I tend to not understand the relations between the tasks/milestones :o)
20:21 moritz benabik: but the error message sounds kind of cool :-)
20:21 * diakopter pokes someone to fix camelia nqp-m
20:21 moritz diakopter: I'll take a look
20:21 diakopter moritz: is it able to use --gen-moar in nqp yet?
20:21 dalek star: b721a23 | moritz++ | .gitmodules:
20:21 dalek star: MIME::Base64 now lives in the Perl 6 organization
20:21 dalek star: review: https://github.com/rakudo/star/commit/b721a237bd
20:22 moritz diakopter: should be, but I won't bother changing host07 now...
20:22 moritz diakopter: because as soon as moar-support lands, we can use the unified rakudo build for all three backends
20:23 lue nqp-m: use MONKEY_DAM;
20:23 camelia nqp-moarvm: OUTPUT«Unhandled exception: Bytecode segment overflows end of stream␤»
20:24 moritz uhm, is anybody doing an R* release for October?
20:25 moritz I've done 6 out of the last 7 star releases, and I'm starting to feel like a single point of failure
20:28 moritz sleep&
20:29 lue good ♞ moritz o/
20:30 diakopter SPF 45 is good
20:30 timotimo i have no idea what that means :(
20:32 lue diakopter: ww?
20:33 lue moritz: I might be willing to take a crack at releasing something, but I bet I need a CLA for any commitbit on rakudo repos /me will most likely print out the CLA tonight and sign it, and then either scan/email or envelope/mail it
20:35 diakopter timotimo: single point of failure..
20:35 timotimo oh, of course
20:36 timotimo what does the 45 refer to, though? :|
20:36 * lue thought it was a recommendation of sunscreen strength
20:36 diakopter FROGGS: I was trying to ask if you had any interest in doing it instead
20:37 FROGGS diakopter: no, I don't even think that I am capable of doing it
20:40 lue So, do I just print http://www.perlfoundation.org/​contributor_license_agreement (the whole webpage) as-is, or do I copy-paste the text of the CLA and print that, or is there a secret CLA.pdf I've never come across before?
20:41 FROGGS lue: I copied it to a new document, formatted it nicely, signed and sent it both by email and snail mail
20:42 lue ...and I just found cla3.pdf, for the first time (I've visited Legal before too, so I must've forgotten about it. But still.)
20:44 diakopter what's really stupid is these repositories have been merging pull requests from people who haven't signed it
20:44 diakopter (both parrot and rakudo... )  .. when the whole point is to protect the project from someone contributing code that's not theirs or code they don't contribute all the rights to
20:45 jnthn diakopter: It's mostly a matter of vlume
20:45 diakopter but nobody's been enforcing that for many years
20:45 lue Yeah, I wonder why the TPF still has such an iron grip on rakudo when *no other Perl 6 project* suffers the same level of /p[rotection|aranoia]/
20:46 lue But hey, as long as there's a CLA I need to sign, I'll do it.
20:46 lue (What's the best approach? Just one of snail/email, or both?)
20:47 timotimo oh, so the pull request without signing the CLA doesn't somehow mean the people who have made the code give up whatever rights?
20:48 lue .oO(and arguably hilarious is that rakudo is the one thing you won't find under github.com/perl6)
20:49 lue timotimo: I don't think there's even a way to stretch the CLA out to merging a pull request, so...
20:51 timotimo o_O
20:51 timotimo i guess i'll make a cla some time soon
20:51 timotimo though i have no idea how to make that work with the snail mail stuff
20:51 timotimo like how much money i have to glue onto it
20:52 diakopter 2,900 euros last I checked
20:53 timotimo that's a lot of money
20:53 diakopter hey, 2-month long background checks cost a lot
20:53 geekosaur don't they swap . and , ? 3 euros isn't much :p
20:54 tadzik timotimo: mail it
20:54 tadzik that's what I did
20:54 tadzik oh, I mean, *e*-mail it
20:54 timotimo ... i can do that?
20:55 tadzik I did that
20:55 tadzik the evidence shows that it worked
20:55 tadzik print, sign, scan, email
20:55 timotimo ah
20:55 timotimo yes, i do have a scanner.
20:55 pmurias joined #perl6
20:56 pmurias diakopter: re having to sign CLA for pull requests would be really annoying
20:57 diakopter pmurias: okay, but why have them for folks with commit bits then?
20:57 diakopter I'm sure plenty of folks have submitted more code in pull requests only than folks with commit bits
20:57 diakopter *some folks with commit bits
20:58 pmurias "here's your commit bit" seems to be a sort of a reward for the CLA
20:58 diakopter right, but submitting the CLA doesn't guarantee a commit bit
20:58 SmokeMac_ joined #perl6
20:58 pmurias aren
20:59 pmurias 't we really liberal with commit bits?
20:59 lue tadzik: how long should I wait, via email, before either pestering TPF to take a peek at their inbox or snail-mailing it?
20:59 diakopter pmurias: not historicall for rakudo
20:59 diakopter lue: you can bug [Coke] about it after a couple weeks
20:59 diakopter he can ping the proper folks
21:00 diakopter timotimo: I was kidding about the money; just playing along with your joke :P
21:00 lue Alright. I'd rather not re-learn the arcane magicks of snail-mail unless necessary :)
21:00 timotimo diakopter: :)
21:00 tadzik lue: dunno, a week?
21:00 diakopter lue: just know the US postal service has collected saliva samples from every envelope for 30 years...
21:01 tadzik hah
21:01 lue so tonight I shall print-sign-scan-email, then. The email address is legal@perlfoundation.org or cla@ or webmaster@ or something, right?
21:01 diakopter that's NSA's operation SPITTOON
21:03 lue .oO(What arguably makes the CLA process worse is that it's not the most obvious thing. Example, I do not know the correct destination email. This should've been listed on the CLA or Legal pages)
21:03 diakopter .. what's crazy is while I doubt they've actually done that, I'm sure someone proposes it every so often...
21:04 pmurias diakopter: I think the CLA is the main barrier now
21:04 benabik .o( The TPF's CLA is the only barrier between us and the NSA collecting saliva from everyone? )
21:05 pmurias heh
21:05 lue I completely understand the CLA's motivations, btw. It just happens to be a high level of security/paranoia for open-source projects in general.
21:06 diakopter it's not security; it's liability protection
21:06 lue aka securing your liabilities from threats :)
21:06 tadzik thanks to NSA and all that, the word "Security" now makes one think of something silly and paranoid :)
21:07 diakopter lue: liabilities are negative things...
21:07 timotimo that page is hard to print out properly
21:07 * lue leaves an obligatory^W voluntary HAIL NSA! here before it's too late
21:07 diakopter here's an old one http://www.perlfoundation.o​rg/attachment/legal/cla.pdf
21:07 lue timotimo: there's cla3.pdf (click "Legal" in the sidebar)
21:08 lue I'll just send it to webmaster@ if I can't find the properer address. (Don't know where else but TPF to look for it, though...)
21:08 timotimo oh?
21:08 timotimo i just printed it out using gedit
21:09 timotimo meh, that's 2 pages
21:09 timotimo oh well.
21:09 timotimo i can duplexprint
21:10 diakopter lue: don't send it to webmaster... send it to karen@; she'll be glad to route it I'm sure
21:10 lue good to know, thanks diakopter.
21:11 diakopter lue: high level compared to these? http://contributoragreemen​ts.org/wordpress/explore/
21:14 dalek rakudo/moar-support: 862eb4f | jonathan++ | src/vm/moar/ops/perl6_ops.c:
21:14 dalek rakudo/moar-support: Implement nqp::p6bool for MoarVM.
21:14 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/862eb4fb9a
21:15 lue .oO(I'm pretty sure TPF no longer owns all the Perl 6 codebase anyway. This CLA feels more like a "I don't want to muck about with Pull Requests." statement)
21:15 timotimo hehe
21:15 lue s/Perl 6/Rakudo/ of course
21:17 retupmoca re: dispatching based on the current VM. Is there anything wrong with this approach? https://github.com/perl6/Perl6-MIME-B​ase64/blob/master/lib/MIME/Base64.pm6
21:18 diakopter retupmoca: you could have those packages export what you want.. or return from the load..
21:21 retupmoca diakopter: I'm not sure how to do that while keeping support for MIME::Base64.encode_base('stuff')
21:21 retupmoca without having to call new
21:22 retupmoca s/encode_base/encode_base64/
21:24 diakopter call new in the BEGIN block? :S
21:26 lue you could have modules that just contain functions, unless there's some reason you *need* a class.
21:27 japhb__ "Why can't I write to a buf8?" ... # TODO: override at_pos so we get mutability ... "Oh.  Crap."
21:31 ihm joined #perl6
21:32 retupmoca also, there is no LICENSE file in MIME::Base64 - am I allowed to just drop one in there, since it mostly isn't my code?
21:33 retupmoca I've just been using Creative Commons CC0 for my other modules
21:33 lue Artistic 2 would be a safe LICENSE to use, IMO
21:33 tadzik ask snarkyboojum
21:33 tadzik or deduce it from LICENSEs he has in other projects
21:33 tadzik provided he did put some in some
21:36 retupmoca not seeing one in any of his other projects
21:36 retupmoca can I send a message via github?
21:36 retupmoca or do I have to dig up an email address from somewhere?
21:37 tadzik I think github removed messaging
21:37 tadzik last time I wanted to message someone, I opened a bug in one of his repos :>
21:38 retupmoca I'll try that
21:38 lue .oO(github.com/USER/adhoc-github-messages-to-me)
21:51 preflex joined #perl6
21:52 iSlug joined #perl6
21:53 dalek nqp: bf2001a | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
21:53 dalek nqp: map sprintfdirectives for moar
21:53 dalek nqp: review: https://github.com/perl6/nqp/commit/bf2001ae18
21:53 jnthn Well, there's that one down :P
21:53 FROGGS *g*
22:06 camelia joined #perl6
22:07 bakedb joined #perl6
22:07 raiph lue, TimToady, perigrin, moritz: thx for answers to my questions
22:07 BinGOs joined #perl6
22:08 lue you're welcome :)
22:10 camelia joined #perl6
22:16 Ulti joined #perl6
22:17 dalek nqp: aa78b28 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
22:17 dalek nqp: s/seed/srand/, to be in line with jvm/parrot
22:17 dalek nqp: review: https://github.com/perl6/nqp/commit/aa78b280a8
22:19 diakopter nqp-m: say('alive')
22:19 camelia nqp-moarvm: OUTPUT«alive␤»
22:19 FROGGS am I allowed to kill it again?
22:19 diakopter camelia? sure
22:20 tadzik it has more than 9 lives
22:20 diakopter it has n+1 lives
22:20 tadzik MOAR LIVES
22:21 FROGGS nqp: nqp::srand(42)
22:21 camelia nqp-jvm: ( no output )
22:21 camelia ..nqp-moarvm: OUTPUT«No registered operation handler for 'srand'␤compile_op␤»
22:21 camelia ..nqp-parrot: OUTPUT«error:imcc:syntax error, unexpected INTC, expecting '(' ('42')␤      in file '(file unknown)' line 37013511␤␤␤»
22:21 diakopter heh.
22:21 FROGGS nqp: say(nqp::srand(42))
22:21 camelia nqp-jvm: OUTPUT«42␤»
22:21 camelia ..nqp-moarvm: OUTPUT«No registered operation handler for 'srand'␤compile_op␤»
22:21 camelia ..nqp-parrot: OUTPUT«error:imcc:syntax error, unexpected INTC, expecting '(' ('42')␤      in file '(file unknown)' line 47803015␤␤␤»
22:21 diakopter nqp-parrot: nqp::srand(42.0)
22:21 camelia nqp-parrot: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I5003')␤  in file '(file unknown)' line 74698520␤␤␤»
22:21 diakopter nqp-parrot: nqp::srand(42.1)
22:21 camelia nqp-parrot: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I5003')␤  in file '(file unknown)' line 59674376␤␤␤»
22:21 diakopter weird
22:21 FROGGS it wants a bigint
22:22 diakopter nqp-parrot: nqp::srand(422938702938452837465)
22:22 camelia nqp-parrot: OUTPUT«Error while compiling block : Error while compiling op srand (source text: "nqp::srand(422938702938452837465)"): Cannot infer type from '-9223372036854775808'␤current instr.: '' pc 55111 (gen/parrot/stage2/QAST.pir:20131) (gen/parrot/stage2/QAST.nqp:3320)␤»
22:22 FROGGS r: say(nqp::srand(42))
22:22 diakopter you knew that was coming
22:22 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«42␤»
22:23 FROGGS the moarvm one does not return the seed btw
22:23 diakopter sounds like a NYI
22:24 bakedb joined #perl6
22:24 FROGGS nqp-m -e 'say(nqp::srand(42))'
22:24 FROGGS arg expression cannot be void
22:24 diakopter nqp-m: say(nqp::srand(42))
22:24 camelia nqp-moarvm: OUTPUT«No registered operation handler for 'srand'␤compile_op␤»
22:24 diakopter nqp-m: say(nqp::seed(42))
22:24 camelia nqp-moarvm: OUTPUT«arg expression cannot be void␤handle_arg␤»
22:25 diakopter evalbot rebuild nqp-moarvm
22:25 diakopter hm, that used to work
22:27 FROGGS nqp-jvm: say(nqp::srand(42.1))
22:27 camelia nqp-jvm: OUTPUT«42␤»
22:28 diakopter nqp-jvm: say(nqp::srand("-0"))
22:28 camelia nqp-jvm: OUTPUT«0␤»
22:28 timotimo diakopter: i think it's "evalbot control rebuild" actually
22:29 timotimo but i think only some people are allowed to run that command?
22:29 timotimo evalbot control rebuild nqp-moarvm
22:29 diakopter boo; it's my server..
22:29 diakopter eh, I might remember someone removing that feature
22:30 timotimo oh :(
22:31 BinGOs joined #perl6
22:32 bakedb_ joined #perl6
22:34 colomon joined #perl6
22:37 dalek nqp: 52b8ada | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
22:37 dalek nqp: srand returns its argument
22:37 dalek nqp: review: https://github.com/perl6/nqp/commit/52b8ada94e
22:41 dalek nqp: 0607d97 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
22:41 dalek nqp: Map nqp::getlexouter for MoarVM.
22:41 dalek nqp: review: https://github.com/perl6/nqp/commit/0607d97bbd
22:42 BenGoldberg joined #perl6
22:42 rurban joined #perl6
22:43 rurban pmichaud: Do you want to check the new parrot/new-packfile-api branch? I want to merge this tomorrow
22:48 xinming joined #perl6
22:48 wbill joined #perl6
22:55 wbill joined #perl6
22:57 FROGGS gnight
22:59 BenGoldberg preflex: seen yoleaux
22:59 preflex yoleaux was last seen on #perl6 1 day, 3 hours, 37 minutes and 49 seconds ago, saying: 18:23Z <diakopter> Mouq: awesome work on stdsigspace Mouq++
23:01 rurban joined #perl6
23:12 konundra joined #perl6

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

Perl 6 | Reference Documentation | Rakudo