»ö« 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! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
00:12 jferrero left 00:18 justatheory left 00:21 envi joined 00:26 risou joined 00:30 xabbu42 left 00:42 Chillance left 00:44 mfollett joined 00:50 QinGW joined 00:57 risou left, risou joined 01:02 risou left 01:05 mfollett left 01:22 Entonian left 01:29 ruoso joined 01:39 pythonian4000 is now known as pythonian4000afk 01:40 mfollett joined 01:44 justatheory joined 02:06 bbkr left, bbkr joined 02:17 jaldhar left, LaVolta joined 02:23 jaldhar joined 02:34 envi left 02:41 Italian_Plumber joined, tylercurtis joined 03:04 simcop2387 left 03:06 simcop2387_ joined, simcop2387 joined 03:07 simcop2387 left, simcop2387_ left 03:10 simcop2387 joined, simcop2387_ joined 03:11 simcop2387_ left, treed left 03:13 agentzh joined, am0c^ joined 03:15 jaldhar left 03:18 jaldhar joined 03:36 lamstyle left 03:37 nymacro joined 03:40 fod left 03:41 lamstyle joined 03:42 meppl left 03:48 meppl joined 04:06 am0c^ left, satyavvd joined 04:13 Italian_Plumber left 04:39 _sri joined 04:59 mfollett left 05:14 sftp left 05:31 mfollett joined 05:43 _kaare joined 05:46 tylercurtis left 05:57 justatheory left 06:00 Axius joined 06:13 wtw joined 06:15 Axius_ joined 06:18 Axius left 06:30 Axius_ left, Axius joined, aesop left 06:31 aesop joined 06:37 xabbu42 joined 06:38 am0c^ joined 06:46 Axius_ joined 06:48 Axius left 06:51 Axius_ left 06:54 Axius joined 07:07 Axius left 07:10 baux joined, mfollett left 07:19 Axius joined
diakopter hello, world 07:34
sorear Hello.
07:35 jaldhar left, jaldhar joined
nymacro hallo 07:37
07:42 Axius left 07:43 M_o_C joined 07:44 Axius joined 07:47 Axius left, Axius joined 07:50 jaldhar left 07:51 jaldhar joined 07:57 jaldhar left, jaldhar joined 08:01 Axius left, xabbu42 left, rgrau joined 08:02 Gothmog_ left, xabbu42 joined 08:05 cjk101010 joined, Axius joined 08:16 wamba joined 08:22 masak joined
masak morning, #perl6 08:22
jnthn lolitsmasak!
masak and lol, it's breakfast! 08:23
jnthn \o/
Trashlord sure is 08:24
colomon \o
08:24 nymacro left
sorear hi maska! 08:25
08:26 muixirt joined, Axius left 08:33 IllvilJa joined
diakopter wants breakfast at 1:30 a.m. 08:34
dukeleto likes breakfast Any time
dalek rixel: ddfc90e | diakopter++ | sprixel/ (4 files):
refactor the framebuilder to copy the framechain on

