»ö« 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. |
|||
diakopter | oh! | 00:00 | |
they *did* get pushed | |||
they just don't appear in the main listing on github's history line | |||
flussence | hmm | ||
diakopter | because they're on my master merge commit with 2 parents | 00:01 | |
00:01
xinming_ left
|
|||
diakopter | curiouser and ... | 00:01 | |
flussence | if you want to pick certain files, make a separate clean branch and merge only those into it, I guess | ||
diakopter | no, I'm saying I don't need to | ||
my problem was a false alarm | |||
flussence | oh well, someone might find that useful anyway :) | ||
diakopter | github.com/jnthn/6model/commit/dd7...1d5e298b6a and its 3 parents | 00:02 | |
they weren't listed here either (of course).. | |||
diakopter starts to learn a bit more | |||
jnthn | diakopter: Lemme check if they're in my pull | 00:03 | |
diakopter: What am I looking for? | |||
diakopter | Ops\P6capture.cs | ||
flussence | the one thing I've learned with git is that it's easier to start with a clean copy and mess it up than to tidy up a messy tree | ||
...and clean copies are cheap, too | 00:04 | ||
diakopter | I've done that a couple of times already. | ||
jnthn | 4,563 P6capture.cs | ||
In Ops | |||
diakopter | time to upgrade TortoiseGit though | ||
jnthn: yay. also, it's here github.com/jnthn/6model/blob/maste...capture.cs | |||
jnthn | diakopter: However, seems not to have made it into the proejct file. | 00:05 | |
diakopter | oh yes. :) | ||
I forgot to commit that. | |||
a neglection as opposed to a git misunderstanding | 00:06 | ||
jnthn | np | ||
Any particular thing you'd like me to hack on tomorrow? | |||
diakopter | me? | ||
jnthn | Yeah | ||
diakopter looks | 00:07 | ||
jnthn | (e.g. if there's any upcoming blockers you can see yourself hitting...) | ||
diakopter | attribute viviself | ||
flattened args | |||
jnthn | k | 00:08 | |
diakopter | I've needed those when "directly" porting Cursor.pir so far.. (I'm avoiding refactoring as much as possible so far) | ||
jnthn | *nod* | ||
OK, I'll see what I can do. | |||
diakopter | default arg expressions | ||
jnthn | The first ain't to bad to work around, but the latter is kinda difficult | ||
Default args for the non-value case? | |||
diakopter | remember the default arg expressions work, but only if they don't reference lexicals | 00:09 | |
jnthn | Oh, yes. | ||
I can look at that. | |||
frettled | jnthn++ | ||
jnthn | OK, I try and do those (or at least some of them) tomorrow. | ||
heh. diakopter++ # taking on the task that scares me :) | |||
frettled | :) | 00:10 | |
that, too! | |||
diakopter predicts jnthn will sleep soon | |||
jnthn | Yeah | ||
And finally...I can sleep without setting an alarm clock. \o/ | |||
diakopter: Probably awake for another 30 mins or so | 00:11 | ||
diakopter: Though plan to resume hacking tomorrow ;) | |||
At least we sorta have workinger packages now :) | 00:12 | ||
frettled | I'm still in awe about the progress in specs and implementation (Parrot+Rakudo). | ||
dalek | odel: 078ff60 | diakopter++ | dotnet/runtime/Rakudo.Net.csproj: [dotnet] add P6capture.cs to the .csproj |
00:16 | |
sorear | 76.49% 52m33s | 00:17 | |
00:17
aindilis joined
|
|||
diakopter | jnthn: I set my vstudio to complain about mixed line-endings (Tools..Options..Environment..Documents) so I can reset everything to be LF-only like it seems to be in the git repo (regardless of what they are on your disk) :) | 00:18 | |
hopefully that will decrease your oddities | |||
jnthn | diakopter: OK, fingers crossed... | ||
diakopter: I'm still utterly confused by it. :) | |||
diakopter: It's still better than using TFS for version control though. ;) | |||
*sigh*$dayjob*sigh* | |||
sorear | What is the value of try { die "foo" }? | ||
jnthn | sorear: Sets $! | 00:19 | |
sorear | jnthn: that's irrelevant to my question | 00:20 | |
jnthn | oh | ||
*that* meaning of value | |||
:) | |||
...yeah, this is why I stopped writing code a little bit ago. :) | |||
sorear: It may be the exception object. | 00:21 | ||
masak | it may be Nil. | ||
00:21
justatheory joined
|
|||
jnthn | masak: Hm | 00:22 | |
Maybe | |||
masak: I kinda like that more | |||
masak: Either way it should be something that is Boolean false and undefiend so I guess not the exception object. | |||
masak | makes more sense, I think. | ||
jnthn | And it shoudln't be a Failure | ||
masak | no. | ||
jnthn | (Because the try threw away the exception) | 00:23 | |
So Nil probably makes most sense. | |||
oh, is Nil undefined these days? | |||
rakudo: say Nil.defined | |||
p6eval | rakudo : OUTPUT«Bool::False» | ||
00:23
vx64z joined
|
|||
jnthn | Good (if it's up to date :)). | 00:23 | |
dalek | ecza: 4b53c13 | sorear++ | / (3 files): Fix ~/capture interaction |
00:24 | |
ecza: a01a003 | sorear++ | / (2 files): Disallow assignment to non-existing dynvars |
|||
00:26
vxz left,
vx64z is now known as vxz
|
|||
masak | blog post! strangelyconsistent.org/blog/novemb...d-bad-news | 00:26 | |
sorear needs to get more consistant about quickly implementing stuf flike that | |||
masak heads home | 00:28 | ||
'night, #perl6 | |||
00:28
masak left
00:38
cdarroch left
00:39
whiteknight joined
00:45
sftp left
00:46
justatheory left
00:48
justatheory joined
00:55
colomon left,
justatheory left
01:03
colomon joined
01:06
risou joined
|
|||
dalek | odel: 3c9aed7 | diakopter++ | / (2 files): [dotnet] add a failing test for jnthn++ to investigate/fix |
01:35 | |
diakopter | phenny: ask jnthn plz look at 6model 3c9aed7 | 01:36 | |
phenny | diakopter: I'll pass that on when jnthn is around. | ||
01:48
justatheory joined
01:51
am0c left
|
|||
dalek | tpfwiki: Herbert Breunung | Perl 6 Variable Tablet | 01:52 | |
tpfwiki: www.perlfoundation.org/perl6/index....ble_tablet | |||
tpfwiki: Herbert Breunung | Perl 6 Tablets | |||
tpfwiki: www.perlfoundation.org/perl6/index...._6_tablets | |||
lichtkind | TimToady: thank you | 01:53 | |
dalek | lek-poller: 9d471b9 | sorear++ | modules/local/ (2 files): Use CREDITS data for tpfwikilog |
02:06 | |
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | 02:18 | ||
02:20
am0c^ left
02:34
drbean_ joined,
dd-sphere joined
02:35
am0c^ joined
02:37
drbean left
02:38
ch3ck3r left
02:39
drbean_ left
02:46
drbean joined
03:07
dd-sphere left
|
|||
diakopter | sorear: did your bugfix make it into mono 2.8.1 | 03:31 | |
oh. no. | 03:34 | ||
03:34
KyleHa joined
03:56
cosimo joined
03:59
KyleHa left
04:13
whiteknight left
04:26
Bzek_ joined
04:29
Guest2242 left,
Bzek left
04:32
Limbic_Region left
|
|||
lichtkind | good night | 04:34 | |
04:37
meppel joined
04:40
meppl left,
drbean left
04:45
alester joined
|
|||
MindosCheng | Good night. | 04:47 | |
04:48
masak joined
|
|||
masak | good morning, #perl6. | 04:48 | |
I've spent the idle hours writing an LTM algorithm for .trans: gist.github.com/707628 | |||
it passes all the tests, but there are a few corner cases (which we should have tests for, but don't) that it doesn't handle. | 04:49 | ||
here are the two I can think of: | 04:50 | ||
"AAA".trans(["A", "A"] => ["1", "2"]) # what should the result be? why? | 04:51 | ||
it also doesn't resolve on token length at all, because all tests pass without it. | |||
(so yes, it's a longest-token matcher that doesn't take longest token into account) :) | 04:52 | ||
anyway, feel free to review. | |||
MindosCheng | masak++ | ||
masak | I'll go sleep now, and when I wake up I plan to add the missing spectests and patch up Rakudo with the new code. | ||
04:53
masak left
04:59
kanishka joined
05:00
lichtkind left,
obsd123 joined
05:03
vxz left
|
|||
lue | ohai o/ | 05:06 | |
MindosCheng | Hey~ | 05:17 | |
05:18
ggoebel left
05:19
ggoebel joined
|
|||
ggoebel | party got moved to Runde 8 | 05:19 | |
oops disregard | 05:20 | ||
05:20
ggoebel left
05:28
drbean joined
05:34
justatheory left
05:55
meppel left
05:59
am0c^ left
06:16
obsd123 left
06:25
alester left
|
|||
lue | phenny: "Дивитися YouTube українською"? | 06:25 | |
phenny | lue: "Watch YouTube Ukrainian" (uk to en, translate.google.com) | ||
lue | .oO(that makes sense) |
||
06:39
obsd123 joined,
Chillance left
06:47
kanishka left
06:54
mssm joined
07:01
kanishka joined
07:03
kanishka left
07:06
mssm left
07:19
mssm joined
07:28
am0c joined
08:17
Woodi left,
Woodi joined
|
|||
dalek | ecza: 6598951 | sorear++ | / (3 files): Start of the contexts overhaul Previously, to extract a String from a value like "foo", first the .Str method is called, then the result is unboxed to get a String. This results in a lot of unneccessary method calls. Now, there is an intermediate layer of C#-level virtual calls, which directly do the needed operations for simple types, or else delegate it to the corresponding method. |
08:55 | |
09:01
_xiaomo_ joined
|
|||
tadzik | github.com/github/gitignore/blob/m....gitignore | 09:09 | |
tadzik mumbles something about .pir | |||
09:14
xinming joined
09:17
plobsing left
|
|||
dalek | ecza: ecbb97d | sorear++ | / (4 files): Start writing builtins to use the new contexts |
09:28 | |
09:31
sniz joined
|
|||
dalek | ecza: 56de4a2 | sorear++ | src/ (3 files): Add simplifier rules to use new builtins |
09:36 | |
09:39
nymacro joined
09:40
agentzh joined
|
|||
dalek | ecza: 83891ca | sorear++ | src/ (2 files): Use new contexts in conditional operators |
09:45 | |
sorear | 18us down to 2.7us on ctxmark.pl | 09:46 | |
it helps that ctxmark.pl uses the two builtins I implemented (this isn't a coincidence) | |||
0.23 us for Perl 5 :( | 09:47 | ||
simon | does anyone here know if negative look-arounds extend the set of regular languages, or if they're just syntax sugar that prevents a blow-up in regex size? | 09:48 | |
MindosCheng | corear++ | ||
sorear++ | |||
sorear | there's one more easy optimization I can do - adding a constant pool | 09:49 | |
no need to reconstruct 1000000.0 every time through the loop | |||
it would be even better if the loop could be done without allocating, but I'm not sure if that's sanely possible now | 09:50 | ||
since Num is an object now | |||
Perl 5 can run the loop without allocating | |||
0.97 us with SGen | 09:54 | ||
sorear out | 09:55 | ||
10:02
_xiaomo_ left
10:08
araujo left
10:13
mavrc joined
10:22
oha joined
10:24
risou left
10:30
MayDaniel joined
10:44
MayDaniel left
10:50
wamba joined
10:53
Woodi left
10:55
am0c left
11:04
obsd123 left
11:10
sftp joined
11:12
Woodi joined
11:17
am0c joined
11:24
am0c left
11:30
teslos joined
11:32
agentzh left
11:42
am0c joined
12:02
am0c left
12:10
drbean left
12:17
am0c joined
12:18
drbean joined
12:20
Trashlord joined
12:29
orafu left,
orafu joined
|
|||
tadzik | hmm, idea. Could we organize something like 'adventsketch', so we can discuss the workflow? I don't know how it was going last year, but I'd personally start planning something | 12:36 | |
12:36
sftp left
|
|||
moritz_ | tadzik: last year there was a file in which there was one line per day | 12:37 | |
tadzik | ok. moritz_, could we hit the first day with you MAIN article? | ||
moritz_ | tadzik: people entered their name and topic for a particular date | 12:38 | |
tadzik: we could, but a more general "current state of Perl 6" or "how to install a compiler" or so might be better suited for a start | |||
people usually prepared their entry a bit in advance | |||
and if they didn't, others reminded them :-) | |||
tadzik | "what changed since last year?" | ||
(that needs a has) | 12:39 | ||
moritz_ | that said, an adventsketch wouldn't be a bad idea either | ||
tadzik | I can write something like this probably | ||
that would cover the distinction between Rakudo and Star | |||
moritz_ | just don't assume too much of last year's knowledge | ||
+1 | |||
tadzik | sure thing | ||
12:40
sftp joined
|
|||
tadzik | what is the state of advent2009 tests? I thought they're here, but I had to notice the brokeness of Grammar chapter over time myself anyway. Are they reliable? | 12:40 | |
moritz_: can I schedule you for 2nd? | 12:42 | ||
cosimo | what's the idiomatic way to opendir/readdir in p6? | ||
tadzik | dir()? | ||
cosimo | i tried searching for this info, but I couldn't find it | 12:43 | |
tadzik | > dir('.') | 12:44 | |
bin .mc .NERDTreeBookmarks r-PERL.diff fortunes | |||
hmm, maybe an article about file mangling? | 12:45 | ||
cosimo | something in the perl6 book? | 12:47 | |
tadzik | no idea. But I alredy voluneered for an article about this on Perl 6 Advent Calendar. Or you can learn your way around and write it yourself :) | 12:48 | |
cosimo | the file test '-f $file' is gone. in your code, I saw '$file.IO ~~ :f' | ||
tadzik: is that correct? | 12:49 | ||
tadzik | yes | 12:50 | |
dalek | : 707daf9 | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/ (2 files): [advent calendar] Added an idea about file mangling, added schedule and assigned some initial volunteers to it |
||
tadzik | you may want to look into File::Find | ||
sorear: why isn't that tadzik in dalek's message? | |||
12:52
teslos left
|
|||
cosimo | tadzik: that's where I learned about $x.IO ~~ :y | 12:53 | |
:) | |||
tadzik | :) | ||
cosimo | would be nice to know where did you learn that | ||
here maybe? | |||
12:54
araujo joined,
araujo left,
araujo joined
|
|||
tadzik | probably | 12:54 | |
dalek | : 2f0d9cf | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/schedule: [advent calendar] volunteered for day 3: File operations |
||
tadzik | I'm wondering where did I learn that, but no idea :) | 12:55 | |
cosimo: perlgeek.de/en/article/5-to-6#post_11 there is a little | |||
at least the file tests | |||
13:05
meppl joined
|
|||
cosimo | please, tell me rakudo has an eval method. please. :-| | 13:13 | |
i mean function, builtin | |||
yes! | |||
flussence | rakudo: eval('yes') | ||
p6eval | rakudo : ( no output ) | ||
flussence | whoops. | ||
rakudo: eval('say yes') | |||
p6eval | rakudo : ( no output ) | ||
flussence | :/ | ||
tadzik | :> | ||
flussence | oh, might be disabled in p6eval | 13:14 | |
tadzik | rakudo: eval "say 'yes'" | ||
p6eval | rakudo : OUTPUT«yes» | ||
tadzik | hmm | ||
flussence | ...or I'm just being stupid :) | ||
tadzik | rakudo: eval "dir('.').perl.say" | ||
p6eval | rakudo : ( no output ) | ||
tadzik | rakudo: eval "dir('.').perl.say"; say $! | ||
p6eval | rakudo : OUTPUT«Operation not permitted in safe mode» | ||
tadzik | good | ||
cosimo: whatcha writing? | 13:15 | ||
13:22
jonalv joined
|
|||
jonalv | o/ | 13:22 | |
13:22
Patterner left
|
|||
jonalv | do you guys have a bot that keeps track of people? I am looking for masak... | 13:23 | |
cosimo | tadzik: a port of facter to perl6 | 13:25 | |
tadzik: puppetlabs facter | |||
sorry again, stupid question | 13:26 | ||
how do i "map { "$_.foo" } @x" ? | 13:27 | ||
13:27
jonalv left
|
|||
cosimo | ah, just needs a comma | 13:28 | |
flussence | rakudo: my @x = 1..9; say @x».ord | ||
p6eval | rakudo : OUTPUT«495051525354555657» | ||
jnthn | o/ #perl6 | 13:29 | |
phenny | jnthn: 01:36Z <diakopter> ask jnthn plz look at 6model 3c9aed7 | ||
cosimo | rakudo: my @x = map { "$_/facter" } @*INC; say @x.perl; | 13:30 | |
p6eval | rakudo : OUTPUT«===SORRY!===Confused at line 22, near "my @x = ma"» | ||
cosimo | rakudo: my @x = map { "$_/facter" }, @*INC; say @x.perl; | ||
p6eval | rakudo : OUTPUT«["lib/facter", "/home/p6eval/.perl6/lib/facter", "/home/p6eval/p1/lib/parrot/2.10.0-devel/languages/perl6/lib/facter", "./facter"]» | ||
cosimo | cool | ||
jnthn | phenny: tell diakopter I've looked but I think the right thing is happening. Everything inherits from Mu, so 7 passes as expected. 8 fails because if you look at the multi candidate in Mu, it's multi method Str(Mu:U $self:) { ... }. The :U means "something undefined" but $xyz is defined. | 13:34 | |
phenny | jnthn: I'll pass that on when diakopter is around. | ||
13:34
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
jnthn | phenny: tell diakopter So test 8 was incorrect here. I corrected it - s/$xyz/XYZ/ - and it passes. | 13:36 | |
phenny | jnthn: I'll pass that on when diakopter is around. | ||
dalek | odel: eb4daa2 | jonathan++ | / (3 files): [t] Correct a test case. |
||
jnthn | phenny: tell diakopter Note that we do need a Str with Mu:D that does something sensible. But it probably needs .WHERE to work first, if it's going to do the same thing the Rakudo one does (which seems sensible). | 13:38 | |
phenny | jnthn: I'll pass that on when diakopter is around. | ||
jnthn | phenny++ | ||
cosimo | is it better to self.call($something) or $.call($something) ? | 13:40 | |
is it even the same thing? | |||
jnthn | Similar | 13:41 | |
$.call($something) also puts the result in item context. | |||
cosimo | jnthn: and that means... | 13:42 | |
jnthn | Same as self.call($soemthing).item | 13:43 | |
cosimo writes down | 13:46 | ||
colomon | jnthn: might you have time help me sort out what's going on with nqp-rx 3-5 hours from now? | ||
jnthn | colomon: Yes, somewhere in that time window I should be about. | 13:47 | |
colomon | \o/ | ||
football watching and nqp-rx hacking, sounds like a fine afternoon. | |||
13:47
M_o_C joined
|
|||
jnthn | colomon: Plan to take a walk now, and go out for noms this evening, but that's probably a good 5 hours away :) | 13:47 | |
13:48
mubuti joined
13:51
mubuti left
|
|||
cosimo | what is the equivalent of ruby/python's "yield" in rakudo? | 13:55 | |
jnthn | cosimo: See gather/take | 14:05 | |
I think that's what you want, anyway | |||
jnthn -> walk | |||
14:10
juanmabc joined
|
|||
cosimo | jnthn: thanks | 14:17 | |
juanmabc | hi, so to summariza, what's the state? just to talk about: what kan i do? | 14:23 | |
come on, guys, you do know it! =D | 14:25 | ||
cosimo | you mean perl6? | 14:26 | |
just take a look at real working code, modules.perl6.org/ | 14:27 | ||
dalek | d: 6ca59e0 | util++ | std_hilite/spec_highlight: [std_hilite] Fix typo |
14:28 | |
juanmabc | thanks, so perl 5 modules require a port, is this porting hard?, mainly i like Perl CPAN quantity&quality, 6 is nothing without it ;) | 14:34 | |
MindosCheng | I guess it's possible to write a translator for normal modules ...... | 14:39 | |
cosimo | juanmabc: well, if you look at modules.perl6.org, there's several modules that are straight ports of p5 code | 14:51 | |
tadzik | jnthn: what's Item Context? | 14:52 | |
cosimo: which ones? :) | |||
cosimo | tadzik: LWP::Simple? :) | ||
Digest::MD5, MIME::Base64 | 14:53 | ||
tadzik | cosimo: isn't P5 LWP::Simple using LWP::UserAgent behind the scenes? | ||
cosimo | tadzik: well, I meant high-level API is the same, not really the underlying code | ||
that wouldn't be fun | 14:54 | ||
14:54
_twitch joined
|
|||
tadzik | right | 14:54 | |
cosimo: I'm afraid it isn't | |||
well, that it is... nevermind | 14:55 | ||
cosimo: cpansearch.perl.org/src/GAAS/libwww.../Simple.pm | |||
use LWP::UserAgent (); | |||
15:00
nadim left
15:03
whiteknight joined
15:05
nadim joined
15:06
sftp left,
sftp joined
|
|||
tadzik | oh ffs, I just saw example C++ exams on my Uni. Dozen of classes, inheriting various things from each other, and the task is "say what the output would be" | 15:07 | |
MindosCheng | tadzik: 42 | 15:09 | |
jnthn | Compile error ;) | 15:10 | |
tadzik | I wish | ||
so the task is to learn the MRO. Excellent | |||
MindosCheng | Hello World! | ||
tadzik | wanna see teh code? | 15:11 | |
MindosCheng | Please! | ||
tadzik | feather.perl6.nl/~tjs/kol1_ex1.pdf | ||
jnthn had quite enough brain-damaging code at $dayjob this week... | |||
The Polish is cute though | 15:13 | ||
:) | |||
tadzik | it's the only funny part :) | ||
15:14
lichtkind joined
|
|||
tadzik | and this guy's coding style... he tends to name methods like get_pole() -- half-Polish-half-English on his slides | 15:14 | |
MindosCheng | It's the typical question about the calling order and which method too be called in C++. | ||
Get golf? | 15:16 | ||
tadzik | golf? | ||
I'd rather get a phone with an ssh client | |||
MindosCheng | You may bring a phone with gcc on it... | 15:17 | |
15:18
risou joined
|
|||
clkao | MindosCheng! | 15:22 | |
MindosCheng | clkao! | ||
clkao: I thought you just hang there... | 15:23 | ||
clkao: So you did read the channel. lol. | |||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | 15:24 | |
clkao | from time to time | 15:26 | |
MindosCheng | I see. | 15:27 | |
lichtkind | does anyone know whyt .com method does exactly? | 15:35 | |
does anyone know what the .com method does exactly? | |||
moritz_ | in which class? | ||
lichtkind | i think its should be in str | ||
grr i mean comb | |||
it should be close to .match | |||
moritz_ | except that it implies :g | 15:36 | |
15:36
M_o_C left
|
|||
moritz_ | and defaults to rx{.} | 15:36 | |
lichtkind | but comb stand for combine? | 15:37 | |
moritz_ | no | ||
to comb = kämmen | |||
search for something | |||
lichtkind | ah thatswhy i dont know this word :) | 15:38 | |
moritz_ | oh, and .comb returns strings by default, not Match objects | ||
lichtkind | look at my hair :) | ||
thank you very much i think i overlooked this one, its completely missing in the index | |||
is the .comb in array gone or just in list context? | 15:39 | ||
moritz_ doesn't understand the question | 15:40 | ||
tadzik | I also thought comb is from the hair thing :) | ||
lichtkind | moritz_: as far as i know .comb was an alias to the X crossproduct operator | ||
moritz_ never heard that before | 15:41 | ||
lichtkind | i took it from the synopses | 15:42 | |
but its not there anymore | |||
that kind of stuff i dont make up :) | |||
moritz_ | no, you don't, you just confuse other stuff :-) | 15:43 | |
15:43
cognominal joined
15:45
nymacro left
|
|||
lichtkind | the returning match object can also be found under $\ ? | 15:45 | |
tadzik | $/ rather | 15:46 | |
lichtkind | yes | ||
but the same .match returns | |||
moritz_: but .comb can also return an array of strings? | 15:48 | ||
tadzik | doesn't it? | 15:49 | |
jnthn | rakudo: "12 beer 42 bed 69".comb(/\d+/).perl.say | ||
p6eval | rakudo : OUTPUT«("12", "42", "69")» | ||
jnthn | rakudo: "12 beer 42 bed 69".match(/\d+/).perl.say | 15:50 | |
p6eval | rakudo : OUTPUT«Match.new( from => 0, orig => "12 beer 42 bed 69", to => 2,)» | ||
jnthn | lichtkind: Note how comb gives back a list of strings and match a match object | ||
rakudo: "12 beer 42 bed 69".match(/\d+/, :g).perl.say | |||
p6eval | rakudo : OUTPUT«(Match.new( from => 0, orig => "12 beer 42 bed 69", to => 2,), Match.new( from => 8, orig => "12 beer 42 bed 69", to => 10,), Match.new( from => 15, orig => "12 beer 42 bed 69", to => 17,))» | ||
jnthn | Or a list of match objects | ||
lichtkind | thanks jnthn but X has no more a method alias? | 15:52 | |
moritz_ | lichtkind: are you sure you're not confusing it with the :x regex modifier? | ||
which is about repetition | |||
lichtkind | rakudo: "12 beer 42 bed 69".comb(/\d+/) | 15:53 | |
p6eval | rakudo : ( no output ) | ||
lichtkind | moritz_: i am shure | ||
rakudo: "12 beer 42 bed 69".comb(/\d+/).say | |||
p6eval | rakudo : OUTPUT«124269» | ||
15:54
icwiener joined
|
|||
jnthn | lichtkind: X is more making permutations | 15:54 | |
*for | |||
lichtkind | i know | ||
i just was looking for the new method alias | |||
jnthn | I don't know there ever was one. It doesn't make that much sense to me to have one... | 15:55 | |
It's more sub-y than method-y. | |||
moritz_ | more to the point, X is a symmetric operation between N lists. Which list should you call it on if it where a method? | 15:56 | |
jnthn | Yes, much better put. | 15:57 | |
15:57
masak joined
|
|||
masak | oh hai, #perl6! | 15:57 | |
jnthn | lolitsmasak | ||
moritz_ | his masakness has joined the channel! | ||
masak | you deference surprises and delights me. | 15:58 | |
15:58
risou left
|
|||
tadzik | masak: someone was looking for you, but gone now | 15:58 | |
15:58
risou joined
|
|||
masak | ah, such is life. a constant quest for the person not on the channel. | 15:58 | |
masak backlogs | 15:59 | ||
oh, it was jonalv++. :) yes, he wanted to sushi earlier. | 16:00 | ||
tadzik | how philosophical | ||
:) | |||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 16:02 | |
masak | with the latest addition to dalek, I now know that lichtkind is active a lot, though not with what :) | 16:03 | |
lichtkind | masak: yes we talked yesterday with soroar about that a sort of diff function was mentioned a good to have since socialtext dont allowes commit messages | 16:04 | |
jnthn | Ouch. Re-basing nqp-rx is a tad painful thanks to the bootstrap files being updated multiple times in master... | 16:05 | |
masak | lichtkind: yes, I saw. tricky. | ||
moritz_ | jnthn: it's probably eaiser to write a perl script that looks for those commits that do not update bootstrap files, and cherry-pick them one after the other | 16:06 | |
16:06
am0c left
|
|||
jnthn | moritz_: It's a slight deeper issue in that my branch and master have both pushed things into the bootstrap but they aren't mergeable. I hope I get away with just merging all the stuff aside from them and then re-generating them. | 16:08 | |
Let's see... :) | |||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | ||
jnthn | git++ # can do all of this locally | ||
masak | I've performed the requisite improvements on the .trans LTM: gist.github.com/707628 | 16:09 | |
any objections to incorporating this into Rakudo? | |||
jnthn | moritz_: Hmm... | ||
moritz_: I get the same kinda errors I got with Rakudo's updated Configure.pl on Win32 | 16:10 | ||
The one that I patched rong :) | |||
tadzik | what's LTM? I hear it often | ||
masak | tadzik: Longest-Token Matching. | ||
tadzik | mhm | ||
masak | tadzik: it's the idea that when two rules compete, the one that matches the longest thing wins. | ||
tadzik: consider, for example <= and <=> | 16:11 | ||
moritz_ | jnthn: hm | ||
tadzik | I see | ||
so Rakudo doesn't have that? | |||
moritz_ | jnthn: I'm very curious, since the block that caused the error previously is now enclosed in an eval { ... } block | ||
masak | tadzik: when you write <=>, you don't want the Perl 6 parser to match on <= just because that rule happened to be defined earlier, or later, or something. | ||
jnthn | moritz_: I think it was fixed in Rakudo | ||
masak | tadzik: nqp-rx has it (IIUC) a bit more than PGE did. | ||
moritz_ | tadzik: rakudo has a very limited form | ||
jnthn | moritz_: But not in nqp-rx? | ||
moritz_ | ah | 16:12 | |
possible | |||
masak | tadzik: still not a full-fledged one, like STD. | ||
jnthn | moritz_: I'll sort the rest of the merge stuff out and then I'll have a look. | ||
masak | tadzik: it's LTM that distinguishes | from || in regexes, by the way. | ||
jnthn learns to love git rebase a little more every time he sues it | |||
er, uses | |||
:) | |||
moritz_ | jnthn: I guess there's more logic in Configure.pl and gen_parrot.pl that can be moved to the module | ||
... which should be renamed to Parrot::Something, not Rakudo::Something | 16:13 | ||
masak | tadzik: so the Perl 6 parser has it, Perl 6 grammars (of which the Perl 6 parser is but a special case) have it, and .trans has it. | ||
moritz_ | because it's really about parrot revisions | ||
jnthn | ugh...git clone of Parrot is *slow* on this mobile connection... | ||
masak | tadzik: I just implemented the .trans one: gist.github.com/707628 | ||
jnthn wonders if his wired boradband can be persuaded to work again... | |||
masak | jnthn: yes, rebase is wonderful. it has a certain "forbidden pleasure" to it. "oooh! I'm rewriting local history!" :P | 16:14 | |
lichtkind | is there still a slice method ? | ||
masak | lichtkind: yes, see S29. | 16:15 | |
lichtkind | thanks | ||
masak | lichtkind: are the synopses so difficult to grep that it's easier for you to ask here? | ||
just curious. | |||
jnthn | "What did you do at the weekend?" "Enjoyed some wonderful forbidden pleasure." | ||
masak | jnthn: most people wouldn't understand :) | ||
best to be a little bit discreet about it. | |||
(that's why it's done locally, duh) | 16:16 | ||
jnthn | masak: But I'm allowed to push the results out to the world... :) | ||
lichtkind | masak: i greped for slice( and found nothing | ||
16:16
am0c^ joined
|
|||
masak | lichtkind: I did 'ack -w slice' and found it right away. | 16:16 | |
jnthn: yes, but no-one can tell from those results that there were forbidden pleasures involved. | 16:17 | ||
lichtkind: however, look at github.com/perl6/specs/commit/b962...45b578cce1 | 16:18 | ||
jnthn | masak: Ah, I see. Well, as I read today, "By developing a sense of concern for others' well-being, then no matter what others' attitudes are, I can keep inner peace in bed." | ||
masak | lichtkind: so I suspect C<slice> in S29 is a fossil. | ||
jnthn | ...best Twitter follow ever. :) | 16:19 | |
masak | jnthn: ah, the wise @DalaiLamaInBed... :) | ||
jnthn: best Twitter follow ever in bed? :P | |||
jnthn | :P | 16:20 | |
lichtkind | masak: thanks lol i find much clearer even with that funny conotation | 16:21 | |
masak | lichtkind: after Mu, nothing surprises me anymore. | ||
16:22
envi_laptop joined
|
|||
lichtkind | masak: i read about, it reads in german almost like cow | 16:22 | |
masak | lichtkind: I guess that's close-ish to the original Japanese. | 16:24 | |
jnthn | I'm not sure how I feel about cows being undefined and on top of everything... | 16:25 | |
lichtkind | TimToady: is slice in S29 a fossil? | ||
jnthn: Muuuuuuuuuuuu | |||
16:25
am0c joined
|
|||
cosimo | %*ENV is still read only, right? | 16:26 | |
lichtkind | i guess so | 16:27 | |
16:27
envi_laptop left
|
|||
cosimo | Doing '%*ENV<LANG> = "C"' I get "cannot modify readonly value" | 16:28 | |
rakudo: %*ENV<LANG> = "C"; say "yodawg. I herd you like ENV, so I put an ENV in ur ENV"; | |||
masak | rakudo: class A { my $b = class { method foo { say "OH HAI" } }; method bar { $b.new.foo } }; A.new.bar | ||
p6eval | rakudo : OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 22:/tmp/jfv0ynvTd6» | ||
rakudo : OUTPUT«OH HAI» | |||
masak | cosimo: I think that's a known and reported rakudobug. | 16:29 | |
lichtkind | but take it seriously we have an method alias to Z why not X | ||
masak | lichtkind: what makes you think there's not a method alias to X? | ||
tadzik | hmm, wonder if that could be fixed | ||
lichtkind | moritz_ and jnthn attmepted to make me think so :) | ||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....kup_tablet | 16:30 | |
masak | oh, ok. | ||
cosimo | masak: does fixing that involve parrot-fu? | ||
masak | cosimo: dunno. check the RT ticket for clues. also ask pmichaud_, I think. | ||
he has been in that area of Rakudo before, fixing things. | |||
tadzik | masak: why is ENV readonly? Is that due to lack of Parrot support? | 16:31 | |
masak | I don't know why %*ENV is readonly. yes, possibly it has something to do with how it's wired up. | ||
I can definitely see how it'd be easier to wire it up readonly than rw. | 16:32 | ||
tadzik | looking at the code (glue/run.pir:58-61) I wonder how is it marked readonly and why, and how to make it rw, if it's makeable for me | 16:33 | |
dalek | d: 4b3cf08 | util++ | / (5 files): Fix typos |
16:34 | |
lichtkind | masak: im willing to learn i now used ack for the first time in my life and found out its got soloured output | 16:37 | |
masak | lichtkind: :) | ||
jnthn | oh f**k | 16:39 | |
16:40
MindosCheng left
|
|||
jnthn | Yeah, this rebase is going to be a real headache. | 16:40 | |
Parrot has been up to their usual deprecation tricks. | |||
tadzik | :> | ||
jnthn | So I can't build the bootstrap files with knowhow rolled into them | ||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | ||
jnthn | And I can't build the nom branch with the latest bootstrap files | 16:41 | |
(Because they're missing having knowhow pushed into the bootstrap) | |||
:/ | |||
masak | I'd call that an intrinsically complex situation. | 16:42 | |
16:42
juanmabc left
|
|||
masak | i.e. there's not much git *can* do to make that easier. | 16:43 | |
jnthn | Oh, git has done all it could have | ||
This isn't gits fault in the slightest. | |||
masak | shame, otherwise it would have been an excellent opportunity to exclaim "stupid git!" :P | 16:45 | |
dalek | kudo: 9fe5972 | masak++ | src/core/Cool-str.pm: [src/core/Cool-str.pm] new .trans algoritm This one abstracts away the actual matching-and-replacing into a helper class implementing a simple longest-token matching algorithm. |
||
tadzik | masak++ indeed | ||
dalek | ast: 27fc171 | masak++ | S05-transliteration/trans.t: [trans.t] unskip regex tests for Rakudo |
||
ast: a632892 | masak++ | S05-transliteration/trans.t: [trans.t] indent some tests |
|||
ast: 2c952c4 | masak++ | S05-transliteration/trans.t: [S05-transliteration/trans.t] four new tests These tests make sure we don't regress on LTM in .trans in Rakudo. |
|||
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | 16:51 | ||
16:51
mila_ joined
16:55
mila__ left
|
|||
masak | tadzik: .comb *is* from the hair thing. but I guess the metaphor made more sense when lice were more common... | 16:56 | |
16:57
am0c^ left
|
|||
lichtkind | aaaah cross is alias to X | 16:57 | |
crosswith and zipwith notally sync | 16:59 | ||
totally | |||
masak | dang, I liked the word "notally"... | ||
jnthn | "I notally covered her screen with post-its!" | 17:01 | |
jnthn keeps trying to rescue the forked bootstrap by hand... | |||
We...could do with making sure this doesn't happen again. :/ | 17:02 | ||
> knowhow Foo { method bar() { say("rescued") } }; Foo.bar; | 17:06 | ||
rescued | |||
masak | \o/ | 17:09 | |
jnthn | It works with Parrot and the PBC | ||
But the fakeexecutable explodes. :/ | |||
src\io\api.c:306: failed assertion 'pmc' | |||
:/ | 17:10 | ||
er | |||
! [rejected] nom -> nom (non-fast forward) | |||
wtf. | |||
17:10
_twitch left
|
|||
jnthn | All I did was rebase and a few patches on top of it. | 17:10 | |
Util | jnthn: what branch are you working on? | 17:11 | |
jnthn | nqp-rx/nom | ||
17:11
lichtkind left
|
|||
jnthn wonders if this is what --force is for | 17:11 | ||
flussence | might be a bad idea, on the chance git is right in complaining... | 17:12 | |
jnthn | heh | 17:13 | |
gitk's history looks nice | |||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....kup_tablet | ||
jnthn | e.g. it has the commits from master and then the rest of mine re-based on top of it. | ||
17:13
sniz left
|
|||
jnthn | yeah, it looks...exactly how I'd expect. Hmm | 17:14 | |
17:14
risou left
|
|||
Util | jnthn: can I help? Are you trying a real merge, or just `git pull --rebase` ? | 17:16 | |
jnthn | how confusing. If I git pull it tries to go back to how things look at the latest on github | ||
Util: I did git pull, git rebase master, and a couple of commits to fix up things. | |||
Util: In gitk all looks fine. | |||
Util: So I'm a tad lost on what it's complaining about. | 17:17 | ||
Util | jnthn: at what point did Git first complain? | ||
jnthn | Util: Not up until I was done and ready to push to github | ||
I did "git push origin nom" | |||
(nom is the branch name) | |||
At which point it gave the non-fastforward error. | |||
masak | jnthn: I don't think you can pull if you've rebased local history. | 17:19 | |
jnthn | masak: Yeah, I only did it out of curiosity | 17:20 | |
Un-done that now | |||
Util | jnthn: You said: "But the fakeexecutable explodes." Do you have a fakecutable in the repo? | ||
jnthn | I didn't want to anyway. | ||
masak | oh, ok. | ||
jnthn | Util: That's nothing to do with this, that's some other problem. | ||
I don't care much about that for now. | |||
stackoverflow.com/questions/559917/...rd-why-use seems to describe my situation | |||
But I *am* only pushing after the rebase, like it suggests... | 17:21 | ||
jnthn is a tad reluctant to use --force | 17:22 | ||
But even more reluctant to re-do all of this. | |||
Util | "and only rebase your work" -- did your `git rebase` rebase any commits by others? | 17:23 | |
jnthn | Util: Hm. I thought I was the only person who'd committed to the nom branch. | ||
Util: Yeah, just checked. Only me. | |||
Util | jnthn: but you rebased to master | 17:24 | |
jnthn | Util: Right, I just wanted to re-play all my commits on top of the latest stuff in master. | ||
That's what rebase does, iiuc? | 17:25 | ||
Gives me the latest master, and then re-applies all my patches in the branch? | |||
Anyway, I guess I maybe shoulda used merge, not rebase. | 17:26 | ||
Util | rebase does not give you "latest" master; that part comes from the `pull` | ||
jnthn | Util: Yes, I already had pulled before I started. | 17:27 | |
Util: I actually did a fresh clone of nqp-rx to work on this just in case... :) | |||
So I certainly had the latest master files | |||
17:28
icwiener_ joined
|
|||
jnthn | Anyway, iiuc, git push --force is only going to make life annoying for anyone who already has commits in the nom branch that they didn't push. I think that amounts of zero people. :) | 17:28 | |
Util | I would double check that HEAD on the master and nom branches are really at the point you think they are at. | 17:29 | |
jnthn | Well, other than me. | ||
Util: gitk history display for both of them looks exactly as I'd expect it to look | 17:30 | ||
Nothing missing. Everything in the order I'd expect. | |||
Util | In any case, I think you are right about --force being OK, and even if it fails, you can reset --hard to before your rebase, and merge from there | ||
masak | jnthn: no, 'git push --force' is going to make life annoying for anyone who pulled the history you're now overwriting. | ||
jnthn | masak: So what should I do? | ||
masak | jnthn: it's your repo, so your policy. | ||
sometimes one has to --force. | |||
jnthn | masak: Actually this is the nqp-rx repo... | ||
masak | oh well, it's your branch :) | 17:31 | |
jnthn | OK, if the fallout is restricted to my branch, then I guess that's OK. | ||
masak | I think it's fair to assume that most people who are following along the nom branch can be reached on this channel. | ||
17:31
icwiener left
|
|||
masak | if there were a maining list, I think it would be prudent to announce a --force push there. | 17:32 | |
etc. | |||
Util | You can be liberal in the branch, and just tiptoe when you merge nom into master. | ||
dalek | p-rx/nom: c0a8057 | jonathan++ | build/Makefile.in: Stub in stuff to build dynops and dynpmcs in the Makefile.in. |
||
p-rx/nom: d09ff5d | jonathan++ | src/ (2 files): Stub in STable structure and PMC. Fix missing tabs. |
|||
17:32
dalek left
|
|||
jnthn | Wow... | 17:32 | |
tadzik | :) | ||
still alive on #parrot :) | |||
jnthn | ...wow. | 17:33 | |
17:35
plobsing joined
|
|||
jnthn | OK, nom branch history on github has all the commits from master, plus the rescued bootstrap. | 17:35 | |
17:35
dalek joined,
ChanServ sets mode: +v dalek
|
|||
jnthn | I think the lesson is to use merge next time. :) | 17:35 | |
Util | jnthn++ | ||
masak | yes, merge is for when you're constrained by already publicly pushed history. | ||
that's exactly what it's for. | 17:36 | ||
jnthn | masak: Aye, I thought that only wanting to replay patches of my own meant that I was safe. | ||
Util | also, rebase --interactive supports 's' for "squash"ing commits together | ||
17:37
mssm left
|
|||
masak | 'rebase -i' is probably at the core of the 'forbidden pleasures' thing. | 17:37 | |
jnthn | masak: But of course, I'd shared them with the world. | ||
masak | jnthn: yes, that's the downside with pushing the branch publicly. | ||
Util | jnthn: One-line summary of nom/knowhow? Just curious. | 17:38 | |
masak | it's a eat-cake-have-it thing. | ||
jnthn | Util: nom = new object model, knowhow = the primitive that it builds stuff (like classes) out of | ||
Util: The bleeding edge dev of it happens in github.com/jnthn/6model/ | 17:39 | ||
Util | Intended for NQP-only, or prototyping for Rakudo? | ||
jnthn | Util: Intended to replace all the places P6object is used today in NQP and Rakudo. | ||
Util | thx | 17:40 | |
17:40
muixirt joined
|
|||
jnthn | Util++ masak++ # git help | 17:40 | |
colomon: nqp-rx/nom now builds for me on latest Parrot at least and has all the other nqp-rx patches from master in. I hope that magics away your difficulties. | 17:42 | ||
colomon | \o/ | ||
jnthn | If not, we can try and fathom why. | 17:43 | |
colomon | nom, then hacking and football | ||
jnthn | nom is ambiguous in this context ;) | 17:44 | |
masak | maybe we should adopt the more traditional term "food" :) | ||
food & | |||
17:44
masak left
17:57
CAAECZH joined
18:01
baest left
18:02
baest joined
|
|||
colomon | back | 18:03 | |
18:15
justatheory joined
18:21
teslos joined
|
|||
TimToady | halfback or fullback? | 18:28 | |
Util | $ ack -H reclaration STD.pm6 | cat # Ambiguous typo | 18:30 | |
STD.pm6:5689: # fake up an alias to outer symbol to catch reclaration | |||
??? declaration ? redeclaration ? | 18:31 | ||
jnthn | That should be reclarified. :) | ||
colomon | jnthn: still cannot build | 18:32 | |
jnthn | Same error? | ||
18:33
envi left
|
|||
jnthn wonders if he accidentally spaces in the makefile instead of tbs... | 18:34 | ||
*tabs | |||
(My make program doesn't care...) | |||
colomon | I just pushed the fix for that. | ||
but that's not the problem | |||
Parrot VM: Can't stat src/stage1/nqp.pbc, code 2. | |||
main: Packfile loading failed | |||
make: *** [src/stage2/HLL.pbc] Error 1 | |||
jnthn | Does that file exist? | 18:36 | |
Is there some previous error that results in it not being made maybe? | |||
Are you doing parallel make by any chance? | |||
colomon | I'm just typing make | 18:37 | |
the file does not exist | |||
jnthn | OK, I guess that's non-parallel | ||
Hm | |||
odd. | |||
18:37
MayDaniel joined,
Chillance joined
|
|||
colomon | trying make clean and make again, capturing the output this time. | 18:37 | |
jnthn | colomon: Are there any PBCs in that directory? | 18:38 | |
colomon | ls src/stage1/ | ||
HLL.pbcP6Regex.pbcgen | |||
jnthn | (I should be 3 of them by the time we start on stage 2) | ||
ok, just one missing. :S | |||
colomon | whoops, spaces disappeared somehow there. | ||
gist.github.com/708039 | 18:40 | ||
I don't see anything obvious in there... | |||
jnthn | $(STAGE1)/$(NQP_PBC) | ||
dalek | ecs: 60864d9 | TimToady++ | S29-functions.pod: fossil slice contextualizer -> lol masak++ and lichtkind++ found a fossil use of the "slice" contextualizer, which was renamed to "lol" some time ago. |
||
jnthn | Is the rule that should build it. | ||
colomon: Something looks very odd there. | 18:41 | ||
colomon: It's starting on stage 2 without finishing all the stage 1 things. | 18:42 | ||
18:42
oha left
|
|||
TimToady | I don't suppose you're in a situation that could have clock skew | 18:42 | |
18:42
oha joined
|
|||
TimToady | like if git was setting last modified times or something | 18:43 | |
jnthn | TimToady: I suspect some missing makefile dependency is perhaps more likely... | ||
Hmm | |||
That'd be odd though. It works fine in the master branch and I didn't think I'd changed *that* much in the makefile... | 18:44 | ||
18:45
wtw joined
|
|||
jnthn | All the rules for stage2 have a dependency on $(STAGE1_PBCS) | 18:45 | |
colomon: In particular, line 272 of Makefile.in is where it appears that it's trying to do the thing that fails. | 18:47 | ||
colomon: Or at least, the stuff within there | |||
colomon: But it should have a dependency on the (not-yet-existing) file... | |||
colomon | huh | 18:51 | |
18:51
lichtkind joined
|
|||
jnthn | Hmm. I'm really not seeing what's missing :S | 18:51 | |
colomon: Time for me to get some dinner - maybe I'll have a sudden realization during it :) | |||
colomon | one sec | 18:52 | |
perl -MExtUtils::Command -e mkpath src/stage1/gen | |||
and then the next step is for the stage 2 stuff to start. does that help? | |||
jnthn | colomon: That's where it's going wrong. | 18:53 | |
colomon: It should build various things inside that directory. | |||
colomon | there are five pir files in that directory | ||
jnthn | OK | 18:54 | |
But it doesn't do all the stage 1 stuff | |||
colomon | right, not disagreeing, just hoping this helps trigger ideas | ||
jnthn | gist.github.com/708046 | 18:55 | |
colomon | hold on, I might have it. | ||
jnthn | That's what it looks like for me. | ||
colomon | I think it might be another tab issue | ||
one that doesn't trigger an error for some reason | |||
jnthn | Oh. | 18:56 | |
:/ | |||
colomon | go eat, I think I'm on the right track now. | ||
:) | |||
jnthn | I really shoulda checked your patch to see if the ones you'd fixed were the ones I knew about...they aren't. | 18:57 | |
sorear | good * #perl6 | ||
jnthn | colomon: Mine for for building NQP_HOW | 18:58 | |
Line 258 and and line 299 | |||
jnthn -> nom | |||
18:59
nothingmuch joined
19:00
rgrau` joined
|
|||
sorear | tadzik: still here? | 19:01 | |
tadzik | sorear: yep | ||
19:01
MayDaniel left
|
|||
sorear | you need to get an entry added to Parrot's CREDITS file | 19:01 | |
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | ||
sorear | that's how dalek knows your nickname | ||
19:04
meppl left
|
|||
colomon | jnthn: I appear to have a build. But there's no make test? | 19:06 | |
oh, no, my prove is just stupid. | 19:07 | ||
dalek | p-rx/nom: 9474e17 | (Solomon Foster)++ | build/Makefile.in: Catch two more missing tabs that slipped by me the first time. |
||
19:10
rgrau` left
|
|||
lichtkind | sorear++: do you plan to do this diff thing? | 19:10 | |
19:10
wtw left
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....kup_tablet | 19:12 | |
19:16
rgrau` joined,
Trashlord left
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....kup_tablet | 19:17 | |
19:19
obsd123 joined
19:23
Chillance left
19:25
Chillance joined
|
|||
colomon | jnthn: what should I expect make test to do? I seem to have a number of failures, as well as a bunch of "Non-zero wait status: 11" messages | 19:25 | |
19:28
zby left
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet | 19:28 | |
19:38
justatheory left
|
|||
cosimo | I just read about gather/take and I must admit I didn't really understand it | 19:55 | |
tadzik | the stuff you put inside gather generates a lazy list | 19:57 | |
now when you want a nth element, the gather block is executed until it produces n 'take's | 19:58 | ||
19:58
takadonet joined
|
|||
tadzik | of course it doesn't produce the same n twice, the next time it'd be run from the moment it stopped last time | 19:58 | |
20:01
icwiener joined
|
|||
cosimo | easy, right? :) that completely confuses my mind | 20:01 | |
diakopter | colomon: how'd it go | 20:02 | |
phenny | diakopter: 13:34Z <jnthn> tell diakopter I've looked but I think the right thing is happening. Everything inherits from Mu, so 7 passes as expected. 8 fails because if you look at the multi candidate in Mu, it's multi method Str(Mu:U $self:) { ... }. The :U means "something undefined" but $xyz is defined. | ||
diakopter: 13:36Z <jnthn> tell diakopter So test 8 was incorrect here. I corrected it - s/$xyz/XYZ/ - and it passes. | |||
diakopter: 13:38Z <jnthn> tell diakopter Note that we do need a Str with Mu:D that does something sensible. But it probably needs .WHERE to work first, if it's going to do the same thing the Rakudo one does (which seems sensible). | |||
diakopter | oh | ||
cosimo | rakudo: sub pick-next { gather for 1..5 { take $_ } }; say pick-next(); say pick-next(); | 20:03 | |
p6eval | rakudo : OUTPUT«1234512345» | ||
cosimo | mmh | ||
tadzik: so I can't use it for iterator functions? | |||
20:05
Eevee joined
|
|||
tadzik | cosimo: iterator functions... now you will need to explain some term to me :) | 20:05 | |
cosimo: no, it returns a list | |||
so your sub just returns the gather result, which is an array | |||
20:05
icwiener_ left
|
|||
colomon | errr... which is a list, generated by a gather / take iterator. | 20:06 | |
jnthn | colomon: A number of things will probably fail. | ||
colomon: If you see things about get_how and get_what in the test output, those are a result of "class" not yet being switched to use the new meta-model. | 20:10 | ||
colomon | get_how and get_what, yup | 20:11 | |
those appear to be the only real errors | |||
jnthn | OK, that's what I'd expect. | ||
(.HOW and .WHAT are actually macro-ish in nqp-rx now) | 20:12 | ||
colomon | okay, so you wanted me to muck about with HLLCompiler? | ||
jnthn | *nod* | 20:13 | |
colomon | (trying to find your suggestions in the backlog again...) | ||
jnthn | colomon: Locate HLL::Compiler (src/hll/Compiler.pm I think) | 20:14 | |
colomon: Notice it inherits from PCT::HllCompiler | |||
cosimo | tadzik: how do I make the sub return just one "taken" element at a time? | ||
jnthn | That's the blocker. | ||
cosimo | tadzik: if that even makes sense... | ||
tadzik | cosimo: you can have a 'static' lazy list and just shift it every call | ||
dalek | odel: 8ecef19 | diakopter++ | common/NQP/P6Objects.pm: [P6Objects] more Cursor porting |
||
jnthn | colomon: I think the way to go is to remove that inheritance | 20:15 | |
tadzik | I don't know how to translate C static to Perl6 | ||
jnthn | colomon: And then see what breaks. | ||
colomon | and then copy methods from Parrot's version of HLLCompiler? | 20:16 | |
lue | ohayo o/ | ||
jnthn | The one in PCT, yes | ||
colomon has found jnthn++'s previous suggestions | |||
okay, I can try that. | |||
jnthn | colomon: The easy option is to wrap the PIR code in NQP methods and use Q:PIR | ||
colomon | should I start another branch, you think? | ||
jnthn | In fact, that's probably a good way to get started. | ||
Up to you :) | 20:17 | ||
It's just you and me working with the nom branch so far, so it won't inconvenience anyone if stuff breaks a bit more :) | |||
colomon | would it inconvenience you if I broke stuff? | 20:18 | |
jnthn | Well... :) | ||
Not much :) | |||
colomon tries to balance his lack of branch-foo with inconvenience to jnthn... | 20:20 | ||
ooooh, in one minute I get to see what I'm being attacked with in Lacuna Expanse. :) | |||
lue | .oO[ I thought breaking things was a contractual obligation around here (well, if there were such a contract) :) ] | ||
colomon | lue: _not_ breaking things is a contractual obligation in Rakudo. | 20:21 | |
but this is an obscure nqp-rx branch jnthn and I are talking about. | |||
lue | s/breaking things/breaking things in the hopes of magically gaining new features later/ | 20:23 | |
moritz_ | how do I build 6model? | 20:25 | |
jnthn | moritz_: What are you looking to build it with? | ||
moritz_: Mono? | |||
moritz_: In which case, go to dotnet/runtime, xbuild [the sln file] | 20:27 | ||
moritz_: Probably add an alias from csc to mcs | |||
And then just make in the dotnet/compiler directory | |||
Then to run something, ./try the_file | |||
colomon | jnthn: now working in local nomnom branch | ||
jnthn | colomon: hehe :) | 20:28 | |
diakopter | add an alias from nmake to make, from csc to msc, and from msbuild to xbuild :0 | ||
moritz_: ^^ | |||
actually sorry not the nmake one. | |||
but the try.sh does need a bit of adjustment I think | |||
jnthn | ah, ok | ||
moritz_: In the final step when it works, be the person who commits a file saying how they did it. ;) | 20:29 | ||
diakopter | the make line in there might should be make P6Objects.dll | ||
moritz_ | jnthn: it just worked, without any aliases | ||
maybe diakopter++ installed them already | 20:30 | ||
diakopter | well | ||
moritz_ | (this is on the evalbot server) | ||
diakopter | the all target will work | ||
but 'try' won't | |||
until the csc -> msc one is there | |||
jnthn | ah, ok | ||
diakopter needs to shut up | 20:31 | ||
diakopter looks on the evalbot server | |||
moritz_ too distracted | |||
diakopter: in the chroot, /home/p6eval/6model/ | |||
diakopter | besides, it's gmcs, not msc | 20:32 | |
jnthn | oh :) | ||
They changed the name of the compiler when adding generics? :) | |||
diakopter | I suppose that's right | ||
20:32
MayDaniel joined,
icwiener left
|
|||
diakopter | moritz_: what was your pwd when you did `make` | 20:33 | |
(it needed to be dotnet/compiler) | |||
parrot-nqp is not in the path | |||
(so nothing really worked) :) | 20:34 | ||
diakopter goes to find a parrot-nqp | |||
20:36
whiteknight left
|
|||
diakopter | there we go | 20:36 | |
oh, apparently I used some feature of nmake that's not supported by gmake | |||
using a relative path as a target dependency? ..\runtime\bin\Debug\RakudoRuntime.dll | 20:37 | ||
20:38
MayDaniel left
|
|||
diakopter | help anyone? | 20:38 | |
colomon | jnthn: parsegrammar seems to be only three lines long? ending in a tailcall? Does that make sense? | 20:39 | |
diakopter | hm I'll try the forward slash | ||
jnthn | colomon: I'm not sure what it does - I think it just sets the grammar to use for parsing though? | 20:40 | |
In which case I guess it's short. | |||
colomon | gist.github.com/708138 | ||
oh, wait, is that what self.'attr' does? | 20:41 | ||
20:41
masak joined
|
|||
colomon | o/ | 20:41 | |
diakopter | moritz_: (I'm working' on it...) | ||
jnthn | colomon: Oh, I think .attr is a helper method for doing such things, yes. | ||
Iiiiiit's masak! | 20:42 | ||
masak | ahoy! | ||
takadonet | masak: yo | ||
20:42
Limbic_Region joined
|
|||
jnthn | Ako sa mas-ak? :) | 20:42 | |
tadzik | hi masak | 20:43 | |
Limbic_Region | Ako ay pagod - ikaw? | ||
masak | jnthn: 私は元気です。 ^^ | ||
jnthn | Limbic_Region: :P | 20:44 | |
masak | colomon, takadonet, tadzik: hi there, you lovely people. | 20:45 | |
tadzik | hello Masak the Friendly | 20:46 | |
Limbic_Region | jnthn - when I first came in I really thought you were speaking Tagalog so I couldn't help but join in | ||
masak | Limbic_Region: how come you know Tagalog? | ||
jnthn | Limbic_Region: It was Slovak. :P | 20:47 | |
Limbic_Region | masak - my wife is filipina | ||
and I don't know Tagalog very well at all | |||
masak | oh! cool. | ||
Limbic_Region | masak - I have drank Irish beer in German, spoke to a prostitute in American Sign Language in S. Korea - helped a Nun not miss a flight in Spanish but I don't even really speak English all that well | 20:48 | |
;-) | |||
er | |||
Germany | |||
dalek | odel: 73d3c7c | jonathan++ | dotnet/runtime/R (2 files): [dotnet] Add ops for getting the caller and outer sub at a given level. |
20:49 | |
masak | Limbic_Region: that's fine. neither do I. it's just a language I use for international communication such as this. | ||
English -- the pseudocode of spoken languages. | |||
oh! | 20:50 | ||
while you're all here! | |||
jnthn | uh-oh | ||
masak | it's now 20 days until The Announcement! | ||
jnthn | :) | ||
I knew it was going to be that! | 20:51 | ||
masak | are you all excited? because I am, and I *know* what I'm going to announce :P | ||
Limbic_Region | masak - if you tell me that Christmas is THE Christmas then I will cry - because I will be in the Philippines and wouldn't here the news until next year | 20:52 | |
masak | here is, out of a total of three, the second mysterious pre-announcement clue: en.wikipedia.org/wiki/5_(number) | ||
Limbic_Region | but I can't possibly imagine that this Christmas will be THE Christmas | ||
masak | Limbic_Region: I'll be happy at some point to have a proper discussion about what that actually means. | ||
jnthn | "It is the natural number following 4 and preceding 6." | ||
masak | :) | 20:53 | |
tadzik | 5 might be the roman V | ||
jnthn | ...this is how wikipedia has so many pages! | ||
;) | |||
masak | jnthn: aleph-0 of them? | ||
jnthn | al'eph said so... | 20:54 | |
masak | :P | ||
jnthn | lol...these pages are great | ||
"The number 69 can be rotated 180° and remain the same." | |||
masak | jnthn: you went immediately to 69? :P | ||
anyway, I understand if this clue doesn't stir up the same wild speculation that the first clue did. | |||
diakopter | what was the first clue | 20:55 | |
jnthn | masak: That's what she said! | ||
Limbic_Region | jnthn - only if spun around the x axis - try doing that with the y axis and you will get 96 | ||
masak | diakopter: irclog.perlgeek.de/perl6/2010-11-10#i_2984192 | 20:56 | |
jnthn | ...I didn't know there were "untouchable numbers" | ||
masak | apparently, according to that backlog, there are four clues, not three. | 20:57 | |
oh well, I'll just have to make one on the day before the announcement, then. | |||
Limbic_Region | I thought it said possibly four | 20:58 | |
not definately four | |||
masak | hm, you're right. | ||
Limbic_Region | here is what you get when you combine the first two clues - www.amazon.com/Where-Will-Five-Year...amp;sr=8-1 | ||
masak | 哈哈 | ||
apparently 217 is the lowest natural number without its own Wikipedia article. | 20:59 | ||
Limbic_Region | nope | 21:00 | |
try -100_(number) | 21:01 | ||
masak | "natural number". | ||
tadzik | -100 is not natural | ||
Limbic_Region | oh, missed that part | ||
tadzik | hmm, maybe the announcement is masak's birthday :) | ||
Limbic_Region | tadzik - and THAT is a matter of opinion :-D | ||
masak | tadzik: my birthday is September 15. | 21:02 | |
tadzik | bah, my calendar is in my flat | 21:03 | |
lue | ohai masak o/ | ||
masak | lue: hi! I'm watching the last few episodes of the newest Doctor Who season. | ||
lue: the last I've seen is the van Gogh one. lovely episode. | 21:04 | ||
lue | The Van Gogh ending touched me in a such a way that, for a few days, I *seriously* wanted a TARDIS to do that for the real Van Gogh. | 21:05 | |
masak | it was indeed touching. | ||
lue | you'll love the series ending :) | 21:06 | |
masak | sssh! :) | ||
but yeah, it's building up to something, for sure. | |||
as usual. | |||
tadzik watched two TMNT episodes | 21:07 | ||
lue | Thinking about DW, got any requirements for the history in your November posts? | ||
masak | lue: I generally scour Wikipedia for things that happened on that date until I find something that catches my fancy. | 21:08 | |
it tends to be either humorous, catastrophic, horrible or just weird. | |||
lue | .oO(DW premiered on 23 November 1963 (17:15 UTC), one day after the assaination of JFK.) |
21:10 | |
on to something that isn't better suited for #doctorwho [should see if that exists actually], I have a week-long break from school, and I plan on working with P6 a lot during that time \o/ | 21:14 | ||
masak | \o/ | 21:15 | |
tadzik | any particular plans? | 21:16 | |
21:17
cognominal left,
wamba left
21:18
masonkramer joined
|
|||
lue | working on my Pod parser, hopefully something that'll work by the end of the week :) | 21:20 | |
colomon | jnthn: so, it isn't just enough to copy the parsegrammar method -- I need to copy the attribute it uses as well, right? | 21:23 | |
21:25
Guest72060 joined
|
|||
jnthn | colomon: Is there an attr method in PCT::HllGrammar? | 21:28 | |
colomon | yes | 21:29 | |
(Just so we're on the same wavelength, I meant the $parsegrammar attribute.) | 21:30 | ||
jnthn | If there's attributes then yse, they also need copying over. | 21:32 | |
colomon | there's a bunch of them | ||
jnthn | Yes, I guess there will be quite a few...it holds the grammar/actions/other bits. :) | ||
colomon | @stages $parsegrammar $parseactions $astgrammar $commandline_banner $commandline_prompt @cmdoptions $usage $version $compiler_progname | ||
lue | I have this line in my grammar: regex docline { ^^ \h* [<directive>|<content>] \h* $$} and <content> is /\N*/ . Could the greediness of <content> be a reason for a <directive> being matched only once when (in my test file), it should be twice? | 21:33 | |
jnthn | colomon: Oh | ||
But they'll need to become decls like | |||
has @!stages; | |||
colomon | yes, that's what I was thinking. | ||
but then I started wondering why we wanted to do this. :) | |||
colomon doubts it is a clever new Repeat Yourself programming style.... ;) | 21:34 | ||
jnthn | colomon: I rather suspect that if you translate PIR to NQP you'll end up with less lines of code overall :) | 21:38 | |
takadonet | well well well | 21:48 | |
Look who just ported over Algorithm::Diff | |||
github.com/Takadonet/Algorithm--Diff | |||
and all the non-oo tests work! | 21:49 | ||
jnthn | That dude must be awesome. | ||
:) | |||
takadonet | pretty much of it works 100% | 21:50 | |
pretty much all of it works 100% * | 21:51 | ||
dalek | albot: bd038b0 | moritz++ | build-scripts/rebuild-6model.sh: 6model build script by diakopter++ |
21:52 | |
takadonet | now just need someone to commit to github.com/perl6/modules.perl6.org/ for me :) | ||
takadonet pokes masak | |||
tadzik | o/ | ||
takadonet | tadzik: o/ | ||
masak | takadonet: hi. not following along too closely, I'm afraid. writing a blog post. can I help you? | ||
lue | rakudo: say "hi" ~~ / !<digit> / | ||
p6eval | rakudo : OUTPUT«===SORRY!===Confused at line 22, near "say \"hi\" ~"» | 21:53 | |
colomon | takadonet++ | ||
masak | takadonet: oh, you want to add it to the ecosystem? cool! | ||
lue | rakudo: say "hi" ~~ / \!<digit> / | ||
p6eval | rakudo : OUTPUT«» | ||
takadonet | masak: yes it works great! . All the non-oo is working. Just got to fix up 3 fcn that have no test and i'm 100% done | ||
colomon | sorry for disappearing there, computer needed so my little guy could skype with my mother. | ||
masak | basically, you need to add it to projects.list in github.com/perl6/ecosystem | 21:54 | |
moritz_ | takadonet: you now have commit access to the ecosystem repo | ||
takadonet | moritz_: thanks | ||
colomon | takadonet: do you have a github id? ... whoops, looks like moritz_++ beat me to it. | ||
takadonet | I finally have a bit!!! | ||
colomon | takadonet: yeah, now you're committed. | ||
moritz_ | (and to most other repos too in the perl6 organization) | ||
tadzik | first! | ||
dalek | osystem: 0e7f267 | (Tadeusz Sośnierz)++ | projects.list: Added Algorithm--Diff |
||
tadzik | :) | 21:55 | |
takadonet | !!! | ||
moritz_ | takadonet: sorry, I didn't know you haven't had one before, or needed one | ||
tadzik | and my name is not my nick again | ||
masak | tadzik++ | ||
takadonet | tadzik: you beat me to it | ||
tadzik | karma Tadeusz Sośnierz? | ||
aloha | Tadeusz Sośnierz? has karma of 0. | ||
tadzik | karma Tadeusz Sośnierz | ||
aloha | Tadeusz Sośnierz has karma of 4. | ||
tadzik | karma tadzik | ||
aloha | tadzik has karma of 34. | ||
takadonet | karma Takadonet | ||
aloha | Takadonet has karma of 14. | ||
tadzik | ah, let the official guy have some :) | ||
takadonet++ #deserves more karma | 21:56 | ||
takadonet | forgot the karma. Download it and poke holes in my code! | ||
lue | something about my grammar is off... | ||
moritz_ | debug it! | ||
lue | I am! :) | ||
21:57
p6eval left
|
|||
tadzik | that's a well-commented /*out*/ code! | 21:57 | |
diakopter | .oO | ||
21:57
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
diakopter | () | 21:57 | |
sigh | |||
moritz_ | masak: did you benchmark old vs. new .trans ? | 21:58 | |
masak | moritz_: no, and I don't know if I saved the benchmarking script. | ||
moritz_ | diakopter: did you restart p6eval? | ||
21:58
p6eval left
|
|||
diakopter | yeah | 21:58 | |
21:58
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
masak | moritz_: it's probably slowed now, but likely not as slow as it was before I started changing it around. | 21:58 | |
and it has more features now. | |||
jnthn | nqpnet: say("plz can haz?") | 21:59 | |
:) | |||
21:59
p6eval left
|
|||
jnthn | kan inte haz | 21:59 | |
*kann | |||
masak | no, 'kan' was right. | ||
jnthn | dammit! | 22:00 | |
masak | there are a few exceptions regarding words ending with m or n. | ||
22:00
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
masak | they don't need to be doubled. | 22:00 | |
diakopter | nqpnet: say("plz can haz?") | ||
masak | I sense a pent-up need. | ||
p6eval | nqpnet: OUTPUT«/bin/sh: parrot: not foundmake: *** [NQPSetting.dll] Error 127./try2.sh: 5: parrot: not founderror CS5001: Program `RakudoOutput.exe' does not contain a static `Main' method suitable for an entry pointCompilation failed: 1 error(s), 0 warnings---Cannot open assembly 'RakudoOu… | ||
diakopter | oops forgot the path | ||
lue | does regex disable backtracking? | 22:01 | |
diakopter | nqpnet: say("plz can haz?") | ||
p6eval | nqpnet: OUTPUT«/bin/sh: parrot: not foundmake: *** [NQPSetting.dll] Error 127./try2.sh: 6: parrot: not founderror CS5001: Program `RakudoOutput.exe' does not contain a static `Main' method suitable for an entry pointCompilation failed: 1 error(s), 0 warnings---Cannot open assembly 'RakudoOu… | ||
masak | moritz_: seems I didn't save the benchmarking script. I could create a new one, of course, and re-do all the statistics... | ||
moritz_: but I don't think I want to spend time on that today. maybe some other day. | 22:02 | ||
or maybe someone else wants to give it a try. it's quite easy. | |||
diakopter | nqpnet: say("plz can haz?") | ||
p6eval | nqpnet: OUTPUT«(timeout)» | ||
diakopter | hm | 22:03 | |
masak | \o/ | ||
diakopter | nqpnet: say("plz can haz?") | ||
p6eval | nqpnet: OUTPUT«---plz can haz?» | ||
masak | yay, but why the extra output? | ||
diakopter | nqpnet: say("plz can haz?") | ||
p6eval | nqpnet: OUTPUT«plz can haz?» | ||
masak | \o/ | ||
diakopter++ | |||
jnthn | masak: try used to show the build line, a "---" and then the real program output | ||
moritz_ | diakopter++ indeed | ||
jnthn | masak: A while back diakopter++ made it much quieter. :) | ||
diakopter++ # yay! | 22:04 | ||
nqpnet: proto foo($x) { say("before"); {*}; say ("after") }; multi foo($x) { say("in multi") }; foo(42) | |||
p6eval | nqpnet: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 2368 (ext/nqp-rx/src/stage0/Regex-s0.pir:1192)called from Sub 'parrot;JnthnNQP;Grammar;blockoid' pc 10704 (gen_grammar.pir:3191)called from Sub 'parrot;JnthnNQP;Grammar;r… | ||
diakopter | nqpnet: my $a := 10000; $a := $a - 1 while $a > 0; say('done'); | 22:05 | |
p6eval | nqpnet: OUTPUT«done» | ||
diakopter | nqpnet: my $a := 100000; $a := $a - 1 while $a > 0; say('done'); | ||
p6eval | nqpnet: OUTPUT«done» | ||
diakopter | nqpnet: my $a := 1000000; $a := $a - 1 while $a > 0; say('done'); | ||
p6eval | nqpnet: OUTPUT«done» | ||
jnthn | fail :) | ||
tadzik | :) | ||
masak | still. wow. | ||
jnthn | diakopter: I know why that's so slow - I benchmarked a bunch of similar stuff. | ||
masak | that's a fast Perl 6. I like it already. | ||
slow!? | 22:06 | ||
jnthn | masak: :) | ||
tadzik | niecza: my $a = 1000000; $a = $a - 1 while $a > 0; say 'done' | ||
jnthn | er, s/benchmarked/profiled/ | ||
masak | rakudo: my $a := 1000000; $a := $a - 1 while $a > 0; say('done'); | ||
jnthn | masak: Well, compared to Rakudo... :) | ||
p6eval | niecza 83891ca: OUTPUT«done» | ||
rakudo : OUTPUT«(timeout)» | |||
tadzik | :D | ||
masak | jnthn: I know which one I prefer... | ||
tadzik | nqpnet: my $a := 1000000; $a := $a - 1 while $a > 0; say('done'); | 22:07 | |
:D | |||
niecza: my $a = 1000000; $a = $a - 1 while $a > 0; say 'done' | |||
bah, it was outght to be a race | |||
22:07
obsd123 left
|
|||
p6eval | nqpnet: OUTPUT«done» | 22:07 | |
niecza 83891ca: OUTPUT«done» | |||
diakopter | rakudo: my $a := 10000; $a := $a - 1 while $a > 0; say('done'); | ||
p6eval | rakudo : OUTPUT«done» | ||
jnthn | Is that Rakudo build an optimized one, ooc? | ||
tadzik | nqp: my $a := 1000000; $a := $a - 1 while $a > 0; say('done'); | 22:08 | |
masak | diakopter: I've told jnthn that I want to implement Druid on top of nqp.net. as I understand it, it doesn't have substr or STDIN line input yet, but once it does, I'll give it a shot. | ||
p6eval | nqp: OUTPUT«done» | ||
moritz_ | jnthn: I think so | ||
tadzik | ...wow | ||
diakopter | it has substr | ||
jnthn | moritz_: 'cus the nqpnet one is just Debug build. | ||
colomon | do optional parameters work in NQP? I need the NQP cheat sheet | ||
masak | diakopter: oh, good! | ||
jnthn | colomon: Yes, there's a bug with lexical scoping of the default closure that I need to look into though. | ||
masak | then all I need is $*IN.get. | ||
jnthn | masak: Could you cope with a hacked prompt to get started? | 22:09 | |
masak | jnthn: certainly. | ||
jnthn | C<prompt> | ||
diakopter | nqpnet: say(substr("foobar", 2, 2)) | ||
p6eval | nqpnet: OUTPUT«ob» | ||
jnthn | 'cus I can give you that easily. | ||
masak | \o/ | ||
dalek | albot: 8ba8049 | moritz++ | evalbot.pl: nqpnet target by diakopter++ |
22:10 | |
jnthn | nqpnet: proto sub foo($x) { say("before"); {*}; say ("after") }; multi sub foo($x) { say("in multi") }; foo(42) | ||
p6eval | nqpnet: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 2368 (ext/nqp-rx/src/stage0/Regex-s0.pir:1192)called from Sub 'parrot;JnthnNQP;Grammar;blockoid' pc 10704 (gen_grammar.pir:3191)called from Sub 'parrot;JnthnNQP;Grammar;r… | ||
jnthn | gah what | ||
tadzik | "Any implementation passing the official test suite and fullfiling the Synopses is..."? Good enough? Official? Ideas? | ||
jnthn | std: proto sub foo($x) { say("before"); {*}; say ("after") }; multi sub foo($x) { say("in multi") }; foo(42) | ||
p6eval | std a194beb: OUTPUT«Potential difficulties: $x is declared but not used at /tmp/qJahmEn7eu line 1:------> "); {*}; say ("after") }; multi sub foo(⏏$x) { say("in multi") }; foo(42)ok 00:01 123m» | ||
diakopter | Definitive | ||
masak | tadzik: awesome. | ||
moritz_ | s/is/may itself call Perl 6.0/ | ||
diakopter | Conforming | 22:11 | |
is Conforming | |||
masak | moritz_: s/itself call/call itself/ | ||
moritz_ | indeed | ||
tadzik | 6.0, or just 6? | ||
masak | any such implementation is comforting. | ||
tadzik | or „the Perl 6”? | ||
moritz_ | tadzik: no | ||
"a Perl 6" | |||
tadzik | right | ||
masak | er, why? | ||
we don't say "a C"? | 22:12 | ||
we say "a C implementation". | |||
moritz_ | well | ||
then say "a Perl 6.0 compiler" | |||
masak | I would think that "a Perl 6" might refer to a sub-dialect that someone wrote. | ||
tadzik | what if that's an interpreter? | ||
masak | "that's a nice Perl 6 you have there" -- "why, thank you!" | 22:13 | |
jnthn | nqpnet: proto sub foo($x) { say("before"); {*}; say("after") }; multi sub foo($x) { say("in multi"); }; foo(42); | ||
p6eval | nqpnet: OUTPUT«beforein multiafter» | ||
jnthn | finally! | ||
:) | |||
moritz_ | jnthn++ | ||
22:15
ch3ck joined,
cognominal joined
|
|||
sorear | lichtkind: no. I don't see a way to get the old version, nor a good programmatic way to summarize a diff | 22:19 | |
lichtkind | sorear: you mean to crawl www.perlfoundation.org/perl6/index....1120192555 is too much effort | 22:21 | |
tadzik | sorear: how would you summarize niecza as a Perl 6 implementation with a few words? Aiming for performance rather than completeness maybe? I'd like to mention it in the Advent Calendar post | 22:22 | |
moritz_ | rakudo: say &say.signature.cando | 22:23 | |
p6eval | rakudo : OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub' in main program body at line 1» | ||
22:23
muixirt left
|
|||
moritz_ | rakudo: say &sqrt.signature | 22:23 | |
sorear | Aiming to study performance issues | ||
p6eval | rakudo : OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub' in main program body at line 1» | ||
moritz_ | rakudo: say &sqrt.signature.perl | 22:24 | |
p6eval | rakudo : OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub' in main program body at line 1» | ||
sorear | I want to know WHY existing implementations are so slow and HOW to make a fast one | ||
colomon | jnthn: huh. now getting a get_bool error during my compile? | ||
22:24
ch3ck left
|
|||
colomon | afk for a moment... | 22:24 | |
jnthn | colomon: Remember that this is a bootstrapping thingy so if you break something sufficiently then stage 2 won't build. | 22:25 | |
sorear | niecza: my $x = 0; $x++ until $x == 10000000; # this slightly different loop form will run about ten times faster for now | ||
p6eval | niecza 83891ca: OUTPUT«(timeout)» | ||
colomon | jnthn: ah | ||
sorear | niecza: my $x = 0; $x++ until $x == 1000000; | ||
p6eval | niecza 83891ca: ( no output ) | ||
sorear | niecza: my $x = 0; $x++ until $x == 5000000; | ||
p6eval | niecza 83891ca: ( no output ) | ||
lue | afk # nommery! | 22:26 | |
jnthn | colomon: I think it compiles HLL::Compiler into stage 1, then uses it in stage 2. | ||
sorear | nqpnet is bootstrapped now? | ||
jnthn | (stage 1 being built with the one in bootstrap files) | ||
sorear: No. :( colomon and I are talking about nqp-rx on Parrot. | |||
sorear: Working towards nqpnet bootstrap though :) | 22:27 | ||
dalek | ok: a5ebb8f | (Patrick Donelan)++ | src/roles.pod: Fixes minor typo in roles.pod Signed-off-by: Moritz Lenz [email@hidden.address] |
||
sorear | also, do you plan to ever implement gather/take in nqprakudo? | ||
er | |||
rakudonet | |||
jnthn | sorear: Yes, at which point I'm going to be interested to understand how it is done continuationless :) | ||
sorear | continuationless? | 22:29 | |
jnthn | sorear: Without needing continuations. OTOH, Rakudo already doesn't. | ||
sorear: Rakudo's gather/take uses some coroutine meachnism iirc. | |||
sorear | yes | ||
jnthn | msdn.microsoft.com/en-us/magazine/cc164086.aspx is an interesting read. | 22:30 | |
sorear | gather/take are equivalent in power to coroutines (see a p6l post of mine which I'm thinking of turning into an advent post) | ||
masak | moritz_: informal use of psyde tells me that .trans can't be very much slower. I'm curious now about the exact numbers. :) | ||
jnthn | sorear: Though it points out int he article not to do it in production code... | ||
masak | blog post! strangelyconsistent.org/blog/novemb...whale-wins | 22:31 | |
tadzik | hmm, I'd like to say Rakudo Star tarballs are available for windows too, but the last one is the first one. Are you still managing this, jnthn? | 22:32 | |
sorear | jnthn: I emailed a couple DLR guys about coroutines a few month ago | 22:33 | |
dalek | ok: 4d0ec84 | moritz++ | src/ (2 files): be more careful about explaining "nominal" types |
||
sorear | jnthn: I'm told fibers are a bad choice because they have a 1MB stack allocation, which is a bit high for a gather | ||
jnthn | sorear: Yeah, plus not sure that really works too well for Mono. | 22:34 | |
sorear | a SoC student implemented a Mono-specific coroutines engine a bit back | ||
it'll probably work if you use reflection emit to pick an implementation at runtime | 22:35 | ||
jnthn | sorear: Is that in mainline mono? | 22:36 | |
sorear | jnthn: the unmanaged part is | ||
VM support, I mean | |||
the actual coroutine library is shipped separately, but it's pure C# using the Mono private APIs | |||
jnthn | OK | ||
Just looking at it now | 22:37 | ||
Looks interesting. | |||
tadzik | rakudo: sub foo() { my $a; return $a++}; say foo; say foo; say foo; | 22:38 | |
p6eval | rakudo : OUTPUT«Any()Any()Any()» | ||
tadzik | how do I make something like a static variable in C? | ||
sorear | state $a | ||
niecza: sub foo() { state $a = 0; return $a++ }; say foo; say foo; say foo | |||
p6eval | niecza 83891ca: OUTPUT«012» | ||
sorear | buubot: eval: sub foo() { state $a = 0; return $a++ }; say foo; say foo; say foo | 22:39 | |
buubot | sorear: ERROR: syntax error at (eval 32) line 1, near "say foo" | ||
sorear | buubot: eval: use 5.010; sub foo() { state $a = 0; return $a++ }; say foo; say foo; say foo | ||
buubot | sorear: 0 1 2 1 | ||
moritz_ | does anybody remember how references to tables work in PseudoPod? | ||
tadzik | where are the building instructions for Rakudo Star? | 22:42 | |
22:43
obsd123 joined
22:46
jaldhar left
|
|||
dalek | ok: 500c8c2 | moritz++ | src/regexes.pod: [regex] try to properly cross-link a table |
22:47 | |
22:49
jaldhar joined
|
|||
dalek | : ce274cf | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/articles/reaching-the-stars.pod: Added the article „Reaching the Stars” |
22:52 | |
22:52
obsd123 left
|
|||
tadzik | proofreading will be Very Welcome | 22:52 | |
22:53
obsd123 joined
|
|||
masak looks | 22:53 | ||
tadzik: ah, this is meant to be the first entry? | 22:54 | ||
tadzik | masak: well, I was quite scared too | 22:55 | |
masak | tadzik: looks good. | ||
tadzik: but what I think would most help the Advent planning right now -- at least it worked very well last year -- is if we created a file with 24 empty slots, where people could sign up. | 22:56 | ||
fill in their name and the topic. | |||
tadzik: you could create the file and put yourself on December 1. :) | 22:57 | ||
tadzik: ss/Yapsi, which/Yapsi, whose/, I think. | 22:58 | ||
tadzik | masak: do you mean github.com/perl6/mu/blob/master/mi...0/schedule | ||
oh, sure | |||
dalek | ok: 0afc0b8 | moritz++ | src/subs-n-sigs.pod: [subs-n-sigs] answer a question by jkeenan++ |
||
masak | ooh, a schedule! :) | ||
tadzik++ | |||
masak goes and grabs a handful of days. | |||
dalek | : 3478d03 | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/articles/reaching-the-stars.pod: gramarro by masak++ |
22:59 | |
tadzik | dalek, I don't like this nickname either, but no one knows who Tadeusz Sośnierz is | ||
moritz_ | we're doing 25 days this year? | 23:00 | |
tadzik | hmm, I don't mind :) | ||
masak | last year, the 25th was "merry christmas!" | 23:01 | |
tadzik | seen pmichaud | ||
aloha | pmichaud was last seen in #perl6 10 days 3 hours ago saying "Er. Bbl". | ||
masak | :/ | 23:02 | |
tadzik | Er. :( | ||
sorear | "l" | ||
jnthn | 10 days later? :( | ||
masak | pmichaud_: we miss you! | ||
jnthn hopes pmichaud_++ is well and just heavily distracted | |||
masak hopes everything is ok, and that pmichaud_ is just busy | |||
jnthn | Well, heavily distracted with $work, anyway... | 23:03 | |
23:05
ch3ck joined
|
|||
dalek | : 7b88d2f | masak++ | misc/perl6advent-2010/schedule: [misc/perl6advent-2010/schedule] picked three slots Negotiable and not set in stone. Yay, Advent Calendar 2010! \o/ |
23:10 | |
tadzik hands masak a banana | |||
masak | tadzik: it's also possible to do drafts in the Wordpress installation at perl6advent.wordpress.com -- I'm only mentioning it because that's what a lot of us did last time, and it seemed to work great. | 23:11 | |
committing to mu is fine too, of course. | |||
23:18
macwadu joined
|
|||
jnthn | masak: my $longest_substitution_matcher = class { | 23:19 | |
masak | uh-oh :) | ||
jnthn | masak: did a my class LSM { ... | ||
not work? | |||
masak | hm. | ||
didn't actually try. :/ | |||
masak tries now | |||
jnthn | It pretty much does what you have, iirc. | ||
Apart from you can then use it without the $ | 23:20 | ||
:) | |||
masak | I have had bad experiences with nested classes. | ||
sorear | people are working on ltm in rakudo now? | ||
masak | no, it's just for .trans | ||
I needed it for a regression in November. this used to work. | |||
dalek | odel: fbd8320 | jonathan++ | dotnet/compiler/DNST2CSharp.pm: [dotnet] Don't really need a temporary variable for DNST::ArrayLiteral and DNST::DictionaryLiteral nodes, so skip having them (will be closer to the IL we'll one day emit, so good to get it tested this way). |
23:22 | |
odel: a180bfb | jonathan++ | dotnet/compiler/PAST2DNSTCompiler.pm: [dotnet] Factor out the capture forming logic since it's about to get a tad more complex. |
|||
23:23
mavrc left
|
|||
masak | jnthn: using 'my class' seems to work. at least the trans.t file runs fine. jnthn++ | 23:28 | |
spectesting Justin Case, and then committing. | |||
jnthn | Fairy Nuff. | 23:29 | |
tadzik | :D | ||
macwadu | is there any modolu to send sms? | 23:32 | |
ruoso | to which extent the introspection of the grammar rules is specced? | 23:33 | |
meaning... introspect it to find the tokenization, discover the literal elements... | |||
tadzik | macwadu: I don't see any on modules.perl6.org | 23:34 | |
masak | ruoso: that would be nice. I haven't seen spec for that. | ||
tadzik | macwadu: well volunteered! | ||
masak | sending SMS messages sounds like a highly platform-dependent task. | 23:35 | |
23:35
meppl joined
|
|||
macwadu | i found this WWW:SMS | 23:35 | |
ruoso | masak: I was just talking to edenc (catalyst guy), and using plain Perl 6 grammar as a action dispatch engine would be uber cool | ||
but there's the problem of how to solve the uri_for_action | |||
masak | ruoso: ooh | ||
macwadu | i found this www-sms.sourceforge.net/ | 23:36 | |
but the gateways are offline | |||
masak | ruoso: I guess you could always re-parse the code with custom action methods. | ||
ruoso | masak: hmm... sounds promising... | 23:37 | |
masak | but it hasn't been done before. | 23:38 | |
ruoso | masak: in fact, the only thing that needs to be done is detect the literals and count the captures in the non-literals | 23:40 | |
masak toys with the idea of a regex introspection API | 23:41 | ||
if it can't be done with Rakudo proper, I bet GGE could be made to do such a thing | |||
ruoso | mostly, tokenization is the key | ||
jnthn | In Rakudo you can go regex syntax => AST | 23:42 | |
ruoso | jnthn: that would probably give the information I need then... | ||
masak | jnthn: how? | 23:43 | |
ruoso | with some rakudo-specific-magic, I guess | ||
jnthn | Yeah, it is Rakudo-specific | ||
masak | dang. :/ | ||
jnthn | masak: I don't knwo the exact incantation. | ||
masak: Something along the lines of instantiating the regex grammar with the relevant actions | |||
masak | GGE (used as a library) would be implementation independent, but slow. | ||
23:43
edenc joined
|
|||
jnthn | masak: And parsing and looking at .ast of the match object | 23:44 | |
edenc | hi guys | ||
ruoso | there he is | ||
masak | edenc: hi! \o | ||
edenc | looks like ruoso finally managed to draft me :) | ||
masak: hey | |||
masak | edenc: welcome! good work with Catalyst! | ||
edenc | well, not enough, ;) | 23:45 | |
given that there seems to be a lot of space for improvement | |||
masak | gosh, I should hope so. | 23:46 | |
applications that are done already -- where's the fun in that? :P | |||
ruoso | jnthn: do you think it's possible to do that introspection entirely in p6 land? or does it involve lower level stuff? | ||
edenc | well, what I've been talking to ruoso about is to make the dispatcher work at the request parse level | 23:47 | |
you define a grammar that handles the dispatching, which is both more expressive and efficient than all the "popular" ways to do dispatch these days | 23:48 | ||
masak | ruoso: it is possible in p6 land, if you're prepared to load GGE.pm. | ||
jnthn | ruoso: I think it's possible in p6land. | ||
ruoso: The only thing is that the AST is implementation specific. | |||
ruoso .oO( curious how the name action from the web dispatch matches with action from grammars ) | |||
edenc | given the set of uri's handled by a web app is a language | ||
ruoso | jnthn: cool... | 23:49 | |
the idea is still a toy, so being rakudo-specific is not a problem | |||
jnthn | ruoso: But - in Rakudo at least - AST nodes are just objects, like any other object. | ||
23:49
gbacon joined
|
|||
edenc | so, ruoso tells me that part of the grammar language I was envisioning is implemented (partially?) in rakudo already | 23:50 | |
ruoso | jnthn: a project like this would eventually lead to more spec... | ||
edenc | problem is, I don't even know where to start :) | ||
ruoso | edenc: actually, the grammar you need is entirely implemented already | ||
since action closures in Perl 6 are already implemented, right? | |||
jnthn | Yes, you can put closures inside regexes | 23:51 | |
ruoso | rakudo: grammar Foo { rule bar { /foo/bar { say "hello" }/baz { say " world" } } }; "/foo/bar/baz" ~~ /<Foo::bar>/; | ||
p6eval | rakudo : OUTPUT«===SORRY!===Malformed regex at line 22, near "bar { /foo"» | ||
edenc | so, I write the grammar and get an perl 6 objectified AST, or what? | ||
ruoso got his Perl 6 skills a bit rusty | 23:52 | ||
edenc | ok, where's the grammar language documented? | 23:53 | |
sorear | S05 | ||
jnthn | ruoso: Inside the rule you are already in regex syntax so the / ain't needed there | ||
23:53
macwadu left
|
|||
ruoso | jnthn: that is meant as a literal | 23:53 | |
jnthn | oh | ||
duh :) | 23:54 | ||
ruoso: Then it needs quoting. | |||
sorear | only \w charactes can be used unquoted in p6regex | ||
ruoso | rakudo: grammar Foo { rule bar { "/foo/bar" { say "hello" } "/baz" { say " world" } } }; "/foo/bar/baz" ~~ /<Foo::bar>/; | ||
p6eval | rakudo : OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 22, near "::bar>/;"» | ||
ruoso | rakudo: rule bar { "/foo/bar" { say "hello" } "/baz" { say " world" } }; "/foo/bar/baz" ~~ /<bar>/; | ||
p6eval | rakudo : OUTPUT«Useless declaration of has-scoped rule in a module; add our or my to install it in the lexpad or namespaceMethod 'bar' not found for invocant of class 'Cursor' in <anon> at line 22:/tmp/GlkF5PiU1z in 'Cool::match' at line 2509:CORE.setting in 'Regex::ACCEPTS' at line 6016:CO… | ||
ruoso | rakudo: my rule bar { "/foo/bar" { say "hello" } "/baz" { say " world" } }; "/foo/bar/baz" ~~ /<bar>/; | 23:55 | |
p6eval | rakudo : OUTPUT«Method 'bar' not found for invocant of class 'Cursor' in <anon> at line 22:/tmp/RX2ilUgiAG in 'Cool::match' at line 2509:CORE.setting in 'Regex::ACCEPTS' at line 6016:CORE.setting in main program body at line 10:/tmp/RX2ilUgiAG» | ||
ruoso | rakudo: my rule bar { "/foo/bar" { say "hello" } "/baz" { say " world" } }; "/foo/bar/baz" ~~ /<&bar>/; | ||
p6eval | rakudo : OUTPUT«hello world» | ||
ruoso | aha! | ||
edenc | ruoso++ | ||
marvelous | |||
well, I guess I'd better read up | 23:56 | ||
ruoso: I'm curious, what would a subrule look like? | 23:58 | ||
ruoso | rakudo: my rule baz { "/baz" { say "subrule" } }; my rule bar { "/foo/bar" { say "hello" } <&baz> { say " world" } }; "/foo/bar/baz" ~~ /<&bar>/; | 23:59 | |
p6eval | rakudo : OUTPUT«hellosubrule world» |