»ö« 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:05 drbean left, mkramer left 00:07 benabik left 00:10 mkramer joined 00:11 drbean joined 00:18 mkramer left 00:20 drbean left 00:23 snearch left 00:27 fridim_ left 00:28 drbean joined, mkramer joined 00:42 mkramer left 00:45 x3nU left 00:51 drbean left 00:57 drbean joined 01:02 donri left 01:07 thou left 01:39 PacoLinux_ joined 01:44 PacoLinux_ left
dalek ecza: 48254f0 | (Solomon Foster)++ | lib/CORE.setting:
Add default value for sub version of join.
01:47
ecza: d2cdef9 | (Solomon Foster)++ | t/spectest.data:
Turn on join.t.
ast: 4bfbe31 | (Solomon Foster)++ | S04-phasers/begin.t:
Unfudge tests that now work in niecza.
01:49
colomon is making strata, listening to Newfoundland Christmas music, and contemplating adding min and max to niecza. 01:55
oh, yes, and drinking spiked egg nog 01:59
02:02 thou joined 02:09 thou left 02:17 bsinger joined
colomon strata done. taking advantage of Jen's absence (bell choir for the 9pm service) to stuff her stocking 02:17
02:19 drbean left 02:25 drbean joined 02:27 ksi left 02:43 hundskatt left 03:02 tokuhirom joined 03:05 thou joined
dalek ecza: a7d963a | coke++ | t/spectest.data:
run S16-filehandles/filetest.t again
03:17
colomon o/, [Coke] 03:20
dalek ast: ecf161e | (Solomon Foster)++ | S32-list/reverse.t:
Fudge for niecza.
03:25
03:25 bsinger left 03:30 drbean left, benabik joined
[Coke] colomon: o/ 03:32
dalek ecza: 702185e | (Solomon Foster)++ | t/spectest.data:
Turn on S32-list/reverse.t.
03:33
03:35 twinshadow left 03:36 drbean joined, Patterner left 03:37 Psyche^ joined, Psyche^ is now known as Patterner 03:41 twinshadow joined 03:56 Ingis left 04:00 packetknife left
dalek ecza: ade1b7d | Coke++ | tools/unrun_tests:
avoid extra "/" in path on OS X
04:00
ecza: 0f82c9c | Coke++ | t/spectest.data:
Remove trailing whitespace
04:00 packetknife joined 04:14 twinshadow left
colomon sorry for disappearing, my wife finally came home just after that last push. 04:14
;) 04:15
[Coke] I'm nearly done for the night, I think. What's up? 04:18
04:19 twinshadow joined
colomon nothing in particular, just saluting another Christmas Eve warrior. ;) 04:29
[Coke] ;) 04:31
04:36 PacoLinux_ joined 04:40 PacoLinux_ left 04:41 avar left, gfldex left, avar joined, avar left, avar joined, gfldex joined 04:45 Ingis joined 04:52 packetknife left 04:58 lue left 05:51 ponbiki left, PacoLinux_ joined 05:55 PacoLinux_ left 05:58 tokuhirom left 06:17 drbean left 06:23 drbean joined 06:38 risou is now known as risou_awy, risou_awy is now known as risou 06:40 jjore left 07:09 PacoLinux_ joined 07:13 PacoLinux_ left 07:29 fglock joined 07:47 envi_ joined
masak hi lol mornings people! 08:04
moritz and I are going to announce this year's p6cc today! we're writing up the blog post right now. 08:05
but this is just to let y'all know that things are underway. :)
08:08 thou left
fglock what is p6cc? 08:24
masak oh! 08:25
it's a programming contest that we did last year.
fglock ah, cool
masak moritz++ won it, and now he's helping arrange this year's contest. 08:26
strangelyconsistent.org/blog/masaks...ng-contest
08:56 MayDaniel joined 09:00 fglock left 09:07 Mowah joined 09:20 finanalyst joined 09:25 finanalyst left 09:35 tokuhirom joined 09:44 snearch joined 09:48 mj41 joined 09:56 kaare_ joined, mj41 left 10:00 alvis joined 10:09 mj41 joined 10:21 PacoLinux_ joined 10:26 PacoLinux_ left
masak ...aaaaaaaand here we go... 10:39
blog post! \o/ strangelyconsistent.org/blog/the-20...ng-contest
may the best coder win! \o/
could I perhaps ask the favor of kind people on this channel to post that URL to Hacker News and Reddit? 10:41
Timbus oooo fun things to do 10:43
masak we'd like to think so ;)
sign up sign up sign up
Timbus haha. nah i'll pass, but i might try a few on my own 10:44
masak fair enough :) 10:45
moritz help spread the word by upvoting www.reddit.com/r/programming/commen...g_contest/ 10:48
... and news.ycombinator.com/item?id=3390840 10:49
masak \o/
10:52 PacoLinux_ joined 10:57 PacoLinux_ left 11:00 envi_ left 11:04 mj41 left, envi_ joined 11:17 hundskatt joined
masak we're being downvoted on Reddit. help us by upvoting the post! www.reddit.com/r/programming/commen...g_contest/ 11:22
11:23 muixirt joined
muixirt oops, "The requested URL /p6cc2011/t1-description was not found on this server." 11:25
colomon o/
11:25 Mowah left
Timbus just get the .zip 11:26
muixirt some links do not work in masak's blog post
Timbus s' got em all
muixirt Timbus: yes, but it maybe worth correcting though 11:27
Timbus definitely yes
moritz oops, I accidentally submitted the reddit URL to hackernes :/
Timbus just providing the workaround
masak moritz: it can't be edited?
masak sees about fixing the broken links 11:28
muixirt++ # reporting it
moritz don't think so
masak masak-- # not double-cheking it
moritz somebody could just re-submit the original URL
masak links fix'd. 11:32
moritz masak++ 11:33
masak FTP. it's hard. :) 11:35
moritz it is? 11:36
moritz uses unison and git for synchronising his websites
11:37 snearch left
masak checks out unison 11:43
moritz it's like two-way rsync over ssh
masak right. 11:44
colomon and it's written in OCaml
moritz implemented in ocaml
masak nice!
colomon ocaML?
moritz colomon++ is faster
colomon however you spell it.
moritz OCaml is correct
it's Caml, plus Objects
masak O'Caml :)
colomon as far as I know, it's the only functional programming program I use on a regular basis. :) 11:45
nom: 42.classify(* % 3) 11:47
p6eval nom eb6c4b: ( no output )
colomon nom: say 42.classify(* % 3).perl 11:48
p6eval nom eb6c4b: OUTPUT«("0" => [42],).list␤»
colomon lives_ok { 42.classify: { $_ } }, "method form of classify should not work on numbers";
test and comment do not agree
moritz probably a left-over from the days before we considered scalars one-element lists 11:49
I'm pretty sure that if you trace the commit that last changed it, you'll find that it used to be dies_ok
dalek ast: f64c232 | (Solomon Foster)++ | S32-list/classify.t:
Fudge for niecza. (Also be more explicit about the sort call for niecza.)
11:50
masak there was a time when we didn't consider scalars to be one-element lists? 11:53
masak surprised
geekosaur vaguely recalls such, yes
colomon thought it had gone the other way, and we'd *stopped* considering scalars to be one-element lists.... 11:54
11:56 snearch joined 12:02 achromic joined 12:03 mj41 joined
dalek ast: a921383 | (Solomon Foster)++ | S32-list/end.t:
Fudge for niecza.
12:06
tadzik 'morning! 12:08
colomon 'morning, indeed! 12:09
dalek ast: b8f2553 | (Solomon Foster)++ | S32-array/end.t:
Fudge for niecza.
12:10
12:11 mkramer joined 12:15 lutok joined
dalek ecza: e02456e | (Solomon Foster)++ | lib/CORE.setting:
Add moritz++'s classify method.
12:17
ecza: a7489b4 | (Solomon Foster)++ | t/spectest.data:
Turn on S32-list/classify.t.
ecza: 64834ad | (Solomon Foster)++ | lib/CORE.setting:
Add end method & sub.
ecza: 3c70250 | (Solomon Foster)++ | t/spectest.data:
Turn on S32-array/end.t and S32-list/end.t.
12:18 achromic left 12:19 fridim_ joined 12:22 achromic joined
colomon continues hacking at niecza while he waits for the rest of his family to get up on this fine Christmas morning... 12:23
12:27 Trashlord joined 12:33 mkramer1 joined, mkramer left, alvis left
masak tadzik: morningmakesureyousignupforthecontest! :D 12:33
12:34 PacoLinux left
tadzik masak: ...I did! 12:34
masak \o/
everyone else, follow tadzik's example! :D 12:35
12:35 alvis joined
tadzik those are funny tasks this year 12:35
masak yes, we're quite proud of them. 12:37
ooh, tadzik and someone else signed up already!
tadzik I hope I'll be able to give those a proper amount of time 12:38
masak tadzik: just curious; any of the tasks seem particularly easy, or particularly interesting? 12:39
tadzik reading just the headilnes "Find a way to express an integer as an expression containing four 9s" was the biggest "wtf" to me :) 12:40
masak :) 12:41
tadzik t3... idiomatic Perl 6... I think I see what you did there :) 12:44
time will tell 12:45
moritz there's more than just '[+] @foo' to the task :-) 12:46
tadzik I know :) 12:47
12:48 alvis left, alvis joined 12:53 mj41 left 13:01 muixirt left
masak someone on Reddit thinks I should have used github instead of host things on my server: www.reddit.com/r/programming/commen...st/c3b1v8t 13:06
moritz thinks email submissions are fine 13:12
masak yeah; me too.
we could definitely've presented the tasks through github; maybe we even will, next year. 13:13
that feels like a more civilized way to distribute things than .zip files nowadays.
moritz aye 13:14
13:26 mkramer1 left 13:27 snearch left 13:28 mkramer joined 13:32 mkramer left, mkramer joined 13:44 mkramer left 13:45 mkramer joined 13:47 pmurias joined 13:59 mkramer left 14:00 Chillance joined 14:02 mkramer joined 14:08 mkramer1 joined, mkramer left 14:17 mkramer1 left 14:18 mkramer joined 14:21 Ingis left, mkramer left 14:22 mkramer joined 14:29 MayDaniel left, mkramer left 14:31 mkramer joined 14:32 PacoLinux joined 14:33 bluescreen10 joined 14:40 PacoLinux left 14:52 mkramer left 14:54 mkramer joined 15:02 tokuhirom left 15:10 zhangkaizhao joined 15:11 achromic left, zhangkaizhao left 15:12 zhangkaizhao joined 15:17 zhangkaizhao left 15:18 zhangkaizhao joined
dalek ast: 484d409 | (Solomon Foster)++ | S32-list/minmax.t:
Rewrite file test to match current I/O spec. Fudge for niecza.
15:21
15:35 mkramer left, mkramer joined
dalek ecza: 7abe205 | (Solomon Foster)++ | lib/CORE.setting:
min, max, and minmax.
15:37
ecza: 9a8aaf4 | (Solomon Foster)++ | t/spectest.data:
Turn on S32-list/minmax.t.
15:39 mkramer1 joined 15:40 mkramer left, x3nU joined 15:43 tokuhirom joined 15:45 mkramer1 left 16:03 bluescreen10 left 16:05 mkramer joined 16:14 mkramer left 16:21 mkramer joined 16:26 mkramer left, mkramer joined 16:29 donri joined 16:55 Ingis joined 17:01 PacoLinux joined 17:05 PacoLinux left 17:07 mkramer left 17:08 mkramer joined
arnsholt Heh. NP-complete problems in a competition. That's just mean ^_^ 17:09
masak arnsholt: just like you to go looking things up :P 17:12
17:13 mkramer left 17:14 mkramer joined, mkramer left
arnsholt masak: The question set my research-senses a'tingling =) 17:14
17:14 tokuhirom left
arnsholt But problem four sounds more dangerous than problem three, so far 17:15
Just like the kayles problem last year =D
I think I'm gonna have to check out a copy of TAoCP when I get back to university though 17:19
17:51 Mowah joined 18:12 sftp joined 18:13 sftp_ left 18:19 risou is now known as risou_awy 18:32 lichtkind joined
lichtkind corrected 4 entries in perl 6 tablets index a 18:32
advent calenda is really good for that 18:33
18:43 envi_ left 18:50 zhangkaizhao left 18:52 drbean left 18:53 benabik left 18:58 Radvendii joined
Radvendii hey, has panda been updated to run with rakudo 2011.12? 18:59
lichtkind not that i know of
19:00 drbean joined
ruoso was there any recent activity in the threading front? 19:00
lichtkind ruoso: i have a beatle farm :) 19:02
ruoso feels that he lost something in that joke
Radvendii hahaha
lichtkind ruoso: i just ment that im not involved much in panda
because of my own project called after a beatle 19:03
ruoso oh... I was asking in a Perl 6 sense in general...
lichtkind ruoso: same answer :) not taht i know o 19:04
f
19:07 sayu joined
masak six people signed up to p6cc so far. \o/ 19:08
that's after 8 hours.
Radvendii p6cc?
lichtkind coding contest 19:09
not c compiler :)
masak Radvendii: strangelyconsistent.org/blog/the-20...ng-contest 19:11
signing up is free, and if no-one sends in a solution, you'll have 1 chance in 7 of winning 100€ worth of books. :)
ruoso: no, no significant progress with threading. Niecza does it, AFAIK. but nothing has happened spec-wise. we need a champion who JFDIs. 19:13
masak .oO( or is that spelled "JFDsI"? )
19:13 Radvendii left
ruoso masak: hm... so.. I'm trying to get my rythm back... 19:15
one thing that I have considered in the past and that I still think is the bridge to the parallelism model 19:16
is S07
I mean, we could simply have the basics, such as async block and the like... but if we consider things like feeds and lazy objects in general 19:19
19:19 benabik joined
ruoso List is actually more core to threading than explicit thread constructs 19:20
So what I have in mind is to kind of replicate the concept of unix pipes, in the sense that the VM would provide a basic "blocking buffered stream" primitive 19:22
and we would be able to have interpreter threads blocking on reading/writing operations in such streams 19:23
then an operation like "@a = 1..inf;" would create a "blocking buffered stream" and a new thread that would run the range generator, while the main thread would proceed as usual... 19:25
19:25 drbean left
ruoso so it would produce some values until it fills the buffer, then wait for the values to be consumed, and as they are consumed, they would unblock the other thread 19:25
19:27 snearch joined 19:32 drbean joined
masak sounds interesting. 19:37
ruoso I am having a hard time finding anything about threading in the parrot docs 19:42
19:47 muixirt joined 19:48 PacoLinux joined
muixirt ruoso: maybe whiteknights advent blog post helps a little: whiteknight.github.com/2011/12/15/a...ading.html 19:49
sorear good * #perl6 19:50
o/ ruoso
19:51 Mowah left
ruoso hui sorear 19:51
19:51 drbean left
sorear colomon: sorry. I picked a bad day to be stuck in bed sick 19:53
ruoso muixirt: thanks... that did explain things... even if not the way I hoped 19:56
19:56 drbean joined
pmurias fg 19:57
sorry
sorear the task lineup for p6cc/2011 reminds me a lot of Project Euler. 20:04
20:06 geef joined, PacoLinux left
lichtkind index a has now much better navigation 20:12
masak sorear: I think the dreaded p4 problem from last year even had a kind of cousing amount eh project Euler problems. (but I didn't know that when I chose it.)
I haven't actually looked at many Euler problems. 20:13
ruoso: it's nice to have you back, by the way.
ruoso masak, thanks... yep... I was missing doing open source stuff too.. 20:15
sorear project euler is great. I did the first 75-100 of them as part of my "learn J" exercises earlier
(it's suprising how many of them are J primitives) 20:16
pmurias is the spec avalible in a format suitable for a kindle?
sorear the spec is available in HTML. What formats will a kindle grok? 20:19
20:19 drbean left
sorear compulsively gets to work on p1 20:19
also, o/ masak
pmurias sorear: i'm looking for something explicitly formated for a ereader so it will display nicely 20:21
20:26 drbean joined 20:35 ksi joined
ruoso pmurias: I think calibre can convert html to epub 20:35
pmurias ruoso: i'll try pod2epub first 20:39
tadzik sorear: Kindle prefers .mobi
masak pmurias: I know Andrew Shitov had the spec on a kindle. 20:40
sorear: \o
sorear: are you another one of those who are going to attack the problems without signing up? :)
sorear yes. 20:42
20:43 muixirt left
masak Timbus indicated earlier that he's one too. 20:43
yes, project euler looks pretty great. I've been thinking of doing more of the problems, but have never gotten started with it. 20:45
20:50 Ingis left 20:54 simon__ joined
simon__ hello. I'm trying to make a list of lists with gather for but it keeps flattening the result. can someone tell me what i'm doing wrong? 20:55
masak simon__: maybe make a list of arrays instead? 20:56
lists of lists often flatten, because Perl works that way.
nom: say (gather { take [1..$_] for 4..6 }).perl
p6eval nom eb6c4b: OUTPUT«(1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6).list␤»
masak huh. 20:57
simon__ that's what i've been doing
masak nom: say (gather { take [[1..$_]] for 4..6 }).perl
p6eval nom eb6c4b: OUTPUT«([1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6]).list␤»
sorear eheheheh... I don't think it should work that way
masak using double layers seems to work.
sorear b: say (gather { take [1..$_] for 4..6 }).perl
p6eval b 1b7dd1: OUTPUT«([1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6])␤»
sorear niecza: say (gather { take [1..$_] for 4..6 }).perl
masak but no, it seems wrong that it works so from the start in nom.
p6eval niecza v12-177-g9a8aaf4: OUTPUT«([1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6]).list␤»
sorear pugs: say (gather { take [1..$_] for 4..6 }).perl 20:58
p6eval pugs b927740: OUTPUT«([1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6])␤»
masak probably a bug.
sorear nomgression
masak submits rakudobug
sorear hey, the masakbot is back
masak simon__++ # for discovering
sorear (You seem new. Welcome, simon__)
masak sorear: after a refreshing vacation in the warmer parts of Asia ;) 20:59
simon__ thanks ;)
21:02 GlitchMr joined
sorear o/ GlitchMr 21:02
GlitchMr Hello
I'm just experimenting. I'm trying to use qwebirc on Android. It's hard to use. 21:04
I'm probably crazy or something. 21:05
moritz \o
masak hi GlitchMr
sorear o/ moritz
GlitchMr hi, masak 21:06
sorear nom: sub foo($x [$y] [$z]) { ... }
p6eval nom eb6c4b: OUTPUT«===SORRY!===␤Cannot have more than one sub-signature for a parameter at line 1, near ") { ... }"␤» 21:07
sorear std: sub foo($x [$y] [$z]) { ... }
p6eval std dc62e1d: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/OwZ05_4kHw line 1:␤------> sub foo(⏏$x [$y] [$z]) { ... }␤ $y is declared but not used at /tmp/OwZ05_4kHw line 1:␤------> sub foo($x [⏏$y] [$z]) { ... }␤ $z is decla…
sorear std: sub foo($x [$y] [$z]) { ... } #OK
p6eval std dc62e1d: OUTPUT«ok 00:01 121m␤»
sorear stdbug or nombug?
Is there a difference btween $x ($y) and $x [$y] ? 21:09
21:09 GlitchMr left
moritz I'm pretty sure that [$y] forces access via postcircumfix:<[ ]> 21:11
not sure what ($y) does
21:12 lichtkind left
moritz maybe the differences is that ($y) tries to coerce to Capture, or something (but I don't really have a clue) 21:12
nom: sub f($x [$y]) { say $y }; f 1 21:13
p6eval nom eb6c4b: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in sub-signature of parameter $x␤ in sub f at /tmp/t4kY2PicLQ:1␤ in block <anon> at /tmp/t4kY2PicLQ:1␤ in <anon> at /tmp/t4kY2PicLQ:1␤»
moritz nom: sub f($x [$y]) { say $y }; f (1, 2)
p6eval nom eb6c4b: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in sub-signature of parameter $x␤ in sub f at /tmp/g0vYVi8Bd7:1␤ in block <anon> at /tmp/g0vYVi8Bd7:1␤ in <anon> at /tmp/g0vYVi8Bd7:1␤»
moritz nom: sub f($x [$y]) { say $y }; f [1]
p6eval nom eb6c4b: OUTPUT«1␤»
moritz nom: sub f($x ($y)) { say $y }; f [1]
p6eval nom eb6c4b: OUTPUT«1␤»
21:18 sayu left
sorear moritz: according to STD, both cases parse a <signature> inside 21:21
tadzik phenny: tell GlitchMr you should've tried qwebirc on a Kindle ;) 21:22
phenny tadzik: I'll pass that on when GlitchMr is around.
sorear colomon wanted post_constraint by Christmas
(I failed him !)
moritz it's still christmas until tomorrow, according to my locale :-) 21:27
simon__ nom: my @xs = 1..5; @xs = gather for @xs -> $x { take $x }; 21:32
p6eval nom eb6c4b: ( no output )
simon__ nom: my @xs = 1..5; @xs = gather for @xs -> $x { take $x }; say for @xs;
p6eval nom eb6c4b: OUTPUT«␤␤␤␤␤»
simon__ nom: my @xs = 1..5; my @ys = gather for @xs -> $x { take $x }; say for @ys; 21:33
p6eval nom eb6c4b: OUTPUT«␤␤␤␤␤»
simon__ nom: my @xs = 1..5; my @ys = gather for @xs -> $x { take $x }; .say for @ys; 21:35
p6eval nom eb6c4b: OUTPUT«1␤2␤3␤4␤5␤»
simon__ nom: my @xs = 1..5; @xs = gather for @xs -> $x { take $x }; .say for @xs;
p6eval nom eb6c4b: OUTPUT«1␤2␤3␤4␤5␤»
sorear niecza: my @xs = 1..5; my @ys = gather for @xs -> $x { take $x }; say for @ys; # I wonder how hard it would be to add this to nom? 21:36
p6eval niecza v12-177-g9a8aaf4: OUTPUT«===SORRY!===␤␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/keivzLD8MR line 1:␤------> = gather for @xs -> $x { take $x }; say⏏ for @ys; # I won…
ruoso nom: split //, "asdfg" 21:39
p6eval nom eb6c4b: OUTPUT«===SORRY!===␤Null regex not allowed at line 1, near ", \"asdfg\""␤»
ruoso why?
sorear because TimToady thought it would be a useful way to trap p5istic expectations of "last successful regex" 21:41
21:41 donri left
sorear nom: say split / '' /, "asdfg" 21:41
p6eval nom eb6c4b: OUTPUT« a s d f g ␤»
21:43 jaldhar left 21:45 jaldhar joined
masak also, there's something to be said for always explicitly saying 'nothing'. 21:47
masak fondly remembers the 'nothing' statement in Perl 6, which existed briefly
sorear like 'pass'? 21:48
masak yeah.
but it was a 0-param multi sub. 21:49
21:49 achromic joined
masak seems it went away for good 2008-07-18. 21:49
sorear wonders what to put about spec-tests in announce.v13 21:50
masak that Niecza has taken leaps and bounds in that regard? 21:52
sorear perl6: say+5 21:53
p6eval niecza v12-177-g9a8aaf4: OUTPUT«===SORRY!===␤␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/7hHnaoqlJN line 1:␤------> say⏏+5␤␤Unhandled exception: Check failed␤␤ at /home/p…
..pugs b927740, rakudo eb6c4b: OUTPUT«␤»
sorear perl6: say$_ 21:54
p6eval niecza v12-177-g9a8aaf4: OUTPUT«===SORRY!===␤␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/8qZSqEnjvG line 1:␤------> say⏏$_␤␤Two terms in a row (listop with args requires w…
..rakudo eb6c4b: OUTPUT«===SORRY!===␤Confused at line 1, near "say$_"␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "$_"␤ expecting "::", dot, ":", "(", term postfix or operator␤ at /tmp/oVmzwqffKQ line 1, column 4␤»
sorear I wonder why m<TAB> pulls up moritz when masak spoke more recently 21:55
closing the moritz query window doesn't change it
irsii-- #inscrutability
masak: yes, I want something like that, but maybe more quantified :) 21:56
irssi-- irsii++ # sp
masak sorear: I also want it more quantified, fwiw ;) 22:00
ruoso nom: split /''/, $*IN.slurp 22:01
p6eval nom eb6c4b: ( no output )
22:01 packetknife joined
ruoso hmm.. the bot used to hae some sample input 22:01
sorear ruoso: you need "say" for there to be any outpuit. 22:02
ruoso nom: say split /''/, $*IN.slurp
p6eval nom eb6c4b: OUTPUT« L a n d d e r B e r g e , L a n d a m S t r o m e , ␤ L a n d d e r Ä c k e r , L a n d d e r D o m e , ␤ L a n d d e r H ä m m e r , z u k u n f t s r e i c h ! ␤ H e i m a t b i s t d u g r o ß e r S ö h n e , ␤ V o l k , b e g n…
ruoso nom: say((split /''/, $*IN.slurp).perl)
p6eval nom eb6c4b: OUTPUT«("", "L", "a", "n", "d", " ", "d", "e", "r", " ", "B", "e", "r", "g", "e", ",", " ", "L", "a", "n", "d", " ", "a", "m", " ", "S", "t", "r", "o", "m", "e", ",", "\n", "L", "a", "n", "d", " ", "d", "e", "r", " ", "Ä", "c", "k", "e", "r", ",", " ", "L", "a", "n", "d", " …
ruoso see.. there is a leading "" 22:03
that, I think, was not supposed to be there... was it?
masak ruoso: apparently, that's to spec. 22:04
sorear I think it is supposed to be there
you're not supposed to use split /''/ anymore anyway
masak right.
sorear nom: say $*IN.slurp.comb.perl
p6eval nom eb6c4b: OUTPUT«("L", "a", "n", "d", " ", "d", "e", "r", " ", "B", "e", "r", "g", "e", ",", " ", "L", "a", "n", "d", " ", "a", "m", " ", "S", "t", "r", "o", "m", "e", ",", "\n", "L", "a", "n", "d", " ", "d", "e", "r", " ", "Ä", "c", "k", "e", "r", ",", " ", "L", "a", "n", "d", " ", "…
masak there's a special case in Perl 5 that silences a first empty element like that. the special case has been removed in Perl 6.
ruoso but... why does split returns an empty string?
is that really a special case? 22:05
sorear wonders where to draw the line between "major" and "minor" features when the work this month has been mostly minor
ruoso i didn't know that
22:05 MayDaniel joined
sorear ruoso: because /''/ matches after a zero-length string 22:05
masak I have a feeling some people here might appreciate www.reddit.com/r/programming/commen...de_review/ 22:09
22:20 snearch left 22:25 Ingis joined 22:26 MayDaniel left 22:27 dduncan joined
dduncan question - is it decided a canonical way to arrange Perl 6 modules in a lib/ dir accounting for multiple versions of the same module being installed at once? 22:28
I know Synopsis 11 (modules) talks about versioning packages, but I don't know about how this maps to common file systems
eg, if you have Foo::Bar, it might be stored as lib/Foo/Bar.pm if there was 1 version 22:29
masak djanatyn: [backlog] my ADHD approach to browsing beats your ADHD approach to browsing ;)
dduncan but what to do when there are multiple authorities or vnums?
masak djanatyn: at some point a few years ago, I had 4500 tabs open in Firefox. 22:30
arnsholt dduncan: If you have any brilliant ideas we're all ears I think
It's one of the things that haven't really been ironed out yet
tadzik S11 is not quite describing the current living module ecosystem 22:31
sorear dduncan: figuring that stuff out has been on my TODO list for a while
dduncan: I haven't worked out all the details yet, but one thing I am sure of is that a filesystem is not sufficient
masak there's been mumblings about a database of some kind handling the versioning. in some ways, I think that's sad, because it loses the contact with the file system.
sorear we're going to need some kind of package metadata database thing
djanatyn masak: wow :o
masak djanatyn: I'm not proud. 22:32
22:32 dduncan_ joined, dduncan left, dduncan_ is now known as dduncan
tadzik djanatyn: ooc, why did you give up on the bailador task? 22:32
sorear I do most of my browsing in a 212x78 elinks window. When the tab bar on row 76 gets to the point where I can only see 1 character from each title, I know I have too many open. 22:33
djanatyn tadzik: Too busy >_<
tadzik I see
I may want to hack up some POST support for it tomorrows
djanatyn I had a lot of things going on, and didn't put in the time I needed 22:34
sorear ...why does Bailador need special support from POST?
tadzik to better emulate Dancer
djanatyn I wanted to write a webapp that let users browse pod files.
I would only need GET for that
tadzik also, atm the callback doesn't get any information about the request
sorear oh, GET vs. POST 22:35
tadzik aye
sorear I heard "Parrot Opcode Syntax Tree"
tadzik heh
arnsholt masak: I sort of maybe agree with you. The files should probably still live in the FS, but some kind of additional metadata DB is definitely needed
And the filenames should have some kind of (reasonably) transparent connection with the metadata 22:36
Modulo FS constraints and all that
sorear I also think we need to make the concept of "distributions" more manifest 22:37
22:38 pat_js joined
arnsholt Yeah, that probably makes sense 22:38
sorear if we have 20 versions of BigFramework installed, when BigFramework.pm says "use BigFramework::SupportingModule", Perl 6 needs to pick out the matching version
masak nod 22:39
arnsholt Indeed
masak there's a missing level of packaging there that I've been wanting to formalize; I called it "project" back in the day.
but "distribution" is a nice name, too.
it's what the C-sharpers call "assembly", I think.
arnsholt What other languages define module/ecosystem stuff as part of the spec? 22:40
(Assuming there is one)
Yeah, C# has some kind of versioning voodoo AFAIK
sorear Java's jars exist at the same Platonic level 22:41
arnsholt They're not versioned though, are they? 22:42
dduncan arnsholt, sorear, masak, I found myself wanting to solve essentially this problem, but perhaps slightly more complicated, right away, so I thought I'd look for precedents, but if there aren't any, I will come up with something workable
and I think we should have something that works well in the filesystem 22:43
but at the same time is also abstract enough
to not depend on the filesystem
eg, I believe that the package namespaces should be mappable to multiple storage methods
eg a tree of filesystem files, or a relational database say
the latter say useful when you want to have packages that live in the database 22:44
say for PL/PgPerl some day
my immediate context is that I'm now moving to actually implement my Muldis D language, which borrows a lot from Perl 6 in design and syntax but also focuses on database features 22:45
and I'm writing code right now that needs to work with multi-versions
so I'll invent something there that I think would likely work for Perl 6 too
besides auth and vnum variants, I also have another aspect to work in 22:46
which is segmenting
say if we have a logical package which is very large and we want to split it into multiple files for easier maintenance
I'm thinking Perl's autosplit functionality might be an analogy, but in my case it would be more manual, users decide on how to break up a logical packaeg
geef perl6? more like bitchassnig8 22:47
dalek ecza: 43fb0e8 | sorear++ | docs/announce.v13:
First draft of announce.v13
ecza: 877780f | sorear++ | test3.pl:
Some more regex tests... should merge these into roast
22:47 geef left
dduncan I had figured that say if Foo was splitup, then its pieces might go in the filesystem say as Foo/* but then we'd also need a way to not conflict with pages named Foo::* 22:47
so it seems the problem is like the multi-auth thing
they could all be solved in the same way 22:48
within the language isn't an issue, I have different syntax for referring to segments than normal packages
so its just the external view to figure out
now one might ask, why not split into smaller packages, but I prefer not to when they have mutual inter-dependencies 22:50
such as a package to define the language core
that is all
sorear nom: sub foo($x where 2 where 3) {$x} 22:51
p6eval nom eb6c4b: ( no output )
dduncan note that segments are a detail private to a package, that users would not see
22:54 raiph joined
dduncan one possibly complicating detail, for Perl 6, is that explicit declaration of an auth or vnum for a package is optional 22:54
22:54 kaare_ left
dduncan so then the question is to what to do with those when slotting them ... I suppose make the auth or vnum "undef" as its value 22:55
while not in the filesystem, is it defined how Perl internally deals with this? 22:56
distinguishing long names where auth or vnum are specified in a package declaration versus not?
22:58 tokuhirom joined
dduncan I thought, while not ideal, one possibility is to do like what happens with Pod rendered into other formats, and flatten the actual filesystem, so that say Foo::Bar becomes in the file system lib/Foo::Bar.pm or such 23:02
and then subdirs could be used to organize by auth or vnum etc
this would avoid certain name conflicts
on filesystems that don't let : in filenames there can be a simple encoding, like with say Pod rendered as man pages 23:03
the main downside is thousands of items at the same level
though if Perl 6 is for more modern systems that may be less of an issue
so then, for a package Foo::Bar:auth<dduncan>:vers<1.2.3> we could have lib/Foo::Bar/dduncan/1.2.3.pm or some such 23:05
or that could be partially inverted 23:06
lib/dduncan/Foo::Bar/1.2.3.pm
23:07 lichtkind joined
dduncan keep in mind that the hierarchy is just meant to be an approximation of an ideal organization, which would probably resemble a relational database instead 23:08
pmurias dduncan: lib/Foo::Bar/dduncan/1.2.3.pm seem to be a lot less convinient to work with than Foo/Bar.pm 23:10
lichtkind index A has now 654 items 23:11
looks like perl 6 is fat ehm rich enough to get thousand 23:12
pmurias dduncan: so we would be storing the code in the working copy differently and in the module storage differently
dduncan: which seems a bit confusing
arnsholt Yeah, that'd be odd
I think sorear's onto something with the distribution concept 23:13
One possible solution then is to have lib/$dist-$auth-$ver/Foo/Bar.pm 23:14
pmurias lib/$sha_of_the_content seems better 23:16
arnsholt Better for the computer, but it'll make digging around in the FS cache hell 23:17
sorear colomon?
pmurias arnsholt: use a tool which spits out a directory full of cute symlinks? 23:19
sorear I would think that is missing the point 23:20
pmurias sorear: what are we trying to achieve? 23:22
dduncan to be clear, what I'm proposing is meant to be the same layout both for working and install 23:23
same as it is for Perl 5
XS notwithstanding
pmurias dduncan: anything longer then lib/Foo/Bar is unusable for me
dduncan anyway, its just an idea
pmurias for working
dduncan pmurias, so what layout do you propose when you have 2 Foo::Bar? 23:24
pmurias in the same working dir?
dduncan yes
masak I'm going to bed now, but I just wanted to say that I'm tickled pink about the uptake on p6cc this year. it's beyond my expectations.
'night
dduncan or are you thinking of working and install dirs being different
ruoso thinks about the way shared objects are handled... 23:25
sorear night masak
ruoso lib/Foo/Bar.pm.2.3.1-dduncan
dduncan there might be someone who wants to distribute multiple versions of something together
ruoso lib/Foo/Bar.pm -> Bar.pm.2.3.1-dduncan
if that is the default version
masak ruoso: that doesn't look right -- versions are subordinate to auths.
really & 23:26
dduncan yes, versions subord to auths
pmurias dduncan: i'm considering install dirs different
sorear and auths are supposed to be URIish
dduncan sure, fair enough
ruoso different install dirs are very confusing
dduncan mainly I'm concerned with distribution dirs and working dirs which would probably be alike
23:26 pat_js left
dduncan or at least I'm used to it being that way 23:26
ruoso I would expect to have the version and author encoded in the file name... 23:27
which means different versions from different authros can fit in the same paths
dduncan ruoso, I had thought similar
so then, say lib/Foo/Bar-dduncan/2.3.1.pm
ruoso Nope
the filename 23:28
dduncan I mean -2.3
what then, lib/Foo::Bar-dduncan-2.3.1.pm?
ruoso lib/Foo/Bar.pm-dduncan-2.3.1.pm
dduncan I just said that
ruoso lib/Foo/Bar.pm-dduncan-2.3.1
dduncan oh
so the .pm isn't at the end
pmurias so when i increment the version i have to rename all the files?
ruoso presumably you don't... just your dist script
dduncan not having the .pm at the end would be a bit of a shift for me ... 23:29
ruoso your "make dist" will createe the archive with the proper names
dduncan: my reference is shared libraries... libfoo.so.0.0.1
dduncan in fact arguably the .pm is more to help the operating system, and ideally Perl itself wouldn't need it, except say to have a different name for a module and a directory
okay, if that's how shared libraries work
23:30 drbean left
dduncan but would that be more installed names? because I kind of wouldn't expect to have the 0.0.1 in the name of the file in version control 23:30
ruoso that would only be the installed names, yes 23:31
as I just said...
presumably, your make dist will create the archive with the names derived from your local files and the version metadata
dduncan ruoso, okay
ruoso the qustion then, is how to choose the default version... 23:33
and also... how to get the correct versions of modules in the same distribution 23:34
arnsholt And figuring oou 23:36
23:36 simon__ left
arnsholt Bah, premature carriage return 23:36
And figuring out what to do when someone bundles someone else's module in their dist
23:37 drbean joined
ruoso Well, one could argue that bundles are "virtual" so the authorship and versions are the ones from the actual packages 23:37
colomon sorear: pong? 23:38
dduncan yes
what the actual packages declare should determine their placement
I consider distros to just be an archive of a subset of all the modules
that might be installable
and that the installed set is a different subset 23:39
the same package would live in the same place in all subsets of which it is a part, as defined by the package name inside it
as an exception, if a package doesn't internally define an auth or vnum, that can be auto-filled from the distro like a shorthand 23:40
but they would all have auth and vnum when they get into an installation, or fail to install
with my language I'm a bit different in making declared auth and vnum in a package mandatory
ruoso I once argued for distinct "source" dists and "install"d dists
dduncan and so avoid that particular issue 23:41
23:41 lichtkind left
dduncan I prefer that a distro or a development dir is laid out so things can just run out of them directly, like a separate install 23:41
if they had similar layouts that would help 23:42
ruoso that is only true for modules that have no XS
dduncan yes
ruoso so even in the current scenario, you will run things pointing to "blib" instead of "lib" 23:43
dduncan or if otherwise what is in the dist has to be "compiled" before executing
oh, right
23:43 ksi left
ruoso so, that fits the current world as well 23:43
dduncan maybe that's the solution then, lib/ can be less verbose, and blib/ has all the -auth-vers appended 23:44
or otherwise the more verbose layout
ruoso that was my thought
colomon sorear: gotta read to the little guy for a few. back in 90min
ruoso and I would advocate for a "binary package" with the contents of "blib"
but that invokes all sorts of other issues 23:45
dduncan there is a middle ground though
you could distribute somethiing analagous to bytecode in blib/
ruoso but then you get issues with binary compatibility, specially if your linking toi native code 23:46
so, let's not make the jump to binary packages yet
dduncan eg, in a Perl 6 module distro, you could distribute both Perl 6 source, the canonical thing, and also parrot bytecode for convenience, or versions of the Perl 6 compiled to other things
sure
in the case with my Muldis D language though, the language is bootstrapped, but I'm initially bootstrapping with Perl 5 or Perl 6 or something else, so I'd have to bundle a version in the latter form for anyone to be able to run my language 23:47
that's what I was getting at for middle ground 23:48
ruoso well, you need two phase-build
dduncan well for that matter its like building the Perl 6 STD.pm and compiling Perl 6 wit hthat
or Perl 6 standard libs
ruoso sure, you need to compile the compiler somehow 23:49
dduncan I am doing the analogy in my language, as the canonical version of my language libs and compiler are written in my language
anyway, that's more FYI, I don't need to discuss it
its mainly relevant in that I"m largely emulating the Perl 6 ecosystem with Muldis D, so what's good for one may be good for the other 23:50
23:51 risou_awy is now known as risou