»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 30 July 2009.
00:16 tak11 joined 00:22 kane__ joined 00:26 kane_ left 00:41 kane_ joined 00:44 kane__ left 00:47 jaldhar_ joined 01:01 tak11 left 01:02 libnoon left 01:28 jaldhar_ left 01:36 xomas left 01:40 Limbic_Region left
carlin rakudo: try { 1/0 }; say $!.WHAT; 01:56
p6eval rakudo 0d4fe0: ( no output )
carlin rakudo: try { 1/0 }; $!.WHAT.say; 02:02
p6eval rakudo 0d4fe0: ( no output )
carlin rakudo: try { 1/0 }; $!.WHAT.perl.say;
p6eval rakudo 0d4fe0: OUTPUT«Exception␤»
carlin pugs: try { 1/0 }; say $!.WHAT; 02:03
p6eval pugs: OUTPUT«Str␤»
02:05 tak11 joined 02:31 SmokeMachine joined 02:32 meppl left 02:33 jaldhar joined 02:47 FCO left 02:51 KyleHa joined 03:34 alester joined 03:35 kane_ left
KyleHa rakudo: class Foo { }; my $x = "Foo"; my $y = $x.new; say $y.WHAT; 03:52
p6eval rakudo 0d4fe0: OUTPUT«Foo()␤»
pugs_svn r28000 | kyle++ | [t/spec] Test for RT #65132 03:59
r28001 | kyle++ | [t/spec] Tests for RT #65164
r28002 | kyle++ | [t/spec] Additional tests for RT #65170 04:00
dukeleto kyle++ 04:01
KyleHa dukeleto: Know how to troubleshoot git svn? My connection dropped in the middle of dcommit, and now it's acting as if a couple commits never happened. 04:02
dukeleto KyleHa: git reflog
KyleHa Oh, neat! 04:03
dukeleto git reflog keeps track of every tip that you traverse, even if it is not on a branch or gets lost via resetting. you should be able to "git reset" to a sha1 in their that meets your fancy
git reflog is normally cleaned out every 2 months or so automagically, and that is configurable as well 04:04
pugs_svn r28003 | kyle++ | [t/spec] Test for RT #65172
r28004 | kyle++ | [t/spec] Test for RT #65212
KyleHa Amazing, dukeleto++, thank you!
dukeleto KyleHa: no worries, enjoy! 04:05
KyleHa From 'git reflog' I got the sha1 of the last local commit I did. Then 'git reset' to that. Then I had to 'git svn rebase' before 'git svn dcommit' would work.
dukeleto KyleHa: yeah, you have to "git svn rebase" a lot with git svn, basically whenever you change branches 04:06
KyleHa: basically, you can't rebase too much :)
KyleHa That's good to know. 04:07
dukeleto KyleHa: which version of git are you using?
KyleHa I'd been thinking of it as the same as a 'pull', but I guess it does more than that.
dukeleto newer version of git svn will do the git svn rebase for you if they sense that you need it
KyleHa It's 1.6.0.4
dukeleto KyleHa: 1.6.4rc3 is out, may as well get the released 1.6.3 or just run whatever is on master on git.git like me :) 04:08
KyleHa: you may not have colored git log --graph support yet in your version, and git svn has gotten lots of bugfixes 04:09
KyleHa I may do that, then. Normally I just stick with whatever's in Debian stable.
Er, it's Ubuntu in this case, actually.
04:10 diakopter left, diakopter joined
dukeleto KyleHa: actually, 1.6.4 is out, I am behind the times :) 04:13
lots of git svn features, even from 1.6.3 04:14
KyleHa OK, I'm sold. 04:15
dukeleto KyleHa: www.kernel.org/pub/software/scm/git...-1.6.4.txt 04:16
KyleHa Thanks again dukeleto++ Have a good night! 04:17
04:17 KyleHa left
tak11 is away: Eating a Banana, gtfo 04:21
tak11 is back (gone 00:21:42) 04:43
05:00 spinclad left 05:02 synth^2 joined 05:03 synth^2 is now known as synth 05:06 molaf joined, zloyrusskiy joined 05:13 spinclad joined 05:37 frew left 05:41 orafu left, orafu joined 05:46 zloyrusskiy left
adhoc =P 05:56
oops
06:01 alester left
ewilhelm rakudo: eval("sub {say 'hello'}"); 06:04
p6eval rakudo 0d4fe0: OUTPUT«hello␤»
06:05 szabgab_ left 06:06 shachaf is now known as coshachaf, coshachaf is now known as shachaf
ewilhelm is that a bug in eval string? 06:07
pugs: eval("sub {say 'hello'}"); 06:08
p6eval pugs: OUTPUT«hello␤»
ewilhelm err eval-string is supposed to execute the sub?
06:09 dduncan left
ewilhelm pugs: eval(q<sub {say 'hello'}>); 06:13
p6eval pugs: ( no output )
ewilhelm rakudo: my $x = eval(q<sub {say 'hello'}>); say $x; $x.();
p6eval rakudo 0d4fe0: OUTPUT«_block69␤hello␤»
ewilhelm I'm missing something about "" strings? 06:14
06:27 szabgab joined 06:53 iblechbot joined 06:58 jrtayloriv joined 07:02 synth left, synth joined 07:03 synth left
cj TimToady: you've got mails 07:05
why am I up at midnight?
07:14 jrtayloriv left 07:15 iblechbot left, iblechbot joined
dukeleto doesn't know 07:32
07:37 nihiliad left 08:10 crashmatrix joined 08:41 iblechbot left 08:53 kane_ joined 09:11 frettled sets mode: +ooo PerlJam TimToady [particle] 09:12 frettled sets mode: +oo wayland76 Matt-W 09:16 zloyrusskiy joined 09:20 zamolxes joined 09:23 jferrero joined 09:24 zloyrusskiy left 09:28 zloyrusskiy joined 09:35 pmurias joined 09:52 finanalyst joined 10:00 tak11 left 10:06 kane_ left 10:07 Khisanth left 10:09 yath_ joined
yath_ heya 10:09
10:09 zloyrusskiy left 10:10 ZuLuuuuuu joined, crashmatrix is now known as hatseflats 10:12 zloyrusskiy joined, Khisanth joined 10:21 Khisanth left 10:24 zloyrusskiy left 10:26 Khisanth joined 10:30 meppl joined 10:47 molaf left 11:11 Whiteknight joined 11:14 masak joined
masak rakudo: sub foo($positional, :$named) {}; foo(:named) 11:14
p6eval rakudo 0d4fe0: OUTPUT«invalid arg type in named portion of args␤in sub foo (/tmp/qYe83bQwFF:1)␤called from Main (/tmp/qYe83bQwFF:2)␤»
masak this error message is less-than-awesome for two reasons: 11:15
(1) it doesn't say the name of the arg that cause the error, or the name of the arg that it expected
(2) it doesn't say the name of the called sub
masak submits rakudobug
rakudo: ((Temporal::DateTime.new(:date(Temporal::Date.new(:year(2010), :month(4))), :time(Temporal::Time.new)).epoch - time) / 86400).ceiling.fmt("%d days left until April!").say 11:16
p6eval rakudo 0d4fe0: OUTPUT«228 days left until April!␤»
masak (locally in a branch, I now have DateTime.new('2010-04') working)
oh wait. strike the (2) above. I'm blind, apparently. 11:29
11:31 jferrero left
pmurias masak: it should also print out the (type of the) thing supplied 11:32
masak pmurias: aye, good idea. and perhaps of the thing expected.
pmurias that for sure 11:33
masak adds this to the RT ticket 11:34
colomon Can you guys explain to me why that error says anything about type at all? It seems like the real problem is a parameter is missing? 11:42
masak colomon: I think that it might be a Parrot error, and that 'arg type' here refers to the positional/named distinction. 11:43
11:44 sri_kraih joined 11:45 SmokeMachine left, SmokeMachine joined 11:48 arthur-- joined
colomon rakudo: sub foo($positional, :$named) {}; foo(:named("hello")) 11:49
p6eval rakudo 0d4fe0: OUTPUT«invalid arg type in named portion of args␤in sub foo (/tmp/76c3KpjILv:1)␤called from Main (/tmp/76c3KpjILv:2)␤»
colomon rakudo: sub foo($positional, :$named) {}; foo("pos", :named) 11:50
p6eval rakudo 0d4fe0: ( no output )
11:53 meteorjay left 11:54 jaldhar left
jnthn Heh. Yet more reasons we really need to re-do signature binding. 11:54
12:05 huf left 12:11 payload left 12:13 arthur-_ left, guest_007 joined
masak rakudo: role Maybe[::T] { role Just[T] {} }; say Maybe[Int].new() 12:17
p6eval rakudo 0d4fe0: OUTPUT«Potential internal error: bindability check may have done more than just binding.␤()<0xb69c7be8>␤»
masak what does that error mean?
jnthn First off, nesting roles inside roles is probably wrong unless they're lexically scoped... 12:19
Well, the inner one is...
The error is an internals check that I put in to detect certain things going awry. 12:20
Because it's a lot better than something silently going wrong, and just causing oddness later on that would take ages to unpick and debug. 12:21
12:22 ascent joined
jnthn Feel free to file a rakudobug anyway. 12:22
12:22 gdickie joined
jnthn Since it's in theory something that should never occur. 12:23
rakudo: role Maybe[::T] { }; say Maybe[Int].new() 12:24
p6eval rakudo 0d4fe0: OUTPUT«()<0xb69cc438>␤»
jnthn rakudo: role Maybe[::T] { role Foo { } }; say Maybe[Int].new()
p6eval rakudo 0d4fe0: OUTPUT«()<0xb69a62f8>␤»
jnthn rakudo: role Maybe[::T] { role Foo[T $] { } }; say Maybe[Int].new()
p6eval rakudo 0d4fe0: OUTPUT«Potential internal error: bindability check may have done more than just binding.␤()<0xb696cea8>␤»
jnthn heh
Anyway, I suspect Rakudo * may well just forbid nesting other packages inside roles. 12:25
12:25 synth joined 12:28 ascent_ left
masak fair enough. 12:29
masak submits rakudobug
12:31 M_o_C joined 12:32 yath_ is now known as yath 12:35 xomas joined
guest_007 rakudo: say ((localtime)[3..5]).perl; 12:39
p6eval rakudo 0d4fe0: OUTPUT«Could not find non-existent sub localtime␤»
guest_007 rakudo: bless me some time object 12:40
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "object"␤in Main (src/gen_setting.pm:3390)␤»
masak rakudo: say time 12:41
p6eval rakudo 0d4fe0: OUTPUT«1250426510.23988␤»
masak rakudo: say Time.gmtime 12:42
p6eval rakudo 0d4fe0: OUTPUT«2009-08-16T12:42:50+0000␤»
12:49 alester joined 12:52 carlin is now known as carlin_, carlin_ is now known as carlin 12:55 alester left 13:05 zloyrusskiy joined 13:06 masak left 13:07 ZuLuuuuuu left, ZuLuuuuuu joined 13:10 ZuLuuuuuu left, ZuLuuuuuu joined 13:16 missingthepoint joined, xomas left 13:18 zloyrusskiy left 13:26 finanalyst left 13:28 masak joined 13:31 zloyrusskiy joined 13:34 frew joined 13:41 pmurias left 13:45 szabgab left 13:49 frew left 13:52 bpetering joined 13:59 zloyrusskiy left 14:05 missingthepoint left, jan_ left 14:11 takadonet1 joined
takadonet1 hey all 14:11
14:11 jaldhar joined
bpetering hey takadonet1 :) 14:12
phenny bpetering: 12 Aug 09:13Z <moritz_> tell bpetering there are no really urgent tasks in the test suite right now. Anything mentioned in the t/spec/TODO file is worth doing...
bpetering: 12 Aug 09:15Z <moritz_> tell bpetering if you understand regexes (partly) there are many things in S05 that need better coverage and aren't all that complicated
takadonet1 shit, looks like I left my irc on at work....
14:14 KyleHa joined
colomon rakudo: my Int $a = 1; $a.perl.say; 14:19
p6eval rakudo 0d4fe0: OUTPUT«1␤»
colomon rakudo: my Int $a = 1; $a.perl.eval.say;
p6eval rakudo 0d4fe0: OUTPUT«Method 'eval' not found for invocant of class 'String'␤»
colomon rakudo: my Int $a = 1; eval($a.perl).say; 14:20
p6eval rakudo 0d4fe0: OUTPUT«1␤»
KyleHa Colomon: You might be interested in dev.pugscode.org/browser/t/spec/S02...les/perl.t 14:24
colomon KyleHa: I was just experimenting to see how to use eval and perl together, so I could write a proper test for a .perl method I wanted to write. 14:27
14:27 takadonet1 left
colomon But thank you for a pointer to the proper spot in the docs so I can double check I am I doing it correctly. KyleHa++ 14:27
Actually, is .perl intended to work automatically for classes in the future? Or will each class have to implement its own? 14:28
masak colomon: that's a good question.
colomon: what do you think? 14:29
rakudo: sub foo($n) { say $n; return if !$n; eval("foo({$n-1})") }; foo(1000)
p6eval rakudo 0d4fe0: OUTPUT«1000␤999␤998␤997␤996␤995␤994␤993␤992␤991␤990␤989␤988␤987␤986␤985␤984␤983␤982␤981␤980␤979␤978␤977␤976␤975␤974␤973␤972␤971␤970␤969␤968␤967␤966␤965␤964␤963␤962␤961␤960␤959␤958␤957␤956␤955␤954␤953␤952␤951␤950␤949␤948␤947␤946␤945␤944␤943␤942␤941␤»
colomon It's not much work to implement on your own.
masak colomon: true.
colomon: then again, providing a sensible default sounds kinda neat, too.
colomon But it seems like it would also be pretty easy to automatically dump the member variables in a default-style new call.
masak right. 14:30
KyleHa I wonder what .perl does with a socket or file handle.
masak rakudo: say open('README', :r).perl
p6eval rakudo 0d4fe0: OUTPUT«operation not permitted in safe mode␤in Main (lib/Safe.pm:25)␤»
masak dang. :)
colomon I wonder if it would be possible to code a role which uses introspection to the do the right thing for straightforward classes...
KyleHa Says "IO.new()" here. 14:31
colomon So it's the default class behavior. 14:32
Filehandles seem like something for which this can't possibly work (in general)? 14:33
KyleHa Right.
I can serialize a straight struct, shove it over the network to the other side of the world, and reconstitute it just as it started out, but you'll never do that with an open file handle. 14:34
Now that I've said that, I'm trying to figure out how to do it. 14:35
jnthn rakudo: say $*IN.perl 14:39
p6eval rakudo 0d4fe0: OUTPUT«IO.new()␤»
bpetering KyleHa: what kind of state do filehandles keep currently? would there be a way to make them keep (i.e., store) all mutating method calls and their args in order? 14:41
14:42 KyleHa left
bpetering because you can't just store internal state, you have to have a way to reconstitute state within the surrounding environment 14:43
a filehandle is somewhat like a closure in that regard - it has state it gets from its surroundings 14:44
colomon rakudo: my Code $a = -> $a { $a * $a }; say $a.perl; 14:45
14:45 KyleHa joined
p6eval rakudo 0d4fe0: ( no output ) 14:46
14:46 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner
colomon rakudo: my Code $a = -> $a { $a * $a }; (1..4).map($a).perl.say; 14:46
p6eval rakudo 0d4fe0: OUTPUT«[1, 4, 9, 16]␤»
colomon rakudo: my Code $a = -> $a { $a * $a }; say $a.perl; 14:47
p6eval rakudo 0d4fe0: OUTPUT«{ ... }␤»
KyleHa I think the ultimate barrier to serializing a file handle is if it's reading from a pipe that's essentially infinite.
masak or potentially infinite.
KyleHa Other than that, you can basically read the file and wrap it up in something that will pretend the file is still there whether it is or not. 14:48
bpetering What if you require it to be there?
colomon yow, I hadn't thought of just including the entire file in the string. crazy.
KyleHa bpetering: Then there are some filehandles you can .perl and some you can't. 8-) 14:49
...which is the same as what I was describing, more or less.
bpetering (Does it make sense to deserialize a filehandle in an environment which hasn't the file the handle has?)
Wow, that was obtuse. "Which doesn't have the required file" 14:50
14:52 nihiliad joined
bpetering (And i don't think "obtuse" is the right word. I've just moved my machine and setup into a freshly painted room. Beware.) 14:52
masak "Perl 6: developed by people who sniffed paint!" 14:53
bpetering KyleHa: is that such a bad thing? (Sometimes can .perl, sometimes can't) 14:54
I think .perl on closures doesn't currently give you anything useful *all* the time.
14:54 zloyrusskiy joined
bpetering masak: Congratulations, you just won the slogan contest! :) 14:55
colomon bpetering: does it *ever* give you anything useful on closures?
KyleHa bpetering: It's fine with me. I think .perl will have to have limits. I just want them to be not surprising.
masak bpetering: I sincerely hope I didn't. :)
colomon KyleHa: And hopefully have the limits be as generous as reasonably possible. 14:56
KyleHa colomon: Agreed.
jnthn colomon: I expect .perl on closures will become more useful.
14:56 zloyrusskiy left
jnthn I think what we can dow ith .perl on file handles is probably a little more limited. 14:56
bpetering colomon: Agreed (2nd), that's what I'm saying (1st) 14:57
jnthn: I would love something useful from .perl on closures, but have no idea how hard that is in implementation terms. 14:58
14:59 zloyrusskiy joined
jnthn bpetering: Naive impl is not so hard. 14:59
bpetering As always, it's the edge cases which are hard? 15:00
15:01 carlin left, jan_ joined
colomon bpetering: Sure -- like the closure that references a filehandle, I'm presuming.... ;) 15:02
jnthn bpetering: Well, more that doing it efficiently may be harder. 15:03
KyleHa my $a = 1; my $c_str = { $a + 1 }.perl; $a++; # is $c_str.perl.() 2 or 3? 15:04
jnthn I mean, we know from the type if it's a method/sub/submethod/block, we can .perl its signature object, we know it's .name, and so forth. But there's probably nothing better to do with the stuff inside the block than just stash away a copy of the original source.
KyleHa Oops, I wrote that wrong.
jnthn Which we can easily get hold of, but it'd be more efficient to store the lot in one blob and index into it, I suspect. 15:05
KyleHa The question I was asking was whether a stringified closure would do what it would have done when it was stringified or whether it does what it would do upon eval. 15:06
jnthn Heh, I'd never seen .perl on a closure as giving you captures of the actual lexical state...
bpetering colomon: i grasp your point ;)
jnthn That *is* harder. :-)
KyleHa A stringy thunk or a stringy closure, I guess.
jnthn But anyway, what comes out of .perl should be feedable to eval in general. 15:07
For stateless things, they'll be equivalent. For things with state, well, that's kinda more interesting. :-) 15:08
bpetering jnthn: that makes sense to newbie-me, to maintain the definition of .perl's retval as "an eval()able piece of code" 15:09
doesn't the discussion of serializing filehandles have implications for/play into that ("things with state")? 15:12
jnthn Yes. 15:13
bpetering To be clearer, I think the question of "how much lexical state" is central, because the filehandle question is a sub-question of that
(i.e., if minimal lexical state, one can get away with a naive impl :) 15:14
jnthn In a sense, .perl is just a serializer, along the lines of Data::Dumper in Perl 5, with the deserialization function being eval.
I haven't see anything in the spec to make me think that .perl'ing a closure should give you anything more than just the source of the closure. 15:16
And if you try and go beyond that it's a huge kettle of fish.
bpetering jnthn: so "just a serializer" lets us avoid the question of lexical state? (to an extent)?
jnthn I think so, yes.
Otherwise you start having to ponder just how far we go.
colomon Is there anything in the spec to make you think .perl a closure gives you more than {...}? I wasn't able to find much on .perl this morning (which is how this conversation started...) 15:17
bpetering jnthn: maybe it's not specced, but is there a good reason we shouldn't do anything with lexical state if it's a) possible and b) useful? 15:18
(I'm not big on computational theory yet, so I don't know if it's possible.) 15:19
jnthn Well, here's spec:
Returns a perlish representation of the object, so that calling C<eval>
on the returned string reproduces the object as accurately as possible.
bpetering (And I was about to write those last 2 points as a ludicrously parenthetical statement, so I'm going to get some fresh air :D 15:20
(2 mins)
wolverian is the cperl-mode.el in util/ maintained by someone nowadays?
15:21 lucs joined
jnthn bpetering: Well, I guess maintaining lexical state really properly somewhat implies re-attatching the block to the outer scope it was capturing before we .perl'd it. And not just the outer scope at a block level, but at an invocation record level. That's just kinda...well...full of issues. :-) You could try and instead save copies of all the state as it was, but that'd make the .perl output kinda non-trivial to follow...possibly a useful debugging aid tho 15:25
But once we get into this kind of realm, part of me always feels it's time to say "OK, that's for a module".
I'd rather the default was something where it's fairly easy to draw a line and say "that is what you can expect". 15:26
masak aye. 15:27
wolverian it doesn't run on my emacs 23, but I don't have enough elisp-fu to fix it. :( 15:28
jnthn Gah, it's too hot here to be bothered to do *anything*. 15:29
15:29 KyleHa left 15:31 SmokeMachine left
colomon jnthn: Where is that "as accurately as possible" language found? I don't see it in S02 "Names and Variables". 15:32
masak rakudo: sub foo(Callable &app) { say &app({ greeting => "OH HAI" }) }; foo( sub (%env) { %env<greeting> } ) 15:34
p6eval rakudo 0d4fe0: OUTPUT«OH HAI␤»
masak brain-wringingly convoluted. :)
jnthn colomon: S32 15:35
I'm surprised that got past a type check. 15:36
colomon jnthn++ Don't know how I missed that, I was that close to it back when I started this...
wolverian say app greeting => ...; and foo(-> *%env { ... }) might work too, I think, and looks a bit nicer
jnthn rakudo: sub foo(&x) { say "ok" }; foo({ say "lol" }) 15:37
p6eval rakudo 0d4fe0: OUTPUT«ok␤»
jnthn rakudo: sub foo(Int &x) { say "ok" }; foo({ say "lol" })
p6eval rakudo 0d4fe0: OUTPUT«Parameter type check failed; expected Callable[Int], but got Block for x in call to foo␤in sub foo (/tmp/mAvBVqmkYz:2)␤called from Main (/tmp/mAvBVqmkYz:2)␤»
jnthn rakudo: sub foo( &x) { say "ok" }; foo({ say "lol" })
rakudo: sub foo(Callable &x) { say "ok" }; foo({ say "lol" })
masak wolverian: correct. I'm optimizing for other things than niceness right now. :)
p6eval rakudo 0d4fe0: OUTPUT«ok␤»
jnthn wtf 15:38
rakudo: sub foo(&x) { }; say &foo.signature;
p6eval rakudo 0d4fe0: OUTPUT«Signature()<0xb5640ba8>␤»
jnthn rakudo: sub foo(&x) { }; say &foo.signature.perl;
p6eval rakudo 0d4fe0: OUTPUT«:(x)␤»
masak something wrong?
jnthn rakudo: sub foo(Callable &x) { }; say &foo.signature.perl;
p6eval rakudo 0d4fe0: OUTPUT«:(x where all(Callable))␤» 15:39
jnthn :-/
masak please state the nature of your medical emergency.
jnthn masak: Callable &x should mean I can only pass something that does Callable[Callable]
masak submits rakudobug
jnthn Damm, just when I think I've got something right. 15:40
wolverian is the type parameter the return type?
jnthn wolverian: :(&x) is equivalent to :(Callable $x)
wolverian right, I mean what does Callable[Foo] mean
jnthn wolverian: :(Callable &x) should thus be equivalent to :(Callable[Callable] $x) 15:41
The type parameter indicates the return type constraint.
wolverian as I said, then. thanks. :)
jnthn rakudo: sub foo returns Int { }; sub bar returns Str { }; multi m(Int &x) { say 1 }; multi m(Str &x) { say 2 }; m(&foo); m(&bar); 15:42
p6eval rakudo 0d4fe0: OUTPUT«1␤2␤»
jnthn So you can multi-dispatch like that. :-)
rakudo: sub foo returns Int { }; sub bar returns Callable { }; multi m(Int &x) { say 1 }; multi m(Callable &x) { say 2 }; m(&foo); m(&bar);
p6eval rakudo 0d4fe0: OUTPUT«1␤2␤»
jnthn meh, well, at lesat the multi-dispatcher cares... :-) 15:43
Oh...I bet there's something in the signature binder for HLL interop that says "if this thingy came from outside of Perl 6 and we're looking for a Callable and it's a Parrot-level sub then it'll do", and it doesn't bother looking to see that we're just looking for Callable[], not Callable[SomeT]. 15:44
So thankfully, that can probably be fixed without too much trouble. 15:45
jnthn was dreading some deep nastiness in nestings parametric roles... 15:46
...nestings of...
15:49 frew joined 16:00 kane_ joined 16:03 payload joined 16:04 molaf joined 16:28 shinobi-cl joined
shinobi-cl hi 16:28
masak shinobi-cl: o/ 16:29
shinobi-cl: does the 'cl' in your nick stand for "Common Lisp"? 16:30
shinobi-cl i was following the following thread : www.thezeitgeistmovement.com/joomla...;id=165373
no, is ChiLe :)
masak ah.
shinobi-cl well, the thing is, they are talking about modelling materials. i.e.: gold, lead, wood... any industrial material
and some guy mentioned perl6, specifically ROLES 16:31
masak yah, I see. impressive.
shinobi-cl butm the thing is, they want to store the roles in some database, and i was wondering.. is the is any way to create roles based on stored data
masak people know about Perl 6.
16:32 frew left
masak the state of the art in databases in the Perl 6 world is not very far evolved, I'm afraid. 16:32
shinobi-cl hehe, yes, the good thing is that they have found an application for those features... or at least are thinking in terms of things most languages dont provide yet
16:32 alester joined
shinobi-cl yes, but, it should be possible to construct the roles based on stored data? 16:32
jnthn Yes 16:33
shinobi-cl or, if the want to change "gold" role, for example, they will have to edit the source code?
jnthn This is what the meta-model in Perl 6 provides for.
At the moment though, Rakudo's support for this is weak.
But we're getting closer. 16:34
shinobi-cl ahh, could you direct me to the docs for that?
jnthn Well, the spec is kinda hazy... The best we really have at the moment is the HOW API section in www.perlfoundation.org/perl6/index....mop_oo_api
You can see there's things like add_method, add_attribute... 16:35
I'm expecting these will enter S12 at some point. 16:36
shinobi-cl mmmm i see.... great, thanks :) That, together with RDF could b
...could make a very interesting application
well.. gotta read some docs now... thanks, and bye
jnthn welcome, have fun :-)
Phew, it's cooling down a bit here. 16:37
masak: BTW, a while back you mentioned that Korean has a very logical and well designed writing system.
masak: I'm learning to read it now, and I have to say I agree. :-)
masak jnthn: yes, it's amazing.
kudos on learning to read it. I've made one half-hearted attempt a few months back. 16:38
even a half-hearted attempt had some pretty good results. :)
jnthn Well, the fact that I'm actually going to Korea is a good motivator. :-)
masak when're you going?
jnthn Late September. 16:40
I'm tacking a week and a half in South Korea onto the end of my trip to Japan. 16:41
The "excuse" for which is to attend YAPC::Asia, but actually I mostly just want to go wander around some new places. :-)
masak that's a reason as good as any. :) 16:42
jnthn I'm giving a couple of talks at YAPC::Asia...they're on the schedule. :-)
One is on Rakudo *.
masak nice. 16:43
jnthn "What on earth is paradise whatever?" ;-) 16:44
masak nice symmetry to that sentence :) 16:46
16:46 rfordinal left 16:48 pmurias joined 16:57 shinobi-cl left 16:58 SmokeMachine joined 17:01 alester left 17:03 shinobi-cl joined 17:07 alester joined
moritz_ rehi 17:07
17:09 neusse joined
masak lolitsmoritz 17:09
17:11 ZuLuuuuuu left
moritz_ it is, indeed 17:11
did you feel the sudden weight of total dominion sometime this weekend? 17:13
masak no, why?
moritz_ then you know that my prototype for world domination didn't work :/ 17:14
but I did code up something nice, give me a few minutes to push to github and publish the blog entry...
masak almost can't contain himself with excitement
moritz_ can't find the button for creating a new repo on github 17:16
masak moritz_: go to your profile page. 17:17
it's on the top right.
BinGOs There is a link next to the Your Repositories on your dashboard
masak right. that's a better way to say it. what BinGOs said. 17:18
17:18 kane_ left
moritz_ found it, thanks 17:18
17:18 alester left, alester joined
BinGOs Or you could use Net::Github or POE::Component::Github to create one >:) 17:19
moritz_ repo pushed, but the svn server which stores the file for my blog gives me a 403 :( 17:25
colomon Is there a way to define operator precedence for new operators yet? 17:27
moritz_ colomon: only by patching src/parser/grammar-oper.pg
colomon Ah. That's a bit more than I want to do this afternoon. :) moritz_++ 17:28
17:28 shinobi-cl left, Whiteknight left
masak Web.pm week 13 progress post: use.perl.org/~masak/journal/39475 17:33
17:37 payload left 17:40 alester left
jnthn yay a masakblog 17:42
masak those Web.pm posts seem to grow increasingly marathon-like. :/ 17:43
jnthn he swears! he swears! 17:45
masak++ # awesome post 17:47
masak thank you. :) did I swear?
oh! I forgot a Lolcat bible quote! I had a feeling I had missed something! o_O 17:48
masak runs to find one
jnthn Yes, you did, you cheating bastard. ;-0
oh noes! i needz mi kwote! 17:49
Especially as my alarm clock was in the wrong time zone and thus woke me up for church this morning an hour later than I needed to be up to make it...
masak I think I have a sufficiently pious quote, then. 17:53
17:53 tux_rocker joined
masak here, short but sweet: use.perl.org/~masak/journal/39475 17:54
jnthn :-D
17:56 simcop2387 left
spinclad .oO{ but doznt kittehs haetz baffsez? } 17:58
18:00 shinobi-cl joined
masak spinclad: oh, so now you're going to try and find holes in the story? :) 18:03
18:03 kane_ joined 18:08 shinobi-cl left 18:09 payload joined
spinclad just doesn't get how john the bapstical d00d could ever have got popular with the galil kittehs back then. i mean, we got josephus' word for it, but it seems pretty weird -- kittehs should have been avoid him in droves 18:11
gettin wet -- yukk!!1!
masak :) 18:13
times change, mores change.
spinclad .oO {U iz mai kittn. I lieks u an u iz so kyoot!} LOLOL 18:14
masak speaking of which, time to go hunt for food. &
18:14 masak left 18:15 simcop2387 joined
jnthn is a little disturbed that masak relates kittens and food. 18:18
18:26 tux_rocker left 18:27 huf joined
moritz_ rakudo doesn't build with latest parrot 18:32
because the Random PMC is gone 18:33
Matt-W doh
that's slightly irritating
jnthn dukeleto++ was working on a fix, I'm not sure what its status is
Random PMC apparently got replaced by dynops.
18:34 zloyrusskiy left
jnthn But then there's some issue in that it seems said dynops were not getting installed. 18:34
moritz_ rakudo: say 1 18:36
p6eval rakudo 0d4fe0: OUTPUT«1␤»
18:36 zloyrusskiy joined
Matt-W I do look forward to the day when we really do just track release parrots 18:36
jnthn finds it slightly unfortunate that comment was made while he's currenlty listening to "The Day That Never Comes" by Metallica... 18:39
moritz_ even when we do, somebody has to use svn HEAD to make sure that we find such things
dukeleto dynops are not properly being installed by parrot 18:40
jnthn dukeleto: Ouch. Did adding to MANIFEST.generated not help?
moritz_ dukeleto: can we get that fixed for the release? if not I'd suggest to temporarily re-add the Random PMC
jnthn Really need to fix it for the release. 18:41
dukeleto jnthn: that is next on my list, but something more basic may need fixin' as well
moritz_ currently rakudo is hosed.
18:41 PacoLinux left 18:42 zloyrusskiy left
dukeleto trac.parrot.org/parrot/ticket/925 tracks this issue 18:42
moritz_ I bumped the priority to "critical", FWIW 18:47
uhm, at least I tried :)
18:54 alester joined 19:02 alester left 19:04 zloyrusskiy joined 19:11 shinobi-cl joined
pugs_svn r28005 | benmorrow++ | [Spec] Clarify behaviour of closure traits when an exception is thrown. 19:16
19:18 shinobi-cl left
pugs_svn r28006 | benmorrow++ | [t/spec] Tests for r28005 (closure traits and exceptions). 19:19
19:22 PacoLinux joined
wolverian renormalist: hey, do you know why cperl-mode.el in util/ doesn't workforme on emacs 23? I get 'File mode specification error: (void-function compilation-build-compilation-error-regexp-alist)' 19:24
19:26 zloyrusskiy left
renormalist wolverian: I have seen such warnings too, but only in the last weeks, not sure yet 19:30
wolverian: I got it to work usually by rebooting emacs
wolverian renormalist: okay. another question. is it synced against the latest cperl-mode? (no idea if it's still developed, actually.) 19:37
renormalist: how do you load the file in .emacs? (load "...")? that *does* give me the same error. 19:39
renormalist no it is not synced, and I suspect that the version I used is not the greatest. Unfortunately, keeping it in sync is a real mess for several reasons, all leading to merging monster diffs
wolverian yeah, that's nasty.
renormalist current version I used is 5.20, current upstream is 5.23 I AFAIR
anyway, I had discussions on YAPC::EU that motivated me to restart it again, this time with a plan and some git help for maintaining Ilyaz' versions in branches, etc. 19:40
wolverian sounds great.
renormalist I load it via, erm, wait ....
wolverian my elisp-fu is really weak, but I suppose I should learn it. 19:41
lisppaste3 renormalist pasted "how I load cperl mode" at paste.lisp.org/display/85487 19:43
renormalist I have never met someone yet, who had a chance in this particular elisp code 19:44
I had to converge everytime by starting with the low hanging fruits, then some cut'n'pate, and last some intuition 19:45
wolverian nope, that loading method gives the same error if I C-x C-f foo.pl
renormalist every time I think about it, like just now, I think it might be best to fork and refactor it, but then I would lose Ilyaz' stuff 19:46
hm, damn
wolverian GNU Emacs 23.1.50.1 (i486-pc-linux-gnu, GTK+ Version 2.16.1) of 2009-07-31 on lansones, modified by Debian
renormalist let me have a look, brb
wolverian thanks :) renormalist++
renormalist wolverian: damn, I'm soo behind, I just have 23.0.91.1, I try to get a newer emacs, it's for sure something there, and, waaah, cperl-mode upstream even made a jump from 5.x to 6.x, 19:56
renormalist read the changelog there
wolverian renormalist: ouch. 19:58
19:59 wolverian left 20:00 wolverian joined
wolverian that was the wrong button. 20:01
pugs_svn r28007 | moritz++ | [irclog] use camelia as logo 20:08
20:08 Lorn left 20:17 avi2702 left, molaf left
moritz_ KyleHa++ # amazing test work over the weekend 20:17
dukeleto moritz_: i may have made progess on the dynop issue 20:21
20:22 tak11 joined
dukeleto crosses fingers 20:22
20:29 abra joined 20:36 abra left
jnthn woo...new S26! :-) 20:40
dukeleto moritz: i think i got rakudo compiling against the latest parrot
let see if any tests fail :)
dukeleto does a dance for passing tests 20:43
moritz_ dukeleto++
lisppaste3 renormalist pasted "the important changelog in cperl-mode 5.24" at paste.lisp.org/display/85489 20:46
renormalist wolverian: It's probably the fixes around those changelog entries, anyway I do not know which diff they mean 20:47
Syncing it will solve it probably, I will try to do it during the next days, not sure about my tuits ... 20:48
dukeleto moritz_: github.com/leto/rakudo/commit/9256d...10c386f516 20:49
moritz: that commit requires the latest parrot rev (r40598) 20:50
moritz_ dukeleto: I'll cherry-pick it and bump build/PARROT_REVISION accordingly 20:51
dukeleto moritz_: sweet!
wolverian renormalist: hm, okay. could just look at the current HEAD too for that particular issue. 20:52
moritz_ it builds... 20:55
20:56 braceta joined
moritz_ dukeleto: when I run ./perl6 -e 'srand 0; say rand()' it gives me "Null PMC access in get_number()" 20:57
in method Any::rand (src/gen_setting.pm:359)
dukeleto moritz: that sucks
moritz_ aye
dukeleto moritz: obviously you guys don't have a test for that :)
moritz_ dukeleto: did you run 'make spectest'?
dukeleto moritz: nope :(
moritz_ I'd be surprised if we had no tests at all
dukeleto slaps self 20:58
renormalist wolverian: I will take the next minutes too try if I see some obvious diff...
moritz_ ah well, 'make test' only covers the *very* basics :)
dukeleto moritz: running make spectest now 20:59
moritz_ ah, there were some left-over accesses to '!random' 21:00
jnthn make test is what I use to know if I've *really* screwed up. ;-) 21:01
dukeleto heh, yeah, stuff is failing all over 21:02
21:03 melvoe joined
melvoe hi 21:03
moritz_ hi melvoe
melvoe would this be right "?:" or ":?"
moritz_ what are you talking about? 21:04
dukeleto: ok, I have a fix, just running spectest before committing 21:05
dukeleto moritz: looks like I forgot to modify the method version of srand
21:05 shinobi-cl joined
moritz_ dukeleto: I'll squash our commits to make it easier for bisecting 21:07
dukeleto moritz_: sounds good to me, I would like to take a look at what you did once you push
jnthn melvoe: In what context? 21:12
melvoe nay its fixed
thanks though 21:13
:LD
moritz_ ok, pushed. I didn't wait for all of spectest to finish, but rand.t and pick.t pass, which is a very good sign
(the context was perl 5 regexes, it seems)
melvoe right 21:14
dalek kudo: 5637208 | (Duke Leto)++ | (4 files):
Convert any-num to the rand/srand dynops