Lots of cleanup/documentation of that routine.
sorear "copy" the framechain? 08:36
I never considered such a thing
dukeleto has anyone considered making something like hoogle for perl 6? 08:43
diakopter googles hoogle 08:44
dukeleto diakopter: it basically is a search engine of haskell function signatures 08:45
diakopter so I see.
dukeleto diakopter: you give it a signature, it shows you all function that have that signature
diakopter it's neat
08:45 dju joined
mathw Morning 08:46
sorear oh yeah hoogle. I remember laughing at ndm when he proposed that and calling it useless.
mathw dukeleto: I always get confused - Hayoo is not the same as Hoogle, is it? (useful though)
diakopter sorear: yeah, copying the framechain instead of doing traversals on every load/store of a local/arg. 08:47
sorear diakopter: Have you considered using a display? 08:48
diakopter sorear: maybe, you'll have to help me out with your CS terminology 08:49
dukeleto mathw: nope, hadn't seen that. very similar though
08:49 dju left 08:50 dju joined
masak dukeleto: been wanting to explore the idea of a Perl 6 hoogle, but haven't actually done so. 08:51
08:51 cls_bsd left, cls_bsd joined
masak as with everything else, starting small and getting something to work quickly is probably the ticket. 08:51
dukeleto masak: it could be a useful interface to the periodic chart of operators 08:52
diakopter sorear: ok, I read about them some.. how is the framechain not already a display? 08:53
sorear because it's a chain
masak dukeleto: here's where I muse about it last time: irclog.perlgeek.de/perl6/2010-09-12#i_2816117
08:53 daxim joined
sorear a display is a compromise implementation 08:54
diakopter sorear: it's only a chain conceptually. it's implemented as a hidden class with a slot for each outer frame.
08:54 Gothmog_ joined
diakopter sorear: basically an array of pointers 08:54
sorear diakopter: so frame.outer5.field?
diakopter right.
sorear that's called ... a display 08:55
diakopter oh goody.
hence my question :)
dukeleto masak: a perl 6 hoogle is indeed a great idea. I will think about how to get a small but usuable version implemented. 08:57
masak ++dukeleto
jnthn Can easily parse out all the siggies using the Perl 6 grammar with custom akshun methods. 09:02
masak I wonder how much post-processing will need to be made. 09:03
there's also the tricky question of expectations versus reality.
if I enter 'Str --> Array', for example, I might expect &split to fall out. but &split is more like 'Cool, Cool --> List' 09:04
09:07 [mark] joined 09:08 dakkar joined
dukeleto masak: i guess a search filter can be strict or transitive, or some other fancy word 09:12
09:16 lamstyle left
masak this is just a guess, but it probably needs to be non-strict in two ways: 09:17
(1) allowing for more parameters in the result than in the search (Hoogle already does that) 09:18
(2) applying some type fudging so that people typing in 'Array' get 'List' results, and people tying in 'Str' get 'Cool' results as well
results can be sorted according to some metric of how much fudging of different kinds was needed. 09:19
09:20 lamstyle joined 09:23 masak left 09:32 am0c^ left
sorear rakudo: role Stop[$str] { method stop { $str } }; (2 but Stop["hi"]).stop.say 09:34
p6eval rakudo 970243: OUTPUT«hi␤» 09:35
09:38 dju left 09:48 nadim left 09:49 Mowah joined 09:50 cls_bsd left, cls_bsd joined, nadim joined
sorear out 09:51
09:53 M_o_C left 09:57 pythonian4000afk is now known as pythonian4000 10:01 nymacro joined 10:07 QinGW left 10:10 Ross joined, sftp joined
mathw sits, quietly hating subversion 10:15
cxreg parrot? 10:21
10:24 Mowah left 10:28 LaVolta left 10:35 M_o_C joined
moritz_ good localtime 10:45
10:54 timbunce joined 11:07 oyse joined 11:13 pythonian4000 is now known as pythonian4000afk 11:16 _kaare left 11:19 ruoso left 11:22 Italian_Plumber joined 11:29 Italian_Plumber left 11:35 mikehh joined 11:37 envi joined 11:53 pnu joined
takadonet morning all 11:54
11:55 _kaare joined, masak joined
masak this seems to have been @gotofritz' reaction: twitter.com/gotofritz/status/26733215026 11:59
and more from @sixohsix: twitter.com/sixohsix/status/26733732601
11:59 pnu left
jnthn ...waiting? Nah, I'm patching. 12:01
Idiot.
masak :)
yeah, I don't feel like replying any more.
12:02 pnu joined
jnthn
.oO( I'm patchin', not bitchin' )
12:02
masak we're "touchy" about people disseminating lies about Perl 6? fair enough.
12:02 satyavvd left
rjbs It would be nice to have so much free time that I could waste it on bashing projects I don't care about. 12:03
...but I'd probably use that time for reading a book instead.
jnthn I find people who prefer to tear other people's work down rather than do something creative just rather sad. 12:04
masak I guess it underlies the mechanics behind trolling. easier to get reactions from people by being a jerk. 12:05
there's also a thin line between being actively mean and just being misinformed. it's easy to forget from within the echo chamber how little is known about Perl 6 on the outside. 12:19
12:28 tadzik joined
moritz_ rakudo: sub f { 1, 2, 4}; .say for f 12:29
p6eval rakudo 970243: OUTPUT«1␤2␤4␤»
moritz_ rakudo: sub f { 1, 2, 4}; .say for my $ = f
p6eval rakudo 970243: OUTPUT«1 2 4␤»
moritz_ rakudo: sub f { 1, 2, 4}; .say for (my $ = f).list 12:30
p6eval rakudo 970243: OUTPUT«1␤2␤4␤»
masak rakudo: sub f { 1, 2, 4}; .say for $(f) 12:31
p6eval rakudo 970243: OUTPUT«1␤2␤4␤»
masak hm.
that's the first one I consider wrong.
moritz_ wonders if m:g/x/ really desugars to do { $/ = $_.match(/x/, :g); $/.list }
masak: agreed
masak submits rakudobug
jnthn rakudo: sub f { 1, 2, 4}; .say for f.item 12:32
p6eval rakudo 970243: OUTPUT«1␤2␤4␤»
masak that one too.
jnthn same issue
$(...) calls .item
masak *nod*
12:34 agentzh left
moritz_ rakudo: say (my $ = (1, 2, 3)).PARROT 12:38
p6eval rakudo 970243: OUTPUT«Perl6Scalar->Seq␤»
moritz_ rakudo: say (1, 2, 3).item.PARROT 12:39
p6eval rakudo 970243: OUTPUT«Seq␤»
moritz_ that's the underlying problem
masak rakudo: say ($(1, 2, 3)).PARROT
p6eval rakudo 970243: OUTPUT«Seq␤»
masak yes, it's explicitly showing that what ought to happen isn't.
moritz_ our multi sub item(@values) { @values.Seq 12:40
}
jnthn What would cause it to be containerized?
moritz_ let me just say "hu"
masak by all means.
moritz_ (and jnthn++ last touched this code, in March) 12:41
12:41 bluescreen joined
jnthn Huh, that'd mean it pre-dated the last list refactor... 12:42
moritz_ correct
jnthn In that caes it may well be bogus.
moritz_ (unless git blame is playing tricks on my)
jnthn No way of knowing if pmichaud++ missed it or chose to leave it as it is. 12:43
moritz_ jnthn: how would a correct wrapping in Perl6Scalar would look like?
jnthn moritz_: Good question.
12:43 Trashlord left
jnthn moritz_: I mean, one way is to assign it to one. 12:43
masak rakudo: sub is-palindrome($s) { $s eq $s.flip }; say is-palindrome('[]][') # pkrumins++, twitter.com/pkrumins/status/26744178147
p6eval rakudo 970243: OUTPUT«Bool::True␤»
jnthn But I think return is meant to decontainerize if it's not an l-lvalue sub.
masak I bet lue++ will like that one. :) 12:44
jnthn For now though it'd just work to change it to (my $ = @values.Seq) I guess
And then it'd return the container.
masak aye.
moritz_ jnthn: I don't quite understand the relation between itemization and containerization... care to explain?
and why .Seq?
jnthn I see them as orgnogonal. 12:45
moritz_ why not just my $ = @values ?
jnthn Because in the previous list model a parcel would become a Seq in item context.
moritz_ but in this list model, there's no reason for it?
jnthn As I said, it may be bogus.
No idea.
moritz_ ok
jnthn I'm the wrong person to ask.
moritz_ asks pmichaud 12:46
jnthn Hopefully pmichaud++ will get around to documenting the new list model soon. :-)
12:46 ruoso joined 12:53 cirne100 joined 12:54 cirne100 left 12:56 Mowah joined 13:03 tylercurtis joined, tylercurtis left 13:04 masak left 13:05 mfollett joined 13:10 spinclad_ is now known as spinclad
mfollett rakudo: my @fib := (0,1,*+*...*) 13:14
p6eval rakudo 970243: ( no output )
mfollett my @fib := (0,1,*+*...*); say @fib[3]
hrrm…didn't that used to work? 13:15
takadonet it does.... 13:18
takadonet looks at moritz_ and masak
13:18 Patterner left 13:19 IllvilJa left, dual left
moritz_ looks back 13:21
13:22 M_o_C left
moritz_ seen smash 13:23
aloha smash was last seen in #parrot 7 days 19 hours ago saying "github.com/mirrors/perl/tree/perl-1-maint".
moritz_ that's the URL I was looking for :-) 13:24
tadzik rakudo: my @fib := (0,1,*+*...*); say @fib[3] 13:30
p6eval rakudo 970243: OUTPUT«2␤»
tadzik it does
rakudo: my @fib := (0,1,*+*...*); say @fib[30]
p6eval rakudo 970243: OUTPUT«832040␤»
13:30 Psyche^ joined, Psyche^ is now known as Patterner
mfollett If I just put 'my @fib := (0,1,*+*...*)' in the REPL it takes a bit and segfaults in * 2010.09, if I do 'my @fib := (0,1,*+*...*);say @fib[30]' then it works just fine 13:39
nymacro mfollett, probably because it is trying to output the result of the assignment on the REPL 13:40
mfollett nymacro: oh, hahah, that would make sense 13:41
nymacro++
13:42 flatwhatson_ left 13:43 flatwhatson_ joined 13:45 tadzik left 13:47 mfollett left
shortcircuit Is there a PIR implementation on top of JavaScript? I'd be nice to have an in-browser REPL. 13:48
Otherwise, is there anything PIR depends on that would make such an implementation impossible?
moritz_ you need much more for running Rakudo than PIR 13:49
you need all the built-in PMCs, all the rakudo PMCs, all the opcodes...
shortcircuit Mm.
moritz_ the problem is that it'll be *very* slow 13:50
13:50 PerlJam joined
shortcircuit wonders what the shortest path to getting a working client-side, in-browser P6 REPL would be. 13:50
moritz_ it's probably much better to translate to JS on the POST level
13:50 justatheory joined 13:51 mavrc joined 13:55 justatheory left 14:00 mfollett joined 14:01 wtw left 14:02 estrabd_amf is now known as estrabd 14:08 tadzik joined 14:18 nymacro left 14:21 MayDaniel joined 14:33 FurnaceBoy left 14:41 cjk101010 left
pmichaud good morning, #perl6 14:43
moritz_ oh hai pmichaud 14:44
colomon \o
moritz_ I implemented ss///, and then noticed that we don't have a 'samespace' function as backend yet :/
14:47 kjeldahl joined 14:48 jaldhar left
moritz_ rakudo: say 'abc'.samecase('XYZ') 14:51
p6eval rakudo 970243: OUTPUT«ABC␤»
14:53 mfollett left
colomon rakudo: say 'abc'.samecase('XyZ') 14:54
p6eval rakudo 970243: OUTPUT«AbC␤»
colomon rakudo: say 'abc'.samecase('ZyBot')
p6eval rakudo 970243: OUTPUT«AbC␤» 14:55
colomon rakudo: say 'abcd'.samecase('ZyBot')
p6eval rakudo 970243: OUTPUT«AbCd␤»
14:57 dual joined 14:58 tadzik left 15:02 kjeldahl left
dalek kudo: 0dc4b80 | moritz++ | src/Perl6/Grammar.pm:
A step towards handling ss///.

