»ö« 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.
jnthn timotimo: We shouldn't do it to the bytecode stream, that's what we want to mmap 00:00
timotimo: We may find there are other places (like annotations) where we can do it.
lue: But that's just a driver. First thing it does is load a module
timotimo right, annotations sounds good, too
it has lots of line numbers, aye? 00:01
jnthn aye
lue: github.com/jnthn/rakudo-debugger/b...-debug.nqp is the thing I'm wanting to bring into the Rakudo repo. github.com/jnthn/rakudo-debugger/b...andLine.pm is the one to stay where it is.
timotimo sigh. yeah, i'll have to do that
and tomorrow i'll spend some time with a friend exploring gdb python scripts 00:02
i may end up making lots of neat things for exploring moarvm processes that way
lue I'll have to look at the debugger's code to understand how it's all connected.
timotimo it's all connected! don't you see !?!
lue Sounds like an interesting task; no guarantees I'll actually accomplish it though :P 00:03
jnthn timotimo: Object graphs usually are ;-) 00:04
timotimo jnthn: i didn't finish the var-sized-int thing yet because it involves some byte-order tricking and stuff. i should probably just prototype it in p6 and then port to C or something :) 00:06
jnthn timotimo: Yes, we need to be careful about that.
I think the bytecode and/or serialization format spec have something on that.
timotimo it has one specific endianness 00:07
hm. does the bytecode dumper work ATM anyway? 00:08
00:10 denisboyun left
jnthn Yes. 00:11
I've been using it quite a bit recently while doing code-gen improvements. 00:12
timotimo i should really check that out, too.
jnthn: how do you feel about having ansi escapes for formatting optionally available in the bytecode dumper? 00:14
actually, that could be a perl6 program instead 00:15
jnthn timotimo: oh, I almost always redirect it to a file and read it that way.
00:15 treehug88 left
timotimo and it could plausibly emit 24 bit colors to make all register names easily distinguishable 00:15
since they all look so similar 00:16
jnthn Feels like a lot of effort for something we probably look at rarely...
But yeah, you could hack a script up to do it.
timotimo well, since i don't work on a "what's useful" basis anyway ... ;) 00:17
jnthn :)
timotimo moarvm makes me pretty happy. maybe i'll even become a moar hacker, too 00:18
00:18 Alula left
lue jnthn: [email@hidden.address] Is that how perl6-debug uses the CommandLine by default? Would -MDebugger::UI::Qt override it? 00:20
timotimo it won't override it 00:21
er, at least i think so
how does adding multiple -M things work?
lue I get the feeling that it's some hardcoding that needs to be fixed. 00:23
timotimo you can inspect the @ARGS and only unshift that module if no other frontend has been declared
lue yeah. jnthn: if perl6-debug.nqp goes in the rakudo repo, I'm not sure how to not also include CommandLine.pm (or *some* sort of default frontend) 00:25
timotimo hm. from where you are, can you easily inspect what modules are installed? 00:26
lue timotimo: yeah, my ~/.perl6 is perfectly accessible :) 00:27
timotimo er, at run-time i mean :)
[Coke] anyone know mark fowler?
(done with the presentation)
timotimo not me
was it good? :)
[Coke] needed moar time 00:28
lue timotimo: I'd prefer if stuff in rakudo/rakudo didn't hope you had certain things installed :/ 00:29
s/things/Perl 6 modules/
timotimo hmm.
how about Pod::To::? it's solved similarly, but it does ship one module with rakudo itself 00:30
dalek ast: e72febe | (Pepe Schwarz)++ | S12-methods/private.t:
Adjusted tests for calling a method private to a role.
00:31
ast: eb23ef6 | (Pepe Schwarz)++ | S32-exceptions/misc.t:
Added tests for X::TypeCheck::Argument thrown by the Optimizer.
lue timotimo: That's probably how it would turn out. But it means either moving CommandLine.pm with the .nqp file (which jnthn said he didn't want), or creating a new, minimal interface.
Actually, it would have to be a minimal interface, jnthn's uses Term::ANSIColor... 00:32
timotimo right.
jnthn lue: Yes, that's how it does it right now. It is hard coded. The idea is to introduce a configuration file at some point.
timotimo jnthn: do i get the go-ahead to add 256colors and 24bit colors to Term::ANSIColor? 00:33
jnthn lue: I know that you won't get a functioning debugger without installing a UI
timotimo or would that go into Term::ANSIColor::Extended or something?
jnthn timotimo: It's tadzik's module... :)
lue jnthn: the config would probably be somewhere like ~/.perl6/<version>/etc/ (substitute for your installation's install location), right?
jnthn lue: Or just a .perl6_debug in your home directory. 00:34
00:34 stevan_ joined
timotimo oh, it is! 00:34
tadzik: ^ :)
lue jnthn: IIUC, you eventually want a config file that by default calls for the default UI, and that can be edited by the user. And the .nqp would do no hardcoded default stuff, aside from maybe creating the config file if not found. 00:36
00:41 stevan_ left 00:50 btyler left
timotimo [Coke]: did you get more time or did you have to abort early? 00:50
[Coke] sped through the last 1/3 00:54
spent more time talking about history and community, though, so 'was fine.
timotimo fair enough 00:57
jnthn lue: Well, put the hardcoded thing in first, but yes, that's the goal.
lue: I don't think it should create the config file
timotimo for the next time i'll try to figure out (or maybe delegate to hoelzro) if you wan get pygments to output something google docs can read
[Coke] timotimo++
timotimo bedtimo now :) 00:58
jnthn lue: I do think we should go so far as catching the default UI module not being found and tell the user they need to install it. But that won't happen to Star uses
*users
lue jnthn: I was thinking it as a sort of "oh, there's no config file, I'll just recreate the default one and continue." But I can see not doing that.
01:03 Mouq joined, Alina-malina left 01:04 SubTerra joined, Alina-malina joined 01:05 Ayiko left 01:06 benabik left, jeffreykegler left 01:08 Mouq left 01:25 lue left 01:32 dalek left 01:33 d4l3k_ joined, baest_ joined, d4l3k_ is now known as dalek, Ayiko joined 01:34 SubTerra left 01:43 lue joined
jnthn Time for some rest...'night 01:47
TimToady o/ 01:48
01:49 mavcunha left 01:57 xinming joined 01:58 jnap left 02:00 xinming_ left
TimToady revised rosettacode.org/wiki/Fractran#Perl_6 to derive first 20 primes (not the fastest way to find primes...) 02:07
psch g'night #perl6
TimToady o/
02:07 psch left 02:12 jnap joined
diakopter O_O 02:20
02:34 airdisa left 02:40 raydiak left, xenoterracide left 02:49 jnap left 02:51 Mouq joined 02:52 xenoterracide joined 02:56 Mouq left 03:05 Alina-malina left 03:06 Alina-malina joined 03:26 skids joined 03:53 jeffreykegler joined 04:09 kaare__ left 04:11 kaare_ joined 04:20 panchiniak left 04:31 kaleem joined 04:39 Mouq joined 04:40 slavik joined 04:44 Mouq left
dalek rl6-roast-data: ccc5c4a | coke++ | / (6 files):
today (automated commit)
05:00
05:03 SamuraiJack joined 05:16 jeffreykegler left 05:24 kaleem left
moritz good morning #perl6 06:11
06:16 Resinator joined, BenGoldberg left 06:20 logie left 06:27 Mouq joined 06:28 [Sno] joined 06:32 Mouq left 06:34 hoverboard joined
moritz yes, rakudo-j build works again for me (it hang some days ago) 06:40
06:51 SamuraiJack left 06:52 zby_home_ joined 06:55 drin_m joined 06:58 dayangkun left 06:59 dayangkun joined 07:09 dayangkun left 07:14 FROGGS left 07:21 dayangkun joined 07:36 Exodist left, xenoterracide left 07:37 hoverboard left, darutoko joined 07:38 Exodist joined 07:40 kaleem joined 07:59 varna joined 08:03 araujo left 08:04 varna left, Resinator left 08:08 zakharyas joined 08:13 FROGGS joined 08:15 Mouq joined 08:17 dmol joined 08:19 pecastro left 08:20 Mouq left 08:22 Alula joined
dalek kudo/nom: deb19ac | (Steve Mynott)++ | Configure.pl:
add --backends=ALL option to Configure.pl
08:29
kudo/nom: 8ae2ded | (Tobias Leich)++ | Configure.pl:
Merge branch 'stmuk-nom' into nom

