»ö« 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.
timotimo i am amazed how much i retained of my driving skills after almost a year of no driving and just one and a half years of driving in total 00:00
TimToady (if p5 had those operators)
timotimo: keep thinking that, till you make a mistake :)
but really, driving skill consist primarily of knowing when you're sure and when you aren't 00:01
*skills
and it's hard to forget how to know something :) 00:02
timotimo right. i am cultivating a healthy fear of my own car, the road and the other cars
TimToady that's driving skills, not the mechanical bits of it
s/not/not so much/
timotimo an understandingbof how signs, intersections, lights and other things interact? predicting behavior of other participants? that sort of thing? 00:03
TimToady otoh, you don't realize how much the knowing bits depend on the mechanical bits till you drive on the other side of the road/car/stick 00:04
timotimo i think driving automatic or on the left side of the road would very quickly diminish my abilities to cope 00:05
00:05 jnap left 00:06 araujo left
TimToady knowing how to reduce ambiguity in the other driver's mind is the other end of it 00:06
00:06 araujo joined
TimToady sometimes committing to a course of action earlier is safer than waiting, if it reduces the consequences of deciding wrong 00:08
00:08 denisboyun left
TimToady like changing speed now before the other driver has to change lanes 00:08
timotimo i'm very excited to see what different technologies will come up with and around the concept of signaling data directly between cars 00:12
dalek ar: d185566 | (Timo Paulssen)++ | docs/announce/2013.08.md:
explain "nodal" a bit.
00:15
00:15 FROGGS left
timotimo i think i'll have to do a bit of manual merging for my "nodal" branch before it's good to merge 00:15
there's some conflicts around the spots where i had merged "rw" and "nodal" into one integer with bit arithmetic 00:16
00:19 FROGGS joined 00:25 Targen left
dalek rl6-roast-data: 796bb39 | coke++ | / (5 files):
today (automated commit)
00:29
timotimo oh wow, rakudo.jvm is falling behind a little? 00:30
oh well. beditmes. good • #perl6 00:31
rjbs Good bullet? Did he just threaten us? O_o 00:53
00:56 skinkitten joined 01:00 ssutch left, ssutch joined
TimToady skinkitten: welcome, feel free to lurk or chime in 01:02
most of the eurofolk are in bed now though... 01:03
skinkitten thank you thank you thank you
TimToady and the USians are all out partying :)
skinkitten so that leaves....?
TimToady geezers like me
rjbs reads the scrollback and realizes he hasn't put "get learner's permit" into his new todo list.
TimToady dinner, really really & 01:05
01:28 FROGGS_ joined, FROGGS left 01:31 jnap joined 01:36 sidus left 01:38 jnap left, berekuk left 02:03 FROGGS_ left 02:09 ggoebel2 left 02:10 ggoebel joined 02:19 FROGGS joined
japhb_ What's the 'nextwith' variant that restarts a proto dispatcher? 02:20
JimmyZ nextsame? 02:21
TimToady nope, that continues down the chain
there isn't one, afaik
assuming you want to restart on the current proto 02:22
course, if you know where it is, you can just call it
the recently specced samewith recalls the entire chain, but in theory it should find the correct proto if the types are right :) 02:33
02:33 Mouq joined
TimToady don't really like the name "samewith" though 02:34
JimmyZ I don't like the name keyof :P
TimToady since "same" already means something very different on the other end
JimmyZ non-samewith 02:35
;)
TimToady yeah, 'of' means from, and the key goes to the object, not from it
JimmyZ keyof get ket type ... 02:36
better typeofkey?
TimToady domain/range is more accurate
but that doesn't really work either
JimmyZ ToK
%h.^type('Key') 02:37
%h.^typeof('Key') 02:38
TimToady keyby, keyas, keyed
ktype
JimmyZ kype :P 02:39
TimToady just 'by' might work 02:40
JimmyZ .by?
TimToady except people will start passing closures to it :)
JimmyZ what about value type?
TimToady don't understand what you're asking 02:41
JimmyZ keyof returns type of hask key
in typed hash
TimToady .ix 02:42
02:42 PacoAir left
JimmyZ TimToady: github.com/rakudo/rakudo/blob/nom/...sh.pm#L253 02:42
TimToady yes, that's what we're talking about 02:43
.ix would say what the index is
or should I say WHAT it is?
we use the term "indexed" for both arrays and hashes 02:44
so I think .ix would be a better name than .keyof
JimmyZ or .Tkey ? 02:45
TimToady type would be implied by the name, just as it is with 'of'
JimmyZ it returns Tkey :-) 02:46
TimToady to be honest, I like Tkey less than keyof :) 02:47
JimmyZ hehe
naming is always hard
TimToady yeah 02:48
especially knowing when to use an existing name, and when to invent something new
JimmyZ ofkey?
TimToady anything contain 'of' is going to be confusing 02:49
*containing
JimmyZ .get-type('Key'), .get-type('Value') 02:50
.get-typeof-key :) 02:51
.get-type-of-key :)
TimToady .get is a smell
names shouldn't be verbs
JimmyZ .key 02:52
.keytype
TimToady except...a key is an individual thing
key/value is always a concrete pair
the type of the value is 'of', so I think the type of the key should be 'ix' 02:53
it's the same length, which is the most important thing :)
JimmyZ what about type of value?
TimToady .re vs .im
that's already 'of'
JimmyZ of
02:54 jaldhar joined
JimmyZ what x means? 02:55
grondilu isn't that the x in index? 02:56
JimmyZ .tk ? 02:57
oh
02:57 abnorman left
JimmyZ so +1 to .ix 02:59
03:13 FROGGS left 03:20 preflex_ joined, ChanServ sets mode: +v preflex_ 03:21 preflex left, preflex_ is now known as preflex 03:23 fridim__ joined
dalek ast: ad7a961 | (David Warring)++ | S29-conversions/ord_and_chr.t:
fudge for niecza
03:37
03:54 grondilu left 04:05 abnorman joined 04:09 fridim__ left 04:22 Mouq left 04:43 BenGoldberg left, Mouq joined 05:03 skinkitten left 05:30 FROGGS joined
moritz \o 05:30
05:35 skulls joined 05:37 ksh left
Mouq o/ 05:38
05:44 kaare_ joined
diakopter how do I convert my git current working changes to a branch 05:44
05:46 abnorman left
JimmyZ diakopter: Did you commit? 05:53
diakopter: if not , git stash and switch to new branch and git stash pop 05:55
dagurval r: END try fail "a"; say "b"; 06:00
camelia rakudo e9e99b: OUTPUT«b␤a␤current instr.: 'throw' pc 379999 (src/gen/CORE.setting.pir:161276) (src/gen/CORE.setting:10132)␤called from Sub 'sink' pc 415581 (src/gen/CORE.setting.pir:174365) (src/gen/CORE.setting:11503)␤called from Sub '' pc 483 (src/gen/perl6.pir:183) (src/gen/main.nqp:…
dagurval should the end phaser throw like this when the failure is inside a try?
06:02 lizmat left
Mouq rnp: say (16 < * < 66)(5) 06:07
camelia niecza v24-88-g1f87209: OUTPUT«False␤»
..pugs: OUTPUT«*** Cannot cast from VBool False to VCode (VCode)␤ at /tmp/u5lEWaAhqz line 1, column 5 - line 2, column 1␤»
..rakudo e9e99b: OUTPUT«True␤»
TimToady dagurval: seems like a bug 06:08
Mouq: seems like a bug :) 06:09
Mouq Yeah, it is; I've been looking through the bug reports 06:10
TimToady rnp: say { 16 < $_ < 66 }(5)
camelia rakudo e9e99b, niecza v24-88-g1f87209: OUTPUT«False␤»
..pugs: OUTPUT«<SubBlock(<anon>)>␤*** Cannot cast from VBool True to VCode (VCode)␤ at /tmp/K5cGKmmYxM line 1, column 1 - line 2, column 1␤»
TimToady looks like it's maybe being treated as (16 < *) < 66 06:11
r: say (16 < * == False)(5) 06:12
camelia rakudo e9e99b: OUTPUT«True␤»
TimToady yeah, that's exactly what it's doing
r: try fail 'a' 06:13
camelia rakudo e9e99b: OUTPUT«a␤current instr.: 'throw' pc 379999 (src/gen/CORE.setting.pir:161276) (src/gen/CORE.setting:10132)␤called from Sub 'sink' pc 415581 (src/gen/CORE.setting.pir:174365) (src/gen/CORE.setting:11503)␤called from Sub 'MAIN' pc 401 (src/gen/perl6.pir:148) (src/gen/main.nq…
TimToady r: try { fail 'a' }
camelia rakudo e9e99b: OUTPUT«a␤current instr.: 'throw' pc 379999 (src/gen/CORE.setting.pir:161276) (src/gen/CORE.setting:10132)␤called from Sub 'sink' pc 415581 (src/gen/CORE.setting.pir:174365) (src/gen/CORE.setting:11503)␤called from Sub 'MAIN' pc 401 (src/gen/perl6.pir:148) (src/gen/main.nq…
TimToady r: try { fail 'a'; 42 } 06:14
camelia rakudo e9e99b: OUTPUT«a␤current instr.: 'throw' pc 379999 (src/gen/CORE.setting.pir:161276) (src/gen/CORE.setting:10132)␤called from Sub 'sink' pc 415581 (src/gen/CORE.setting.pir:174365) (src/gen/CORE.setting:11503)␤called from Sub 'MAIN' pc 401 (src/gen/perl6.pir:148) (src/gen/main.nq…
06:14 FROGGS left
TimToady doesn't need the END to misbehave 06:14
for one, it's probably not propagating the sink incorrectly 06:15
or wait, it's just doing a return of some sort, and there's no sub 06:16
TimToady is too tired to think about this one...
r: try { die 'a'; 42 }
camelia rakudo e9e99b: ( no output )
TimToady r: END try die 'a'; say 'b'
camelia rakudo e9e99b: OUTPUT«b␤»
TimToady it catches die, but not a failure return 06:17
spec says a try is supposed to also imply 'use fatal' inside, but that's probably NYI 06:18
in any case, I don't think a try should ever return a failure
for now, don't use 'fail' when you mean 'die', I guess 06:20
moritz rakudo currently sinks the return value of the try block outside the block
TimToady the propagation inward is specced but NYI, yes 06:21
but whether or not that happens, I suspect it's against the spirit of try to return a failure 06:22
moritz propagation inward is very problematic 06:23
most VMs don't give you a sane way to to propagate extra information inward
Mouq (fail allows one to say that a sub/etc failed but still return a value?) 06:24
moritz Mouq: fail() returns a Failure, which dies when used as a normal value 06:25
dagurval I am adding IO.path.rmdir and making it fail (as spec), I found this (bug?) when I was making sure my temporary dir were removed in the end of tests (END try $tmpdir.rmdir)
I didn't expect that to blow up 06:26
moritz TimToady: how about we abolish sink context, and only return Failure from side-effect free routines?
you usually don't call them and ignore the result
and then also abolish the whole reify-lazy-lists-in-sink-context thing, because that doesn't work out in practise 06:27
declare for-loops to be eager
and be happy
06:27 xenoterracide left, xenoterracide joined
moritz one of the main arguments for Failure is concurrency, but you can only proper micro-level concurrency with side-effect free functions 06:28
and for anything more heavy-weight (like threads, promises) you can just catch the exception 06:29
06:37 logie joined 06:51 logie left 06:52 pdcawley joined
moritz moritz.faui2k3.org/tmp/rakudo-star-...RC1.tar.gz # another R* release candidate. Please test 06:57
pdcawley moritz: Is this parrot or jvm based? 07:00
moritz pdcawley: parrot
I don't think panda works on the JVM yet 07:01
pdcawley Ah. I mostly want to be playing with the concurrency stuff.
panda?
moritz the module installer
pdcawley ah.
moritz pdcawley: then just use the compiler release, not star
pdcawley I can see why that's vaguely essential for an R* release.
And I am using the compiler release.
moritz ok, great 07:02
07:48 Teratogen left 07:51 FROGGS joined 07:52 Teratogen joined, Teratogen left, Teratogen joined, Teratogen left 07:54 rindolf joined 08:00 hummeleBop joined, denis_boyun joined 08:08 spider-mario joined 08:09 spider-mario left 08:11 grondilu joined 08:17 sidus joined 08:23 Rotwang joined 08:24 spider-mario joined
dagurval r: sub f { fail X::IO.new(path => "", os-error => "") }; my $c = f; say $c.isa(X::IO); say $c ~~X::IO 08:47
camelia rakudo e9e99b: OUTPUT«False␤False␤»
dagurval how can I check if a failure is of a given exception type?
moritz r: r: sub f { fail X::IO.new(path => "", os-error => "") }; say f().perl 08:49
camelia rakudo e9e99b: OUTPUT«Failure.new(exception => X::AdHoc.new(payload => X::IO.new(os-error => "")))␤»
moritz r: r: sub f { fail X::IO.new(path => "", os-error => "") }; say f().payload ~~ X::IO
camelia rakudo e9e99b: OUTPUT«X::IO<1483447181>␤ in method <anon> at src/gen/CORE.setting:11500␤ 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/CdO2oKRU1_:1␤␤»
moritz r: r: sub f { fail X::IO.new(path => "", os-error => "") }; my $f = f(); $f.defined; say $f.payload ~~ X::IO 08:50
camelia rakudo e9e99b: OUTPUT«X::IO<-796126142>␤ in method <anon> at src/gen/CORE.setting:11500␤ 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/opXCUWWoXt:1␤␤»
moritz r: r: sub f { fail X::IO.new(path => "", os-error => "") }; my $f = f(); $f.defined; say $f.exception ~~ X::IO 08:51
camelia rakudo e9e99b: OUTPUT«False␤»
moritz r: r: sub f { fail X::IO.new(path => "", os-error => "") }; my $f = f(); $f.defined; say $f.exception.perl
camelia rakudo e9e99b: OUTPUT«X::AdHoc.new(payload => X::IO.new(os-error => ""))␤»
moritz wat.
dagurval r: sub f { fail X::IO.new(path => "", os-error => "") }; my $c = f; say $c.isa(X::AdHoc); say $c ~~X::AdHoc 08:52
camelia rakudo e9e99b: OUTPUT«False␤False␤»
moritz r: r: sub f { fail X::IO.new(path => "", os-error => "") }; my $f = f(); $f.defined; say $f.exception.payload ~~ X::AdHoc 08:55
camelia rakudo e9e99b: OUTPUT«False␤»
moritz r: r: sub f { fail X::IO.new(path => "", os-error => "") }; my $f = f(); $f.defined; say $f.exception.payload.perl
camelia rakudo e9e99b: OUTPUT«X::IO.new(os-error => "")␤»
08:55 huf joined 09:01 SamuraiJack left
moritz r: say X::IO.HOW 09:05
camelia rakudo e9e99b: OUTPUT«Perl6::Metamodel::ParametricRoleGroupHOW.new()␤»
BabsSeed Hey #perl6
moritz so it's a role
hi BabsSeed
I don't think that should interfere with typechecking
r: say dir('/nosuchdir');
camelia rakudo e9e99b: OUTPUT«Failed to get the directory contents of '/nosuchdir': readdir failed: No such file or directory␤ in block at src/gen/CORE.setting:12822␤ in method contents at src/gen/CORE.setting:12818␤ in sub dir at src/gen/CORE.setting:12847␤ in block at /tmp/1ZKD5RXPSp:1␤…
BabsSeed I've been away, how is every/(one|thing)/?
moritz r: say dir('/nosuchdir').defined;
camelia rakudo e9e99b: OUTPUT«Failed to get the directory contents of '/nosuchdir': readdir failed: No such file or directory␤ in block at src/gen/CORE.setting:12822␤ in method contents at src/gen/CORE.setting:12818␤ in sub dir at src/gen/CORE.setting:12847␤ in block at /tmp/YXdmUdwjZ8:1␤…
moritz BabsSeed: diverse :-)
BabsSeed r: say "Welcome back BabsSeed"; 09:06
camelia rakudo e9e99b: OUTPUT«Welcome back BabsSeed␤»
BabsSeed If I wrote something 12 months ago in p6, is there any reason it wouldnt work in today's rakudo? Is syntax set in stone or not? 09:08
FROGGS BabsSeed: to about 99.999% yes 09:10
jnthn I wouldn't put quite so many 9s :P
Really, though, depends what it was doing.
The core syntax has been stable. But there's been various changes around IO stuff, for example. 09:11
BabsSeed I'm planning to write a web/MVC framework on p6, like a lightweight Catalyst 09:13
Wondering if now is a bad time to start :D
tadzik it's as good time as it always was :) 09:14
BabsSeed I figure it's going to be very important to adoption, having a good framework 09:15
09:15 FROGGS left
arnsholt slava: Not a problem. I'm mostly around during .eu office hours and early evening 09:15
09:20 dalek left, dalek joined, ChanServ sets mode: +v dalek 09:27 FROGGS joined
timotimo fwiw, i thought "good •" would be read as "good point" 09:34
jnthn arnsholt: Still up for Tuesday øl i Oslo? :) 09:35
jnthn finally got all his info, just in time for the trip... :)
hm, lots of backlog to read...
arnsholt jnthn: Sounds good! 09:37
jnthn r: my @a = 1..100; say @a[* % 5] 09:38
camelia rakudo e9e99b: OUTPUT«1␤»
09:40 thou left
BabsSeed not_gerd Going to set Ubuntu back up on my desktop 09:45
It compiles a bit faster than my VPS.
09:49 dmol left
masak good antenoon, #perl6 09:51
09:51 dmol joined
jnthn o/ masak 09:53
09:55 xinming left 09:56 xinming joined, Rotwang left 09:58 iSlug joined 10:03 lizmat joined 10:22 iSlug left 10:35 berekuk joined 10:47 denis_boyun left 11:00 berekuk left
moritz \o * 11:07
FROGGS jnthn: for loading modules :from<NQP> I changed load_modules signature and had to update stage0 for vm/parrot. How do I do that for vm/jvm?
jnthn: I think I can do that manually, I just need to know how... do I need to unpack that .jar's? 11:08
or can I cross compile it?
11:10 lizmat left
jnthn FROGGS: There's a make bootstrap-files target in the NQP JVM makefile also... 11:10
11:10 denisboyun joined
jnthn Shouldn't need to do anything with the JARs, no :) 11:11
Why does it need the rebootstrap? Breaking change?
FROGGS jnthn: but for vm/parrot I was unable to build up to stage0, so I had to do that manually
jnthn: yes
jnthn ...manually?
FROGGS yes :o)
jnthn you hacked the PIR o.O
FROGGS err, yes
sure
jnthn Yes, that's not the best bet.
What was the incompatibility, ooc?
FROGGS and after it built fine, I called make bootstrap-files 11:12
load_module() had 3 params instead of 2
it wasnt too bad, I just had to create a hash and pass it as second arg, when calling load_module 11:13
jnthn I think we can probably find a way to migrate it without such problems
I mean, keep the slurpy. If it has 1 arg, check if the first one is nqp::ishash(...)
FROGGS hmm, but *GLOBALish which gets passed usually contains a hash, no? 11:14
jnthn No, it's a type object
That we do .WHO on?
FROGGS ahh, right
yes
jnthn So we can disambiguate :)
FROGGS true
jnthn You might not even need a rebootstrap this wya. 11:15
*way
FROGGS okay, I'll do that and push to a branch again
jnthn \o/
FROGGS++
FROGGS :o)
jnthn continues nudging the MoarVM selfhost further
FROGGS you mean, we leave the signature this way then?
jnthn**jnthn
jnthn Well, maybe rename the *@GLOBALish parameter to something more accurate :) 11:16
FROGGS k
jnthn *@extras or so, then look in it
11:16 berekuk joined
jnthn I guess there's 3 combinations you need to care about 11:16
FROGGS k
jnthn options hash
options hash, globalish
globalish
FROGGS right
moritz watches YAPC::EU talks on youtube that he missed IRL 11:20
FROGGS linky?? 11:21
moritz www.youtube.com/user/yapctv?feature=watch
jnthn Aww, none of mine are there yet :) 11:22
moritz but the day 3 lilghtning session is 11:23
with a highlight around 1h4m 11:24
11:26 pdcawley left 11:27 pdcawley joined 11:33 sidus left 11:37 zakharyas joined, lizmat joined 11:38 lizmat left, PacoAir joined 11:44 berekuk left 11:45 pdcawley left, berekuk joined 11:48 lizmat joined 11:56 berekuk left 11:57 berekuk joined 12:12 zakharyas left 12:22 berekuk left 12:23 berekuk joined 12:24 berekuk left 13:12 berekuk joined 13:35 Rotwang joined 13:36 SamuraiJack joined 13:41 rindolf left, BenGoldberg joined 13:48 JimmyZ_ joined 13:51 JimmyZ_ is now known as JimmyZ
dalek p: 11d5fa2 | (Tobias Leich)++ | t/ (2 files):
moved sprintf tests into right place
13:52
14:00 JimmyZ left, JimmyZ joined 14:02 JimmyZ left, JimmyZ joined, JimmyZ left 14:03 JimmyZ joined
dalek ar: f07c159 | moritz++ | tools/star/release-guide.pod:
note this release in the relase guide
14:04
14:09 pmurias joined
pmichaud good morning, #perl6 14:10
FROGGS pmichaud: o/
lizmat pmichaud! good to see you (as it were)! 14:11
jnthn morning, pmichaud o/
pmurias pmichaud: good morning
moritz the captcha for updating the Rakudo wikipedia page was "zetaoctet". Fits somehow :-) 14:15
colomon moritz++ 14:18
TimToady it's not exactly a syntax change, but the spec just dropped the * from .bless so that we can optimize for the common case 14:41
14:42 Psyche^_ left
TimToady and lizmat++ is moving most of the special_variable stuff out of the grammar into error checking, which I guess is 'syntax change' of a benign nature 14:43
but yeah, the syntax is pretty stable these days 14:44
14:44 Psyche^ joined
FROGGS and it will stay stable :o) *cough* 14:45
14:48 sidus joined
moritz as stable as an S-Table 14:50
diakopter *organ* 14:54
dalek p: ddc476e | (Tobias Leich)++ | src/vm/ (2 files):
give load_module a signature similar to rakudo's