This wires up the adverb generation for ss///, but doesn't introduce a Cool.samespace() method yet, which is necessary as the backend.
Includes a small refactor of compile time adverb handling.
15:03
15:04 kjeldahl joined, daxim left 15:09 risou joined, alester joined 15:14 justatheory joined 15:19 smash joined
smash hello everyone 15:20
moritz_ \o smash
idea for the next "weekly" challenge: github.com/moritz/perlgeek.de/blob/...espace.txt
any comments?
pmichaud looking 15:22
looks great 15:23
moritz_ thanks
pmichaud I'm spectesting a fix for Parcel.item now.
moritz_ (for looking)
smash updated gil.di.uminho.pt/users/smash/rakudo-bench.html with the new rakudo star release 15:24
moritz_ so .pick got faster, and everything else a bit slower? 15:25
pmichaud I'm guessing strings got slower 15:26
but that's really a guess
moritz_ startup time seems to be constant 15:27
smash i might run the script again during the night, to make sure nothing interefered with it last time i executed it
15:27 risou_ joined
smash moritz_: the graph scale can play nasty tricks here 15:28
moritz_ actually startup time improved by nearly 10%
pmichaud well, the numbers tell the tale
it looks like the heavy scripts are running about 10% slower than previously
15:29 justatheory left, risou left
pmichaud are there instructions somewhere about how to reproduce the numbers in these charts? 15:29
smash pmichaud: not yet, it's just a bunch of stupid scripts
pmichaud oh, the other thing that might've changed is gc 15:30
smash: how many times do you run each script?
oh, 10. 15:31
pmichaud reads the page :-)
smash yes, 10 times
that's why it takes hours and hours to run 15:32
moritz_ pmichaud: I think the biggest GC changes were included after the parrot release
pmichaud okay
smash pmichaud: but i'm open to suggestions on how to run it 15:33
15:33 justatheory joined 15:34 kjeldahl_ joined
moritz_ perlgeek.de/blog-en/perl-6/contribu...space.html lolIblogged 15:35
colomon smash++ 15:37
sorry I haven't gotten around to adding more benchmarks yet.
smash colomon: i haven't had the time to improve the harness yet :(
15:39 oyse left, kjeldahl left 15:40 kjeldahl_ left 15:50 plainhao joined
dalek kudo: 5ce8fcf | pmichaud++ | src/builtins/Parcel.pir:
Make sure Parcel.item returns an itemized Seq. Addresses RT #78284, but it also seems to expose a bug in either .trans or S05-transliteration/trans.t .
15:51
flussence so I went and did something useful: gist.github.com/617012 15:54
pmichaud seems expensive, though 15:56
moritz_ flussence: I'd prefer a solution that doesn't use s/// or .subst internally
pmichaud why not just comb self for \S+\ and then stitch it together ?
15:57 mfollett joined
pmichaud [~] self.comb(\S+) Z $other.comb(\s+) 15:57
oops, need /'s
moritz_ modulo length limits
Z stops at the shortest list
pmichaud well, that can be fixed :-)
moritz_ sure; I just want to point out that it's not *that* trivial 15:58
pmichaud sure
I'm just saying that's far better than repeated substitutions :-)
and is the core of a better approach
what should happen in the case where self has more components than $other ? 15:59
moritz_ ws should be copied unchanged
flussence should leading/trailing whitespace be changed to match, or is it only the contents of each whitespace that matters? 16:00
moritz_ doesn't quite understand the question... example?
pmichaud rakudo: sub ss($str, $other) { ($str.comb(/\S+/) Z $other.comb(/\s+/)).join('') }; ss("a b c d", "x y\n\tz"); # first attempt 16:01
p6eval rakudo 970243: ( no output )
pmichaud rakudo: sub ss($str, $other) { ($str.comb(/\S+/) Z $other.comb(/\s+/)).join('') }; say ss("a b c d", "x y\n\tz"); # first attempt
p6eval rakudo 970243: OUTPUT«a b␤ ␤»
flussence If I had ' a\tb'.samespace('x\ny z'), should it come out as 'a\nb' or '\na b'?
pmichaud flussence: the latter 16:02
moritz_ pmichaud: we want to attract new committers, not activate overworked ones :-)
pmichaud moritz_: but the overworked ones need -Ofun too :)
flussence ok, that sounds much easier to implement
moritz_ pmichaud: sure :-)
16:02 cdarroch joined, cdarroch left, cdarroch joined
pmichaud and certainly I can prod the newer committers into an approach I'm more likely to accept :) 16:02
moritz_ rakudo: .say for [1, 2, 3].list 16:03
pmichaud perlcabal.org is still down?
p6eval rakudo 970243: OUTPUT«1␤2␤3␤»
Juerd pmichaud: Not that I know of.
moritz_ doesn't understand why that .trans test fails
16:03 MayDaniel left
pmichaud moritz_: I suspect it has something to do with the non-array pair being itemized now 16:03
moritz_ pmichaud: perlcabal works hear
Juerd pmichaud: Depends on what you mean, exactly, by the way. perlcabal.org in most contexts is an alias for feather1
moritz_ perlcabal.org/syn/ shows a nice HTML page 16:04
pmichaud oh, now it's working.
A second ago I was getting "cannot connect to server"
moritz_ rakudo: my $x = [1, 2, 3] => [4, 5, 6]; .say for $x.key.list
p6eval rakudo 970243: OUTPUT«1␤2␤3␤»
moritz_ rakudo: my $x = [1, 2, 3] => [4, 5, 6]; .say for $x.value.list 16:05
p6eval rakudo 970243: OUTPUT«4␤5␤6␤»
pmichaud I suspect those are unchanged
moritz_ pmichaud: the single pair is passed to a slurpy parameter, where its itemness shouldn't matter, IIRC
16:05 ruoso left
pmichaud it's not the pair itself, but the arguments 16:05
i.e.
moritz_ (yes, unchanged)
pmichaud rakudo: my $x = (<1 2 3> => <4 5 6>); .say for $x.key 16:06
p6eval rakudo 970243: OUTPUT«1 2 3␤»
pmichaud rakudo: my $x = (<1 2 3> => <4 5 6>); .say for $x.value
p6eval rakudo 970243: OUTPUT«4 5 6␤»
pmichaud rakudo: my $x = (<1 2 3> => <4 5 6>); my $y = ([<1 2 3>] => [<4 5 6>]); .say for $x.key.list; .say for $y.key.list; 16:07
p6eval rakudo 970243: OUTPUT«1␤2␤3␤1␤2␤3␤»
moritz_ that's the old rakudo version, and both seem fine to me
pmichaud rakudo: my $x = (<1 2 3> => <4 5 6>); my $y = ([<1 2 3>] => [<4 5 6>]); .say for $x.value.list; .say for $y.value.list;
p6eval rakudo 970243: OUTPUT«4␤5␤6␤4␤5␤6␤»
moritz_ rakudo: sub f($x) { return $x.list }; .say for f [1, 2, 3]
p6eval rakudo 970243: OUTPUT«1␤2␤3␤»
moritz_ rakudo: say [1, 2, 3] ~~ Iterable|Positional 16:08
p6eval rakudo 970243: OUTPUT«Bool::True␤»
pmichaud in the new rakudo, <1 2 3> as a key is being stringified, it seems. 16:09
moritz_ oh.
pmichaud rakudo: my $x = (<1 2 3> => <4 5 6>); my $y = ([<1 2 3>] => [<4 5 6>]); say $x.key.WHAT; say $y.key.WHAT; 16:10
p6eval rakudo 970243: OUTPUT«Seq()␤Array()␤»
pmichaud that's the difference between the two
moritz_ also say Seq()\nArray()\n here (with newest rakudo) 16:11
pmichaud right, but the question is one of item/list context (more)
rakudo: say "abcxyz".trans( <x y z> => <X Y Z> ); # part 1 16:12
p6eval rakudo 970243: OUTPUT«abcXYZ␤»
pmichaud rakudo: say "abcxyz".trans( Seq.new(<x y z>).item => Seq.new(<X Y Z>).item ); # part 2
p6eval rakudo 970243: OUTPUT«abcXYZ␤»
pmichaud huh
moritz_ rakudo: my $x = (<1 2 3> => <4 5 6>); my $y = ([<1 2 3>] => [<4 5 6>]); say $x.key.PARROT; say $y.key.PARROT; 16:13
p6eval rakudo 970243: OUTPUT«Perl6Scalar->Seq␤Perl6Scalar->Array␤»
moritz_ looks correct in both cases
and the same on the new rakudo
pmichaud locally: 16:16
> say "abcxyz".trans( < x y z > => <X Y Z> )
abcX Y ZAny()Any()
> my $x = (<x y z> => <X Y Z>); .say for $x.value.list; 16:17
X Y Z
moritz_ tries a simple fix by guessing 16:18
pmichaud > my $x = ((1,2,3) => (4,5,6)); say $x.value.list 16:24
4 5 6
> my $y = (a => (4,5,6)); say $y.value.list
456
o_O
> my $y = ('a' => (4,5,6)); say $y.value.list 16:25
4 5 6
looks like the problem is somewhere in the definition of &infix:«=>»
16:26 [mark] left
pmichaud gist.github.com/617072 # something to do with infix:«=>» 16:30
moritz_ hm... double Perl6Scalar somewhere? 16:32
pmichaud not finding one
and that shouldn't matter in the case of .list anyway
oh, very weird. 16:33
(nopasting)
gist.github.com/617081 # must be something in the binder 16:34
or in the attribute initializer 16:37
moritz_ ./perl6 -e '.say for (1, 2, 3).item.item.list # does what I expect it to do
ie three separate lines
pmichaud right
it's something to do with the pair constructor
16:38 baux left, MayDaniel joined
pmichaud gist.github.com/617088 # pair constructor changes sense of $value somehow 16:38
might be an issue with all constructors 16:40
gist.github.com/617092 # problem with generic constructor 16:41
moritz_ so to summarize, you can't successfully .list on something that's returned from an attribute 16:43
pmichaud that appears to be the current problem, yes.
which means the attribute isn't being initialized properly.
assignment works properly, though. 16:44
gist.github.com/617097 # assignment to an attribute works
moritz_ say XYZ.new(value => (1, 2, 3).item).value.list; 16:46
123
16:46 HarryS left, BinGOs left, BinGOs joined, BinGOs left, BinGOs joined 16:47 envi left
moritz_ it really needs to be passed to a sub to trigger the bug 16:47
pmichaud I'm guessing the problem is BUILD/BUILDALL
oh
I suspect BUILD/BUILDALL isn't properly dereferencing before binding
16:50 HarryS joined, MayDaniel left
pmichaud hmmm, that doesn't appear to be it either. 16:51
16:54 envi joined, envi left
moritz_ had this idea while listening to a podcast about designing board games 17:02
can you construct a board game where you build a meta object system 17:03
17:03 dakkar left
PerlJam moritz_: Perl 6 home edition? 17:03
moritz_ and in the end you get points if your system is powerful, but also if it integrates well with that of other players
PerlJam: I thought more that you have some cards that describe very basic behaviour, and you can combine them somehow
the problem is that I can't explain what a meta class is to at least 99.99% of the population 17:04
so I'd need to construct some problem space that's isomorphic to meta classes, but closer to the real world 17:05
moritz_ is now firmly convinced that he is crazy
PerlJam you know ... most games seem to be about competing with others. There need to be more games where you are rewarded for communicating and cooperating with the other players.
moritz_ there are lots of those
I know many games where you totally have to trade resources with other players to win 17:06
and that trade usually involves good communication
PerlJam "There need to be *more* games ..." :) 17:07
17:07 rgrau_ joined
moritz_ :-) 17:07
PerlJam and what does "win" mean anyway?
moritz_ (btw Germany has the biggest market world wide for board and card games) 17:08
PerlJam germany++
moritz_ PerlJam: it means marking one or more player with a virtual funny hat
PerlJam I think the whole idea of "winning" distorts people's thinking. They usually end up thinking of it in terms of "doing better than someone else" 17:09
17:10 araujo left 17:11 Trashlord joined
dalek ok: c66f847 | moritz++ | README:
[README] link to PDFs; maettu++
17:12
17:12 envi joined
flussence alright, I gave this another shot: gist.github.com/617012 17:15
gfldex PerlJam: "win" means that you played better then in the last round 17:16
moritz_ gfldex: only under some very narrow certain conditions 17:17
17:19 wamba left
PerlJam I win! The last time I compared notes with everyone, I had more children than anyone else, ergo, I win. ;) 17:20
PerlJam wonders when the next round starts ...
moritz_ flussence: I like this much better... I think the re-matching with m:nth can be avoided if you obtain match objects from .comb in the first place
flussence ooh, I hadn't thought of that 17:21
moritz_ .comb(:match, $regex)
17:22 kst joined
moritz_ wait, it's matching against the other string... 17:22
hm 17:23
another idea
PerlJam errands &
moritz_ first comb $other
then self.split with a limit of @new-spaces - 1
so you automatically get all excess spaces in the self in the last chunk 17:24
pmichaud right
that's what I'm trying now :)
17:27 araujo joined
pmichaud gist.github.com/617162 # samespace() using split and zip 17:27
17:27 risou joined
pmichaud probably want a +@new instead of @new in the split, though. 17:29
17:30 risou_ left
moritz_ pmichaud: seem to mistreat trailing spaces 17:33
pmichaud that's possible, definitely
anyway, anything that relies on :nth() I'd consider to be sub-optimal
moritz_ flussence++ # both versions 17:34
flussence++ # tests
17:35 timbunce left
pmichaud afk, lunch 17:39
17:41 timbunce joined 17:43 justatheory left 17:45 araujo left 17:46 M_o_C joined, araujo joined 17:49 MayDaniel joined 17:50 araujo left 17:51 araujo joined, araujo left 17:52 araujo joined
flussence
.oO( I wish vim had a "pipe syntax-highlighted text to stdout and exit" flag )
18:01
moritz_ flussence: Text::VimColor 18:02
flussence: you can easily write such a wrapper with that perl module 18:03
18:07 araujo left 18:08 araujo joined 18:12 plobsing left
flussence moritz_++ # that worked great! 18:15
one-liner I used, if anyone finds it useful: 18:16
cat samespace.p6 | perl -MText::VimColor -E 'say Text::VimColor->new(string=>join("", STDIN->getlines),html_full_page=>1)->html' | elinks -dump -dump-color-mode 1 -dump-width $COLUMNS
18:16 araujo left 18:18 araujo joined, araujo left
moritz_ flussence: I do the syntax hilighting on my blog with Text::VimColor 18:20
dukeleto moritz_: i was wondering what you did for that. It looks really good. 18:27
18:28 risou left, risou joined, Chillance joined
moritz_ dukeleto: it was a major decision point while chosing the blog system 18:30
18:39 mj41 left 18:44 mj41 joined
sorear good * #perl6 18:45
sorear is trying to think of a sane way to fake tweaks without implementing general multi methods
18:53 Trashlord left 18:58 bluescreen left 18:59 bluescreen joined 19:00 mfollett left
dalek rixel: 36d8db7 | diakopter++ | sprixel/ (2 files):
verify that simple arg binding works
19:03
rixel: c718fb3 | diakopter++ | sprixel/ (4 files):
verify closures can be perlesque locals.
19:04 plainhao left 19:09 HarryS left 19:10 HarryS joined 19:17 [particle] left 19:18 [particle] joined 19:19 kjeldahl joined, timbunce left 19:20 Trashlord joined 19:26 timbunce joined 19:28 risou_ joined 19:31 risou left 19:42 cogno joined 19:44 Trashlord left 19:47 Trashlord joined 19:48 ruoso joined 19:49 jtrag-AWAY joined
dalek rixel: 131f5e8 | diakopter++ | sprixel/ (3 files):
verify that recursive nested string eval works.
19:51
19:55 rgrau_` joined, rgrau_ left 19:57 jtrag-AWAY is now known as jtrag, takadonet left 20:11 Ross left, mfollett joined 20:13 rgrau_`` joined 20:14 MayDaniel left 20:15 M_o_C left
sorear uh, why does Rakudo have a Role class 20:16
20:16 mfollett left
sorear or rather, why is SomeRole ~~ Role 20:16
20:17 rgrau_` left, risou_ left
moritz_ because the spec mentions Role in several places? 20:17
20:18 risou joined, M_o_C joined
sorear I expected that SomeRole.HOW ~~ Role 20:18
20:22 risou left 20:23 mfollett joined
sorear I don't see any mention of Role outside of S32 20:24
20:24 Ross joined, Ross left, Ross joined 20:25 timbunce left 20:26 rgrau_`` left 20:27 cogno left
moritz_ there's a mention in S03 20:28
20:32 rgrau_`` joined 20:35 rainerschuster joined 20:36 rgrau_`` left, rgrau_`` joined
dalek kudo: 668719b | moritz++ | src/ (3 files):
implement Cool.samecase, .subst(:samespace) and ss///

