»ö« 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:00
Trashlord left,
abercrombie joined
00:01
rgrau left
00:02
Trashlord joined
00:13
risou is now known as risou_awy
00:21
cexsum joined
|
|||
benabik | std: /<.*>/ | 00:32 | |
p6eval | std e3c970e: OUTPUT«===SORRY!===Unable to parse metachar at /tmp/rRNjsvYMDv line 1:------> /⏏<.*>/Couldn't find final '>'; gave up at /tmp/rRNjsvYMDv line 1:------> /<.⏏*>/ expecting any of: assertion dotty method or post… | ||
00:36
cexsum left
|
|||
soh_cah_toa | perl6: say 'foobar' if "foo" ~~ m:P5/[a-z]/ | 00:38 | |
p6eval | niecza v8-62-g9e4b0e4: OUTPUT«Unhandled exception: Autoloading NYI at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2)  at /home/p6eval/niecza/src/STD.pm6 line 4606 (STD Regex.tweak @ 6)  at /home/p6eval/niecza/src/STD.pm6 line 489 (STD C191_ANON @ 2)  at /home/… | ||
..rakudo a55346: OUTPUT«===SORRY!===Confused at line 22, near "if \"foo\" ~"» | |||
..pugs: OUTPUT«foobar» | |||
soh_cah_toa | had a feeling :P5 was nyi | 00:39 | |
00:42
cexsum joined
00:43
jdhoreOTG is now known as jdhore
01:09
woosley joined
01:40
cexsum left
01:46
whiteknight left
02:31
soh_cah_toa left
02:32
soh_cah_toa joined
02:40
Reaganomicon left
02:52
lichtkind joined
|
|||
lichtkind | nom does not @.categorize | 02:52 | |
02:55
mkramer left
02:56
mkramer joined
|
|||
abercrombie | Hi, in P5 we can do radix conversion using functions like oct(). What's the according one in P6? I know adverb :8() works for single target. How can I convert a batch of numbers? | 03:06 | |
phenny | abercrombie: 28 Aug 19:08Z <moritz> tell abercrombie about irclog.perlgeek.de/perl6/2011-08-28#i_4337460 (calling functions by name) | ||
TimToady | well, there's always map | 03:08 | |
abercrombie | yeah, so there is no conversion function taking an array as argument? | 03:09 | |
TimToady | not yet | ||
abercrombie | Oh, Thanks. | 03:10 | |
sorear | why should there be? | ||
03:11
[Coke] left
|
|||
TimToady | it might happen by accident :) | 03:11 | |
like it did in the other direction | |||
rakudo: say <1 3 5 9>.fmt('%b') | 03:12 | ||
p6eval | rakudo a55346: OUTPUT«1 11 101 1001» | ||
03:14
imbafrog joined
|
|||
abercrombie | How to use adverb with map please? | 03:16 | |
oh, i see. my bad | 03:18 | ||
03:18
[Coke] joined
|
|||
sorear | I don't think map takes adverbs | 03:19 | |
abercrombie | I mean @a.map({:8($_)}) | 03:20 | |
sorear | ah. | 03:24 | |
FWIW, that's not considered an adverb | |||
Adverbs are when a colon-pair is used to modify a call, such as %hash{$key} :exists | |||
abercrombie | Isnt :8($var) an adverb? | 03:25 | |
03:28
wolfman2000 left
|
|||
sorear | abercrombie: no | 03:29 | |
:8($var) is a colonpair | |||
a colonpair only becomes an adverb when it is used in a syntactic infix position | |||
abercrombie | Ah, then I just misunderstood the SYN. It calls :8() "adverbial forms" and I treated it as "adverb". Thanks for correcting me. | 03:30 | |
sorear | hmm, some oddity | 03:31 | |
03:35
frhodes joined
|
|||
abercrombie | (TimToady,sorear,moritz)>>++ for helping. Good night #perl6. | 03:37 | |
sorear | bye | ||
03:38
abercrombie left
03:42
lichtkind left
|
|||
[Coke] | masak: (testing) how do you test your web apps? | 03:52 | |
04:06
DarthGandalf left
04:07
HarryS joined
04:13
DarthGandalf joined
04:19
kaare_ joined
|
|||
dalek | ecza: 4cbf060 | sorear++ | lib/ (2 files): Reimplement &warn using resumable control exceptions; allows for CONTROL blocks to catch warnings, and adds backtrace capability |
04:20 | |
sorear | rakudo: ~Any; | 04:21 | |
p6eval | rakudo a55346: ( no output ) | ||
sorear | rakudo: Any.Str | ||
p6eval | rakudo a55346: ( no output ) | ||
sorear | rakudo: +Any | ||
p6eval | rakudo a55346: OUTPUT«Use of uninitialized value in numeric context in 'Any::Numeric' at line 1498:src/gen/core.pm» | ||
04:21
soh_cah_toa left
|
|||
sorear | nom: ~Any | 04:22 | |
p6eval | nom 184833: OUTPUT«Use of uninitialized value in string context» | ||
04:23
frhodes left
|
|||
sorear | evalbot rebuild niecza | 04:23 | |
p6eval | OK (started asynchronously) | ||
sorear | niecza: ~Any | 04:25 | |
p6eval | niecza v8-63-g4cbf060: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/lib/CORE.setting line 588 (CORE warn @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 21 (CORE Mu.Str @ 12)  at line 0 (ExitRunloop @ 0)  at /tmp/V7CPMCOatu line 0 (MAIN mainline… | ||
04:26
araujo left
04:27
birdwindupbird joined
04:31
jevin left
04:33
jevin joined
05:00
[Coke] left
05:07
jevin left
05:09
jevin joined
05:31
[particle]1 joined
05:34
[particle] left
05:37
odoacre joined
05:39
wamba joined
05:40
[particle]1 is now known as [particle]
05:48
wtw joined
05:53
araujo joined
05:56
HarryS left
|
|||
dalek | ecza: a39a953 | sorear++ | src/ (5 files): Suppress all undef warnings triggered by the compiler reboot procedure |
05:57 | |
05:58
cognominal left
06:01
HarryS joined
06:02
wamba left
06:04
imbafrog left
06:07
ZaphrodZenovka left,
ZaphrodZenovka joined
06:14
koban joined,
koban left
06:17
sayu joined
06:21
lue left
06:28
Vlavv joined
06:37
frhodes joined,
frhodes left
06:52
mberends left
06:54
baest joined
06:55
mj41 joined
06:58
mberends joined
|
|||
mberends | phenny, tell lichtkind the reason nom does not have categorize() is probably that no tests exist for it at all to remind the developers (I plan to fix that today) | 07:06 | |
phenny | mberends: I'll pass that on when lichtkind is around. | ||
sorear | mm, 4 failing test files | 07:11 | |
will fix those tomorrow and ship | |||
also need to write an announce | |||
sorear out. | |||
07:12
wamba joined
07:17
mishin joined,
drbean left
|
|||
moritz | good morning | 07:52 | |
\o/ new HPMoR chapter! | |||
08:02
im2ee joined
08:03
domidumont joined
08:13
daxim joined
08:14
wamba left
08:22
zamolxes left
08:23
zamolxes joined,
cexsum joined
08:32
sayu left
08:34
agentzh joined
|
|||
mls | morning perl6! | 08:49 | |
08:49
wamba joined
|
|||
moritz | good morning mls | 08:52 | |
08:53
SHODAN joined
|
|||
bbkr_ | good morning() | 08:55 | |
09:08
cexsum left
09:10
orafu left,
orafu joined
09:11
cexsum joined
|
|||
moritz | phenny: tell [Coke] that I've blogged a new grant progress report at perlgeek.de/blog-en/perl-6/grant-re...ors-3.html | 09:14 | |
phenny | moritz: I'll pass that on when [Coke] is around. | ||
09:15
cexsum left
09:20
frhodes joined
|
|||
daxim | moritz, $blog_entry =~ s/Bactrace/Backtrace/ | 09:20 | |
moritz | daxim: thanks, fixing... | 09:24 | |
fixed. | |||
09:32
woosley left
|
|||
daxim | can I see some examples for error messages in action? | 09:32 | |
09:36
Searle3 joined,
Searle3 left
|
|||
moritz | daxim: sure, just use nom to hack some Perl 6 scripts | 09:37 | |
moritz prepares an example | |||
daxim: nopaste.snit.ch/75672 | 09:39 | ||
I have no idea why it reports something for line 1 | 09:40 | ||
and it doesn't yet know about the mainline | 09:41 | ||
so not perfect yet | |||
09:47
masak joined
|
|||
masak | [Coke]: "how do you test your webapps?" is almost as general a question as "how do you test your programs?". a webapp could be anything. :) | 09:48 | |
but my general principle is always to seek out and isolate, as much as possible, the side-effect-free "business logic". this often turns out to be the reason for building the webapp in the first place, and the thing where tests have the highest ROI. | 09:49 | ||
I was surprised today to discover that &exit in Perl 5 isn't a listop, but acts more like a prefix op, like &defined. | 09:51 | ||
perl6: exit 0 || (say "OH HAI") | |||
p6eval | pugs: ( no output ) | 09:52 | |
..rakudo a55346, niecza v8-64-ga39a953: OUTPUT«OH HAI» | |||
masak | rakudo++ niecza++ | ||
frettled_ | masak: Why would exit() operate on lists? | ||
masak | no need, of course. | 09:54 | |
but I didn't expect it to be a prefix. | |||
just like, say, prefix:<-> | 09:55 | ||
frettled_ | But it isn't really an operator, it's a function, so, uhm? | 09:56 | |
(IDGI) | |||
masak | frettled_: perl -e 'exit 0 || 7'; echo $? | 10:00 | |
frettled_: what's the exit code? | |||
10:00
cognominal joined
|
|||
moritz | frettled_: nearly all built-ins in Perl 5 are operators | 10:01 | |
for example open() | |||
masak | I think using Perl 6 has given me the expectation that things should be listops most of the time. | 10:02 | |
10:05
whiteknight joined
|
|||
masak | whiteknight: greetings. | 10:06 | |
whiteknight | hello masak | ||
masak | whiteknight: how's things going with 6model? | 10:08 | |
whiteknight | masak: it's going reasonably well. I need to take another look at it today | 10:10 | |
masak | \o/ | 10:13 | |
10:14
uasi joined
|
|||
mberends | what's the p6 equivalent of isupper() ? | 10:21 | |
10:23
frhodes left
|
|||
mberends | rakudo: my $a = "A"; say ?($a ~~ /<[A..Z]>/) # ugly, not Unicode friendly and probably inefficient | 10:26 | |
p6eval | rakudo a55346: OUTPUT«Bool::True» | ||
10:26
dukeleto left
10:27
dukeleto joined
|
|||
snarkyboojum | could do $a ~~ $a.uc? | 10:28 | |
phenny | snarkyboojum: 25 Aug 18:18Z <moritz> tell snarkyboojum about the nom branch in github.com/moritz/Perl6-MIME-Base64 (but it breaks it on master :/ -- I don't think there's a way to fix it for nom without breaking it on rakudo/master) | ||
masak | yes, $a ~~ .uc would do it, I think. | 10:29 | |
snarkyboojum | ah.. ~~ .uc lovely | ||
10:30
im2ee left
|
|||
mberends | snarkyboojum++ | 10:30 | |
10:33
im2ee joined
10:39
koban` joined,
koban` left
|
|||
mls | argh! the mem leak is gone if I put a "sweep 1" op in the code! | 10:39 | |
(or parrot is just so slow afterwards that I don't see it anymore...) | 10:41 | ||
mberends | mls: what would that imply about parrot's GC routines? | ||
mls | dunno. must investigate further... | 10:42 | |
10:43
im2ee left
10:50
satyavvd joined
10:53
satyavvd left,
satyavvd joined
10:56
pernatiy left,
satyavvd left
10:57
satyavvd joined
|
|||
frettled_ | masak: Well, according to perldoc -f exit, exit expects an expression as its argument. As with other listing EXPR as its argument, I expect exit to follow expression precedence rules. So while print() accepts LIST as its argument, exit accepts EXPR. (There may be precedence goblins that I don't se here, though.) | 11:03 | |
moritz: What you mean is that exit(), open() etc. are implemented as operators, although they are not "specified" as such in the Perl documentation? | 11:06 | ||
Perl 5, that is | |||
masak: Regarding your example, though, I'd consider it bad style, and a high risk of gremlins, since 0 || b can give you 0, "true" or b, depending on context. :) Is it more consistent with Perl 6? | 11:08 | ||
11:08
dakkar joined
|
|||
mberends | because exit is flow control I would want it to behave like return, only stronger | 11:09 | |
11:10
cosimo joined
11:13
MayDaniel joined
11:18
Reaganomicon joined
11:20
dakkar left
11:24
Tedd1 joined
|
|||
masak | frettled_: you didn't answer my question and I don't understand your objection. | 11:25 | |
frettled_ | masak: which objection? | ||
masak | that it's bad style. | 11:26 | |
and might give different results in different contexts. | |||
frettled_ | masak: I'd expect gremlins when you use a notation like that, and I'd probably avoid typing it out like that in the first place. | ||
masak | I see that it can, I just think the context is clear here. | ||
but that's not at all pertinent to what I wanted to show with my example. | |||
frettled_ | Okay | 11:32 | |
masak | my point is that it parses as (exit 0) || 7, not exit(0 || 7) | 11:33 | |
frettled | masak: to answer your question with another question: how do you expect: open(my $F, '|filename') || 7; to work in Perl 5? | 11:34 | |
With or without parentheses :) | |||
Synopsis: open FILEHANDLE,EXPR | |||
masak | I generally expect things to be listops. | 11:36 | |
frettled | Surprise: it behaves exactly as exit(). | ||
And AFAICR, it has to do with the EXPR thing | |||
masak | the only exception I can think of is that I liked that defined is actually an operator. | ||
frettled | So yes, Perl 5 holds some surprises, because different builtins behave differently, and you can't program «intuitively». | 11:37 | |
mberends | so I write this first test for categorize(), and only then discover that it's not even implemented! D'oh! | 11:51 | |
masak | no, it's fairly newly spec'd. | 11:52 | |
11:52
JimmyZ_ joined
|
|||
mberends | phenny, tell lichtkind I'll get you for this! (categorize) | 11:52 | |
phenny | mberends: I'll pass that on when lichtkind is around. | ||
11:53
satyavvd left
|
|||
JimmyZ_ | is there a destructor method in perl 6? | 11:53 | |
11:53
wamba left
|
|||
masak | JimmyZ_: a DESTROY submethod, yes. | 11:54 | |
12:00
JimmyZ_ left
12:03
renormalist|work left
12:04
icwiener joined
12:17
[Coke] joined
12:19
uasi left
|
|||
djanatyn | *yawn* | 12:20 | |
I woke up early today, specifically to have some time for playing with perl6. :) | |||
12:22
cexsum joined
|
|||
masak | yay | 12:23 | |
12:25
JimmyZ_ joined
12:26
JimmyZ_ is now known as JimmyZ
|
|||
djanatyn | ...hmm. Think I just overwrote my .emacs file. | 12:27 | |
12:38
lateau_ joined
|
|||
[Coke] | I am reminded that I need to put all that into a git repo. | 12:39 | |
phenny | [Coke]: 09:14Z <moritz> tell [Coke] that I've blogged a new grant progress report at perlgeek.de/blog-en/perl-6/grant-re...ors-3.html | ||
12:40
im2ee joined
|
|||
[Coke] | what, am I everybody's grant cop? | 12:46 | |
that reminds me. | |||
phenny, ask pmichaud if that grant thing is still ongoing and if I should poke him about it. | |||
phenny | [Coke]: I'll pass that on when pmichaud is around. | ||
12:50
[Coke] left
12:52
[Coke] joined
12:55
bluescreen10 joined
13:11
lateau_ left
13:19
drbean joined
13:24
hatseflats joined
|
|||
mls | hah! found the while(1) {} mem leak | 13:28 | |
masak | \o/ mls++ | ||
mls | I don't think it's responsible for the slowness, though | 13:29 | |
moritz | mls: 1.Bool leaks | ||
mls: since the patch that added :D to the invocant | 13:30 | ||
mls | all multis leak | ||
13:30
lateau_ joined
|
|||
moritz | extra points for a patch :-) | 13:30 | |
mls | since jnthn changed the way protos get called | ||
13:31
wamba joined
|
|||
mls | patch: gist.github.com/1178393 | 13:31 | |
BUT: parrot currently doesn't export Parrot_pcc_free_registers | 13:32 | ||
the invoke() call clobbers the current registers, so they need to be freed first | |||
that was really hard to track down... | 13:33 | ||
moritz | I can imagine | 13:35 | |
moritz tests | 13:36 | ||
iirc some windows compilers or linkers are stricter about non-exported symbols | |||
so that might get us into trouble | |||
[Coke] | I can try a build on windows if you need. | 13:37 | |
mls | you need to add an "EXPORT" to parrot | ||
moritz | already fails on linux | ||
mls | yes. | ||
[Coke] is happy moritz has commit bits there. ;) | |||
mls | actually rakudo is doing some evil parrot hacks in the perl6_enter_multi_dispatch_from_onlystar_block op, maybe we should ask the parrot guys to add an "official" way for us | 13:40 | |
we basically want to do a tailcall without changing the already set arguments | 13:41 | ||
13:41
whiteknight left
|
|||
mls | i.e. we want to reuse the callcontext | 13:41 | |
13:44
JimmyZ left
13:47
SHODAN left
13:49
mtk joined,
JimmyZ joined
13:53
drbean left
13:59
PacoLinux joined
14:07
woosley joined,
wtw left
14:10
M_o_C joined
14:13
uasi joined
14:21
uasi_ joined
14:24
uasi left
14:28
woosley left
14:30
woosley joined,
thou joined
14:35
M_o_C left
14:38
uasi_ left
14:40
jevin left
14:41
jevin joined
14:47
Holy_Cow joined,
sjn left
14:49
tokuhirom joined
14:51
jevin left
14:54
jaldhar left
14:56
jevin joined
14:58
mtk left
14:59
mtk joined
15:01
mtk left
15:03
mtk joined
15:04
birdwindupbird left
15:05
im2ee left
15:06
risou_awy is now known as risou,
aloha left
15:11
mkramer left,
aloha joined
15:14
pernatiy joined
15:16
im2ee joined
15:19
agentzh left,
mtk left
15:33
wamba left,
mkramer joined
15:34
mkramer left
15:35
mtk joined
15:36
im2ee left
15:38
masak left
15:39
Holy_Cow left
15:45
wamba joined
|
|||
TimToady | today seems very...mondayish... | 15:46 | |
[Coke] | TimToady: funny thing about that. | ||
TimToady: how's things? Looking forward to the Hobbit movie? | 15:47 | ||
TimToady | it's not really on my radar yet--still recovering from my spring and summer | ||
JimmyZ | will be tuesday after 13 mins | ||
TimToady | JimmyZ: I thought about you specially when I said it :) | 15:48 | |
[Coke] | I have no idea when it's even coming out, but hopefully I will have finished reading the book to my youngest before then. ;) | ||
JimmyZ | yeah, I'm from the near futher | ||
TimToady | though I guess it's already tomorrow in .jp | 15:49 | |
15:51
baest left
|
|||
PerlJam | [Coke]: I hope Peter Jackson gets the Hobbit righter than he got the ending of The Return of the King | 15:51 | |
TimToady | "a novel is a prose narrative of some length that has something wrong with it." --Randall Jarrell | 15:55 | |
15:56
jedai joined
15:58
whiteknight joined
16:01
im2ee joined
16:07
woosley left
|
|||
TimToady | btw, niecza++ runs rosettacode.org/wiki/Resistor_mesh 96 times faster than rakudo; couldn't get it to work under nom (but didn't try very hard) | 16:13 | |
C, of course, runs it much faster than niecza :) | 16:15 | ||
JimmyZ | parrot-- | ||
16:18
mj41 left
16:23
whiteknight left
16:24
donri joined
16:29
whiteknight joined
16:37
JimmyZ left
|
|||
flussence | I'm about ¼ finished with these graphs now - github.com/flussence/specgraphs/ra...-tests.png | 16:38 | |
(would've been slightly further along, but some tests were getting stuck in infinite loops so I had to rig something up to babysit the process) | 16:39 | ||
daxim | svg plox | ||
flussence | k | 16:40 | |
plobsing | oooh shiny | ||
16:40
sjn joined
|
|||
flussence | here you go, I don't think github serves the correct mimetype though... github.com/flussence/specgraphs/bl...-tests.svg | 16:41 | |
16:47
thou left
|
|||
mls | vi | 16:56 | |
(oops, wrong window) | |||
sjohnson | vi == good | ||
16:59
explorer__ left
|
|||
mls | about the setting compilation being slow: it seems to use 20% of the time for find_method | 17:00 | |
plobsing | vii == better ;) | ||
mls | (i.e. the method_cache is often not set) | ||
17:01
avi_ joined
|
|||
mls | jnthn, where art thou? ;) | 17:01 | |
tadzik | oh, the backlogging... | 17:02 | |
phenny | tadzik: 26 Aug 14:01Z <moritz> tell tadzik that github.com/perl6/modules.perl6.org...ed348b4f9b makes IO::Select show up on modules.perl6.org again. | ||
tadzik | hello #perl6 | ||
flussence | yay it's tadzik o/ | ||
tadzik | moritz: good catch, moritz++ | 17:03 | |
[Coke] grumbles about grumbling about parrot's speed. | 17:04 | ||
moritz | tadzik: btw I think your last Pod patch broke a test | 17:05 | |
tadzik | oh? | ||
moritz | S02-whitespace_and_comments/begin_end_pod.t iirc | 17:06 | |
no wait, S02-whitespace_and_comments/end-pod.t | |||
tadzik | what did I introduce last time, hmm | 17:07 | |
specialcasing of =config I believe | |||
I'll look into that, let me just sort out dozen of emails and dozens of RSSes ;) | |||
moritz | don't hurry :-) | 17:08 | |
hope you had a nice weekend | |||
17:08
masak joined,
ZaphrodZenovka left
|
|||
masak | g'devening. | 17:08 | |
tadzik | oh, masak-san! | ||
masak | tadzik! \o/ | 17:09 | |
I've *missed* you! how long've you been away? three days. | |||
tadzik | ;) | ||
don't worry, I'm back for some timez | |||
masak | feels like four days, at least. | ||
tadzik | my physics exam is starting to look angry at me from the calenda | ||
r | |||
masak | oh, you studious you. | 17:10 | |
mls | afk... | ||
17:10
avi_ left
17:12
sftp left
|
|||
tadzik | oh, new hpotamor | 17:12 | |
masak | I got halfway through it on the bus home. | 17:13 | |
17:13
sftp joined
|
|||
tadzik | I just read the previous one on the metro back home | 17:14 | |
Please contact your mentor to discuss the results of | 17:20 | ||
your evaluation and to plan your goals and development plan for the rest of | |||
the program | |||
intredasting | |||
masak | hi :) | 17:21 | |
tadzik | (: | 17:22 | |
17:23
sftp left
17:24
sftp joined
|
|||
dalek | nda: 88c01da | duff++ | bin/panda: Add ability to search module names/decriptions using regex |
17:28 | |
nda: c57f79b | duff++ | bin/panda: Add simple word-wrap on searched descriptions |
|||
nda: f0748e6 | tadzik++ | bin/panda: Merge pull request #10 from perlpilot/search Search |
|||
17:30
sftp_ joined
17:31
sftp left
|
|||
moritz | tadzik: I feel contacted. :-) | 17:34 | |
the result is awesome, but not perfect | |||
tadzik still swims through the high seas of emails | |||
masak .oO( LTP ) | |||
tadzik | okay, I'm all ears then | ||
moritz | somebody (flussence?) noted that formatting codes don't nest correctly | 17:35 | |
sorry, I'm being called to dinner, bbl | 17:36 | ||
tadzik | oh, look, chromatic is bashing Perl 6 again | ||
masak | url? | ||
tadzik | www.modernperlbooks.com/mt/2011/08/...erl-6.html | 17:37 | |
masak | actually, that looks like reasoned consideration, not bashing. | 17:38 | |
tadzik | maybe I detect too much offence in that | ||
flussence: pingy | |||
masak | I disagree that Rakudo Star isn't/wasn't what it was supposed to be. | 17:39 | |
but beyond that, it was a good read. | |||
benabik | Looks more like "I'd like to use Perl 6 but can't because ___", which is useful as it provides input as to what modules R* should add. | ||
masak | getting to Perl 5's level of module goodness takes time, that's all. | ||
tadzik | maybe my angriness meter is playing silly after a few days of not-caring | ||
masak | maybe. | 17:42 | |
with me, it's the other way around. if I'm here too much, I start caring too much. | |||
no, we need more users like chromatic, who say "I'd use Rakudo, but it currently lacks these things". | 17:43 | ||
tadzik | agreed | 17:44 | |
sorear | good * #perl6 | 17:45 | |
flussence | I hit a brick wall while working on Pod::To::HTML... but I was on my netbook at the time so it was more of a slight bump :) | 17:46 | |
colomon | \o, colomon | ||
sorear | benabik: it's pretty clear to me that async IO and full-featured networking are the #1 enabling factors we're missing. I'll attack that next month. | ||
colomon | sorear++ | ||
benabik | sorear++, indeed | ||
sorear | btw, undef warnings in niecza have backtraces now. | 17:47 | |
oh, the reason niecza no longer passes p5chop and p5chomp... the test files are gone | 17:48 | ||
flussence | 3 things I've come across: the nested stuff is misparsed as moritz mentioned for me, various things ignore config and either parse too much or too little (C<...> mainly), and it'd make my life much saner if the Pod parser parsed L<foo|bar> and D<foo|bar> label/thing bits instead of having to do it myself | 17:49 | |
17:49
cognominal_ joined
|
|||
dalek | ast: 8f9a98d | (Martin Berends)++ | S32-list/categorize.t: [S32-list/categorize.t] four tests for categorize (added to spec 2011-01-14) |
17:49 | |
tadzik | flussence: I'm quite sure everything ignores =config, if that's what you mean :) | 17:52 | |
17:52
cognominal left
|
|||
tadzik | +1 on L<foo|bar> and friends | 17:53 | |
could you provide a testcase for failnesting? | |||
flussence | C<C<...>> misparses, I think | ||
tadzik | let me see that | 17:54 | |
flussence checks local copy of s26.html... | |||
tadzik | flussence: well, C<> doesn't treat it's content as verbatim, that's correct | 17:55 | |
but is that what you mean? | |||
the insides look fine to me | |||
I tried C<C<foo>>, and $=POD[0].content[0].content[1].content[1].content[0] indeed gives you "foo" :P | 17:56 | ||
dalek | kudo/nom: ebd4957 | (Martin Berends)++ | / (2 files): [src/core/List.pm] categorize() method and sub, add test to spectest.data |
||
flussence | hm, I might be looking at the wrong thing | ||
oh, found one | 17:57 | ||
"<p>The <code>U<</code>> formatting code specifies[...]" | |||
tadzik | hmm | ||
flussence | from "The C<U<>> formatting code" | 17:58 | |
tadzik | I assume that's "The C<U<>>" formatting code specifies"? | ||
yeah, I can understand the misparsing issue | |||
flussence | oh, a few lines down there's "C< <em>...<em/> >" which gets pretty messed up in output | 17:59 | |
sorear | rakudo: 1/0; say "alive" | ||
p6eval | rakudo a55346: OUTPUT«alive» | ||
sorear | perl6: 1/0; say "alive" | ||
p6eval | rakudo a55346, niecza v8-64-ga39a953: OUTPUT«alive» | ||
..pugs: OUTPUT«*** Illegal division by zero at /tmp/U_5PcLLx4G line 1, column 1-4» | |||
flussence | (if they're not meant to be verbatim, is that a bug in S26.pod?) | ||
tadzik | hmm | 18:00 | |
sorear | I'd like a show of hands for "pugs is right" | ||
benabik | rakudo: say 1/0 | ||
p6eval | rakudo a55346: OUTPUT«Inf» | ||
tadzik | verbatimness is less of an issue here, it's more like the document should be probably using «» | ||
so it can nest > | |||
otherwise, it's quite logical that a > ends what < has started | 18:01 | ||
benabik | … Isn't 1/0 NaN, not Inf? | ||
nom: say 1/0 | |||
p6eval | nom 184833: OUTPUT«Inf» | ||
flussence | but S26 says I I<can> use balanced delimiters :) | ||
tadzik | hmm | 18:02 | |
18:02
sftp_ left
|
|||
tadzik | I'll look into that in a second | 18:02 | |
18:02
sftp_ joined
|
|||
flussence | sorear: I agree with pugs. I don't think we should be emulating IEEE854 float semantics with arbitrary-precision numeric objects.... | 18:02 | |
(maybe with native types though) | 18:03 | ||
tadzik | fix memory leaks, patch by mls++ | 18:06 | |
woo! | |||
you mean it doesn't need 1.5 GB anymore? :P | |||
colomon | oooo, is it verified the patch works? | ||
flussence | oh, I'm compiling right now actually... | 18:07 | |
oh wait, this is one of those old revisions, never mind :) | |||
mberends | memory size is down some, but still high, almost 800MB on 32 bit, more on 64 | ||
tadzik | nihil novi it seems | ||
18:08
jevin left
18:11
jevin joined
|
|||
sorear | apparently, I accidentally made lives_ok/dies_ok treat warnings as "die" | 18:26 | |
18:26
bbkr joined
18:27
icwiener left
|
|||
sorear wonders if we want routines for testing warning-nature | 18:29 | ||
flussence | I want one of those! | ||
sorear | ? | 18:30 | |
flussence | (there's one test in Text-Tabs-Wrap that checks whether a thing that's supposed to warn actually does. It doesn't work properly) | ||
sorear | flussence: I'd like your input on a sensible API | 18:31 | |
moritz | sorear: maybe lives_ok/dies_ok need to become throws_ok/lives_ok with an optional :warn flag | 18:32 | |
flussence | that sounds a bit more sensible than what I had in mind | ||
moritz | sorry, throws-ok/lives-ok | ||
tadzik | :) | 18:33 | |
sorear | no, it's lives_ok | ||
18:33
REPLeffect left
|
|||
moritz doesn't care, as long as we are strangely consistent in some way | 18:34 | ||
masak | \o/ | ||
moritz | (straight forward consistent would be OK too) | 18:35 | |
moritz -> afk agian | 18:36 | ||
sorear | the user should design this | ||
masak | I'm busy | 18:38 | |
:P | 18:39 | ||
dalek | ast: 27b15f5 | sorear++ | S04-declarations/my.t: [S04-declarations/my.t] Niecza unfudging, warning suppression, do not rely on 1/0 throwing, SETTING::<> has two :s |
18:41 | |
sorear | masak: the user is flussence. | ||
and now I have to leave. | |||
flussence | hm, I was originally thinking of a warns_ok function, but having an exception type mask on lives_ok/etc. sounds better for everyone | 18:43 | |
(except implementors :) | 18:45 | ||
tadzik | oh, I thought you were volunteering? | 18:46 | |
:P | |||
18:47
REPLeffect joined
|
|||
flussence | I'm keeping myself busy already, trying to turn this Pod tree-walking/html-emitting stuff into two slightly more sane modules... | 18:48 | |
18:48
birdwindupbird joined
|
|||
tadzik | ooh, ++ | 18:49 | |
we really need something to detect Lists properly | 18:50 | ||
for now, we can detect elements | |||
how much that sucks for HTML or LaTeX, you know already :) | 18:51 | ||
masak | huh? it sucks for HTML or LaTeX? | 18:52 | |
flussence | masak: =item doesn't have a grouping thing, so the best we've got at the moment is wrapping each list item in a <ul> | ||
masak | oh, that little problem. :) | 18:54 | |
tadzik | yeah, to say it gently | 18:55 | |
masak | I believe it has a nice solution, and that you'll find it. | 18:56 | |
18:58
wamba left
19:07
dorlamm joined,
daxim left
|
|||
flussence | maybe I could borrow from the html5 parsing algorithm, they'll have something for loose <li> tags... | 19:12 | |
19:17
[particle]1 joined,
dukeleto left
19:20
[particle] left
19:21
[particle]1 is now known as [particle]
19:32
dorlamm left
19:34
TiMBuS joined,
lichtkind joined
|
|||
lichtkind | masak ping | 19:35 | |
phenny | lichtkind: 07:06Z <mberends> tell lichtkind the reason nom does not have categorize() is probably that no tests exist for it at all to remind the developers (I plan to fix that today) | ||
lichtkind: 11:52Z <mberends> tell lichtkind I'll get you for this! (categorize) | |||
19:35
dorlamm joined
|
|||
lichtkind | mberends: you want tests? | 19:35 | |
lichtkind jsut finished his slides, last one is a big thank you to jnthn++ and pmichaud++ | 19:36 | ||
mberends | lichtkind: I wrote 4 tests today, but more might be useful if they cover different code | 19:37 | |
lichtkind | mberends: link pls | ||
masak | lichtkind: you pang? | 19:38 | |
lichtkind | hahah | ||
mberends | lichtkind: github.com/perl6/roast/blob/master...tegorize.t | 19:39 | |
lichtkind | masak: i just wanted show you the slides | ||
masak | \o/ | ||
lichtkind | masak: kepher.kilo028.server4you.de/nightl...ctures.pdf | 19:43 | |
its up in 30 sec or so | |||
mberends: thanks | 19:44 | ||
masak looks | 19:45 | ||
lichtkind: those are excellent slides :) | 19:47 | ||
19:48
thou joined
|
|||
masak | *@( ... ) ? really? | 19:48 | |
lichtkind | masak: im happy you like it | ||
19:48
dukeleto joined
|
|||
lichtkind | but still tweaking it a bit | 19:48 | |
masak | isn't flattening just prefix:<|>? | ||
lichtkind | masak: *@ doesnt work in nom | 19:49 | |
but thats what i got from the syn | |||
| is something different | |||
thats just positional context for parcels | |||
thats slightly different to *@ | 19:50 | ||
or it was changed, iwasnt around for some month | |||
masak | lichtkind: s/How many elements has this list\?/How many elements does this list have?/ | 19:51 | |
lichtkind: I thought prefix:<*> for flattening arrays was killed looooong ago. | 19:52 | ||
tadzik | where did you get Lego Larry? | ||
lichtkind | tadzik: from the interwebs, i stole it from one of my older slides | 19:54 | |
tadzik | tee hee | ||
masak | lichtkind: @digits = 0..9 without the parentheses works in Perl 5 too. | ||
the common term for a "linear skipping" sequence is "arithmetic". you already have "geometric" in there. | 19:55 | ||
lichtkind | masak yes | 19:56 | |
i corrected the other too | |||
+otehr changes | |||
its 10% funnier in 2 minutes | |||
masak | lichtkind: "Works Ob Seq() Too"... "Ob"? | 19:57 | |
whoa, those pictures of jnthn and pmichaud both appear to be a few years old. | 19:58 | ||
19:59
whiteknight left
|
|||
masak | anyway, lichtkind++ | 19:59 | |
lichtkind | masak | 20:00 | |
you have better | |||
that of jnthn i would change | 20:01 | ||
but not that one of pm because there hes looks more fresh :) | |||
masak which slides is ob? | |||
20:02
whiteknight joined,
birdwindupbird left
20:03
mj41 joined
|
|||
lichtkind | masak: vound and corrected to : Works On Parcel() Too | 20:03 | |
masak | goodie | ||
mberends | lichtkind: categorize() implemented today in nom | 20:05 | |
lichtkind | good so i remove the npot implemented yet warning too | 20:06 | |
20:06
soh_cah_toa joined
|
|||
masak | whoa, mberends++! | 20:07 | |
20:07
envi left
|
|||
masak | lichtkind: I still think you're working on very old information with prefix:<*> and prefix:<**>, and that you should check that with someone. | 20:07 | |
lichtkind | yes i planed to do that | 20:08 | |
masak .oO( spec changes are not to be taken lichtly ) | 20:09 | ||
mberends | :) | 20:11 | |
lichtkind | if i can find it in syn i change it | 20:12 | |
20:12
bluescreen10 left
20:13
kaare_ left
|
|||
lichtkind | allright everything corrected unless the **, reload the pdf and spot the 2 new jokes | 20:14 | |
its up in 20 sec | 20:15 | ||
looks like lol ist now written LoL | 20:18 | ||
but *@ is still used in syn3 ? | 20:21 | ||
ist just slurpy or fossils? | |||
moritz | *@ in a signature is slurpy, and not a fossile | 20:22 | |
lichtkind | mberends++ for implementing categorize | ||
moritz | but that's not prefix:<*> | ||
lichtkind | moritz: just wanted to clear that up :) | 20:24 | |
moritz | (signatures are parsed sepcially, not with the operator precdence parser | ||
*specially | |||
) | |||
masak | they're like... a DSL... :) | ||
20:26
jferrero joined
20:28
molaf_ left
|
|||
lichtkind | | seems to not be implemented in nom+ | 20:28 | |
masak | nom: my @a = 1, 2, 3; sub foo($x, $y, $z) { say "$x $y $z" }; foo(|@a) | 20:29 | |
p6eval | nom ebd495: OUTPUT«1 2 3» | ||
masak | seems it is. | ||
20:29
bluescreen10 joined
|
|||
moritz | nom: sub f(*@a) { say @a.perl }; f 1, 2, 3 | 20:29 | |
p6eval | nom ebd495: OUTPUT«Array.new(1, 2, 3)» | ||
moritz | that's slurpy | ||
masak++ showed argument interpolation | |||
masak | I never *really* understood why slurpy could be * but argument interpolation couldn't. | 20:30 | |
moritz | std: |(my @foo) | ||
p6eval | std e3c970e: OUTPUT«ok 00:01 120m» | ||
moritz | perhaps we didn't want a prefix:<*> in the normal grammar? | 20:31 | |
masak | yes, but why? | ||
moritz | oh, because * is a term already? | 20:32 | |
having both a prefix and a term of the same name is bound to cause trouble, no? | |||
masak | this was before term:<*> existed. | ||
maybe just maybe we had @a[*-1], but we had no conception that it was as unsugared as it is now. | 20:33 | ||
20:33
sili is now known as railbait_heavy
|
|||
lichtkind | maybe your new is fresher | 20:33 | |
i just compile again | |||
but here | doesnt work | |||
masak | but no, even @a[*-1] came after argument interpolation switched to being | | ||
lichtkind: well, it works here :) | 20:34 | ||
20:34
railbait_heavy is now known as sili
|
|||
lichtkind | ist there a operator for LoL ? | 20:35 | |
moritz | masak: ah, but we do have (|$x) in signatures | ||
djanatyn | Do I need to put a semicolon on the ending curly brace of an if statement in perl 6? | ||
moritz | djanatyn: only if there's no newline after it | 20:36 | |
djanatyn | Or do I only have to do that to make cperl-mode happy? | ||
Ah. Is it considered good practice, then? | |||
moritz | only if there's no newline after it :-) | ||
tadzik | our best practices are built-in in the spec :) | 20:37 | |
masak | djanatyn: I put in the semicolon after the closing brace sometimes even when it's not needed. but that's not very often at all. | ||
djanatyn: if the statement is an assignment, I might, for example. otherwise it looks so weird. | |||
but it's mostly a nostalgic reaction. | |||
moritz | masak: to your p5 trained eye :-) | ||
djanatyn | Hmm. Maybe cperl-mode is just freaking out because I'm writing Perl 6. | ||
masak | or some foolish consistency. | ||
djanatyn | It's also doing *weird* things to my indentation. | ||
tadzik sleeps | 20:38 | ||
moritz | masak: what if you pass a block as argument? | ||
lichtkind | tadzik: good night | ||
masak | moritz: I'm not *that* well-versed in Perl 5, you know :P | ||
moritz: yes, probably then too. I dunno. | |||
moritz | do-something { \n code here \n } \n | ||
semicolon before the final \n ? | |||
masak | oh! it depends. | ||
is do-something a quasi-keyword? then no. | 20:39 | ||
is it just a "normal sub" that happens to take a code block as its argument? then yes. | |||
for me, it's more about usage than about extreme consistency. | |||
20:39
dorlamm left
|
|||
masak | essentially I want the code to lie consistently :P | 20:39 | |
lichtkind fixed **@ in tablets too | 20:40 | ||
20:41
mj41 left
|
|||
masak | yay | 20:41 | |
djanatyn | does anyone here write perl 6 in emacs? | ||
masak | lichtkind: it's infix:<||> now | ||
djanatyn: when I do, I use cperl too. | |||
but mostly I use vim with stubbornly crappy Perl 5 highlighting :( | 20:42 | ||
djanatyn | Hmm. | ||
moritz uses vim + perl6.vim | |||
unless it hits a pathologically slow case (very seldom), then I switch off syntax hilighting entirely | |||
djanatyn | Hmm. | 20:43 | |
I don't even care about incorrect syntax highlighting very much - cperl-mode is doing some very, very weird things with indetation. | |||
Also, I apologize for saying "Hmm." twice. ;) | |||
I'm in four different IRC channels, sometimes I get confused as to what I've already said. | 20:44 | ||
moritz | no problem | ||
djanatyn | (four channels simultaneously, I mean) | ||
moritz 's channel count as at 14, though not all of them are active simultaneously | |||
djanatyn | I've heard lots of good things about perl6.vim. | ||
djanatyn checks his channel chat | |||
moritz | it is maintained! | 20:45 | |
djanatyn | 9 right now in ERC. | ||
Still, I really don't want to switch from emacs to vim just to write perl 6. I'm really comfortable in emacs. | |||
I saw an elisp file specifically for perl 6 highlighting and indentation on the emacs wiki. | 20:46 | ||
It was hosted on the pug site's svn, and I wasn't able to access it. :( | |||
masak | ooh, a fellow ERC user! finally! \o/ | ||
djanatyn: I use Emacs for prose and vim for programming. YMMV. | |||
djanatyn | Yeah, emacs has some really good features, even besides writing code. | 20:47 | |
masak | yeah. | ||
I don't even look at editors without macro capabilities anymore. | 20:48 | ||
djanatyn | I personally have an emacs session running in tmux on a remote host that I ssh to - it's constantly running. | ||
masak | and regex-based commands feel like a requirement, too. | ||
20:48
tokuhirom left
|
|||
lichtkind | i think i delete that flatening and non flatening section completely | 20:48 | |
have way too much slides anyway | |||
djanatyn | I write my code locally, and use org-mode pretty frequently too. | ||
moritz | djanatyn: fwiw the files from the pugs svn repo are now in the perl6/mu repo on github | 20:49 | |
djanatyn | Hmm, maybe I can find it there. | ||
moritz | file util/cperl-mode.el | ||
20:52
wamba joined
|
|||
djanatyn | Awesome! :D | 20:52 | |
woo, it's working :D | 20:55 | ||
masak | woo! | ||
20:56
bbkr left
20:57
frhodes joined,
frhodes left
|
|||
djanatyn | So, I was bored, and read an artice on coding horror that said 199/200 people that interview for coding jobs couldn't even write FizzBuzz. | 21:01 | |
So I said, "Huh. That's crazy." | |||
"I wonder if I could do that in perl 6..." | |||
masak | so you implemented it. | ||
ooh, let's spend the rest of the evening writing FizzBuzz in different ways! | 21:02 | ||
plobsing | is there a p6 fizzbuzz implementation on rosettacode yet? | ||
masak | I'd be surprised if not. | ||
I mean, if there's an article on RC about FizzBuzz, and I'd be surprised if there wasn't :) | |||
djanatyn: shall I post a solution, or shall I wait for you to do it? ;) | 21:03 | ||
djanatyn | gist.github.com/1179403 <-- is it possible to get rid of those "$_"? | ||
masak | djanatyn: well, you can do .say | ||
in the last case. | |||
djanatyn | ".say"? | ||
what is that? | 21:04 | ||
plobsing | shorthand for $_.say | ||
flussence | nom: 'a'.say | ||
p6eval | nom ebd495: OUTPUT«a» | ||
djanatyn | it gives a binary subroutine/function-thing the $_ as an argument? | ||
...oooohhh | |||
flussence | nom: 'a'.print | ||
djanatyn | I see | ||
p6eval | nom ebd495: OUTPUT«Method 'print' not found for invocant of class 'Str' in <anon> at /tmp/oQSH8nIGMa:1 in <anon> at /tmp/oQSH8nIGMa:1» | ||
flussence | eh | ||
masak | hah! | ||
flussence | nom: 'a'.^methods(:local) | ||
p6eval | nom ebd495: ( no output ) | ||
flussence | nom: 'a'.^methods(:local)».name.say | ||
p6eval | nom ebd495: OUTPUT«Int Num chomp chop substr pred succ ll-match ords lines samecase samespace trim-leading trim-trailing trim words capitalize Bool Str ACCEPTS Numeric gist perl comb match subst split» | ||
masak | and you people say nom is ready for prime time! it doesn't even have .print! :P | 21:05 | |
plobsing wonders how many spec failures nom could fix by implementing .say | |||
flussence | zero! | ||
plobsing | really? | ||
it is untested? | |||
flussence | I think you meant .print :) | ||
masak | :P | ||
plobsing | yes. that would be it | ||
masak | flussence: wise-ass. I like you :) | 21:06 | |
flussence | huh, it seems there really aren't any Str.prints in roast | 21:08 | |
there's filehandle.print but no strings AFAICT | |||
plobsing | isn't that a feature thats used fairly frequently? why is it untested? | 21:09 | |
masak | nom: sub fizzbuzz { return "FizzBuzz!" if $^n %% 15; return "Fizz!" if $n %% 3; return "Buzz!" if $n %% 5; return $n }; say .&fizzbuzz for 1..100 | 21:10 | |
p6eval | nom ebd495: OUTPUT«12Fizz!4Buzz!Fizz!78Fizz!Buzz!11Fizz!1314FizzBuzz!1617Fizz!19Buzz!Fizz!2223Fizz!Buzz!26Fizz!2829FizzBuzz!3132Fizz!34Buzz!Fizz!3738Fizz!Buzz!41Fizz!4344FizzBuzz!4647Fizz!49Buzz!Fizz!5253Fizz!Buzz!56Fizz!5859Fiz… | ||
masak | \o/ | ||
djanatyn: TIMTOWTDI. | |||
djanatyn runs away to #python | |||
flussence | plobsing: not that frequent when there's a shorter function that DWIM more often... | ||
djanatyn | what's that "$^n"? | ||
masak | djanatyn: oh, it just says "this is a parameter". | 21:11 | |
flussence | $^n says to the compiler "I'm too lazy to put a signature on this sub, go figure it out yourself" | ||
plobsing | djanatyn: it is like $a and $b in perl5's sort | ||
flussence | and they work in alphabetical order | ||
masak | well, Unicode order :) | ||
djanatyn | so, there's also a $^a? | ||
plobsing | djanatyn: if you type it, it is there | 21:12 | |
flussence | std: $^Æ | ||
p6eval | std e3c970e: OUTPUT«===SORRY!===Placeholder variable $^Æ may not be used outside of a block at /tmp/xljdL1Dui5 line 1:------> $^Æ⏏<EOL>Check failedFAILED 00:01 118m» | ||
flussence | std: {$^Æ} | ||
p6eval | std e3c970e: OUTPUT«ok 00:01 118m» | ||
plobsing | masak: is that locale-specific? | ||
masak | plobsing: no. | ||
plobsing: the code points are ordered. | |||
PerlJam | djanatyn: variables like $^a automatically create a signature for the sub with those vars in unicode-order as parameters | ||
plobsing | aw. that was an opening for so much evil... | 21:13 | |
masak | plobsing: it's not evil enough!? | ||
flussence | I think (or at least hope) the Unicode people have all that sorting stuff defined already... | ||
plobsing | masak: it is never enough | ||
flussence | (unicode's evil enough already :) | ||
masak | nom: say { $^n %% 15 ?? "FizzBuzz!" !! $n %% 3 ?? "Fizz!" !! $n %% 5 ?? "Buzz!" !! $n }($_) for 1..100 | 21:15 | |
p6eval | nom ebd495: OUTPUT«12Fizz!4Buzz!Fizz!78Fizz!Buzz!11Fizz!1314FizzBuzz!1617Fizz!19Buzz!Fizz!2223Fizz!Buzz!26Fizz!2829FizzBuzz!3132Fizz!34Buzz!Fizz!3738Fizz!Buzz!41Fizz!4344FizzBuzz!4647Fizz!49Buzz!Fizz!5253Fizz!Buzz!56Fizz!5859Fiz… | ||
masak | a bit shorter. | ||
21:16
wk joined
|
|||
masak | nom: say $_ %% 15 ?? "FizzBuzz!" !! $_ %% 3 ?? "Fizz!" !! $_ %% 5 ?? "Buzz!" !! $_ for 1..100 | 21:16 | |
p6eval | nom ebd495: OUTPUT«12Fizz!4Buzz!Fizz!78Fizz!Buzz!11Fizz!1314FizzBuzz!1617Fizz!19Buzz!Fizz!2223Fizz!Buzz!26Fizz!2829FizzBuzz!3132Fizz!34Buzz!Fizz!3738Fizz!Buzz!41Fizz!4344FizzBuzz!4647Fizz!49Buzz!Fizz!5253Fizz!Buzz!56Fizz!5859Fiz… | ||
masak | shorter still. | ||
djanatyn | Is this a round of perl 6 golf? :) | 21:17 | |
flussence | nom: say $_ %% 15 ?? "FizzBuzz!" !! $_ %% 3 ?? "Fizz!" !! $_ %% 5 ?? "Buzz!" !! $_ for ^100 | 21:18 | |
p6eval | nom ebd495: OUTPUT«FizzBuzz!12Fizz!4Buzz!Fizz!78Fizz!Buzz!11Fizz!1314FizzBuzz!1617Fizz!19Buzz!Fizz!2223Fizz!Buzz!26Fizz!2829FizzBuzz!3132Fizz!34Buzz!Fizz!3738Fizz!Buzz!41Fizz!4344FizzBuzz!4647Fizz!49Buzz!Fizz!5253Fizz!Buzz!56Fizz!… | ||
flussence | hm, not the same... | ||
TimToady | rosettacode.org/wiki/FizzBuzz#Perl_6 <-- of course there's an RC entry for that, several in fact | ||
masak rests his case | 21:19 | ||
21:19
jaldhar joined,
MayDaniel left
|
|||
TimToady | none of which use ??!! | 21:19 | |
djanatyn | I have a friend who was going through the project euler questions using perl6, and pushed all his solutions to a git repo. | 21:20 | |
flussence | nom: use FizzBuzz qw(100); | ||
p6eval | nom ebd495: OUTPUT«===SORRY!===arglist case of use not yet implemented at line 1, near ";"» | ||
djanatyn | I did a couple project euler problems in haskell, and learned a lot by comparing my solutions with the solutions given in the wiki. | ||
masak | TimToady: infix:<x>. that's cute, but Merlyn wouldn't like it. :P | ||
djanatyn | I learned to appreciate a lot of things in Perl after using Python for a bit. | ||
for one, string interpolation in Python *SUCKS*. | 21:21 | ||
21:21
y3llow left
|
|||
masak | TimToady: he once said Bool::True should be 43 or something, so that people wouldn't abuse it in exactly this way... | 21:21 | |
21:21
y3llow joined
|
|||
flussence | std: use Acme::FizzBuzz:from<perl5>; # there, that's as short as it gets in p6 for now. | 21:22 | |
p6eval | std e3c970e: OUTPUT«===SORRY!===Can't locate module Acme::FizzBuzz at /tmp/vLZiCn3IKc line 1:------> use Acme::FizzBuzz:from<perl5>⏏; # there, that's as short as it gets inCheck failedFAILED 00:01 118m» | ||
TimToady | mapping Yes/No to There/NoThere is perfectly natural | ||
[Coke] | well, if you're going to make it non-1, make it 42. sheesh. ;) | ||
TimToady | *Not | ||
djanatyn | Also, I was very saddened to discover there was no qw() in python. | ||
Is that just a perl thing? | |||
flussence | yep | 21:23 | |
masak | [Coke]: I can't swear that he didn't actually write 42. | ||
PerlJam | djanatyn: doesn't python have %w() or something ? | ||
flussence | does it? | ||
PerlJam | or am I thinking of ruby? | ||
plobsing | djanatyn: shell somewhat has that by design | ||
djanatyn | PerlJam: Not sure. | ||
masak | Ruby definitely has it. | ||
djanatyn | Ruby has some interesting things, especially with string interpolation. | ||
IIRC, you can embed a Ruby statement in a string. | 21:24 | ||
TimToady | we can do it easier | ||
djanatyn | Oh? | ||
(v5 or v6?) | |||
TimToady | v6 | ||
plobsing | v5 does it, but it ain't pretty | ||
PerlJam | djanatyn: v6 of course (check the channel you're in :) | 21:25 | |
djanatyn | :D | ||
masak | it's almost too easy in Perl 6! :P | ||
djanatyn | how is it done? :) | ||
TimToady | perl6: say "The answer is { 7 * 3 * 2 }" | ||
lichtkind | mberends: im very grateful but excuse me had lot of other things to do | ||
p6eval | pugs, rakudo a55346, niecza v8-64-ga39a953: OUTPUT«The answer is 42» | ||
flussence | .oO(works in PHP too, you just have to prefix your statements with a useless variable...) |
21:26 | |
djanatyn | hmm... | ||
TimToady | perl6: say "The answer is { $_ for 1..10 }" | ||
p6eval | pugs, niecza v8-64-ga39a953: OUTPUT«The answer is » | ||
..rakudo a55346: OUTPUT«The answer is 1 2 3 4 5 6 7 8 9 10» | |||
masak | nieczabug! | ||
djanatyn | perl6: $foo = 1; $string = "the number is { $foo }"; $foo += 1; say $string | ||
p6eval | rakudo a55346: OUTPUT«===SORRY!===Symbol '$foo' not predeclared in <anonymous> (/tmp/K9glA0Nkm8:22)» | ||
..niecza v8-64-ga39a953: OUTPUT«===SORRY!===Variable $foo is not predeclared at /tmp/XAAGri65kD line 1:------> <BOL>⏏$foo = 1; $string = "the number is { $foVariable $string is not predeclared at /tmp/XAAGri65kD line 1:------> $foo = 1; [33… | |||
..pugs: OUTPUT«***  Unexpected " =" expecting "::" Variable "$foo" requires predeclaration or explicit package name at /tmp/dZ7PQ_mgTh line 1, column 5» | |||
djanatyn | ...oh | 21:27 | |
I suppose I did that wrong | |||
TimToady | need my | ||
djanatyn | ah, use strict is predeclared :D | ||
TimToady | no, it's not that lazy | ||
djanatyn | perl6: my $foo =1; my $string = "the number is { $foo }"; $foo += 1; say $string | ||
p6eval | pugs, rakudo a55346, niecza v8-64-ga39a953: OUTPUT«the number is 1» | ||
djanatyn | So, it interpolates the string at the time of it's declaration? | 21:28 | |
TimToady | assignment | ||
21:28
jferrero left
|
|||
TimToady | when the string is eval'd | 21:28 | |
we don't automatically close over strings | |||
you can always write a closure for htat | 21:29 | ||
*that even | |||
plobsing | perl6: my $builder = "the number is { * }"; say $builder(2); | ||
masak | Groovy closes over strings, IIRC. | ||
p6eval | niecza v8-64-ga39a953: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Str at /tmp/LK5PIopNb8 line 1 (MAIN mainline @ 7)  at /home/p6eval/niecza/lib/CORE.setting line 2045 (CORE C954_ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 2046 (CO… | 21:30 | |
..rakudo a55346: OUTPUT«invoke() not implemented in class 'Perl6Str' in main program body at line 22:/tmp/k4LhEhX_rQ» | |||
..pugs: OUTPUT«*** Cannot cast from VStr "the number is Inf" to Pugs.AST.Types.VCode (VCode) at /tmp/rd6zLdeC83 line 1, column 42-53» | |||
masak | it confuses the heck out of most Groovy developers :) | ||
TimToady | perl6: my $foo = 1; my $closure = {"the number is $foo"}; $foo++; say $closure(); | ||
p6eval | pugs, rakudo a55346, niecza v8-64-ga39a953: OUTPUT«the number is 2» | ||
TimToady | perl6: my $foo =1; my $string = "the number is { lazy $foo }"; $foo++; say $string | 21:31 | |
p6eval | niecza v8-64-ga39a953: OUTPUT«===SORRY!===Action method statement_prefix:lazy not yet implemented at /tmp/jxWSY1L7HI line 1:------> my $string = "the number is { lazy $foo ⏏}"; $foo++; say $stringUnhandled exception: Unable to resolve method sta… | ||
..pugs: OUTPUT«*** Cannot cast from VInt 1 to Pugs.AST.Types.VCode (VCode) at /tmp/bypCtZcCi4 line 1, column 43-53» | |||
..rakudo a55346: OUTPUT«Could not find sub &lazy in main program body at line 22:/tmp/uWntd9_2YY» | |||
plobsing | so whatever-star in a string interpolation doesn't turn into a closure? | ||
TimToady | aw | ||
no, isolated * is always just a Whatever | 21:32 | ||
masak | nom: say "This is just an asterisk: *" | ||
p6eval | nom ebd495: OUTPUT«This is just an asterisk: *» | ||
TimToady | you'd have to write it with concat | ||
plobsing | I mean, you can't do it with "{ * }"? Does "{ }" work different from concat? | 21:33 | |
TimToady | it's more like ~ do { * } ~ | ||
plobsing | ah | 21:34 | |
TimToady | you could use ~ * ~ though | ||
masak | 'night, #perl6 | ||
21:34
masak left
|
|||
TimToady | perl6: my $closure = "foo " ~ * ~ " bar"; say $closure(42) | 21:34 | |
p6eval | pugs: OUTPUT«*** Cannot cast from VStr "foo Inf bar" to Pugs.AST.Types.VCode (VCode) at /tmp/1EMrRKdXdJ line 1, column 40 - line 2, column 1» | ||
..rakudo a55346, niecza v8-64-ga39a953: OUTPUT«foo 42 bar» | |||
21:37
bluescreen10 left
21:48
lue joined
|
|||
lue | hello planet o/ | 21:48 | |
TimToady | I don't think we've cleared our orbit yet | 21:49 | |
21:52
bluescreen10 joined
|
|||
sorear | good * #perl6 | 22:03 | |
im2ee | Could I make something with TCP connection in perl6? :) | ||
Using sockets e.g.? | 22:04 | ||
22:04
wamba left
|
|||
sorear | flussence: mock up some code for me and I'll make it run | 22:04 | |
22:09
frhodes joined
|
|||
flussence | (ooc: are "return;" and falling off the end of a block treated differently by CONTROL?) | 22:10 | |
plobsing | im2ee: you could. google suggests looking at 'IO::Socket::INET' | ||
im2ee | plobsing, p6 has it? | 22:11 | |
flussence | (oh, maybe I should read more than the latter half of a sentence.) | ||
(answer: yes) | |||
sorear | flussence: in niecza, they are differnet | 22:12 | |
flussence | I wonder what rakudo does... | ||
sorear | rakudo doesn't have CONTROL, iirc. | ||
im2ee | plobsing, I use IO::Socket::INET in perl 5. :) | ||
plobsing | rakudo star includes an LWP::Simple implementation, so I'd assume it would have that | 22:13 | |
flussence | perl6: sub a($b); { return 1 if $b; CONTROL { say 'control'; return 0 } }; say a(True); say a(False); | ||
p6eval | rakudo a55346: OUTPUT«Could not find sub &a in main program body at line 22:/tmp/61YvleS8rw» | ||
..niecza v8-64-ga39a953: OUTPUT«===SORRY!===Malformed block at /tmp/35C74XzD0M line 1:------> sub a($b)⏏; { return 1 if $b; CONTROL { say 'contrParse failed» | |||
..pugs: OUTPUT«***  Unexpected ";" expecting bare trait, trait or block at /tmp/xV7sV5rhsZ line 1, column 10» | |||
sorear | Rakudo has an IO::Socket::INET, but it's horrendously feature-poor | ||
plobsing | im2ee: I would expect some slight API differences | ||
flussence | whoops | ||
perl6: sub a($b) { return 1 if $b; CONTROL { say 'control'; return 0 } }; say a(True); say a(False); | 22:14 | ||
p6eval | rakudo a55346: OUTPUT«(timeout)controlcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrolcontrol… | ||
..niecza v8-64-ga39a953: OUTPUT«1Nil» | |||
..pugs: OUTPUT«1» | |||
flussence | niecza++, looks good to me | ||
well, good-er than an infinite loop | 22:15 | ||
sorear | flussence: niecza generates a return handler inside &a which is slightly smaller than the entire block, so it takes precednce over the CONTROL, which does scope over the entire block | ||
flussence | (control exceptions are weird, I'm going to pretend they're not there for today.) | 22:17 | |
sorear | lichtkind: slide 53 is slighty out of date | 22:20 | |
perl6: my @cities = <roma milano turino>; say @cities | 22:21 | ||
nom: my @cities = <roma milano turino>; say @cities | |||
p6eval | pugs, rakudo a55346: OUTPUT«romamilanoturino» | ||
..niecza v8-64-ga39a953: OUTPUT«roma milano turino» | |||
nom ebd495: OUTPUT«roma milano turino» | |||
lichtkind | sorear: you mean say @cities.perl; ? | ||
sorear | lichtkind: no, look at the say output. | ||
lichtkind: page 53/158 of your slideset gives 'say' output without spaces. | 22:22 | ||
lichtkind | sorear: yes as checked with my version of nom | ||
sorear: is what niecza does really the specced? | 22:23 | ||
sorear: its now 49/154 | |||
flussence | interesting... perl6.vim highlights "throws_ok" as a special function but it's not in any Test.pm6 I know of... | 22:24 | |
sorear | lichtkind: nom and niecza give the same answer | ||
rakudo master is lagging | |||
lichtkind: I just redownloaded, still 158 pages. | 22:25 | ||
22:25
jevin left
|
|||
lichtkind | yes the last version is not up | 22:26 | |
i could swear nom did too | |||
22:26
jevin joined
|
|||
lichtkind | but i checked and you right | 22:26 | |
i changed it and will be up soon | |||
thank you | |||
sorear: you will come also to turino or frankfurt? | 22:27 | ||
sorear | I have no plans at this time. | 22:29 | |
lichtkind | new version is up, sorear++ | 22:30 | |
sorear | perl6: sub mysub(*@arr) { say @arr.elems }; mysub(1, (2, [3, 4]), 5); | 22:31 | |
p6eval | pugs, rakudo a55346, niecza v8-64-ga39a953: OUTPUT«4» | ||
22:31
frhodes left
|
|||
sorear | perl6: my $number = 0 .. *; say $number; # lichtkind? | 22:34 | |
p6eval | pugs: OUTPUT«Stack space overflow: current size 8388608 bytes.Use `+RTS -Ksize -RTS' to increase it.» | ||
..niecza v8-64-ga39a953: OUTPUT«0..Infinity» | |||
..rakudo a55346: OUTPUT«» | |||
sorear | nom: my $number = 0 .. *; say $number; # lichtkind? | 22:35 | |
p6eval | nom ebd495: OUTPUT«0..Inf» | ||
sorear | lichtkind: page 145/158, "With eval" is slightly misleading since it doesn't use eval(). "With interpolation" may be better | ||
lichtkind | sorear: you mean on slide 143 | 22:40 | |
where its about hash slices? | |||
sorear | yes | 22:42 | |
lichtkind | sorear: so its fixed now too, thanks | 22:45 | |
sorear | \o/ All tests successful. | 22:49 | |
lichtkind | yeah | ||
dalek | ecza: 4e8d22a | sorear++ | / (2 files): Remove deleted test files, and make lives_ok et al not intercept warnings |
||
22:51
frhodes joined
22:52
[Coke] left
22:54
[Coke] joined
23:05
donri left
23:06
jevin left
23:09
frhodes left,
frhodes joined
|
|||
lichtkind | new version is up | 23:11 | |
with yet 5% more fun | |||
23:14
im2ee left
23:21
jevin joined,
jaldhar left
|
|||
flussence | I'll leave this in the hands of people who know what they're talking about - some ramblings on what to do with control exceptions: raw.github.com/gist/1179681/5e80f3...l-tests.p6 | 23:23 | |
23:24
jferrero joined
23:25
Helios joined
23:27
wk left
23:29
araujo left
23:34
Psyche^ joined
23:35
Patterner left,
Psyche^ is now known as Patterner
|
|||
flussence ^Zzz | 23:39 | ||
23:48
tokuhirom joined
|
|||
lichtkind | good night you brave ones | 23:59 |