of 1.5 . This fixes the Rakudo build to use the dynamically loadable math ops instead. Plus changes by moritz:
   + bump build/PARROT_REVISION to r40598 where dynops installing is fixed
   + remove left-over usages of !random hll_global
Signed-off-by: Moritz Lenz [email@hidden.address]
21:19
kudo: 9959b21 | moritz++ | docs/ChangeLog:
[docs] mentioned installed parrot in ChangeLog
dukeleto moritz++ 21:20
moritz_ and dukeleto++ of course
dukeleto nice teamwork :)
jnthn moritz++ dukeleto++ # thanks! :-)
moritz_ indeed, some moaning, bitching and polishing by me, and the heavy lifiting by dukeleto++ ;-) 21:21
21:21 shinobi-cl left
moritz_ now if only my svn worked again and I could publish my last blog post... 21:22
(foreign adminstered servers)--
Matt-W reads about the new S26 and boggles 21:23
I really, really like some of this
Damian++
moritz_ I didn't read through it yet... 21:24
but I guess throwing away the limitation that POD must be parsable without a full Perl 6 grammar surely allows some cool stuff 21:25
jnthn moritz_: (foreign administered servers)-- indeed. In my experience, especially when managed by the oh so incompetent FastHosts from the UK. *sigh* 21:26
Matt-W I like the idea that you can write output modules which use the normal introspection tools to explore the class heirarchy, look at its associated documentation blocks and output a nice API reference
jnthn lost his svn repos for a while thanks to them just before YAPC...and mail access too... 21:27
Matt-W hmm I've heard of FastHosts
I'm... not with them
jnthn Matt-W: You anywhere good? 21:28
Matt-W got my own server
jnthn Ah, at home? 21:29
Matt-W no it's hosted in a data centre
a group thing with some friends
jnthn Ah, OK.
Sounds nice.
Matt-W although I don't do email there now, too much pain 21:30
jnthn I kinda need something that is vaguely looked after.
Matt-W email is just vastly more complicated than anything ever has any need t obe
21:33 davef joined
renormalist wolverian: still awake? yould you please try the fix to cperl-mode that I will just commit in a minute? (I need to git svn rebase first ...) at least it doesnt break my 23.0.x, maybe it even fixes something with your 23.1.x ... 21:34
wolverian renormalist: yes.
21:34 davef left
Matt-W -> bed & 21:34
21:35 shinobi-cl joined
shinobi-cl hi 21:37
i keep thinking about a way to model 'materials'. in a thread i saw sometime ago, there was a discussion about it and they mentioned perl6 roles as a solution. but something bugs me a little 21:38
for example. i want to model 'gold' and 'plastic', for example. and i might model gold as 'does valuable does conductor does maleable' but plastic could be 'does cheap does maleable' 21:40
the thing is, 'cheap' and 'valuable' are essentially the same thing, but with different magnitudes. So, i wonder, how to face this issue? 21:41
because it would be useful to ask 'is this material valuable?' 21:43
moritz_ if it's a gradual property (like cheap/valuable) don't make roles for it 21:44
a simple attribute will do 21:45
shinobi-cl i could have a single role called price with a magnitude of 1 for plastic or 1000 for gold, but then, it would be the same role.
moritz_ that's the idea for gradual things
just like you wouldn't want a separate variable for "cold" and "hot" temperatures
21:46 braceta left
pugs_svn r28008 | renormalist++ | cperl-mode.el: rx// global(ly)? 21:46
r28009 | renormalist++ | cperl-mode.el: cherry picked compilation-error-regexp-alist fix from 5.24
renormalist wolverian: now. r28009.
moritz_ shinobi-cl: and you can't meaningfully ask if something is valuable without specifying some kind of reference or context
shinobi-cl but for any property -lets talk now about electric conductivity- is also gradual. And certainly the behavoir should be different for conductor an not-conductor 21:47
moritz_ well, that depends on the abstraction level
shinobi-cl in the case i saw, it was 'what is the best material for building something' 21:48
moritz_ well, then an attribute 'price' would be helpful
because then you can calculate the amount of material you need, multiply by price, and search for a minimum 21:49
(and as a physicist I wouldn't give insulators, semiconductors and conductors different roles, just a property "conductivity", which might even by tunable) 21:50
shinobi-cl the idea is that the system offers you solutions based on the available materials. For example. If you want a 100 mts of conductor cable, you would be offered, for example, 1mt of gold cable, and 99 mts of copper, OR, 100 mts of copper cable. It was like, it offers you the best solution available based on stock.
21:52 samox joined
wolverian renormalist: works! thanks. :) 21:52
shinobi-cl mmm i see.. so, the roles wouldnt be of so mosh use in that case. Well, you should give an conductor role for every material, even if it has a factor of 1 conductivity or a factor of 1000
wolverian renormalist++
21:52 samox left
shinobi-cl s/mosh/much/ 21:52
jnthn Parametric roles may just give you a nice way to make the declarations look pretty. 21:55
shinobi-cl or a way to use some alias for those parametric roles?
renormalist wolverian: ok, nice. thanks for trying this cperl-mode at all 21:56
wolverian++
wolverian renormalist: huh. now I have another problem. the cperl array face doesn't seem to update when I configure it from the customization interface.
it's pretty weird that it doesn't inherit the font-lock-variable-name-face at all, actually, by default
renormalist wolverian: what happens if you font-lock-fontify-buffer explicitely?
wolverian hrm, it works now that I restarted emacs. 21:57
I'll try that now if it still refuses to update.
shinobi-cl example not-conductor=role conductor with conduction property <=0.00001 conductor with conduction 0.00001<property<=0.75 and superconductor with conduction property<0.75
wolverian renormalist: nope, neither the .pl file or the customization buffer update with font-lock-fontify-buffer 21:58
moritz_ shinobi-cl: that's somewhat arbitrary - why make such distinctions at all?
renormalist did it work without the latest patch from 5min ago?
wolverian I hadn't tried. 21:59
jnthn shinobi-cl: Well, what you described for not-conductor there is more a subtype. 22:00
wolverian uhh. now it started to work normally.
renormalist generally I know of some highlighting issues with the 5.20 version that the pugs version is based on
wolverian after I had called font-lock-fontify-buffer
shinobi-cl so we can filter materials easily. just by askign if an ojbect supports some role.
renormalist I know that I have explicit colring of hash/array faces in my custom.el
jnthn You can do similar syntactically with subtypes too.
wolverian well, okay, it updated the "cperl nonoverridable face", but _not_ the hash face. 22:01
shinobi-cl oh. goit
wolverian restarting fixes it, again.
renormalist wolverian: I also have a key for font-lock-fontify-buffer to refresh some of the "artificialy lazy" highlighting issues
shinobi-cl got to go now... see ya
22:01 shinobi-cl left
wolverian renormalist: right, but that doesn't help on my emacs for the hash and array faces. 22:01
moritz_ jnthn: akshually subset types are a very good idea here 22:02
though I still don't know if all such tests should be made with types 22:03
jnthn Not all, no
moritz_ I mean types are great and all, but Perl 6 offers other mechanism too
lisppaste3 renormalist pasted "renormalist's cperl-array-face in custom.el" at paste.lisp.org/display/85492
jnthn Well, a subset type really is just a way of giving a name to a bunch of requirements anyway. :-)
22:04 jferrero joined
moritz_ jnthn: now you sound just like TimToady ;-) 22:04
renormalist wolverian: I have the pasted lines in my .custom.el for maybe the same reason, I d only remember problems, not the details
wolverian yeah, that's probably the same reason. 22:05
renormalist wolverian: does it work "good enough" for now so that I can go to sleep? :-)
wolverian yes, it does. go to sleep. thanks. :)
renormalist :-) thanks
22:06 pmurias left
renormalist wolverian: feel free to email all problems you found, bugs will motivate me to restart the lost syncing 22:06
wolverian where to?
renormalist I already started some git housekeeping 22:07
wolverian: [email@hidden.address]
wolverian thanks, will do
renormalist wolverian: ok, good night
pugs_svn r28010 | renormalist++ | cperl-mode.el: (hopefully) minor detail from cherry picking v5.24 22:10
mikehh rakudo (5637208) builds on parrot r40599 - make test/make spectest (up to 28009) PASS - Ubuntu 9.04 amd64 (g++) 22:18
moritz_ mikehh++ 22:31
moritz_ -> bed
mikehh nite moritz_
23:01 tak11 left 23:29 baest left 23:30 MoC` joined, M_o_C left 23:32 _MoC_ joined, MoC` left 23:42 _MoC_ is now known as M_o_C 23:44 M_o_C left
mikehh rakudo (5637208) builds on parrot r40601 - make test/make spectest (up to 28010) PASS - Ubuntu 9.04 amd64 (gcc) 23:45
23:46 M_o_C joined 23:50 M_o_C left 23:58 melvoe left