Conflicts: Configure.pl
08:46 pdcawley joined 08:49 SamuraiJack joined 08:56 daniel-s_ joined 09:05 cognominal joined 09:07 pdcawley left, pdcawley joined
hoelzro morning #perl6 09:11
jnthn: excellent post
moritz aye, jnthn++
hoelzro timotimo: do you know if Google Docs supports embedding raw HTML? 09:12
09:15 telex left 09:16 telex joined, Mouq joined 09:26 xenoterracide joined
FROGGS jnthn++ # that post even motivates me for $work, well done :o) 09:28
can somebody judge if this will do no harm? github.com/perl6/nqp/pull/153 09:30
09:31 xenoterracide left
moritz iirc we use https because there are corporate firewalls that block git:// 09:32
09:32 xinming left, SamuraiJack left
FROGGS true 09:32
09:32 xinming joined
FROGGS I think I had this issue 09:32
moritz so we should really have a --git-protocol=(git|https|ssh) option
I'll comment on the pull request 09:33
FROGGS moritz++
09:34 SamuraiJack joined
masak antenoon, #perl6 09:36
09:37 Sqirrel joined
moritz \o masak 09:37
masak++ # Rakudo release 09:38
masak oh, jnthn++ blugged. 09:41
FROGGS masak++ # indeed
JimmyZ all++ 09:44
jnthn morning o/ 09:45
masak: blogged or blug...you can't ablaut and morphology, that's just greedy :P 09:46
09:46 pecastro joined
tadzik good morning 09:47
FROGGS morning 09:48
09:50 fhelmberger joined
masak jnthn: says the guy who still writes "less specification tests" in his (otherwise excellent!) blog post. :P 09:52
FROGGS is... is that wrong? 09:53
should it be written as "fewer..." ?
masak unless "specification tests" are a mass noun.
but they're not; they're discrete units. 09:54
JimmyZ jnthn: s/hare/have/, I think
masak .oO( s/hare/bunny/ )
FROGGS hehe 09:55
timotimo o/
FROGGS hi timotimo
hoelzro hi Timo 09:56
masak hi hi timo timo 09:58
09:59 rindolf joined
jnthn JimmyZ: Thanks, fixed :) 10:01
jnthn throws a mass noun at masak 10:02
jnthn approves some blog comments 10:03
timotimo jnthn: i think it's supposed to be "a lot of information on hand" rather than "to hand" 10:04
jnthn timotimo: Hm, "to hand" feels much more natural to me here. 10:08
timotimo fair enough :)
jnthn timotimo: www.thefreedictionary.com/to+hand # to hand: ... 2. In one's possession. 10:09
"on hand" seems equally valid, mebbe it's a dialect thing. 10:10
timotimo ah, thanks
masak throws an ablut morphologue at jnthn 10:43
nwc10 masak: yes, I noticed that one :-) 10:45
FROGGS very nice comments these are 10:47
jnthn more awesome in Febuary we should
10:48 JTAA10LQ joined
FROGGS we shall do or do not, there is no try 10:49
jnthn That's 'cus you can write CATCH anywhere you like
masak .oO( yo da, I know you don't like try, do I put some do in your do so you can do or do not )
timotimo FROGGS: so far only from people who are close to perl6 anyway :P 10:50
FROGGS timotimo: because the naysayers dunno what to write :o)
timotimo naysayers always get back up 10:51
they don't need a reason to naysay, they'll always come up with even the tiniest thing if they feel the need to
FROGGS did I mention that I don't really care about these ppl? (I do care about complaints if they are alright though) 10:52
timotimo and you're right to. 10:54
i have not yet reached that level of zen
10:55 sitaktif left 10:57 sitaktif joined
FROGGS ohh, I have two little kids 10:57
timotimo :3 10:59
masak little kids are naysayers? I'm glad I learned this in time. 11:00
moritz unlyess you offer them some candy
it's very rare for them to say nay to that.
timotimo well, i hope you (and all other perl6ers with little kids) succeed in growing them into kind and strong people :) 11:01
11:03 Alula left
FROGGS masak: no, it is just that you either get some ease of mind, or you tend to shout at them all the time 11:04
11:08 Alula joined
masak FROGGS: I can easily imagine that learning to deal with kid dynamics helps being better at handling open-source naysayer dynamics :) 11:16
FROGGS :o) 11:17
cosimo anything dynamics really :) 11:21
masak "anything dynamics". I should put that on my business card. 11:23
I'm really interested in anything dynamics these days.
ribasushi woolfy1: hehe (re make a DBIx::Class for Perl 6) - we aren't really there yet wrt DBIish etc 11:26
woolfy1: however 1) DBIC is pure-perl (with one exception which is easily work-aroundable) and 2) I am planning future jdbc bindings
so ideally probably likely ostensibly allegedly it should wourk out of the box once we get a p5 parser up ;) 11:27
moritz: ^^ you'll agree yes? :)
masak ribasushi++ # ideally probably likely ostensibly allegedly 11:29
woolfy1 ribasushi: I don't care much about the name of the module (well, maybe a bit for the ease of converting programs from Perl 5 to Perl 6)
masak as long as people find the module, the name is not that important. 11:30
woolfy1 So whatever you and Tim Bunce and Jens and others are going to do at the QA Hackathon (or elsewhere) that would expand the DBI-possibilities of Perl 6, it would be greatly appreciated
ribasushi: you are coming to Lyon, aren't you?
ribasushi: yay, according toact.qa-hackathon.org/qa2014/search?country=de you are coming 11:31
ribasushi some folks were misguided enough to invite me >.< 11:32
woolfy1 :-)
11:32 mavcunha joined
moritz agreed, contributions to DBIish would be greatly appreciated 11:33
if I can get a list of participants (and their github IDs), I can give them a commit bit in advance
woolfy1 moritz: well, if at some point the -ish could be dropped and Perl 6 would have damned real good DBI, that would be appreciated too
ribasushi at perl-qa most of us are likely going to be busy fighting over the p5 toolchain, so I don't have high hopes 11:34
moritz woolfy1: aye, but history shows that good solutions usually develop out of -ish solutions, so I'm all for the evoluationary appraoach
ribasushi moritz: where do I get perlsix-ish? :)
11:38 denisboyun joined
masak ribasushi: github.com/rakudo/rakudo ;) 11:40
11:41 mavcunha left, daniel-s_ left 11:42 daniel-s_ joined 11:44 mtk left
woolfy1 ribasushi: when you would make DBI stuff easier to convert, that would be a plus anyway 11:46
ribasushi what we really need is for diakopter to wrap up his grant, then everything will fall into place >.> 11:47
11:58 kaleem left
timotimo hoelzro: you can copypaste html with markup from another tab into google docs apparently 11:59
12:01 atroxaper joined 12:03 Mouq left
hoelzro mkay, that could work 12:11
I'm not sure what all of the output that pygments supports are
timotimo it surely supports html output 12:12
12:15 fhelmberger left, fhelmberger joined 12:19 bjz_ joined, bjz left
colomon Overnight failures in DB::Model::Easy and DBish 12:23
FROGGS colomon: linky?
colomon 75.134.170.198:3001/report
FROGGS ahh, I was hoping to see the output 12:24
colomon I don't think emmentaler stores that 12:25
FROGGS sad 12:26
12:32 mavcunha joined 12:35 denis_boyun_ joined, denisboyun left
timotimo wow, that's really a big amount of modules not working 12:36
colomon timotimo: this is actually one of the best stretches of modules *working* we've had since I started keeping track last June. 12:46
timotimo oh! 12:47
moritz mlenz@mlenz-workstation:~/p6$ panda install Nativecall 12:48
Could not download module metadata: Could not find symbol '&INET' in method update at /home/mlenz/p6/rakudo/install/languages/perl6/site/lib/Panda/Ecosystem.pm:65
wtf?
colomon you're running Moar
moritz I'm not 12:49
panda is
colomon at least, that was the source of that bug for someone… (FROGGS?) yesterday
moritz I said 'perl6-p bootstrap.pl', and IMHO that should mean I run perl6-p
hoelzro is dir($dir) supposed to yield an IO::Path for '..'? 12:50
moritz ah, but maybe panda simply invokes perl6
hoelzro: no
hoelzro ok, that's what I thought 12:51
hoelzro found a bug
colomon timotimo: I think it would be really great to have a module cleanup "hackathon" sometime soon. I'd be a third of the failures are easy fixes, and another third are ancient abandonware that should probably be removed from the ecosystem.
moritz colomon: +1
ok, I've alias perl6 to perl6-p 12:52
now panda won't install NativeCall for me :(
colomon that said, I have very little time, and what time I have right now might be better spent getting the smoke tester running on JVM too.
moritz t/03-simple-returns.t .. /usr/bin/ld: cannot find -lgmp 12:53
collect2: error: ld returned 1 exit status
do I need libgmp to run zavolaj? or should that come with parrot? or not needed at all?
moritz confused
timotimo hoelzro: where did you find that bug? :)
hoelzro ./htmlify.pl in doc
recursive-dir goes up to parent dirs 12:54
jnthn moritz: No, you shouldn't need it; it'd sounds like -lgmp got into the flags coming from Parrot somehow
moritz p: say dir('/usr/local')
camelia rakudo-parrot 8ae2de: OUTPUT«IO::Path</usr/local/src> IO::Path</usr/local/etc> IO::Path</usr/local/bin> IO::Path</usr/local/man> IO::Path</usr/local/include> IO::Path</usr/local/sbin> IO::Path</usr/local/share> IO::Path</usr/local/games> IO::Path</usr/local/lib>␤»
jnthn moritz: Though Rakudo woulda been build with the same flags...
moritz jnthn: rakudo built fine :-)
when I install libgmp-dev, everything works fine 12:55
maybe it was installed when I last configured parrot
jnthn maybe, yeah
hoelzro and now I seem to have caught it in an infinite loop
although it might returning '.' as well
moritz hoelzro: htmlify worked fine for me on perl6-p last I tried (not too long ago; like, this year) 12:56
hoelzro it's on perl6-m
moritz ah
12:56 mtk joined
hoelzro I know what I'm doing tonight! 12:57
jnthn wonders if it's memory usage on perl6-m will be any better 12:58
*its
hoelzro jnthn: that's what I'm trying to find it =)
*find out 12:59
timotimo i would like that.
hoelzro so the dir() problem only occurs if the arg to dir() is *not* the cwd
(afaict)
moritz m: say dir('/usr/local/')
camelia rakudo-moar 8ae2de: OUTPUT«IO::Path<src> IO::Path<etc> IO::Path<bin> IO::Path<man> IO::Path<include> IO::Path<sbin> IO::Path<share> IO::Path<games> IO::Path<lib>␤»
moritz m: say dir('/usr/local/')>>.absolute.join: ', ' 13:00
camelia rakudo-moar 8ae2de: OUTPUT«/home/p6eval/src, /home/p6eval/etc, /home/p6eval/bin, /home/p6eval/man, /home/p6eval/include, /home/p6eval/sbin, /home/p6eval/share, /home/p6eval/games, /home/p6eval/lib␤»
grondilu ecountered a weird error with r-m while trying to test his Modular module:
===SORRY!===
Object conflict detected during deserialization.
(Probable attempt to load two modules that cannot be loaded together).
timotimo grondilu: that's also what keeps froggs from testing his v5 on moarvm
moritz r: say dir('/usr/local/')>>.absolute.join: ', '
camelia rakudo-moar 8ae2de: OUTPUT«/home/p6eval/src, /home/p6eval/etc, /home/p6eval/bin, /home/p6eval/man, /home/p6eval/include, /home/p6eval/sbin, /home/p6eval/share, /home/p6eval/games, /home/p6eval/lib␤»
..rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«/usr/local/src, /usr/local/etc, /usr/local/bin, /usr/local/man, /usr/local/include, /usr/local/sbin, /usr/local/share, /usr/local/games, /usr/local/lib␤»
moritz looks rather broken on r-m 13:01
hoelzro that's how it looks to me
timotimo lots of opportunities to get into moar development :) 13:03
hoelzro indeed 13:04
JimmyZ :)
hoelzro this is a good bug
dir('lib/X') yields an IO::Path.new('lib/X')!
so checking for '.' didn't work
alright, got it working 13:06
9% memory on my VM (2.5 GB memory)
that's a big win, imo
er, that was just to get the file list 13:07
too good to be true!
moritz the whole thing took about 12min on my machine 13:08
hoelzro: so I was surprised it was *so* quick o your machine ;-)
hoelzro =)
1/6 done
12%
13:09 Mouq joined
hoelzro 1/2 done, 18% memory 13:10
13:14 Mouq left
hoelzro 7 minutes, and my machine didn't run out of memory! 13:14
\o/
jnthn hoelzro: How does that compare with r-p on your machine? 13:16
hoelzro: Or DNF? 13:17
hoelzro jnthn: r-p runs out of memory
moritz \o/
hoelzro this is huge everyone
a big thanks and congrats!
I'm testing right now to see how much memory is used by program completion
sjn 9% of 2.5GB? 13:21
nice!
hoelzro sjn: just for the first step =)
sjn well, ok
hoelzro I'm getting a more accurate reading now
should be ~ 30%
sjn hm.
moritz m: say 0.09 * 2.5 * 1024 13:22
camelia rakudo-moar 8ae2de: OUTPUT«230.4␤»
hoelzro 32.4% 13:23
not bad.
13:23 skids left
jnthn m: say 0.324 * 2.5 * 1024 13:24
camelia rakudo-moar 8ae2de: OUTPUT«829.44␤»
sjn less than 1gb is definitely a plus :)
13:24 xenoterracide joined
jnthn At some point, we can lose an extra sizeof(void *) off every object and STable in Moar 13:25
masak .oO( thus cleaning out the STables ) 13:28
arnsholt Eight bytes an object on 64-bit, sounds like a pretty good win 13:29
What's needed to remove that pointer? 13:31
jnthn arnsholt: GC hackery 13:32
FROGGS yay
-.-
jnthn arnsholt: Essentially, realizing the forwarder pointer can overwrite the first 8 bytes of the old collectable's body
FROGGS jnthn: then better you do that first *g*: 13:33
<grondilu> (Probable attempt to load two modules that cannot be loaded together).
jnthn ah, yeah...
I need to write course material for $dayjob right now, but I can look at that one tonight. 13:34
arnsholt jnthn: Oh, that's neat =D
jnthn Was JSON::Tiny affected by it also?
FROGGS ohh, that sounds super sweet!
jnthn: yes
arnsholt The old object is garbage, so might as well use it for something useful
jnthn arnsholt: Yeah, but it makes things harder to debug also, which is why I didn't do it yet. :)
arnsholt Heh. Makes sense
jnthn arnsholt: Or rather, why I didn't do it that way in the first place.
Now we have nwc10++ the torturer, though...and a bunch of issues found/fixed... ) 13:35
13:36 sctt joined
FROGGS yeah, otherwise "we" would have spent half a year to locate these errors 13:36
moritz would it be feasible/maintable to do it as a configure switch?
jnthn aye
moritz: Very possibly.
moritz so that if you want to debug things, you can still get the easier debuggable path
jnthn moritz: I think nwc10 may have figured out exactly how to do it, while I only thought so far as "I know it'll be possible" :) 13:37
arnsholt Yeah, I was about to ask about that too, if it'd be possible to have an #ifdef for it
jnthn My gut feeling is yes, it's possible, 'cus we don't meddle with ->forwarder in many places at all.
13:39 ajr joined 13:40 ajr is now known as Guest66786, Guest66786 is now known as ajr_ 13:41 rindolf left
FROGGS jnthn: btw, do you have a suggestion what I might do next? 13:42
13:42 kaleem joined, xenoterracide left
FROGGS somehow I am unable to get labels for nqp-j in place... 13:42
13:43 takesako left, sctt_ joined, sctt left, jdv79 left, takesako joined, bibifuc_ left, mattp_ left, bibifuc_ joined, yeltzooo left
jnthn FROGGS: Fix dir? ;) 13:43
13:43 LordVorp left
FROGGS maybe I should care about getting the S11 stuff in place instead? 13:43
dir... ohh, I thought hoelzro is looking into that 13:44
13:44 camelia left, PZt left, LordVorp joined
jnthn Oh, ok :) 13:44
13:44 revdiablo left
jnthn Yes, S11 stuff is also a worthy task. 13:44
moritz I think hoelzro looked into a workaround to use in htmlify
FROGGS hoelzro: are you?
ahh
jnthn As is further triage of r-m spectest fails.
13:44 jdv79 joined
FROGGS yeah 13:45
13:45 yeltzooo joined, renormalist left, mattp_ joined, renormalist joined, jeffreykegler joined 13:46 jtpalmer left, revdiablo joined, jtpalmer joined, mcglk left
moritz irclog.perlgeek.de/perl6/2014-01-22#i_8157190 has a bug partially triaged 13:47
13:47 PZt joined 13:51 ggoebel1112 left, sctt_ left 13:52 ggoebel1112 joined 13:55 robinsmidsrod left, robins joined 13:58 k1lldash9 joined
k1lldash9 perl6: say 3; 13:59
'perl6: say 3;'
hrm why is evalbot not working, am I doing something wrong?
FROGGS p: say 3
k1lldash9 p: say 3 14:00
FROGGS r: say 3
k1lldash9 hrm
r: say 3
FROGGS ?
k1lldash9 no response
FROGGS camelia is not here
k1lldash9 ohh
moritz should I change that?
jnthn moritz: If you can figure out why it's down... :) 14:01
14:01 fhelmberger left
jnthn Seems it vanished with a ping timeout some minutes ago... 14:01
moritz ooh, I thought this was #moarvm :(
jnthn We have camelia in #moarvm already...well, we did ;) 14:02
14:02 camelia joined
moritz m: say 'hi' 14:02
hoelzro FROGGS: yeah, I found a workaround 14:03
FROGGS: and I am looking at it
but not until tonight
masak perl6: say 3;
14:03 ChanServ sets mode: +v camelia
camelia rakudo-moar 8ae2de: OUTPUT«hi␤» 14:03
rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de, niecza v24-109-g48a8de3: OUTPUT«3␤»
masak gave a quick introduction to Perl 6 yesterday at the end of his Perl course 14:04
moritz masak++
masak it's always nice to talk about Perl 6 -- especially on company time ;)
colomon masak+ 14:07
masak++
masak
jnthn .u ㋡ 14:08
yoleaux U+32E1 CIRCLED KATAKANA TU [So] (㋡)
jnthn haha
masak \㋛/ 14:09
k1lldash9 perl6: say 3;
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de, niecza v24-109-g48a8de3: OUTPUT«3␤»
k1lldash9 you rock masak
masak r: say "you rock too, k1lldash9" # :) 14:10
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«you rock too, k1lldash9␤»
masak rm: say "I hear you have really fast startup these days. you rock, too!"
camelia rakudo-moar 8ae2de: OUTPUT«I hear you have really fast startup these days. you rock, too!␤»
masak yes. wow.
consider me a Rakudo-Moar hacker from now on.
moritz 0.25s on my workstation 14:11
masak yay
jercos really brings moar to the table.
moritz compared to 0.6s for r-p
and 3.9s for p-j 14:12
14:12 kbaker_ joined 14:13 atroxape_ joined 14:14 atroxaper left
jercos On the other hand, my dealings with prime numbers pretty much have required JVM use, given parrot consumes resources like crazy when trying to work with moderately large lists of numbers reduced from larger lists, and JVM doesn't have that problem at all. 14:14
Gotta test this code on moar I guess...
jercos scampers off to git
hoelzro FROGGS: are you looking at dir? I think this is something I could actually fix =)
FROGGS hoelzro: go ahead 14:17
hoelzro excellent
FROGGS I've not started yet
hoelzro cool 14:19
14:20 d^_^b left, kaare_ left 14:21 SamuraiJack left
FROGGS r: sub circumfix:<<` `>>(*@args) { @args.join('-') }; say `3, 4, "f"` 14:23
camelia rakudo-moar 8ae2de: OUTPUT«===SORRY!===␤Cannot find method 'flat'␤»
..rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«3-4-f␤»
FROGGS m: sub circumfix:<<` `>>(*@args) { @args }; say `3, 4, "f"` 14:25
camelia rakudo-moar 8ae2de: OUTPUT«===SORRY!===␤Cannot find method 'flat'␤»
FROGGS Perl6::Optimizer line 673 14:27
14:28 xenoterracide joined
colomon jnthn++ did work tracking that down yesterday, I think? 14:28
FROGGS does not seem like, at least it is not fixed in nom 14:29
colomon tracking it down, not fixing it. :) 14:31
FROGGS so I might read backlog? :o)
colomon yes.
for clues. ;)
jnthn I don't think I made any progress on that one
It was a whateverstar bug that I fixed last night. 14:32
moritz I concluded that it puts a Mu into the QAST node somwhere
where? no idea
jnthn If I was gonna look into that one, I'd start by doing --target=ast
And maybe --target=parse
moritz maybe add some assertions to QAST::Node.new() and .push
jnthn My gut instinct is that it's a mis-parse at the heart of it.
Which then goes on to produce bogus AST
colomon FROGGS: irclog.perlgeek.de/perl6/2014-01-22#i_8157190 # starts here 14:33
timotimo jnthn: how do we distinguish an object's beginning from a forwarder written over it? by checking if it's in the new nursery already-allocated range?
FROGGS there is a QAST::Want that gets a null
14:35 airdisa joined 14:36 denis_boyun_ left
jnthn timotimo: No, can use a flag bit in the header 14:37
timotimo fair enough 14:38
that does sound pretty good
but our objects are rather big anyway
14:39 ggoebel1112 left
FROGGS - QAST::Op(call &say) say `3, 4, \"f\"` 14:41
-
there it is
14:41 kaleem left
jnthn That looks wrong, yes. 14:42
FROGGS :o)
14:43 d^_^b joined, d^_^b left, d^_^b joined
dalek p: 8adf37d | (Tobias Leich)++ | src/QAST/Node.nqp:
show "(NQPMu)" in ast dump because this tends to be bad
14:44
jercos well, despite moar's obviously faster startup time (indicating that it had in fact, determined that 3 is a factor of the target in half a second >.>) it took an extra 40 seconds to factor the target 4-almost prime :| 14:45
which appears to be mostly due to the fact that the JVM parallelized some stuff. not really sure what, but user time was higher than real >.>
FROGGS probably the gc
jercos in any case, given parrot's completely useless on the same code, it's nice to have another option now :D 14:46
FROGGS jercos: but if you would collect tiny snippets that are slow, we could use these for testing
jnthn jercos: Got a link to the code, ooc?
jercos Eh. It's not pretty, and has been my learn-to-maybe-perl6 project... I'll toss it in a gist. 14:47
gist.github.com/jercos/8598678 14:49
test was calling factor(36196657233).say
that particular number being chosen for having a small number of factors over a (relastively) wide range 14:50
(3 11 5927 185063)
Obviously the idea the code represents is a little rediculous, and there's a lot there that is... well, completely useless due to a realization made after writing it :p
14:51 skids joined
FROGGS jercos: no need to excuse :o) 14:51
timotimo it's so refreshing to see perl6 code highlighted on gist 14:56
colomon wait, what? 14:57
14:57 Mouq joined
jercos It helpfully automatically selected perl6 highlights when I told it the filename was Bigprime.pm6 too :) 14:57
14:58 ggoebel1112 joined
timotimo yup 14:58
14:58 btyler joined
colomon \o/ 14:59
what's it using to parse for highlights?
14:59 btyler left
FROGGS it uses hoelzro :o) 14:59
14:59 rindolf joined
colomon he must work quickly! 14:59
it looks like the perl highlight is not smart enough to change to p6 if "use v6" starts the file? 15:01
15:01 Mouq left
colomon is looking at ABC's code, which uses .pm and seems to be getting very incorrect p5 highlighting. 15:02
timotimo mhh :(
hoelzro colomon: there's a patch for that upstream
colomon hoelzro++
hoelzro it'll only take another year to get to GH =/
colomon hoelzro: how are you doing this?
hoelzro well
first you update pygments
15:02 btyler joined
hoelzro and the maintainer quickly and happily picks up your changes 15:02
then you send a PR to GitHub's pygments.rb module 15:03
put it in the oven
and set the timer to 4 months
then, after that, you do the same for the linguist module
(can you tell I'm a little bitter about the whole thing? =P )
I'm just glad we have *some* support on GH =) 15:04
15:04 k1lldash9 left
colomon how accurate is your code in pygments? 15:04
hoelzro accurate as far as P5 vs P6?
colomon as far as understanding p6
colomon has been living with incorrect p6 syntax highlighting in his editor for AGES 15:05
hoelzro I say with pride that it's pretty good =)
it highlights Grammar.pm perfectly
the first bug was found by FROGGS last week
pygments is a great library
very well designed 15:06
FROGGS and you did a greta job with it :o)
great
hoelzro thanks!
colomon wonders if this will bring hoelzro++'s changes to his text editor: github.com/acangiano/pygments-textmate-bundle
FROGGS nqp-m: my role bar[$name] { method ::($name)() { 42 } }; my class Foo { }; my $Foo := Foo.new; $Foo := $Foo.HOW.mixin($Foo, bar.HOW.curry(bar, 'baz')); say($Foo.baz)
camelia nqp-moarvm: OUTPUT«42␤»
hoelzro colomon: you may have to install pygments from Hg 15:07
give it a shot!
colomon to get the very latest?
hoelzro mhmm
15:07 jnap joined
hoelzro checks releases 15:07
nope, not formally released yet =/ 15:08
they do yearly releases, though
and that time is approaching (2 weeks from now)
moritz \o/ 15:09
tadzik I think modules need a way to specify things that are backend-dependent
otherwise, MIME::Base64 has trouble building
FROGGS tadzik: you are thinking of pragma if? 15:10
tadzik FROGGS: I dunno yet
timotimo i agree that something like that is needed 15:11
FROGGS nqp: my $a; my $b; $a := $b := 1; say($a); say($b) 15:12
camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«1␤1␤»
FROGGS but how? you can't compile source code to ast if you hit pir on the jvm for example
but require-ing a module is rather slow
timotimo agreed. it'd probably have to be something at the compunit level then?
use Foo::Bar::$*VM<name> 15:13
that'd still be at compile time
FROGGS $?VM rather
timotimo also $?VM
yes
FROGGS +1
colomon is installing hg
tadzik: I was thinking MIME::Base64 should be pure p6 and/or NativeCall? 15:16
tadzik colomon: I dunno. In the perfect world, maybe :) 15:17
FROGGS it could easily delegate to jvm internals
or to a moarvm op
colomon is a little frustrated that Pygments "Download and installation" page doesn't include any actual information about building the code. 15:18
sudo python setup.py install # it turns out 15:20
FROGGS nqp-m: my role bar[$name,$sub] { method ::($name)($/) { make '&' ~ $sub } }; my class Foo { }; my $Foo := Foo.new; $Foo := $Foo.HOW.mixin($Foo, bar.HOW.curry(bar, 'circumfix', 'circumfix:<<` `>>')); my $a := NQPMatch.new; say($Foo.circumfix($a)) 15:22
camelia nqp-moarvm: OUTPUT«&circumfix:<<` `>>␤»
FROGGS why does that work here?
ohh 15:23
dalek nda: 640d849 | tadzik++ | t/fakestate:
Get rid of warnings in tests, timotimo++
15:24
FROGGS gist.github.com/FROGGS/35233e86e1648ff732d9
jnthn: in case you are interested ----^
15:27 xenoterracide left, xenoterracide joined
timotimo i'm not sure if i've done this wrong or not 15:28
i'm still getting missing or wrong version of dependency $foobar when launching moar from somewhere other than nqp/ (or rakudo/)
timotimo nukes install/ again
FROGGS only circumfix is wrong, infix do work 15:29
diakopter what's in your path
timotimo diakopter: a tree has fallen onto my path! 15:34
diakopter STOMP
timotimo now it works again 15:36
maybe i didn't nuke install/ on this system yet
15:40 robins left 15:41 awraa joined 15:42 robinsmidsrod joined
FROGGS r: sub term:<foo> { 42 }; say foo # same bug 15:47
camelia rakudo-moar 8ae2de: OUTPUT«===SORRY!===␤Cannot find method 'flat'␤»
..rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«42␤»
jnthn Ah, so it's soemthing about action methods? 15:48
As in, the mixed in action methods?
FROGGS yeah
exactly
but my example (above) does pretty much the same but works 15:49
jnthn r: BEGIN say $*ACTIONS.HOW.name($*ACTIONS); sub term:<foo> { 42 }; BEGIN say $*ACTIONS.HOW.name($*ACTIONS);
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«Perl6::Actions␤Perl6::Actions+{TermAction}␤»
jnthn r: sub term:<foo> { 42 }; BEGIN say $*ACTIONS.HOW.method_table($*ACTIONS).keys 15:50
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«term:sym<foo>␤»
FROGGS hmmm
jnthn r: sub term:<foo> { 42 }; BEGIN $*ACTIONS.HOW.trace-on($*ACTIONS); foo 15:52
camelia rakudo-moar 8ae2de: OUTPUT«Calling term:sym<statement_prefix>␤Calling termish␤Calling EXPR␤Calling statement␤Calling termish␤Calling EXPR␤Calling statement␤»
..rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«Calling term:sym<statement_prefix>␤Calling termish␤Calling EXPR␤Calling statement␤Calling term:sym<foo>␤Calling termish␤Calling EXPR␤Calling statement␤»
jnthn Well, there's a difference... 15:53
r: sub term:<foo> { 42 }; BEGIN nqp::getlexdyn('$/').CURSOR.HOW.trace-on($*ACTIONS); foo 15:54
camelia ( no output )
hoelzro hmm
I wonder how much memory building the docs would take on a 32-bit Moar? 15:55
jnthn Anyway, seems the issue is issue is that it doesn't call the action method.
For some reason
FROGGS: Found it for ya 15:57
FROGGS: Compare compilation of rxtype pass on JVM vs Moar 15:58
FROGGS: Note the "elsif +@($node) == 1 {" branch is missing for Moar.
FROGGS: Which is where it'd be getting the name of the action method when it's late-bound
FROGGS ohh!
jnthn hoelzro: Well, every pointer would be smaller... 15:59
hoelzro exactly
jnthn ...and I suppose we have plenty of those :)
hoelzro I'll have to try that later tonight 16:00
FROGGS compiles something 16:08
16:09 drin_m left
FROGGS I love it: 16:13
Using /home/froggs/dev/nqp/install/bin/nqp-p (version 2014.01-1-g8adf37d / Parrot 5.9.0).
Using /home/froggs/dev/nqp/install/bin/nqp-j (version 2014.01-1-g8adf37d / OpenJDK 1.7.0_51).
Using /home/froggs/dev/nqp/install/bin/nqp-m (version 2014.01-1-g8adf37d / MoarVM 2014.01-1-g6e85b9c).
FROGGS wonders when a..z is full 16:14
looks like I did it wrong: Error while compiling op if (source text: "$is_term {\n my role Term[$meth_name, $op] {\n token ::($meth_name) { $<sy..."): cannot stringify this 16:16
16:17 regreg joined 16:23 MarkFowler joined, treehug88 joined
MarkFowler Morning 16:24
FROGGS hi MarkFowler
MarkFowler [Coke]: what was the slide URL?
(that was presented at Albany.pm last night)
16:27 ggoebel1112 left 16:28 zby_home_ left
MarkFowler ah, got it 16:28
16:29 [Sno] left
FROGGS when I do: my $name := $*QASTCOMPILER.as_mast($node[0], :want($MVM_reg_str)) 16:41
I thought $name would be a MAST::SVal 16:42
jnthn No
FROGGS it is a register
jnthn as_mast always returns a MAST::InstructionList
FROGGS ohh, right
16:42 stevan_ joined
jnthn I don't think you can rely on it being constant here either. 16:42
FROGGS hmmm 16:43
[Coke] MarkFowler: hio.
jnthn If we actually knew it statically we'd just have put it in .name
[Coke] I'm probably going to PDF that and post the PDF to the list. (and archive it on the albany.pm site, for lack of a better location)
MarkFowler github's presentation sharing dooh dah 16:44
16:44 Vlavv` left
MarkFowler speakerdeck.com/ 16:44
16:45 Mouq joined
PerlJam [Coke]: How'd your presentation go last night? 16:45
FROGGS I think I understood (in case it compiles) 16:47
MarkFowler PerlJam: it was very well received
masak [Coke]++
PerlJam [Coke]++ indeed
timotimo i have a small python gdb plugin for printing the contents of a MVMString 16:48
FROGGS cool!
jnthn: Incompatible MROs in P6opaque rebless :o( 16:49
ohh wait
I messed with the P6::Grammar
man, I am stupid
japhb reaches realtime in epic backlogging ... and now for replies ... 16:50
16:50 Mouq left
FROGGS hi japhb # testing 16:50
aahh! Cannot invoke this object (REPR: P6str, cs = 0) 16:51
jnthn: I really thought this would work: gist.github.com/FROGGS/35233e86e1648ff732d9 16:54
japhb re: irclog.perlgeek.de/moarvm/2014-01-22#i_8157565 : Those variable-length int encodings work decently if most ints are small, but you can't be sure exactly how big they will be (i.e. by having the schema at hand). For negative numbers, they tend to do trickery like zig-zag encoding of ints into uints, or moving the sign bit from the msb to the lsb and inverting the other bits if the sign bit is set. 16:55
(So as to get zero bits at the top)
FROGGS: ok "testing"
FROGGS :o)
jnthn FROGGS: nqp::push(@flags, $Arg::str); # indicates a constant str 16:56
16:56 ajr_ left
FROGGS ohh 16:56
16:57 ajr joined 16:58 ajr is now known as Guest5227, Guest5227 is now known as ajr_
japhb yoleaux: tell raydiak re: irclog.perlgeek.de/perl6/2014-01-21#i_8152416 , yes I've done a bit of work on the vector lib, just getting vector-vector and vector-scalar operations in place. The code for similar operators is generated from template to avoid repetition and obscure copy-pasta errors affecting only one variation of one op somewhere. 16:59
yoleaux: ping
yoleaux japhb: pong! (0 queued, 0 running)
FROGGS without its name I think 17:00
japhb Huh, doesn't yoleaux do messages?
OK, trying
FROGGS dalek needed its name
japhb tell raydiak re: irclog.perlgeek.de/perl6/2014-01-21#i_8152416 , yes I've done a bit of work on the vector lib, just getting vector-vector and vector-scalar operations in place. The code for similar operators is generated from template to avoid repetition and obscure copy-pasta errors affecting only one variation of one op somewhere.
Nah, no love
jnthn .tell ?
yoleaux jnthn: I don't know what you want me to say to ?.
japhb .tell raydiak re: irclog.perlgeek.de/perl6/2014-01-21#i_8152416 , yes I've done a bit of work on the vector lib, just getting vector-vector and vector-scalar operations in place. The code for similar operators is generated from template to avoid repetition and obscure copy-pasta errors affecting only one variation of one op somewhere.
yoleaux japhb: I'll pass your message to raydiak.
17:00 ajr_ left
FROGGS .right 17:00
.yaw siht saw tI 17:01
japhb There we go. That kind of annoyance already doesn't happen in Net::IRC, btw, I fixed that one early on.
17:02 ajr_ joined
japhb .tell raydiak The code needs some massaging to make it sane to work on together, but if you're up for it, I can find some tuits to throw at that. 17:03
yoleaux japhb: I'll pass your message to raydiak.
17:03 ajr_ left
FROGGS jnthn: am I supposed to pass 0 as a flag? $Arg::obj does not do either 17:04
TimToady r: .say for (^5).combinations(3);
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«No such method 'combinations' for invocant of type 'Range'␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar 8ae2de: OUTPUT«Cannot find method 'combinations'␤ in block at /tmp/tmpfile:1␤␤»
17:04 ajr_ joined
japhb timotimo: re: irclog.perlgeek.de/perl6/2014-01-21#i_8152652 , I'm fine with perl6-bench displaying more information about progress and expected completion time, as long as care is taken that such features don't interfere with benchmark accuracy (by stealing resources for the UI). 17:05
jnthn FROGGS: oh wait, that's not the problem at all...sorry
FROGGS hehe, okay
japhb timotimo: With the current design of perl6-bench, it might even be reasonable to make guesses about expected completion for quick-starting backends. For JVM it may be harder.
FROGGS jnthn: I do a bit food hunting now, so we can maybe talk about that later 17:06
I guess that is better for you too :o)
17:07 FROGGS[mobile] joined, FROGGS left, ajr_ left
jnthn FROGGS[mobile]: Yeah, it looks right... 17:07
FROGGS[mobile]: yes, sure
17:07 djanatyn left
japhb skids: re: irclog.perlgeek.de/perl6/2014-01-21#i_8152921 -- link to "Sum" module? 17:07
17:08 djanatyn joined
japhb skids: Also, if you'd like to add tests to perl6-bench, I welcome PRs. :-) 17:08
17:08 ajr_ joined
japhb r: my @primes := 2, 3, 5, -> $p { ($p+2, $p+4 ... &is-prime)[*-1] } ... *; sub is-prime($n) { $n %% none @primes ...^ * > sqrt $n }; .say for @primes[^5]; # Checking if this got fixed on r-j 17:09
camelia rakudo-jvm 8ae2de: OUTPUT«Cannot do aggregate operation on a type object␤ in method reify at gen/jvm/CORE.setting:7239␤ in method gimme at gen/jvm/CORE.setting:7649␤ in method exists_pos at gen/jvm/CORE.setting:7637␤ in method at_pos at gen/jvm/CORE.setting:7611␤ in m…»
..rakudo-parrot 8ae2de, rakudo-moar 8ae2de: OUTPUT«2␤3␤5␤7␤11␤»
japhb Dang, was hoping it got fixed with the gather-take stuff.
jnthn japhb: Does that one work on other backends? 17:11
17:14 djanatyn left
diakopter ? 17:15
17:15 djanatyn joined
jnthn oh, I misread :) 17:18
duh :)
17:21 djanatyn left, ajr_ left, raydiak joined 17:22 ajr_ joined
TimToady (*-1).nth: $p+2, $p+4 ... &is-prime # wonder if we should make this work 17:23
timotimo ooooh 17:24
TimToady it's a bit like ruby's throwing .times into the integer class, but I keep wanting a way to pull the subscript out front
17:24 ajr_ left 17:25 Tene left, Tene joined
TimToady and nth *-1, $p+2, $p+4 ... &is-prime doesn't parse right 17:25
17:26 ajr_ joined
timotimo actually, i wouldn't mind if it would have to be (*-1).&nth: ... 17:27
TimToady std: sub nth(\ix, *@list) { @list[ix] }; nth(*-1): 1,2,3...10 17:28
camelia std 09dda5b: OUTPUT«ok 00:01 132m␤»
17:28 zakharyas left
TimToady n: sub nth(\ix, *@list) { @list[ix] }; say nth(*-1): 1,2,3...10 17:28
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Interaction between semiargs and args is not understood at /tmp/puCu_6o1Wh line 1 (EOF):␤------> { @list[ix] }; say nth(*-1): 1,2,3...10⏏<EOL>␤␤Unhandled exception: Check failed␤␤ at…»
TimToady heh
timotimo o_O
oh well
TimToady std allows a switch from args inside parens to outside parens 17:29
(via colon)
17:29 airdisa left, djanatyn joined
TimToady std: map({.chr}): 1,2,3...10 17:30
camelia std 09dda5b: OUTPUT«ok 00:01 128m␤»
jnthn Hm, cute.
TimToady which would solve the problem of list infixes eating your first arg
would not imply a channel like <== might 17:31
17:32 djanatyn left
TimToady r: say <== map {.chr} <== 65...69 17:32
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse expression in quote words; couldn't find final '>'␤ ␤at /tmp/tmpfile:1␤------> say <== map {.chr} <== 65...69[33…»
17:33 djanatyn joined
TimToady r: say() <== map {.chr} <== 65...69 17:33
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«A B C D E␤»
jnthn That doesn't imply a channel today, fwiw.
Could be made to, but we might want to think through the cache conherency consequences for most problems... 17:34
TimToady would like feeds to imply threading, even if we have to restrict them in some cases 17:35
17:35 rindolf left
dalek kudo-star-daily: 0ba64a6 | coke++ | log/ (5 files):
today (automated commit)
17:36
TimToady or some kind of concurrency resembling a pipe
TimToady notes that Unix pipes batch by bufffer
17:36 djanatyn left
jnthn TimToady: Yeah, my main concern is that people will say "oh, cute syntax" and write stuff that shoves a bunch of producer/consumer tasks off into the pool. 17:36
TimToady: But each task does a tiny amount of work
TimToady well, workers are supposed to be lightweight... 17:37
jnthn TimToady: So the work done is swamped by the inter-task communication
TimToady sure, people can be stupid :)
jnthn It's not that the workers aren't lightweight, more that memory isn't uniform...
TimToady but if that's a heavier construct, it increases the need for a way to tack a list onto a call, as above 17:38
jnthn But yeah, it's an education thing at some level.
TimToady
.oO(who do we know that is in education...)
17:39 ggoebel1112 joined, djanatyn joined
jnthn I know *my* first thought when I saw feed syntax was "oh, that's much nicer than writing it backwards with sub calls". In C# I just chain method calls, but Perl 6's whitespace rules don't let me write that as cutely (.foo on each line) which, if others think like me, is another push towards feed syntax. 17:40
17:41 Tene left, ajr_ left, pecastro left, Tene joined
jnthn So I worry a little people might reach to it as a readability construct rather than a concurrency construct. 17:41
17:42 ajr_ joined
TimToady std: use MONKEY_TYPING; augment class Int { method nth(\n: *@a) { @a[n] } }; say nth 2: 0,10...100; 17:43
camelia std 09dda5b: OUTPUT«Compiled lib/MONKEY_TYPING.pm6␤===SORRY!===␤Undeclared routine:␤ 'nth' used at line 1␤Check failed␤FAILED 00:01 133m␤»
TimToady hmm
std: print $*IN: "howdy" 17:44
camelia std 09dda5b: OUTPUT«ok 00:01 125m␤»
TimToady std: foo $*IN: "howdy"
camelia std 09dda5b: OUTPUT«ok 00:01 125m␤»
TimToady std: foo 2: "howdy"
camelia std 09dda5b: OUTPUT«ok 00:01 124m␤»
TimToady std: say foo 2: "howdy" 17:45
camelia std 09dda5b: OUTPUT«ok 00:01 124m␤»
TimToady scratches head
oh, right
that : is not a precedence dropper compared to ...
17:45 [Sno] joined
TimToady wonders if that can be a little more consistent with the other uses of : 17:48
17:53 regreg left, Vlavv joined
TimToady std: use MONKEY_TYPING; augment class Int { method nth(\n: *@a) { @a[n] } }; say nth(2:): 0,10...100; 17:55
camelia std 09dda5b: OUTPUT«ok 00:01 134m␤»
TimToady works, but ugly
17:56 Vlavv left 17:57 zby_home joined
TimToady std: use MONKEY_TYPING; augment class Int { method nth(\n: *@a) { @a[n] } }; say nth 2: list 0,10...100; 17:58
camelia std 09dda5b: OUTPUT«ok 00:01 133m␤»
TimToady slightly less ugly
nr: use MONKEY_TYPING; augment class Int { method nth(\n: *@a) { @a[n] } }; say nth 2: list 0,10...100;
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> thod nth(\n: *@a) { @a[n] } }; say nth 2⏏: list 0,10...100;␤ expecting a…»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Invocant handling is NYI at /tmp/tmpfile line 1:␤------> { @a[n] } }; say nth 2: list 0,10...100⏏;␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting l…»
17:58 ajr_ left
TimToady well, STD likes it... 17:59
18:00 airdisa joined 18:01 denisboyun joined, SamuraiJack joined
TimToady nr: sub nth(\n, *@a) { @a[n] }; say nth 2, list 0,10...100; 18:01
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de, niecza v24-109-g48a8de3: OUTPUT«20␤»
TimToady I guess that works on ordinary functions
nr: sub nth(\n, *@a) { @a[n] }; say nth *-1, list 0,10...100; 18:02
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de, niecza v24-109-g48a8de3: OUTPUT«100␤»
TimToady \o/
nr: sub nth(\n, *@a) { @a[n] }; say nth *-1, do 0,10...100;
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de, niecza v24-109-g48a8de3: OUTPUT«100␤» 18:03
TimToady even shorter
18:03 Vlavv_ joined
TimToady with a sharper drop 18:03
nr: sub nth(\n, *@a) { @a[n] }; say nth *-1, lazy 0,10...100; 18:04
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Action method statement_prefix:lazy not yet implemented at /tmp/tmpfile line 1:␤------> { @a[n] }; say nth *-1, lazy 0,10...100⏏;␤␤Unhandled exception: Check failed␤␤ at /home/p6eval…»
..rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ lazy used at line 1␤␤»
18:04 djanatyn left 18:05 djanatyn joined 18:06 djanatyn left, djanatyn joined 18:07 FROGGS joined
TimToady r: say combinations(3,5) 18:10
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ combinations used at line 1␤␤»
TimToady on mine it says: "no ICU lib loaded"
why it wants ICU is a puzzle 18:11
jnthn ICU r using r-p :P
Quite possibly 'cus we translate into fixed width to parse then get a string from source to show in the error... 18:12
TimToady oh, the setting has it as: my sub combinations($n, $k) { 18:14
but it's in a subscope
18:17 airdisa left
grondilu combinations as a subroutine is only needed for internal use, but maybe we can change that and define it as our sub combinations 18:22
TimToady just need to move it outside the List class, I think; currently testing
18:23 treehug88 left
FROGGS jnthn: so, you say that this patch is not totally wrong? gist.github.com/FROGGS/35233e86e1648ff732d9 18:24
TimToady if it's already there, and more efficient than (^5).combinations(3), why not make it visible
assuming (^5).combinations(3) even worked, which it doesn't
grondilu because it was not specced
jnthn FROGGS: oooh, I see it. Duh.
FROGGS oh oh, do telö 18:25
tell*
jnthn FROGGS: Your patch is right except there's a line a few up that makes it wrong.
TimToady most list methods should show up in Any automatically
jnthn FROGGS: release($meth, $MVM_reg_obj);
FROGGS jnthn: yeah, I wondered if that is right, because $meth is used after that
jnthn FROGGS: That needs to happen way later
FROGGS: Right.
FROGGS: Move it and you're probably good.
FROGGS after nqp::push(@ins, call($meth, @flags, :result($meth), |@args)); I guess 18:26
jnthn Right
FROGGS cool
jnthn It was outside of the diff context so I missed it at first :(
FROGGS (gut feeling)++
jercos If you don't talk to your kids about $meth, who will? 18:28
FROGGS :P 18:29
jnthn :D 18:33
18:36 ajr joined, BullSherd joined, BullSherd left, ajr is now known as Guest47560 18:37 Guest47560 is now known as ajr_ 18:41 zakalwe joined, zakalwe left, zakalwe joined
FROGGS jnthn: I have no idea what to write in that commit msg :/ 18:44
jnthn "Implement dynamic names in rxtype pass"? 18:45
dalek p: 7494c58 | (Tobias Leich)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
implement dynamic names in rxtype pass, jnthn++
18:50
FROGGS :o)
18:50 stevan_ left, SamuraiJack left
jnthn FROGGS: That gets the thingy test passing? 18:56
FROGGS yes 18:59
perl6-m -e 'sub circumfix:<<` `>>(*@args) { @args.join("-") }; say `3, 4, "f"`'
3-4-f
jnthn \o/
FROGGS++
FROGGS analysing the spectest out atm
moritz FROGGS++ 19:00
19:00 jnap left 19:01 darutoko left 19:02 atroxape_ left, pecastro joined, mavcunha left
hoelzro hmm 19:04
how does IO::Path ~~ Str work?
[Coke] MAGIC
hoelzro I take it that uses Any ACCEPTS?
jnthn hoelzro: Do you mean exactly that, or instances?
hoelzro jnthn: instances 19:05
jnthn hoelzro: A ~~ B is always turned into B.ACCEPTS(A)
hoelzro ah ha
jnthn So in this case, Str.ACCEPTS(...)
Which likely coerces what it gets to a Str
In this case, at least.
hoelzro the only ACCEPTS I see for Str is multi ACCEPTS(Str:D: $) 19:06
jnthn OK, then it's coercing I think
moritz r: say 4 ~~ "4"
jnthn r: say IO::Path.new('/o/m/g').Str.perl
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«True␤»
rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«"/o/m/g"␤»
hoelzro r: say IO::Path.new('t/..') ~~ '..' 19:07
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«False␤»
hoelzro hmm
something strange is afoot...
FROGGS IO::Path.new('t/..') ~~ '..' turn into '..' eq IO::Path.new('t/..').Str 19:08
(via ACCEPTS)
hoelzro right
but on my moar, that expression I tried is evaluated as True
unless...
r: say IO::Path.new('t/..') ~~ none('.', '..')
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«True␤»
19:09 spider-mario joined
hoelzro now I'm wondering how Parrot is passing 19:09
hoelzro builds a parrot
[Coke] r: say "larger string" ~~ "rin" 19:10
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«False␤»
hoelzro [Coke]: how did your talk go? 19:11
[Coke] hoelzro: well. Could have used an hour, easy, for what I was showing.
got slightly over 30m, with a lot of questions.
19:12 denisboyun left
[Coke] but MarkFowler++ et al. seemed to be happy. 19:12
hoelzro slightly over? that's pretty good, considering, if you ask me!
yeah, he showed up earlier
[Coke] apparently he used to run London.pm. Nice to have a seasoned PM pro on hand.
Albany.pm is coming back from the dead. (yay) 19:13
hoelzro \o/
19:13 airdisa joined
dalek kudo/nom: 80c1e76 | larry++ | src/core/List.pm:
move combinations/permutations subs out of List
19:14
kudo/nom: 8d2fb6c | larry++ | src/core/Any.pm:
combinations/permutations as list methods via Any
19:17
19:18 airdisa left
[Coke] did larry just commit to -rakudo- ? O_o 19:23
moritz yes, and it wasn't the first time he did
19:24 psch joined
psch hi #perl6 19:25
jercos hi psch
TimToady no, done it before 19:26
don't remember what 19:27
TimToady remembers jnthn++ yelling at me for leaving commented out code in 19:28
19:28 zakharyas joined
FROGGS hehe 19:29
19:29 jeffreykegler left
FROGGS that sounds like our rude jnthn++ :P 19:29
colomon TimToady++ 19:31
dalek kudo/nom: dc96308 | larry++ | src/core/List.pm:
.permutations should also return arrays

Someone fixed .combinations earlier but missed .permutations
19:35
moritz TimToady: that was a faster variant of combinations, iirc
TimToady oh, yeah, about 7 times faster iirc :) 19:36
pmichaud github.com/rakudo/rakudo/commits?a...r=TimToady 19:50
19:50 treehug88 joined
pmichaud The 2008 commits are pre-git, of course. :) 19:50
Also: osrc.dfm.io/timtoady 19:52
"Larry Wall is a top notch Perl coder who loves pushing code."
Yeah, he's been pushing his code on us for over 25 years now. It's like we're addicted or something. :-P
jercos gotta get my code fix, man.
pmichaud once again reflects on the double-meaning of the word "user". 19:53
Perl has more users than any other language. I mean, the top of Perl programs are liberally sprinkled with "use".
moritz ooh, since github now recognizes Perl 6 code, so does osrc.dfm.io 19:54
pmichaud "In particular, Larry seems to be a pretty serious Perl expert."
moritz he does now? 19:55
TimToady Bah, I'm rarely serious.
jercos Sirius? Didn't they buy XM? 19:56
perigrin TimToady: also you're seriously rare.
TimToady well done!
pmichaud Hmm, my profile doesn't seem to recognize Perl 6 code. 19:57
moritz mine only has a tiny fraction of Perl code marked as Perl 6
so it's probably not reliable yet 19:58
colomon I thought from what hoelzro++ told me earlier it would only recognize p6 code with p6-specific filenames.
moritz does .nqp count? 19:59
pmichaud that's possible.
colomon (so far, with "use v6" recognition coming whenever github updates to his latest code -- probably months from now.)
moritz: I don't know.
FROGGS "It seems like Larry is—or should be—friends with Tobias Leich. With this in mind, it's worth noting that Tobias is less of a pusher." 20:00
:P
20:01 jnap joined
dalek ecs: 0391fe1 | larry++ | S32-setting-library/Containers.pod:
doc sub forms of combinations, permutations
20:05
20:05 jnap left
TimToady LHF for someone to write tests for the new capabilities 20:07
r: .say for <a b c>.permuations
camelia rakudo-moar 8ae2de: OUTPUT«Cannot find method 'permuations'␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«No such method 'permuations' for invocant of type 'Parcel'␤ in block at /tmp/tmpfile:1␤␤»
TimToady r: .say for <a b c>.permutations
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«No such method 'permutations' for invocant of type 'Parcel'␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar 8ae2de: OUTPUT«Cannot find method 'permutations'␤ in block at /tmp/tmpfile:1␤␤»
TimToady ENOTYET
pmichaud EAGAIN 20:08
FROGGS SPAGAIN
r: my sub foo(:$n is required, *%h, *@a) { say 1 }; foo 1, x => 20, y => 300, 4000
camelia rakudo-moar 8ae2de: OUTPUT«1␤»
..rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«Required named parameter 'n' not passed␤ in sub foo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
FROGGS r: my sub foo(:$n!, *%h, *@a) { say 1 }; foo 1, x => 20, y => 300, 4000
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de, rakudo-moar 8ae2de: OUTPUT«Required named parameter 'n' not passed␤ in sub foo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
20:09 stevan_ joined 20:10 Guest63085 is now known as ponbiki 20:13 airdisa joined 20:14 stevan_ left
pmichaud afk again 20:14
TimToady senses that grondilu++ is working on rosettacode.org/wiki/Chinese_Remainder_Theorem 20:17
20:18 treehug88 left, airdisa left 20:19 uvtc joined, treehug88 joined, treehug88 left 20:22 treehug88 joined
jnthn FROGGS: Are you on that "is required" bug already? 20:22
FROGGS: If not, I think I know what it'll be...
FROGGS jnthn: I just scratch my head about it
r: my sub foo(:$n is required, *%h, *@a) { say &?ROUTINE.signature.params[0].optional }; foo 1, x => 20, y => 300, 4000
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«Required named parameter 'n' not passed␤ in sub foo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar 8ae2de: OUTPUT«False␤»
FROGGS I mean, ! and 'is required' pretty much do the same 20:23
I'd almost think it is about getstaticcode or some such 20:24
jnthn Nah
It's da lowerer
Trying a patching now 20:28
FROGGS I am looking at the failing Signature.gist
jnthn ok 20:29
TimToady r: .say for <a b c>.permutations
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«No such method 'permutations' for invocant of type 'Parcel'␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar 8ae2de: OUTPUT«Cannot find method 'permutations'␤ in block at /tmp/tmpfile:1␤␤»
TimToady when does it recompile?
FROGGS ten past, every hour 20:30
at least it was, some time ago
moritz 8 * * * * perl ~/evalbot/build.pl rakudo > /dev/null
FROGGS ohh, off by two -.-
TimToady does it take 22 minutes to recompile? 20:31
jnthn On the upside, Moar builds are fairly fast :P
TimToady: Possibly if it's doing all 3
20:31 beastd joined
moritz TimToady: depends on whether nqp needs to be recompiled 20:31
hoelzro colomon: GH uses a Bayesian classifier to figure out the file type
moritz r: .say for <a b c>.permutations
camelia rakudo-parrot 8ae2de, rakudo-jvm 8ae2de: OUTPUT«No such method 'permutations' for invocant of type 'Parcel'␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar 8ae2de: OUTPUT«Cannot find method 'permutations'␤ in block at /tmp/tmpfile:1␤␤»
hoelzro I have a PR with some enhancements 20:32
TimToady btw, that call coredumps perl6-m
hoelzro but it has yet to be acknowledged
moritz huh, it seems to be stuck
jnthn FROGGS: Think I made it work; which test was it, ooc?
FROGGS jnthn: t/spec/S06-signature/slurpy-params.rakudo.moar
jnthn FROGGS: ah,found it, np 20:33
oh
named-parameters passes after my fix
jnthn checks that one too
hah, 2 for the price of 1
FROGGS *g*
win!
TimToady lunch & 20:34
jnthn It seems that we fail some tests 'cus the signature gist patch no longer strips Any
Thing is
Any is not always the default
moritz TimToady: also note that the server has two rakudo build dirs, and uses each in turn (to minimize downtime between the rebuilds), so it has to rebuild nqp twice
colomon hoelzro: really? I had no idea.
moritz and yes, it always does all three
grondilu p6: say 10 div $_ for <1 2 5 7>; 20:35
?
camelia rakudo-jvm dc9630: OUTPUT«(timeout)»
..niecza v24-109-g48a8de3: OUTPUT«10␤5␤2␤1␤»
..rakudo-parrot dc9630: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in any at gen/parrot/BOOTSTRAP.nqp:1219␤ in any at gen/parrot/BOOTSTRAP.nqp:1210␤ in sub infix:<div> at gen/parrot/CORE.setting:4013␤ in…»
..rakudo-moar dc9630: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in sub infix:<div> at src/gen/m-CORE.setting:4009␤ in block at /tmp/tmpfile:1␤␤»
grondilu p6: say 10 div "3"
camelia rakudo-parrot dc9630: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in any at gen/parrot/BOOTSTRAP.nqp:1219␤ in any at gen/parrot/BOOTSTRAP.nqp:1210␤ in sub infix:<div> at gen/parrot/CORE.setting:4013␤ in…» 20:36
..niecza v24-109-g48a8de3: OUTPUT«3␤»
..rakudo-moar dc9630: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in sub infix:<div> at src/gen/m-CORE.setting:4009␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm dc9630: OUTPUT«java.lang.NullPointerException␤ in sub infix:<=:=> at gen/jvm/CORE.setting:1322␤ in block at gen/jvm/CORE.setting:16460␤ in method perl at gen/jvm/CORE.setting:9817␤ in method perl at gen/jvm/CORE.setting:1041␤ in method message at gen/jvm/C…»
moritz div explicitly wants two same-typed arguments
and rakudo doesn't yet do the <...> magical auto-typing
grondilu ok
moritz it's a bug that niecza accepts 10 div "3"
20:38 pdcawley left
lue Naturally, the recompile is done just when TimToady leaves :) 20:38
FROGGS r: .say for <a b c>.permutations # TimToady
camelia rakudo-moar dc9630: OUTPUT«Cannot call 'postcircumfix:<[ ]>'; none of these signatures match:␤:(Any \SELF, int $pos)␤:(Any \SELF, int $pos, :BIND($BIND)!)␤:(Any \SELF, int $pos, Any :SINK($SINK)!, *%other)␤:(Any \SELF, int $pos, Any :delete($delete)!, *%other)␤:(Any \SELF,…»
..rakudo-parrot dc9630, rakudo-jvm dc9630: OUTPUT«a b c␤a c b␤b a c␤b c a␤c a b␤c b a␤»
20:40 erkan joined
uvtc Hi, #perl6. Was looking around to see if any new tutorials were available. Is the perl6/book still usable? Or is it out-of-date and in need of updates at this point? 20:40
FROGGS uvtc: dunno about the book, but have you seen the advent calender? 20:41
hoelzro colomon: yeah, it's kinda annoying =/
uvtc Lemme hava look...
[Coke] the book hasn't been updated since the last time you looked. 20:42
lue uvtc: Last time I poked it, the book needs an overhaul in all the backend stuff. I imagine the book's contents are still somewhat useful though.
[Coke] jnthn++'s presentations are always good, but not really bookish.
20:42 Guest1338 joined 20:43 Guest1338 left
uvtc Ok, there's a nice 2013 P6 Advent Table of Contents page. 20:43
Will have a look at some of those articles. 20:44
20:46 stevan_ joined, stevan_ left
PerlJam uvtc: What sort of things would you like to see a tutorial on? (maybe someone could be convinced to write it) 20:48
uvtc Just built Rakudo/Moar from git clone. Starts fast! :)
20:49 jnap joined
uvtc PerlJam, one book I've found useful in the past (for Python) is the Python in a Nutshell book (by Alex Martelli). The first few chapters seem well organized and brief. Would like to see something like that for P6. 20:50
PerlJam, I mean a from-the-ground-up full-on language tutorial. 20:52
PerlJam
.oO( Perl 6 in a Chrysalis? )
uvtc: oh ... that's been on my todo list forever. 20:53
uvtc Perl 6 Unfurled :)
PerlJam uvtc: I think if you ask for a tutorial on a more focused topic area, it would be easier for someone to write than a full-blown Perl 6 tutorial 20:54
(someone not just me :)
dalek kudo/nom: 37f0403 | jnthn++ | src/Perl6/Actions.nqp:
Fix lowering if 'is required'.
20:55
PerlJam or it may already exist somewhere.
20:55 kaare_ joined
itz_ github.com/perl6/book ? 20:55
20:55 raiph joined
uvtc PerlJam, Ok. Focused smaller tutorials might have a better chance at being written. 20:56
PerlJam itz_: none of us has been inspired to work on that in a long while.
uvtc itz_, yes, that's what I was asking about a few moments ago. It appears to be a bit out of date.
itz_ uvtc: you could fork and modify!
uvtc Writing in general is difficult, time-consuming, personal, and often fairly thankless. :) 20:57
dalek kudo/nom: 4aa8c5d | (Tobias Leich)++ | src/core/ (2 files):
fix Parameter/Signature.gist

We dont state thate a param is Any, because this is the default. This also fixes an explosion on jvm.
PerlJam uvtc: thought itz_ has a good point. You could contribute to the knowledge base yourself. I, for one, would welcome new/different voices. 20:58
s/thought/though/
uvtc: "The Perl 6 Experience" :) 20:59
dalek kudo/nom: 24c544b | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp rev to get latest fixes
uvtc PerlJam, personally, I don't find the approach taken by perl6/book to be as useful for me as one which starts at the bottom with the bits and pieces and works its way up. 21:01
21:01 dayangkun left
moritz the book is dead anyway. 21:01
PerlJam merlyn and bdf still have a "Learning Perl 6" placeholder I think. Maybe they could be convinced to actually write it. 21:03
itz_ merlyn was down on the idea when I spoke with him in a London pub recently
I did like the approach of the original Learning Perl as well the Nutshell guide mentioned 21:04
PerlJam yeah, he's been down on it every time I talk with about it too. Something about book sales not being big enough ;)
lue uvtc: what approach does work for you then, ooc?
uvtc lue, well, a pretty close description is the approach taken by chapter 4 of that Python in a Nutshell book I mentioned. It assumes you know some programming already, and then, says, 21:05
"here's how tokens work, identifiers, language keywords, operators, literals, delimiters, statements, etc." 21:06
lue, and works its way up from there (from the bottom up like that). 21:07
21:08 psch left
itz_ maybe the modern perl book (Creative Commons) could be modified 21:08
moritz no 21:09
lue uvtc: what do the first three chapters do, though? :)
uvtc lue, oh, lessee ... here's the link shop.oreilly.com/product/9780596100469.do . 21:10
lue Ah, fairly standard beginning-tutorial stuff I see. 21:11
FROGGS moritz: what is up with that book? 21:12
moritz FROGGS: it's dead.
uvtc , Jim.
:)
moritz just look at the timestamps of the last few commits
FROGGS moritz: in what way?
I mean, it would be dead wood if it was printed
ahhh 21:13
okay
masak 'night, #perl6
moritz the last view times I've tried to contribute, I got starved by lonliness
FROGGS gnight masak
lue masak o/
moritz I've tried to port some of the perl6/book stuff into perl6/doc
21:14 denis_boyun joined
lue uvtc: Funny thing is, I can't stand most tutorials. I use them to get a basic handle on things, and then I do much better stumbling through whatever it is I'm trying to do in the first place, reference in hand :P 21:14
21:14 airdisa joined
itz_ the Python Nutshell book is very cheap on Google Books (at least in the UK) 21:14
[Coke] writing a book is hard, and most of the people here are writing the software. 21:15
uvtc lue, From one angle, I think I know what you mean. It's difficult to write without wasting your reader's time.
lue, that's why I like the nuts-and-bolts approach; just give the reader the details they need. They already know how to program, they just need to know how this language works so they can move one. 21:16
move on.
lue moritz: last time I tried, I found that I'd have to whack the generator into shape to do much.
itz_ I liked the cheatsheet
lue (IIRC correctly, it should be using free fonts, and also XeLaTeX for the Unicode support.) 21:17
dalek rl6-roast-data: 64466a4 | coke++ | / (6 files):
today (automated commit)
uvtc itz_, do you mean this? raw.github.com/perl6/mu/master/doc...tsheet.txt
itz_ yes .. I think its in star as well
uvtc Ah. I got that link from perl6.org/documentation/ . 21:18
21:19 airdisa left
uvtc lue, I'd actually tried starting something like it in the past: wiki.perl6.org/Mostly%20Harmless%20Docs/Main 21:19
21:20 treehug88 left
uvtc But I found myself asking endless questions in this channel, and then ran out of steam. 21:21
21:23 geekosaur left 21:24 geekosaur joined 21:25 treehug88 joined 21:26 stevan_ joined, dayangkun joined 21:29 stevan_ left 21:30 treehug88 left
jnthn FROGGS: You fixed the JVM null pointer exception causing thing, did you say? 21:31
FROGGS jnthn: I did
started a spectest just now 21:32
jnthn \o/ 21:33
21:33 treehug88 joined
jnthn I'm working on the thing that blows up JSON::Tiny 21:33
21:33 Mouq joined
FROGGS uhhh 21:35
++jnthn
I'll look at t/spec/S02-types/isDEPRECATED.rakudo.jvm ..................... Failed 20/20 subtests
jnthn I think that's failed for a while. But yeah, do take a look
FROGGS Error while creating backtrace: No such method 'Int' for invocant of type 'Any' 21:36
interesting
jnthn Oh...
FROGGS Int-eresting, even
jnthn I wonder if it leaves empty entries in the backtrace object when it doesn't figure out the line number...
FROGGS that is why I wanna take a look, it fails for too long now :o)
diakopter MIN_INT 21:37
FROGGS jnthn: I guessed something like that too
jnthn bah, I figured at least one reason why the JSON bug, and think I found a more general thing to improve... 21:38
FROGGS you say it as if it were a good and a bad thing at the same time
jnthn Well, one of those, "hm, I wonder what the history of this is" things :) 21:39
FROGGS ahh, yeah
you will remember when half the tests assplode :o) 21:40
21:40 treehug88 left 21:41 zakharyas left 21:47 treehug88 joined 21:53 pdcawley joined, pdcawley left 21:54 spider-mario left
japhb uvtc: I love the name 'Perl 6 Unfurled'. :-) 21:55
uvtc japhb, :) 21:56
lue For some reason, trying to generate perl6/book gets me failures in processing UTF-8. The prime suspect for this appears to be Perl 5... 21:58
21:58 skids left
FROGGS r: sub a is DEPRECATED { }; a() 22:00
camelia ( no output )
..rakudo-jvm 24c544: OUTPUT«No such method 'Int' for invocant of type 'Any'␤␤Error while creating backtrace: No such method 'Int' for invocant of type 'Any'␤ in block at gen/jvm/CORE.setting:10679␤ in block at gen/jvm/CORE.setting:7370␤ in method reify at gen/jvm/CORE.s…»
..rakudo-parrot 24c544: OUTPUT«Saw 1 call to deprecated code during execution.␤================================================================================␤Sub a (from GLOBAL) called at:␤ /tmp/tmpfile, line 1␤Please use something else instead.␤--------------------------…»
lue (Unless there's a "Carl Mäsak" I don't know about, that is ☺)
jnthn lue: I saw a guy wearing a badge like that at a conf once... :) 22:01
22:15 airdisa joined
FROGGS hmmm, jvm's stage parse is at 92s, which is way more than usual 22:18
jnthn o.O
22:18 denis_boyun left 22:20 airdisa left
dalek kudo/nom: 387664f | (Tobias Leich)++ | src/core/Backtrace.pm:
skip too if line is not defined

The line number and file is not guaranteed to be set. Calling .Int on an undefined value would explode, so we move that to after the skip.
22:22
jnthn OK, with local patches, JSON tiny passed its tests (in 2s) on Moar. 22:23
FROGGS both sounds very nice
diakopter :)
jnthn spectests
Darn, I've busted stuff :/ 22:24
FROGGS that would mean that v5 might work
>.<
jnthn oh, looks like a silly one
FROGGS: It may.
22:25 zby_home left
jnthn FROGGS: The thing I fixed is not the thing I expected to be fixing. 22:25
FROGGS hehe
jnthn FROGGS: And the other thing is still to do.
I guess JSON::Tiny working was the next Panda blocker... 22:26
FROGGS well, I am not even sure what in v5 is causing the fail, because I was unable to golf it down
22:30 treehug88 left
dalek p: 080ce0b | jnthn++ | src/how/NQPClassHOW.nqp:
Disable SC barrier around class cache flush.
22:34
22:35 treehug88 joined 22:37 FROGGS left
dalek kudo/nom: 8004501 | jnthn++ | src/ (2 files):
Compute sig arity/count at compile time.

Before, probably for some historical reasons that are now gone, we did this computation at runtime and cached it. This was bad for needing to do the "did we compute it yet" check, but also because it triggered SC write barriers, wasting time and bloating modules.
22:37
kudo/nom: fd8316f | jnthn++ | tools/build/NQP_REVISION:
Get latest NQP fixes.
22:38 FROGGS joined
jnthn FROGGS: ^^ seems to fix JSON::Tiny tests 22:39
22:42 sftp left 22:43 Sqirrel left, FROGGS left 22:44 stevan_ joined 22:45 FROGGS joined 22:46 daxim joined 22:49 Sqirrel joined
FROGGS ===SORRY!=== 22:52
Object conflict detected during deserialization.
v5 does not like it yet
22:55 dmol left
jnthn Ah, then you probably have the Real Issue. 22:57
FROGGS (tm)
23:01 dmol joined, dmol left 23:02 treehug88 left, uvtc left
jnthn FROGGS: I hoped pre-compiling JSON::Tiny might reveal it, but no, that works. 23:03
FROGGS :/
jnthn ...and brings JSON::Tiny make test time down to 1s with parallel tests..
FROGGS: How might I reproduce the v5 thing? 23:04
FROGGS: Is it a lot of build hacking for me to try it?
FROGGS jnthn: no, clone v5, apply rakudo.patch, m-install in rakudo, and after configuring v5 do a m-install there 23:05
[email@hidden.address]
jnthn lemme try it
FROGGS note that its configure script is actually a perl 6 script
jnthn Any reason the final hunk of that patch isn't already in Rakudo? 23:08
(the postcircumfix bit)
FROGGS it makes it parse but these are still not callable
23:09 Sqirrel_ joined
FROGGS I can apply that if that is no problem 23:09
jnthn makefile(1) : fatal error U1033: syntax error : '=' unexpected
Stop.
FROGGS :(
ahh, yeah
damn
23:10 kbaker_ left
jnthn ugh 23:10
tadzik jnthn++ # PLPW appearance 23:11
jnthn I fixed a couple of things but the rest I dunno how to ddeal with
23:11 Sqirrel left
jnthn Oh, I guess I can hard code stuf 23:11
FROGGS jnthn: what is "the rest"?
jnthn M_NQPLIB = $(shell $(M_NQP) -e 'print(nqp::backendconfig<prefix> ~ "/languages/nqp");')
M_P6LIB = $(shell $(M_PERL6) -e 'print %*CUSTOM_LIB<perl>')
FROGGS yes, I am working on that atm 23:12
jnthn I hacked it. 23:14
it's building
Where should it fail?
I see it building lots of stuff :)
I get to Compiling Config to mbc and then it can't find Perl5::Terms 23:15
FROGGS it should fail when hitting Perl5::Config after Perl5::Terms 23:16
jnthn ah, I see it
FROGGS it should find it...
23:16 airdisa joined
jnthn Yeah, the PERL6LIB=... perl6-m ... construct doesn't work out on Windows. 23:16
Hmm, it got way past Config here. 23:17
FROGGS Object conflict detected during deserialization.
(Probable attempt to load two modules that cannot be loaded together).
make: *** [lib/Perl5/Config.moarvm] Fehler 1
jnthn Into Module::BUILD at the moment...
FROGGS it fails at that point for me... 23:18
jnthn FROGGS: You did grab my NQP patch as well as the Rakudo one?
FROGGS ye
yes
jnthn huh
Well, it got past Config here...
FROGGS I pulled again (all repos) and it only pulled the dirops patch
jnthn It completed... 23:19
FROGGS hmpf
I typed "make m-install" in nqp, and it did sort of nothing
jnthn FROGGS: How can I try out v5 now I make m-instlal'd it? :) 23:20
FROGGS perl6-m -e "use v5; say $^O"
jnthn ooh 23:21
C:\consulting\perl6\v5>perl6-m -e "use v5; foreach my $x (1,2,3) { say $x; }"
1
2
23:21 stevan_ left
jnthn 3 23:21
23:21 airdisa left
jnthn C:\consulting\perl6\v5>perl6-m -e "use v5; say $^O" 23:21
MSWin32
Cool!
FROGGS :o)
it does what it should... mostly
jnthn FROGGS: Lemme know if you can't get it to work for you still...
FROGGS I will 23:22
jnthn cute...a chunk of Perl 5 on MoarVM. :D 23:23
FROGGS *g*
sigil-variance ftw!!
I like to mix both worlds like: use v5; sub foo { use v6.0.0; say @_.perl }; foo(1, 2, 3) 23:24
jnthn yes :)
FROGGS you can even do: say 1->WHAT
jnthn Geez...
FROGGS++ # v5 23:25
FROGGS thanks
23:28 sftp joined
diakopter m: { use v5; say 1->WHAT } 23:29
camelia rakudo-moar 24c544: OUTPUT«===SORRY!=== Error while compiling /tmp/VCJxLeMekg␤Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block␤at /tmp/VCJxLeMekg:1␤------> { use v5; say 1->⏏…»
lue Just so I know, how long does it usually take to process a CLA (sent via email)? 23:32
FROGGS lue: I am not sure that you will get any feedback 23:33
lue ah, so I'll just have to bug [Coke] in a week or so to check The List™, right? :) 23:34
FROGGS lue: for a rakudo commit bit?
lue yes.
23:35 Sqirrel_ left
FROGGS ohh, I'd say you would need at least jnthn's blessing too 23:35
and I also asked pmichaud and moritz for their +1/-1
23:36 btyler left
lue FROGGS: well sure, I meant bugging [Coke] more for checking that the CLA got processed than being the sole step in getting access. 23:36
FROGGS ahh, yeah 23:37
it still fails for me... 23:44
I pull in all repos again, and built all afresh 23:45
I even deleted the installed v5 files
jnthn FROGGS: Huh. That's really weird. You got install paths right, finding the right perl6-m, etc? 23:47
FROGGS I only have one perl6-m 23:48
really
which perl6-m
/home/froggs/dev/nqp/install/bin/perl6-m
and only one nqp, one rakudo etc
PERL6LIB=lib perl6-m -MPerl5 -e 'use v6.0.0; sub EXPORT(|) { use Perl5::Terms }'
===SORRY!===
Object conflict detected during deserialization.
jnthn odd
FROGGS: Did you make clean in your v5 too?
FROGGS yes 23:49
jnthn r: 1.omg
FROGGS and there is no *.moarvm left after a m-clean, I checked 23:50
camelia rakudo-moar fd8316: OUTPUT«Cannot find method 'omg'␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot fd8316, rakudo-jvm fd8316: OUTPUT«No such method 'omg' for invocant of type 'Int'␤ in block at /tmp/tmpfile:1␤␤»
FROGGS btw, a v5 block get Perl5::Terms imported implicitly
I guess that is part of the problem
23:51 ajr_ left
jnthn Yeah, I'm just confused why you get the error and I don't... 23:52
FROGGS yeah, that problem should not be os related at all
jnthn Right 23:53
FROGGS humm, precomp is the problem
jnthn Oh?
FROGGS this passes after a m-clean: PERL6LIB=lib perl6-m -MPerl5 -e 'use v6.0.0; sub EXPORT(|) { use Perl5::Terms }'
takes 30s or so but works
and failed before
jnthn That one runs in like a second for me... 23:58
FROGGS hmmm, after compiling Perl5::Terms I can't even do: perl6-m -e 'use v5'
so it has nothing to do with Config.pm, but entirely with loading that Terms.pm 23:59
23:59 araujo joined