»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released! Set by diakopter on 6 September 2010. |
|||
masak | consider that there's no production-use Pod (6) parser in existence yet. | 00:00 | |
oh, unless you perhaps count Damian's, which is out of date. | |||
lue | that would explain why I saw a lot of ambient material in those files. I'm only familiar with Pod6. | ||
Teratogen | pod can't be THAT hard to parse! | ||
lue | it isn't really, I assume no-one's been interested enough recently (except me) | 00:01 | |
masak | Teratogen: hi! welcome back. :) | 00:02 | |
Teratogen | hi masak! =) | ||
masak | Teratogen: no, it's not really. as evidenced by the four or so parsers that are out there already. | ||
Teratogen: what's hard, at least if you ask me, is getting good integration with a Perl 6 implementation. that's what I'd like to tackle next. | 00:03 | ||
the nice things in Pod 6 can be found in the deeper integration with the programming language. just as with Perl 6 regexes, actually. | |||
hope that answer helps. | |||
00:05
Raynes joined
|
|||
lue | .oO[ I wish to put a hex on this computer, but it would probably enjoy that type of curse ;) ] | 00:06 | |
masak is very happy to finally be working on week 20 of the Web.pm grant, so he can wrap it up, write a retrospective, and then apply with a good conscience for a Pod grant | |||
00:09
Raynes left,
Raynes joined
00:10
sji left
|
|||
masak | "invoke() not implemented in class 'Undef'" -- how I don't miss thee at all. :) | 00:12 | |
00:14
risou joined
00:19
justatheory joined
|
|||
lue | .oO(An advent post on Pod6 seems like an OK idea...) |
00:28 | |
masak | yes, but we tend to lean towards features that are already in Rakudo. | ||
Pod6 is implemented only to a very small degree. | 00:29 | ||
00:30
orafu joined
|
|||
ch3ck3r kittlar masak | 00:40 | ||
masak | ch3ck3r: go to bed! :) | ||
ch3ck3r | i'm not tired :/ | 00:41 | |
masak | neither am I. but at least I'm doing something useful. :P | ||
ch3ck3r | :) | 00:42 | |
01:11
icwiener left
01:17
nadim_ left
|
|||
lue | afk | 01:50 | |
masak | blog post! strangelyconsistent.org/blog/novemb...the-oldies | 01:52 | |
01:53
PZt joined
|
|||
colomon | First performance of the "Emperor" is a good catch. masak++ | 02:14 | |
masak | thanks. | ||
dalek | ecza: a35af99 | sorear++ | / (3 files): Make "iterator" an optimized context operator |
02:16 | |
sorear | this is my third commit for the day. I had to reset the first two because they didn't help | 02:17 | |
this one is pretty good though - almost 3 second speedup | |||
I'm going to have to start using callgrind :/ | |||
masak | sorear++ | 02:18 | |
02:22
jasonmay_ is now known as jasonmay
02:39
redicaps joined
02:40
bluescreen joined
02:41
bluescreen is now known as Guest89375
02:44
Guest89375 left
|
|||
masak sleeps | 02:53 | ||
02:53
masak left
03:22
envi joined
03:36
jasonmay left
03:39
jasonmay joined
03:44
RandalSchwartz joined
|
|||
RandalSchwartz | can't build current git head | 03:44 | |
is that typical? :) | |||
during perl Configure.pl --gen-parrot, got | 03:45 | ||
.. .gmake: *** No rule to make target `compilers/pirc/Rules.mak'. Stop. | |||
sorear | not typical, no | 03:46 | |
RandalSchwartz | so how do I recover from that? | ||
it was during the "gmake realclean" in the parrot subdir | 03:47 | ||
sorear | rm -rf parrot parrot_install | ||
diakopter | call an exterminator; you've got parrots | ||
sorear | you should realclean *before* git pull, not after | ||
RandalSchwartz | so parrot sometimes moves forward in bad ways | ||
03:47
colomon left
|
|||
RandalSchwartz | or the overarching script doesn't know how to deal with pulling/ | 03:48 | |
sorear | reason being that realclean is only supposed to deal with contemporary generated files | ||
RandalSchwartz | where's the mistake? | ||
so it should do realclean, pull, then make? | |||
sorear | compilers/pirc just got kicked out of the parrot repository today | ||
yes | |||
03:48
nymacro joined
|
|||
RandalSchwartz | ahh, so I could have just done a reset --hard | 03:48 | |
rather than refetching all? | 03:49 | ||
sorear | reset --hard, clean -fx | ||
-dfx | |||
RandalSchwartz | I presume this is rare? | 03:50 | |
and I happened across the corner case? | |||
or is this a known breakage that someone needs to address, but not enough tuits? | |||
sorear | it's rare but it affects everyone at once | 03:51 | |
RandalSchwartz | what's the easiest way to figure out how rakudo differs from the specs | 03:52 | |
RandalSchwartz is researching for Learning Perl 6 | |||
sorear | there's a high level list of missing features in the latest Rakudo Star announcement | 03:53 | |
RandalSchwartz | yeah, I saw those. | ||
sorear | there are also line items in the spec-test metadata; grep for #?rakudo | ||
RandalSchwartz | ahh, that'll be useful | 03:54 | |
03:59
satyavvd joined
04:00
colomon joined
04:12
colomon left
04:27
nymacro left
04:35
nymacro joined
05:17
nymacro left,
satyavvd left,
satyavvd_ joined
05:23
satyavvd_ left
05:24
kanishka joined
05:30
kaare joined,
kaare is now known as Guest11857
05:37
fhelmberger joined
06:05
nymacro joined
06:09
shachaf joined
06:12
nymacro left,
nymacro joined
06:14
_twitch joined
06:19
am0c left
06:26
nadim_ joined
|
|||
dalek | ecza: 280c536 | sorear++ | / (5 files): Use new list iteration interface for regexes |
06:32 | |
06:55
kanishka left
07:21
Axius joined
07:22
xinming_ joined
07:25
xinming left
07:27
Axius left
|
|||
moritz_ | good morning | 07:30 | |
07:34
wtw joined
|
|||
diakopter | hi | 07:37 | |
sorear | hi | 07:41 | |
07:42
nothingmuch joined
|
|||
dalek | ecza: 4cc78c1 | sorear++ | lib/ (3 files): Run inferior runloops on same coroutine |
08:01 | |
sorear | RFC: gist.github.com/719714 # for p6[acl] | 08:07 | |
niecza announcey | 08:08 | ||
probably just [ac] | 08:10 | ||
08:10
Trashlord joined
08:23
ch3ck3r left
|
|||
sorear pokes moritz_ | 08:23 | ||
moritz_ stabs sorear | 08:24 | ||
just a wee bit, mind you :-) | |||
sorear | ick, stabs | 08:25 | |
dalek | ecza: aad67c1 | sorear++ | lib/Threads.pm6: Debitrot Threads.pm6 |
08:28 | |
ecza: 879fbdf | sorear++ | v6/tryfile: Use low-level coding in Regex.ACCEPTS |
|||
sorear dwarfs moritz_ | |||
moritz_ retreats to Moria | |||
sorear | down to 50s | 08:29 | |
08:31
justatheory left
08:42
mj41_ joined,
jfried joined
08:45
mj41_ is now known as mj41
08:51
redicaps left
|
|||
sorear | moritz_: who might I talk to about the art of the announcement? | 08:58 | |
dalek | ecza: a981b22 | sorear++ | / (6 files): Merge back tryfile augments |
09:09 | |
09:13
neroxx joined
09:28
timbunce joined
09:29
dakkar joined
09:34
am0c joined
|
|||
moritz_ | sorear: depends on which aspect you want to talk about | 09:34 | |
sorear: masak and pmichaud are good at writing such announcements | |||
sorear: I can help you to get a bit more attention | 09:35 | ||
sorear | well, that gist link - first draft of niecza announce | 09:37 | |
I'd like some feedback from anyone more experienced | |||
moritz_ | sorear: you should include your nickname when talking about #perl6 | 09:41 | |
sorear: otherwise it looks fine to me | |||
sorear: if you also send the email to perl6-announce, it will automatically appear on the planetsix blog aggregator | 09:42 | ||
sorear | ah | 09:45 | |
what do you mean, attention? | |||
moritz_ | tipps like the above (get on the blog aggregator), hackernews, reddit etc. | 09:47 | |
one more thing: you could mention that your current runtime is the CLR | 09:48 | ||
sorear | ok | ||
moritz_ | and maybe some performance figures | ||
09:54
timbunce left
10:00
timbunce joined
|
|||
sorear | Announcement draft 2: gist.github.com/719783 | 10:06 | |
10:07
thelazydeveoper joined
|
|||
jnthn | Rather than bore you with a long list of features that are not yet implemented, | 10:08 | |
here are some of the things that are not not yet implemented: | |||
...I'm bored! ;) | |||
sorear | I'm trying to capture a little of that masakian silliness. Not sure if it's backfiring. | 10:09 | |
moritz_ liked it | |||
10:09
ch3ck joined
10:13
thelazydeveoper left,
thelazydeveloper joined
10:33
neroxx left
10:34
neroxx joined
10:47
satyavvd joined
10:50
icwiener joined
10:58
alc joined
|
|||
dalek | ecza: 8ff39ae | sorear++ | / (3 files): Fix several holes in the regex optimizer |
11:07 | |
sorear out | |||
11:08
wamba joined
11:33
f00li5h joined
11:41
timbunce left
11:42
satyavvd left
11:48
sunnavy joined,
xinming_ left
11:53
xinming joined
11:55
daxim joined
11:57
colomon joined
12:03
cotto joined
12:17
pencilk joined
12:26
pmurias joined
12:35
cotto left,
cotto joined
12:44
pencilk left
12:48
cotto left
12:56
am0c left,
cotto joined
13:02
thelazydeveloper left
13:14
takadonet joined
|
|||
takadonet | morning all | 13:19 | |
13:19
MayDaniel joined
13:21
risou_ joined
13:24
risou left
13:29
Guest11857 left
13:37
MayDaniel left
13:38
am0c joined
13:45
ggoebel joined
13:47
pmurias left
13:52
Psyche^ joined,
Psyche^ is now known as Patterner
14:11
nero2x joined
14:14
neroxx left
14:16
_kaare joined
14:17
satyavvd joined,
plainhao joined
14:18
joyer``` joined
14:21
nadim_ left
14:23
nymacro left,
nadim_ joined
14:24
RandalSchwartz left
14:33
bluescreen joined,
bluescreen is now known as Guest27466
14:40
Guest27466 left,
nero__ joined
14:41
[particle] joined
14:43
nero2x left
|
|||
colomon | o/ | 14:48 | |
takadonet | o/ | 14:49 | |
14:49
[particle] left
14:50
ggoebel left
14:51
satyavvd left
14:54
[particle] joined,
ggoebel joined
14:56
am0c left
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | 15:03 | |
15:09
lichtkind joined
|
|||
lichtkind | i have problem wit %h = 2 => 'a', 3=> 'g'; | 15:10 | |
shouldnt be autoconvert to hashref? | |||
moritz_ | why? | ||
lichtkind | because it would be consistent with array | 15:11 | |
moritz_ | why? | ||
colomon | rakudo: my %h = 2 => 'a', 3=> 'g';; say :%h.perl; say %h.WHAT | 15:15 | |
p6eval | rakudo : OUTPUT«"h" => {"2" => "a", "3" => "g"}Hash()» | ||
colomon | rakudo: my @h = 2, 3; say :@h.perl; say @h.WHAT | 15:16 | |
p6eval | rakudo : OUTPUT«"h" => [2, 3]Array()» | ||
lichtkind | moritz_: thanks but so far i understood my rekudo repl i worked differently i check this again | 15:18 | |
15:18
[particle] left
|
|||
moritz_ | lichtkind: I can't make sense of anything that you say, somehow :/ | 15:18 | |
lichtkind | moritz_: i said that my rakudo repl showed me something different then here but i found the bug now, thanks | 15:20 | |
moritz_ | lichtkind: note that the REPL stringifies, which can be surprising if you expect it to do anything else | ||
or if you don't know the stringification rules for the objects you're dealing with | 15:21 | ||
15:22
risou joined
15:23
am0c joined,
MayDaniel joined
|
|||
lichtkind | moritz_: i gave in frankfurt yesterday talk about context sensitive operators in perl 6 at ffm perl fowkshop, was good | 15:23 | |
15:25
wtw left,
risou_ left
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | 15:30 | |
15:31
[particle] joined,
sftp joined
15:36
kanishka joined
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | 15:41 | |
15:49
_twitch left
15:56
REPLeffect joined
16:00
justatheory joined
16:09
[particle] left
16:18
[particle] joined
16:22
risou_ joined
16:23
MayDaniel left
16:24
risou left
|
|||
colomon | pondering if porting bernhardkausler.wordpress.com/2009/...to-python/ to p6 would make a worthwhile Advent calendar post. | 16:26 | |
16:29
masak joined
|
|||
masak | oh hai, #perl6 | 16:29 | |
lichtkind | hai masak | ||
takadonet | masak: yo | ||
PerlJam | colomon: sure. | 16:30 | |
kthakore | hi PerlJam ! | 16:33 | |
masak | "The goal of this project is to have fun while learning about how to make a fast Perl 6; if we accidentally make a fast Perl 6 in the process, so much the better." gist.github.com/719783 | 16:36 | |
sorear++ | 16:37 | ||
also, "not not yet implemented" :P | |||
reading that announcement, I'm thinking (1) niecza looks like an implementation in which one could actually write something non-trivial already, and (2) I should try that at some point soon. | 16:39 | ||
sorear: I would recommend settling on a release schedule soonish. including whether to do time-based or feature-based releases. | |||
16:42
thundergnat joined
|
|||
thundergnat | Hi #perl6 | 16:43 | |
takadonet | thundergnat: yo | ||
masak | thundergnat: \o | ||
thundergnat | Is there anybody around that has built a working R* 1010.11 on Windows XP? | ||
I fanally got around to downloading anf trying it and have been (somewhat) unsucessful, | 16:44 | ||
er, finally, actually | 16:45 | ||
Ran into a known bug: trac.parrot.org/parrot/ticket/1873 and worked around that. It now BUILDS, but is _extremely_ fragile. | 16:46 | ||
perl6 -v yeilds: This is Rakudo Perl 6, version 2010.11 built on parrot 2.10.1Null PMC access in get_bool()... | 16:47 | ||
masak watches TheDamian at osdc.blip.tv/file/4442577 | 16:48 | ||
ch3ck | \o | ||
masak | TheDamian: hey! pmichaud didn't make that 35th release, I did! :P | ||
ch3ck: o/ | |||
ooh. didn't know TheDamian disagreed about the name "Perl 6". huh. | 16:50 | ||
"parallel languages in the same language family". good, good. | 16:51 | ||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ign_tablet | 16:52 | |
masak | "[Perl 6] also has to obey more rules than Perl 5. It's not so much of a cowboy language." This sorta-kinda expresses something that I've sorta-kinda wanted to express myself at times. | 16:54 | |
PerlJam | masak: I like his percentages because 80% of statistics are made up :) | 16:55 | |
"language design 95% complete" | |||
masak | haven't gotten to that part yet. | ||
"there are NO undeclared variables in Perl 6". O RLY? | 16:56 | ||
PerlJam | it was right at the beginning | ||
masak | then I missed it. | ||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....lta_tablet | 16:57 | |
16:58
thundergnat left
17:06
Kodi joined
|
|||
Kodi | Would anyone object if I marked S32::Temporal as not being a draft anymore? It's pretty stable now. | 17:07 | |
masak agrees | |||
Kodi++ | |||
maybe we should have a "rehabilitation program" to get other draft synopses to a non-drafty state. | 17:08 | ||
Kodi | Yeah, it's about time! | ||
moritz_ wants to get some synopsis into a "draft" state again | 17:09 | ||
masak | :) | ||
17:11
PacoLinux joined
17:13
joyer``` left,
jfried left
17:14
thelazydeveloper joined
|
|||
masak | TheDamian: unary dot-equals not implemented yet? huh? | 17:14 | |
rakudo: $_ = 'oh hai'; .=uc; .say | 17:15 | ||
p6eval | rakudo : OUTPUT«OH HAI» | ||
masak | guess he was just being conservative, or something :) | ||
dalek | ecs: 5994eb0 | (Kodi Arfer)++ | S32-setting-library/Temporal.pod: [S32/Temporal] Graduated out of draft state and corrected my description of the offset method. |
||
: 7b9ac4f | (Kodi Arfer)++ | docs/feather/syn_index.html: [syn_index.html] Temporal is no longer a draft or a type. |
|||
moritz_ | Kodi++ | 17:16 | |
Kodi | I'd like to help bring Containers to life, too, but pmichaud wants me to wait for him to clean up Hash. | 17:17 | |
masak | makes sense. | 17:18 | |
oh! if anyone's looking for an Advent Calendar topic, I think flip/reverse/invert would be a good one. | |||
colomon | +1 | 17:19 | |
moritz_ | +2 # accumulative | ||
masak | :P | ||
also, the reason 'say for @stuff' doesn't work any more. (TheDamian explains it well in the talk) | |||
these are simple, basic things, but I think they're perhaps not widely known. | 17:20 | ||
and they're exactly the kind of thing people might like to read. | |||
"In Perl 6, Inf is a real value". someone on Twitter said "fail!" over this, and I don't really understand why. | 17:21 | ||
Kodi | masak: Perhaps as a pun on "real", since Inf isn't a real number. | 17:22 | |
moritz_ | mathematically speaking, Inf is not a number at all | ||
masak | Kodi: oh, then it might simply be a misunderstanding. | ||
moritz_: indeed. | |||
rakudo: say Inf ~~ Numeric | |||
p6eval | rakudo : OUTPUT«1» | ||
masak | "A, but what happens if you say C<1 ..^ Inf>? Then... it doesn't run nearly as long." *lol* | 17:23 | |
TheDamian tries C<^^10> and then sounds slightly disappointed it doesn't do anything multidimensional. heh, I argued for the removal of such multidimensional behaviour, on the basis of it being less useful than prefix:<^> simply numifying its argument. | 17:25 | ||
that was back in 2008 or 2009. | |||
here: rt.perl.org/rt3/Ticket/Display.html?id=60828 | 17:33 | ||
I don't see my own name in that discussion, neither on IRC. maybe I'm remembering wrong. | 17:35 | ||
17:35
hercynium_ joined
17:37
colomon left
17:42
colomon joined
|
|||
masak | I don't understand TheDamian's point about the increased importance of "sanitizing input" after {} gets a special meaning in interpolated string literals. | 17:43 | |
string literals and user input are totally disjunct, aren't they? | |||
jnthn | yeah | 17:44 | |
Sounds like a mis-understanding. | |||
masak | seems like an odd point to make. | ||
I do agree that {} in qq are totally disruptive for people who don't know about them. | |||
but not in an injection kind of way. | 17:45 | ||
jnthn | aye | ||
Kodi | What on earth is going on here? gist.github.com/720279 | 17:46 | |
masak | Kodi: I say bug. | 17:47 | |
moritz_ | Kodi: parsing bug, I'd guess | ||
masak | Kodi: historically, there have been problems with line-ending closing braces without semicolons. | ||
moritz_ | somhow it invoces &f, even though it shouldn't | ||
masak | this looks like such a case. | ||
Kodi nods. | 17:48 | ||
masak | please submit a rakudobug. | 17:49 | |
Kodi | Sure. | ||
flussence | regarding the {} thing: you can contort PHP into running arbitrary code inside ${} too, but nobody's up in arms about it | ||
masak | Ruby has #{}, I think. | ||
moritz_ | &{ ... } would be 6ish | 17:50 | |
masak | rakudo: my $s = "OH &{ say "OH HAI" }() HAI"; say $s | 17:51 | |
p6eval | rakudo : OUTPUT«OH HAIOH &Bool::True() HAI» | ||
moritz_ | rakudo: say "{}" | ||
p6eval | rakudo : OUTPUT«Nil()» | ||
Kodi | masak: By the way, if I find a bug, add a test for it, and fix it before anybody else mentions it (as I've done once or twice), should I submit a rakudobug for it too? | 17:56 | |
masak | Kodi: I could argue both ways on that one. :) | 17:58 | |
17:58
hercynium__ joined,
hercynium__ left,
hercynium__ joined
|
|||
masak | rakudo: my $b = 99; sub r { "$b bottle{$b-1??"s"!!""} of beer" }; my $w = "on the wall"; while $b { say "&r() $w, &r()!"; --$b; say "Take one down, pass it around, &r() $w!"; say "" } | 17:58 | |
p6eval | rakudo : OUTPUT«99 bottles of beer on the wall, 99 bottles of beer!Take one down, pass it around, 98 bottles of beer on the wall!98 bottles of beer on the wall, 98 bottles of beer!Take one down, pass it around, 97 bottles of beer on the wall!97 bottles of beer on the wall, 97 bottles of beer… | ||
masak waits for jnthn's reaction. :) | |||
rakudo: my $b = Inf; sub r { "$b bottle{$b-1??"s"!!""} of beer" }; my $w = "on the wall"; while $b { say "&r() $w, &r()!"; --$b; say "Take one down, pass it around, &r() $w!"; say "" } | 17:59 | ||
p6eval | rakudo : OUTPUT«(timeout)es of beer on the wall, Inf bottles of beer!Take one down, pass it around, Inf bottles of beer on the wall!Inf bottles of beer on the wall, Inf bottles of beer!Take one down, pass it around, Inf bottles of beer on the wall!Inf bottles of beer on the wall, Inf bottles… | ||
masak | heheheh. | ||
ETIMEDOUTDRINGINGINFINITEAMOUNTSOFBEER | 18:00 | ||
18:00
hercynium__ left
|
|||
jnthn | Infinity bottles of beer?! | 18:00 | |
:D | |||
masak | ah, there you are :) | ||
"that's one long wall" | 18:01 | ||
jnthn | :P | ||
18:02
hercynium_ left
|
|||
Kodi | We need a Cardinal type so we can have uncountably many bottles of beer. | 18:02 | |
jnthn | Makes the pain of implementing that interpolation all worth it. :P | ||
18:03
hercynium_ joined,
hercynium_ left,
hercynium_ joined
|
|||
jnthn | Kodi: If you drink enough bottles of beer, a finite amount becomes practically uncountable. ;-) | 18:03 | |
Not that I have personal experience of drinking that many... :-) | |||
moritz_ | of course not. | 18:05 | |
jnthn | :P | ||
18:05
hercynium__ joined
|
|||
jnthn | Despite really liking beer, I actually also really quite dislike being drunk, so tend to be fairly controlled. :) | 18:06 | |
Trashlord | or just drink non alcoholic beer | 18:07 | |
18:07
hercynium_ left
|
|||
jnthn | Trashlord: It tastes like s... | 18:07 | |
:) | |||
I'd rather drink nice beer in moderation. | |||
Trashlord | I don't have much experience with the non alcoholic brands | ||
jnthn | I had to take medication once where I couldn't have alcohol. I tried a few of them then... | 18:08 | |
...they were awful. | |||
masak | "It tastes like s..." ...soda? :) | 18:09 | |
jnthn | masak: Precisely. :P | ||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | 18:13 | |
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 18:18 | ||
jnthn | nom time & | ||
18:18
hercynium__ left,
Kodi left
18:19
hercynium_ joined
|
|||
tadzik | good evening sixers | 18:19 | |
moritz_ | moin | ||
masak | greetings and salutations, tadzik. | 18:20 | |
18:23
risou_ left,
risou joined
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 18:23 | |
18:29
envi left
|
|||
masak | ooh, libgit2.github.com/ -- someone please hook Perl 6 up to this with zavolaj... :) | 18:30 | |
18:31
envi joined
18:32
hercynium left,
hercynium_ is now known as hercynium,
hercynium_ joined
|
|||
colomon | is anyone doing anything with zavolaj at the moment? | 18:32 | |
18:33
dakkar left
|
|||
dalek | tpfwiki: (james sdfgdf)++ | www.perlfoundation.org/perl6/index.cgi?perl_6 | 18:34 | |
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | |||
takadonet | well we should start hacking then :) | ||
tadzik | masak: sounds like a nice evening project | 18:35 | |
18:35
envi left
|
|||
colomon | it would be awesome++ to have a git module available for p6 | 18:35 | |
masak | yes. | 18:36 | |
same with an XML module. | |||
takadonet | I would hack on it | ||
on the git module not the XML | |||
dukeleto | are y'all talking about a p6 binding to the Git core libraries? | 18:37 | |
colomon | dukeleto: no | ||
to libgit2.github.com/ | 18:38 | ||
masak | got the link from Trivium++ chneukirchen.org/trivium/2010-11-28 | 18:43 | |
dukeleto | colomon: that is what I am talking about :) | ||
I have been talking about that in here before | 18:44 | ||
That was a google summer of code project, and now Github is paying for it to be finished | |||
dukeleto is planning on doing Parrot bindings to libgit2 | |||
masak | ooh | ||
colomon | oooooo | ||
masak | that would amount to the same thing. | ||
dukeleto | masak: yet give many more people access to it, potentially. | 18:45 | |
the gsoc_nci branch landed, so a lot more is possible with Parrot NCI | |||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | ||
dukeleto | we have libffi now | ||
libgit2 is still barely functional tho, so don't hold your breath | 18:46 | ||
masak | ok. | 18:48 | |
colomon is not having any luck getting the unix-fork example in zavolaj to run. | 18:49 | ||
and of course, zavolaj has no tests, just examples. :\ | |||
so perhaps just getting zavolaj up to speed would be a good project.... | 18:50 | ||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | 18:51 | |
flussence | does that mean p6 can talk to any C library now? | 18:53 | |
moritz_ | not quite "any" | 18:54 | |
flussence | well, more than a month ago? | 18:56 | |
moritz_ | iirc there are restrictions to what zavolaj can do | 18:57 | |
flussence | last time I looked, it sounded as if it's restricted to what Parrot supports :/ | ||
(i.e. at compile time) | 18:58 | ||
tadzik | it can't look inside structs | ||
flussence | can it read them as Bufs though? | 18:59 | |
tadzik | not sure | ||
18:59
PerlJam joined,
alc left
|
|||
masak | and so it begins :) twitter.com/ash_gti/status/9318084078739456 | 18:59 | |
"We expect other languages to steal Perl 6's regex syntax, too" -- TimToady | |||
tadzik | they will, eventually | ||
PerlJam | I wished that long long ago. | ||
19:00
muixirt joined
|
|||
colomon | Hmmm.... seems like we should maybe have the equivalent of zavolaj for the Parrot NCI? | 19:00 | |
masak | I've been thinking of writing an nqp-rx port in either Ruby, C or Google Go. | ||
tadzik | hmm | 19:01 | |
it can be used in Parrot Languages, no? | |||
PerlJam | masak: I vote for C if you're taking suggestions :) | ||
19:01
daxim left
|
|||
masak | PerlJam: I am. especially if there are reasons attached. :) | 19:02 | |
moritz_ | nqp-rx ports seem to be quite the fashion today :-) | ||
masak | moritz_: for me, the objective would primarily be to gain a better understanding of nqp-rx. | ||
PerlJam | masak: speed + portability + general coolness are my only reasons. | ||
tadzik | twitter.com/quietfanatic/statuses/9...2000766976 -- that's a lie, no? | ||
moritz_ | masak: good motivation | 19:03 | |
masak | Google Go seems to have speed and general coolness as well. | ||
moritz_: that was one of the big wins with GGE. I got to learn PGE so well that I could actually predict bugs in it. | |||
tadzik shamelessly reddits his own blag toast | |||
masak | tadzik++ | 19:04 | |
19:04
PerlPilot joined
|
|||
tadzik | masak: that's due to your amusement :) | 19:04 | |
www.reddit.com/r/perl/comments/edgj..._grammars/ | 19:05 | ||
colomon is wishes svn had a "stash" command like git's... | |||
masak | tadzik: "awe" is the correct word here. :) | ||
colomon | *wishing, sigh | ||
tadzik | doesn't awe mean fear or something? | ||
masak | colomon: git-svn? | ||
tadzik: it can. | |||
tadzik: but its basic meaning is, I think, "taken aback"-edness. | 19:06 | ||
colomon | masak: didn't work well when I tried it, and massively inconvenient for the job at hand. | ||
masak: guess I can just make a patch file and then revert.... | |||
masak | too bad. git-svn often serves as a lifeline for me. | ||
19:06
PerlJam left
19:07
PerlPilot left
|
|||
tadzik | cosimo_: ping | 19:07 | |
19:07
PerlJam joined
|
|||
masak | moritz_: this is still one of my favorite fallouts from the GGE project: rt.perl.org/rt3/Ticket/Display.html?id=72440 | 19:08 | |
tadzik | oh, we're to start with the Advent Calendar in the near future. Could anyone proofread my article? | ||
PerlJam | tadzik: sure | ||
masak | alpha: say "1ab2ab3c" ~~ /^ \d ** abc $/ ?? "OH NOES" !! "oh phew" | ||
p6eval | alpha : OUTPUT«OH NOES» | ||
masak | perl6: say "1ab2ab3c" ~~ /^ \d ** abc $/ ?? "OH NOES" !! "oh phew" | ||
p6eval | rakudo : OUTPUT«OH NOES» | ||
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HANDLE>' trapped by operat… | |||
masak | nqp-rx still suffers from this bug, it seems. | 19:09 | |
19:09
nero__ left
|
|||
dukeleto | tadzik: 'awe' used to mean that, but has turned around to have a positive connotation in the last few hundred years | 19:10 | |
jnthn | rakudo: say "1ab2ab3c" ~~ /^ \d ** abc $/ ?? "OH NOES" !! "oh phew" | ||
p6eval | rakudo : OUTPUT«OH NOES» | ||
masak should use ?? !! and "OH NOES" more often in bug reports :) | 19:11 | ||
jnthn | rakudo: say "1ab2ab3c" ~~ /^ \d ** abc $/ | ||
p6eval | rakudo : OUTPUT«1ab2ab3c» | ||
jnthn | rakudo: say "1ab2ab3c" ~~ /^ \d ** [abc] $/ | ||
p6eval | rakudo : OUTPUT«» | ||
jnthn | rakudo: say "1ab2ab3c" ~~ /^ \d ** a $/ | ||
p6eval | rakudo : OUTPUT«» | ||
masak | rakudo: say "1ab2ab3c" ~~ /^ \d ** [ab] $/ | 19:12 | |
p6eval | rakudo : OUTPUT«» | ||
masak | hm. | ||
jnthn | (just trying to work out what it's doing) | ||
masak | jnthn: it's in the RT ticket. | ||
jnthn | I suspect looking at the PAST tree could be revealing... | ||
Oh, OK | |||
19:13
PerlPilot joined
|
|||
colomon | rakudo: say "1ab2ab3c" ~~ /^ \d ** 'abc' $/ | 19:13 | |
p6eval | rakudo : OUTPUT«» | ||
masak | rakudo: say "1ab2ab3c" ~~ /^ \d ** [ab] / | 19:14 | |
p6eval | rakudo : OUTPUT«1ab2ab3» | ||
masak | it works without the $ | ||
wonder what that's about. | |||
tadzik | awe is like "WOAH!"? | ||
masak | oh wait. | ||
rakudo: say "1ab2ab3" ~~ /^ \d ** [ab] $/ | |||
p6eval | rakudo : OUTPUT«1ab2ab3» | ||
masak | oh, of course. | 19:15 | |
rakudo: say "1ab2ab3c" ~~ /^ \d ** [ab] c $/ | |||
colomon | please to explain? | ||
p6eval | rakudo : OUTPUT«1ab2ab3c» | ||
masak | rakudo: say "1ab2ab3c" ~~ /^ \d ** abc $/ | ||
p6eval | rakudo : OUTPUT«1ab2ab3c» | ||
masak | colomon: see rt.perl.org/rt3/Ticket/Display.html?id=72440 :) | ||
19:16
PerlJam left
|
|||
masak | people, help me with this one: twitter.com/JoeCannatti/status/9324306970451968 | 19:16 | |
it's wonderful to get such tweets. | |||
what's the number one things I should throw at him? | 19:17 | ||
he wants to be awed :) | |||
advent calendar? book? | |||
something else? | |||
tadzik | hmm | 19:18 | |
advent calendar is nice. Or moritz's Perl 5 to 6, if he's a Fiver | |||
masak | not sure he is. | ||
tadzik | anyway, a "Cool Perl 6" blog or series is a nice thing to have | ||
for such folks | |||
moritz_ | or point him to a working, nice grammar | 19:19 | |
tadzik | . o O ( perl6isawesome.wordpress.com ) | ||
masak | tadzik: :) | ||
tadzik | it could be an aggregator, or just publically writable blag where we could post some Awe-making things | ||
with an educational value. Who's with me? | |||
sorear | good * #perl6 | 19:20 | |
tadzik | good * sorear | ||
masak recommends p6advent, p5->p6, book, and the setting | |||
dalek | ecza: 0303fed | sorear++ | v6/tryfile: Do a bit of CSE in STD.ws |
||
ecza: bf85a66 | sorear++ | / (2 files): merge back .suppose fix |
|||
masak | shopping & | 19:22 | |
tadzik | the setting? | ||
masak | src/core | 19:23 | |
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | 19:29 | |
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._io_tablet | |||
19:31
thelazydeveloper left
19:37
risou left
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 19:39 | |
19:40
rainerschuster joined
|
|||
TimToady | rosettacode.org/wiki/Category:Perl_6 is also a good place to point people if you don't know what language they're coming from | 19:48 | |
.oO(The main difference between Perl 5 and Perl 6 is that when you golf Perl 6, it usually gets *more* readable.) |
19:51 | ||
colomon | TimToady++ | 19:52 | |
cosimo_ | tadzik: still there? | 19:58 | |
tadzik | cosimo_: yeah | 19:59 | |
Facter doesn't work for me | |||
cosimo_ | tadzik: doesn't work as in? | 20:00 | |
make test? | |||
20:03
alester joined
|
|||
dalek | : 0808670 | duff++ | misc/perl6advent-2010/topic-brainstorming: Add some topics of my own |
20:05 | |
20:06
Hor|zon joined
|
|||
masak points the gentletwitterer to rosettacode.org/wiki/Category:Perl_6 | 20:07 | ||
tadzik | cosimo: e.g. | ||
cosimo: wklej.org/id/428495/ | 20:08 | ||
masak | nom & | 20:18 | |
20:18
masak left
20:21
XaRDaX joined
20:33
plainhao left
|
|||
hercynium | rakudo: 10.2 - 10.1 | 20:33 | |
p6eval | rakudo : ( no output ) | ||
hercynium | rakudo: say 10.2 - 10.1 | ||
p6eval | rakudo : OUTPUT«0.1» | ||
hercynium | \o/ | 20:34 | |
(was just curious about something) | |||
jnthn | .oO( 3 years of compiler development and people are curious whether it can do basic arithmetic correctly yet... ;-) ) |
20:35 | |
moritz_ | a valid question | 20:36 | |
muixirt | rakudo: say 43**3 | 20:37 | |
p6eval | rakudo : OUTPUT«79507» | ||
muixirt | hmm, what does this preciely do? perl6 -e 'say 43**3' | 20:40 | |
hercynium | on #perl someone was having an issue with that exact calculation on Perl5 and I wanted to let them know Perl6 handles such vagaries correctly :) | ||
jnthn | hercynium: Oh...floating point fun? :) | 20:41 | |
BinGOs | meh. | ||
hercynium | yep | ||
jnthn | heh :) | ||
sorear | Is mentioneing Perl6 on #perl a kicking offense? | ||
+n't | |||
diakopter doubts it | |||
hercynium | possibly :) | ||
BinGOs | where did that notion come from ? | 20:42 | |
diakopter | (but I wouldn't test it, b/c the attitude of "testing it" would be detected and be a kicking offense) | ||
diakopter doesn't know | |||
BinGOs | Doubt it, as I appear to be the only active op currently. | ||
colomon | rakudo: say 10.2.Num - 10.1.Num | 20:48 | |
p6eval | rakudo : OUTPUT«0.0999999999999996» | ||
colomon | ooooo | ||
sorear | rakudo: say 10.2e0 - 10.1e0 | 20:49 | |
p6eval | rakudo : OUTPUT«0.0999999999999996» | ||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 20:50 | |
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 20:56 | ||
21:02
nadim_ left
21:11
fhelmberger left
21:15
ggoebel left
|
|||
muixirt | in a directory with a file named HLL.pir in it perl6 refuses to work, why exactly? | 21:16 | |
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 21:18 | |
sorear | muixirt: trac.parrot.org/parrot/ticket/1589 | ||
21:22
alester left
|
|||
muixirt | sorear: sorry for coming up with an old issue | 21:23 | |
sorear | it's not your fault they haven't gotten tuits to fix it | 21:24 | |
muixirt | quite a lot files to avoid | 21:25 | |
sorear | is p6a moderated? | 21:33 | |
moritz_ | yes | 21:35 | |
well | |||
all p6. lists are anti-spam moderated | |||
which means that the first of your mails to that list waits for human approval | 21:36 | ||
sorear | I guess it's because I haven't posted to p6a before | ||
diakopter has forgotten what p6a is | 21:38 | ||
moritz_ | perl6-announce | ||
21:38
TypeNameHere____ left
21:41
nadim_ joined,
zostay joined
21:43
Guest27466 joined
21:46
am0c left
21:52
ash_ joined
|
|||
cosimo | tadzik: mmh | 21:53 | |
weird | 21:55 | ||
ash_ | rakudo: token foo { 'ab' }; say 'ab' ~~ /<ab>/; | 21:56 | |
p6eval | rakudo : OUTPUT«Useless declaration of has-scoped token in a module; add our or my to install it in the lexpad or namespaceMethod 'ab' not found for invocant of class 'Cursor' in <anon> at line 22:/tmp/bKhh90OvG8 in 'Cool::match' at line 2509:CORE.setting in 'Regex::ACCEPTS' at line 6016:CO… | ||
ash_ | what am i doing wrong there? i thought thats how you were supposed to do that, but i guess not? | ||
jnthn | rakudo: my token foo { 'ab' }; say 'ab' ~~ /<&ab>/; | 21:58 | |
p6eval | rakudo : OUTPUT«Could not find sub &ab in <anon> at line 22:/tmp/stEnl7B0U8 in 'Cool::match' at line 2509:CORE.setting in 'Regex::ACCEPTS' at line 6016:CORE.setting in main program body at line 22:/tmp/stEnl7B0U8» | ||
jnthn | rakudo: my token foo { 'ab' }; say 'ab' ~~ /<&foo>/; # even :) | ||
p6eval | rakudo : OUTPUT«ab» | ||
jnthn | ash_: They're methods so has-scoped by default. | 21:59 | |
ash_ | ah, there you go | ||
hmm, got ya | |||
PerlPilot | jnthn: but only for named tokens, rules, and regex | ||
22:00
am0c joined
|
|||
jnthn | PerlPilot: Well, yes, if there's no name, it wont be installed anywhere. :) | 22:01 | |
That's symmetric with anon methods too though. | |||
22:01
PerlPilot left
|
|||
ash_ | LTM is confusing me... | 22:01 | |
22:01
PerlJam joined
|
|||
ash_ | rakudo: say 'abcd' ~~ / 'ab' | 'abcd' /; | 22:02 | |
p6eval | rakudo : OUTPUT«ab» | ||
ash_ | why doesn't that match 'abcd' ? | ||
isn't abcd longest? | |||
PerlJam | | isn't implemented properly yet | ||
it's the same as || now | |||
ash_ | ah | ||
pugs: say 'abcd' ~~ /ab|abcd/; | 22:03 | ||
p6eval | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HANDLE>' trapped by operat… | ||
ash_ | hmm | ||
is pugs broken? | |||
pugs: say 1 | |||
p6eval | pugs: OUTPUT«1» | ||
ash_ | nope, guess it just doesn't like my regex | ||
but, if things were implemented fully 'abcd' ~~ /ab|abcd/ would match abcd? | 22:04 | ||
jnthn | Yes | 22:05 | |
ash_ | S05-metasyntax/longest-alternative.t is wrong btw, it does token foo { }; without my/has and doesn't use & | ||
does the regex engine generate a DNF currently? | 22:07 | ||
PerlJam | generate a Duke Nukem Forever? :-) | 22:08 | |
ash_ | would be awesome | ||
en.wikipedia.org/wiki/Deterministic..._automaton | 22:09 | ||
PerlJam | that would be a DFA | ||
(as opposed to an NFA) | |||
ash_ | oops, lol my bad | ||
dalek | ecza: 6cd5303 | sorear++ | v6/README: [v6] Add a tiny README |
22:10 | |
ecza: 3f34bbc | sorear++ | / (7 files): Overhaul storage of simple boxed values my $x = 5; now allocates 12 words between 2 objects instead of 20 words between 4 objects. If you want to ignore the 6 word, 1 object overhead of the container it's even bigger. |
|||
sorear | niecza: say "abcd" ~~ /ab|abcd/; # ash_ | ||
p6eval | niecza bf85a66: OUTPUT«» | ||
sorear | hmm | ||
niecza: say $( "abcd" ~~ /ab|abcd/ ) | |||
p6eval | niecza bf85a66: OUTPUT«abcd» | 22:11 | |
ash_ | neat, sorear++ | ||
sorear | my ~~ returns a list of the positional captures, so that my ($a, $b) = "ab" ~~ /(.)(.)/; will work | ||
/ab|abcd/ has no positional captures, so it returns nothing in list context | |||
which is what say() provides | 22:12 | ||
ash_ | rakudo: my ($a, $b) = "ab" ~~ /(.)(.)/; #wonder what rakudo does here... | ||
p6eval | rakudo : ( no output ) | ||
ash_ | err | ||
my ($a, $b) = "ab" ~~ /(.)(.)/; say $a, $b; | |||
rakudo: my ($a, $b) = "ab" ~~ /(.)(.)/; say $a, $b; | 22:13 | ||
sorear | ash_: Perl 6 regexes are based on PEGs, not DFAs | ||
p6eval | rakudo : OUTPUT«abAny()» | ||
sorear | Perl 6 might provide a DFA/NFA engine, but it won't be accessed using unrestricted regex syntax | ||
TimToady: ping | 22:15 | ||
ash_ | hmmm i would of figured a DFA was an efficient way of implementing a regex, but i am not exactly sure how PEG's relate to DFA/NFA's | ||
arnsholt | ash_: Remember that Perl 6 regexes are more powerful than regular expressions | 22:21 | |
IIRC PEG grammars are a superset of context-free grammars | |||
Which is simply impossible to handle using FSAs | |||
ash_ | why? which functionality is out of the capabilities of FSA? | 22:23 | |
or rather, why can't a PEG be expressed in terms of FSA | |||
TimToady | matching $0, for instance | ||
sorear: pong | |||
ash_ | $0 as in the first capture? | 22:25 | |
TimToady | PEG is agnostic to the rules by which it disambiguates; Perl 6 happens to use LTM as one of its criterion, and defines the declarative head of an expression such that it can generally be done with FSA if you choose to implement it that way | ||
nod | |||
various things (defined in S05) kick you out of declarative mode into procedural mode, and matching $0 is one of those | |||
the hope is that the transition from declarative to procedural can largely be managed transparently to the user's concerns | 22:26 | ||
22:26
ch3ck3r joined
|
|||
TimToady | though you can always use a closure or :: to force procedural | 22:26 | |
sorear | TimToady: #1 - a match like if $foo ~~ /a.*b.*c/ { } could be done entirely using a FSA, if $/ can be proven unused and the match is in an obvious boolean context. Is this an optimization we want to make or should there be a different interface? I don't like fragile optimizations | 22:30 | |
22:30
ch3ck left
|
|||
sorear | TimToady: #2 - say "foo" ~~ /oo/ # No output, because /oo/ has no positional captures and thus the match returns nothing in list context. Correct? | 22:30 | |
TimToady: #3 - | 22:31 | ||
perl6: my $f = sub ($x) { say "One" }; $f($f = sub ($x) { say "Two" }); | |||
p6eval | pugs: OUTPUT«One» | ||
..rakudo : OUTPUT«Two» | |||
ash_ | lol | 22:32 | |
thats pretty odd | |||
22:32
wamba left
|
|||
ash_ | but i guess the difference is when the assignment happens (before or after the invocation) | 22:32 | |
TimToady | #3 is probably just Undefined Behavior | 22:33 | |
ash_ | does precedence factor into order of operations? | 22:34 | |
TimToady | not there | ||
#2 could arguably return the whole match in that case | 22:35 | ||
currently unspecced though | |||
on #1, the question is not whether to use FSA (we might do that there in any case), but whether to do the extra work to build a generic $/ | 22:37 | ||
so the interesting question is how much we can determine that $/ is unwanted | 22:38 | ||
ash_ | can you determine that? or should the programmer say its unwanted somehow? | 22:40 | |
sorear | If /a.*b/ is matched with a DFA, then we need to rematch it with a PEG when $/.to is accessed | 22:41 | |
TimToady | most DFAs can tell you the .to already | ||
sorear | Which is worse than just using the PEG to begin with | 22:42 | |
Maybe .from would have been better, huh | |||
TimToady | depends on whether you're relying on an outer scanner to find the 'a' | 22:43 | |
which can often run faster than a DFA if it's BMable | 22:44 | ||
(no help with a single char like 'a' though) | |||
sorear | aaaa BM I need to learn so much more about regex theory | 22:45 | |
TimToady | ((outside of a pre-studied string with an inverted index into character locations) | ||
sorear | not to be confused with regular expression theory | ||
how does study work? | |||
TimToady | just that, it builds a linked list of all the 'a's, all the 'b's, etc | 22:46 | |
then it looks for the rarest letter in the search string, 'k', say, and only looks in those locations | |||
where rarest is assuming some language skew such as English | |||
I suppose one could do a dynamic calculation to pick the shortest linked list | 22:47 | ||
the overhead of that might amortize well over a longer string | 22:48 | ||
but study really only helps if you're going to search the same string many times | |||
otherwise inverting the index doesn't get you anything | |||
BM is worth using on a one-shot string, though | 22:49 | ||
unless you're searching for something like 'aaaaaa' | |||
well, maybe it can help there too | 22:50 | ||
ash_ | what do you mean by BM? | 22:51 | |
google is failing me there | |||
TimToady | since mismatching an 'a' lets you advance 6 chars, if you're willing to back up 5 on first 'a' that actually does match | ||
otoh, how this interacts with NFG will be an "interesting" subject | 22:52 | ||
or even NFC | |||
(with utf-8 we usually do BM is byte-oriented anyway) | |||
s/is/as/ | |||
diakopter | ash_: Boyer-Moore | 22:54 | |
TimToady | one of the reasons Perl 5 can do a lot of scanning rapidly is that it often uses Boyer-Moore (or variants) to avoid calling the regex engine at all | 22:55 | |
ash_ | okay, thanks, i'll see if i can find more info on that | 22:56 | |
flussence | I remember reading something about grep that mentioned that... | ||
supposedly they use all kinds of bizarre tricks in that program for the sake of speed | 22:57 | ||
ash_ | i have always wondered how some perl string things are so fast, like ack being able to parse a large number of files and find a simple string very effectively, its always amazing to me how quickly that returns | 22:58 | |
TimToady | even when only the first character is known, it still scans outside the regex engine | ||
that would mostly be the fault of BM | |||
the longer the search term, the more benefit you get from it | |||
sorear | right now niecza only has a PEG engine. I need to understand stuff better in order to usefully fix this | 22:59 | |
PEG suffices for grammars, but STD has some tests like in getsig, $name ~~ /^(\$|\@|\&|\%)\:\w/ | 23:00 | ||
that regex is incredibly slow atm | 23:01 | ||
23:03
dju left
23:04
dju joined
23:06
XaRDaX left
|
|||
TimToady | nap& | 23:08 | |
23:12
flatwhatson joined
23:19
_kaare left
23:21
whiteknight joined
23:22
masak joined
|
|||
masak | ahojte! | 23:22 | |
blog post! strangelyconsistent.org/blog/novemb...resolution | |||
sjohnson | don ahojte | 23:23 | |
masak | yep. I'm done tilting windmills for the night. | 23:24 | |
sorear | hello masak! | 23:25 | |
masak | someone gives chromatic's "Modern Perl" book low grades because it doesn't have any Perl 6 in it: twitter.com/chromatic_x/status/9340263218552832 | ||
23:25
hercynium left
|
|||
masak | sorear: hi! congrats on the release! | 23:25 | |
sorear++ | |||
dalek | ast: 4cb303e | (Kodi Arfer)++ | S04-statements/terminator.t: [S04-statements/terminator.t] Added a test for RT #79964. |
23:26 | |
sjohnson | cool | ||
masak | rakudo.org down: downforeveryoneorjustme.com/http://rakudo.org/ | 23:29 | |
sorear | I need to figure out releases in general | 23:31 | |
Tene | masak: four-colour theorem is that no more than four will be required. That's not really relevant for that image... | 23:32 | |
masak | Tene: it was a (weak) attempt at humor. | ||
Tene | masak: Ah. Sorry. I've got my humour process stopped today to free up ram. | 23:33 | |
masak | :) | ||
Tene: happy news, though: 'make test' in Web.pm only turns up two unexpectedly passing TODO tests. | 23:34 | ||
Tene | masak: That's great to hear. | ||
masak | the rest of the failing tests have been tucked away beneath todo or skip annotations. | ||
Tene | You're making a branch to start migration to master, then? | ||
masak | nah, I'm doing the last bit of stuff required to wrap up the grant. | 23:35 | |
THEN I'm making the branch :) | |||
feel free to make a branch before that, if you like. | |||
23:36
muixirt left
|
|||
masak | by the way, am I the first person to notice the totally brain-dead API of Test.pm? 'multi sub todo($reason, $count)' but 'multi sub skip($count, $reason)'. wtf? | 23:36 | |
I volunteer to simultaneously fix the whole spectest suite and Test.pm to make that brain damage go away. | |||
sorear | Test.pm is pretty brain dead in general | ||
masak | and the fudge machine. | 23:37 | |
sorear | I say, don't use anything but plan(Int) and ok(Bool,Str) | ||
masak | I think Test.pm could benefit from a wee bit of committee design. | ||
just a tiny bit. | |||
sorear | Test.pm is four mutually incompatible modules with the same name, all loosely based on Perl 5's Test::More | 23:38 | |
masak | sorear: but that (using just those two subs) is clearly a personal guideline of yours, and not a recommendation from the people who co-wrote Test.pm :) | ||
sorear | I wrote one of the four! | 23:39 | |
masak | I like the idea of Perl 6 providing a bit more than Perl 5. but I don't like when the extra bits are brain-damaged. | ||
maybe it's time to standardize Test.pm, then. | |||
sorear | &todo and &skip aren't extra bits | ||
masak | if it's in the spec, we *have* to do it right, no? | ||
sorear | yes | ||
standardizing Test would be a good idea | 23:40 | ||
ash_ | it would be nice to have a standardized Test | ||
masak | the leader of such a project would have to be utterly sane, free of corruption, and a sincere, humble character. I nominate myself. | 23:41 | |
:P | |||
ash_ seconded | |||
sorear | I second masak | ||
masak | wow. | ||
ash_ | skip 5, "they don't parse yet" vs skip "they don't parse yet", 5; | 23:42 | |
masak | :( | ||
ash_ | todo "they don't parse yet", 5; vs todo 5, "they don't parse yet" | ||
23:42
sftp left
|
|||
ash_ | those seem very ambiguous to me | 23:42 | |
23:42
risou joined
|
|||
masak | I must confess that the Int-first forms are obvious to me. | 23:42 | |
skip $n, $reason? | 23:43 | ||
todo $n, $reason? | |||
ash_ | skip *, "i don't wana tell you" | ||
masak | that's not a real use case, sorry :) | ||
ash_ | you can't skip whatever? | ||
masak | see "utterly sane" above :P | ||
sorear | I'd like an API that can be implemented with very few implementation features | 23:44 | |
masak | well, it could mean Inf or something, I guess. | ||
sorear: yes, that's a good goal. | |||
sorear | no object oriented nonsense | ||
ash_ | what if it meant, skip until one passes, then pick it backup? | ||
masak | sorear: right. | ||
sorear: which basically means globals or dynamic vars instead. | |||
sorear: which do you prefer? | |||
ash_ | plan, is, okay, skip, todo? | ||
Hor|zon | no OO does mean globals lol | 23:45 | |
sorear | masak: for what are you thinking of using dynamic vars? | ||
masak | ash_: &skip means "don't run". it is accompanied by commented-out code. | ||
sorear: for the state implicitly carried around in Test.pm | |||
Hor|zon | not* | ||
masak | sorear: number of tests passed/run so far, number of tests to skip, etc. | 23:46 | |
sorear | masak: I'd prefer to spec an API - people trying to boostrap very restrictive environments will have to rewrite Test.pm anyway | ||
masak | ash_: so "until one passes" doesn't work, since the commented-out tests never run. | ||
sorear: agreed. | 23:47 | ||
ash_ | $*tests-passed; $*tests-skipped; $*tests-run; $*tests-failed; # redundant, but lets you not have to re-calc | ||
sorear | it'd be better if there were no exported globals | ||
we could have a get_tests_passed | |||
masak | no need for exported globals as far as I can see. | ||
23:47
rainerschuster left
|
|||
masak | sorear: yes, but why? | 23:48 | |
ash_ | masak: makes sense, i was thinking of a function that told the next N tests to just not report success/failure, not commenting them out | ||
masak | ash_: right. &todo does something like that. | 23:49 | |
ash_: it still reports "ok"/"not ok", but it also adds a '# TODO' comment. | |||
ash_: that way, the harness knows which ones were expected fails and which ones were unexpected successes. | |||
all these things are (I guess) part of TAP and not to be tampered with. | 23:50 | ||
sorear | masak: Test::More lets you instantiate a local Test::Builder object for running nested test suites | ||
that's hard to do if the API specs direct access to globals | |||
also, exporting variables is a feature that we don't need to depend on | |||
masak | right. but why would the API spec direct access to its globals? | 23:51 | |
I think I'm missing something more basic here. | |||
isn't Test.pm basically a state machine that can keep all its state hidden? | |||
sorear | masak: Sorry, I thought you were proposing direct global access | ||
masak | no, and you already convinced me that we should stay out of deciding how the internal state is to be done. | 23:52 | |
that's up to the implementor; the spec's job is to provide a sane API. | |||
sorear | I need to go soon - it would be a very good idea to get Schwern and/or ingy involved in this | ||
masak | indeed. | ||
single comment on tadzik++'s proggit thread is disappointing: www.reddit.com/r/perl/comments/edgj..._grammars/ | 23:54 | ||
ash_ | nifty article, i missed it earlier | 23:57 | |
masak | I was figuratively blown away by it. |