Patch partly by flussence++
20:42
20:43 rgrau_`` left, rgrau_`` joined
dalek ast: 59b8c22 | moritz++ | S05-substitution/subst.t:
[subst.t] fix some tests, and unfudge them for rakudo
20:44
20:45 rgrau_``` joined 20:48 rgrau_`` left, pythonian4000afk is now known as pythonian4000 20:49 pythonian4000 is now known as pythonian4000afk
cosimo hi everyone 20:51
phenny cosimo: 28 Sep 06:25Z <moritz_> tell cosimo perl6-cache-memcached added. You also have commit access to perl6/ecosystem on github now, so you can do it yourself next time
cosimo moritz_: saw that, thanks!
20:54 cogno joined
cosimo rakudo: my $x = 'abcd'; $x ~~ s:g[bc] = '12'; say $x 20:58
p6eval rakudo 5ce8fc: OUTPUT«a12d␤»
cosimo rakudo: my $x = 'abcd'; $x ~~ s:g/bc/ = '12'; say $x
p6eval rakudo 5ce8fc: OUTPUT«===SORRY!===␤Confused at line 22, near "$x ~~ s:g/"␤»
cosimo rakudo: my $x = 'abcd'; $x.subst('bc', '12', :g); say $x 20:59
p6eval rakudo 5ce8fc: OUTPUT«abcd␤»
cosimo rakudo: my $x = 'abcd'; $x.subst(/bc/, '12', :g); say $x
p6eval rakudo 5ce8fc: OUTPUT«abcd␤»
cosimo rakudo: my $x = 'abcd'; $x.subst(rx:/bc/, '12', :g); say $x
p6eval rakudo 5ce8fc: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
cosimo rakudo: my $x = 'abcd'; $x.subst(rx[bc], '12', :g); say $x 21:00
p6eval rakudo 5ce8fc: OUTPUT«Could not find sub &rx␤ in main program body at line 22:/tmp/Lj3E_YbDvu␤»
21:00 amkrankruleuen joined
cosimo ook 21:00
21:01 dukeleto left 21:02 dukeleto joined 21:05 cogno left, MayDaniel joined 21:08 kjeldahl left 21:09 jtrag left
cosimo rakudo: my $x = 'abcd'; $x ~~ s:g[bc] = '12'; say $x 21:10
p6eval rakudo 5ce8fc: OUTPUT«a12d␤»
cosimo rakudo: my $x = 'ab[cd'; $x ~~ s:g[< \[ >] = '12'; say $x
p6eval rakudo 5ce8fc: OUTPUT«Could not find sub &s:g[< \[ >]␤ in main program body at line 22:/tmp/r1qOxMHost␤»
cosimo rakudo: my $x = 'ab[cd'; $x ~~ s:g[\[] = '12'; say $x 21:11
p6eval rakudo 5ce8fc: OUTPUT«ab12cd␤»
cosimo rakudo: my $x = 'ab[cd'; $x ~~ s:g[\[ | \]] = '12'; say $x
p6eval rakudo 5ce8fc: OUTPUT«ab12cd␤»
cosimo rakudo: my $x = 'ab[]cd'; $x ~~ s:g[\[ | \]] = '12'; say $x
p6eval rakudo 5ce8fc: OUTPUT«ab1212cd␤»
cosimo rakudo: my $x = 'ab[]cd'; $x ~~ s:g[\[ | \]] = ''; say $x
p6eval rakudo 5ce8fc: OUTPUT«abcd␤»
cosimo so I can't use s:g[ < [] > ] to specify either '[' or ']' chars 21:12
21:12 masak joined
masak \o/ 21:12
21:13 cls_bsd left, cls_bsd joined 21:14 pythonian4000afk is now known as pythonian4000
cosimo masak: hi! have a question for you I think 21:17
23:06 < cosimo> so I can't use s:g[ < [] > ] to specify either '[' or ']' chars?
but this works
sorear cosimo: you'd have better luck if you put a space between :g and [
cosimo rakudo: my $x = 'ab[]cd'; $x ~~ s:g[\[ | \]] = ''; say $x
p6eval rakudo 5ce8fc: OUTPUT«abcd␤»
sorear \o/ masak 21:18
cosimo rakudo: my $x = 'ab[]cd'; $x ~~ s:g [<[]>] = ''; say $x
p6eval rakudo 5ce8fc: OUTPUT«ab[]cd␤»
cosimo rakudo: my $x = 'ab[]cd'; $x ~~ s:g [<\[\]>] = ''; say $x
p6eval rakudo 5ce8fc: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/_DhFATJW0h␤»
cosimo mmh
rakudo: my $x = 'ab[]cd'; $x ~~ s:g [ < [] > ] = ''; say $x 21:19
p6eval rakudo 5ce8fc: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/3hwsewKMYO␤»
cosimo rakudo: my $x = 'ab[]cd'; $x ~~ s:g [ < \[\] > ] = ''; say $x 21:20
p6eval rakudo 5ce8fc: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/8OcrC5S4IS␤»
21:21 HarryS left, HarryS joined
masak pmichaud: re: #78284 -- if the problem in a ticket is fixed, but the fix exposes another (unrelated) problem, the ticket can still be closed, IMHO. (by opening a new ticket with the new problem, one keeps the injection between issues and tickets straight.) 21:23
21:24 amkrankr1leuen joined
masak I'm almost fine with keeping the old ticket... but if so, I would like it to be renamed to describing the new issue rather than the old one. 21:24
21:24 amkrankruleuen left, amkrankr1leuen is now known as amkrankruleuen, amkrankruleuen left, amkrankruleuen joined
cosimo sorear: thanks 21:24
21:29 bluescreen left
masak mst :) twitter.com/shadowcat_mst/status/26779271666 21:31
21:32 ruoso left
sorear for the self-appointed Head Jerk of Perl, mst is remarkably enlightened 21:32
masak that's his secret weapon.
slavik mst? 21:34
sorear Matt S. Trout
masak slavik: Matt S. Trout
sjohnson mst
slavik is he important?
sjohnson guys nickname
sorear very
sjohnson pretty popular in the perl community
slavik I see
sjohnson he hangs out on #perl 21:35
masak slavik: his node has a high degree in the Graph of Perl.
slavik gotcha
higher than TimToady?
sjohnson no
slavik so we're safe
21:35 Ross left
sorear in the Graph of Perl5, mst's degree may now have a higher degree 21:36
21:36 Ross joined
masak slavik: mst wants to start the tradition of "State of the Velociraptor", which would in some sense make him belong to the same category as TimToady. (but still not as degree-ful, I guess.) 21:37
I think he is a good front figure of Perl 5.
even his Perl 6 criticism is more on the teasing side than on the poisonous side. 21:38
21:38 Helios left, Helios joined
sorear mst understands that he doesn't need to fear Perl 6 21:38
slavik Perl6 > Perl5
masak sorear: that's not 100% correct. 21:39
sorear: I've had it from mst that "if Perl 6 rattles its swords too much, I will not hesitate to play ugly". (quote might not be exact)
21:40 Italian_Plumber joined
sorear masak: by "rattles his swords" do you mean "we start acting like deranged idiots"? 21:40
21:41 MayDaniel left, cls_bsd left, cls_bsd joined
masak sorear: were you part of the p5/p6 discussion this time last year? 21:41
sorear If I was I was on the P5 side.
I didn't start taking P6 seriously until ~March 21:42
masak it ended with mst and me publishing one blog post each, suggesting a way to view/understand the desires/fears of the other (sub-)community.
but it *started* from the realization that the two communities were -- unwittingly and avoidably -- getting on each other's nerves. 21:43
mst deserves the credit for initiating the 'peace talks'. 21:44
the two posts: strangelyconsistent.org/blog/how-pe...ill-us-all and www.shadowcat.co.uk/blog/matt-s-tro...ck-perl-6/ 21:45
21:45 Italian_Plumber left
masak moritz_: [backlog] a MOP board game. interesting. 21:49
21:49 Chillance left
masak I also believe that creating an isomorphism is necessary. 21:50
21:50 xabbu42 left
masak "objects" and "classes" are already in the human subconscious, thanks to guys like Plato and Socrates. 21:50
21:50 _kaare left
masak hm, those concepts are probably older than that, actually. "biological" intuition seems quite built-in to the human brain. 21:51
21:51 Chillance joined
masak PerlJam: [backlog] the nice thing with competing games over cooperating games is that the former have a tension having to do with some kind of zero-sum-ness. with cooperating games, you don't have to second-guess opponents as much, and they tend not to get as deep. :/ 21:54
22:00 rgrau_``` is now known as rgrau_
colomon masak: I'm wondering what kind of game Lacuna Expanse will turn out to be. 22:00
masak oh! just remembered. 'finite games' tend to be competitive, and 'infinite games' cooperative. 22:01
there's a book: en.wikipedia.org/wiki/Finite_and_Infinite_Games
colomon (I'm immensely fond of Shadows Over Camelot, which is a mostly cooperative game. (And very finite, unless there's a non-obvious meaning to the term "finite games".))
masak right. it's mostly a trend. 22:02
colomon It seems like Lacuna Expanse will allow us to trade and work with each other... or blow each other to smithereens. It will be interesting to see how it plays out once a few more people have spaceships. 22:04
22:05 meppl left
colomon If the empire stats in the game are not lying to me, no one in the game has any weapons at the moment. 22:06
sorear is this like a Perl6 MMO?
cosimo w
masak sorear: it's written (partly) in Perl 5. 22:07
colomon sorear: Lacuna Expanse is a perl 5 MMO
Tene masak: you could use some trailing whitespace or a footer on strangelyconsistent. Every time I get to the end of a post, it takes me a bit to recognize that it's the end, instead of the page not loading all the way or something. 22:08
masak Tene: thanks for the feedback. I'll add some trailing whitespace right away. in the long run, I plan to have a footer of some kind. 22:09
I just don't want to add in complexity before I know what to use it for :)
Tene Well, a footer could be as simple as a <hr/> 22:10
Just something to indicate the end of the document
masak I'm not too fond of <hr/>s 22:11
Tene Sure.
comet/snowman?
;)
I used to hang out with the lacuna expanse guy on IRC. I think I'm still in a channel with him.
Yeah, #utah
masak Tene: added some whitespace. better now? 22:12
Tene Yeah, that's better.
Thanks.
masak \o/
I like it better too.
masak explicitly encourages others to suggest visual improvements to his blog 22:13
Tene definitely needs more comet/snowman 22:14
masak :)
maybe up in the header?
flussence I kinda like the lack of layout, it's less distracting from the words
masak flussence: I plan not to move away too far from the lack of layout.
22:18 mfollett left 22:20 rainerschuster left
masak ooh happy happy happy! my presentation software now exists. and more than 24h left to work on content! 22:24
22:26 muixirt left 22:30 jaldhar joined 22:42 jaldhar left 22:44 Intensity left 22:46 jaldhar joined 22:48 Intensity joined 22:58 Mowah left
dalek ecza/master: 56ae7e1 | sorear++ | / (3 files):
add delegate/class benchmark to perf/
22:59
ecza/master: e82259c | sorear++ | src/ (2 files):
Implement parsing/BEGIN for simple roles
masak I love how hacking on something pays off in terms of nice graphics. my new presentation technique is called "infinite canvas", and is something of which I've been dreaming for quite a while. 23:01
Tene masak: I'm curious. Tell me more? 23:02
masak Tene: ok, so we have SVG, right?
Tene Right. 23:03
masak SVG allows us to put things on a 2D plane, and then show these things as a presentation.
Tene Right.
masak the basic idea is to put the whole presentation in the same plane. all of the slides.
everything else flows from that.
Tene Hmm.
masak proximal ideas thus become close to each other in the plane. 23:04
zooming in and zooming out takes on a very concrete role.
I currently have the viewports of each slide being given as rectangles in a separate layer in the SVG. this seems to work well. 23:05
if I want, I can annotate these rectangles with transition effect instructions.
Tene Huh. 23:06
masak everything gets rendered as PDFs in the end, but the transition effects get pretty close to feeling like the presentation is animated. 23:07
23:07 M_o_C left
Tene I'm curious to see what you produce with this. 23:07
masak I'll publish it on Sunday. including the source code. 23:08
(Perl 5, due to superior XML tooling. zefram++)
23:09 pythonian4000 is now known as pythonian4000afk
dukeleto masak: that sounds really awesome, can't wait to check it out. I hate how most presentation software imposes linear thought 23:11
masak I'm fairly anti-bullet-point. I already find that this method makes me focus on form and visual presentation more than on text. and I can do the whole presentation from within Inkscape. 23:16
23:25 HarryS is now known as Guest53252 23:26 jaldhar left 23:27 Guest53252 is now known as HarryS 23:29 amkrankruleuen left 23:51 Ross left
dalek ecza/master: 5bbfa53 | sorear++ | / (5 files):
Avoid retaining frames for rules and tokens
23:52
23:53 HarryS left
masak zzz & 23:55
23:56 bluescreen joined 23:57 HarryS joined 23:58 rgrau_ left