»ö« 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:06
b1rkh0ff left,
Chillance left
|
|||
japhb | swarley, note that you can: /msg p6eval r: say "Hello!" | 00:21 | |
That way you can have a private conversation with the bot, | |||
and only bring to the channel things you need to ask about or point out. | |||
swarley | right right, I forgot. That would be better than to do that in channel | ||
japhb | No worries. It just gets hard to see the regular conversation between the evalbot exchanges. :-/ | 00:22 | |
00:37
sftp left
|
|||
timotimo | r: my %h; %h<foo bar baz> = (1, 2, 3); say %h; # loving this | 00:38 | |
p6eval | rakudo 92c30b: OUTPUT«("foo" => 1, "bar" => 2, "baz" => 3).hash» | ||
timotimo | not do terribly long until i can run the modified perl6 repl with ipythoni think | 00:40 | |
ported most of the protocol to perl6 today | 00:41 | ||
but have not tested it one bit yet | |||
currently commuting | 00:44 | ||
will continue work in a few minutes:) | |||
00:45
balders_dod joined
00:48
balders_1od left
|
|||
swarley | What is the proto 'term' reserved for in the grammar? ie, that is it's intended purpose | 00:52 | |
sorear | it's not reserved, you can define something named term if you want | 00:54 | |
STD uses "term" for, well, terms | |||
swarley | Could you give an eample? | ||
example* | 00:55 | ||
sorear | en.wikipedia.org/wiki/Term_(logic) | ||
foo(1,2,3) | |||
5 | |||
"hello" | |||
$_ | |||
00:55
huf left
|
|||
swarley | Ah. | 00:55 | |
00:56
huf joined
01:01
Vlavv left
01:03
atrodo left
01:06
masak left,
jlaire left
|
|||
swarley | Can anyone tell me if NQP supports this regular expression, namely the `<~~>' | 01:06 | |
token identifier:sym<constant> { ['::']? <+identifier_char - lower - digit> <identifier_char>* [<~~>]?} | |||
Since, <~~> is recursive match, correct? | 01:07 | ||
r: say "hi" ~~ /.<~~>/ | |||
01:07
pmichaud left
01:08
jlaire joined,
p6eval left,
[Coke] left,
Util left,
PerlJam left
01:09
Juerd left,
tadzik left,
sergot left,
dalek left,
hugme left
01:10
dalek joined,
ChanServ sets mode: +v dalek,
sergot joined,
Util joined
|
|||
timotimo | swarley: you do know you can just REPL nqp? | 01:10 | |
01:10
PerlJam joined,
masak joined
|
|||
timotimo | nqp: nqp::say(nqp::join(",", [1, 2, 3, 4])); | 01:10 | |
01:10
[Coke] joined,
tadzik joined,
Juerd joined,
pmichaud joined
|
|||
timotimo waits for p6eval to rejoin | 01:11 | ||
01:11
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
swarley | nqp: say "hi" ~~ /.<~~>/ | 01:11 | |
01:11
anuby joined
|
|||
timotimo | nqp: nqp::say(nqp::join(",", [1, 2, 3, 4])); | 01:11 | |
p6eval | nqp: OUTPUT«Confused at line 2, near "say \"hi\" ~"current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)» | 01:12 | |
nqp: OUTPUT«1,2,3,4» | |||
swarley | nqp: say "hello test" ~~ /.[<~~>]*/ | ||
p6eval | nqp: OUTPUT«Confused at line 2, near "say \"hello"current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)» | ||
swarley | r: say "hello test" ~~ /.[<~~>]*/ | ||
p6eval | rakudo 92c30b: OUTPUT«「hello test」» | ||
timotimo | swarley: nqp requires parenthesis for all function and method calls | ||
swarley | oh | ||
01:12
hugme joined,
ChanServ sets mode: +v hugme
|
|||
swarley | nqp: say("hello test" ~~ /.[<~~>]*/) | 01:12 | |
p6eval | nqp: OUTPUT«Unrecognized regex metacharacter < (must be quoted to match literally) at line 2, near "<~~>]*/)"current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)» | ||
timotimo | there you go :) | 01:13 | |
what are you trying to do here? | |||
swarley | token identifier:sym<constant> { ['::']? <+identifier_char - lower - digit> <identifier_char>* [<~~>]?} | ||
^ That | |||
timotimo | i don't even know what <~~> means | ||
swarley | it's recursive matching | ||
I believe | |||
timotimo | oh, matches the same thing again? | ||
swarley | Yes | ||
I was aiming for | |||
::Identifier::Path::That::Repeats | |||
Plus or minus initial double colon | 01:14 | ||
01:16
benabik joined
|
|||
swarley | nqp: say("This::Is::An::Identifier" ~~ /['::']? <+alnum - lower - digit> <alnum>* [ '::' <~~> ]*/) | 01:17 | |
p6eval | nqp: OUTPUT«Unrecognized regex metacharacter < (must be quoted to match literally) at line 2, near " '::' <~~>"current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)» | ||
swarley | r: say("This::Is::An::Identifier" ~~ /['::']? <+alnum - lower - digit> <alnum>* [ '::' <~~> ]*/) | ||
p6eval | rakudo 92c30b: OUTPUT«「This::Is::An::Identifier」 alnum => 「h」 alnum => 「i」 alnum => 「s」» | ||
swarley | Blah. so it doesn't work where I need it to :/ | ||
timotimo | i wouldn't do that with a recursion | 01:20 | |
look at how longname is defined in perl6's grammar | |||
swarley | I could do it a different way pretty easily | ||
I just wanted to try out a cool feature | 01:21 | ||
timotimo | ah d) | ||
:) | |||
01:45
xinming left,
xinming joined
01:54
Khisanth left
|
|||
skids | Is there a jan star rc to test yet? | 01:55 | |
timotimo | hasn't it been released already? | 01:56 | |
oh, it hasn't! | |||
whoops. | |||
japhb | That feels like an oops, yes. | 01:57 | |
timotimo | totally passed me by | ||
well, we still have until tomorrow! | |||
timotimo goes to bed | |||
skids | good thing I said something I guess :-) | 01:58 | |
timotimo | skids++ | 01:59 | |
i suppose i'm too comfortable with the stability of nom | |||
skids wonders whether star will eventually bundle the jvm impl | 02:02 | ||
02:04
Vlavv joined
|
|||
timotimo | don't see why not | 02:05 | |
02:19
Khisanth joined
02:38
hash_table left
02:39
Khisanth left
03:06
Khisanth joined
03:10
kaleem joined
03:28
sevin joined
03:44
nnunley joined
03:57
sevin left
04:12
preflex left,
preflex_ joined
04:13
preflex_ is now known as preflex
04:36
mehwork joined
04:53
Targen joined
05:03
mtymula left
05:30
sevin joined
05:39
broquaint left,
slavik1 left
05:45
slavik1 joined
05:50
broquaint joined
06:15
sevin left
06:16
nnunley left
06:37
ved joined
06:38
ved left
06:40
sevin joined
|
|||
moritz | \o | 07:00 | |
arnsholt | o/ | 07:01 | |
diakopter | howdy | 07:06 | |
sorear | o/ | 07:08 | |
07:10
sevin_ joined
07:11
sevin left
|
|||
dalek | kudo/nom: b3fc32a | moritz++ | docs/ChangeLog: update ChangeLog |
07:12 | |
tadzik | good morning #perl6 | 07:14 | |
sorear | good morning moritz | 07:15 | |
07:28
PacoAir joined
07:49
araujo left
|
|||
jnthn | morning o/ | 07:54 | |
diakopter | o/ | ||
nwc10 | evidence points to it being so | ||
07:54
quester joined
|
|||
diakopter | 7 more minutes until morning | 07:54 | |
nwc10 | o/ | ||
(should have done that for alignment) | |||
jnthn | Final day of teaching. Well, until Monday. :) | 07:59 | |
arnsholt | Congrats =) | ||
jnthn | Yeah. Gotta worry about a few $dayjob bits tomorrow, but Friday is looking tuitful :) | 08:00 | |
arnsholt | I've just fired off the testing run for a better sized P6int as well =) | ||
jnthn | arnsholt: The get_attribute_stable thing ain't quite what I had in mind...I was thinking more that we push the decision making entirely into the REPR and just give it a full sized slot to read from when binding and write into when getting. | 08:01 | |
arnsholt | Thinking too much and too hard about pointers makes my brain all mushy, but your objection last night was a good one | ||
jnthn | In that sense, all the REPR functions dealing with native types are void. | 08:02 | |
And just deal with a discriminated union | |||
That's what I have on the JVM except there's no union types... | |||
arnsholt | Ok, so get_attribute_ref and get_attribute_boxed become get_attribute, which returns a struct { union {}; INTVAL type } | 08:03 | |
jnthn | That's what I was trying to get at with "do soemthing like I did on JVM" anyway. It puts the responsibility for doing the full-width / sized conversion inside the REPR | ||
arnsholt | ... kind of thing (premature CR) | ||
jnthn | arnsholt: You could have it return it I guess. | ||
oops, gotta start the lecture | |||
bbiab :) | |||
arnsholt | TTYL | 08:04 | |
I should probably see how it's implemented for the JVM in the meantime | |||
08:15
araujo joined
08:16
daniel-s left
08:20
FROGGS joined
08:35
sevin_ left
08:36
hoelzro|away is now known as hoelzro
|
|||
hoelzro | I have messages! | 08:37 | |
phenny | hoelzro: 29 Jan 20:23Z <timotimo> tell hoelzro if you had pushed the first work on perl6 for pygments to pygments-master, instacode would have perl6 support already :D | ||
hoelzro | (also, good morning) | ||
08:53
quester left
08:58
balders_dod left
|
|||
GlitchMr | I wonder when masak will make his blog post about first task... | 09:00 | |
09:00
erkan joined,
erkan left,
erkan joined
|
|||
GlitchMr | I'm really impatient, I know. | 09:02 | |
moritz | best not to wonder, but simply ask him | 09:04 | |
GlitchMr | Perhaps... | 09:05 | |
.tell masak github.com/masak/zarah/blob/master...h.pl#L1069 - it should be m[\A/me\s+(.*)] | 09:20 | ||
phenny: tell masak github.com/masak/zarah/blob/master...h.pl#L1069 - it should be m[\A/me\s+(.*)] | 09:21 | ||
phenny | GlitchMr: I'll pass that on when masak is around. | ||
09:26
sqirrel joined
09:31
fhelmberger joined
09:35
dakkar joined
09:44
Psyche^ joined
|
|||
arnsholt | Teaching is hard, and teaching basic programming is extremely hard | 09:46 | |
09:48
Patterner left,
Psyche^ is now known as Patterner
|
|||
moritz | aye | 09:54 | |
because you have to teach a whole different way of thinking along with teaching syntax and semantics | |||
bonsaikitten | and school rarely teaches thinking ;) | 09:55 | |
jnthn just taught using a regex to tokenize and a stack to build up nested structure :) | |||
09:56
SmokeMachine joined
|
|||
jnthn | Everybody survived! ;) | 09:56 | |
arnsholt | Not bad! | ||
moritz | jnthn: RPN style? | 09:57 | |
arnsholt | I tried to explain how when you have "def foo(n): ..." in Python, n will be whatever you put inside the parens when you did "foo(...)" =) | ||
jnthn | moritz: Actually just turning a wiki markup language into a simple tree | 09:58 | |
But I did point out that a grammar and something that compiles/runs it is much more manageable once you do something non-trivial. | 09:59 | ||
Also that recursive descent is really tokenize + stack, it's just that you use the call stack as your structure stack :) | |||
diakopter | jnthn: do you ever tell your students you hang out here? | 10:03 | |
so they can heckle you? :D | |||
jnthn | diakopter: I mention that I work on an open source compiler project. Many ask me about it over lunch :) | ||
I mention I'm a Perl guy, amongst many other things, in the obligatory "about the teacher" sldie. | |||
So yeah, by the end the more curious folks tend to know I hack on a Perl 6 compiler :) | 10:04 | ||
diakopter | or five | ||
jnthn | To be honest, I've yet to get a negative reaction. | 10:05 | |
diakopter | *five compilers | ||
jnthn | In reality, many .Net folks are fairly isolated in .Net land in their day to day work. | 10:06 | |
moritz | fwiw, some folks I've talked to think that Perl 6 isn't a good idea, but none said anything negative about me working on it (nor on any of my open source projects) | ||
diakopter | s/.Net/{insert language or environment or platform here }/g | 10:07 | |
jnthn | *nod* | ||
In my experience of attending conferences so far, the most crap I get about Perl 6 is at Perl confs and the least is at those where most folks are doing .Net, Java, etc and general open source ones are somewhere int he middle. | 10:08 | ||
moritz | www.reddit.com/r/programming/commen...er/c8601tf # about JSON's "don't use for evil" clause in the license | 10:09 | |
jnthn | My Perl 6 talk at We Actually Build Stuff, which had people doing all sorts of stuff in loads of languages many including .Net and Java, got a positive reaction and a lot of genuine curiosity and interest. | ||
jnthn pointed some of the .Net folks to Niecza and sadly didn't have anywhere to point the Java folks | 10:10 | ||
But soon.... ;-) | 10:11 | ||
arnsholt | That's about to change though =D | ||
Yeah, what you said =) | |||
10:12
anuby left
10:14
sqirrel left
|
|||
jnthn | lunch & | 10:21 | |
arnsholt | jnthn: I've looked a bit at nqp-jvm, and I think I see what you're going for | 10:27 | |
I'll see if I can't hack up something similar soonish | |||
10:49
cog joined
11:02
clkao left
11:06
Su-Shee_ joined
|
|||
jnthn | arnsholt: Yeah. It can be done in C on the stack (pass the address) and with a union rather than with a bunch of fields on some other persistent object. | 11:06 | |
nwc10 | I get these errors when compiling NQP using gcc: | 11:08 | |
KnowHOWREPR.c:87: warning: 'spec.bits' is used uninitialized in this function | |||
P6opaque.c:1067: warning: 'spec.bits' is used uninitialized in this function | |||
HashAttrStore.c:111: warning: 'spec.bits' is used uninitialized in this function | |||
Uninstantiable.c:67: warning: 'spec.bits' is used uninitialized in this function | |||
er, warnings. | |||
11:08
clkao joined
|
|||
diakopter | I'll spec your bits | 11:08 | |
nwc10 | (as well as the grumble about returning an aggregate, which I think is legacy, in that "You can't do that in K&R" | ||
arnsholt | nwc10: Are you on master, or on my in-progress branch? | ||
nwc10 | master | 11:09 | |
jnthn | The returning an aggregate thing ain't going away, but the other warning sounds worth fixing :) | ||
arnsholt | In that case it's not really a problem | ||
nwc10 | I think it's a valid warning - the structure in question is in an auto variable | ||
so that part of the bitfield is (technically) not initialised | |||
arnsholt | The bits field isn't used in master yet, and it's fixed in my branch | ||
nwc10 | arnsholt: ah OK cool | ||
I'm glad to know that you're on top of it | |||
11:10
Su-Shee left
11:14
kaleem left
|
|||
arnsholt | Hmm, or at least I think it's not a problem in master | 11:14 | |
masak | good afternoon, #perl6 | ||
phenny | masak: 09:20Z <GlitchMr> tell masak github.com/masak/zarah/blob/master...h.pl#L1069 - it should be m[\A/me\s+(.*)] | ||
arnsholt | Come to think of it, I'm not entirely sure how P6opaque does inlining of natives. It might do weird stuff there, actually | 11:15 | |
masak | GlitchMr: yes, you are probably right. :) | ||
rn: my $x = 42; my $y = 5 but role { method foo { say $x } }; $y.foo | |||
p6eval | niecza v24-18-gaf64300: OUTPUT«42» | ||
..rakudo b3fc32: OUTPUT«Any()» | |||
masak submits rakudobug | |||
jnthn | I don't think I can fix that. :/ | 11:16 | |
GlitchMr | masak, also, when you will make a blog article about first task? | ||
jnthn | Not in a sensible way. | ||
If I fix it, it will only be more surprising when you try to do it as if you're getting a fresh role each time. | |||
You aren't. | |||
masak | jnthn: I have a really short and nice solution to the Eratosthenes thing, but it fails on the above bit. | ||
11:16
Su-Shee_ is now known as Su-Shee
|
|||
jnthn | masak: And...how many times do you mix the role in? | 11:17 | |
masak | jnthn: many. | ||
jnthn | And do you ever do it with different $x's? | ||
diakopter | r: role { } but role { } | ||
p6eval | rakudo b3fc32: OUTPUT«No such method 'mixin' for invocant of type 'Perl6::Metamodel::ParametricRoleHOW' in sub infix:<but> at src/gen/CORE.setting:12486 in block at /tmp/rJ30yjK3Q5:1» | ||
masak | always. | ||
jnthn | masak: Right, even if I make that say 42, it won't fix the other thing. | ||
masak | I'm not sure I understand but I'll take your word for it that there's a tradeoff in there. | ||
jnthn | masak: Your expectation is that we re-closure the methods every time | ||
11:18
kaleem joined
|
|||
masak | yeah. | 11:18 | |
jnthn | masak: If you reclosure the methods, you need a fresh meta-object and thus a fresh type.; | ||
masak | yeah. | ||
in this particular case, that's my expectation. | |||
jnthn | To make it work, you're asking for a fresh type every time you do it. | ||
masak | yeah. | ||
jnthn | Do you knwo how much memory you're going to use? | ||
masak | that was the furthest from my mind with this particular task :) | ||
it won't work unless there's a fresh type each time :) | |||
jnthn | Even *if* I can make it work, it will be (a) slow and (b) memory costly. | ||
masak | jnthn: do you know what task I am solving? :) | 11:19 | |
it's not a production thing. | |||
I'd better gist the code for you. | |||
jnthn | masak: No, I'm just saying it's a bad idea in general. | ||
masak | sure. | ||
diakopter | r: 1 but role { die } | ||
p6eval | rakudo b3fc32: OUTPUT«Could not instantiate role '<anon>': in any specialize at src/gen/Metamodel.pm:1913 in at src/gen/Metamodel.pm:2330 in at src/gen/Metamodel.pm:2324 in any compose at src/gen/Metamodel.pm:2323 in any mixin at src/gen/Metamodel.pm:1076 in sub infix:<bu… | ||
masak | I think we agree on that. | ||
11:20
kaleem left
|
|||
diakopter | r: 1 but role { ... } | 11:21 | |
p6eval | rakudo b3fc32: OUTPUT«Could not instantiate role '<anon>':invoke() not implemented in class 'NQPMu' in any specialize at src/gen/Metamodel.pm:1913 in at src/gen/Metamodel.pm:2330 in at src/gen/Metamodel.pm:2324 in any compose at src/gen/Metamodel.pm:2323 in any mixin at src… | ||
masak | jnthn: gist.github.com/4672575 | ||
jnthn: look how nice and small it is :) | |||
jnthn: I'm currently mulling over what I can do to get a new type each time. | |||
suggestions appreciated. | 11:22 | ||
diakopter | eval? | ||
masak | ooh | ||
jnthn | masak: You can write a parametric role | ||
masak | yeah, was pondering that. | ||
jnthn | masak: and mix it in with different paramters each time. | ||
masak tries | |||
jnthn | I'm just wary of constructions that are convenient but very hard to do much about optimization wise. | 11:23 | |
We already have a lot of hard to optimize but cute things. | 11:24 | ||
masak | aye. | 11:25 | |
I'm getting it to run now, but unless "4" became a prime recently, there's a bug somewhere. | |||
jnthn | BREAKING NEWS | 11:26 | |
:P | |||
moritz | BREAKING BUG | 11:27 | |
masak | jnthn: I just had hilarious mental image of you as a newscaster, reporting in a deadpan voice that 4, as of this morning, is prime. | 11:29 | |
tadzik | it's a square of prime, I'll allow it ;) | ||
nwc10 | this isprime is only a probabalistic check, isn't it? So, odds are, sometimes 4 will be prime, right? :-) | 11:30 | |
diakopter | r: role B[::A] { }; | 11:32 | |
p6eval | rakudo b3fc32: OUTPUT«Could not instantiate role 'B':Not enough positional parameters passed; got 1 but expected 2current instr.: 'specialize' pc 20463 (src/gen/perl6-metamodel.pir:9493) (src/gen/Metamodel.pm:1913)called from Sub '' pc 26086 (src/gen/perl6-metamodel.pir:11714) (src/g… | ||
diakopter | r: role X[] { }; throw 1 | 11:34 | |
p6eval | rakudo b3fc32: OUTPUT«Error while constructing error object:Could not locate compile-time value for symbol Undeclared::Symbols===SORRY!===Error while compiling, type X::Undeclared::Symbols post_types: Hash[0xbd9d9c4] unk_types: Hash[0xbd9d9d8] unk_routines: Hash[0xbd9d9ec] rou… | ||
diakopter | hee | ||
masak | GlitchMr: I'm happy to hear about interest for the p6cc review posts. I didn't find any tuits for it this last weekend. hoping for the upcoming one. | 11:35 | |
diakopter | r: role a[[]] { } | 11:36 | |
p6eval | rakudo b3fc32: OUTPUT«Could not instantiate role 'a':Not enough positional parameters passed; got 1 but expected 2current instr.: 'specialize' pc 20463 (src/gen/perl6-metamodel.pir:9493) (src/gen/Metamodel.pm:1913)called from Sub '' pc 26086 (src/gen/perl6-metamodel.pir:11714) (src/g… | ||
masak | ok, I'm pretty sure what I'm seeing is a bug in callsame and wrapping roles. | 11:38 | |
let me try and recreate it. | 11:39 | ||
diakopter | r: role foo { @bar } # masak... | 11:41 | |
p6eval | rakudo b3fc32: OUTPUT«===SORRY!===Cannot type check against type variable $?CLASS» | ||
masak | diakopter: feel free to submit it. | ||
diakopter | phenny: newbug r: role foo { @bar } # ===SORRY!===Cannot type check against type variable $?CLASS | 11:42 | |
r: role bar { bar.say } | 11:44 | ||
p6eval | rakudo b3fc32: OUTPUT«(timeout)» | ||
masak | hm, not sure I can golf this significantly. | ||
does the following look odd to anyone? | |||
r: role Filter[$factor] { method next { repeat until $.value % $factor { say "R$factor, $.value"; callsame } } }; class Stream { has $.value is rw = 1; method next { say "bottom out $.value"; ++$.value }; method filter { self but Filter[$.value] } }; .next && say .value for Stream.new, *.filter ... * | |||
11:44
kresike joined
|
|||
p6eval | rakudo b3fc32: OUTPUT«(timeout)bottom out 12R2, 2bottom out 23R3, 3R2, 3bottom out 3R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2, 4R2,… | 11:44 | |
kresike | hello all you happy perl6 people | ||
masak | kresike! \o/ | ||
kresike | masak, o/ | ||
masak | more specifically, why, after 'bottom out 3', does it never bottom out again? | 11:45 | |
it's a stack of nested roles, it should bottom out all the time. | |||
the fact that it doesn't feels like a mis-reference somewhere. | |||
(it's a *really* sweet solution, but for this bug. it'd be cool to contribute it to RosettaCode) | 11:47 | ||
n: role Filter[$factor] { method next { repeat until $.value % $factor { say "R$factor, $.value"; callsame } } }; class Stream { has $.value is rw = 1; method next { say "bottom out $.value"; ++$.value }; method filter { self but Filter[$.value] } }; .next && say .value for Stream.new, *.filter ... * | |||
p6eval | niecza v24-18-gaf64300: OUTPUT«(timeout)bottom out 12R2, 2bottom out 2R3, 3R2, 3bottom out 3R2, 4bottom out 4R5, 5R3, 5R2, 5bottom out 5R2, 6bottom out 6R7, 7R5, 7R3, 7R2, 7bottom out 7R2, 8bottom out 8R3, 9R2, 9bottom out 9R2, 10bottom out 10R11, 11R7, 11R5… | ||
masak submits rakudobug | 11:48 | ||
if I find a way to golf the thing, I'll add that to the ticket. | |||
errands & | 11:57 | ||
12:23
cog left
12:26
perl6examples joined,
perl6examples left
12:29
perl6examples joined,
perl6examples left
12:31
perl6examples joined,
perl6examples left
|
|||
timotimo | good day | 12:31 | |
12:32
perl6examples joined,
perl6examples left
12:34
perl6examples joined
|
|||
grondilu | Guys, I'd like to suggest an idea for a module: an openscad wrapper (an exclusively parametric CADf language, see openscad.org). I can't really see how it could be done exactly but it should not be too hard and it could be very cool as it would allow to design 3D objects entirely in Perl6). | 12:34 | |
tadzik | well wolunteered :) | 12:35 | |
you can put it on the Most Wanted module list | |||
12:37
perl6examples left
|
|||
grondilu | I haven't think it through a lot, though, as it might be more subtle a problem than I thought. Although it would be a language translation, it might still be tricky. | 12:37 | |
12:39
kaleem joined
|
|||
grondilu | I had the idea for such a module when writing this spaceplane: www.thingiverse.com/thing:45044 At some point I wanted to use list comprenhension or at least just list concatenation but amazingly enough, you can't do that in openscad. Unless I missed something, all arrays must be either a variable or a litteral array. So I thought a wrapper in a higher level language should be usefull. There already is one at least in Haskell: ww | 12:44 | |
jnthn | If you create a package called X you hide all of the X:: exceptions so the compiler can't find an exception to throw any more. | 12:53 | |
We could just make it look in $*UNIT_OUTER rather than down the block stack. | |||
Which will mean you never get typed exceptions when compilign the setting I guess... | 12:54 | ||
colomon | grondilu: once you've got OpenSCAD support done, you can probably convince me to add my STEP file parser to the p6 module list, and then plug the two together to read CSG STEP files.... | 12:55 | |
grondilu | colomon: sorry I know nothing about STEP | 12:56 | |
jnthn | masak: iiuc, you mix in a role to the current object with a method called filter. The object already has a method filter, which mixes in Filter. Thus when you callsame you end up hitting that filter method. | ||
Which then mixes in again. | |||
timotimo | jnthn: as long as failure to throw a typed exception will display what type the exception was and what arguments were passed, that's somewhat less-than-terrible | 12:57 | |
jnthn | timotimo: It should already do that, I think. | ||
colomon | grondilu: en.wikipedia.org/wiki/ISO_10303 | 12:58 | |
grondilu | ok | 13:01 | |
The more I think about it, the more difficult it seems to be though. For instance, say you want to generate a list of a thousand cubes. In openscade, you'd write 'for(x=0:1000) translate([x,0,0]) cube(.5)' How would you write that in perl6? You can't write 'for 0 .. 1000 -> $x { Openscade.translate([$x, 0, 0])(Openscade.cube(.5)) }' because that would generate a file with one thousand lines, which is ridunculus. I guess some syntax tree manip | 13:05 | ||
masak | jnthn: two things: 'callsame' is inside .next, not .filter -- the former does the delegation down wrapping layers, the latter does the wrapping. I don't see how what you say applies at all. | ||
jnthn: secondly, Niecza's and Rakudo's p6eval results differ -- and I have an easier time understanding Niecza's. | 13:06 | ||
grondilu | Actually I wonder if that would not the same kind of programming that is needed to translate Perl6 into Parrot code. So it's quite abstract stuff. | 13:11 | |
13:12
sqirrel joined
|
|||
grondilu | (which would explain why the only module I know who does that is in Haskell) | 13:12 | |
masak | grondilu: yes, this sounds like an AST problem. | 13:14 | |
or an AST solution, rather ;) | |||
grondilu | I'm sure one of you is smart enough to make it in an hundred lines of code or so. | 13:15 | |
jnthn | masak: OK. I need it golfed into something I can understand if I'm to fix it. | 13:16 | |
Or analyze it. | 13:17 | ||
Where golfed doesn't have to mean "less code" just "less concepts" :) | |||
masak | yay, I got gist.github.com/4672575 working on Niecza! \o/ | 13:19 | |
(which has got to count for something. but I'll still try and golf it) | |||
also, it's kind of weird I needed to do that last tweak. why does comma work but not && ? :/ | |||
the exact same code hangs in Rakudo after outputting "2\n3\n" | 13:21 | ||
jnthn | Well, the delegation stuff is mostly written in NQP :) | 13:25 | |
jnthn hopes that means somebody other than him can go hunting, rather than assuming it's "too hard" so only jnthn can fix it... | 13:26 | ||
13:27
jaldhar left
|
|||
jnthn | uh, deferal, nto delegation :) | 13:27 | |
The delegation stuff is mostly written in Perl 6... | |||
arnsholt | While not falling asleep last night, I had some ideas for changes to NativeCall to better cope with objects' lifecycles: gist.github.com/4673294 | 13:28 | |
jnthn | arnsholt++ | 13:29 | |
arnsholt | If those interested in NativeCall (jnthn, moritz, FROGGS, sorear(?)) could have a look at that and comment, that'd be awesome | ||
jnthn | arnsholt: I'll take a look over it when I'm not so distracted :) | ||
moritz takes a look | |||
arnsholt | To a certain extent this is procrastinatory for me, so it's not required in a hurry =) | 13:30 | |
moritz | arnsholt: from a user's perspective, that sounds sane :-) | 13:31 | |
arnsholt | Excellent! | ||
I've been wanting to kill explicitly-manage for a while now | 13:32 | ||
Just had to figure out how =) | |||
FROGGS | arnsholt: currently in a meeting, will read backlog this evening | ||
arnsholt | Cool | ||
jnthn gets back to teaching | 13:36 | ||
13:53
atrodo joined
|
|||
nwc10 realises he left an ) unclosed earlier. Oops. Hopefully this restores balance in the universe. | 13:54 | ||
13:56
Targen left
14:01
isBEKaml joined
|
|||
isBEKaml | hello, #perl6! :) | 14:02 | |
phenny | isBEKaml: 17 Jan 02:49Z <[Coke]> tell isBEKaml about github.com/coke/perl6-roast-data/b...ummary.out | ||
isBEKaml: 17 Jan 18:06Z <moritz> tell isBEKaml that I uploaded the 2013.01 release tarballs. Thanks for doing the release! | |||
14:03
yeltzooo joined
|
|||
timotimo | haha, great :D | 14:04 | |
the tarballs are out, but no announcement? | 14:05 | ||
isBEKaml | timotimo: :D those were for rakudo *compiler* release. | 14:06 | |
Not star. :) | |||
phenny: tell moritz, the pleasure is entirely mine. | |||
phenny | isBEKaml: I'll pass that on when moritz is around. | ||
14:07
skids left
|
|||
moritz | maybe I'll do the star release tonight | 14:13 | |
phenny | moritz: 14:05Z <isBEKaml> tell moritz the pleasure is entirely mine. | ||
moritz | if somebody is willing to help me, compose a release announcement | ||
timotimo | oh, right. | ||
14:15
kaare_ joined
14:16
LylePerl joined
|
|||
isBEKaml | moritz: What's the convention for star releases? Whoever releases compiler, releases star too? | 14:18 | |
14:19
cog joined
|
|||
tadzik | Star is special | 14:20 | |
oh, moritz, I don't think I invited you yet for the Polish Perl Workshop. Want to come? :) | |||
isBEKaml | tadzik: ofcourse it is. The Star of Rakudo | ||
tadzik | :) | ||
isBEKaml | tadzik++ # PlPW | ||
moritz | isBEKaml: whoever feels responsible releases star :-) | ||
masak | isBEKaml: no, there's no convention, really. | 14:21 | |
tadzik | isBEKaml: you're coming too? :) | ||
moritz | tadzik: want, yes | ||
isBEKaml | tadzik: Even if I wanted to, I cannot. :( | ||
tadzik | shame :( | ||
isBEKaml | tadzik: I know - never been to any .pm or any of perl workshops(not even YAPCs). Shame, yeah. :| | ||
tadzik | isBEKaml: high time to break that habit :) | 14:22 | |
isBEKaml | tadzik: well, hold it in my country. I'll tag along. =) | ||
tadzik: but then that won't be a PlPW :P | 14:23 | ||
jnthn | moritz: I can compose the release announce this evenign :) | 14:24 | |
moritz | I think I already bumped the versions on my workstation at home | 14:25 | |
14:29
mjwhitta joined
|
|||
kresike | bye folks | 14:29 | |
14:29
kresike left
|
|||
masak | seems we did quarterly releases of Star all through 2011, then monthly all through 2012, with the exception for March, for some reason. | 14:31 | |
14:32
LylePerl left
14:36
mjwhitta left
14:44
hoelzro is now known as hoelzro|away
14:55
stopbit joined
15:01
Liz_ joined
|
|||
Liz_ | good day all | 15:01 | |
isBEKaml | hello, Liz_ | 15:02 | |
moritz | \o Liz_ | ||
tadzik | Liz_! \o/ | ||
Liz_ | I was wondering whether the Perl 6 cheat sheet is still valid | ||
aka raw.github.com/perl6/mu/master/doc...tsheet.txt | 15:03 | ||
timotimo | this is the kind of thing that could even get its own little integration test suite. | 15:04 | |
Liz_ | for the FOSDEM this weekend, I was considering making laminated two-sided versions for the Perl stand | ||
one side Perl 5, the other Perl 6 | |||
15:05
[particle]1 left
|
|||
masak | Liz_! \o/ | 15:05 | |
moritz | looks good to me | ||
masak | rn: role F[$n] { method x { callsame(); callsame() until $.v % $n } }; class S { has $.v is rw = 1; method x { ++$.v }; method f { self but F[$.v] } }; my $s = S.new; for ^3 { $s.x; say $s.v; $s.=f } | ||
moritz | I did a quick glance over it and didn't find a single outdated item | ||
p6eval | niecza v24-18-gaf64300: OUTPUT«235» | ||
..rakudo b3fc32: OUTPUT«(timeout)23» | |||
15:05
[particle] joined
|
|||
masak | jnthn: this is as short as I'm able to golf it. | 15:05 | |
moritz | r: say 'item'.comb.sort eq 'time'.comb.sort | ||
p6eval | rakudo b3fc32: OUTPUT«True» | ||
Liz_ | moritz: cool, then I'll use that | ||
timotimo | r: my $a = Cat.new; | ||
p6eval | rakudo b3fc32: OUTPUT«===SORRY!===Undeclared name: Cat used at line 1. Did you mean 'Rat'?» | ||
isBEKaml | masak: that's 4-turned-prime headline? :) | 15:06 | |
timotimo | r: my $a = Blob.new; | ||
p6eval | rakudo b3fc32: OUTPUT«===SORRY!===Undeclared name: Blob used at line 1» | ||
timotimo | are thos types no longer in perl6? or just NYI? or perhaps created using a different mechanism only? | ||
masak | jnthn: the problem happens in the 'callsame()' in the 'until' loop, and the .x method in the S object never gets triggered. or rather, it gets triggered in Niecza, but it gets waylaid in Rakudo. | ||
timotimo: NYI | |||
timotimo | OK | 15:07 | |
i suppose the Cat type isn't the one you'd get from ACME::Meow? | |||
r: say 10 R- 5; | |||
p6eval | rakudo b3fc32: OUTPUT«-5» | ||
masak | correct. | ||
rn: role F[$n] { method x { callsame; callsame until $.v % $n } }; class S { has $.v is rw = 1; method x { ++$.v }; method f { self but F[$.v] } }; my $s = S.new; for ^3 { $s.x; say $s.v; $s.=f } | 15:08 | ||
timotimo | oh, that's neat | ||
p6eval | niecza v24-18-gaf64300: OUTPUT«235» | ||
..rakudo b3fc32: OUTPUT«(timeout)23» | |||
timotimo | what does "sequentialize" do? | ||
masak | timotimo: "make a sequence of" | 15:10 | |
rn: role F[$n] { method x { callsame; callsame until $.v % $n } }; class S { my $v = 1; method x { ++$v }; method f { self but F[$v] } }; my $s = S.new; for ^3 { $s.x; say $v; $s.=f } | 15:11 | ||
p6eval | rakudo b3fc32: OUTPUT«===SORRY!===Variable '$v' is not declaredat /tmp/9AIiMx7r9j:1------> }; my $s = S.new; for ^3 { $s.x; say $v⏏; $s.=f } expecting any of: postfix» | ||
..niecza v24-18-gaf64300: OUTPUT«===SORRY!===Variable $v is not predeclared at /tmp/mzO6qyD2fQ line 1:------> } }; my $s = S.new; for ^3 { $s.x; say ⏏$v; $s.=f }Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting lin… | |||
masak | oops. | ||
rn: role F[$n] { method x { callsame; callsame until $.v % $n } }; my $v = 1; class S { method x { ++$v }; method f { self but F[$v] } }; my $s = S.new; for ^3 { $s.x; say $v; $s.=f } | |||
p6eval | rakudo b3fc32: OUTPUT«2Method 'v' not found for invocant of class 'S+{F}'current instr.: 'x' pc 170 ((file unknown):817) (/tmp/Iv9iZ7GOxW:1)called from Sub '' pc 223 ((file unknown):191753942) (/tmp/Iv9iZ7GOxW:1)called from Sub '' pc 256476 (src/gen/CORE.setting.pir:116173) (src/gen… | ||
..niecza v24-18-gaf64300: OUTPUT«2Unhandled exception: Unable to resolve method v in type S+F[curried] at /tmp/ru0HsITsWf line 1 (F.x @ 9)  at /tmp/ru0HsITsWf line 1 (mainline @ 14)  at /home/p6eval/niecza/lib/CORE.setting line 4218 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.set… | |||
masak should really do his experimentation offline, as usual | 15:12 | ||
timotimo | masak: well, how do i use Sop? S+, S, and S=> on two lists or two scalars doesn't seem to do anything but throw exceptions that make little sense to me | ||
i guess i could look at the code, though | |||
15:12
kaleem left
|
|||
masak | timotimo: I've never fully understood Sop. | 15:13 | |
timotimo: I can promise you that it isn't in any runnable code out there, though. | |||
15:14
palakas joined
|
|||
timotimo | hehe, ok | 15:14 | |
masak | rn: role F[$n] { method x { callsame; callsame until $.v % $n } }; class S { has $.v is rw = 1; method x { ++$.v } }; my $s = S.new; for ^3 { $s.x; say $s.v; $s but= F[$s.v] } | 15:16 | |
p6eval | rakudo b3fc32: OUTPUT«(timeout)23» | 15:17 | |
..niecza v24-18-gaf64300: OUTPUT«===SORRY!===Cannot make assignment out of but because structural infix operators are diffy at /tmp/u5dEo4QvyN line 1:------> S.new; for ^3 { $s.x; say $s.v; $s but=⏏ F[$s.v] }Unhandled exception: Check failed a… | |||
cog | rn: grammar G { token TOP() { <lit 'a'> }; token lit($s) { $s } }; G.parse: 'a' | ||
p6eval | niecza v24-18-gaf64300: ( no output ) | ||
..rakudo b3fc32: OUTPUT«Unmarshallable foreign language value passed for parameter '$s' in regex lit at /tmp/PrRRZFIcdH:1 in regex TOP at /tmp/PrRRZFIcdH:1 in method parse at src/gen/CORE.setting:10725 in block at /tmp/PrRRZFIcdH:1» | |||
cog | hum | ||
masak | rn: role F[$n] { method x { callsame; callsame until $.v % $n } }; class S { has $.v is rw = 1; method x { ++$.v } }; my $s = S.new; for ^3 { $s.x; say $s.v; $s = $s but F[$s.v] } | ||
p6eval | niecza v24-18-gaf64300: OUTPUT«235» | ||
..rakudo b3fc32: OUTPUT«(timeout)23» | |||
cog | grammar G { token TOP() { <lit: 'a'> }; token lit($s) { $s } }; say G.parse: 'a' | 15:19 | |
rn: grammar G { token TOP() { <lit: 'a'> }; token lit($s) { $s } }; say G.parse: 'a' | |||
p6eval | niecza v24-18-gaf64300: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({"lit" => #<match from(0) to(1) text(a) pos([].list) named({}.hash)>}.hash)>» | ||
..rakudo b3fc32: OUTPUT«「a」 lit => 「a」» | |||
cog | rn: grammar G { token TOP() { <lit('a')> }; token lit($s) { $s } }; say G.parse: 'a' | ||
p6eval | niecza v24-18-gaf64300: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({"lit" => #<match from(0) to(1) text(a) pos([].list) named({}.hash)>}.hash)>» | ||
..rakudo b3fc32: OUTPUT«「a」 lit => 「a」» | |||
cog | rn: grammar G { token TOP() { <lit 'a'> }; token lit($s) { $s } }; say G.parse: 'a' | 15:20 | |
p6eval | niecza v24-18-gaf64300: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({"lit" => #<match from(0) to(1) text(a) pos([].list) named({}.hash)>}.hash)>» | ||
..rakudo b3fc32: OUTPUT«Unmarshallable foreign language value passed for parameter '$s' in regex lit at /tmp/W8RbAe2hBe:1 in regex TOP at /tmp/W8RbAe2hBe:1 in method parse at src/gen/CORE.setting:10725 in block at /tmp/W8RbAe2hBe:1» | |||
cog | so that's a rakudo bug | ||
nqp: grammar G { token TOP() { <lit 'a'> }; token lit($s) { $s } }; say( G.parse: 'a') | 15:22 | ||
p6eval | nqp: OUTPUT«a» | ||
masak submits rakudobug | 15:23 | ||
15:25
slavik1 left
15:36
hash_table joined
|
|||
masak | rn: my @primes := gather for 2..Inf { next if $_ %% any(@primes); say take $_ } | 15:37 | |
p6eval | niecza v24-18-gaf64300: ( no output ) | ||
..rakudo b3fc32: OUTPUT«splice() not implemented in class 'Mu'current instr.: '' pc 253893 (src/gen/CORE.setting.pir:115092) (src/gen/CORE.setting:5485)called from Sub 'reify' pc 253040 (src/gen/CORE.setting.pir:114758) (src/gen/CORE.setting:5457)called from Sub 'gimme' pc 261448 (src/… | |||
masak | aww :) | ||
Liz_ | masak: wouldn't that print primes until the end of the universe? | 15:40 | |
timotimo | nah, the list is completely lazy, so it won't get started | 15:44 | |
hm, is any sufficiently clever for short-circuiting @primes? | |||
n: my @primes := gather for 2..Inf { next if $_ %% any(@primes); say take $_ }; say @primes[10] | |||
p6eval | niecza v24-18-gaf64300: OUTPUT«Unhandled exception: Circular data dependency in list iteration, or last fetch threw exception at /tmp/VwsfrqFpvn line 1 (ANON @ 7)  at <unknown> line 0 (KERNEL dogather @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 2425 (GatherIterator.reify @ … | ||
15:45
skids joined
|
|||
Liz_ | timotimo: but the say will be done for each prime taken, no? | 15:46 | |
and then the next prime will be reified, no? | |||
so that would still go on forever, or am I missing some inhibiting factor here? | |||
masak | Liz_: yes, but p6eval knows how to abort scripts after a few seconds and show the partial output. | ||
r: for 1..Inf { .say if $_ %% 10_000 } | 15:47 | ||
p6eval | rakudo b3fc32: OUTPUT«(timeout)1000020000» | 15:48 | |
timotimo | oh, you may be right, there probably needs to be a stopping condition for the any(@primes), else for a prime it will continue forever, no? | ||
masak | oh! | ||
yes, I see what you're saying now. | |||
the consumer doesn't know when to stop asking. | |||
timotimo | good catch, Liz_ | ||
masak | Liz_++ | ||
ESOLUTIONISTOOPRETZELY | 15:49 | ||
timotimo | hm, but in that concise way you wrote, i can't see how to put a second condition in there to abort, say, if the number is bigger than half | ||
i would have to put another for loop in there and then it's not as pretty any more :( | 15:50 | ||
masak | yeah. | 15:52 | |
but that's fine; I'm just toying around with ideas here. | |||
jnthn | decommute & | ||
15:59
brrt joined
16:04
nnunley joined
16:08
brrt left
16:10
GlitchMr left
16:11
cog_ joined,
cog left
|
|||
masak | "In the creation of any truly new product or product category, it is almost invariably a big advantage to start out as integrated as possible." -- blogs.hbr.org/cs/2013/01/the_787s_p...per_t.html | 16:19 | |
feels like it contains an echo of nwc10's "dogfood early, dogfood often". | |||
nwc10 is right until proven otherwise. :-) | 16:22 | ||
16:23
cog_ left
|
|||
nwc10 | even if you don't want me to be. | 16:23 | |
flussence | rn: sub a(@foo? is rw) { ... } | ||
p6eval | niecza v24-18-gaf64300: OUTPUT«Potential difficulties: @foo is declared but not used at /tmp/ESSUo_iJnC line 1:------> sub a(⏏@foo? is rw) { ... } &a is declared but not used at /tmp/ESSUo_iJnC line 1:------> sub a⏏(@foo? is rw) { ... }»… | ||
..rakudo b3fc32: OUTPUT«===SORRY!===Cannot use 'is rw' on an optional parameterat /tmp/mnD8pnkKKf:1------> » | |||
flussence | Different error... jeez, is my one day old rakudo out of date *already*? :) | 16:24 | |
(it's a NPMCA on the repl) | |||
timotimo | moritz: did my 2 line patch end up failing spectests? | 16:25 | |
flussence | n: sub a(@foo? is rw) { @foo //= 1..3 }; my @bar; a(@bar); say @bar.perl; | 16:26 | |
p6eval | niecza v24-18-gaf64300: OUTPUT«[].list» | ||
16:27
FROGGS left
|
|||
masak | why can't one use 'is rw' on an optional parameter? :) | 16:29 | |
16:29
xinming left
|
|||
masak | you can with 'is copy', for example. | 16:29 | |
timotimo | what are you going to write to if it isn't given? | ||
masak | something that wasn't passed. | ||
timotimo | will it just be swallowed/autoviv'd? | ||
masak | I guess. | 16:30 | |
my question is, why is it absolutely forbidden? | |||
we don't tend to forbid things that are only a little impossible. | |||
flussence | that's one thing that's possible in PHP - you can pass a variable by reference, but it won't complain if you don't | ||
16:31
brrt joined
|
|||
masak | right. that's what we're talking about here. | 16:36 | |
arnsholt | timotimo: Where did you end up on your ipython/Rakudo project? Not worthwhile/possible ATM, or did you decide to start it? | 16:45 | |
timotimo | arnsholt: i started it! yesterday i ported most of the ipython protocol handling logic to perl6 code | 16:46 | |
it will only need a thin wrapper now to turn a json based protocol via stdin/stdout into actual zmq. | |||
hm, how does one create a process in perl6 and communicates with its stdin and stdout? | 16:47 | ||
arnsholt | Oh, cool! | ||
A Net::ZMQ module (name negotiable) based on NativeCall is hopefully in my not-too-distant future. Want to join in implementing it? | 16:48 | ||
timotimo | i haven't ever tried NativeCall, but i guess i could help you with low hanging fruit :) | 16:49 | |
arnsholt | Cool. I'll give you a prod when I get it started | ||
timotimo | thanks :) | 16:50 | |
16:50
bluescreen10 joined
16:54
grondilu left
17:02
araujo left
17:03
isBEKaml left
|
|||
jnthn back :) | 17:04 | ||
masak | jnthn! \o/ | 17:07 | |
17:09
MayDaniel joined
|
|||
jnthn yawns tiredly | 17:10 | ||
nwc10 | read, aim, coffee! | 17:11 | |
timotimo | AOL Instant Messenger? | ||
nwc10 | er, ready. | ||
jnthn | I'm not doing coffee at this time of day, or I'll not sleep :) | 17:13 | |
masak eyes list of requirements, frowning | 17:21 | ||
so... you want to be not tired, but you also want to sleep, correct? | |||
17:21
Ulti joined
|
|||
nwc10 | um, hangon. If jnthn doesn't sleep, does that mean we get more code by the morning? | 17:21 | |
masak | I'll go get the coffee. | ||
colomon | nwc10: yup! | ||
nwc10 | does this scale? | 17:22 | |
jnthn | Yes but...quality? :P | ||
masak | and a funnel. | ||
colomon | jnthn: you're still young, you can probably handle a few days of late nights before you start babbling. | 17:23 | |
Ulti | jnthn spend the rest of your life making a time machine that can transport itself back, then hand yourself a copy to yourself now and use it to make temporal clones of yourself | ||
dalek | ar: de12058 | moritz++ | tools/star/Makefile: bump versions in preparation of the 2013.01 release |
17:24 | |
moritz | Ulti: if that results in two jnthns coding on rakudo/nqp/jvm stuff, I'm all for it :-) | ||
17:24
brrt left
|
|||
colomon recalls that even in college, staying up until 4am made his "clever" D&D plans very, very, very stupid. | 17:24 | ||
moritz | colomon: did you have any non-stupid D&D plans, ever? | 17:25 | |
if yes, I kinda suspect you didn't understand the game :-) | |||
Ulti | also ssh tunnel over the time machine and git pull from 10 years in the future | ||
colomon | moritz: I'd like to think most of them were smarter than "I will levitate far over the scene of the battle, cast an anti-magic shell around myself, and then swoop down to neutralize the demon." | 17:26 | |
moritz | colomon: might have been :-) | ||
masak | brilliant! | ||
timotimo | hahahaha, the anti magic shell :D | ||
"swoop down", pretty majestically i bet! :D | |||
17:27
Chillance joined
|
|||
colomon | nah, it was more of a straight fall. but I did make an nice little crater when I hit. | 17:27 | |
dalek | ar: 266205b | moritz++ | modules/ (6 files): update modules to newest versions |
||
17:28
araujo joined,
araujo left,
araujo joined
|
|||
colomon | I hadn't even made sure I was over the demon when I did it, so I hit like twenty feet away from the actual fight and didn't even modestly inconvenience it. | 17:28 | |
jnthn wonders why people assume clones of him would all sit around hacking, rather than just deciding to go to the pub together :) | |||
nwc10 | :-) | ||
jnthn | moritz: am working on release announce :) | ||
moritz | jnthn: great | 17:29 | |
masak | handling clones of oneself is tricky. | ||
dalek | ar: 05a30fb | moritz++ | / (2 files): bump more versions (README, Makefile.in) |
17:30 | |
jnthn | masak: y'all would know :P | ||
17:36
MayDaniel_ joined
|
|||
masak | yes :) | 17:36 | |
if you want a (weary) smile put on your face, do a Google search for "&amp;amp;amp;" | 17:37 | ||
masak smiles wearily | |||
dalek | ar: 24eab15 | jnthn++ | docs/announce/2013.01: Add a 2013.01 release announcement. |
17:38 | |
jnthn | That's <lt; awesome. | ||
Review of the announce welcomed | 17:39 | ||
17:40
MayDaniel left
|
|||
timotimo | a quick read-through suggests it's fine | 17:42 | |
cannot guarantee there are no factual incorrectnesses, though | |||
moritz | jnthn: looks fine | 17:43 | |
timotimo | so 2012.02 will get Parrot 5.0.0? | 17:46 | |
17:46
mr- joined
|
|||
moritz | if we have a reason to bump the required revision, then yes | 17:46 | |
moritz.faui2k3.org/tmp/rakudo-star-....01.tar.gz | 17:48 | ||
please test | |||
Liz_ | timotimo: 2012.03 ? | 17:49 | |
timotimo: 2013.02 | 17:50 | ||
:-) | |||
timotimo | >_< of course | ||
17:56
palakas left
17:59
dakkar left
|
|||
moritz | moritz@casella:~>./tmp/rakudo-star-2013.01/install/bin/perl6 -e 'use JSON::Tiny; say to-json({ a => ["b", 42]})' | 18:06 | |
{ "a" : [ "b", 42 ] } | |||
looks good | |||
masak | \o/ | 18:08 | |
masak .oO( it's called "JSON::Tiny", but I see lots of unnecessary spaces in there ) :P | 18:09 | ||
18:09
kmwallio joined
|
|||
[Coke] | hopefully someone is testing rakudo on various parrot releases. | 18:17 | |
masak | ...and probably, no-one is? :) | 18:18 | |
18:19
xinming joined
|
|||
timotimo | i was testing rakudo on parrot5 | 18:20 | |
18:25
palakas joined
18:29
nnunley left
|
|||
[Coke] | timotimo++ | 18:33 | |
timotimo | testing as in "using" not as in "rigurously testing", though | ||
[Coke] | Surely the packagers that care about such things can restrict certain versions of rakudo to use no newer than version x of parrot. :) | ||
but yes, we should setup a test farm or something for the last X rakudo versions we care about and the last X parrot versions and make sure that unless we declare otherwise they are compatible. | 18:34 | ||
18:34
nnunley joined
18:37
fhelmberger left
|
|||
moritz | any objections to releasing the rakudo-star-2013.01 tarball as-is? | 18:39 | |
jnthn | moritz: None her, provided it builds/passes tests. | 18:40 | |
*here | |||
dalek | ar: e7a6ae5 | moritz++ | tools/star/release-guide.pod: note 2013.01 release in release-build.pod also close a quote |
18:44 | |
moritz | tag pushed, tarball uploaded | 18:45 | |
nwc10 | \o/ | ||
and, now back to the important job of breaking things? :-0 | |||
er, :-) | |||
right - what do I blame for my typing tonight? | |||
moritz | nwc10: that's masak's job :-) | ||
jnthn | moritz++ | 18:46 | |
moritz | (breaking things) | ||
dalek | p: 8d5e9d4 | jnthn++ | src/ (2 files): Add a way to introspect if a lexical is native. |
||
p: 5e22142 | jnthn++ | src/QAST/Operations.nqp: Map objprimspec to repr_get_primitive_type. |
|||
moritz | rakudo.org/2013/01/30/rakudo-star-2...-released/ | 18:53 | |
masak | moritz++ | 18:57 | |
and contrary to popular belief, I don't break things. :) | 18:58 | ||
18:58
kmwallio left
|
|||
masak | it's more like I stumble over broken things, waking the neighbors. | 18:58 | |
jnthn | You could turn the lights on :P | 18:59 | |
geekosaur | ...if they don't explode when turned on | 19:01 | |
skids | r: my $res = Failure.new(X::AdHoc.new(:payload<foo>)); $res.defined; $res.defined.say; say $res + 1; | 19:03 | |
p6eval | rakudo b3fc32: OUTPUT«False1» | ||
jnthn | Question. In the REPL, when we auto-print, shoudl things .Str like now, or .gist? | ||
19:04
lawrmcfa joined
|
|||
arnsholt | jnthn: While refactoring the native access stuff, should I rename get_attribute_ref to get_attribute_native like in JVM? | 19:05 | |
We won't actually get a reference anymore, after all | |||
jnthn | arnsholt: Yes, if you don't mind | ||
skids struggles to understand the intended behavior of handled Failures. | |||
19:05
erkan left
|
|||
arnsholt | I'm gonna be changing all instances of that anyways, so might as well rename it while I'm at it | 19:10 | |
19:11
nnunley left
19:12
nnunley joined
|
|||
moritz | jnthn: .gist, IMHO | 19:16 | |
masak | jnthn: feels like they should .gist | ||
19:16
hoelzro|away is now known as hoelzro
|
|||
hoelzro | hey #perl6 folk! congratulations on the Rakudo * release! | 19:17 | |
moritz | hoelzro: thanks | ||
jnthn | OK | 19:18 | |
I'm also trying to fix native lexical usage in the REPL and make the code more portable. | |||
moritz | \o/ | 19:19 | |
jnthn | I may have fixed the ^D bug THAT WE HAVE IN 2013 also...we'll see :) | ||
hoelzro | I'm finally able to remove all of my custom packaging stuff for my Arch Linux package =) | ||
19:20
FROGGS joined
|
|||
arnsholt | Debugging by compiler error \o/ | 19:20 | |
Or, refactoring, rather | |||
FROGGS | g'evening | ||
nwc10 | jnthn: any chance of world peace while you're there? And how is the AbstractPonyFactory? | 19:25 | |
masak | evenin', FROGGS | ||
jnthn: hey, the ^D bug was something that we regressed on because testing the REPL is teh hard. | 19:26 | ||
jnthn: at one point, we did it right. | |||
jnthn | masak: Yeah, I think I know why now too | ||
masak: Mebbe you can test it for me in a bit | 19:27 | ||
nwc10: Decided to do a bit of time on Rakudo improvements before looking at the JVM port :) | |||
nwc10: Though in the end I finished up eliminating some code that woulda been a porting pain in the future... :) | 19:28 | ||
masak | jnthn: sure. | ||
jnthn takes a break to eat stuffs | 19:29 | ||
[Coke] | I can write a test for the REPL ^D thing, I think. | ||
Should go into rakudo's own tests, though, aye? | 19:30 | ||
FROGGS | (rakudo improvement)++ | 19:31 | |
arnsholt: I commented | |||
masak | [Coke]: sounds reasonable. | ||
[Coke]: unless it's easy enough to make the test implementation-agnostic. | |||
moritz | is the REPL specced? | 19:34 | |
[Coke] | that's a different project (though I think it's reasonable that we should decide what we're going to call various versions of perl6 on the same machine.) | ||
moritz | if it's not specced, it doesn't go into roast | 19:35 | |
[Coke] | e.g. shoudl we have a perl6-rakudo, perl6-niecza (which in turn is a shell script or a .bat file that DTRT with the .exe?) | ||
arnsholt | FROGGS: Cheers! | 19:36 | |
arnsholt goes looking | |||
masak | moritz: that sounds reasonable. | ||
moritz: though I bet we have lots of things in roast that are not spec'd. | |||
moritz | probably. But very few of them intentional | 19:37 | |
and nothing as major as a whole subsystem, afaict | |||
19:42
fgomez left
|
|||
arnsholt | FROGGS: And replied to your comment | 19:42 | |
moritz | what's the gist URL again? | 19:43 | |
arnsholt | gist.github.com/4673294 | 19:44 | |
FROGGS | :o) | 19:45 | |
I'm happy with it | |||
arnsholt | I think it's a better approach than what we have, but it's always good to get feedback on this kind of stuff | 19:49 | |
moritz | will I be able to query whether an object is "owned" by the p6 code or the C code? | 19:51 | |
FROGGS | moritz: yes, it's just a matter who is responsible to free its mem | 19:52 | |
and who is not allowed to | |||
arnsholt | moritz: Wouldn't be very hard to implement at least | 19:53 | |
19:55
zby_home_ joined
19:58
fgomez joined
|
|||
jnthn | oh, turns out the REPL already does .gist when doing auto-print. | 20:00 | |
masak | oh, good. | 20:01 | |
it sounded weird that it not doing so would've gone unnoticed up 'til now :) | |||
jnthn | It's exceptions that are printed unhelpfully | ||
As in, compilation errors not showing where the error is. | |||
Lemme see if I can fix that bit | 20:02 | ||
20:02
hoelzro is now known as hoelzro|away
20:10
benabik left
|
|||
dalek | p: 16d7232 | jnthn++ | src/stage0/ (9 files): Update bootstrap. |
20:12 | |
p: 8266805 | jnthn++ | src/HLL/Actions.pm: Fix outer context setup for native lexicals. |
|||
p: 63d9ae4 | jnthn++ | src/HLL/Compiler.pm: Tweak REPL handling. Get rid of the magical accumulating context. While it did have some good points, getting it to support native lexicals was going to be a nightmare, let alone trying to port it. Also provide some better hook mechanisms for HLLs (so they don't have to duplicate the autoprint tell logic and can control exception printing). |
|||
jnthn | r: my int $x = 69; eval('say $x') | 20:13 | |
p6eval | rakudo b3fc32: OUTPUT«===SORRY!===Lexical '$x' is of wrong register type in lexical lookup» | ||
jnthn | Thought so. That now works locally also. | ||
masak | \o/ | ||
20:15
bruges left
|
|||
skids | r: my $a := Proxy.new(FETCH => { Failure.new(X::AdHoc.new(:payload<foo>)) }, STORE => { 0 }) | 20:15 | |
p6eval | rakudo b3fc32: OUTPUT«foocurrent instr.: 'throw' pc 332939 (src/gen/CORE.setting.pir:149243) (src/gen/CORE.setting:9291)called from Sub 'sink' pc 364971 (src/gen/CORE.setting.pir:161952) (src/gen/CORE.setting:10513)called from Sub 'MAIN' pc 444 (src/gen/perl6.pir:165) (src/main.nqp s… | ||
20:17
bruges joined
20:20
spider-mario joined
|
|||
dalek | kudo/nom: 9dfa827 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION for REPL improvements. |
20:21 | |
kudo/nom: 0fd4ee8 | jnthn++ | src/pmc/perl6lexpad.pmc: Support lexical type introspection. |
|||
kudo/nom: 9ec0a59 | jnthn++ | src/Perl6/Compiler.nqp: Better REPL exception reporting; updates. |
|||
jnthn | masak: Feel free to check the ^D bug. | 20:23 | |
masak | will do. | 20:25 | |
"$obj.Some::Role::meth() now passes the correct $obj" -- from the Star release announcement. hm, what bug was that? sounds like fun. | |||
masak tries to find out | |||
jnthn | One of the ones doy found. | 20:26 | |
Fairly recent in RT | 20:27 | ||
Dunno if it was given a test and closed yet | |||
masak | ah, found the commit :) | ||
(atomic commits)++ | |||
jnthn | masak: I don't see the ticket about the REPL and native types; if you can find that (I'm sure it exists) feel free to process it also :) | 20:29 | |
masak | ah, here: rt.perl.org/rt3/Ticket/Display.html?id=116226 | ||
(the methods on roles ticket) | |||
jnthn: ok, will find it. | |||
jnthn: here: rt.perl.org/rt3/Ticket/Display.html?id=102254 | 20:30 | ||
(*this* is what I mean when I say "I can find things quickly with RT") | |||
(so think twice before migrating to another system, because RT isn't all that bad) | 20:31 | ||
jnthn | It does some darn stupid things but at least it means I can delegate ticket munging to somebody who likes it :P | ||
masak | more "knows how to do it" than "likes it", but sure ;) | 20:32 | |
the warm fuzzies come from being a functional cog in the community machinery. | |||
Perl 6 is my RPG ;) | 20:33 | ||
20:40
benabik joined
20:41
c1sung joined
20:47
zby_home_ left
20:50
kaare_ left
20:53
fgomez left
|
|||
tadzik | hey hey! | 20:56 | |
masak | tadzik! \o/ | ||
tadzik | did I miss All The Things? | 20:57 | |
jnthn | o/ tadzik | ||
masak | tadzik: yes! | ||
tadzik | oh my! | ||
I have to update All The Repos | |||
masak | they all happened, and Time didn't prevent them from happening all at once this time. | ||
tadzik | and figure out ACT meanwhile | ||
nwc10 | you haven't missed Christmas yet. Sorry. | ||
tadzik | dang | ||
usually most things happen when I'm not looking, so I sometimes try not looking for some time to see if the work will actually progress faster | 20:58 | ||
20:58
mr- left
|
|||
skids | r: my $a = Failure.new(X::AdHoc.new(:payload<foo>)); $a; 1; | 21:06 | |
p6eval | rakudo b3fc32: ( no output ) | ||
skids | r: sub a { return(Failure.new(X::AdHoc.new(:payload<foo>))); 1; }; a(); 1; | 21:07 | |
p6eval | rakudo b3fc32: OUTPUT«foo in method sink at src/gen/CORE.setting:10513 in block at /tmp/QQrxQ0H2gM:1» | ||
21:07
cog joined
|
|||
skids | That seems discordant. | 21:07 | |
masak | in what way? | ||
skids | Whether it explodes or not shouldn't depend on whether the value is a variable or a function result. | 21:08 | |
And for that matter isn't the value in sink context even when followed by 1; ? | 21:09 | ||
masak | oh, I see what you mean now. | 21:10 | |
I don't know. | |||
skids | Anyway I'm going to have to search long and hard to fix Sum because I was dumbly relying on the pre-sink-refactor behavior. Now I need a value that only blows up when used, not in sink context, like an undefined, but handled Failures do not seem to do that (and I'm reading the spec and seeing maybe that I was wrong to think they would.) | 21:12 | |
diakopter | ugh, I'm typing := in C | 21:13 | |
21:17
hash_table left
|
|||
skids | masak: did you solve the checker stacking problem? :-) | 21:20 | |
21:20
sqirrel left
|
|||
masak | skids: didn't try yet. it's still open in a browser tab here :) | 21:20 | |
pmichaud | \o/ Rakudo Star 2013.01 release | ||
masak | pmichaud! \o/ | ||
skids: I think about it now and then. | |||
skids: it's nicely non-trivial. | 21:21 | ||
pmichaud | (rakudo team)++ | ||
skids | It drove me crazy to the point of insomnia, but I'm sure you will fare much better. | ||
pmichaud | also masak++ for giving a presentation at FOSDEM++ | ||
masak | skids: we'll see. | 21:22 | |
oh, I should blog about the FOSDEM talk. | |||
will try and do that tomorrow. | |||
jnthn | o/ pmichaud :) | 21:23 | |
pmichaud | I should be able to generate the .msi tomorrow | ||
o/ jnthn | 21:24 | ||
jnthn | yay, .msi :) | ||
pmichaud: nqp-jvm-cc currently passes 33 test files from t/nqp :) | 21:25 | ||
pmichaud | whoa, awesome! blog post? ;-) | ||
jnthn | Working on one | ||
21:30
arlinius joined
|
|||
arnsholt | jnthn: I think I've got some kind of handle on the _native refactor. Will continue hacking in the morrow | 21:31 | |
arnsholt & | |||
jnthn | .oO( better than in the marrow... ) |
||
arnsholt++ | |||
21:40
mtk left
21:41
benabik left
21:44
spider-mario left
|
|||
[Coke] thinks masak has an unfair advantage finding tickets because he's written 99% of them. | 21:44 | ||
pmichaud: Hio. | 21:45 | ||
masak | [Coke]: granted. | 21:49 | |
[Coke]: in order to find a ticket, you have to *think* like a ticket. | 21:50 | ||
:P | |||
21:50
Kharec joined
|
|||
Kharec | hi guys | 21:50 | |
masak | yo, Kharec | ||
Kharec | I'm trying to compile perl6, rakudo star 2013.01 and I get a segfault, I would like to report it: pastebin.com/1euJyxfB | 21:51 | |
On a 32 bit Linux platform. | |||
masak | "Erreur de segmentation" :/ | ||
during nqp compilation, it seems. | 21:52 | ||
Kharec | I can paste all the log if you want :) | ||
jnthn | Oh non c'est tres tres un-bon! | ||
masak | moritz, jnthn: should I create a rakudobug for this, or does it go directly to Parrot-land? | ||
jnthn | masak: It's in NQP compile | 21:53 | |
21:53
benabik joined
|
|||
jnthn | masak: So could be an NQP extension. | 21:53 | |
masak | what's an NQP extension? | ||
jnthn | The most helpful thing would be a gdb backtrace | ||
masak: Like, any of our dynops, or somewhere in 6model :) | |||
masak | oh aha. | ||
Kharec | I investigate more. | 21:54 | |
masak | jnthn: I leave it to you to negociate a gdb backtrace with monsieur Kharec. :) | ||
jnthn | masak: mercy boo coup | ||
Kharec | I'm going to leave but I'll try to make one! | ||
thanks guy! | |||
jnthn | Kharec: Thanks for reporting | 21:55 | |
Kharec | thanks to you :) | ||
good night! | |||
21:55
Kharec left
|
|||
jnthn | o/ | 21:55 | |
21:55
SmokeMachine left,
SmokeMachine joined
|
|||
FROGGS .oO( conectión reset by pierre ) | 21:59 | ||
22:02
skids left
22:03
arlinius left
22:10
fgomez joined
|
|||
dalek | p-jvm-prep: 0159a38 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque (2 files): Partial P6opaque deserialization. Only handles reference attributes so far, not flattened in ones. |
22:13 | |
p-jvm-prep: 4597ec9 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Make smart_numify handle array/hash REPR. Feels just a bit dirty but at least "smart" is sufficient warning of magic. |
|||
p-jvm-prep: f13c6af | jnthn++ | t/nqp/ (4 files): Four more passing test files. |
|||
jnthn | Darn, this headache isn't going away at all :/ | 22:22 | |
Guess I'll go rest | |||
& | |||
diakopter | o/ | ||
FROGGS | ó.ò gnight jnthn | ||
tadzik | good knight | 22:23 | |
22:23
MayDaniel_ left
|
|||
[Coke] | the nqp-jvm-prep makefile could use some love (LHF); things getting recompiled unnecessarily. | 22:26 | |
(e.g. 'make nqptest; make nqptest;') | |||
22:27
cog left
|
|||
masak | 'night, #perl6 | 22:27 | |
diakopter | 'nite | 22:28 | |
[Coke] finds some passing nqp tests that aren't included yet! | |||
tadzik | \o/ | ||
FROGGS | [Coke]: add 'em, before regression gets 'em | 22:31 | |
[Coke] | will do so after $dayjob. | 22:32 | |
22:35
cog joined
22:36
PacoAir left
22:47
cog left
22:48
Tene left
22:49
GlitchMr joined,
xalbo left,
djanatyn left
22:53
cog joined
22:57
cog left
22:58
djanatyn joined,
cog joined
23:01
Tene joined,
Tene left,
Tene joined,
xalbo joined
23:17
bluescreen10 left
23:18
stopbit left
23:19
palakas left
23:20
benabik left
23:30
balders_dod joined
23:31
skids joined
|
|||
lue | phenny: tell masak his blog's RSS feed is failing to load | 23:31 | |
phenny | lue: I'll pass that on when masak is around. | ||
23:35
hash_table joined
23:37
cog left
23:38
cog joined
23:39
nnunley left
23:40
hash_table left
23:44
SmokeMachine left,
SmokeMachine joined
23:49
SmokeMachine left
23:53
nnunley joined
23:54
SmokeMachine joined
|