So we can use NQP's ModuleLoader like: use QAST:from<NQP>
FROGGS diakopter: you are not thread safe
diakopter or hatred safe 14:56
FROGGS jnthn: will this modify GLOBALish[0] or is it left untouched? gist.github.com/FROGGS/395419656d19b40d2ed9 15:03
15:03 thou joined
pmichaud moritz++ # rakudo star release 15:06
I'll work on getting a .msi version out this weekend.
moritz \o/ 15:08
jnthn FROGGS: Um, that setwho line looks suspect... 15:09
15:10 rindolf joined
jnthn FROGGS: That will modify the Perl 6 GLOBALish in place and make it not have a Stash, but an NQP hash. 15:10
FROGGS jnthn: yeah, I was fearing that... 15:11
15:11 thou left
jnthn FROGGS: I'd create a fresh, throw-away type object (just use knowhow meta-object or something) and attach the thing FLATTENABLE_HASH gives back to that. 15:11
FROGGS jnthn: but still using setwho, no? 15:12
jnthn Sure, but setwho it on the throwaway thing
FROGGS yeah, sure
jnthn And pass that.
FROGGS k
15:17 teslos joined, pdcawley joined, Mouq left
diakopter takes a look at github.com/FredrikNoren/ungit 15:21
pmurias how do I convert a parrot STRING* to a pmc? (nqp string)
jsparse.meteor.com/ # something like that for Perl 6 grammars would be awesome 15:22
arnsholt pmurias: STRING* is the Parrot string primitive type, so there should be a function or macro in parrot/string.h or somesuch 15:23
ingy *morning* 15:24
FROGGS morning ingy 15:25
15:30 pdcawley left
FROGGS jnthn: updated gist.github.com/FROGGS/395419656d19b40d2ed9 15:31
pmurias arnsholt: I found the way to do that 15:35
jnthn FROGGS: Not quite :)
FROGGS meh
*g*
jnthn my $target := nqp::knowhow().new_type(:name('GLOBALish')); 15:36
FROGGS ahh, okay
jnthn Otherwise you set the stash of the (global) KnowHOW type :)
FROGGS ohh
I see
pmurias hates the fact the nqp is built with some -Wc++-compact *and* we totally ignore that 15:42
jnthn I suspect that flag is inherited from Parrot's C flags, fwiw 15:43
15:43 ajr joined, logie joined, ajr is now known as Guest64425 15:44 Guest64425 is now known as ajr_
masak diakopter: the HN comments said that ungit eschews the staging area -- which is a pity, because I grow to like the staging area more day by day. 15:46
dalek kudo/nom: 466510b | (Tobias Leich)++ | src/Perl6/ModuleLoader.nqp:
wire NQP's module loader to
15:47
15:47 jj__ joined
jj__ Hi is anyone herer? 15:49
masak jj__: just us chickens. 15:50
jnthn Wir sind herer und damer... :P
15:51 jj__ left
masak .oO( we're all here, but some of us are herer than others ) 15:51
jnthn oops, scared them away :)
diakopter masak: I'm not sure I know what the staging area is
masak diakopter: it's the thing where things end up after 'git add'/'git rm' but before 'git commit'
diakopter oh
arnsholt pmurias: What was the right way? 16:01
arnsholt couldn't find it where he thought it'd be 16:02
dalek p: 96bacd7 | (Pawel Murias)++ | / (4 files):
Make nqp::getenvhash() return a hash on parrot, document it and test it a little.
16:05
pmurias arnsholt: github.com/perl6/nqp/commit/96bacd789b#L2R3401
arnsholt Oh, right 16:06
pmurias I'm not sure how to test we get the right environment variables as they are environment dependent ;) 16:07
dalek kudo/nom: e7e45be | (Tobias Leich)++ | tools/build/NQP_REVISION:
udpate NQP_REVISION (module loader changes)
jnthn pmurias: Why make it return a Hash? 16:08
arnsholt Hmm. See if $HOME or $(windows-specific) exists is a good enough start, probably
TimToady notes that redhat is an anagram of hatred...
pmurias does redhat use something else instead of $HOME? ;) 16:09
arnsholt It is, isn't it? It all makes sense to me now...
FROGGS PHP$ PERL6LIB=lib perl6 --ll-exception -e "use PHP;"
Method 'package_at_key' not found for invocant of class 'OwnedHash'
current instr.: 'statementlist' pc 193 ((file unknown):135) (lib/PHP/Actions.pm:9)
uhhh O.o
pmurias jnthn: as opposed to Env? so that it behaves the same way as on the JVM
jnthn pmurias: I said that we'd just treat modifying it as erroneous. 16:10
FROGGS (that PHP thing is just about 30 lines and should be a simple pure Perl6 sample slang)
jnthn We have to leave some wiggle room in these things, otherwise we'll just be inefficient everywhere...
masak $ perl6 -e 'use Python;' 16:12
NO LOL!
FROGGS *g*
would be a example candidate too :o)
maybe get it that far that it can parse Python block comments which say: /* put project euler code here */ 16:13
jnthn masak: It should detect you're trying to solve a Project Euler problem, and be like NO PROJECT EULER :P
FROGGS :P
masak jnthn: sounds fair. 16:16
pmurias jnthn: leaving some wiggle room for performance sensitive things makes sense 16:18
jnthn: but returning some horrible parrot PMC to make a rarely used operation doesnt 16:19
16:23 lizmat left
pmurias jnthn: how is %*ENV populated under rakudo-parrot? 16:23
ahh, it's #ifdef'ed 16:25
jnthn Differnetly from on JVM, iirc. :)
16:27 denisboyun left
pmurias how is moarvm doing? 16:28
jnthn Well, it's closing in on a Moar-hosted NQP being able to "hello world" :) 16:29
Or did you mean how is it doing env, in which case I dunno yet, but since we have to fake it on JVM... :)
pmurias when is it expected to replace parrot? 16:32
Ulti have you guys played with the Farabi IDE with Rakudo it's p. cool! github.com/azawawi/farabi 16:33
pmurias (as our fast startup vm of choice)
FROGGS pmurias: when there is something better 16:34
jnthn pmurias: At the point it works better than Parrot. :) I'd be guessing wildly if I tried to estimate that at this point :)
FROGGS one can say that it might be until x-mas
it will take a while to get everything in place (spectest wise) 16:35
but since it is a new-born vm, it might take much longer to implement features that are in parrot since decades 16:36
r: use QAST:from<NQP>; say QAST::SVal.new( :value<^-^> ).dump
camelia rakudo e7e45b: OUTPUT«- QAST::SVal(^-^)␤␤»
jnthn \o/
FROGGS *g* 16:37
that is cool somehow
timotimo awesome!
grondilu nqp on moarvm can say hello world? I tried and I got Not enough positional arguments; needed 1, got 0
FROGGS grondilu: not yet as I understand
jnthn grondilu: It's closing in on... :)
timotimo can we get a compiler to compile some qast that was built in p6?
jnthn grondilu: It can now parse and build the QAST for it, but not mroe than that.
FROGGS timotimo: I am working on a pure Perl 6 slang 16:38
16:38 rindolf left
FROGGS timotimo: and maybe one could inject QAST nodes directly? like a macro? 16:39
jnthn: do you know what is going on here? gist.github.com/FROGGS/43005fbb11ec07b7ad73 16:42
jnthn: if I let the grammar inherit from NQPCursor it fails differently, but I dont know if it gets further or dies earlier
16:48 skinkitten joined
FROGGS jnthn: I guess that rakudo's grammars are not that compatible to nqp's 16:49
jnthn FROGGS: Using the Perl 6 cursor type somewhere that an NQP one was expected...
LANG does language switching though, so in theory if it goes through that it should be somewhat OK 16:50
pmurias jnthn: so it's the opposite to nqp-js which can run some of the nqp-jvm old qast tests on pure node.js but can't parse hello world yet ;)
timotimo my father is hosting a carrera racing event and all i can think about is how uglyband dumbvthe management software is and how i would do it differently (and better of course) 16:54
16:54 denisboyun joined
timotimo being a programmer takesbthe fun out of some things ;) 16:54
FROGGS true :o) 16:57
timotimo the program looks like the stereopypical vb5 program 16:58
you know, the type where you trace ip addresses etc
jnthn realizes that he probably last wrote VB5/6 around 15 years ago... o.O 17:00
FROGGS after seeing these king of programs I feel kinda sad because there is no time to Rewrite All The Software on your own :/
timotimo yes 17:02
the program would strongly benefit from a separate back and front end 17:03
moritz and unit tests for the backend at least
timotimo a web interface optimised for tablets, for instance would work wonders
there is an open source carrera master unit firmware replacement with a software to use it 17:04
but that program is pure curses and not self-documenting
at the very least a software for that needs support for webcams with blob tracking and HUD ;) 17:06
17:07 kaare__ joined
timotimo and a program for an industrial robot to pick up and reset crashed cats 17:08
17:09 kaare_ left, nyuszika7h left
timotimo masaks talk can hopefully helpbme develop that. who sponsors the robot? :D 17:09
17:11 nyuszika7h joined 17:17 skulls left
masak :) 17:26
17:38 logie left, logie joined
timotimo hopingbmore talks will be uploaded today 17:40
FROGGS jnthn: that means that the block in token statementlist has a signature that expects something Any-ish? gist.github.com/FROGGS/43005fbb11ec07b7ad73 18:01
18:04 teslos left 18:13 teslos joined
timotimo wow, this person can sing (re: lightning talks day 3) 18:16
18:20 teslos left
masak timotimo: that's pdcawley++ (Piers Cawley). 18:23
diakopter hm, he said he preferred it wouldn't be online 18:26
18:27 BenGoldberg left
nwc10 moritz++ 18:29
moritz: "Some of the not-quite-there features include:" "* threads and concurrency"
soon, soon
:-)
18:29 araujo left 18:30 araujo joined
dalek kudo-star-daily: bde2fc0 | coke++ | log/version.log:
today (automated commit)
18:34
[Coke] grumbles that rakudo-star daily tests are still broken.
jnthn FROGGS: Yeah, 'cus NQP objects are not ~~ Any 18:45
FROGGS: I suspect we'll want to do something like JavaHOW does to "pretend", though it'll bee to be set up a bit differently than that.
timotimo the intelligent scheduler is not in rakudo-jvm yet? 18:47
[Coke] wierd, seems to work fine outside of cron. 18:49
timotimo huh? environment trouble? permission trouble?!
GlitchMr rn: my %hash is dynamic=a=>1; say %h<a>.VAR.dynamic; say %h<b>.VAR.dynamic;
camelia rakudo e7e45b: OUTPUT«===SORRY!=== Error while compiling /tmp/UaO2vWKYo2␤Variable '%h' is not declared␤at /tmp/UaO2vWKYo2:1␤------> h is dynamic=a=>1; say %h<a>.VAR.dynamic⏏; say %h<b>.VAR.dynamic;␤ expecting any of:␤ method arguments␤»…
..niecza v24-88-g1f87209: OUTPUT«===SORRY!===␤␤Variable %h is not predeclared at /tmp/NX4AL2XJtu line 1:␤------> my %hash is dynamic=a=>1; say ⏏%h<a>.VAR.dynamic; say %h<b>.VAR.dynamic␤␤Variable %h is not predeclared at /tmp/NX4AL2XJtu line 1:␤------> …
18:49 Targen joined
GlitchMr rn: my %h is dynamic=a=>1; say %h<a>.VAR.dynamic; say %h<b>.VAR.dynamic; 18:49
camelia rakudo e7e45b: OUTPUT«True␤True␤» 18:50
..niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Unable to resolve method dynamic in type Scalar␤ at /tmp/gD2RjGUB2B line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @ 576) ␤ at /…
GlitchMr Should %h<b>.VAR.dynamic be True in that case?
timotimo o_O 18:51
i'm surprised "is dynamic=a=>1" is even grammatical 18:52
jnthn timotimo: It's a trait on the var decl, then an assignment :)
timotimo ah
of course
the whitespace confused me ;)
18:52 SamuraiJack left
timotimo (or lack thereof, to be more exact) 18:52
jnthn GlitchMr: I think lizmat put it that way deliberately, at least... :) 18:53
GlitchMr rn: say 1.3e0 - 1.2 == 0.1; say (1.3e0 - 1.2).WHICH eq 0.1e0.WHICH
camelia niecza v24-88-g1f87209: OUTPUT«False␤False␤»
..rakudo e7e45b: OUTPUT«False␤True␤»
GlitchMr rn: say 1.3e0 - 1.2 == 0.1e0; say (1.3e0 - 1.2).WHICH eq 0.1e0.WHICH 18:54
camelia niecza v24-88-g1f87209: OUTPUT«False␤False␤»
..rakudo e7e45b: OUTPUT«False␤True␤»
GlitchMr Why first conditional is False in Rakudo, but second is True.
I mean, WHICH should be unique for every object (I think).
And well, these objects aren't even equal.
[Coke] timotimo: gotta be. which means something changed on feather recently, I suppose, weirder. 18:55
jnthn WHICH isn't unique for every object, it's value identity
GlitchMr Well, for numbers, yes.
jnthn rn: say 1.3e0 - 1.2 === 0.1e0; 18:56
camelia rakudo e7e45b, niecza v24-88-g1f87209: OUTPUT«False␤»
GlitchMr But still, these numbers aren't equal, yet WHICH sees them as equal.
nwc10 OK, Hahn. Hahn is actually closer to Frankfurt than Kent's International Airport, Manston is to the LPW venue by about 0.1km
but "London Oxford" and "London Lydd" airports are closer to London than Hahn is to Frankfurt
GlitchMr rn: say 1.3e0 - 1.2 == 0.10000000000000009e0; say (1.3e0 - 1.2).WHICH eq 0.10000000000000009e0.WHICH 18:57
camelia niecza v24-88-g1f87209: OUTPUT«False␤False␤»
..rakudo e7e45b: OUTPUT«False␤True␤»
jnthn GlitchMr: Probably WHICH is stringifying or something like that...
nwc10 goo.gl/maps/ausJ8 goo.gl/maps/FBKtR goo.gl/maps/ZIJNP goo.gl/maps/pV4Th
jnthn GlitchMr: And then precision gets it 18:58
GlitchMr github.com/rakudo/rakudo/commit/da...24b72c5f15 19:00
I assume it runs Perl 6 code, not Perl 5 code.
jnthn nwc10: London *Oxford*?! :P 19:01
GlitchMr r: say "" ~~ m:P5/(??{say "World"}/
camelia rakudo e7e45b: OUTPUT«False␤»
jnthn GlitchMr: Looks like
GlitchMr Why it even passes?
nwc10 jnthn: www.oxfordairport.co.uk/ 19:02
GlitchMr I mean, I forgot to close paren, but it passes.
nwc10 "Welcome to London Oxford Airport" - yes, they are having a laugh. Or desparate for trade
jnthn GlitchMr: Not sure; I guess Perl 5 considers that an error?
dalek rl6-roast-data: 3886612 | coke++ | / (5 files):
today (automated commit)
GlitchMr Yes
jnthn GlitchMr: May be missing error detection, then it falls back to parsing ( as a literal. Heck knows :) 19:03
Should certainly go in RT as a bug.
GlitchMr glitchmr@feather ~> perl -e '"a" =~ /(??{print}/'
Sequence (?{...}) not terminated or not {}-balanced in regex; marked by <-- HERE in m/(??{ <-- HERE print}/ at -e line 1.
pmichaud std: say "" ~~ m:P5/(??{say "World"}/ # curious 19:04
camelia std 06636e4: OUTPUT«ok 00:01 51m␤» 19:05
jnthn nwc10: Doesn't look like they fly many places...
pmichaud: hah. And we nabbed the STD_P5 regex grammar... :)
GlitchMr I find that strange, considering grammar has ')', but perhaps Perl 6 grammars are just strange :). 19:06
nwc10 jnthn: true. Most of the small UK airports don't. Or it's costa del sol and charter flights
[Coke] rakudo.parrot regression: S02-magicals/env.rakudo.parrot 14 - ENV members persist to child processes
pmichaud GlitchMr: the :P5 syntax is probably undertested in many ways
GlitchMr Makes sense.
pmichaud it's not been a high priority item, since most people use p6-syntax regexes... at least so far. 19:07
GlitchMr r: say "a" ~~ m:P5/(??{print}a/ # SIGSEGV 19:08
camelia rakudo e7e45b: OUTPUT«False␤»
GlitchMr r: say "a" ~~ m:P5/(??{say "world"}a/ # SIGSEGV
camelia rakudo e7e45b: OUTPUT«False␤»
GlitchMr glitchmr@feather ~> /usr/bin/perl6 -e 'say "a" ~~ m:P5/(??{print}a/'
PackFile_unpack: Buffer length 0 is shorter than PACKFILE_HEADER_BYTES 18.
Huh
glitchmr@feather ~> /usr/bin/perl6 -e 'say "a" ~~ m:P5/(??{print}a/'
fish: Job 1, '/usr/bin/perl6 -e 'say "a" ~~ m:P5/(??{print}a/'' terminated by signal SIGSEGV (Address boundary error)
This is... really random. 19:09
github.com/rakudo/rakudo/commit/ae...b629a6d49f 19:11
"+ Include file name in parser errors"
Huh? How could I miss a commit that does that.
Actually, whatever, it seems it's Changelog for a long range of commits. 19:12
moritz GlitchMr: commit 156de3be59136b3b75f4eb51c7ee1697667a5cfe 19:13
GlitchMr github.com/rakudo/rakudo/commit/a2...9b0d840e90 19:15
Unsupported use of %! variable; in Perl 6 please use your time to implement this in Perl6
I'm not sure if I understand that error.
"please use your time"
masak that seems a bit frivolous, yes. 19:16
19:16 telex joined
FROGGS hehe 19:16
I like it
masak asking a random user to implement something in Perl 6 -- I don't consider that helpful.
remember, most users have no plans to be core implementors. 19:17
[Coke] make it a normal .NYI if needs be.
masak aye.
at least, we should aim for having enough users such that that's true.
[Coke] masak, agreed.
with the "no plans"
nwc10 what's the Rakudo advice to downstream packagers? Install a binary as /usr/bin/perl6 ?
dalek ast: b4996e5 | coke++ | S12-attributes/recursive.t:
fudge for pugs
19:18
moritz nwc10: yes
GlitchMr nwc10: I think so.
I mean, even "make" in Rakudo makes "perl6" binary. 19:19
nwc10 OK. Thanks
GlitchMr And well, definitely packaging "perl" binary would be wrong. "rakudo" would make sense, but Rakudo doesn't do that.
[Coke] was 50f4549 tested on parrot? 19:20
GlitchMr I think people here are fine with Rakudo being "perl6".
[Coke] er, spec-tested?
nwc10 what's the expectation once rakudo-JVM and rakudo-MOAR come onstream? Because it's likely that an OS will have packages for 2 or even 3 variants of Rakudp
er, Rakudo
GlitchMr "rakudo-jvm", perhaps? Not sure, really.
(perhaps the use of "perl6" should be reconsidered)
(but then, people depend on "perl6" being Rakudo, in shebang, for instance) 19:21
But perhaps considering "nodejs" (not "node") being Node.js in Debian, perhaps it wouldn't be that confusing. And well, Perl 6 isn't really used. 19:22
nwc10 possibly you need some way of having /usr/bin/perl6 be "the preferred one" and all having longer unique names 19:23
does debian do alternatives for things like "visual editor" ? I forget
GlitchMr Well, Debian has update-alternatives.
nwc10 IIRC OS X has things like "perl" and "gcc" able to be switched 19:24
GlitchMr I'm sure it could work that "rakudo" is preferred name, and "perl6" is name of any Perl 6 implementation (decided by something like "update-alternatives").
nwc10 I think (but I haven't thought about this for long) that that's probably the way to go
as I forsee that quite a few users might want both rakudo-jvm and rakudo-moar available to them on the same machine 19:25
moritz sounds sensible
GlitchMr Usually "perl6" is Rakudo, but what would stop it from being, let's say, Niecza.
(other than it being somewhat confusing, because some scripts depend on "perl6" being Rakudo) 19:26
(I think Panda does, but not sure about that)
FROGGS well, if you install OpenJDK you still get a java executable 19:27
[Coke] I imagine if you needed rakudo, you'd specify with a use.
GlitchMr "require parrot"? 19:28
Well, by requiring Rakudo, I mean requiring Rakudo Parrot. 19:29
(by use of pir::)
FROGGS use Backend::Parrot
GlitchMr use Backend::NQP 19:30
use Backend::JVM
FROGGS because if there is another parrot-ish perl 6 interpreter taht provides pir...
GlitchMr That's the idea.
FROGGS or maybe if it is about pir:: maybe it should be like `use PIR`
:o)
GlitchMr Interesting.
Somebody could for example write a Perl 6 program where certain parts are written in Java. 19:31
As the result, JVM is the requirement.
And it's fine. Just specify you require JVM. 19:32
Also, Backend::JVM could be interesting, because you could for example implement JVM support in other implementations (in similar style to Inline::Java from Perl 5). 19:33
FROGGS right, and you can provide emulated pir:: ops
GlitchMr That too. 19:34
FROGGS so it is not directly about a backend but more about a feature
19:35 ssutch left
nwc10 wonders why you'd want emulated pir:: ops in the long term 19:35
but my view of the long term might be heretical
FROGGS nwc10: I have no idea :o) 19:36
GlitchMr Not sure if implementing pir:: would be worth it, but why not allow it?
However, there are reasons to use JVM methods on non-JVM implementations, for example.
nwc10 ah. didn't realise you meant that. Yes, I see no reason to disallow emulation
19:37 ssutch joined
GlitchMr Perl allows you to write non-portable scripts (for example, you can write script that manipulates Windows registry, but don't be surprised it only works with Windows). 19:37
Similarly, Perl 6 should allow writing scripts that depends on certain features of compiler, like pir::. 19:38
github.com/perl6/specs/commit/9607...f55f8d24a6 19:40
visitdir() is interesting.
I would rather expect something like visitdir '..', { }, but that works too. 19:41
jnthn The pir:: support should need a use statement at some point
The syntax was chosen so that you could write a module pir { our sub ... { } } etc, though :)
GlitchMr Well, I think pir would need something like AUTOLOAD, but it sounds right. 19:42
moritz there's a finite amount of pir:: opcodes 19:43
GlitchMr Also, it would be nice to specify minimal version of Parrot. 19:45
Let say Parrot 7.0 adds do_what_i_want method.
Let's*
There is no reason to run such code when you have Parrot 6.0.
jnthn Conveniently, use pir:ver<7.0.0> is already valid Perl 6 :)
moritz the information is allvailable $*VM or whatever it's called
GlitchMr And it would be nice if Perl 6 would detect do_what_i_want method after Parrot 7.0 was released (as long it was compiled with Parrot 7.0). 19:46
Without having to add information about it to Perl 6.
19:49 sidus left
pmurias GlitchMr: re node being nodejs in debian that's extremely annoying 19:49
GlitchMr: and that's why I used a node installed from source 19:50
GlitchMr And "ack" being "ack-grep" in Debian.
I know.
19:54 sidus joined 19:56 johnjohn101 joined
johnjohn101 is the jvm version of perl 6 out? 19:57
FROGGS johnjohn101: since one or two months, yes 19:58
or longer? I dunno
johnjohn101 where/how to I try it out? is it feasible for now?
GlitchMr It already passes 99% of spectests.
So it's usable.
FROGGS rakudo.org/downloads/rakudo/ 19:59
jnthn The main thing we're missing is a nice batteries-included release (with module installer, debugger, etc.) But the compiler release contains JVM support that works pretty nicely and is quite comprehensive. :) 20:00
nwc10 download the latest Rakudo from there (or get it from git), and see the section of the README starting "Building Rakudo on JVM"
timotimo i'd love to have a rakudo-as-applet so that i can build cool "try perl6" web app widgets 20:01
nwc10 I'm right in thinking that ConfigureJVM.pl has no --gen-nqp option yet?
johnjohn101 thanks, i'll have time next weekend. !!!
jnthn nwc10: It has one now.
timotimo i was imagining a widget that allows you to edit multiple files, store a couple older revisions and have tests run against your code whenever you hit "ok"
nwc10 jnthn: oh, OK. TFM hasn't caught up
20:01 kaare__ left
jnthn nwc10: I'm sure somebody patched the README about that the other day... 20:01
nwc10 jnthn: OK, maybe it's just my checkout hasn't caught up. 20:02
timotimo well, imagining is the wrong word. implementing would be the better word :P
jnthn Yeah, it's up to date on github.com/rakudo/rakudo
timotimo: I think sorear++ has plans for making that happen :) 20:03
nwc10 johnjohn101: by *next* weekend you might do better by cloning github.com/rakudo/rakudo and building from that, instead of using a tarball. Progress happens. 20:04
timotimo yes, he does. the plans didn't materialise early enough to coincide with my implementation ;)
johnjohn101 thanks. i love 3 day weekends
20:06 pmurias left 20:07 sidus left, virtualsue joined 20:10 slavik joined 20:13 BenGoldberg joined 20:17 denisboyun left, denis_boyun joined
FROGGS nqp: class Foo { method new(:$index) { say($index) } }; Foo.new(2); 20:22
camelia nqp: OUTPUT«2␤»
FROGGS haha
20:22 denis_boyun left
FROGGS nqp: class Foo { method new(:$index, :$test) { say($index ~ $test) } }; Foo.new(2, 4); 20:22
camelia nqp: OUTPUT«24␤»
FROGGS nqp: class Foo { method new(:$index, $test) { say($index ~ $test) } }; Foo.new(2, 4); 20:23
camelia nqp: OUTPUT«42␤»
FROGGS so, the named just take what is left after the positionals O.o
arnsholt Pretty normal way of doing things 20:24
nwc10 rn: class Foo { method new(:$index) { say($index) } }; Foo.new(2);
camelia rakudo cacdd1: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in method new at /tmp/d6U4dAqphA:1␤ in block at /tmp/d6U4dAqphA:1␤␤»
..niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Excess arguments to Foo.new, used 1 of 2 positionals␤ at /tmp/NwVyDx7lXr line 0 (Foo.new @ 1) ␤ at /tmp/NwVyDx7lXr line 1 (mainline @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CO…
arnsholt Common Lisp does that, more or less
nwc10 jnthn: confused, in that I thought you just said on #moarvm that it wronly works on Rakudo Parrot
or is r: now JVM?
arnsholt nwc10: Perl 6 is specced not to do it, thankfully. But NQP doesn't always follow the Perl 6 spec, obviously =) 20:25
FROGGS nwc10: nqp, not rakudo
jnthn nwc10: NQP on Parrot is wrong
nwc10 nqp: class Foo { method new(:$index) { say($index) } }; Foo.new(2);
camelia nqp: OUTPUT«2␤»
nwc10 aha, and that should have failed?
jnthn Aye.
FROGGS yes, it is insane
nqp: class Foo { method new(*@a, :$index) { say($index) } }; Foo.new(2, 3, 4); 20:26
camelia nqp: OUTPUT«␤»
nwc10 nqp-jvm: class Foo { method new(:$index) { say($index) } }; Foo.new(2); 20:27
camelia nqp-jvm: OUTPUT«Wrong number of arguments passed; expected 1..1, but got 2␤ in new␤ in <anon>␤ in <anon>␤ in eval␤ in evalfiles␤ in command_eval␤ in command_line␤ in MAIN␤ in <anon>␤ in <anon>»
nwc10 so just parrot?
20:27 dmol1 joined, dmol left
FROGGS yes 20:27
and since nqp-jvm is right here we can expect that there is no wrong nqp code flying around 20:28
jnthn FROGGS: There was in the Moar cross-comp... :)
FROGGS jnthn: yeah
20:29 btyler joined
FROGGS and it might be possible that a rakudo-jvm spectest fail is due to this... 20:29
[Coke] there are several new rakudo.jvm failures in the past week.
FROGGS but I dont know how good the odds are on that
20:32 virtualsue left
FROGGS [Coke]: I see... 20:38
20:40 hummeleBop left 20:47 virtualsue joined 20:48 ajr_ left
FROGGS nqp: nqp::getenvhash() 20:49
camelia nqp: ( no output ) 20:50
FROGGS nqp: my $V5DEBUG := +nqp::atkey(nqp::getenvhash(), 'V5DEBUG'); 20:51
camelia nqp: OUTPUT«Null PMC access in get_number()␤current instr.: '' pc 53 ((file unknown):44) (/tmp/VqBaZ4JP6m:1)␤»
FROGGS nqp: my $V5DEBUG := nqp::atkey(nqp::getenvhash(), 'V5DEBUG');
camelia nqp: ( no output )
FROGGS meh
jnthn FROGGS: Use normal hash indexing if you want protection from nulls 20:52
FROGGS jnthn: this was working before
20:53 abnorman joined, sidus joined
FROGGS I just found out was it was... because the backtrace was a bit misleading 20:53
but it is good that I can work-around that that easily
20:54 denis_boyun joined 20:55 abnorman left 20:59 bbkr left 21:00 spider-mario left, bbkr joined, denis_boyun left
[Coke] f 21:02
FROGGS no such symbol &f 21:03
diakopter f indeed
FROGGS no such symbol &f
err, two terms in a row
O.o
jnthn no, it's a listop :) 21:05
r: f indeed
camelia rakudo cacdd1: OUTPUT«===SORRY!=== Error while compiling /tmp/hEvgPS9TwU␤Undeclared routines:␤ f used at line 1␤ indeed used at line 1. Did you mean '&index'?␤␤»
diakopter ha
r: e pi 21:06
camelia rakudo cacdd1: OUTPUT«===SORRY!=== Error while compiling /tmp/dDHn_vzH2q␤Two terms in a row␤at /tmp/dDHn_vzH2q:1␤------> e ⏏pi␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ state…
FROGGS rakudo-jvm$ ./perl6 -e 'nqp::sprintfdirectives("%s")' 21:07
This representation can not unbox to a native str
:o(
21:13 Grrrr left, Grrrr joined 21:16 lizmat joined 21:17 denis_boyun joined 21:19 woolfy joined 21:22 lizmat left, lizmat joined 21:23 denis_boyun left
masak r: say "README".IO.e 21:26
camelia rakudo cacdd1: OUTPUT«False␤»
21:27 xenoterracide left
FROGGS r: say ".".IO.e 21:30
camelia rakudo cacdd1: OUTPUT«True␤»
21:35 xenoterracide joined 21:36 grondilu left 21:45 kst` joined 21:49 woolfy left, lizmat left 21:58 denis_boyun joined 22:01 Rotwang left
FROGGS nqp-jvm: nqp::sprintfdirectives("") 22:02
camelia nqp-jvm: OUTPUT«No registered operation handler for 'sprintfdirectives'␤ in compile_op␤ in as_jast␤ in as_jast␤ in <anon>␤ in compile_all_the_stmts␤ in as_jast␤ in as_jast␤ in <anon>␤ in compile_all_the_stmts␤ in as_jast␤ in as_jast␤ in <anon>␤ in compile_all_the_stmts␤ in…
22:05 virtualsue left, jaldhar left
timotimo compile ALL the stmts! 22:08
FROGGS yeah 22:09
would be a nice t-shirt
22:13 kst` is now known as kst
dalek : 049deb6 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
new nqp::getenvhash op doesnt like nonexistant env vars
22:21
: 4c96ccd | (Tobias Leich)++ | / (2 files):
update to latest nqp and rakudo
22:21 Rotwang joined 22:41 denis_boyun left, dmol1 left 22:43 zakharyas joined 22:59 PacoAir left 23:07 eternaleye joined 23:08 zakharyas left 23:39 Rotwang left 23:47 johnjohn101 left