»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
jnthn | Tomorrow, will see if I can land alternations with LTM. 'night o/ | 00:00 | |
00:02
benabik joined
00:06
pmurias left
00:07
pmurias joined,
raiph left
00:11
raiph joined,
raiph__ joined,
raiph_ joined
00:18
raiph__ left,
raiph_ left,
raiph left
00:20
dayangkun joined
00:21
raiph_ joined,
raiph joined
00:22
raiph__ joined
00:26
xilo_ joined
00:31
pmurias left
00:52
census joined
|
|||
census | Hi! :) | 00:52 | |
diakopter | if you ask a Perl 5 question I will kick you :) | 00:53 | |
but hi :) | 00:54 | ||
census | no perl 5 q! | ||
i promise | |||
would you like a perl 6 q? | |||
00:56
xilo_ left
00:57
xilo_ joined
|
|||
sorear | sure | 00:59 | |
census | will perl 6 do everything that perl 5 does but better? | ||
and when will perl 6 be on the market? | |||
01:09
quietfanatic joined
|
|||
rjbs | What does "on the market" mean? | 01:14 | |
quietfanatic | There are markets it is already on, and there are markets it is not yet on. | 01:16 | |
As for the first question, given the sheer number of things both perls do, the odds are high that there is at least one that perl 6 does not to better at than perl 5. | 01:17 | ||
s/to/do | 01:18 | ||
rjbs | It's much better at building parsers, obviously. | 01:19 | |
01:19
tokuhiro_ joined
|
|||
diakopter | well.. parsers for Perl 6 anyway | 01:20 | |
census | you mean perl 5 is much better for parsers? | 01:23 | |
what will perl6 be much better for? | 01:24 | ||
01:24
_Chillance_ joined
|
|||
diakopter | no, Perl 6 has grammars built-in, and its "regular expressions" are more powerful | 01:24 | |
quietfanatic | We mean perl 6 is much better for parsers. | 01:25 | |
As far as my experience goes, perl 6 is better for almost everything, as long as you don't care about doing anything particularly fast. | |||
and as long as you don't include compatibility with perl 5 modules in that "everything". | 01:26 | ||
01:27
Chillance_ left
|
|||
census | you mean fast in coding time (like how long it will take to write the code) or execution time (how long it will take to run the code) | 01:28 | |
quietfanatic | Execution time | ||
In coding time perl 6 is probably faster for most things | 01:29 | ||
but there is currently a large execution time cost. | |||
hopefully that'll be much reduced once we move over to the JVM. | |||
diakopter | JVM has a slow startup time... thousands of times slower than Perl 5 | 01:30 | |
but yeah for more than subsecond-long executions of scripts, it'll be better | |||
[than Rakudo is today] | 01:31 | ||
census | both time constraints are important for me | ||
01:31
benabik left
|
|||
census | i often scrape a whole lot. plus, i'm a bad programmer so i could use all the coding time on my side that i can get. | 01:32 | |
01:32
benabik joined
|
|||
benabik | Wonder how hard it would be to duplicate scala's fsc | 01:33 | |
01:34
anuby left
01:44
anuby joined
|
|||
census | In all seriousness, may I please ask a perl5 question that just occurred? (I won't if it will be a bother). | 01:55 | |
rjbs | No. | 01:57 | |
geekosaur pollice verso | 01:58 | ||
02:00
tokuhiro_ left
|
|||
benabik | geekosaur: 👎? | 02:00 | |
census | May I please ask an internet question? | 02:01 | |
diakopter prepares to send www.lmgtfy.com | |||
geekosaur | benabik, indeed | ||
lue | .u 👎 | 02:05 | |
phenny | U+1F44E (No name found) | ||
02:06
dayangkun left,
tokuhiro_ joined
02:10
colomon left
02:12
japhb_ left
02:25
hypolin joined
02:27
fgomez left
|
|||
rprajapa | 02:00 < benabik> geekosaur: ?? | 02:32 | |
02:01 < census> May I please ask an internet question? | |||
02:01 * diakopter prepares to send www.lmgtfy.com | |||
02:37
ifim joined
02:39
PacoAir left
02:40
colomon joined
02:50
fgomez joined
02:53
shinobicl joined
02:54
thou left
|
|||
census | yes, rprajapa? | 02:56 | |
diakopter | looks like an accidental paste to me | 02:58 | |
census | oh ok, thanks | 03:01 | |
03:01
shinobicl left
|
|||
census | i thought someone wanted to talk to me, perhaps (or maybe it was mock me . . .) | 03:01 | |
labster | I'll talk to you. It's pretty quiet in here around this time of day. | 03:02 | |
census | :) what are you up to? | ||
labster | reworking File::Compare so it can handle more than two files at a time. | 03:03 | |
census | that would be very helpful!! | ||
labster | When I decide to port a Perl 5 module to P6, I ask myself, how can I make this better? | 03:04 | |
census | that's a great attitude! :) | 03:05 | |
03:06
dayangkun joined
|
|||
labster | well, perl 6 is -Ofun -- optimized for fun! | 03:06 | |
Though I think my own attitude on that comes from reviewing bylaws for organizations I was in back in college, and deciding to I wanted to rewrite them to make more sense. Bylaws are just natural language algorithms, so it's a similar feeling. | 03:09 | ||
*when I was back in college | 03:10 | ||
census | what type of organization were you in? a fraternity? student government? | ||
03:11
tokuhiro_ left
03:12
araujo left
|
|||
labster | Student government. Several of them, mostly at UC Davis. (but let's not get too far off topic, so PM these type of questions) | 03:12 | |
03:14
tokuhiro_ joined
03:16
xilo_ left
03:24
census left
03:32
orafu left,
orafu joined
03:34
tokuhiro_ left,
Targen joined
03:38
am0c joined
03:42
fgomez left
03:46
_Chillance_ left
03:56
thou joined
04:01
aindilis joined
04:03
wk left
04:09
fgomez joined
04:28
benabik left
04:29
benabik joined
04:33
kaare_ joined
04:39
aindilis left,
thou left
04:40
aindilis joined
04:50
preflex left,
preflex_ joined
04:51
preflex_ is now known as preflex
04:59
aindilis left
05:02
aindilis joined
05:03
benabik left
05:11
hypolin left
05:12
hypolin joined
05:19
hypolin left,
rprajapa left
05:20
hypolin joined,
xinming left
05:22
xinming joined
05:23
kaare_ left
05:43
pupoque joined
05:47
diakopter is now known as p6opaque
05:52
p6opaque is now known as nqp-XXX,
nqp-XXX is now known as p6-opt,
p6-opt is now known as diakopter
05:56
araujo joined,
araujo left,
araujo joined
05:59
aindilis left
06:01
aindilis joined
06:11
lustlife joined
06:12
dayangkun left
|
|||
TimToady | two more RC entries and we'll tie p5... | 06:18 | |
diakopter | ahoy | 06:19 | |
TimToady | rosettacode.org/wiki/Doubly-linked_...ion#Perl_6 | 06:20 | |
06:20
jaldhar joined
|
|||
felher | Goooooood morning, #perl6 | 06:26 | |
TimToady++ # yet another new RC-Entry | |||
06:29
pupoque left
06:30
pupoque joined
06:36
SunilJoshi joined
|
|||
sorear | o/ felher | 06:37 | |
06:39
tadzik joined
|
|||
felher | sorear: my good morning is probably a good night to you. What time is where you are? :) | 06:39 | |
*is it | |||
sorear | 2240 | 06:40 | |
felher | Ah, not as late as I thought :) | 06:41 | |
tadzik | good morning | 06:43 | |
swarley | argh, just set up a google code repo for nqp-go since it simplifies the build process. I hate to have two repos though. | 06:45 | |
felher | o/ tadzik | 06:46 | |
06:53
pupoque left
06:59
dayangkun joined
07:07
b1rkh0ff left
07:11
quietfanatic left
07:15
bapa left
07:16
bapa joined
07:21
b1rkh0ff joined
07:47
quester left
|
|||
TimToady | and now we are tied in "popularity": rosettacode.org/wiki/Rosetta_Code/R...ity#Perl_6 | 07:52 | |
sorear | purty contrived definition of popularity. | 07:53 | |
TimToady | hence the scare quotes :) | ||
more a measure of OCD tendencies of the participants, I figure | 07:54 | ||
TimToady -> horizontal mode | 08:01 | ||
labster | \o/ congrats TimToady++ | 08:16 | |
08:33
rindolf joined
|
|||
dalek | kudo-js: e548e3f | (Paweł Murias)++ | / (18 files): Steal a slightly modified setting from nqp-jvm. |
08:35 | |
08:47
s1n left
08:51
s1n joined
08:52
FROGGS joined
|
|||
FROGGS | morning | 08:52 | |
08:53
am0c left
|
|||
FROGGS | moritz: btw, it is just 262€ to fly to oslo and back for my family (2parents, 1 child, 1 baby (without a seat))... so it might be an option too, we have no other plans for a holiday yet | 08:54 | |
dunno if oslo is the best airport though | |||
moritz | FROGGS: which airline? norwegian? | 08:55 | |
FROGGS | ya | ||
opodo++ | |||
moritz | that's kinda cool | ||
FROGGS | is is, yes | 08:56 | |
dalek | kudo-js: 32cfe50 | (Paweł Murias)++ | / (4 files): Use nqp from a submodule instead of ../nqp. |
08:58 | |
09:04
pmurias joined
09:05
SunilJoshi left
|
|||
dalek | kudo-js: d377ddd | (Paweł Murias)++ | run_tests: Add passing test 57 to run_tests. |
09:07 | |
kudo-js: db0c83b | (Paweł Murias)++ | README.markdown: Update README. |
09:12 | ||
09:15
rindolf left
09:23
SunilJoshi joined
09:31
not_gerd joined
|
|||
not_gerd | o/ | 09:31 | |
can someone gist a Parrot Makefile resulting from --gen-parrot and not on Cygwin? | |||
diakopter | gist.github.com/diakopter/4966255 | 09:34 | |
09:34
labster left
09:35
SunilJoshi left
|
|||
not_gerd | diakopter++ | 09:35 | |
diakopter | what od you need from it | ||
aw F | 09:36 | ||
had to delete it | |||
not_gerd | diakopter: I'm looking into why building Parrot picks up the installed lib if present | 09:37 | |
09:38
ifim left
|
|||
dalek | kudo-js: 30ca3b7 | (Paweł Murias)++ | run (2 files): Implement nqp::existpos,nqp::deletepos,nqp::split. Again start passing test 59. |
09:40 | |
not_gerd | diakopter: ooc, did you ever need to nume you Parrot install because the build of a new version would fail otherwise? | 09:41 | |
^nuke | 09:42 | ||
diakopter | yes, a few times | ||
it will even find it in c:\Parrot *if it's not in the PATH* | |||
I mean, I can somewhat imagine how that could occur | 09:43 | ||
not_gerd | on Cygwin, there's on obvious bug - /usr/local/lib is always added to LINKFLAGS even that's not your prefix | 09:45 | |
I did not see anything like that in your Makefile | |||
diakopter | I encountered the problem when not using --gen-parrot though; forgot to mention | 09:46 | |
not_gerd: who are you on parrot-dev | |||
not_gerd | the guy who pissed off pmichaud recently ;) | 09:47 | |
not_gerd-- | |||
diakopter | you're gerd but not gerd? | 09:48 | |
oh and, join the club | 09:49 | ||
not_gerd | diakopter: I was gerd when I first joined #parrot, but was mistaken for Gerd Pokorra | ||
09:55
domidumont joined
|
|||
not_gerd | I'll try to reproduce a build failure on Windows, but it'll probably have to wait until tomorrow | 09:56 | |
anyway, have a nice weekend | 09:57 | ||
09:57
ElDiabolo joined
|
|||
diakopter | o/ | 09:57 | |
09:57
not_gerd left
|
|||
ElDiabolo | Hi. Is anybody working on some LINQ-style embedded SQL for perl6 ? | 09:58 | |
moritz | ElDiabolo: I'm not aware of any | ||
ElDiabolo | moritz, 'K. Then I'll continue considering doing that ? | 09:59 | |
moritz | yes | 10:00 | |
ElDiabolo | Few people seem to get the point with LINQ by now. Talking to the database with LINQ is OK, but does not buy you much since to the database you can talk SQL anyway. With LINNQ the whole app layer starts talking SQL. Its like some super map/grep with well know semantics (SQLish). | 10:05 | |
10:05
kst left
|
|||
ElDiabolo | Are there any docs on doing DSLs in perl6? | 10:06 | |
moritz | well, that depends on what kind of DSL you want to create | 10:07 | |
the easiest is simply create subs, methods and operators with clever names | |||
diakopter | there are tools to add operators at parse time, but I'm imagining with difficulty implementing LINQ-like syntax parsing integrated with Perl 6 parsing | ||
moritz | (That's what the rubyists call DSLs) | 10:08 | |
or you can pass strings containing the DSLs, and parse them with grammars | |||
there are plans for more advanced in-language DSL mechanisms, but they aren't implemented yet | |||
diakopter | actually.. maybe macros... | 10:09 | |
moritz | diakopter: well, in terms of syntax, you can't achieve more with the currently implemented macros than you can with normal subs | 10:10 | |
diakopter | oh | ||
masak | ElDiabolo: hi. I'm interested in joining your effort about LINQ in Perl 6. I'm not aware of any docs on DSLs, but I know a fair bit about them. | 10:11 | |
ElDiabolo: I'm happy to let you steer the boat. the reason I'm interested is that I think I see the point of LINQ, and I want to learn more about it, preferably while helping realize it in Perl 6. | 10:12 | ||
nwc10 | jnthn: All tests successful. | ||
masak | good forenoon, #perl6 | ||
diakopter | nwc10: I think I missed the joke about that report :) | 10:13 | |
10:18
anuby left
|
|||
masak | TimToady, jnthn: could either of you golf an example of expected/actual behavior of a class nested in a generic role? then I can rakudobug it. | 10:19 | |
ElDiabolo | moritz, The rubyish DSL way is what MS has done with linq, I think. that explains the odd order (from .. in .. select). | ||
masak | ElDiabolo: no, it's not subs in C#. | 10:20 | |
ElDiabolo: it's syntactic sugar for extension methods. | |||
(which are semantically very similar to subs, but look like methods) | |||
diakopter | they're just parsed like normal keywords and expressions | 10:21 | |
ElDiabolo | masak, Yeah, thats more precise, 'K. | ||
masak | ElDiabolo: this might be of interest to you: perl6advent.wordpress.com/2012/12/2...-y-things/ | 10:23 | |
ElDiabolo | masak, Maybe drop me an email to jz-2013@heute-morgen.de | ||
masak | ElDiabolo: sure. just an empty mail? | 10:25 | |
10:26
domidumont left,
domidumont joined
|
|||
ElDiabolo | masak, Yeak, that'll do. | 10:26 | |
masak | ElDiabolo: sent. | ||
ElDiabolo | masak, Visitors downstairs, got to go. | 10:27 | |
n8 | |||
10:27
ElDiabolo left
|
|||
diakopter | neight indeed | 10:27 | |
masak | gosh, even the good-night wishes are being replaced by horsemeat. | 10:29 | |
for some reason, I imagine ElDiablo having to take care of the Visitor pattern downstairs. | 10:31 | ||
"gotta add functionality through double dispatch to these things downstairs..." | |||
no, it completely doesn't make sense, I know. | |||
diakopter | he probably uses IoC for that | 10:33 | |
or mocking | |||
or AOP | |||
10:34
spider-mario joined
10:35
wk joined
|
|||
diakopter | the asteroid that flew by sure looks like a spacecraft to me | 10:37 | |
masak | aliens are smart enough not to stop by on this planet. | 10:39 | |
just as we are smart enough not to jump into a pit full of worms. | 10:41 | ||
diakopter | speak for yourself.. | 10:43 | |
masak | ;) | 10:45 | |
wait, are you insulted qua worm or qua alien? *confused* | |||
diakopter | no I just like worms | 10:49 | |
masak | *lol* | ||
tadzik | hello hello | 10:50 | |
moritz | ehlo | 10:52 | |
masak | tadziku! \o/ | ||
jnthn | hello all o/ | 10:56 | |
pmurias | jnthn: hi | ||
tadzik | oh hai | ||
diakopter | oy | ||
tadzik | so, what was happening when I was elsewhere? :) | 10:58 | |
dalek | p: ba13a07 | (Paweł Murias)++ | src/core/NQPMu.pm: Fix comment. |
10:59 | |
pmurias | jnthn: if I have class Foo {has $!abc};my $foo = Foo.new(); Does $!abc get initialized and how? | 11:02 | |
jnthn | pmurias: Provided it's after NQPMu is declared, yes. See auto_viv_container or so. | 11:05 | |
11:12
CharellKing joined
|
|||
masak | CharellKing! \o/ | 11:12 | |
CharellKing | i'm online | 11:13 | |
masak | yes, you are. welcome. | ||
11:19
kivutar joined
11:22
CharellKing left
11:23
SamuraiJack joined
|
|||
arnsholt | o/ | 11:28 | |
masak | \o | 11:35 | |
jnthn | hi arnsholt | ||
dalek | p-jvm-prep: 1baa9f4 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Missing null checks. |
11:58 | |
p-jvm-prep: 5e97b8a | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/VMArrayInstance (4 files): Implement cloning in VMArray REPR. |
|||
p-jvm-prep: 1478307 | jnthn++ | src/org/perl6/nqp/ (3 files): Fix boolification for BOOTArray and BOOTHash. |
|||
p-jvm-prep: f8e4a32 | jnthn++ | lib/QAST/JASTCompiler.nqp: Initial port of alt. Doesn't actually work yet, since NFA execution is NYI. Howver, the generated code does enough to get us to the point of hitting that. |
|||
12:04
hypolin left
12:09
kivutar left
|
|||
pmurias | jnthn: the reason we have auto_viv is to avoid storing never accessed values? | 12:13 | |
* auto_viv_container | |||
arnsholt | I think the container is used to put auto-created objects in a container | 12:15 | |
pmurias | jnthn: can I just auto_viv them all at object creation time? | ||
jnthn | pmurias: I don't think so | 12:17 | |
pmurias: Otherwise I think you'll have trouble to implement isattrinited | |||
pmurias | jnthn: is it just an optimalisation or something we need to implement a piece of spec? | 12:18 | |
moritz | class A { has $.x = 2 }; # at instantiation time, you need to decide whether to assign the default or not | 12:19 | |
jnthn | pmurias: It's used by BUILDALL to get stuff right. | 12:20 | |
Yes, what moritz++ just said :) | |||
pmurias | so the moment something reads the attribute at BUILDALL time we assign the default? | 12:27 | |
moritz | no | ||
at BUILDALL time, we check each attribute if it has been bound already | 12:28 | ||
and if not, apply the default | |||
12:28
PacoAir joined
|
|||
jnthn | Well, it's more "touched" than "bound" | 12:31 | |
12:31
census joined
|
|||
jnthn | Typically you don't bind so much as assign. | 12:31 | |
nwc10 | jnthn: diakopter observed that my previous report on nqp-jvm-prep had no jokes/puns/whatever | 12:35 | |
so, make test reports "No horsemeat found" | 12:36 | ||
12:36
kivutar joined
|
|||
jnthn | Darn, so it's still not considered stable yet... | 12:38 | |
masak | not even in the race. | 12:39 | |
census | hello! :) people around on saturday? | 12:42 | |
tadzik | usually, aye | ||
census | cool :) | 12:43 | |
it is quiet so i was worried | 12:47 | ||
masak | quiet? surely not. | 12:48 | |
and we are most certainly here. | |||
census | it seems quiet in here | ||
jnthn | Maybe by your standards :P | ||
tadzik | the less you speak the more you're able to hear" | ||
(and I fail at [Return], again) | |||
dalek | p-jvm-prep: 87a1366 | jnthn++ | src/org/perl6/nqp/ (3 files): Implement nqp::nfafromstatelist. |
12:49 | |
p-jvm-prep: a9ea4c9 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Stub in nfarunalt. Does the bstack pushing, but the NFA running itself is to do. |
|||
p-jvm-prep: 49cd4f0 | jnthn++ | lib/QAST/JASTCompiler.nqp: Fix code-gen of alt; JAST ain't quite like POST. |
|||
moritz | 252 lines spoken today, according to the clogs | ||
census | :) | 12:51 | |
jnthn reaches the point where he has to translate the NFA evaluator... | |||
nwc10 | procrastination alternatives all exhausted? | 12:52 | |
what language is it currently written in? | |||
moritz idly ponders bringing void context analysis to the optimizer | |||
jnthn | nwc10: Well, I could go do subrules instead, but... | 12:53 | |
nwc10: It's a chunk of C code, becoming a chunk of Java code. | |||
moritz | backtracking is also hairy | ||
or beefy | |||
or horsey :-) | |||
jnthn | Yeah, but I did most of backtracking yesterday while drinking IPA... :) | 12:54 | |
census | IPA is not that good, is it? | ||
jnthn | After I drink it, I can write the sounds of every language... | 12:55 | |
Not that good? Well, it depends on the IPA. :) I've had good and I've had bad. :) | |||
nwc10 | jnthn: prove still has no beef with the code. | ||
(at 49cd4f0ed874967a661341bf7efbb9f94dbca26a) | 12:56 | ||
jnthn | Nice | ||
I've stopped bothering to run the tests myself by now... :P | |||
nwc10 | I'm not sure if I believe you :-) | 12:57 | |
13:02
zby_home joined
|
|||
jnthn | walk, bbiab | 13:06 | |
GlitchMr | masak, how is first blog post about p6cc contest going? | 13:19 | |
I'm impatient, I know. | 13:20 | ||
moritz | nqp: say(1 // 2) | ||
p6eval | nqp: OUTPUT«1» | ||
masak | GlitchMr: it's coming along fine. I plan to spend tuits on the reviews today. maybe I'll have time to draft the blog post, too. | 13:22 | |
GlitchMr: above that on the priority list, however, is the blog post celebrating today's Perl 6 anniversary. which has to go out today. | |||
I'm starting to write it now. expect an early draft soon. | 13:23 | ||
moritz expects it | |||
GlitchMr | ok then | ||
Perl 6 anniversary...? | |||
Well, I will surely include it in today Perl 6 changes article | |||
moritz | today, age(Perl) == 2 * age(Perl 6) | 13:24 | |
masak: correct? | |||
GlitchMr | 16 Feb 2000? | 13:25 | |
census | yes, what is the answer?!? :) | 13:26 | |
moritz | age in days, iirc | ||
see yesterday's backlog | |||
masak | moritz: correct. | ||
"Tomorrow—16 February 2013—is apparently an auspicious anniversary. Tomorrow, the Perl 6 effort is as old as Perl 5 was when Perl 6 was announced." -- modernperlbooks.com/mt/2013/02/prac...ments.html | |||
gee, I thought chromatic had blocked the IRC logs. ;) | |||
masak waves at chromatic | 13:27 | ||
moritz | maybe it leaked out anyway | ||
13:27
zby_home left
|
|||
masak | maybe someone reads the logs for him? | 13:27 | |
GlitchMr | Is there any reference to that particular date? | ||
masak | I apply Occam's to that suggestion. | ||
GlitchMr | I could've found July 19, 2000 as earliest date | ||
oh, that | 13:28 | ||
> Date.today - Date.new('2000-07-19') | 13:32 | ||
4595 | |||
> Date.new('2000-07-19') - 4595 | |||
1987-12-20 | |||
I think I've off by one error | |||
Perl 1, according to perlhist was 1987-Dec-18. | |||
masak | GlitchMr: Perl 6 was born on July 18, 2000. | 13:34 | |
GlitchMr: see the beginning of strangelyconsistent.org/blog/happy-...ary-perl-6 | |||
it was *announced* on July 19, 2000. | |||
moritz | r: say Date.new(2000, 07 ,18) - Date.new(1987, 12, 18) | 13:35 | |
p6eval | rakudo 1e85ff: OUTPUT«4596» | ||
masak | but I consider the mug-throwing to be the birth of the language. it was discussed already on that day. | ||
moritz | r: say Date.today - Date.new(2000, 07 ,18) | ||
p6eval | rakudo 1e85ff: OUTPUT«4596» | ||
masak | (and it was decided that it would happen already on that day.) | ||
GlitchMr | Hmmm, but weren't Perl worked on before 1987-Dec-18. | 13:39 | |
This is release date of Perl 1. | |||
But well, I guess that nobody except of Larry and his officemates didn't knew anything about Perl. | 13:40 | ||
Even the fact it's being worked on. | |||
So it could count. | |||
moritz | but we don't have any dates before the release | ||
GlitchMr | Yeah... | 13:41 | |
It's earliest known date of Perl development. | |||
And Perl 0 date is "Classified" | |||
jnthn is back | 13:49 | ||
pmurias is back from his walk too ;) | |||
jnthn: re auto_viv_container I can implement that without much problem but it will introduce a lot of overhead for each time we access an attribute | 13:50 | ||
masak | GlitchMr: 1987-12-18 is the official date. it's the one people celebrate as an anniversary. | ||
jnthn | pmurias: Really? | ||
pmurias: In the Parrot and JVM impls it is just a null check | 13:51 | ||
pmurias | a javascript attribute access is just 3 machine instructions on V8 (with an inline cache hit) so the extra checking is significant, but I guess I should think about micro optimalisations once a lot more things are working | 13:58 | |
masak | first, make it run... | 14:00 | |
that should've had quotes around it :) | |||
pmurias | masak: that's what I'm doing, but every time I do something (horribly) inefficent I try to think of a way to avoid doing that in the future ;) | 14:02 | |
GlitchMr | masak, by the way, isn't "anniversary" incorrect term? | 14:03 | |
According to dictionary definition. | |||
Because it's not annual to begin with. | |||
masak | GlitchMr: feel free to propose a more fitting term. | 14:04 | |
jnthn | pmurias: Well, we need to track this somehow... :) | 14:05 | |
GlitchMr | Well, I'm really bad at English ;-). | ||
The only term I could think of is "milestone", but I don't think it's fitting either. | |||
masak | "milestone" feels like it has more to do with what you've done than with dates. | 14:06 | |
I won't use the word "anniversary" in my post. | |||
GlitchMr | Well, ok | ||
masak | chromatic used it in his. that's up to him. :) | ||
I have been using it a few times today in the backlog. I agree it's not a good description, but it's the closest one I have so far. | 14:07 | ||
moritz | equidieversary | 14:09 | |
masak | oh, you | ||
moritz | equi = same, die = day | ||
masak | also, equus = horse :P | ||
moritz | holy cow. | 14:10 | |
masak | rats. | ||
GlitchMr | I like it | ||
14:12
SamuraiJack_ joined
14:13
SamuraiJack left
14:14
kivutar left
14:21
Psyche^ joined
14:25
Patterner left,
Psyche^ is now known as Patterner
14:34
SamuraiJack_ left
14:36
SamuraiJack joined
|
|||
dalek | p-jvm-prep: 42bb791 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Implement NFA execution. |
14:45 | |
p-jvm-prep: b32cf39 | jnthn++ | / (2 files): Align constants used with char classes. This matches the enumeration used on Parrot. It eases migration, and it really doesn't matter at all what numbers we pick. |
|||
p-jvm-prep: 8d10f4c | jnthn++ | docs/ROADMAP: Update ROADMAP; we now have LTM alternations. |
|||
14:53
perlmonkey joined
|
|||
arnsholt | mst++ # Being constructive | 15:01 | |
15:02
thundergnat joined
|
|||
thundergnat | Oh shark, zebras. :-) | 15:03 | |
Is it a bug in Rakudo or a bug in my expectations that a CATCH in mainline code doesn't seem to work without an explicit enclosing block? | 15:04 | ||
masak | thundergnat: it's a (known) rakudobug. | 15:05 | |
thundergnat | Ah. | ||
15:05
perlmonkey left
|
|||
thundergnat | Is there an easy way to override exceptions for a specific class or do I need to capture them generally and filter by class? | 15:07 | |
moritz | you mean, catch exceptions only of a specific class? | 15:08 | |
CATCH { when Your::Exception::Type { handle it } } | |||
thundergnat | Yes | ||
moritz | all the other types are automatically rethrown | ||
thundergnat | Does the class need to be an 'is Exception'? | 15:09 | |
r: class F { method foo {say 'foo'}}; {CATCH {when X::Method::NotFound { say $_.method ~ ' not here' }; default { die $! }}; my $d = F.new; $d.foo; $d.bar;} | |||
p6eval | rakudo 1e85ff: OUTPUT«foobar not here» | ||
15:10
benabik joined
|
|||
thundergnat | Here I only want to catch the Method::NotFound from F | 15:10 | |
moritz | thundergnat: if you throw objects that don't derive from Exception, they are automatically wrapped in X::AdHoc | 15:11 | |
so, yes | |||
thundergnat | Ok, I suspected as much but wanted to ask someone who knew more about it. Thanks | 15:13 | |
15:26
am0c joined
15:27
ggoebel_ joined
|
|||
ggoebel_ | jnthn++ LTM on jvm | 15:28 | |
masak .oO( LTA with TLAs ) | |||
moritz | FTW! | 15:31 | |
jnthn wonders if anybody else finds it strangely right that FTW is WTF.flip | 15:33 | ||
15:33
Chillance joined
|
|||
moritz | .oO( strangely consistent at least ) |
15:34 | |
15:38
am0c left
15:46
SunilJoshi joined
|
|||
dalek | p: d579a30 | (Paweł Murias)++ | t/nqp/59-nqpop.t: Add tests for isnull for things that aren't nulls. |
15:47 | |
15:48
benabik left
16:00
census left
|
|||
dalek | kudo-js: fa96194 | (Paweł Murias)++ | / (2 files): Use auto_viv_values, remove hack. |
16:04 | |
kudo-js: d6e93e6 | (Paweł Murias)++ | / (2 files): Fix isnull. |
|||
16:12
am0c joined
|
|||
thundergnat | How do you resume from a handled exception that isn't in a try block? S04 kind of glosses over it and all the S04 exceptions tests in roast seem to have an explicit try. | 16:20 | |
Or am I just insane? | |||
moritz | thundergnat: define "resume"? | ||
thundergnat | r: gist.github.com/anonymous/4967456 | 16:21 | |
p6eval | rakudo 1e85ff: OUTPUT«===SORRY!===Two terms in a rowat /tmp/50c3JUvp_i:1------> https⏏://gist.github.com/anonymous/4967456 expecting any of: argument list postfix infix or meta-infix infix stopper statem… | ||
thundergnat | errm. | ||
Didn't that used to work | |||
moritz | probably before gist changed their URL schema | 16:22 | |
I'll need to fix p6eval | |||
anyway, that return(); looks bogus | |||
because you're not in a routine | |||
anyway, control flow continues after the block inside which the CATCH was | 16:23 | ||
thundergnat | Ok. But is there some other way to return execution to where the exception was thrown? | ||
moritz | you can .resume. But usually that's VERY bad idea | ||
because most code assumes that if died, control flow there stopped | |||
dalek | kudo-js: c5a66ae | (Paweł Murias)++ | / (3 files): Remove nqp.undef. |
16:24 | |
nwc10 | jnthn: with respect to tests - still nothing to nag about. | ||
16:25
census joined
16:27
aindilis left
16:28
aindilis joined
|
|||
jnthn | nwc10: Meanwhile, I just managed to fill the whole heap :) | 16:38 | |
16:40
proller left
|
|||
dalek | kudo-js: c24f561 | (Paweł Murias)++ | / (2 files): Remove a hack that enabled a ctx less calling convention for some methods. |
16:41 | |
16:43
proller joined,
proller left
|
|||
nwc10 | jnthn: oops, that was careless | 16:43 | |
dalek | kudo/optimizer-void-context: a10db62 | moritz++ | src/Perl6/Optimizer.pm: try to track void context in the optimizer does not work yet, it seems to consider all string literals in void context. No idea why :( |
16:44 | |
p-jvm-prep: e16605f | jnthn++ | lib/QAST/JASTCompiler.nqp: Compile subrule. As well as calling subrules, this also handles named and positional capturing. Includes part of what is needed to backtrack into subrules also. |
16:46 | ||
p-jvm-prep: c5161b6 | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement backtracking the cursor stack. This means backtracking over captured things works out. For example: say(('abc123def' ~~ /c <digit>+ (\d\w+)/).list[0].Str()) |
|||
p-jvm-prep: 46abfca | jnthn++ | lib/QAST/JASTCompiler.nqp: Make backtracking into subrules work. |
|||
p-jvm-prep: 7b663bb | jnthn++ | docs/ROADMAP: Update ROADMAP. |
|||
moritz | oh, I'm dumb. | ||
jnthn | nwc10: Yeah, I wrote something that needed backtracking into subrules, before I'd finished the logic for that. And it turns out I'd left it unfinished in a way that just built up an enormous cursor stack :) | 16:47 | |
16:47
proller joined
|
|||
moritz | jnthn++ # huge jvm progress | 16:50 | |
TimToady | masak: here: gist.github.com/TimToady/4967666 | 16:55 | |
16:57
xilo_ joined
|
|||
TimToady | r: gist.github.com/TimToady/4967666 | 16:58 | |
p6eval | rakudo 1e85ff: OUTPUT«===SORRY!===Two terms in a rowat /tmp/PZRLViIwWl:1------> https⏏://gist.github.com/TimToady/4967666 expecting any of: argument list postfix infix or meta-infix infix stopper stateme… | ||
masak | r: role Foo[::T] { has T $.p = T }; role Bar[::T] { my class Fooey does Foo[T] {}; submethod BUILD { Fooey.new } }; class RatBar does Bar[Rat] {}; RatBar.new | 17:00 | |
p6eval | rakudo 1e85ff: OUTPUT«Cannot type check against type variable T in any type_check at src/gen/Metamodel.pm:299 in block at src/gen/CORE.setting:797 in method BUILDALL at src/gen/CORE.setting:752 in method bless at src/gen/CORE.setting:742 in method new at src/gen/CORE.setting:… | ||
masak submits rakudobug | |||
17:00
xilo_ left
|
|||
TimToady | and yes, RatBar is an allusion to the Vorkosigan universe :) | 17:01 | |
masak | \o/ | ||
dalek | kudo/optimizer-void-context: f41f314 | moritz++ | src/Perl6/Optimizer.pm: be a bit less wrong about void context detection still does not work at all :( |
17:08 | |
moritz doesn't understand why it's not working :(( | 17:16 | ||
masak | TimToady: rt.perl.org/rt3/Ticket/Display.html?id=116783 | ||
& | |||
dalek | ecs: f08f878 | larry++ | S12-objects.pod: inner classes must respect genericity |
17:19 | |
pmurias | jnthn: you have been considering removing VarWithFallback? | 17:27 | |
jnthn | pmurias: Pm and I pondered shuffling default value responsibility off into aggregates to cover a bunch of the cases, if not all of them. But that's not likely to happen in the short term. Medium term perhaps... | 17:28 | |
nwc10 | jnthn: the tests are still pat | ||
(That's (a) a bit subtle (b) bending English slang a little too far, I think) | 17:29 | ||
pmurias | jnthn: what's a bit crazy about that it does different things for associative and positional | 17:30 | |
pmurias got confused | 17:32 | ||
17:34
thundergnat left
|
|||
TimToady | jnthn: does that spec change seem to say approximately the right thing? | 17:35 | |
jnthn | TimToady: Seems about right. Probably don't want to commit to much more detail until we have an implementation to try out. | 17:41 | |
moritz even dumber than previously thought | 17:43 | ||
comparing the wrong variables == fail | 17:44 | ||
arnsholt | moritz: Welcome to the club. We meet every tuesday at seven =) | ||
17:45
census left
|
|||
jnthn should also attend... | 17:47 | ||
Just spent half an hour looking for why on earth a spurious reference to the NQP on Parrot setting was making it into the SC dependencies list | |||
Turns out I wasn't passing --setting=... to give it the correct one | 17:48 | ||
Anyway, the better news is that with that fix it seems like grammars work. | |||
moritz | \o/ | ||
FROGGS | these quotes dont seem right... | 17:51 | |
"/usr/bin/perl" -MExtUtils::Command -e mkpath "/home/froggs/dev/nqp/install/include"/parrot/4.10.0-devel""/dynpmc | |||
that's nqp's make install | 17:52 | ||
moritz | doesn't look too wrong to me | ||
geekosaur | they're syntactically valid; couldnt tell you if they make sense semantically | ||
moritz | the shell strips them | ||
$ echo "ab""c" | 17:53 | ||
abc | |||
nwc10 | jnthn: does that mean some more passing tests are going in? | ||
moritz | I just hope that windows agrees :-) | ||
FROGGS | hmmmm, k | 17:54 | |
jnthn | nwc10: Yeah, I should be able to get some more in today | 17:55 | |
mberends | nwc seems to be champing at the bit | ||
jnthn | nwc10: Need to deal with a small library loading thingy, which shouldn't be a big deal. | ||
mberends | *nwc10 | ||
nwc10 groans | 17:56 | ||
jnthn | There ascot to be an end to these horse puns! | ||
moritz | \o mberends | 17:57 | |
mberends | yo! | 17:58 | |
moritz | $ ./perl6 -e '"foo"; say 42'; | ||
Useless use of constant string "foo" in void context | |||
42 | |||
17:58
SamuraiJack left
|
|||
moritz | still has too many false positives to release it to the wild though | 17:59 | |
jnthn | moritz++ # progress | ||
dalek | kudo/optimizer-void-context: 15219f7 | moritz++ | src/Perl6/Optimizer.pm: fix logic error in void context detection still has quite a fe false positives |
18:00 | |
moritz | 18 warnings from compiling the setting | ||
jnthn | Time for some dinner, methinks. Afterwards will take a look at protoregexes and adding some tests | ||
moritz | i suspect that attribute default false warn | ||
masak | lol, I blogged! \o/ strangelyconsistent.org/blog/perl6-...ld-as-perl | ||
moritz | masak++ | ||
ok, I cheated, I didn't read it that fast | 18:01 | ||
but I read an earlier draft :-) | |||
nwc10 | jvm startup times are still ugly :-( | 18:02 | |
very slow out of the gate | 18:03 | ||
dalek | ecs: b1c3386 | larry++ | S32-setting-library/Containers.pod: add combinations method |
18:04 | |
18:05
uvtc joined
|
|||
au | nwc10: try drip, it's like PPerl.pm | 18:05 | |
github.com/flatland/drip | |||
uvtc | hi #perl6 :). If I've just built Rakudo-Parrot to use the latest SixParrot and NQP (as described at wiki.perl6.org/Rakudo-Parrot ), and time passes and I want to refresh SixParrot and NQP, do I use `make clean`, `make realclean`, or `make distclean`? | 18:08 | |
colomon | TimToady: did you mean $N instead of $of? Right now you talk about N and $of -- I presume they're the same, but that should probably be more explicit | ||
moritz | uvtc: usually "make clean" is enough | ||
18:09
kst joined
|
|||
uvtc | moritz: Thanks. Updated those wiki notes. And I'm going through a `make clean` then `make`, but it doesn't look like it's grabbing any latest changes from github... | 18:14 | |
I want it to pull the latest commits from Rakudo, SixParrot, and NQP before building again. | |||
moritz | then you need to reconfigure rakudo | 18:15 | |
with the --gen-parrot=sixparrot option it'll do the git fetch etc. for you | |||
dalek | kudo-js: d8fff30 | (Paweł Murias)++ | / (3 files): Pass test 43. Emit more parens, setup the scope with setting. |
||
uvtc | Ok. So, then, `make clean`, then run the `perl Configure.pl ...` again and the rest. | ||
Thanks, moritz . :) | 18:17 | ||
Oh, wait. Actually, | |||
after the `make clean`, I'd first need to do `git pull`, right? | |||
moritz | in rakudo, sure | ||
uvtc | Yes. I'm looking for a way to get the very freshed produce from the roadside stand. :) | ||
18:17
s1n left
|
|||
lue just learned about those mugs. :) | 18:17 | ||
18:19
not_gerd joined
|
|||
not_gerd | o/ | 18:19 | |
masak | \o | 18:20 | |
not_gerd | moritz: Cygwin build is broken due to addition of double-quotes: gist.github.com/gerdr/4968020 | ||
see www.cmcrossroads.com/article/gnu-ma...paces-them | |||
(GNU make doesn't understand them) | |||
moritz | wtf. I use GNU make too. | 18:23 | |
(on linux though) | |||
not_gerd: and which build are you talking about? nqp? | 18:24 | ||
pmurias | I now understand why people want to dogfood the build process ;) | 18:25 | |
not_gerd | moritz: nqp, yes | ||
TimToady | colomon: well, $taken_N_at_a_time seems like kind of a long parameter name :) | ||
and .combinations is already sufficiently dehuffmanized... | 18:26 | ||
dalek | p: 97fd401 | moritz++ | src/QAST/ (3 files): [QAST dumper] include a bit more info |
||
not_gerd | moritz: the cygwin build does a bit of additional copying of DLLs - possibly that's the only rule that's broken | ||
moritz hates all platforms more crazy than linux | 18:27 | ||
dukeleto | o/ | ||
dalek | ecs: f1d0699 | larry++ | S32-setting-library/Containers.pod: clarify that N comes from $of, colomon++ |
||
not_gerd | the problem should also appear on linux - it's just that you need a certain rule to trigger it because if you only hand off the paths to the shell, it'll work fine | 18:28 | |
moritz | well, on linux the quoted paths don't appear on the RHS of the makefile rules | 18:29 | |
(at least in nqp) | |||
jnthn: when compiling classes, are there any funny cross-references between QAST nodes happening? | 18:31 | ||
because when looking at the qast tree for class A { has $.x = "foo"; ... } it looks to me like "foo" is indeed compiled in void context | 18:32 | ||
ie, the QAST::Block has as QAST::Stmts which all sorts of declaration-y stuff | 18:33 | ||
lue | masak++ # good blog post | ||
moritz | oh, do I have to ignore the first statement of each block? | ||
jnthn | moritz: Each QAST::Block has two Stmts nodes. The first is just declarations. | 18:34 | |
I don't know that there's anything funny going on...I think there's a attr_init_closure sub that constructs the attribute initialization closure | |||
18:34
am0c left
18:35
SunilJoshi left,
SunilJoshi joined
|
|||
moritz | I guess for the void context analysis, it's useful to ignore the declaration-y bits entirely | 18:37 | |
masak | think so. | 18:40 | |
though not in 1 + (my $d = 1) | |||
moritz | well, declaration-y bits in the QAST tree | 18:41 | |
in the tree, your example looks like my $d; 1 + ($d = 1) | |||
and since infix:<+> is marked as "is pure", we can make that warn about "constant expresion in void context" still | 18:42 | ||
dalek | ecs: 6f747f3 | larry++ | S32-setting-library/Containers.pod: talk about combinations and powerset for Set type |
18:43 | |
moritz | not_gerd: urks. It looks like what I need to do is introduce a new syntax for escaped interpolation in the Makefile templates | 18:44 | |
moritz HATES | 18:45 | ||
jnthn: how does MSVC's escape spaces in paths? | 18:46 | ||
18:47
am0c joined
|
|||
dalek | kudo/optimizer-void-context: d501814 | moritz++ | src/Perl6/Optimizer.pm: track declaration bits in the QAST |
18:48 | |
18:48
SunilJoshi left
|
|||
not_gerd | moritz: I believe you need to quote on definition and on usage as interpolation via $(FOO) drops the quotes | 18:49 | |
moritz | but again, that won't work with GNU make, right? | 18:51 | |
not_gerd | correct | ||
GNU make basically can't handle spaces | 18:52 | ||
dalek | kudo-js: 2f66aa1 | (Paweł Murias)++ | / (2 files): Implement redo. Pass test 47. |
||
not_gerd | moritz: you need to use quotes with nmake and can use \\ escapes with GNU | ||
\\ doesn't always work but as we're restricting ourselves to the portable subset, it should | 18:53 | ||
moritz | nqp: say(qq["]) | 18:54 | |
p6eval | nqp: OUTPUT«"» | ||
FROGGS | gist.github.com/anonymous/56528571cbfe83f76cba | 18:56 | |
jnthn | AFAIK, quotes with nmake, as not_gerd++ said. | 18:57 | |
dalek | p-jvm-prep: f931a2b | (Paweł Murias)++ | t/qast/qast_process.t: Remove one unused execution of a test in qast_process.t |
||
_sri | wow, today perl6 is as old as perl5 was when perl6 was announced? :o | 19:00 | |
TimToady | well, the idea of perl6 is... | 19:04 | |
it takes a long time to make a set of different mistakes from Perl 5 :) | 19:05 | ||
19:06
quester joined,
nyuszika7h left
19:12
nyuszika7h_ joined,
nyuszika7h_ is now known as nyuszika7h
19:14
mtk left
|
|||
lue | ooc, has there been significant discussion of P6 on PyPy? (looking at the wiki's Implementation FAQ) | 19:16 | |
japhb | lue, we had a guest who pushed the idea pretty hard. | 19:17 | |
dalek | p-jvm-prep: 08ce350 | jnthn++ | nqp-src/QASTNodes.nqp: Uncomment some code, now more stuff works. |
||
p-jvm-prep: 165f585 | jnthn++ | Makefile: Missing flag. |
|||
p-jvm-prep: b1244fb | jnthn++ | src/org/perl6/nqp/sixmodel/ (5 files): Deserialization of natively typed attributes. |
|||
p-jvm-prep: 3b215cd | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Get protoregexes working. Transitive LTM seems to work out fine. |
|||
TimToady | \o/ | ||
japhb | Unfortunately, the conversation evolved in rather the wrong direction -- why we *shouldn't* be doing anything else, rather than how we *could* do a PyPy port. | ||
TimToady | just takes a champion | 19:18 | |
well, and a bit of competence... | |||
japhb | TimToady, was that directed to me? | ||
lue | Ah. I ask because the special PyPy question seems useless right now. | ||
TimToady | nope | ||
TimToady doesn't delegate | 19:19 | ||
lue | (TimToady meant in general, if I read correctly.) | ||
TimToady is so bad at delegating that he delegates the delegating to other peopple too... | |||
japhb | Indirection solves another problem! | ||
dukeleto | p6 on pypy sounds very interesting | ||
TimToady | and self-delegation usually works best in any case | ||
19:20
am0c left
|
|||
TimToady | champions volunteer, they are almost never volunteered by someone else | 19:20 | |
and if they meet too much headwind, sometimes they unvolunteer | 19:21 | ||
masak | and become unchampions. | ||
dukeleto | Topaz Ruby is a recent implementation of Ruby on PyPy: docs.topazruby.com/en/latest/ (champion reading material) | ||
japhb | Been there, lived that. | ||
TimToady | nah, just former champions :) | ||
_sri | is pypy actually a major player in the python community now? | 19:22 | |
last time i looked it seemed nowhere near as popular as jruby is in the ruby world | 19:23 | ||
japhb | sri, congrats on 2.0 release. | 19:24 | |
19:25
s1n joined
|
|||
_sri | japhb: what 2.0? | 19:25 | |
jnthn | wtf... | ||
NMAKE : fatal error U1071: cycle in dependency tree for target '"libparrot.dll"' | |||
When building nqp | |||
japhb | sri, is the date on this one wrong? blog.kraih.com/post/43198085334/moj...-framework | ||
(I saw it pass by in #news) | |||
_sri | japhb: d'oh! | ||
dukeleto | _sri: yes, many big players are starting to use PyPy now, because it is so fast | 19:26 | |
_sri | japhb: posterous is shutting down, new blog provider messed up the dates | ||
japhb | heh | ||
moritz | jnthn: try to revert 1db6167740f7306a0e3acf04ccb15dfcc27c3dcb and see if it fixes stuff for you | ||
uvtc | _sri: I think there's interest in PyPy in the Python world, and there's some funding going into porting it to Python 3... | ||
moritz | jnthn: if yes, push the revert; I just learned from not_gerd++ that the approach isn't general enough anyway | 19:27 | |
uvtc | _sri: David Beazley gave an interesting keynote fairly recently about CPython and PyPy. | ||
jnthn | hm, doing git revert on a merge commit is entertaining... | 19:30 | |
nwc10 | dukeleto: oh, interesting. I wasn't actually aware of anyone saying "we use PyPy" | ||
_sri | dukeleto: yea, i'm not aware of anyone either yet | 19:31 | |
nwc10 | I *thought* I'd watche the video of a Pycon keynote where someone (Dave Beazely?) asked the audience who runs PyPy in production? and the rough show of hands was zero. (At least that was the impression I got. The camera didn't pan, IIRC) | ||
am I wrong? I'm curious | 19:32 | ||
moritz | there are occasional blog posts about pypy in performance testing or production; but it doesn't seem to be the norm | ||
_sri | those (rather interesting) STM experiments around pypy gave me the impression it was still mostly a reasearch project | ||
nwc10 | bitbucket.org/fijal/hippyvm -- still active. | ||
moritz | but that's just my outsider's impression | 19:33 | |
nwc10 | I guess they want Rakudo, as they have Python, Ruby and PHP | 19:34 | |
so Lua, Perl and Tcl still needed | |||
moritz | what about JS? | ||
_sri | hehe, every vm needs a JS these days! | ||
nwc10 | good point. | ||
uvtc | "We got everyone but Matt Guitar Murphy and Blue Lou and we're gettin' them next." :) | ||
_sri | not too long and those JS implementations will turn into the ultimate vm benchmark | 19:35 | |
nwc10 | RFC 1925, section 3. | 19:36 | |
er, section 2, subsection 3 | |||
19:39
labster joined
|
|||
japhb | moritz, would you mind turning on the dalek hook for perl6/perl6-most-wanted? | 19:39 | |
19:39
thou joined
|
|||
nwc10 | au: I'm really not sure that I'm comfortable with a shell script that contains code to download more stuff at runtime. | 19:40 | |
(ie bin/drip) | |||
labster | Happy halffiversary, Perl 6! Thanks for the blog post masak++ | 19:43 | |
moritz | japhb: sorry, I forgot. Will do | 19:44 | |
19:44
dvj joined
|
|||
japhb | moritz, no worries. :-) | 19:45 | |
dvj | perl6: class a { has Str $.b = ""; method c { print $!b.comb[*-1] } }; a.new.c() | ||
dalek | rl6-most-wanted: d36031c | (Geoffrey Broadwell)++ | most-wanted/bindings.md: Add 7zip to most-wanted bindings (labster++) |
||
rl6-most-wanted: 392a9c0 | (Geoffrey Broadwell)++ | most-wanted/modules.md: Text::CSV is WIP (not all tests pass yet) |
|||
rl6-most-wanted: a53a394 | (Geoffrey Broadwell)++ | most-wanted/modules.md: Minor clarification of most-wanted modules; plus opportunity to test if dalek hook is live for perl6 org's fork of the repo |
|||
p6eval | niecza v24-23-g0520c7c: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/lib/CORE.setting line 1290 (warn @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 266 (Mu.Str @ 15)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.settin… | ||
..rakudo 1e85ff: OUTPUT«Cannot use negative index -1 on List in method Str at src/gen/CORE.setting:10515 in method print at src/gen/CORE.setting:7785 in sub print at src/gen/CORE.setting:7595 in method c at /tmp/W6lWVu8TjM:1 in block at /tmp/W6lWVu8TjM:1» | |||
japhb | Among other valuable things, I find dalek does a good job of helping my gamify my coding time, so I find it's been quite valuable to me. :-) | 19:46 | |
moritz | huh, looks like a rakudobug to me | ||
dvj | raudo: class a { has Str $.b = ""; method c { print $!b.comb[*-1] } }; a.new.c() | ||
rakudo: class a { has Str $.b = ""; method c { print $!b.comb[*-1] } }; a.new.c() | |||
p6eval | rakudo 1e85ff: OUTPUT«Cannot use negative index -1 on List in method Str at src/gen/CORE.setting:10515 in method print at src/gen/CORE.setting:7785 in sub print at src/gen/CORE.setting:7595 in method c at /tmp/lFZhcTn9CJ:1 in block at /tmp/lFZhcTn9CJ:1» | ||
moritz | r: say ()[*-1] | ||
p6eval | rakudo 1e85ff: OUTPUT«Cannot use negative index -1 on List in method gist at src/gen/CORE.setting:10516 in sub say at src/gen/CORE.setting:7601 in block at /tmp/ZHcgHYoMJt:1» | ||
dvj | why do I get a negative index -1? | ||
masak | because the list is empty. | ||
moritz | dvj: because the * is the length of the list | ||
but I still think the error message is wrong | 19:47 | ||
r: say ()[42] | |||
p6eval | rakudo 1e85ff: OUTPUT«Nil» | ||
dvj | ah ok | ||
moritz | it should do the same, IMHO | ||
dalek | kudo/optimizer-void-context: 9244510 | moritz++ | src/Perl6/Optimizer.pm: use %!worrying mechanism for string constants in void context |
||
pmurias | jnthn: do you have any idea's for a portable run QAST API? (so that I can run t/qast_process.t) on nqp-js? | 19:48 | |
masak | TimToady: would .combinations() have behaved as .powerset() if the default range were 0..+self ? | 19:50 | |
jnthn | pmurias: Not really got any ideas for that off hand. | ||
pmurias | jnthn: run_qast with a Result object containing the error code and output? | ||
nwc10 | jnthn: I'm all out of puns. All tests sucessful | 19:51 | |
pmurias | nwc10: you mean all nqp-jvm test pass? | ||
nwc10 | yes | 19:52 | |
dalek | p: b1258d7 | jnthn++ | tools/ (2 files): Revert "Merge remote-tracking branch 'origin/spacey'" This reverts commit 1db6167740f7306a0e3acf04ccb15dfcc27c3dcb, reversing changes made to c9bc4a25ba2ca57e3642dbe870da31fd1b661322. |
19:55 | |
p: 0514fec | jnthn++ | src/NQP/ (2 files): Remove a now-unused option. |
|||
p: 1e0a374 | jnthn++ | src/NQP/Actions.pm: Remove a redundant load. |
|||
japhb | masak: It is useful to have easy ways to get both variants (with and without null set), methinks. Though that's not a +1 for the current factoring, maybe just mildly positive. | ||
masak | japhb: I'm happy about both methods... I'm just not sure yet why .combinations() has that default. | 19:56 | |
<moritz> it should do the same, IMHO | |||
moritz: I've had the same thought once or twice. | |||
moritz: problem is that the -1 check isn't syntactic (and can't be, I think), but happens at runtime. | 19:57 | ||
dalek | p: c6832d5 | jnthn++ | src/NQP/Actions.pm: Add a way to specify a custom regex lib. Useful for nqp-jvm while it only has the runtime part of it. |
||
FROGGS | if I have a reference to an array, what nqp::istype is that? | ||
moritz | masak: I don't understand how that argument applies here | ||
masak: after all, .[*-1] is handled in a different code path than .[$some_integer] | 19:58 | ||
masak: and an additional check the closure returning a negative number can be added in the code path for the WhateverClosure | 19:59 | ||
s/check/check for/ | |||
masak | moritz: oh. true. I don't know why I didn't think of that. | 20:03 | |
then I think we should definitely do it. | |||
moritz | though there might still be one difference | 20:04 | |
r: my @a; @a[2] = 42; say @a.elems | |||
p6eval | rakudo 1e85ff: OUTPUT«3» | ||
lue | Are set operations documented anywhere in the spec (unicode operators, methods, etc.) | ||
dalek | p-jvm-prep: 3a2ea43 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque.java: Stop dumping generated P6opauqe backing types. |
||
p-jvm-prep: 71ba9d2 | jnthn++ | nqp-jvm-cc.nqp: Load QRegexJVM by default. |
|||
p-jvm-prep: d7060da | jnthn++ | t/nqp/29-make.t: Pass 29-make.t. |
|||
moritz | what would @a[*-1] do in lvalue context? | ||
FROGGS | assing to the last element? | 20:06 | |
TimToady | why would it not simply set the last element? | ||
FROGGS | s/ng/gn/ | ||
moritz | if @a is empty? | ||
what's the last element? | |||
TimToady | error | ||
same as setting element -1 | |||
moritz | ok, so the current semantics are correct? | 20:07 | |
or should it only error in lvalue context? | |||
TimToady | well, in rvalue context it should probably be returning Nil for non-existing elements (or a default if we set one) | ||
FROGGS | nr: my @a; @a[7] = 42; say @a | 20:09 | |
p6eval | rakudo 1e85ff: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/N4qCA0KQKD:1use of uninitialized value of type Any in string context in block at /tmp/N4qCA0KQKD:1use of uninitialized value of type Any in string context in block at /tmp/N4qCA0KQK… | ||
..niecza v24-23-g0520c7c: OUTPUT«Any() Any() Any() Any() Any() Any() Any() 42» | |||
lue | .oO(Should say (1,2,3)[-1] return Nil or error?) |
||
moritz | lue: that's not the question | ||
FROGGS | IMO @a[*-1] should add one element too, if @a is empty | ||
nwc10 | what is the 'make' building, and which part of TFM should I be reading? | ||
moritz | nwc10: S05 | ||
lue | I know, I was just wondering if ()[*-1] was to be a special case or not. | ||
moritz | nwc10: make() sets the AST component of $/ in reegxes/grammars | 20:10 | |
nwc10 | ah OK | ||
is there an index of builtins? | |||
moritz | doc.perl6.org has one, but it's woefully incomplete | ||
nwc10 | it's not possible to autogenerate this? | ||
I guess, "yes, if the Pod were annotated with suitable tags. Which it isn't" | 20:11 | ||
moritz | or if the pod for doc.perl6.org were complete | ||
masak | lue: .[-1] is always an error. and that one can be caught at parse-time. | 20:12 | |
lue | Yeah. I wanted to type [*-1], but that doesn't do what it does on the empty list. | 20:14 | |
20:17
mtk joined,
chromis joined
|
|||
chromis | hello | 20:18 | |
FROGGS | o/ chromis | ||
nwc10 | jnthn: \o/ still | ||
jnthn | nwc10: Yeah, working on seeing if I can get us some more tests. :) | 20:19 | |
moritz | jnthn: what's an efficient way to insert a noop into the QAST tree? | ||
nwc10 | jnthn: I have just discovered that they don't run in parallel. | 20:20 | |
moritz | I thought about QAST::VM(:pirop<noop>), but that might take as much memory as the stuff I want to optimize out | ||
nwc10 | I assume that they're using the same temporary file name | ||
and I didn't see it as worth fixing | |||
it is a prototype, after all | |||
jnthn | moritz: QAST::Op.new( :op('null') ) # should be optimized away in void context | 20:21 | |
moritz | jnthn: ok, great | ||
jnthn | moritz: You can always create one of them and re-use it :) | ||
nwc10: Hm, I wonder which temporary file... | |||
nwc10 | oh, you want me to dig? | 20:22 | |
jnthn | nwc10: Before 3a2ea4 they may have been racing to write debug output... | ||
nwc10: Wait, are we talking about make test or make nqptest? | 20:23 | ||
nwc10 | Unable to open filehandle from path 'QAST2JASTOutput.output' | ||
make test | |||
jnthn | Oh. | ||
OK, I don't have a very good answer on that one :) | |||
nqptest OTOH... | |||
nwc10 forgot about make nqptest | |||
jnthn | That should work in parallel. | ||
nwc10 | not been running that | ||
jnthn | Oh, that's the interesting one :) | ||
nwc10 | oopsy | ||
jnthn wonders if we shouldn't swap that to be make test these days... | |||
nwc10 | possibly. | 20:24 | |
it would help muppets like me | |||
t/nqp/46-charspec.t failed because there is no ICU | |||
all others passed | |||
dalek | kudo/optimizer-void-context: 7636b79 | moritz++ | src/Perl6/Actions.pm: give string literal QAST nodes a Match object |
20:25 | |
nwc10 | Files=50, Tests=444, 25 wallclock secs ( 0.24 usr 0.09 sys + 148.03 cusr 34.06 csys = 182.42 CPU) | ||
nicely in parallel | |||
jnthn | OK, good. | 20:26 | |
I'd have been surprised if that didn't run in parallel | |||
dalek | Heuristic branch merge: pushed 1000 commits to nqp/PackfileView by gerdr | 20:27 | |
quester | rn: say 'in single quotes: \x58', ", in double quotes: \x58, in single quote-words: ", <\x58>, ", in double-quote-words: ", «\x58»; | ||
p6eval | rakudo 1e85ff, niecza v24-23-g0520c7c: OUTPUT«in single quotes: \x58, in double quotes: X, in single quote-words: \x58, in double-quote-words: X» | ||
not_gerd | jnthn: I just resurrected whiteknight's PackfileView work, if you want to take another look | 20:28 | |
20:29
uvtc left,
domidumont left
|
|||
jnthn | not_gerd: What's the idea of that, exactly? | 20:33 | |
Generating PBC directly, not PIR? | 20:34 | ||
not_gerd | jnthn: whiteknight wanted to deprecate the EvalPMC | ||
jnthn: that would be the final goal, but that's still ways off | |||
jnthn | Yes, I really don't want to be the person who works on that bit. | ||
It's about the opposite of -Ofun. | 20:35 | ||
not_gerd | jnthn: I'm going to look into adding --target=pbc to nqp (just the frontend change) | ||
the current Parrot frontend written in winxed uses the packfile api, so I looked into updating NQP to that as well | 20:36 | ||
jnthn | OK, that could be worthwhile. | ||
not_gerd | the NQP side is now a bit more involved as the Parrot side contains less magic | ||
20:37
marloshouse left,
fgomez left
|
|||
not_gerd | one could do the frontend change on top of the old system as well, so that's not really a deciding factor | 20:38 | |
jnthn | I need to do something about HLL::Compiler soon anyways. | ||
diakopter | it needs to do something about you too | ||
jnthn | It currently tangles the generic and the Parrot-specific. | 20:39 | |
And we're gonna want other backends have their specifics too. | |||
So need to find a clean separation. | |||
It makes sense there's a "produce bytecode" hook, and that can do whatever is needed on the Parrot side, and similar for JVM side. | 20:40 | ||
Hm, we could do a role per backend. | |||
Though if we wanna support cross-comp in a good way, delegation maybe is better... | 20:41 | ||
Anyway, I'll run into this soon since NQPHLL is the next library to get cross-compiling... | 20:42 | ||
timotimo | did the recording from masaks talk surface yet? | 20:43 | |
moritz | which one? FOSDEM? | ||
timotimo | i think that's the one | 20:44 | |
are there more? :) | |||
not_gerd | jnthn: once there's a proper API, it doesn't really matter if it's based on Eval PMC or PackfileView PMC | ||
dalek | p-jvm-prep: 67c7023 | (Paweł Murias)++ | t/ (2 files): Add a run_qast subroutine to helper which abstracts away running qast. |
||
20:44
fgomez joined
|
|||
pmurias | jnthn: ^^ looks sane? | 20:44 | |
not_gerd | my vote would go to moving to PackfileView under the assumption that whiteknight++ knew what he was doing | ||
FROGGS | nr: my @var = <a b c>; say "a0" ~~ /@var[0]/ | ||
p6eval | rakudo 1e85ff: OUTPUT«#<failed match>» | ||
..niecza v24-23-g0520c7c: OUTPUT«Potential difficulties: Apparent subscript will be treated as regex at /tmp/GLNRM5ROQT line 1:------> my @var = <a b c>; say "a0" ~~ /@var⏏[0]/「a0」» | |||
FROGGS | TimToady: should the [0] be treated as a cclass? | 20:46 | |
jnthn | FROGGS: I think we should give the warning that STD/niecza do | ||
pmurias: Think so...will give it a try too | 20:47 | ||
pmurias | give it a try = run tests? | ||
FROGGS | okay, so this test is wrong: github.com/perl6/roast/blob/master...tvar.t#L37 | 20:48 | |
20:49
chromis left
|
|||
FROGGS | and the following too, like the tests for hash elements in regexes | 20:49 | |
jnthn | std: my @var = <a b c>; say "a0" ~~ /@var[0]/ | 20:52 | |
p6eval | std 7551b8f: OUTPUT«Potential difficulties: Apparent subscript will be treated as regex at /tmp/a2t76sjCrc line 1:------> my @var = <a b c>; say "a0" ~~ /@var⏏[0]/ [0] appears to be an old-school character class; please use <[0]> if you mean a character class… | ||
jnthn | FROGGS: Seems so | ||
FROGGS | k | 20:53 | |
jnthn | std: my $var = <a b c>; say "a0" ~~ /$var[0]/ | ||
p6eval | std 7551b8f: OUTPUT«Potential difficulties: Apparent subscript will be treated as regex at /tmp/eczB6j8btQ line 1:------> my $var = <a b c>; say "a0" ~~ /$var⏏[0]/ [0] appears to be an old-school character class; please use <[0]> if you mean a character class… | ||
20:53
rriley joined
|
|||
FROGGS | n: std %var = (a=>1, b=>2, c=>3); /%var<a>/ | 20:54 | |
p6eval | niecza v24-23-g0520c7c: OUTPUT«===SORRY!===Variable %var is not predeclared at /tmp/RTWoVjgOij line 1:------> std ⏏%var = (a=>1, b=>2, c=>3); /%var<a>/Only $ and @ variables may be used in regexes for now at /tmp/RTWoVjgOij line 1:------> … | ||
FROGGS | std: %var = (a=>1, b=>2, c=>3); /%var<a>/ | ||
p6eval | std 7551b8f: OUTPUT«===SORRY!===Variable %var is not predeclared at /tmp/QKKR3YLYRA line 1:------> <BOL>⏏%var = (a=>1, b=>2, c=>3); /%var<a>/Variable %var is not predeclared at /tmp/QKKR3YLYRA line 1:------> %var = (a=>1, b=>2, c=>3); /… | ||
FROGGS | std: my %var = (a=>1, b=>2, c=>3); /%var<a>/ | ||
p6eval | std 7551b8f: OUTPUT«Potential difficulties: Apparent subscript will be treated as regex at /tmp/lx6nhMKyst line 1:------> my %var = (a=>1, b=>2, c=>3); /%var⏏<a>/ok 00:00 46m» | ||
FROGGS | k | 20:55 | |
std: my %var = (a=>1, b=>2, c=>3); /$(%var<a>)/ | |||
p6eval | std 7551b8f: OUTPUT«ok 00:00 46m» | ||
FROGGS | n: my %var = (a=>1, b=>2, c=>3); /$(%var<a>)/ | ||
p6eval | niecza v24-23-g0520c7c: ( no output ) | ||
FROGGS | n: my %var = (a=>1, b=>2, c=>3); say "abc" ~~ /$(%var<a>)/ | ||
p6eval | niecza v24-23-g0520c7c: OUTPUT«#<failed match>» | ||
FROGGS | n: my %var = (a=>1, b=>2, c=>3); say "123" ~~ /$(%var<a>)/ | ||
p6eval | niecza v24-23-g0520c7c: OUTPUT«「1」» | ||
FROGGS | r: my %var = (a=>1, b=>2, c=>3); say "123" ~~ /$(%var<a>)/ | ||
p6eval | rakudo 1e85ff: OUTPUT«「1」» | ||
FROGGS | I'll update the tests | 20:56 | |
std: my %var = (a=>1, b=>2, c=>3); /%var/ | |||
p6eval | std 7551b8f: OUTPUT«ok 00:00 46m» | ||
FROGGS | what should a hash within a regex do? :rxtype<seq> of its values? | 20:57 | |
20:57
rriley left
20:58
census joined
|
|||
moritz | it's reserved, according to S05 | 20:59 | |
jnthn | FROGGS: Error, I think. | ||
moritz | so yes, error | ||
jnthn | For the reason moritz said | ||
FROGGS | k, thank you both | ||
moritz | we had a very crazy spec for hashes in regexes | ||
FROGGS now reads perlcabal.org/syn/S05.html#Variable...erpolation | 21:00 | ||
moritz | but that was meant as an extension mechanism that we now do with proto regexes instead | ||
"The use of a hash variable in patterns is reserved." | |||
masak | moritz++ # posting my blog post on www.reddit.com/r/programming/commen...d_as_perl/ | 21:01 | |
21:02
ElDiabolo joined
21:03
benabik joined
|
|||
GlitchMr | "PHP is the future, I remember using perl upto 2004 after that I switched to PHP." | 21:05 | |
Trolls instantly appeared | |||
moritz | of course. It's reddit after all. | ||
dalek | p-jvm-prep: 264c63b | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Call method case of boolification. |
21:08 | |
p-jvm-prep: 4173f17 | jnthn++ | nqp-src/nqp-mo.pm: Sync with latest NQPClassHOW. |
|||
p-jvm-prep: 2af05ea | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque (2 files): P6opaque positional/associative delegate support. Means we can now index directly into match objects. |
|||
p-jvm-prep: dc524cb | jnthn++ | t/nqp/50-regex.t: We now pass 50-regex.t. |
|||
p-jvm-prep: bdda6bd | jnthn++ | docs/ROADMAP: ROADMAP update. |
|||
moritz runs into conditions where Obviously Correct[tm] patches stop rakudo's setting from building | 21:09 | ||
arnsholt | That's always fun =) | 21:10 | |
jnthn | pmurias: Seems to have worked out fine. | 21:12 | |
nwc10 | jnthn: I skippeed the ICU test. All others pass. | 21:15 | |
the test that needs ICU | |||
not_gerd | hm... do 'init' subs need to be run when generating PBCs? | 21:16 | |
jnthn | No | 21:17 | |
I think there is (was?) a feature called emit_pbc where things ran while emitting PBC. I dunno if it still exists, and we sure don't use it. | |||
timotimo | so, the synopses 7 and 8, about lists and iterators, are still-wrong-don't-read-them today? | 21:18 | |
jnthn | *nod* | ||
not_gerd | jnthn: I think I know how to factor HLL:Compiler so --target=pbc works | 21:19 | |
not_gerd gives it a try | |||
ElDiabolo | masak, select $_.foo, $_.bar from @table where $_.foo != 5 # just a map + grep thingy and closer to SQL than LINQ. | 21:20 | |
21:20
b1rkh0ff left
|
|||
ElDiabolo | masak, Just wondering if we should go for LINQ or embedded SQL. | 21:21 | |
not_gerd | how do I output debug stuff to STDERR from nqp? | ||
timotimo | r: note 'something something' | 21:22 | |
p6eval | rakudo 1e85ff: OUTPUT«something something» | ||
timotimo | i think that's how you do it | ||
jnthn | in nqp ;) | ||
21:22
sftp left
|
|||
timotimo | er, sorry >_< | 21:22 | |
jnthn | I'm not sure off hand :) | ||
We must do it somewhere. | |||
I think it's done by grabbing the stderr handle and calling a print method on it or so | |||
21:23
sftp joined
|
|||
moritz | pir::getinterp__P().stderr_handle().say("foo") | 21:24 | |
or something like that | |||
not_gerd | moritz: thanks | ||
moritz | src/HLL/Compiler.pm: pir::getinterp__P().stderr_handle().print(...) | 21:25 | |
dalek | kudo/optimizer-void-context: c24440a | moritz++ | src/Perl6/Optimizer.pm: detect Int and Num literals in void context Does not trigger yet, probably because they have no .node info. Also replace the constant QAST node with a null op |
21:27 | |
kudo/optimizer-void-context: 89c7e57 | moritz++ | src/Perl6/ (2 files): give numeric constant QAST nodes a .node now Int and Num literals warn in void context |
|||
21:29
s1n left
21:30
dukeleto left,
dukeleto joined
21:33
ElDiabolo left
|
|||
dalek | kudo/nom: 932bc53 | (Tobias Leich)++ | src/Perl6/Grammar.pm: Apparent subscript will be treated as regex Throw the same warning as STD does for things like @var[0], $var{a} and $var<a> in regexes. |
21:41 | |
p-jvm-prep: c664f92 | jnthn++ | / (2 files): Couple of stringification/numification tweaks. This isn't great, but should do for NQP for now at least. |
21:43 | ||
p-jvm-prep: f91c444 | jnthn++ | t/nqp/3 (3 files): 3 more passing regex/grammar test files. |
|||
21:45
s1n joined,
ElDiabolo joined
|
|||
FROGGS | n: my @arr = <a bc def>; say "abc" ~~ /@arr/ | 21:50 | |
p6eval | niecza v24-23-g0520c7c: OUTPUT«「a」» | ||
FROGGS | n: my @arr = <a bc def>; say "abc" ~~ / | @arr/ | ||
p6eval | niecza v24-23-g0520c7c: OUTPUT«「a」» | 21:51 | |
FROGGS | n: my @arr = <a bc def>; say "abc" ~~ / |@arr/ | ||
p6eval | niecza v24-23-g0520c7c: OUTPUT«「a」» | ||
nwc10 | jnthn: steady state of tests is the usual. | ||
jnthn | :) | 21:53 | |
22:04
dukeleto left
|
|||
jnthn | Currently at 54 passing test files. | 22:04 | |
22:04
lustlife left,
dukeleto joined
|
|||
dalek | kudo/optimizer-void-context: f6a731c | moritz++ | src/Perl6/Optimizer.pm: warn when inlining constant expressions in void context |
22:04 | |
eiro | hello everyone | ||
jnthn | o/ eiro | ||
moritz | \o eiro | ||
$ ./perl6 -e '42 + 23; say "foo"' | |||
Useless use of constant expression "+" in sink context (line 1) | |||
foo | |||
eiro | perl6 equivalent to $/ ? | 22:06 | |
jnthn | moritz: Steal widen_EXPR from rakudo debugger to make it say more than just the + :) | ||
moritz++ # void warnings | |||
moritz | jnthn: oi :-) | ||
that's a good idea | 22:07 | ||
but I'll that for tomorrow | 22:08 | ||
sleep& | |||
jnthn | :) | ||
FROGGS | gnight all | ||
jnthn | o/ FROGGS | ||
eiro: Remind me what $/ is again... :) | |||
Oh, it's the input spearator, iirc... | 22:09 | ||
eiro | EOL, right. | 22:10 | |
jnthn | Not sure about that...I know that for the idiom of undefining it to read the whole file, we just have slurp | ||
eiro | RS is 0x1e in ISO2609. | 22:11 | |
jnthn, i thought about it but it will be really memory consumming: i work with dumps of complete databases | |||
jnthn, i'll split the file in multiple parts with perl5 if there is no solution for the moment | 22:13 | ||
jnthn | Yeah, I've just looked through IO.pm and we don't seem to have anything provided there | ||
Maybe I'm missing it, though. | |||
not_gerd | jnthn: gist.github.com/gerdr/4968963 | 22:15 | |
eiro | i explored IO.pm too but i have to admit i'm confused. for example: i don't understand what nqp::bind_attr is (it seems to be undocumented) | ||
also i saw a wierd function: multi method say (|) { * } | |||
say takes an array and returns Whatever ? | 22:16 | ||
jnthn | Are you sure it wasn't proto? | ||
nqp:: is a call down to a low-level primitive | |||
eiro | i check | ||
jnthn | Looking tat the spec it seems it defines an input-line-separator, which we don't have yet | 22:17 | |
eiro | jnthn, my fault: it is a proto | ||
so { * } means: it will return something . | 22:18 | ||
jnthn | The { * } means "pick whatever multi candidate is best" | ||
eiro | ok so i'll kludge with perl5 | ||
wow! impressive | |||
jnthn | While that's a boring proto, it is possible to write protos where you do soemthing before/after then go to the applicable candidate. | 22:20 | |
eiro | last thing: is there a way to use a regex against a fh and forget the already parsed stuff ? (the idea is to read record by record with a grammar ) | ||
jnthn | not_gerd: I just tried it with --target=pir and then turning that into PBC and it seems to work. | 22:21 | |
eiro | i start to learn nqp as well as perl6: at FOSDEM, i saw masak reading the source and finding interesting infos. + it's quiet perl programmer friendle | ||
jnthn | not_gerd: My best guess is that an init block was done wrong. | ||
Well, it's a very small Perl :) | 22:22 | ||
22:24
ElDiabolo left
|
|||
eiro | thanks jnthn! night all | 22:39 | |
not_gerd | jnthn: I've been staring at the code for a bit, and I think it *should* work | 22:50 | |
shot in the dark is a weird difference between compile() and compile_file() | |||
I'll sleep on it and try again tomorrow | 22:51 | ||
good night, #perl6 | |||
22:51
not_gerd left
22:53
s1n left
22:57
proller left
|
|||
dalek | rl6-roast-data: 13496e9 | coke++ | / (3 files): today (automated commit) |
23:06 | |
jnthn | I scribbled a short blog post: 6guts.wordpress.com/2013/02/17/nqp-...-dispatch/ | 23:19 | |
'night, #perl6 | |||
23:23
spider-mario left
|
|||
[Coke] | jnthn++ ++ ++ | 23:23 | |
23:32
nyuszika7h left
23:33
dayangkun left
23:37
nyuszika7h joined
23:43
silug left
|
|||
japhb | jnthn++ # Good blog post -- and of course, the work that came before it. ;-) | 23:46 | |
23:47
not_gerd joined
|
|||
not_gerd is back | 23:47 | ||
I figured it out and will push in a bit | |||
dalek | p/target-pbc: 2d6a387 | (Gerhard R)++ | / (4 files): add --target=pbc to nqp the factoring of the code isn't perfect, but it does work |
23:52 | |
not_gerd | and pushed | 23:53 | |
23:54
silug joined
23:55
stevan__ joined
23:58
stevan_ left
|