»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:04 pecastro left 00:07 SmokeMac_ joined 00:09 SmokeMa__ joined, SmokeMachine left, pecastro joined 00:12 SmokeMac_ left, Psyche^_ joined 00:16 Psyche^ left, ajr_ left 00:19 huf left 00:31 xalbo joined 00:32 djanatyn joined 00:36 Tene joined, Tene left, Tene joined 00:50 stevan_ joined, SmokeMa__ left, SmokeMachine joined 01:13 FROGGS left 01:14 FROGGS joined 01:39 jnap left 01:40 fridim_ joined 01:45 FROGGS left 01:46 FROGGS joined 01:52 telex left 01:54 telex joined 01:58 FROGGS left 02:02 FROGGS joined
TimToady you'd think it was Friday night or sump'n 02:10
02:19 jnap joined, jnap left 02:28 colomon joined
perigrin worse than that, it appears people have better things to do! 02:35
colomon high school football game. ;) 03:05
BenGoldberg r: say 1 ?? 2 !! 3 03:17
camelia rakudo 2ce544: OUTPUT«2␤»
BenGoldberg r: say 1 R?? 2 !! 3
camelia rakudo 2ce544: OUTPUT«===SORRY!===␤No such method 'ast' for invocant of type 'NQPMu'␤»
BenGoldberg Not the error message I expected to get :)
03:17 colomon left
lue r: say 1 R?? 2 R!! 3 03:18
camelia rakudo 2ce544: OUTPUT«===SORRY!===␤Found ?? but no !!␤at /tmp/WWHu8sPcjk:1␤------> say 1 R?? 2 R⏏!! 3␤Confused␤at /tmp/WWHu8sPcjk:1␤------> say 1 R?? 2 R⏏!! 3␤ expecting any of:␤ postfix␤ …»
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/…»
BenGoldberg std: say 1 R?? 2 !! 3
camelia std 082981d: OUTPUT«===SORRY!===␤Cannot reverse the args of ?? !! because conditional operators are too fiddly at /tmp/9rTVTJvRZu line 1:␤------> say 1 R?? 2 !!⏏ 3␤Check failed␤FAILED 00:01 122m␤»
BenGoldberg std: say /(ab)/ R~~ 'ab' 03:23
camelia std 082981d: OUTPUT«ok 00:01 125m␤»
BenGoldberg rn: say /(ab)/ R~~ 'ab'
camelia rakudo 2ce544: OUTPUT«True␤»
..niecza v24-98-g473bd20: OUTPUT«「ab」␤ 0 => 「ab」␤␤»
dalek d: 8adbc60 | larry++ | STD.pm6:
allow negation of flipflops
03:25
03:32 chayin left 03:34 preflex left, preflex_ joined, ChanServ sets mode: +v preflex_ 03:35 preflex_ is now known as preflex 03:38 araujo left 04:14 kshannon joined 04:15 FROGGS left 04:17 FROGGS joined
BenGoldberg std: say 1 R?? 2 !! 3 04:39
camelia std 8adbc60: OUTPUT«===SORRY!===␤Cannot reverse the args of ?? !! because conditional operators are too fiddly at /tmp/rIx_MpfdKc line 1:␤------> say 1 R?? 2 !!⏏ 3␤Check failed␤FAILED 00:01 122m␤»
BenGoldberg I guess it'll have to wait until the evalbot does a git pull :)
lue BenGoldberg: what makes you think it'd work now? 04:40
diakopter . 04:42
04:42 preflex_ joined, ChanServ sets mode: +v preflex_
BenGoldberg r: 1 [[[[[[[[[[[[[[[[+]]]]]]]]]]]]]]]] 1 04:42
camelia ( no output )
dalek kudo/nom: a43fff1 | moritz++ | docs/ROADMAP:
[ROADMAP] bump date of last udpate
04:42 preflex left 04:43 preflex_ is now known as preflex 04:44 fridim_ left
moritz I love the smell of commits in the morning 04:44
diakopter wonders if morning will ever come 04:45
moritz: :( I'm sorry I wasn't able to get to teh host07 things 04:46
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... ..)
nqp-m :1 04:48
nqp-m: 1
camelia nqp-moarvm: OUTPUT«Unhandled exception: Bytecode segment overflows end of stream␤»
diakopter *cry*
hm, I thought there was a third thing on my mental todolist 04:50
gar
moritz aliases p => rakudo-p, j => rakudo-j, r => p+j ? 04:51
diakopter p was pugs
but.. 04:52
moritz that can be changed.
diakopter yeah I think consistency wins a bit there
04:54 logie left
diakopter moritz: of course, what will we call the js backend 04:55
perigrin n
diakopter :D
lue
.oO(Pugs, if we should keep it, could be moved to h: for Haskell or a: for Audrey)
04:56
diakopter: js backend is clearly to become e: . For ECMAScript, obviously :) 04:57
r: say [+] <p j>
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
lue r: my $a = 'p'; $a.=succ for ^10; say $a;
camelia rakudo 2ce544: OUTPUT«z␤»
lue parrot+java = z: 04:59
diakopter lolz parrot+java
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«␤»
lue .u
.ping
diakopter .yoleaux 05:02
moritz diakopter: q
diakopter .yoleaux my yolo
afk&
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
(U+0087 END OF SELECTED AREA, btw)
moritz r: say 'p' ~| 'j' 05:04
camelia rakudo 2ce544: OUTPUT«z␤» 05:05
moritz r: say 'p' ~| 'm''
camelia rakudo 2ce544: OUTPUT«===SORRY!=== Error while compiling /tmp/iNmp3JAmpU␤Two terms in a row␤at /tmp/iNmp3JAmpU:1␤------> say 'p' ~| 'm'⏏'␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ …»
moritz r: say 'p' ~| 'm'
camelia rakudo 2ce544: OUTPUT«}␤»
moritz r: say 'p' ~| 'm' ~| 'j'
camelia rakudo 2ce544: OUTPUT«^H␤»
moritz r: say ('p' ~| 'm' ~| 'j').ord 05:06
camelia rakudo 2ce544: OUTPUT«127␤»
lue almost wants yoleaux to be named cyberman, for hopefully clear reasons
If we're running out of single-letter aliases, we could always go for majuscules. Unless... 05:08
R: say "test"
nope, we could theoretically use majuscules :) 05:09
05:17 BenGoldberg left
moritz r: say 1 05:35
camelia rakudo 2ce544: OUTPUT«1␤»
moritz that's pretty old 05:36
05:44 huf joined
lue .oO[ At least rakudo is no longer at that point where "pretty old" means "I don't have the version that fixes junctions" :) ] 05:49
benabik "Date of last update: just use git log already." 06:08
06:19 kaare_ joined 06:22 stevan__ joined 06:24 stevan_ left 06:35 k1lldash9 left 06:39 woolfy1 left 06:41 lizmat left 06:52 SamuraiJack joined
dalek rl6-roast-data: 4823f35 | coke++ | / (4 files):
today (automated commit)
06:58
07:12 darutoko joined
[Coke] so, pugs kind of works on the new box. lots of locale errors. 07:19
dalek albot: ae68940 | moritz++ | build-scripts/rebuild- (2 files):
rework rebuild-rakudo.pl

  * build rakudo and nqp for jvm and parrot in the same dir
  * assume that --gen-parrot and --gen-nqp are smart enough (they should be)
