»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:01 erkan left 00:03 erkan joined, erkan left, erkan joined, sudokode left 00:05 sudokode joined 00:52 tokuhiro_ joined 00:53 zhutingting joined 01:01 benabik left, benabik joined
diakopter phenny: ask TimToady should .codes return the original number of codes as inputted, or the number of codes it will output when it's outputted as NFC+marks? 01:03
phenny diakopter: I'll pass that on when TimToady is around.
diakopter phenny: ask TimToady or some other formula I can't imagine at the moment? :) 01:06
phenny diakopter: I'll pass that on when TimToady is around.
sorear if the string is logically stored as code points, it should return the number of code points 01:07
if the string is logically stored as graphemes, .codes() should error 01:08
because we already have .codes('NFC') and .codes('NFD')
diakopter I thought Perl 6 strings were logically stored as NFG 01:09
sorear we've gone back and forth on that several times 01:10
diakopter I was pretty certain TimToady still wants NFG 01:11
01:14 Exodist left 01:16 erkan left 01:17 erkan joined, erkan left, erkan joined
diakopter no? 01:17
sorear I gave you two options just in case 01:19
dalek rl6-roast-data: 1c24077 | coke++ | / (4 files):
today
rl6-roast-data: e035a93 | coke++ | / (4 files):
today
diakopter oh 01:20
01:20 erkan left
diakopter well, that answers my question - the original lengths don't need retained 01:21
01:22 erkan joined, erkan left, erkan joined
diakopter phenny: tell TimToady sorear answered it; see the log.. 01:22
phenny diakopter: I'll pass that on when TimToady is around.
[Coke] +S32-array/splice.rakudo 36 - negative offset dies
sorear the main thing that makes me nervous about NFG is whether it will make it more expensive to manipulate short strings like the names of variables
ropes, too
[Coke] That sad feeling when you git pull and there's nothing new. :| 01:23
diakopter well, strings that have codepoints that fit in 8-bit can still be stored as 8-bit
[Coke] ponders trying to fix the next partcl-nqp bug. 01:24
[Coke] considers cleaning up the makefile instead. :P 01:25
diakopter a string with 10m ascii chars with one negative synthetic in the middle can be stored as 3 segments
01:25 whiteknight left
diakopter I imagine such ropey things would add some space overhead to all string objects 01:26
so a forced-GC-reachable depth-limited cache-stack of string objects could save on allocations and frees 01:28
01:30 MikeFair_ joined 01:31 am0c joined
diakopter MikeFair_: howdy 01:31
MikeFair_ diakopter: Hey there! :)
sorear Does PCT have a future 01:35
?
diakopter what's your guess/opinion?
/vote
MikeFair_ sorear: Hehe - I'm trying to use it now 01:36
sorear: If you mean will people want to use it to make DSLs, then, yes, I do
diakopter sorear: the other day you were talking about languages' niches. What's Perl 6's niche(s)? 01:38
sorear diakopter: i suspect PCT may be moribund because #perl6 is developing QAST and #parrot is developing PACT, both of which can supplant PCT 01:39
diakopter hasn't heard of PACT
sorear perl 6 is a solution looking for a problem
MikeFair_ sorear: OHHHH, in that case, I don't think so
sorear: I'll can say that after reading up more on Perl6 Grammars I wanted to use it to replace A lot of ETL tools 01:40
sorear ??ETL 01:41
MikeFair_ Extract Transform Load
sorear all the systems we're developing using p6grammars for parsing
MikeFair_ The simple act of extracting data from one system, transforming it and shipping it to another, and loading it into the remote system
sorear: Usually it involves "This system needs it in this format, but that system can only export it in that format, and god forbid we ever need to change the interface of this spec so we better get the fields right the first time" 01:42
diakopter sorear: ETL's one of those industry buzzwords from 10-20 years ago that spawned large commerical software products that still have tons of customers today. Also there are some open source ones. 01:43
MikeFair_ diakopter: Without meaning any offense to any of them, I haven't found one that I really like
diakopter: A coworker and I were discussing yet another ETL tool and we both agreed that the Perl script I wrote to do the job 6 years ago is still better than anything the tools can do 01:44
benabik sorear: QAST and PACT are, to my mind, are really just next versions of PCT.
MikeFair_ is thinking like benabik.
sorear *shrug* seems like a pretty common problem, and one p6 is fairly well suited to due to integrated grammars and a focus on data rearranging 01:45
01:46 imarcusthis left
MikeFair_ Currently they all seem to think Java is the right tool to do the job, my favorites (at least from a feature set and structure point of view) are MuleESB and Pentaho/Kettle 01:47
diakopter re PACT I see a disassembler and a decompiler.. but no compiler tools?
sorear at yapc I asked TimToady what the release criteria for perl 1.0.0 were. "Practical Extraction and Reporting Language. Extraction and reporting. Regexes and formats. That's it."
01:47 imarcusthis joined
diakopter benabik: how far along would you say PACT is 01:48
MikeFair_ sorear: Speaking of QAST, is there anything I can mimic out there in the wild? I'm having a difficult time with finding out where all this "magic" seems to be coming from in the PCT. For instance I'm still not seeing where the definition of <EXPR> comes from 01:50
sorear MikeFair_: in one of the PIR files there is .sub 'EXPR' 01:51
it's a hundred lines or so of hand-written parrot assembly
QAST is currently only used by Rakudo, I think
but the folks in .no are working to build up examples
benabik diakopter: Very very early stages. This was not a productive summer for me. 01:52
MikeFair_ sorear: I don't really care if my language runs on rakudo or parrot at this point, and a lot of the semantics I want are straight from Perl6
sorear benabik: oh, was PACT your gsoc project? 01:53
benabik diakopter: But it's also starting from "replace PIR" and encountering lots of "interesting" corner cases in rarely (directly) used bits of Parrot.
sorear: Yes.
sorear: It's _reading_ packfiles now, but I never got to generation. :-(
01:53 tokuhiro_ left
MikeFair_ sorear: Ok, so does that make <sym> the same kind of thing? 01:54
ok 01:57
diakopter sym is a special placeholder for the operator matched by the proto
MikeFair_ finds everything in src/gen_grammar.pir
sorear erm 01:58
MikeFair_ except for perhaps "sym"
sorear I think that's a compiler output file
01:58 scott__ joined
sorear what repository are you looking in? 01:58
01:58 FROGGS_ joined
benabik IIRC, gen_grammar.pir is generated from Grammar.pm 01:58
MikeFair_ sorear: I think you're right
ok 01:59
it's in src, but after running parrot setup.pir
I ran perl mk_language_shell.pl safire (I couldn't think of a language name so I followed "pearl, ruby, ..." 02:01
moved into the safire directory
sorear is it deliberately misspelled?
MikeFair_ yes
sorear ok then
MikeFair_ ;)
fewer keystrokes and less google collisions this way (not that this will ever hit google, I'll likely have to start over with something new before then) 02:02
02:02 FROGGS left
MikeFair_ but anyway, I made a few edits to Grammar/Action/Runtime to create "put" (basically simply a clone of 'say') and ran parrot setup.pir 02:04
I think that's when the gen_grammar.pir showed up 02:05
benabik MikeFair_: If you're trying to understand PCT, I might suggest github.com/Benabik/cish Several people have said it's a valuable addition to the squaak tutorial. 02:06
MikeFair_ Definitely! thanks benabik++ 02:12
sorear++
I almost forgot about the squaak tutorial
sorear sorear++?
what did I do? 02:13
MikeFair_ sorear: You've just helped me a lot over the past few days
diakopter K is Karma; it's good enough for me
*for
MikeFair_ diakopter++ # 'Cause I couldn't leave diakopter out 02:14
02:14 Circlepuller_ joined
MikeFair_ sorear: Oh btw, I looked it up again and you were right that I was definitely thinking about IEnumerable with its yield statement and not System.enum 02:15
sorear: not that I'm suprised, I just thought i'd let you know
02:15 Circlepuller left
MikeFair_ benabik: I'm only about 25% of the way through, but so for it seems cish is EXACTLY what I was looking for 02:22
well this cish tutorial
02:27 orafu left, orafu joined 02:47 daniel-s_ joined 02:50 daniel-s left 02:57 popl joined 03:04 benabik left 03:05 zhutingting1 joined, benabik joined 03:08 zhutingting left 03:20 Circlepuller joined 03:22 Circlepuller_ left 03:23 cjbot left 03:26 cjbot joined 03:31 popl left 03:38 zhutingting1 left 04:23 skids left 04:33 zhutingting joined 04:46 kaleem joined 04:50 crab2313 joined 05:01 wk left 05:11 thou joined, crab2313 left 05:36 marmay joined 05:40 dayangkun joined 05:41 dayangkun left 05:48 dayangkun joined 05:57 daniel-s_ is now known as daniel-s 06:00 zhutingting left 06:02 wtw joined 06:10 wamba joined 06:13 cjbot left 06:16 cjbot joined 06:31 odoacre_ is now known as odoacre 06:38 Circlepuller left 06:39 FROGGS_ left, Circlepuller joined 06:44 birdwindupbird joined 06:56 kurahaupo left, wtw left 07:01 SamuraiJack joined 07:06 MayDaniel joined, brrt joined 07:13 GlitchMr joined 07:20 FROGGS joined
FROGGS gmorning 07:20
arnsholt moin 07:22
moritz good morning 07:24
07:26 wamba left 07:28 hoelzro|away is now known as hoelzro 07:34 wamba joined 07:37 kresike joined
kresike good morning all you happy perl6 people 07:37
FROGGS good morning 07:38
07:40 cjbot left
masak good morning! 07:41
07:43 cjbot joined 07:49 wk joined 07:59 REPLeffect left 08:02 wtw joined
tadzik bad morning 08:04
yet I hope it's a good morning to you :)
FROGGS whats up?
my morning wasnt that bad, just the night (ill kid) 08:05
tadzik neh, just don't feeling to well
FROGGS ohh, I'm sorry
tadzik it's alright 08:06
thanks for looking into Bailador yesterday
FROGGS I'm doing it right now too 08:07
its behaving a little different today O.o
ohh no, it doesnt 08:09
08:10 kaur joined
FROGGS when running the first test, the routes stay defined, the second test case resets the routes somewhere 08:10
08:12 lestrrat left 08:13 simcop2387 left, rjbs left, lorn_ left 08:14 cjbot left 08:16 cjbot joined 08:17 PZt left 08:19 lestrrat joined, Psyche^ joined 08:20 lorn joined 08:21 rjbs joined 08:22 Patterner left, Psyche^ is now known as Patterner 08:24 rjbs left 08:25 lorn left, lestrrat left 08:27 rjbs joined 08:28 lorn joined, lestrrat joined 08:30 simcop2387 joined 08:32 dakkar joined, Liz_ joined 08:34 Liz_ left
GlitchMr Just wondering, does Perl 6 have something like $^O? 08:34
moritz nr: say $*PERL
GlitchMr I would like to port File::Spec
p6eval rakudo f3d2b5: OUTPUT«("name" => "rakudo", "compiler" => {"name" => "rakudo", "ver" => "2012.08-25-g71fc9c5", "release-number" => "", "build-date" => "2012-08-28T00:15:37Z", "codename" => ""}).hash␤» 08:35
..niecza v21-1-ga8aa70b: OUTPUT«Any()␤»
moritz nr: say $*EXECUTABLE_NAME
p6eval niecza v21-1-ga8aa70b: OUTPUT«/home/p6eval/niecza/run/Niecza.exe␤»
..rakudo f3d2b5: OUTPUT«./nom-inst/bin/perl6␤»
moritz that one
GlitchMr But, I don't see operating system information there
moritz erm wait, I thought you meant $^X 08:36
nr: say $*OS
p6eval niecza v21-1-ga8aa70b: OUTPUT«Unix␤»
..rakudo f3d2b5: OUTPUT«linux␤»
GlitchMr ok :)
FROGGS GlitchMr: if you need the osnames of other system I have several virtual machines 08:37
like BSDs, windows and mac
GlitchMr ;)
FROGGS just need to install rakudo
but I wanted to do that anyway some day
jnthn morning o/ 08:38
08:38 lorn left
masak jnthn! \o/ 08:38
08:40 lorn joined
GlitchMr Just wondering, where $*OS is in spec? 08:41
08:41 simcop2387 left
pmichaud good morning, #perl6 08:42
moritz S28
GlitchMr Except it isn't
jnthn nqp: my %h; say(%h<a><b><c>);
p6eval nqp: OUTPUT«␤»
jnthn nqp: my %h; say(pir::typeof__SP(%h<a><b><c>));
p6eval nqp: OUTPUT«Undef␤»
jnthn nqp: my %h; say(pir::typeof__SP(%h<a><b>));
p6eval nqp: OUTPUT«Undef␤»
jnthn nqp: my %h; say(pir::typeof__SP(%h<a>));
p6eval nqp: OUTPUT«Undef␤»
pmichaud I think $*OS might nwo be $*DISTRO 08:43
08:43 orafu left
moritz WTF? 08:43
jnthn pmichaud: Should I make NQPMu have the above semantics?
pmichaud (in S02)
GlitchMr I guess that $*DISTRO || $*OS will work?
jnthn pmichaud: That is, let it do keyed lookups and evaluate to itself?
(Yes, we have code that depends on this behavior.)
FROGGS nr: say $*KERNEL.name
p6eval niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: Unable to resolve method name in type Any␤ at /tmp/7wy6D92Jbn line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4139 (module-CORE @ 571) ␤ at /home/p6…
..rakudo f3d2b5: OUTPUT«Dynamic variable name not found␤ in method <anon> at src/gen/CORE.setting:9784␤ in <anon> at src/gen/Metamodel.pm:2304␤ in any find_method_fallback at src/gen/Metamodel.pm:2302␤ in any find_method at src/gen/Metamodel.pm:843␤ in block at /tmp/OAMB76Ls7b:1␤␤»…
08:44 simcop2387 joined
FROGGS hmm 08:44
pmichaud jnthn: well, in earlier versions that behavior was part of the ast, not the type.
I'm not sure that belongs in NQPMu
jnthn pmichaud: I don't think it was...
pmichaud I'm certain that Undef didn't have a .at_key equivalent.
jnthn pmichaud: No, we still go through the v-table
08:47 cjbot left
pmichaud r: my $a; say $a.at_key('hello'); 08:48
p6eval rakudo f3d2b5: OUTPUT«Any()␤»
pmichaud r: my $a = 5; say $a.at_key('hello');
p6eval rakudo f3d2b5: OUTPUT«postcircumfix:<{ }> not defined for type Int␤ in method gist at src/gen/CORE.setting:9779␤ in sub say at src/gen/CORE.setting:7140␤ in block at /tmp/vuycaC4X1x:1␤␤»
08:50 cjbot joined
moritz how is the star coming along? 08:53
08:53 Circlepuller_ joined 08:54 PZt joined 08:55 Circlepuller left 08:58 lorn left, simcop2387 left, lestrrat left 08:59 rjbs left 09:00 brrt left 09:01 rjbs joined
thou hi, i'd like to test that i'm not recursing too deep in some code. i can tell with { note Backtrace.new }, but i'm trying to get a count. this is giving some weird numbers: { my $b = Backtrace.new; note +@$b; }, see this example code: gist.github.com/3508824 09:01
09:01 lestrrat joined, fhelmberger joined, lorn joined
thou is it possible (with callframe or Backtrace) to get a count of how many frames there are? 09:01
09:01 SamuraiJack left 09:03 simcop2387 joined
thou ok Backtrace.new.elems < 10, "Call stack not too deep"; # This is what I want to write 09:03
or, better, callframe.depth or something 09:04
moritz thou: sorry, but that's totally the wrong approach 09:06
09:06 simcop2387 left
moritz thou: you should have a dynamic variable (or a temp'ed variable) to track the depth 09:06
thou: backtrace can callframe count block levels too
GlitchMr > canonpath 'a' 09:07
CHECK FAILED:
Calling 'canonpath' will never work with argument types (str) (line 1)
Expected: :($first, @rest)
huh?
sub canonpath($first, @rest) is export {
moritz did you mean ($first, *@rest) ?
GlitchMr oh, I forgot 09:08
jnthn CHECK time checking for the win :)
thou moritz: right, i know it's brittle in that way. what i'm looking at is a kind of event stream, the event listeners can fire events. i want to ensure that the code that processes those events is iterative and not being recursive
pmichaud (star) I think it's in good shape. Anyone know if tadzik was able to get Bailador updated? (I haven't read backscroll yet; too many other things in the way at the moment.) 09:09
masak I think he said he might have tuits tonight.
09:09 lorn left
tadzik I'll be home around 17, it seems 09:09
pmichaud okay.
17... utc? utc+* ?
thou so i can fire off an event chain, use the counter like you suggest, and bail out after, say 1000 events get triggered. but at that point, i want to ensure that the call frame is roughly the same as when i started the event chain.
tadzik erm
in 6 hours
thou i'm OK with leaving this test out 09:10
pmichaud tadzik++
thou just was wondering if it's possible....
tadzik FROGGS++ did some investigation on the issue
moritz thou: the default Backtrace stringification tries hard to filter out callframes a normal human isn't interested in
thou: try .full if you want to see all the gory details
thou right, i saw the .full() method
pmichaud my schedule has gotten really weirdish in the last three hours. (more)
09:11 lorn joined, simcop2387 joined
pmichaud I'm going to go ahead and finish up the build work, document it, and build a candidate tarball containing the broken bailador. 09:11
09:11 lestrrat left
thou i could count the \n in the Backtrace.Str. just weird that .elems (or .end) is so far off. 09:11
09:11 simcop2387 left
pmichaud others can test the candidate tarball and see if there are other issues or problems. 09:11
dalek p/toqast: e817f40 | jonathan++ | src/how/NQPClassHOW.pm:
Fix vtable mapping handling so that it doesn't ignore mappings of handlers from attributes.
p/toqast: 884d509 | jonathan++ | src/core/NQPMu.pm:
Give NQPMu a default at_pos and at_key for type object invocants, like we have for Any in Rakudo.
moritz thou: simply don't got that way
09:12 lestrrat joined
pmichaud I don't know if I'll have time later tonight, tomorrow, or friday to make a new star tarball. You all can decide whether to (1) release the tarball I create today, (2) create a new tarball, (3) postpone until later. 09:12
thou like the elems is 91312, and the number of frames is 13
moritz: ok, i'll drop that idea
09:13 simcop2387 joined 09:14 GlitchMr left 09:18 lorn left, rjbs left, lestrrat left 09:19 simcop2387 left 09:20 am0c left 09:21 simcop2387 joined, dayangkun left, lestrrat joined 09:22 lorn joined, MikeFair_ left 09:26 simcop2387 left
jnthn r: my $*DEPTH := 0; sub foo() { ENTER $*DEPTH++; LEAVE $*DEPTH--; say $*DEPTH; foo() if $*DEPTH <= 10; }; foo() 09:26
p6eval rakudo f3d2b5: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/tYrsFFLIAJ:1␤»
jnthn er
r: my $*DEPTH = 0; sub foo() { ENTER $*DEPTH++; LEAVE $*DEPTH--; say $*DEPTH; foo() if $*DEPTH <= 10; }; foo()
p6eval rakudo f3d2b5: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤»
jnthn Too much NQP :)
09:26 rjbs joined
moritz r: my $depth = 0; sub foo { temp $depth; $depth++; say $depth; foo() if $depth < 10 }; foo 09:27
p6eval rakudo f3d2b5: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
moritz r: my $depth = 0; sub foo { temp $depth++; say $depth; foo() if $depth < 10 }; foo
p6eval rakudo f3d2b5: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤Cannot assign to a readonly variable or a value␤ in sub foo at /tmp/EbHBBheTNI:1␤ in sub foo at /tmp/EbHBBheTNI:1␤ in sub foo at /tmp/EbHBBheTNI:1␤ in sub foo at /tmp/EbHBBheTNI:1␤ in sub foo at /tmp/EbHBBheTNI:1␤ in sub foo at /tmp/EbHBB…
moritz r: my $depth = 0; sub foo { ++temp $depth; say $depth; foo() if $depth < 10 }; foo
p6eval rakudo f3d2b5: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
moritz r: my $depth = 0; sub foo { ++temp $depth; say $depth; foo() if $depth < 10; say $depth }; foo 09:28
p6eval rakudo f3d2b5: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤10␤9␤9␤9␤9␤9␤9␤9␤9␤9␤»
moritz oops.
r: my $depth = 0; sub foo { temp $depth; $depth++; say $depth; foo() if $depth < 10; say $depth }; foo
p6eval rakudo f3d2b5: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤10␤9␤9␤9␤9␤9␤9␤9␤9␤9␤»
moritz EBUG
FROGGS explain that^^ :P
aloha positive: nothing; negative: nothing; overall: 0.
moritz FROGGS: which part? 09:29
FROGGS the output, why do I see 10 9 9 9 ...
moritz because of a rakudobug
FROGGS about temp vars?
jnthn More about UNDO, iirc.
(which temp vars are implemented with) 09:30
hoelzro so...looking at the "how to help page", I'd say I fall under the "Developers willing to learn Parrot". Uh...how do I get started?
09:30 marmay left
pmichaud heh 09:31
cjbot @Erebuss tweeted 'J'ai hate qu'on parle des failles de PERL 6 ... ca voudra dire qu'il est sortie :D'
09:31 lestrrat left, lorn left 09:32 rjbs left
pmichaud hoelzro: I wonder if we still want/need the "Developers willing to learn Parrot" part, though. 09:33
pmichaud looks at the page.
moritz hoelzro: read the sources and the docs, hang out on #parrot, ask questions
pmichaud we might want to say "Developers willing to learn NQP" :-)
hoelzro heh
I've taken a (small) look at NQP 09:34
pmichaud is there anything on the ROADMAP that looks interesting to you?
09:36 lestrrat joined 09:37 simcop2387 joined
hoelzro looks 09:37
09:37 lorn joined
hoelzro I suppose I wouldn't mind starting with fixing some of the bugs I found, so my chat bot can work ;) 09:38
pmichaud that's an excellent start.
09:39 simcop2387 left
hoelzro I could use some guidance on how to fix fully qualified method calls to methods implemented by roles, then ;) 09:39
I have a test in roast
S12-methods/qualified.t, iirc
pmichaud looking 09:40
09:40 wamba left, simcop2387 joined
hoelzro thanks =) 09:40
pmichaud looks like I need to rebuild rakudo... doing that now. 09:41
hoelzro has noticed how much easier things are when the project lead is in your timezone
09:42 rjbs joined
jnthn hoelzro: I've been pondering how to fix that. It's...not too easy because we need to find the applicable concrete role; the reason past attempts didn't work is 'cus we tried to do it on the parametric role. 09:42
hoelzro I see 09:44
I'm willing to put in some effort to fix it (I think I'd be a cool exercise in helping me to figure out how everything works), but help is definitely appreciated along the way =) 09:45
cjbot @dwarf_power tweeted 'RT @Erebuss: J'ai hate qu'on parle des failles de PERL 6 ... ca voudra dire qu'il est sortie :D' 09:46
pmichaud I just got another segfault while compiling nqp-mo.pir 09:50
That's something we really really need to fix :-(
when did it start showing up, ooc?
masak .oO( cjbot, the latest in p6 troll injection technology )
dalek p/toqast: 39b2a95 | jonathan++ | src/NQP/Actions.pm:
Avoid the global NQPMu thing, which is a Very Bad Idea in a bootstrapping compiler. What was I thinking?!
p/toqast: b39cf30 | jonathan++ | / (10 files):
Update the stage0 to the QAST-based NQP. \o/
moritz jnthn++ 09:53
tadzik woo :)
jnthn Next up is getting Rakudo to build on it :)
pmichaud hoelzro: the qualified.t bug you found is likely going to require jnthn++'s guidance to fix 09:56
09:58 cjbot left
arnsholt jnthn: Are these the changes you're expecting to change how to access the nativesize stuff? 09:58
10:01 cjbot joined
pmichaud afk, lunchtime here 10:01
jnthn arnsholt: No, this is getting NQP using QAST
pmichaud (instead of PAST)
arnsholt Right, right 10:02
cjbot @daveoflynn tweeted '@rioter @surfichris If the base don't want to go, how do you propose to drag them? cf. Python 3, Perl 6'
masak .oO( we sneak in in the middle of the night and remove Perl 5 from their computers ) 10:03
tadzik [Coke]: maybe cjbot could give tweet urls as well? 10:04
FROGGS you just need to release a buggy CPAN.pm...
huf meh, concentrate on the new generation. the old ones will die out eventually ;)
it's way too hard to change ideas inside people's heads 10:05
masak I don't want the Perl 5 people to die out.
tadzik thing is, they are reproducting :)
*reproducing?
masak "if they're dead, how can I steal their ideas?" -- mst
huf :D
arnsholt mst is very quote-worthy
FROGGS and watch-worthy... I want that video!! 10:06
now!
tadzik did you miss the keynote?
FROGGS no, but I wanna show my wife 10:07
tadzik: I fixed the second test btw
tadzik FROGGS: \o/ 10:08
awesome
FROGGS just two lines btw -.-
tadzik looking forward to seeing the patch 10:09
did it fix everything else too?
FROGGS ya
tadzik thought so
FROGGS++
care to send a pull request?
FROGGS well, nr 1 and 3 passes, nr4 has a problem with path. but it looks like its the same problem, compiling right now
ya, I wanna clone your repo in a minute 10:10
s/clone/fork/
tadzik awesome, thanks 10:11
10:14 scott__ left, xinming_ joined 10:17 xinming left 10:18 ppabian joined 10:21 cjbot left 10:24 cjbot joined
ppabian r: X::AdHoc.new.throw # some weird errors (or it is not supposed to be used this way) 10:26
p6eval rakudo f3d2b5: OUTPUT«No such method 'VAR' for invocant of type 'Any'␤ in method Str at src/gen/CORE.setting:726␤ in method message at src/gen/CORE.setting:8840␤ in block at /tmp/X2XxpIZFqW:1␤␤»
moritz ppabian: it is not
10:26 ppabian is now known as bbkr
tadzik r: try die "omg noez"; say $!.perl 10:26
p6eval rakudo f3d2b5: OUTPUT«X::AdHoc.new(payload => "omg noez")␤»
moritz right, that's the easy way
the hard way is
tadzik r: X::AdHoc.new(payload => "argd").throw
p6eval rakudo f3d2b5: OUTPUT«argd␤ in block at /tmp/IWpp2YT7QA:1␤␤»
moritz correct
tadzik++
tadzik LTA error though
bbkr yes, should warn about required payload 10:27
bbkr reports
moritz now, you shouldn't use X::AdHoc yourself
s/now/no/
10:27 daxim joined
bbkr oh, ok 10:28
cjbot @carlmasak tweeted '"There is much work yet to be done in [designing programming languages]..." t.co/LBvQcfHM That's what Perl 6 has taught me, too.'
masak in a good way, I might add. 10:29
moritz right, there's room for improvement 10:30
10:31 brrt joined
tadzik FROGGS: I looked at the path, and I wonder if it's not add_route that's actually broken 10:32
it should probably add routes to the app it's invoked on, not on $current 10:33
but this whole Bailador::App business is a really hand-wavey shamanism atm, so it doesn't matter much :)
masak I rather like living in a world where we're not done yet designing and evolving our languages. I think many people don't consider the opportunities in mucking around on the language design level. :) 10:34
FROGGS tadzik: see github.com/FROGGS/Bailador/commit/...19674e3ca0
tadzik oh
hm
dalek kudo/nom: d703632 | moritz++ | src/Perl6/Grammar.pm:
warn on obsolete use of \ and | with sigilled parameter
FROGGS tadzik: I cant explain why pushing to and reading from %.routes doesnt work 10:35
tadzik I only read the first part of your path, that confused me
yeah, I have no idea either
odd
okay, but it's fixed and we can ship it :) 10:36
or, or
FROGGS not yet, patching the 4th test right now
tadzik or, hm
ok
FROGGS you are trying to open views/simple.tt but you are not in folder Bailador 10:37
cwd is rakudo-2012.08, so two level up
tadzik huh 10:40
I don't think that should matter
Bailador::import should fetch the directory the file's in 10:41
and then load templates relatively
FROGGS location is unset
hmmm
tadzik I'm afraid that if you write an accessor method which does $current.location it'll work 10:42
something somewhere's horribly broken with our objects
thou stealing masak's idea to write if as a fun way to learn (early stages): github.com/softmoth/p6-if 10:45
10:49 tokuhiro_ joined
masak ooh 10:54
thou: are you blogging about it, too? 10:55
10:55 PZt left
thou ===SORRY!=== blog NYI 10:56
:-) 10:57
but, yeah, i really should
dalek p/toqast: 8c12e83 | jonathan++ | src/core/NQPMu.pm:
Eliminate call to nqp_set_nqpmu.
10:58
masak thou: yeah, you really should. :)
11:03 gv joined 11:08 thou left
dalek kudo/nqpqast: 54d1cf4 | jonathan++ | src/Perl6/ (6 files):
First round of PIR op fixes, plus changing some to nqp::.
11:16
11:18 gv left 11:31 cjbot left 11:34 cjbot joined 11:36 marmay joined 11:38 cjbot left 11:41 cjbot joined 11:44 skids joined 11:56 wamba joined 11:57 skids left, wamba left 11:59 wamba joined 12:00 bbkr left
dalek p/toqast: da99914 | jonathan++ | src/NQP/ (2 files):
Ensure --vmlibs takes effect for on-demand compiled code.
12:03
jnthn nqp: class Foo { }; BEGIN { say(Foo.HOW.name(Foo)) } 12:12
p6eval nqp: OUTPUT«Foo␤»
dalek ar/build3: 900c0c4 | pmichaud++ | tools/ (2 files):
Add script to run module tests.
12:13
ar/build3: 03ba312 | pmichaud++ | docs/announce/2012.08:
Update draft release announcement for 2012.08.
moritz r: say ucfirst 'foo' 12:15
p6eval rakudo d70363: OUTPUT«Foo␤»
pmichaud ah, ucfirst isn't gone. 12:16
fixing.
moritz r: say lcfirst 'FOO'
p6eval rakudo d70363: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&lcfirst' called (line 1)␤»
moritz pmichaud: did you see docs/deprecations in rakudo? 12:17
pmichaud no.
moritz but it seems that the star announcement has all of those 12:18
pmichaud I think I looked at the rakudo release announcement.
12:21 cjbot left
dalek ar/build3: 20d5676 | pmichaud++ | README.star:
Update README.star with pointers to new build process.
12:23
ar/build3: 641a630 | pmichaud++ | / (2 files):
Update README, exclude README.star from distribution tarballs.
12:24 cjbot joined
diakopter cjbot: a/s/l 12:26
32/M/SFO here 12:27
dalek p/toqast: 8ac7d80 | jonathan++ | src/NQP/Actions.pm:
Optimize some type lookups.
12:28
kudo/nqpqast: 2874f19 | jonathan++ | src/Perl6/Metamodel/ (5 files):
Fixes to get metamodel to compile with updated NQP.
kudo/nqpqast: 89aefb2 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
A couple of fixes to BOOTSTRAP, though it doesn't yet work.
ar/build3: 17285bb | pmichaud++ | docs/announce/2012.08:
Correct ucfirst notes in announcement.
12:29
masak guesses cjbot is 0/B/Internet
flussence is there any way I can lie to parrot about how much RAM I have? having to manually modify nqp/Makefile every time I do a git pull is pretty tiring... 12:31
pmichaud ...modify nqp/Makefile?
what sort of modification are you doing? 12:32
flussence to work around that gc bug that's been happening for months
tadzik what gc bug? :|
flussence core.setting stage2 doesn't build without -G
dalek ar/build3: 651aa54 | pmichaud++ | tools/build/Makefile.in:
Add modules-test target.
12:33
12:39 JimmyZ joined
[Coke] tadzik: should the URL show up first? last? 12:39
[Coke] guesses first to avoid wrapping issues. 12:40
tadzik good point 12:41
or in separate line, as dalek does it
dalek p/toqast: 9834252 | jonathan++ | src/how/NQPClassHOW.pm:
Fix thinko that broke initialization of @ and % attributes.
12:46
12:47 cjbot left
[Coke] tries "url : text" since the url has the from_user in it. 12:48
sirrobert I've got a snippet that gets into a runaway loop (and shouldn't, I think). If I demo it here it won't break anything, right? 12:49
masak it won't break anything.
sirrobert r: class A { method Str () { say self.WHAT; return 'foo'; }; method gist () { return self.Str; }; }; print A.new; 12:50
p6eval rakudo d70363: OUTPUT«(timeout)»
sirrobert the line "say self.WHAT" is causing the loop
but self shouldn't be passed into Str again, self.WHAT should, right?
well, I guess I didn't need the gist in this version =) 12:51
pmichaud self.WHAT for a type object is self
and note that you're defining Str() for the type object as well.
arnsholt say probably calls .gist on the .WHAT which will call Str, which will call say, which will call..
sirrobert well, it breaks here too
pmichaud you probably want method Str (A:D:) { ... } 12:52
sirrobert r: class A { method Str () { say self.WHAT; return 'foo'; }; }; print A.new;
p6eval rakudo d70363: OUTPUT«A()␤foo»
[Coke] cjbot: help
12:52 SamuraiJack joined
sirrobert pmichaud: hmm... let me process that, one sec 12:52
so Str is a class method as well?
pmichaud yes.
12:52 cjbot joined
pmichaud and A is an instance of the class (it happens to be the undefined type instance) 12:53
[Coke] cjbot: help
O_o
cjbot: help
sirrobert pmichaud: ok, I didn't know that methods were instance- AND class-methods
that's kind of weird-cool
cjbot Run by Coke, I relay tweets about Perl 6 from search.twitter.com/search.json?q=%2...erl%206%22
[Coke] cjbot, you're slow. 12:54
frettled oh no, another chatty bot ;)
sirrobert but attributes aren't class attributes
[Coke] hurm. I should rework that so it takes you to the user facing one.
sirrobert pmichaud: is there a way to define a class attribute? Or is it just a scoped var in the class definition? 12:55
pmichaud scoped var, mainly. 12:56
sirrobert ok, cool. thanks
12:56 cjbot left 12:59 cjbot joined
dalek ar/build3: f9632ae | pmichaud++ | / (2 files):
More release guide updates.
12:59
[Coke] tadzik: updated. 13:01
tadzik \o/ 13:03
13:03 marmay left 13:04 wamba left 13:05 Vlavv` joined 13:09 Vlavv_ left
moritz www.reddit.com/r/programming/commen...protected/ I was quite surprised to see the top comment quoting me :-) 13:15
pmichaud ...possible commit flood. 13:16
dalek Heuristic branch merge: pushed 40 commits to star by pmichaud
pmichaud ...or not.
[Coke] gives dalek a scooby snack.
jnthn :) 13:19
moritz Bailador works on rakudo HEAD, it seems 13:21
at least the tests pass
tadzik FROGGS/Bailador, or tadzik/Bailador?
moritz tadzik/Bailador
tadzik ehh
moritz oh, I might have old, precompiled .pir files there
tadzik please check 13:22
pmichaud thinking about it a bit, though, I'm not sure Bailador belongs in Star releases.
moritz ok, I'm now seeing the test failures
tadzik ok, then I still don't understand stuff :)
13:22 ObseLeTe joined
moritz pmichaud: what stuff belongs into star releases? 13:22
tadzik pmichaud: it's a question of what we want to actually put in Star Releases
pmichaud I suppose it can go in the star releases; but it would feel a bit weird for Dancer to be in a Perl 5 release. :-/
tadzik well
moritz pmichaud: well, ActiveState includes stuff like Dancer 13:23
sirrobert r: say 4.isa: Num;
p6eval rakudo d70363: OUTPUT«False␤»
moritz perl 5 core doesn't, but it's not really a distribution
tadzik I thought we were putting just generally Useful Modules in there
pmichaud useful modules++
sirrobert Why isn't 4 a Num? (and can I see what else 4 is besides Int?)
tadzik see also: Math::Model
pmichaud anyway, it can remain for now.
sirrobert: Num are floating point values
sirrobert pmichaud: ohh...
moritz r: say 4.^mro
p6eval rakudo d70363: OUTPUT«Int() Cool() Any() Mu()␤»
pmichaud r: say 4.isa: Numeric 13:24
p6eval rakudo d70363: OUTPUT«False␤»
13:24 wamba joined
sirrobert moritz: ahh cool, thanks 13:24
moritz r: say 4 ~~ Numeric
p6eval rakudo d70363: OUTPUT«True␤»
moritz r: say 4 ~~ Real
p6eval rakudo d70363: OUTPUT«True␤»
13:24 wamba left
tadzik pmichaud: now we have a problem with it not working :) 13:24
moritz r: say 4.^roles
p6eval rakudo d70363: OUTPUT«Real()␤»
sirrobert r: say 4.isa: Float;
p6eval rakudo d70363: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Float' called (line 1)␤»
moritz sirrobert: it's spelled Num :-)
13:24 wamba joined
sirrobert out of curiosity, why "Num" instead of Float? 13:24
(since "Num" seems slightly inaccurate)
pmichaud not entirely sure. Might be because it's 3-chars, like Int Str Buf Any etc. 13:25
moritz sirrobert: doc.perl6.org/images/type-graph-Real.svg
pmichaud it's also possible that at one time Num wasn't going to have to be a float
13:25 wamba left
pmichaud (it might even be possible _now_ that Num doesn't represent floats for some implementations) 13:25
Num really means "number that isn't int nor rat"
moritz pmichaud: I'm pretty sure the spec says it's a floating point
pmichaud from S02: " Num Perl number (approximate Real, generally via floating point) 13:26
moritz hm 13:27
pmichaud to me, "generally" implies "perhaps not" :-)
13:27 wamba joined
sirrobert r: say 4.^mro 13:27
p6eval rakudo d70363: OUTPUT«Int() Cool() Any() Mu()␤»
sirrobert Why doesn't that include "Real" or "Numeric" >?
pmichaud Real and Numeric are roles
sirrobert oh
moritz which is also why .isa doesn't work
sirrobert ohhh that's why they're blue 13:28
in the diagram
moritz r: say 4.^mro>>.^roles
p6eval rakudo d70363: OUTPUT«Real() ␤»
sirrobert w
wrong window =)
dalek ar: 5c86ef5 | pmichaud++ | tools/star/release-guide.pod:
Add first version of Star release guide.
13:29
ar: ca657ae | pmichaud++ | tools/star/release-guide.pod:
Finish up the release-guide.pod file.
13:35
daxim moritz++ for the funny yellow hat phrase/concept 13:36
13:36 gongyiliao left 13:37 skids joined, fgomez left
pmichaud Star 2012.08 release candidate at pmichaud.com/sandbox/rakudo-star-20...rc1.tar.gz 13:41
this one is created using the new build tools, so testing would be welcomed.
moritz kicks off a build 13:42
colomon pmichaud: what's the status of your new t-shirt design? 13:43
pmichaud colomon: I tried uploading to cafepress but ran into some issues. Want me to just post the files somewhere? 13:46
or I could try zazzle/spreadshirt/other
13:46 kaare__ joined
colomon hmmm.... I don't want you to waste too much time on it, but I'd like to have a t-shirt. 13:47
pmichaud I'm sure I'll get them online at cafepress eventually; I was running into network issues when I worked on it a few days ago (from my hotel)
colomon oh, I can be patient, if that's the only problem! 13:48
colomon is at least willing to pretend his patient.... 13:49
*he is
13:56 colomon left 13:57 FROGGS left 14:00 fgomez joined
dalek p/toqast: 1fbf703 | jonathan++ | src/NQP/Actions.pm:
Optimize package lookups where the first part is lexical; also fixes them inside of BEGIN blocks.
14:02
p/toqast: 602bf23 | jonathan++ | src/QAST/Compiler.nqp:
Fix compilation of parameter lists with nameds and positional slurpies.
p/toqast: 017a3d3 | jonathan++ | t/nqp/37-slurpy.t:
Add a test for slurpy/named interaction.
jnthn git st 14:03
oops
dalek kudo/nqpqast: 71916b5 | jonathan++ | src/Perl6/Metamodel/ (7 files):
Various bits of initialization cleanup.
kudo/nqpqast: 1b076c8 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Diddle BOOTSTRAP.pm enough for it to build.
kudo/nqpqast: ebc4a05 | jonathan++ | src/Perl6/World.pm:
World needs a BUILD (can revisit after refactoring HLL::World, though).
14:05 fgomez left 14:06 colomon joined 14:08 stopbit joined 14:09 FROGGS joined
FROGGS tadzik: I made a pull request 14:09
tadzik: there is a patch for MIME::Base64 (and a pull request made by moritz); if this get applied too all tests are fine 14:10
tadzik: you maybe use moritz's fork instead since snarkyboojum isnt that active as it seems 14:13
14:17 kaleem left
moritz pmichaud: Testing modules/jsonrpc... 14:17
t/client.t .. ===SORRY!===
Missing or wrong version of dependency 'src/gen/CORE.setting'
seems some precompilation stuff is broken
pmichaud ummmmm....
did you make -j, ooc? 14:18
moritz (I have a perl6 binary in $PATH)
arnsholt jnthn: My alias is just git s for that (assuming it is what I think it is =)
moritz pmichaud: I did make -j, and make install without -j
(as used to work in previous stars
pmichaud hmmm.
moritz retrying with make
pmichaud afaik all of the paths are fully qualified
but let me check.
pmichaud really dislikes the "Missing or wrong version" error. It should either say "Missing" or "Wrong version" but not leave me guessing which it is. 14:21
dalek kudo/nqpqast: bbda747 | jonathan++ | src/Perl6/World.pm:
Use 'new' to construct statix lexpad properly.
14:23
kudo/nqpqast: 59bf84e | jonathan++ | src/Perl6/Actions.pm:
Harden parameter trait handling.
jnthn arnsholt: status :)
arnsholt Yep. I'm lazy enough to abbreviate it as s 14:24
And diff as d
Since that's -all I do- in git (or at least so it seems, at times)
[Coke] phenny: tell alester I'm seeing "technical debt" mentioned in several presentations at this $dayjob-internal conference. \o/ 14:25
phenny [Coke]: I'll pass that on when alester is around.
[Coke] (missing or wrong version). if it's a result of a "make", it shouldn't be happening at all, we need to fix the make. 14:26
14:26 orafu joined
moritz it might be my precompiled modules in ~/.perl6 14:27
14:28 Exodist joined 14:29 mtk joined, wamba left
[Coke] ah, ok. 14:29
14:30 fgomez joined
[Coke] wonders, if we're going to precompile to pir, if we shouldn't also REcompile to pir when needed. 14:30
(rather than just dying) 14:31
pmichaud [Coke]: we're planning that, yes; the issue has always been one of how to manage a cache
dalek p/toqast: deeca93 | jonathan++ | src/how/Archetypes.pm:
Make sure archetypes methods don't return nulls.
pmichaud for one, where to write the .pir files? 14:32
anyway, jnthn and I plotted out a strategy last week for having dynamically managed cache(s) of .pir files
I'm fairly happy with it, now it's just a matter of tuits :) 14:33
[Coke] ah, good
moritz perl Configure.pl --gen-parrot && make modules-test
now dies with
Could not execute (/home/moritz/tmp/rakudo-star-2012.08/install/bin/perl6 t/01-route-existance.t): open3: exec of /home/moritz/tmp/rakudo-star-2012.08/install/bin/perl6 t/01-route-existance.t failed at /home/moritz/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/TAP/Parser/Iterator/Process.pm line 168. 14:34
etc.
do I have to do a separe make step first?
14:34 wk left 14:35 fgomez left
pmichaud shouldn't. 14:35
moritz now I get: /home/moritz/tmp/rakudo-star-2012.08/install/bin/nqp --target=pir --output=src/gen/perl6-bootstrap.pir --encoding=utf8 \ --vmlibs=perl6_ops src/gen/BOOTSTRAP.pm 14:36
make[1]: *** [blib/Perl6/BOOTSTRAP.pbc] Segmentation fault
and a next 'make' step says "Nothing to be done for `all'. 14:37
pmichaud I wonder if that segfault is the same as what we've been seeing in other places.
jnthn If so, it's probabalistic and trying again helps. :/ 14:38
moritz well, not this time
14:38 fhelmberger left
moritz since trying again didn't even re-attempt the step 14:39
pmichaud star makefiles aren't really able to introspect to rebuild in the face of errors
any chance you could do the build process _exactly_ as documented once before we start trying all of the advanced cases?
moritz I can 14:40
I just tried to simulate the average user :-)
pmichaud I suppose I can potentially improve things a bit by making sure PERL6LIB isn't set for a lot of these steps; especially when precompiling modules and the like. 14:41
that could eliminate interference from things like ~/.perl6 and the like
masak rn: for 0..20 -> $i { say (-1)**$i / (2 * $i + 1) } 14:42
p6eval niecza v21-1-ga8aa70b: OUTPUT«1␤-0.33333333333333331␤0.2␤-0.14285714285714285␤0.1111111111111111␤-0.090909090909090912␤0.076923076923076927␤-0.066666666666666666␤0.058823529411764705␤-0.052631578947368418␤0.047619047619047616␤-0.043478260869565216␤0.04␤-0.037037037037037035␤0.0344827586…
..rakudo d70363: OUTPUT«1␤-0.333333␤0.2␤-0.142857␤0.111111␤-0.090909␤0.076923␤-0.066667␤0.058824␤-0.052632␤0.047619␤-0.043478␤0.04␤-0.037037␤0.034483␤-0.032258␤0.030303␤-0.028571␤0.027027␤-0.025641␤0.024390␤»
masak rn: say [+] map -> $i { say 4 * (-1)**$i / (2 * $i + 1) }, 1..20 14:43
p6eval niecza v21-1-ga8aa70b: OUTPUT«-1.3333333333333333␤0.8␤-0.5714285714285714␤0.44444444444444442␤-0.36363636363636365␤0.30769230769230771␤-0.26666666666666666␤0.23529411764705882␤-0.21052631578947367␤0.19047619047619047␤-0.17391304347826086␤0.16␤-0.14814814814814814␤0.13793103448275862␤-0.…
..rakudo d70363: OUTPUT«-1.333333␤0.8␤-0.571429␤0.444444␤-0.363636␤0.307692␤-0.266667␤0.235294␤-0.210526␤0.190476␤-0.173913␤0.16␤-0.148148␤0.137931␤-0.129032␤0.121212␤-0.114286␤0.108108␤-0.102564␤0.097561␤20␤»
moritz ~/.perl6/lib is in @*INC without any interference from PERL6LIB
pmichaud yes, I was just noticing that.
That's.... not ideal.
masak rn: say [+] (map -> $i { say 4 * (-1)**$i / (2 * $i + 1) }, 1..20)
p6eval niecza v21-1-ga8aa70b: OUTPUT«-1.3333333333333333␤0.8␤-0.5714285714285714␤0.44444444444444442␤-0.36363636363636365␤0.30769230769230771␤-0.26666666666666666␤0.23529411764705882␤-0.21052631578947367␤0.19047619047619047␤-0.17391304347826086␤0.16␤-0.14814814814814814␤0.13793103448275862␤-0.…
..rakudo d70363: OUTPUT«-1.333333␤0.8␤-0.571429␤0.444444␤-0.363636␤0.307692␤-0.266667␤0.235294␤-0.210526␤0.190476␤-0.173913␤0.16␤-0.148148␤0.137931␤-0.129032␤0.121212␤-0.114286␤0.108108␤-0.102564␤0.097561␤20␤»
moritz pmichaud: I pointed that out per email some weeks ago
masak hm... why does the above not reduce to a single sum? 14:44
rn: say (map -> $i { say 4 * (-1)**$i / (2 * $i + 1) }, 1..20).reduce(&[+])
p6eval niecza v21-1-ga8aa70b: OUTPUT«-1.3333333333333333␤0.8␤-0.5714285714285714␤0.44444444444444442␤-0.36363636363636365␤0.30769230769230771␤-0.26666666666666666␤0.23529411764705882␤-0.21052631578947367␤0.19047619047619047␤-0.17391304347826086␤0.16␤-0.14814814814814814␤0.13793103448275862␤-0.…
..rakudo d70363: OUTPUT«-1.333333␤0.8␤-0.571429␤0.444444␤-0.363636␤0.307692␤-0.266667␤0.235294␤-0.210526␤0.190476␤-0.173913␤0.16␤-0.148148␤0.137931␤-0.129032␤0.121212␤-0.114286␤0.108108␤-0.102564␤0.097561␤20␤»
masak oh! :/
moritz masak: you have &say in your map
masak rn: say (map -> $i { 4 * (-1)**$i / (2 * $i + 1) }, 1..20).reduce(&[+])
p6eval niecza v21-1-ga8aa70b: OUTPUT«-0.81081521772240528␤»
..rakudo d70363: OUTPUT«-0.81081521772240527␤»
masak just noticed. masak--
pmichaud moritz: mail to p6c?
moritz pmichaud: no, private mail (before PRS) 14:45
pmichaud checking
masak rn: say (map -> $i { 4 * (-1)**$i / (2 * $i + 1) }, 0..20).reduce(&[+])
p6eval niecza v21-1-ga8aa70b: OUTPUT«3.1891847822775947␤»
..rakudo d70363: OUTPUT«3.18918478227759473␤»
masak rn: say (map -> $i { 4 * (-1)**$i / (2 * $i + 1) }, 0..2000).reduce(&[+]) 14:46
p6eval rakudo d70363: OUTPUT«3.1420924036898␤»
..niecza v21-1-ga8aa70b: OUTPUT«3.1420924036835247␤»
masak \o/
moritz nr: say [+] map -> $i { 4 * (-1)**$i / (2 * $i + 1) }, 0..200 14:47
p6eval niecza v21-1-ga8aa70b: OUTPUT«3.1465677471829547␤»
..rakudo d70363: OUTPUT«3.14656774718923␤»
pmichaud (precompilation and @INC) what jnthn++ and I discussed is that rakudo can trigger precompilation, but I want it to be via a pluggable api whereby we can change the module management code easily. I don't want module precompilation to be horribly integral to rakudo itself (more) 14:48
we'll need to have some sort of environment variable that tells rakudo where it can cache precompiled PIR 14:49
moritz I see @*INC and precompilation as somewhat orthogonal in this case
pmichaud yes, they're orthogonal, in that @*INC says where to look for source modules, while precompilation says where to put binaris 14:50
*binaries
colomon does any of the current implementations actually provide "lift"?
*do
dalek kudo/nqpqast: d3af128 | jonathan++ | src/Perl6/Metamodel/B (2 files):
Last couple of null hardenings needed in order to get CORE.setting to build again.
kudo/nqpqast: e691019 | jonathan++ | src/Perl6/World.pm:
Eliminate a hack we no longer need in the code for finding the NQP module loader.
colomon is pondering Math::Polynomial issues
pmichaud one key part is that the source is always authoritative; i.e., we only get a precompiled form by first going through the source (e.g. a sha1 hash or equiv)
jnthn colomon: not afaik 14:51
smash pmichaud: (rakudo-star-2012.08-rc1) make rakudo-test.. All tests successful.
pmichaud anyway, this would solve the problem of module dependencies being wrong, but (you're correct) it doesn't solve the problem of rakudo finding things in ~/.perl6/lib when we don't want it to. 14:52
14:58 thou joined 14:59 wtw left
eiro rn: eager %INC.values.map: { .say } 15:00
p6eval rakudo d70363: OUTPUT«===SORRY!===␤Variable %INC is not declared␤at /tmp/7Yva7VqGvH:1␤»
..niecza v21-1-ga8aa70b: OUTPUT«===SORRY!===␤␤Variable %INC is not predeclared at /tmp/LemmbWSJyv line 1:␤------> eager ⏏%INC.values.map: { .say }␤␤Undeclared routine:␤ 'eager' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza…
jnthn %*INC 15:01
eiro rn: for %*INC.keys {.say}
p6eval rakudo d70363, niecza v21-1-ga8aa70b: OUTPUT«0␤»
eiro damn! 15:02
15:03 erkan left
pmichaud I think I'm convinced that we have to get rid of ~/.perl6/lib as being a "always on" search for modules. It should only be available via PERL6LIB or the like. 15:03
15:03 erkan joined, erkan left, erkan joined
jnthn r: say @*INC 15:04
p6eval rakudo d70363: OUTPUT«/home/p6eval/.perl6/lib /home/p6eval/nom-inst/lib/parrot/4.7.0-devel/languages/perl6/lib␤»
eiro there is no %*INC ? 15:05
masak I just re-read S04's descriptiong of "lift". I think I get the way it works. I'm not sure how it'd be implemented in practice. I don't have a clue when I'd want to use the feature.
PerlJam eiro: S28:215
eiro thx 15:06
haha PerlJam how to jump to 215 ? you use the source ? 15:07
PerlJam eiro: read the surrounding text too. Particularly the part below that table.
masak in short, "lift" detaches free variables in the routine and causes them to be looked up in the caller's scope (possibly light-years and eons away).
and for the purposes of that description, operators not bound in the routine itself are free variables, too.
PerlJam eiro: perlcabal.org/syn/S28.html#line_215
pmichaud "lift" was added to resolve some issues dealing with with metaops or something like that, iirc. 15:08
geekosaur eiro, if you use the irc logs (see the /topic) I believe it hyperlinks those to the documentation
eiro oh cool :)
PerlJam eiro: Or you can click on the link ... what geekosaur said
pmichaud we'd need to find the examples that led to the addition of "lift" (which would be in the ir clogs)
masak pmichaud: it was added on 2009-02-27. 15:10
eiro ok thanks PerlJam
any ftplugin/perl6.vim ? i'm starting mine using ftplugin/perl.vim 15:12
hoelzro eiro: petdance maintains one
masak this seems to be where it was thought up: irclog.perlgeek.de/perl6/2009-02-26#i_941831
[Coke] so, I found a reference to my current partcl-nqp build error - jnthn mentioned getting it when doing the cutover to new nqp. :P 15:13
hoelzro I have a fork on GH as well; it's a start on syntax-based folding
[Coke] irclog.perlgeek.de/perl6/2012-03-02#i_5235568
15:13 plobsing joined
masak yes, I see now how "lift" would help with metaoperators. 15:14
eiro hoelzro, fossies.org/windows/misc/vim73rt.zi.../perl6.vim isn't updating the path: i need it
i'll fix mine and take contact with petdance
masak I define &infix:<$$$> in my own "caller" scope, and I immediately expect Z$$$ and [$$$] to work.
pmichaud actually, it looks to me like 'lift' was implemented in response to whatever-ranges 15:15
and whatever-subscripts in ranges
which since we've solved those differently, seems to have sidestepped the need for lift, at least for that.
masak hm, yes.
15:16 erkan left
cjbot twitter.com/barcelonapm/status/240...2652677121 : RT @PerlWeekly: perl6.announce: ANNOUNCE: Niecza Perl 6 v21 by Stefan O'Rear t.co/v7Ap88zZ 15:16
15:16 fernandocorrea left 15:17 fernandocorrea_ joined
pmichaud I've never particularly liked 'lift', fwiw. :-) 15:17
masak pmichaud: what, you prefer to get your compile-time errors... at compile time? :P
geekosaur mmm, upvar
[Coke] tadzik: is that better?
masak geekosaur: tcl? 15:18
[Coke] pounces.
tcl??
geekosaur yeh
masak .oO( different languages have different names for the same sin... )
geekosaur tcl has upvar (bind to a vweriable in an outer scope) and uplevel (run a block in an outer scope)
15:18 fgomez joined
masak geekosaur: not outer. caller. 15:18
geekosaur ^vwer^var
...yeh
15:19 JimmyZ left 15:20 _jaldhar left
[Coke] geekosaur: would you like to see tcl working on top of parrot (or nqp?) 15:20
geekosaur not really, that was more of a remembered nightmare ;)
[Coke] awww. :( 15:21
masak geekosaur: that was the wrong answer, now you made the [Coke] sad... :)
[Coke] jnthn: do you have any recollection about how you addressed the Serialization Errors?
geekosaur I do recall seeingthere's a Tcl implementation on top of parrot 15:22
I'm just not quite that masochistic :p
PerlJam geekosaur: yeah, partcl (Coke's project in need of some more love)
geekosaur (I already have one job opening in my queue that wants OS/2 skills... it seems to be Past History Day) 15:24
15:25 JimmyZ joined
jnthn [Coke]: I think it may be a bug in NQP. 15:26
[Coke] jnthn: ok. can I help get a test going? It's currently just under 5Klines of nqp. 15:29
15:29 sftp left 15:30 sftp joined
jnthn [Coke]: I believe that trying to --target=pir something with an our sub in it may do it 15:30
[Coke] ok. I only have 8 of those left. 15:31
let me see if I can work around it.
jnthn oh, but NQP has some of those so...hm.
kresike bye all 15:33
15:33 kresike left
tadzik [Coke]: yeah, looks cool 15:33
[Coke] removing the remaining "our" subs (changing to just "sub") makes no change in the error message.
jnthn The error messaging being? 15:35
15:35 JimmyZ left 15:36 fgomez left
[Coke] feather.perl6.nl/~coke/err.txt 15:37
Serialization Error: could not locate static code ref for closure '_block1005'
there are 16 _block1005's in pir. 15:38
(that's sans the remaining our subs. I'm not sure if the backtrace is different that when I still had the "our" subs.) 15:39
jnthn hmm 15:40
15:40 tokuhiro_ left 15:42 wamba joined 15:43 wamba left 15:48 FROGGS left
tadzik Bailador's fixed now 15:49
FROGGS++
and HTTP::Easy seems working as well
star unblocked :)
[Coke] tadzik++ FROGGS++ 15:50
jnthn \o/ 15:51
15:52 fgomez joined
masak yay! \o/ 15:52
15:59 GlitchMr joined, hoelzro is now known as hoelzro|away 16:01 brrt left 16:03 fgomez left 16:05 fgomez joined 16:06 ObseLeTe left 16:07 deritchie joined
sirrobert Undefined routine '&eq' called 16:08
16:08 deritchie left
sirrobert works when I 'perl6' the file, fails when I 'prove' the file 16:08
jnthn sirrobert: Is prove running it with Perl 6 or Perl 5? :)
sirrobert -e perl6 16:09
well, wait
when I fixed the number of tests in the plan, the error went away
but that's a weird error to get for a bad plan
lunch & 16:11
masak sirrobert: sounds like you might have been missing a semicolon somewhere. 16:12
maybe it's one of the remaining '}' parsing bugs that bit you.
16:13 mucker joined
dalek kudo/nqpqast: a98bc62 | jonathan++ | src/Perl6/Metamodel/ (11 files):
Make sure we use NQP's BUILDALL in the meta-objects to avoid some differences in build protocol (can unify them later). Now this branch builds and make test all passes.
16:13
16:13 mucker left, mucker joined
dalek p/toqast: 851a4e0 | jonathan++ | src/QAST/Compiler.nqp:
Bump up register allocation window so it ain't far too small.
16:13
16:19 uvtc joined
uvtc Quick idea regarding moritz's recent experiments with adding snippets to perl6.org: 16:20
Maybe use a javascript galley widget of some sort to give the visitor access to multiple snippets, if they so choose.
s/galley/gallery/ 16:21
moritz quick idea: make that without javascript, and simple static links
jnthn nqp: our %blah; INIT { %blah<a> := 1; }; say(%blah<a>)
p6eval nqp: OUTPUT«1␤»
moritz and get the one random sample from perl6.org/snippet via SSI
moritz hates unnecessary JS
tadzik but shiny
16:22 Liz joined
pmichaud okay, I now know why having codepoint > 256 causes rakudo parsing to become so slow. 16:22
tadzik what is it?
16:22 Liz is now known as Guest52236
pmichaud the regex engine is indeed using ucs4 when performing the match, as it's supposed to. 16:23
however, the original string remains utf8, so when requesting the stringified form of a match, it has to do a substring lookup on a (very long) utf8 string
tadzik oh
pmichaud I can have the original source string convert to ucs4... but that ends up causing lots of string constants to suddenly be in ucs4 as well.
uvtc moritz: I'm not crazy about excess JS either. That said, if you want to show off snippets, and you've got more than one that you think would make a good impression on visitors, a little mini gallery (with left/right clicky buttons to hop from one to the next) might be just the ticket. 16:24
pmichaud anyway, doing spectest now.
16:24 fgomez left
uvtc moritz: If the random snippet that happens to come up via SSI doesn't strike the visitor's fancy, they might say, "well, they've got a few seconds of my attention --- let's see what else they've got {click}". 16:25
moritz uvtc: I don't see why left/right clickies can't be static links
neither why a reload link can't be static 16:26
I'm fine with later adding more JS sugar that makes the transitions smoother or whatever 16:27
but whatever functionality can be provided without JS should be.
uvtc moritz: they could. As tadzik points out though, "shiny" can be nicer if you've got just a few seconds to make an elevator pitch to a visitor.
(er, whoops --- I added a bit to what tadzik pointed out. :) ) 16:28
This topic came up recently at blog.fogus.me/2012/08/23/minimum-viable-snippet/ .,
16:29 Guest52236 left 16:30 snearch joined
uvtc IMO, the purpose of a snippet is like an advertisement to the prospective user that says, "Look how nice this is! You could be doing this *right now*. What are you waiting for?". 16:31
moritz yes, sure, I'm all for it. I still think that the base version must work without JS. 16:32
uvtc (Hm. So, in the future, perhaps it could even be a link to a try.perl6.org ...)
I know only very little JS, but my understanding was that you could fall back on static snippets if the user doesn't have js enabled. 16:33
pmichaud r: say 'bit' ~& 'wise' 16:37
p6eval rakudo d70363: OUTPUT«bip␤»
PerlJam uvtc: I think moritz doesn't want to fall back, he wants to fall forward.
pmichaud n: say 'bit' ~& 'wise'
p6eval niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: Buffer bitops NYI␤ at /home/p6eval/niecza/lib/CORE.setting line 1435 (die @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3328 (infix:<~&> @ 4) ␤ at /tmp/N4RfEiI6cB line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting…
16:38 fgomez joined
uvtc moritz: just curious, if you've got /snippet working, are you waiting on something else before adding the snippets to the front page? Maybe put it in the center of the page and shuck down "Specification" and the download button to make room. 16:40
moritz uvtc: I'm waiting on masak++ who promised to work on it 16:41
or others that do it instead
uvtc moritz: looks like you've got some html in place to syntax-highlight the snippets too...
PerlJam: Ha ha. {slow golf clap} :) 16:42
16:42 Patterner left
PerlJam uvtc: glad you liked it :) 16:42
cjbot twitter.com/quietfanatic/status/24...0559693824 : RT @carlmasak: "There is much work yet to be done in [designing programming languages]..." t.co/LBvQcfHM That's what Perl 6 has taught me, too. 16:44
16:46 uvtc left 16:49 fhelmberger joined 16:50 fgomez left 16:53 fhelmberger left 16:54 fgomez joined 16:55 birdwindupbird left
sorear good * #perl6 16:56
16:56 Psyche^ joined, Psyche^ is now known as Patterner 16:59 b_jonas left 17:00 b_jonas joined 17:05 xinming_ left
masak ohayo gosaimas, sorear. 17:08
17:10 gongyiliao joined
[Coke] pokes jnthn to see if anything happens. ;) 17:11
17:12 wamba joined 17:14 dakkar left
masak [Coke]: that's the longest way to spell "ping" I've seen ;) 17:15
sorear o/ masak 17:16
o/ [Coke] too
17:18 alester joined 17:23 xinming joined 17:27 leont joined
[Coke] tries to reduce this problem to a small test case. 17:28
привет, sorear.
17:38 FROGGS joined
[Coke] aha! the problem is in src/init.pm 17:39
17:43 PZt joined 17:46 kurahaupo joined
[Coke] if I reduce src/init.pm to the following line, I still get the problem in my "rip everything out" branch. if I remove that line, no error. 17:53
GLOBAL::invoke := -> $command {}
so, what's wrong with that line?
masak semicolon? 17:58
or maybe storing things in GLOBAL?
[Coke]: was the problem something with serialization? 17:59
17:59 uvtc joined
masak it looks weird to me that the rhs doesn't have a sigil, by the way. 17:59
uvtc moritz, re. snippets on perl6.org, I suppose I was thinking of something like this unexpected-vortices.com/temp/perl6-...index.html , but perhaps that looks a little cheesey. 18:00
[Coke] the problem was an error like feather.perl6.nl/~coke/err.txt "Serialization Error: could not locate static code ref for closure '_block1005'
the original file is here:
github.com/partcl/partcl-nqp/blob/...rc/init.pm 18:01
(line in question from L86)
masak [Coke]: right. then my guess is either (a) that something manages not to correctly store things in GLOBAL in the serialization context, or (b) that there really should be a sigil there, and it does *completely* the wrong thing and trips on itself in the process (but maybe it used to work in a prior nqp).
uvtc (oh, whoops. Looks like I missed him.)
18:01 leont left
[Coke] masak: this all works in parrot-nqp 18:01
well, master branch did, and that line didn't change from master. 18:02
masak right.
18:03 daxim left
[Coke] switching to $GLOBAL::, I still get the error. 18:03
masak how about something like '&invoke := -> $command {}'? 18:04
this might interest some on this channel: swizec.com/blog/the-birth-of-lisp-a...wizec/5075
18:08 snearch left 18:10 REPLeffect joined 18:13 uvtc left
sirrobert uvtc: I think snippets on perl6.org is a great idea. 18:16
uvtc: the important thing would be to think of them as an expo, rather than a utility 18:17
masak +1
things that make people go "ooh, this language is niiiice"
sirrobert masak: nod
showcasing core language and useful modules 18:18
masak ...in not too many lines of code. :)
sirrobert heh nod
masak that's what www.ruby-lang.org/ does.
and does well.
sirrobert yeah. should be a soft limit of like ... 5 lines, with a hard limit of around 10
18:18 gongyiliao left
masak something like that. 18:19
sirrobert is the website a github project? 18:20
*repo
masak heh -- a friend of mine once explained that he really liked `5.times { ... }` in ruby... I replied frankly that I didn't think cutesy DSLishness was worth polluting the Integer type for :)
sirrobert heh
masak not sure my reply meant anything to him. :)
geekosaur it mkes perfect sense, if you think like Smalltalk 18:21
[Coke] hh
masak yes, it feels like such an idea might come from Smalltalk.
but it still doesn't rhyme with my idea of responsibilities and object-oriented design. 18:22
the 5 there is not a place to put your control-flow mechanisms.
[Coke] masak: Symbol '&invoke' not predeclared in <anonymous> 18:23
masak [Coke]: ok.
18:25 cjbot left
sorear masak: Io is rather worse in that regard, every object that can possibly be coerced to Bool has an if() method 18:28
5 if( "true!" print ) # not guaranteed to work
18:29 cjbot joined
[Coke] I pushed the "borked" branch to partcl-nqp which has the very reduced code base with the error confined to src/init.pm if you want to play, masak. 18:29
masak sorear: I feel I need to look into this Io. 18:31
18:32 breakEM left 18:36 popl joined 18:39 kurahaupo left
rjbs Somebody want to tell me how this works out in p6? gist.github.com/3516875 18:39
masak r: my $x = any(1, 10); say "oops" if $x >= 5 - 1 and $x <= 5 + 1 18:41
p6eval rakudo d70363: OUTPUT«oops␤»
masak right.
that's the semantics of conjunctions. they act as *either* of the values, if it gives it a chance to make a condition true.
so, nothing-to-see-here-move-along, I guess. 18:42
rjbs That's what I was thinking. I wonder how often that sort of thing will cause end-user confusion.
sorear rjbs: junction collapse in p6 happens at the point when a value is placed into boolean context
however, you're using a sub, and in p6, subs default to mapping over junctions 18:43
masak rjbs: that's why my use of junctions is *very* restricted. asking them to do too much will cause issues like this.
rn: sub close_enough($x, $y, $t) { $x >= $y - $t and $x <= $y + $t }; say "oops" if close_enough any(1, 10), 5, 1 18:44
p6eval rakudo d70363, niecza v21-1-ga8aa70b: ( no output )
masak sorear++ has it right. the sub insulates against the junctional behavior here, by default.
sorear because it turns into any(close_enough(1,5,1), close_enough(10,5,1))
masak (because parameter types default to Any)
sorear -> any(False,False)
which is a falsy value 18:45
rjbs Thanks.
I suspected that would happen.
18:47 cjbot left 18:50 cjbot joined 18:54 birdwindupbird joined 19:05 wk_ joined 19:06 GlitchMr left 19:23 leont joined
moritz \o 19:34
masak /o 19:36
sorear o/ 19:37
moritz r: say so 5 - 1 <= any(1, 10) <= 5 + 1
p6eval rakudo d70363: OUTPUT«True␤»
moritz n: say so 5 - 1 <= any(1, 10) <= 5 + 1
p6eval niecza v21-1-ga8aa70b: OUTPUT«True␤»
sorear known bug 19:38
moritz p: say so 5 - 1 <= any(1, 10) <= 5 + 1 19:39
p6eval pugs: OUTPUT«any(VBool False,VBool True)␤»
19:40 Liz joined, Liz is now known as Guest2539 19:42 wamba left
pmichaud b: say so 5 - 1 <= any(1, 10) <= 5 + 1 19:43
p6eval b 922500: OUTPUT«Bool::True␤»
pmichaud b: say so (5 - 1) <= any(1, 10) <= (5 + 1)
p6eval b 922500: OUTPUT«Bool::True␤»
pmichaud oh yeah, I remember this one.
yay, bailador is reportedly fixed! 19:46
pmichaud tests.
19:49 cjbot left
moritz fwiw star RC1 has built fine for me 19:49
dalek ar: d8c8cae | pmichaud++ | modules/Bailador:
Update Bailador to current head.
pmichaud building rc2 now.
pmichaud.com/sandbox/rakudo-star-20...rc2.tar.gz 19:51
moritz panda failed two test files here
t/panda/builder.t (Wstat: 0 Tests: 5 Failed: 3) Failed tests: 1-2, 4
t/panda/tester.t (Wstat: 0 Tests: 2 Failed: 1) Failed test: 1
(that's still RC1)
19:51 cjbot joined
moritz pmichaud: fwiw modules-test should depend on 'all' 19:52
pmichaud it needs to depend on install. 19:53
moritz ok, that then
pmichaud I didn't want to do that, though, because "install" always installs. Thus it'll recompile and reinstall all of the modules if we do that.
19:54 plobsing left
sirrobert r: role B { method Str () { return 'bar'; }; method gist () { return self.Str(); }; }; my %foo = {a=>1}; say (%foo but B); print (%foo but B); 19:54
p6eval rakudo d70363: OUTPUT«bar␤a 1»
sirrobert why doesn't the "print" print 'bar' too?
moritz r: role B { method Str () { return 'bar'; }; method gist () { self.Str }; my %foo = a => 1; say (%foo but B).Str 19:58
p6eval rakudo d70363: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2, near ""␤»
moritz r: role B { method Str () { return 'bar'; }; method gist () { self.Str } }; my %foo = a => 1; say (%foo but B).Str
p6eval rakudo d70363: OUTPUT«bar␤»
moritz r: role B { method Str () { return 'bar'; }; method gist () { self.Str } }; my %foo = a => 1; say (%foo but B).Stringy
p6eval rakudo d70363: OUTPUT«bar␤»
moritz has no idea 19:59
sirrobert what is .Stringy?
r: role B { method Str () { return 'bar'; }; method gist () { self.Str } }; my %foo = a => 1; print (%foo but B).Stringy
p6eval rakudo d70363: OUTPUT«bar»
sirrobert r: role B { method Str () { return 'bar'; }; method gist () { self.Str } }; my %foo = a => 1; say (%foo but B).Stringy
p6eval rakudo d70363: OUTPUT«bar␤»
sirrobert r: role B { method Str () { return 'bar'; }; method gist () { self.Str } }; my %foo = a => 1; warn (%foo but B).Stringy 20:00
p6eval rakudo d70363: OUTPUT«bar in block at /tmp/FvDPcSI4Tc:1␤␤»
moritz an (IMHO unnecessary) layer of indirection
sirrobert but it does fix the problem
sorear .Stringy is a coerce method which returns a value doing the Stringy role
sirrobert r: role B { method Str () { return 'bar'; }; method gist () { return self.Str(); }; }; my %foo = {a=>1}; print (%foo but B); print (%foo but B).Stringy;
p6eval rakudo d70363: OUTPUT«a 1bar»
sorear also, ==moritz
Stringy was introduced to solve the problem which we eventually solved using .gist 20:01
moritz I think the idea is more that .Stringy can return either Str or Cat
sorear I'm not sure Cat should be a type 20:02
we don't draw type differences between finite and infinite lists, or fixnums and bignums 20:03
sirrobert r: role B { method Str () { return 'bar'; }; }; print ({a=>1} but B);
p6eval rakudo d70363: OUTPUT«a 1»
sirrobert that *should* output 'bar', right?
role B { method Str () { return 'bar'.Stringy; }; }; print ({a=>1} but B);
r: role B { method Str () { return 'bar'.Stringy; }; }; print ({a=>1} but B);
p6eval rakudo d70363: OUTPUT«a 1»
sorear n: role B { method Str () { return 'bar'; }; }; print ({a=>1} but B);
p6eval niecza v21-1-ga8aa70b: OUTPUT«bar»
sorear I say it should output bar, yes 20:04
note that you can shorten tis to
moritz sirrobert++ # bug finding
sorear n: print ({a=>1} but 'bar')
p6eval niecza v21-1-ga8aa70b: OUTPUT«bar»
moritz r: print ({a => 1 } but 'bar')
p6eval rakudo d70363: OUTPUT«a 1»
sirrobert just as an interesting aside... this works: 20:05
nevermind; it doesn't =)
ok, whew
I'm glad it wasn't me... heh
sorear moritz: suprised that works, I think by spec but 'bar' is _exactly_ equivalent to but role { method Str { 'bar' } }
PerlJam r: role B { method Str() { say "Str";}; method gist() { say "gist" }; }; my %foo = {a=>1}; print (%foo but B); say "";
p6eval rakudo d70363: OUTPUT«a 1␤»
moritz sorear: it doesn'T work in rakudo 20:06
PerlJam neither Str nor gist are called.
sorear moritz: oh, oops
sirrobert perlJam: I used 'warns' to flag each method in an earlier incarnation. no warns were fired
sorear PerlJam: I think it calls the get_string vtable which goes to Stringy
PerlJam This leads me to believe that print is doing something funky
sorear: sounds plausible 20:07
moritz heh 20:08
sirrobert ?
moritz r: say ({ a => 1 } but 'foo') ~~ Str
p6eval rakudo d70363: OUTPUT«False␤»
sirrobert heh
r: say ({a => 1} but 'foo').^mro
p6eval rakudo d70363: OUTPUT«Hash+{<anon>}() Hash() EnumMap() Iterable() Cool() Any() Mu()␤»
moritz if that were true, I'd understand how something funky could have happened
20:09 SamuraiJack left
sirrobert moritz: want me to file that, or do you have it? 20:10
moritz sirrobert: please do 20:11
sirrobert ok
moritz 's nick starts with 'm', but he isn't masak++
sorear right, morzak 20:13
masak is honored to be confused with moritz++ 20:14
what's the bug above, ooc?
moritz nr: say {a => 1 } but 'foo' 20:15
p6eval rakudo d70363: OUTPUT«("a" => 1).hash␤»
..niecza v21-1-ga8aa70b: OUTPUT«{"a" => 1}␤»
20:15 breakEM joined
moritz nr: print {a => 1 } but 'foo' 20:15
p6eval rakudo d70363: OUTPUT«a 1»
..niecza v21-1-ga8aa70b: OUTPUT«foo»
moritz masak: this one
sirrobert in my "Masquerade" module, you can now do: say %my-deep-hash but AsIf::YAML; 20:16
and it will print in YAML...
masak moritz: ah.
sirrobert but it won't work for print, just say =)
masak .oO( serves you people well for making 'print' and 'say' different... mumble grumble... )
sirrobert heh
benabik masak++ 20:17
masak s/well/right/
pmichaud 's nick starts with 'p', but he isn't always pmichaud++
sirrobert your 'mumble grumble' reminded me of that little guy in the Legend of Zelda when you destroy his door with a bomb
heh
masak ooh, we don't have a bot that raps people on the fingers for auto-karma-incring themselves?
masak++
heh :)
sorear karma sorear
aloha sorear has karma of 2198.
sorear sorear++
karma sorear
aloha sorear has karma of 2198. 20:18
masak phew :)
sirrobert heh
sorear sorear--
karma sorear
aloha sorear has karma of 2198.
rjbs must be junctive
masak sorear--
karma sorear
aloha sorear has karma of 2197.
rjbs oh, wront channel. :)
masak sorear++
felher masak: ah, i forgot to take a look at your laptop while attending the yapc... i really wanted to see those 'rakudobug' and 'nieczaissue' keys ;)
rjbs sorear++
sirrobert karma sirrobert 20:19
aloha sirrobert has karma of 14.
sirrobert =)
sorear and sometimes moritz is actually ronja :D
PerlJam one day we won't be able to tell the difference :)
masak .oO( ronja makes better use of the whole keyboard )
pmichaud rc2, all tests pass for me! 20:20
sirrobert r: ({a => 1} but 'foo').Str
p6eval rakudo d70363: ( no output )
sirrobert r: print ({a => 1} but 'foo').Str
p6eval rakudo d70363: OUTPUT«foo»
sirrobert ok
decent workaround
pmichaud I wasn't karma'ing myself -- it was that other guy.
moritz pmichaud: URL to rc2?
pmichaud pmichaud.com/sandbox/rakudo-star-20...rc2.tar.gz 20:21
I wonder if my notebook is powerful enough to build a .msi
pmichaud gives it a try, expect failure and possible notebook meltdown. 20:23
20:23 prammer left
sorear try not to lose a leg in the process 20:23
moritz or any other parts of the body :-) 20:24
sirrobert appendix might be ok 20:26
man, I love sig-typed methods 20:27
multimethods
felher masak: regarding macros: If you use a macro for DEBUGing instead of a subroutine, one does have the advantage (besides not needing to evaluate computationally-intensive-subroutine) that one can use $?LINE and $?FILE, doesn't one? 20:28
20:29 mucker left
felher ("doesn't one?" sounds odd...) 20:29
sirrobert it just sounds odd because it's slightly antiquated 20:30
felher hmm. now that i think about it, i guess one doesn't. Since a macro returns an ast which doesn't occupy any lines, i don't think it is possible to get a $?LINE that makes any sense? 20:31
sorear in a sub you can use C<caller.line> 20:32
felher sorear: oh, okay. Thanks :)
sorear n: sub foo { say CALLER::<$?LINE> }; ␤␤foo # i wonder if this form also works yet, it IS specced 20:33
p6eval niecza v21-1-ga8aa70b: OUTPUT«Any()␤»
20:33 leont left
masak felher: hm, I'd expect $?LINE to be the current line in the macro... 20:34
felher masak: okay, so it's actually quite the same as with subroutines? :)
oh, the current line _in_ the macro? 20:35
masak waye.
aye*
$?LINE, I think, always expands to the line that $?LINE is on :) 20:36
moritz I get this here on R* RC-2: perlpunks.de/paste/show/503e7d44.54b5.79
looks like a vim backup file
pmichaud: can you check if that's from your checkout somehow? 20:37
felher masak: okay, so if a macro starts at line 20 and "say $?LINE" is the fifth line in the macro, it outputs 25 ? :)
tadzik I'd expect it to say 20 20:38
otherwise you get errors in the code you didn't write
oh, wait, this time you did
nvm
masak felher: modulo an off-by-one error in that argument which would make it line 24, yes ;) 20:39
felher masak: ah, of course. 24 :) Okay. Thanks for clarification :)
pmichaud I'm guessing .msi will have to wait until I get to my home system.
masak felher: caveat lector: I also have no idea, really. but what I proposed is what makes sense to me. 20:40
pmichaud laptop is running really slow 20:42
moritz: I'll check on it in a sec
sirrobert back in a min
pmichaud (when I get my laptop back)
20:42 sirrobert left
sorear wonders what pmichaud is writing from 20:42
pmichaud only my irssi window is responding t the moment, and it's reallly slow 20:43
moritz tar tzf says it's in the tar ball 20:44
felher masak: fair enough :)
cjbot twitter.com/daveoflynn/status/2409...3798168577 : @shadowcat_mst That wasn't the original plan for Perl 6 though; it's evolved that way because ppl wouldn't upgrade from 5.
tadzik I don't know the context, but the tweet sounds wrongish :) 20:45
jnthn Somebody is wrong on the internet!!! o.O 20:46
tadzik NOES!
benabik Wasn't it more like "because people started really working on improving p5 again"? 20:47
felher xkcd.com/386/ # a very nice xkcd. Though most people here probably know it by know :)
moritz benabik: it was more like, nothing to upgrade to, for very long years
pmichaud moritz: the *.swo file is in the Bailador repo. :-/ 20:48
moritz oh wtf.
20:48 Circlepuller joined
tadzik uh-oh 20:49
that's me
git add . strikes back
moritz wow, that is a really stupid idea :-)
removed in e14f75bd8e97d23fa4fa3c8c61a3f56d661c230d
pmichaud I guess I should create a new tarball?
*sigh*
tadzik pushed 20:50
ah, too lat
PerlJam tadzik: Add .*.sw? to your git ignores
tadzik moritz++, sorry for the mess
PerlJam: yeah, I should
20:51 Circlepuller_ left
tadzik was probably git add lib/Bailador/Template, but still dumb 20:51
tadzik--
dalek ar: f84a334 | pmichaud++ | modules/Bailador:
Bump Bailador to e14f75 commit (removing vim backup file).
jnthn tadzik: tadzik in token pod_block:sym<paragraph_raw> {
tadzik: It refers to a match $<spaces>
PerlJam tadzik: I have that in my gitexcludes file so I don't have to keep ignoring it in each repo
jnthn But that isn't matched/captured anywhere
tadzik d'oh 20:52
PerlJam tadzik: though, if you add it to the .gitignore in each repo, you get to share the ignorance with others :)
tadzik that's not the only rule with this, too 20:53
20:53 birdwindupbird left
pmichaud pmichaud.com/sandbox/rakudo-star-20...rc3.tar.gz # rc3 20:54
sorear tadzik: did you catch that bailador runs on niecza now? 20:56
tadzik sorear: I think I recall you telling about it; didn't try it yet though 20:57
sorear: also, if it didn't need todays patches to work correctly, then that convinces me that it was actually a Rakudobug, not Bailadorbug
sorear tadzik: what were today's patches? 20:58
tadzik I must try it when I get a while
sorear wait, I can check
jnthn tadzik: aye 20:59
tadzik: I noticed 'cus it somehow ends up exploding in nqpqast
tadzik long story short, attributes weren't filled in for whatever reason, so FROGSS++ workedaround it, so we can has working Bailador in star
jnthn: I'm on it
sorear tadzik: f609 is a genuine bailadorbug masked because niecza doesn't do ro methods yet
tadzik I think on nom it just became something-which-numifies-to-0-anyway
a-ha 21:00
jnthn: I could check it myself now if nqp wasn't segfaulting for me on toqast :/
jnthn tadzik: ah dang, I'd hoped we woulda eliminated the segfault somehow... 21:01
dalek kudo/nqpqast: efa7916 | jonathan++ | src/Perl6/Actions.pm:
A few our => my (had no need to be our).
p: 2b1bcbb | (Elizabeth Mattijsen)++ | docs/pir2nqp.todo:
A "todo" list to get rid of unneeded "pir::" references
21:03
tadzik jnthn: care to try gist.github.com/3518937 ? I don't have a functioning rakudo atm 21:04
jnthn will do, thanks 21:07
dalek p/toqast: c7ae2e6 | jonathan++ | / (3 files):
Eliminate some of the now-unrequired PAST code.
21:08 stopbit left
felher moritz: ping 21:13
tadzik wonders if perl -e 'while (system("make install")) {}' will succeed to build nqp 21:14
or I can just turn the GC off 21:15
21:16 sirrobert joined 21:17 bruges left 21:19 bruges joined
masak 'night, #perl6 21:19
tadzik good knight masak' 21:20
felher o/ masak 21:22
21:24 kaare__ left
pmichaud rc3, all tests pass 21:25
21:25 skids left
[Coke] waves from MCO. 21:29
pmichaud mmmm, MCO 21:31
sirrobert what's the command line syntax that corresponds to sub MAIN (%params={}) {...} ?
what is it looking for to populate %params?
[Coke] wonders if his npq issues have magically be fixed since he left the conference. ;) 21:34
@ARGV ?
pmichaud well, MCO is close to a magical place, iirc.
sirrobert hmmm I think MAIN args all default to Str
dalek p/toqast: 8503dbe | jonathan++ | src/Q (4 files):
Eliminate rxtype pastnode.
21:35
pmichaud well, I'm tired, so off to bed for me. long day tomorrow. 21:37
sirrobert wave 21:38
tadzik ha, make test passes on toqast
[Coke] pmichaud: I tried to reduce the amount of code required to trigger the serialization error. Looks related the to GLOBAL::foo -> trick we used to avoid issues with control exceptions. 21:39
tadzik on rakudo, I mean :0
:)
[Coke] pmichaud: night!
21:45 thou left 21:50 crab2313 joined
jnthn tadzik: make spectest ain't awful either. Half way through S32 and only about 10 files with issues so far. 21:52
tadzik yeah, seen this :) 21:53
so where does the Pod thing hurt?
[Coke] hurm. I wonder if I would do better reconstructing partcl from scratch on nqp than trying to port from parrot-nqp. 21:54
(stealing heavily where appropriate)
PerlJam [Coke]: probably. You build stuff better the second (or third) time around having made mistakes the first time and learned from them.
21:55 sjohnson left
PerlJam When porting, you're kind of copying your mistakes around and making them work in a new environment. 21:55
jnthn tadzik: I think actually it's exposing some NQP issue.
PerlJam (whether you realize it or not)
jnthn taBut early on, in S02
[Coke] PerlJam: well, the problem isn't that, per se, just that parrot-nqp and nqp are apparently really really different. :P
plus, also, I've already rewritten partcl ... 5 times?
not to mention the incremental changes all the time. 21:56
PerlJam [Coke]: Then what's another rewrite? :)
[Coke] .. come here and let me smack you. :P
PerlJam pencils in "expert tcl implementor" to Coke's resume 21:57
[Coke] aloha: seen schwern
aloha [Coke]: schwern was last seen in #perl6 455 days 2 hours ago leaving the channel.
sirrobert ok, time for me to go. wave 21:59
21:59 sirrobert left 22:03 spider-mario joined
[Coke] ~~ 22:03
cjbot: help
22:05 MayDaniel left
cjbot Run by Coke, I relay tweets about Perl 6 from twitter.com/#!/search/%23perl6%20O...erl%206%22 22:06
22:06 sjohnson joined
dalek p/toqast: 67fc54e | jonathan++ | src/ops/nqp.ops:
Toss an unused op.
22:07
p/toqast: e10bae4 | jonathan++ | src/how/NQPClassHOW.pm:
Eliminate an unused multi-dispatch code path from a previous factoring.
p/toqast: e2dedb8 | jonathan++ | src/how/NQPClassHOW.pm:
Eliminate a bit more of the old multi code.
p/toqast: 5abcf1d | jonathan++ | src/stage0/ (9 files):
Update the bootstrap.
p/toqast: 132adc6 | jonathan++ | src/ops/nqp.ops:
Toss a bunch of unused dynops.
22:07 whiteknight joined
[Coke] wow. it took /3/ minutes for cjbot to respond. yikes. 22:09
sorear that must be why it pings out so much 22:16
[Coke] is there a known good "build a language on top of nqp" demo?
I bet it's over-using the 15s sleep idle task.
22:26 alester left
dalek p/toqast: b8e94a8 | jonathan++ | / (4 files):
Eliminate the now-unused DispatcherSub PMC.
22:30
jnthn Time for some rest...leaving this pleasant, but somewhat mosquito-filled place :) 22:32
(tomorrow in the morning, earlyish) 22:33
sorear there are mosquitos in Norway? :| 22:34
so much for my wanting to live there :|
[Coke] boggles. nqp seems to be MUCH happier if I avoid compiling individual bits to pir. 22:35
[Coke] tries something obvious.
if I shove all the .pm into a single pm, running that pm gets me a partcl prompt. 22:39
(which then fails at runtime.)
22:41 cjbot left 22:44 cjbot joined 22:48 crab2313 left 22:53 skids joined, sjohnson left, sjohnson joined
sorear [Coke]: did you try compiling the single big pm to pir? 23:05
the failure you had earlier was in code that I think is only run when saving pir
23:06 dju left
rjbs pir review. pir pressure. 23:10
23:11 dju joined
cognominal ça va de pir en pir. 23:15
23:18 cjbot left 23:21 cjbot joined 23:22 cognominal left, cognominal joined 23:25 fgomez left
cjbot twitter.com/takeshita_kenji/status...6818041856 : @quietfanatic Like getting Perl 6 out the door? 23:25
23:25 araujo left
Guest2539 is calling it a day as well… travel time mostly tomorrow, patches to nqp after that 23:28
23:28 japhb_ joined, Guest2539 is now known as lizmat 23:29 lizmat left
japhb_ Is there anything right now that will correctly syntax highlight Perl 6, even if it's really slow? 23:29
I'm looking for offline highlighting for generating nice looking code blocks for web sites. 23:30
In particular, perl6.org. ;-)
phenny, ask uvtc What did you use to syntax highlight the snippets at unexpected-vortices.com/temp/perl6-...index.html ? 23:32
phenny japhb_: I'll pass that on when uvtc is around.
au Text::VimColor plus perl6.vim ( either builtin, or github.com/petdance/vim-perl )? 23:33
fsvo "correctly", of course :)
japhb_ au: Thank you, I'm taking a look at that. 23:34
au glad to help 23:35
23:37 cjbot left 23:38 gongyiliao joined 23:39 Pleiades` left
felher 'night, #perl6 23:39
japhb_ o/ 23:40
23:40 Pleiades` joined, cjbot joined 23:49 popl left
cognominal rakudo: say dir '/', :test( -> $_ { IO::Path.new($_).d }) 23:57
p6eval rakudo d70363: OUTPUT«Failed to get the directory contents of '/': Could not find symbol '&Path'␤ in block at src/gen/CORE.setting:7432␤ in method <anon> at src/gen/CORE.setting:9784␤ in <anon> at src/gen/Metamodel.pm:2304␤ in any find_method_fallback at src/gen/Metamodel.pm:2302␤ …
cognominal hum, I suppose that's protected for the bot. 23:58
prints ". .." here which I found odd.
A night of sleep will probably help