»ö« 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«12345» | ||
simon__ | nom: my @xs = 1..5; @xs = gather for @xs -> $x { take $x }; .say for @xs; | ||
p6eval | nom eb6c4b: OUTPUT«12345» | ||
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⏏+5Unhandled 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
|