07:21
albot: 7121ee6 | moritz++ | evalbot.pl:
use new rakudo-p build
07:24
07:24 sqirrel joined 07:27 xenoterracide left 07:49 [Sno] left 08:14 denisboyun joined 08:17 araujo joined 08:33 lue left 08:34 [Sno] joined 08:47 sqirrel left 09:03 virtualsue joined 09:08 lizmat joined
jnthn morning-ish, #perl6 09:14
lizmat good *, #perl6 from the t-dose 09:15
09:23 SamuraiJack_ joined, Rotwang joined, kaare_ left 09:27 SamuraiJack left 09:45 xinming_ joined, SamuraiJack_ left 09:48 xinming left 09:49 spider-mario joined 09:50 iSlug joined 09:51 darutoko left
dalek albot: b4638da | moritz++ | evalbot.pl:
use nqp-{p,j} from the new rakudo build
09:57
moritz evalbot control restart
09:57 camelia left
dalek ast: e739aea | (Elizabeth Mattijsen)++ | S32-array/exists (2 files):
Merge @a:exists tests into a single file
10:01
10:01 virtualsue left
dalek kudo/nom: 435d863 | (Elizabeth Mattijsen)++ | t/spectest.data:
Remove removed file from tests
10:02
10:04 camelia joined
moritz nqp-p: say 42 10:04
10:05 ChanServ sets mode: +v camelia
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)
camelia nqp-jvm: OUTPUT«42␤»
10:06 dmol joined
moritz is it intentional that we don't install the eval server for rakudo-jvm? 10:07
it would make my ilfe with camelia easier
jnthn moritz: No objections from me 10:12
10:18 sqirrel joined
moritz huh, seems it's supposed to happen already 10:21
10:25 virtualsue joined 10:29 iSlug left 10:32 xinming_ left 10:34 xinming joined 10:38 woolfy joined 10:45 sqirrel left 10:56 SmokeMac_ joined 11:00 SmokeMachine left 11:02 SmokeMac_ left 11:04 SmokeMachine joined 11:05 xinming left 11:06 xinming joined
dalek ast: 83aa430 | (Elizabeth Mattijsen)++ | S32- (2 files):
Some more :exists tests
11:14
11:26 colomon joined
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/…»
colomon std: say 1 R?? 2 !! 3 11:28
camelia std 8adbc60: OUTPUT«===SORRY!===␤Cannot reverse the args of ?? !! because conditional operators are too fiddly at /tmp/4S0Q4LCpIX line 1:␤------> say 1 R?? 2 !!⏏ 3␤Check failed␤FAILED 00:00 122m␤»
11:32 pdurbin left 11:57 FROGGS[mobile] left 12:03 dmol left 12:08 virtualsue left 12:27 Rotwang left 12:29 cognominal left, cognominal joined
lizmat r: class A { method b { say $!a } } # correctly dies at compile time 12:40
camelia rakudo 435d86: OUTPUT«===SORRY!=== Error while compiling /tmp/D4cXOwgJ0T␤Attribute $!a not declared in class A␤at /tmp/D4cXOwgJ0T:1␤------> class A { method b { say $!a⏏ } } # correctly dies at compile time␤»
lizmat r: class A { method b { say $.a } } # but a public attribute that doesn't exist does not ? 12:41
camelia ( no output )
dalek p: f40977a | jnthn++ | src/NQP/World.nqp:
Fix to --vmlibs on MoarVM.
12:42
jnthn lizmat: $.a is $(self.a) which is a method call
lizmat: Which is late-bound (that is, a subclass could supply it, or mixin, or whatever) 12:43
So it's a lot harder to do much with
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 kudo/moar-support: c6f0537 | jnthn++ | / (2 files):
Tweaks to start attempting CORE.setting on Moar.
lizmat jnthn++
:-)
jnthn lizmat: Well, the way I tend to think about it is that Perl 6 has no public attributes. 12:45
lizmat: Just private attributes, and has $.a means "declare $!a and make me an accessor method"
lizmat ah, ok
jnthn Which I think is a less confusing way to think of it (in so far as, that's how it actually works) :)
lizmat so a subclass attribute "a" will hide an attribute "a" in the superclass that way 12:46
jnthn A subclass accessor will, yes. 12:47
Attributes through the $!x syntax are visible in the class that decalred them only
And a $!x in a base class will not conflict with a $!x in a subclass.
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
except that that doesn't really work yet :-) 12:49
jnthn Yeah, or would be if we got the semantics right :)
lizmat as far as visibility is concerned
jnthn Maybe that's one for me to pick over in the next days :)
We make it to like 5 of CORE.setting (the first 4 are comments or empty) on Moar. :)
16,827 lines to go... :P 12:50
lizmat hehe... and there I am working on adding lines to the CORE.setting :-)
ok, so I should leave the role private attribute visibility to you ? 12:51
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
so I would inspect your commit with great interest
and then I could try to finish off "is DEPRECATED" on attributes and classes 12:53
the way I see it, is to add a deprecated attribute to Attribute
12:54 FROGGS[mobile] joined
lizmat and at compose time of the class of the attribute, add ENTER phasers 12:54
if there is a method for the attribute
jnthn Does "is DEPRECATED" make sense on an attribute? 12:56
Oh...on its accessor...
lizmat if not, create an accessor method with the call to DEPRECATED
yes 12:57
(sorry, was distracted by someone at the Perl stand :-)
jnthn The latter is probably the easier way
lizmat the idea of "class A is DEPRECATED {}
would be to add an ENTER phaser on "new"
jnthn Not sure that will quite work... 12:58
As the "new" is typically inherited from Mu
lizmat method new (|c) { DEPRECATED("foo"); nextsame } 12:59
would do the trick, no?
jnthn But what if the class itself contains a "new" method already? 13:00
lizmat then it would just add an ENTER phaser with a call to DEPRECATED in it 13:01
this is how "is DEPRECATED" is implemented on subs/methods 13:17
dalek p: 87fa87c | jnthn++ | src/vm/moar/ (2 files):
Register QAST->MAST as 'QAST', not 'qast'.
13:31
kudo/moar-support: e0ad5cd | jnthn++ | src/vm/moar/ops/perl6_ops.c:
Stub p6settypes.
13:32
kudo/moar-support: a265104 | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
QAST->MAST compiler is now 'qast'.
colomon is panda working on jakudo yet? 13:34
13:35 Gothmog_ left
jnthn colomon: Has for a while, I believe 13:37
donahldh++ did lots of work in that direction :)
colomon awesome
I should try to get the smoker running on it. 13:38
alas, still swamped with $work
13:42 Gothmog_ joined 13:53 Rotwang joined 13:56 denisboyun left
jnthn airprot & 13:57
colomon safe travels! 13:58
13:58 mtk joined
diakopter anyone know when jnthn will be back? :) 14:07
FROGGS[mobile] jnthn: "we" attack the setting already? 14:08
lizmat it's my understanding he will be in Salzburg next Sat/Sun at the Austrian Perl Workshop 14:09
and enjoying some time off $work
whether that means he will be online or not, I don't know 14:10
FROGGS[mobile]: [14:44:40] <+dalek> rakudo/moar-support: Tweaks to start attempting CORE.setting on Moar. 14:13
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
[14:50:14] <jnthn> 16,827 lines to go... :P
so, I guess, yes :-)
14:16 fridim_ joined
diakopter lolz 14:17
14:26 rindolf joined, zakharyas joined 14:27 lue joined
lue hello world o/ 14:27
lizmat lue /o
colomon \o 14:32
14:38 logie joined 14:47 logie left 14:48 mtk left
japhb__ r: sub read-32-bit() {} 14:51
camelia rakudo 435d86: OUTPUT«===SORRY!=== Error while compiling /tmp/XYASvdp5fW␤Missing block␤at /tmp/XYASvdp5fW:1␤------> sub read⏏-32-bit() {}␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-p…»
japhb__ r: sub read_32_bit() {}
camelia ( no output )
lue r: sub read-bits32() {}
camelia ( no output )
lue That's not good.
japhb__ TimToady: Is that ^^ the way you expect hyphenated identifier parsing to work? 14:52
lue: Yeah, that seems odd
std: sub read-32-bit() {}
camelia std 8adbc60: OUTPUT«===SORRY!===␤Malformed block at /tmp/C8xBHgkif2 line 1:␤------> sub read⏏-32-bit() {}␤ expecting any of:␤ new name to be defined␤ routine_def␤Parse failed␤FAILED 00:01 120m␤»
14:52 denis_boyun joined, mtk joined
japhb__ Huh, it's there in STD too. 14:52
japhb__ wonders why.
lizmat std: sub s-foo {}' 14:53
camelia std 8adbc60: OUTPUT«===SORRY!===␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/Z25YXjPWle line 1:␤------> sub s-foo {}⏏'␤ expecting any of:␤ POST␤ horizontal whitespace␤ infix or meta-infix␤ infix…»
lizmat r: sub s-foo {}'
camelia rakudo 435d86: OUTPUT«===SORRY!=== Error while compiling /tmp/VnUWUipjTV␤Two terms in a row␤at /tmp/VnUWUipjTV:1␤------> sub s-foo {}⏏'␤ expecting any of:␤ statement list␤ horizontal whitespace␤ postfix␤ …»
14:53 mtk left
lizmat r: sub s-foo {} 14:53
camelia ( no output )
lizmat std: sub s-foo {}
camelia std 8adbc60: OUTPUT«ok 00:01 122m␤»
14:54 mtk joined
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:55
std: sub read-32bit() {} 14:56
camelia std 8adbc60: OUTPUT«===SORRY!===␤Malformed block at /tmp/987SQud9g0 line 1:␤------> sub read⏏-32bit() {}␤ expecting any of:␤ new name to be defined␤ routine_def␤Parse failed␤FAILED 00:01 120m␤»
lue japhb__: S02:1908 "(Note, however, that identifiers may now contain an apostrophe or hyphen if followed by a character matching <.alpha>)"
synopsebot Link: perlcabal.org/syn/S02.html#line_1908
lue japhb__: so yes, it is intentional.
japhb__ r: say '3' ~~ /<alpha>/ 14:57
camelia rakudo 435d86: OUTPUT«Nil␤»
japhb__ Huh.
lue I personally would vote changing it to <.alnum>. Even "mark-2" is acceptable to me. 14:58
colomon what lue said
japhb__ Ditto.
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
camelia rakudo 435d86: OUTPUT«37␤»
colomon instead of "unknown variable $a-5"
lizmat that will fail with <.alphnum>
lue oh yeah.
lizmat r: sub a { 42 }; say a-5 15:00
camelia rakudo 435d86: OUTPUT«37␤»
lizmat so even checking for sigilled identifiers would not work
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.
lue r: my \foo = 42; my \bar = 21; my \foo-bar = 64; say foo-bar 15:02
camelia rakudo 435d86: OUTPUT«64␤»
japhb__ It also leaves you with a LTA error (the malformed block error above)
lue "But I wanted foo *minus* bar" saith someone, I'm sure.
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]
camelia rakudo 435d86: OUTPUT«21␤»
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 left, rindolf joined, sqirrel joined
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.
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 ?
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).
diakopter std: 1 while{1}
colomon prefers spaces around operators except when he doesn't :)
camelia std 8adbc60: OUTPUT«ok 00:01 123m␤»
diakopter std: 1 while.1 15:08
camelia std 8adbc60: OUTPUT«ok 00:00 121m␤»
diakopter heh
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
.oO( m/ '-' [<alpha>|<digit> <!before $>] / )
japhb__ lizmat: I could probably work with the read-32bit compromise, but it still feels like an exception I have to remember.
nodnod
15:10 denis_boyun left
diakopter does rakudo moar-support have a --gen-moar yet? 15:10
er, does the --gen-nqp in rakudo moar-support work with moar?
lue r: my $hanging-hyphens- = 42; 15:11
camelia rakudo 435d86: OUTPUT«===SORRY!=== Error while compiling /tmp/sS5qGLOeyF␤Preceding context expects a term, but found infix = instead␤at /tmp/sS5qGLOeyF:1␤------> my $hanging-hyphens- =⏏ 42;␤»
lue fwiw hyphens in idents already have some special rules.
r: my $endnum42; my $normalvar;
camelia ( no output )
15:13 rindolf left
lue
.oO(perhaps if we replace hyphen en or em dash (– or —), we can avoid these issues.)
15:13
15:13 rindolf joined, pecastro left 15:14 pecastro joined
lue hyphen *with 15:15
diakopter r: my \_ = $_; $_ = 55; say _ 15:28
camelia rakudo 435d86: OUTPUT«55␤»
diakopter lizmat: does that ^ seem right to you?
lue seem right to me. After, idents start with <alpha> :) 15:30
*After all (geez)
15:31 rindolf left 15:32 rindolf joined, lizmat left, woolfy left 15:33 Rotwang left
lue diakopter: ^^^ 15:37
diakopter lue: I meant that the \ makes it act like binding 15:38
lue Oh. That's weird.
r: my $bar; my \foo = $bar; $bar = 42; say foo 15:39
camelia rakudo 435d86: OUTPUT«42␤»
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. :-(
lue
.oO(Your test tests helped you find them though, right?)
dalek albot: e5ea5a4 | moritz++ | runtime/run-rakudo-jvm-evalserver:
use the installed perl6-eval-server
15:42
albot: 80846f7 | moritz++ | evalbot.pl:
Target reorganization

j => rakudo-jvm p => rakudo-parrot P => Pugs r => [rakudo-parrot, rakudo-jvm] rnP => [rakudo-parrot, rakudo-jvm, niecza, Pugs]
moritz evalbot control restart 15:43
15:43 camelia left
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
15:43 camelia joined, camelia left, camelia joined 15:44 ChanServ sets mode: +v camelia 15:45 ajr joined, ajr is now known as Guest17210
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
15:45 kaare_ joined 15:46 Guest17210 is now known as ajr_
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.␤»
..rakudo-parrot 435d86: OUTPUT«can I haz parrots and coffee nao?␤»
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 albot: bc2d62e | moritz++ | runtime/run-rakudo-jvm-evalserver:
fix typo
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.
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 rindolf left
japhb__
.oO( I've been coding relatively successfully for a third of a century ... clearly I'm doing *something* right. )
15:50
15:50 rindolf joined
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:50
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)␤␤»
moritz this is inconvenient :(
speaking of inconvenient
the rakudo-on-jvm build seems to recompile the setting each time I run 'make j-all', even though nothing has changed :( 15:54
and 'make -d' is uselessly verbose 15:59
ah, 'make --debug=b' is better
File `gen/jvm/rakudo-runtime.jar' does not exist.
dalek -pb: fe71aa5 | (Geoffrey Broadwell)++ | / (2 files):
Add comments and s/"/'/ for constant strings

Cleanup, style, and clarity, mostly.
16:00
-pb: 2050fac | (Geoffrey Broadwell)++ | lib/PB/Binary/Reader.pm:
Handle fixed-width values in PB::Binary::Reader

Handle 32- and 64-bit fixed width wire types, reading them as unsigned integers. This leaves just groups to implement amongst the wire types.
-pb: ce9bea8 | (Geoffrey Broadwell)++ | t/binary-reader.t:
Tests for fixed-width wire types

Test reading 32-bit and 64-bit fixed width wire types, both "bare" and as part of a kv field pair.
16:01 zakharyas left
moritz ... because I screwed up, that's why 16:03
dalek kudo/nom: e0c6add | moritz++ | tools/build/Makefile-JVM.in:
[JVM] rakudo-runtime.jar needs to be in .
16:09
kudo/nom: cd21411 | moritz++ | tools/build/create-jvm-runner.pl:
produce output from create-jvm-runner.pl
moritz LHF: rewrite tools/build/create-jvm-runner.pl in nqp or Perl 6
16:09 btyler joined 16:33 zakharyas joined 16:36 SamuraiJack_ joined, sqirrel left 16:40 xinming left, btyler left 16:41 xinming joined 16:52 xenoterracide joined 17:01 SamuraiJack_ left 17:19 denis_boyun joined
dalek p: fd1de52 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
port methods about inlineability from jvm backend
17:20
17:29 virtualsue joined
jnthn o/ from a plane :) 17:38
FROGGS o/
nwc10 will we get commits-on-a-plane? 17:48
actually, that's not special, with git
pushes from a plane...
moritz: is there a LHF ticket queue?
moritz nwc10: there are tickets in RT with [LHF] or [Easy] in the subject 17:49
jnthn nwc10: Yes, though probbably in #moaarvm :) 17:57
hm, latency :)
This plane is almost empty, so I can't have much bandwidth competition :) 17:59
18:07 zakharyas left 18:08 sqirrel joined 18:27 SmokeMac_ joined 18:30 SmokeMachine left
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 kudo/nom: 0e8a78f | (Steve Mynott)++ | README:
fix rakudo jvm Configure line in doc
lue
.oO("Why is this so slow? I paid that tech monkey good money so I could stream movies at 2160q !")
18:33
18:35 benabik left, benabik joined 18:38 benabik left 18:41 SmokeMachine joined 18:42 SmokeMachine left, SmokeMachine joined 18:43 benabik joined 18:44 SmokeMachine left, SmokeMachine joined 18:45 benabik left, sqirrel left, SmokeMac_ left 18:47 benabik joined
moritz has found the "nostalgy" plugin for thunderbird and is much happier than before 18:49
lue researches nostalgy 18:51
18:51 SmokeMachine left, SmokeMachine joined 18:52 SmokeMachine left
retupmoca ok, I've created a pull request for rakudo and nqp for my attempt at creating a simple version of gethost() 18:53
18:53 SmokeMachine joined
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:54
18:56 SmokeMachine left 18:57 SmokeMachine joined 19:02 raiph joined
moritz retupmoca++ 19:02
19:02 rindolf left
diakopter moritz: don't you have a moar bommit cit? 19:04
uhm.
commit bit
colomon now wants a bommit cit 19:05
diakopter now wants lunch
moritz diakopter: I do, but I'd suggest to give dagurval one 19:06
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
unless I'm not understanding it
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
but that's the only part I need :) 19:09
FROGGS gethost is intended to lookup a name by ip too, IIRC
moritz retupmoca: I'd say we ignore that part of S29 for now
retupmoca: make it a function gethostname() that returns a Str, and I'll merge it
retupmoca will do 19:10
moritz retupmoca: we can worry about the fancy class pieces once we are sure we actually want them
moritz builds the NQP part 19:11
19:12 dmol joined
dalek p: 9fcd736 | (Andrew Egeler)++ | src/vm/ (4 files):
Add gethostname op
19:16
moritz retupmoca++
raiph does anyone know of good recent blog posts or discussions on "compiler compilers" as defined in en.wikipedia.org/wiki/Parser_generator?
19:16 benabik left
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
rs are not capable of handling semantic or target architecture information."
19:16 benabik joined
raiph (which is from the wikipedia page I linked) 19:17
19:17 kaare_ left
raiph or to be much more specific, what compiler generators do you know that ARE "capable of handling semantic or target architecture information"? 19:21
lue NQP? 19:22
19:23 sqirrel joined
TimToady we don't really use a compiler generator in the sense they mean it 19:24
we just make it easy to write a compiler in Perl 6 :)
perigrin Marpa is a compiler generator in the sense they mean it ... I think.
except ... not really ... by half.
TimToady if some optimizer wants to pretend it's a compiler generator later on, that's great, but not what Perl 6 is about
moritz perigrin: I thought Marpa was "just" a parse generator
perigrin moritz: right ... I corrected myself :) 19:25
moritz perigrin: aye
19:26 woolfy joined
lue if STD could run Perl 6, I think viv would qualify as a compiler generator :) 19:31
GlitchMr github.com/rakudo/rakudo/commit/88...6b0f348e17 19:32
Interesting. I ran that by accident in 2013.01, and it worked. But it's probably so old that accidentally worked. 19:33
it accidentally*
dalek kudo/moar-support: 1185c34 | (Tobias Leich)++ | src/vm/moar/ops/perl6_ops.c:
stub p6bool
19:36
retupmoca moritz: pull request updated 19:43
GlitchMr github.com/rakudo/rakudo/commit/49...ac14d1e059 19:45
Language confusion ;-).
FROGGS I do that too, almost every day :o) 19:46
(at $work)
GlitchMr Actually, I sometimes used -> in Perl 6. 19:50
Or $hash{key} syntax. 19:51
FROGGS the ~/. typo is usually my only stolperstein 19:52
retupmoca is there a portable conditional-compilation syntax?
more specifically, I want to say "If running on rakudo-parrot, use this code, otherwise use this code over here"
lue r: say $*VM<name> 19:53
camelia rakudo-jvm 882e33: OUTPUT«jvm␤»
..rakudo-parrot 0e8a78: OUTPUT«parrot␤»
timotimo well, there still is a $known_backends there 19:54
lue retupmoca: any chance $*VM<name> would serve your needs?
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
with an error or something, but with the rest of the features usable
timotimo you can run-time import if you supply all names that you want to import
lue r: BEGIN { say $*VM<name> }
camelia rakudo-jvm 882e33: OUTPUT«jvm␤»
..rakudo-parrot 0e8a78: OUTPUT«parrot␤»
lue apparently yes. 19:56
timotimo r: try require MIME::Base64 <&encode &decode>; say &encode;
camelia rakudo-parrot 0e8a78, rakudo-jvm 882e33: OUTPUT«(Any)␤»
timotimo and then you can do things like &encode //= sub { ... }
lue
.oO(Arglist case of use is implemented ‽)
19:57
FROGGS star: try require MIME::Base64 <&encode &decode>; say &encode;
camelia star 2013-09: OUTPUT«(Any)␤»
timotimo is that actually part of star?
FROGGS star: use MIME::Base64
camelia ( no output )
timotimo oh, apparently it is 19:58
retupmoca MIME::Base64 doesn't have exported subs
FROGGS ahh
retupmoca it has static methods
MIME::Base64.encode_base64
timotimo ah, so it exports a class?
right. you can supply that then
FROGGS star: try require MIME::Base64; say &MIME::Base64.encode;
camelia star 2013-09: OUTPUT«No such method 'encode' for invocant of type 'Any'␤ in block at /tmp/FlcV8XbU27:1␤␤»
19:58 dansamo joined
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␤␤»
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
FROGGS star: use MIME::Base64; say MIME::Base64.^methods 19:59
camelia star 2013-09: OUTPUT«encode_base64 decode_base64␤»
Quom That's a little redundant
timotimo require still needs you to give a list of imported symbols, right?
FROGGS star: try require MIME::Base64; say &::('MIME')::('Base64').encode_base64
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/…»
dalek kudo/nom: ec29c0f | (Andrew Egeler)++ | / (4 files):
Implement gethostname()

Squashed commit of github.com/rakudo/rakudo/pull/221
Signed-off-by: Moritz Lenz [email@hidden.address]
20:00
timotimo star: try require MIME::Base64 <Mime::Base64>; say &::('MIME')::('Base64').encode_base64
benabik star: try require MIME::Base64; say &::('Mime::Base64::encode_base64')
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/…»
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␤␤»
FROGGS star: try require MIME::Base64; say ::('MIME')::('Base64').^methods 20:01
camelia star 2013-09: OUTPUT«encode_base64 decode_base64␤»
20:02 denis_boyun left
Quom r: class A { method b {1} }; say &A.b 20:03
camelia rakudo-jvm 882e33: OUTPUT«===SORRY!=== Error while compiling /tmp/ljiVK2iLrc␤Undeclared name:␤ &A used at line 1␤␤»
..rakudo-parrot 0e8a78: OUTPUT«===SORRY!=== Error while compiling /tmp/L9D4s7l8aw␤Undeclared name:␤ &A used at line 1␤␤»
Quom std: class A { method b {1} }; say &A.b
retupmoca moritz: tyvm :)
camelia std 8adbc60: OUTPUT«ok 00:01 128m␤»
Quom n: class A { method b {1} }; say A.&b
camelia niecza v24-98-g473bd20: OUTPUT«===SORRY!===␤␤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…»
Quom n: class A { method b {1} }; say &A.b # oops
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…»
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
Quom Is &Class.meth unimplemented? 20:04
timotimo probably
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
since we have Enc::MIME::Base64 as well (which doesn't compile for me)
Quom n: class A { method b {1} }; say A.<&b> 20:05
camelia niecza v24-98-g473bd20: OUTPUT«(Any)␤»
retupmoca (this is for an Email::MIME dependency FYI)
Quom r: class A { method b {1} }; say A.<&b>
camelia rakudo-parrot 0e8a78, rakudo-jvm 882e33: OUTPUT«(Any)␤» 20:06
20:06 Mouq left, Quom is now known as Mouq
moritz I don't think &Type.method will ever work 20:06
because that just calls a method on a Sub object 20:07
(orelse fails)
Mouq moritz: At the same time, STD seems to think it's okay
std: &blabla 20:08
camelia std 8adbc60: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'blabla' used at line 1␤Check failed␤FAILED 00:01 124m␤»
FROGGS Mouq: it is okay if the method exists
moritz to get a reference to a method, use Type.^can('method')[0]
std: &Blabla
camelia std 8adbc60: OUTPUT«===SORRY!===␤Undeclared name:␤ 'Blabla' used at line 1␤Check failed␤FAILED 00:01 124m␤»
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]
FROGGS std: class A { }; A.foo()
camelia std 8adbc60: OUTPUT«ok 00:01 122m␤»
FROGGS ENOCHECKFORMETHODS
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
FROGGS: syntactically, there is nothing wrong with what you wrote.
FROGGS why not just adopt MIME::Base64 and make it better?
lue: I know, that is why &A.foo is fine for std
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
lue 's preferred action plan is MIME::Base64 becomes Pure Perl6, and optionally Enc::MIME::Base64VM::Parrot::MIME::Base64
20:10 virtualsue left
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
20:11 Mouq left
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
moritz retupmoca: in case of doubt, use eval
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
retupmoca moritz: I'll work on it if you hand it to me 20:13
I'd like to have a portable MIME::Base64 for Email::MIME
moritz retupmoca: should I just fork it into the perl6 organization, and give you a commit bit?
retupmoca moritz: works for me
timotimo lue: hah, are you willing to believe that?
lue I'm assuming MIME::Base64 is based on the RFC 2045, yes?
timotimo: I'm willing to at least try it and see what the experimentation data says :) 20:14
timotimo sure
i'm pessimistic about rakudo performance, honestly
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.␤»
..rakudo-parrot 0e8a78: OUTPUT«It can't be that bad. How long did this take? "0.05908318" Oh.␤»
diakopter timotimo: in general? in what timeframe?
moritz retupmoca: done
timotimo diakopter: "right now"
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."
timotimo i'm hopeful that moarvm will be noticably faster than parrot
retupmoca moritz: again, tyvm :) hopefully I won't take too long
timotimo lue: heh heh
r: say "It can't be that bad. How long did this take? \"{now - BEGIN now}\" Oh."
diakopter FROGGS: ping
camelia rakudo-jvm 882e33: OUTPUT«It can't be that bad. How long did this take? "0.148" Oh.␤»
..rakudo-parrot 0e8a78: OUTPUT«It can't be that bad. How long did this take? "0.060711066" Oh.␤»
moritz diakopter: those of us who actually *use* rakudo today are worried about rakudo's performance right now :-)
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
diakopter ..once it runs on a VM whose source I can trust top to bottom...
fsdo bottom
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
timotimo :D
diakopter FROGGS: do you think jnthn was suggesting I could work on the continuations port while he was away?
dalek osystem: ccce167 | moritz++ | META.list:
MIME::Base64 now lives in the perl6 organization
20:19
20:19 sqirrel left
diakopter FROGGS: relatedly, are you okay with me taking that on over the next day? 20:19
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.
camelia nqp-moarvm: OUTPUT«Unhandled exception: Bytecode segment overflows end of stream␤»
timotimo nqp-m: say("why u do dis"); 20:21
camelia nqp-moarvm: OUTPUT«Unhandled exception: Bytecode segment overflows end of stream␤»
FROGGS diakopter: I am okay with everything, since I tend to not understand the relations between the tasks/milestones :o)
moritz benabik: but the error message sounds kind of cool :-)
diakopter pokes someone to fix camelia nqp-m
moritz diakopter: I'll take a look
diakopter moritz: is it able to use --gen-moar in nqp yet?
dalek ar: b721a23 | moritz++ | .gitmodules:
MIME::Base64 now lives in the Perl 6 organization
moritz diakopter: should be, but I won't bother changing host07 now... 20:22
diakopter: because as soon as moar-support lands, we can use the unified rakudo build for all three backends
lue nqp-m: use MONKEY_DAM; 20:23
camelia nqp-moarvm: OUTPUT«Unhandled exception: Bytecode segment overflows end of stream␤»
moritz uhm, is anybody doing an R* release for October? 20:24
I've done 6 out of the last 7 star releases, and I'm starting to feel like a single point of failure 20:25
sleep& 20:28
lue good ♞ moritz o/ 20:29
diakopter SPF 45 is good 20:30
timotimo i have no idea what that means :(
lue diakopter: ww? 20:32
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:33
diakopter timotimo: single point of failure.. 20:35
timotimo oh, of course
what does the 45 refer to, though? :| 20:36
lue thought it was a recommendation of sunscreen strength
diakopter FROGGS: I was trying to ask if you had any interest in doing it instead
FROGGS diakopter: no, I don't even think that I am capable of doing it 20:37
lue So, do I just print www.perlfoundation.org/contributor_..._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:40
20:40 dansamo left
FROGGS lue: I copied it to a new document, formatted it nicely, signed and sent it both by email and snail mail 20:41
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:42
diakopter what's really stupid is these repositories have been merging pull requests from people who haven't signed it 20:44
(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
diakopter but nobody's been enforcing that for many years
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]/
But hey, as long as there's a CLA I need to sign, I'll do it. 20:46
(What's the best approach? Just one of snail/email, or both?)
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:47
lue
.oO(and arguably hilarious is that rakudo is the one thing you won't find under github.com/perl6)
20:48
timotimo: I don't think there's even a way to stretch the CLA out to merging a pull request, so... 20:49
timotimo o_O 20:51
i guess i'll make a cla some time soon
though i have no idea how to make that work with the snail mail stuff
like how much money i have to glue onto it
diakopter 2,900 euros last I checked 20:52
timotimo that's a lot of money 20:53
diakopter hey, 2-month long background checks cost a lot
geekosaur don't they swap . and , ? 3 euros isn't much :p
20:54 ajr_ left
tadzik timotimo: mail it 20:54
that's what I did
oh, I mean, *e*-mail it
timotimo ... i can do that?
tadzik I did that 20:55
the evidence shows that it worked
print, sign, scan, email
timotimo ah
yes, i do have a scanner.
20:55 pmurias joined
pmurias diakopter: re having to sign CLA for pull requests would be really annoying 20:56
diakopter pmurias: okay, but why have them for folks with commit bits then? 20:57
I'm sure plenty of folks have submitted more code in pull requests only than folks with commit bits
*some folks with commit bits
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
pmurias aren 20:58
'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?
diakopter pmurias: not historicall for rakudo
lue: you can bug [Coke] about it after a couple weeks
he can ping the proper folks
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 :)
timotimo diakopter: :)
tadzik lue: dunno, a week?
diakopter lue: just know the US postal service has collected saliva samples from every envelope for 30 years...
tadzik hah 21:01
lue so tonight I shall print-sign-scan-email, then. The email address is [email@hidden.address] or cla@ or webmaster@ or something, right?
diakopter that's NSA's operation SPITTOON
21:02 SmokeMachine left
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...
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? )
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.
diakopter it's not security; it's liability protection 21:06
lue aka securing your liabilities from threats :)
tadzik thanks to NSA and all that, the word "Security" now makes one think of something silly and paranoid :)
diakopter lue: liabilities are negative things... 21:07
timotimo that page is hard to print out properly
lue leaves an obligatory^W voluntary HAIL NSA! here before it's too late
diakopter here's an old one www.perlfoundation.org/attachment/legal/cla.pdf
lue timotimo: there's cla3.pdf (click "Legal" in the sidebar)
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
21:08 xenoterracide left
timotimo oh? 21:08
i just printed it out using gedit
meh, that's 2 pages 21:09
oh well.
i can duplexprint
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.
diakopter lue: high level compared to these? contributoragreements.org/wordpress/explore/ 21:11
dalek kudo/moar-support: 862eb4f | jonathan++ | src/vm/moar/ops/perl6_ops.c:
Implement nqp::p6bool for MoarVM.
21:14
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
lue s/Perl 6/Rakudo/ of course
retupmoca re: dispatching based on the current VM. Is there anything wrong with this approach? github.com/perl6/Perl6-MIME-Base64...Base64.pm6 21:17
diakopter retupmoca: you could have those packages export what you want.. or return from the load.. 21:18
retupmoca diakopter: I'm not sure how to do that while keeping support for MIME::Base64.encode_base('stuff') 21:21
without having to call new
s/encode_base/encode_base64/ 21:22
diakopter call new in the BEGIN block? :S 21:24
lue you could have modules that just contain functions, unless there's some reason you *need* a class. 21:26
japhb__ "Why can't I write to a buf8?" ... # TODO: override at_pos so we get mutability ... "Oh. Crap." 21:27
21:31 ihm joined
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:32
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
tadzik ask snarkyboojum
or deduce it from LICENSEs he has in other projects
provided he did put some in some
retupmoca not seeing one in any of his other projects 21:36
can I send a message via github?
or do I have to dig up an email address from somewhere?
tadzik I think github removed messaging 21:37
last time I wanted to message someone, I opened a bug in one of his repos :>
retupmoca I'll try that 21:38
lue
.oO(github.com/USER/adhoc-github-messages-to-me)
21:44 ihm left 21:49 preflex left 21:51 preflex joined, ChanServ sets mode: +v preflex 21:52 iSlug joined
dalek p: bf2001a | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
map sprintfdirectives for moar
21:53
jnthn Well, there's that one down :P
FROGGS *g*
22:02 felipe left 22:05 camelia left 22:06 camelia joined 22:07 bakedb joined
raiph lue, TimToady, perigrin, moritz: thx for answers to my questions 22:07
22:07 BinGOs joined, ChanServ sets mode: +v camelia
lue you're welcome :) 22:08
22:10 camelia left, camelia joined 22:11 ChanServ sets mode: +v camelia 22:12 pmurias left 22:13 iSlug left 22:16 Ulti joined
dalek p: aa78b28 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
s/seed/srand/, to be in line with jvm/parrot
22:17
diakopter nqp-m: say('alive') 22:19
camelia nqp-moarvm: OUTPUT«alive␤»
FROGGS am I allowed to kill it again?
diakopter camelia? sure
tadzik it has more than 9 lives 22:20
diakopter it has n+1 lives
tadzik MOAR LIVES
FROGGS nqp: nqp::srand(42) 22:21
camelia ( no output )
..nqp-moarvm: OUTPUT«No registered operation handler for 'srand'␤compile_op␤»
..nqp-parrot: OUTPUT«error:imcc:syntax error, unexpected INTC, expecting '(' ('42')␤ in file '(file unknown)' line 37013511␤␤␤»
diakopter heh.
FROGGS nqp: say(nqp::srand(42))
camelia nqp-jvm: OUTPUT«42␤»
..nqp-moarvm: OUTPUT«No registered operation handler for 'srand'␤compile_op␤»
..nqp-parrot: OUTPUT«error:imcc:syntax error, unexpected INTC, expecting '(' ('42')␤ in file '(file unknown)' line 47803015␤␤␤»
diakopter nqp-parrot: nqp::srand(42.0)
camelia nqp-parrot: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I5003')␤ in file '(file unknown)' line 74698520␤␤␤»
diakopter nqp-parrot: nqp::srand(42.1)
camelia nqp-parrot: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I5003')␤ in file '(file unknown)' line 59674376␤␤␤»
diakopter weird
FROGGS it wants a bigint 22:22
diakopter nqp-parrot: nqp::srand(422938702938452837465)
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)␤»
FROGGS r: say(nqp::srand(42))
diakopter you knew that was coming
camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«42␤»
22:23 bakedb left
FROGGS the moarvm one does not return the seed btw 22:23
diakopter sounds like a NYI
22:24 bakedb joined
FROGGS nqp-m -e 'say(nqp::srand(42))' 22:24
arg expression cannot be void
diakopter nqp-m: say(nqp::srand(42))
camelia nqp-moarvm: OUTPUT«No registered operation handler for 'srand'␤compile_op␤»
diakopter nqp-m: say(nqp::seed(42))
camelia nqp-moarvm: OUTPUT«arg expression cannot be void␤handle_arg␤»
diakopter evalbot rebuild nqp-moarvm 22:25
hm, that used to work
22:25 wbill left
FROGGS nqp-jvm: say(nqp::srand(42.1)) 22:27
camelia nqp-jvm: OUTPUT«42␤»
diakopter nqp-jvm: say(nqp::srand("-0")) 22:28
camelia nqp-jvm: OUTPUT«0␤»
timotimo diakopter: i think it's "evalbot control rebuild" actually
but i think only some people are allowed to run that command? 22:29
evalbot control rebuild nqp-moarvm
diakopter boo; it's my server..
eh, I might remember someone removing that feature
timotimo oh :( 22:30
22:31 BinGOs left, colomon left, BinGOs joined 22:32 bakedb_ joined 22:33 bakedb left 22:34 colomon joined
dalek p: 52b8ada | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
srand returns its argument
22:37
p: 0607d97 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Map nqp::getlexouter for MoarVM.
22:41
22:42 spider-mario left, BenGoldberg joined, rurban joined
rurban pmichaud: Do you want to check the new parrot/new-packfile-api branch? I want to merge this tomorrow 22:43
22:46 xinming left 22:48 xinming joined, wbill joined 22:52 wbill left 22:55 wbill joined, wbill left
FROGGS gnight 22:57
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:00 rurban left 23:01 rurban joined, rurban left 23:12 konundra joined 23:13 konundra left 23:25 raiph left