»ö« 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. |
|||
supernovus | does sigspace no longer apply to rules anymore? | 00:03 | |
00:06
risou is now known as risou_awy
|
|||
sorear | supernovus: nom's support for grammars is very lacking | 00:06 | |
00:06
risou_awy is now known as risou
|
|||
supernovus | sorear: I am discovering this. I managed to bring my machine to a standstill, with 100% CPU usage. I'm going to leave Exemel in an ng-only state for now. :( | 00:08 | |
sorear | supernovus: there's a reason nom still isn't officially released. | ||
supernovus | sorear: I know, I like to play with it anyway, sometimes I can help find bugs :-) | 00:09 | |
00:10
replore joined,
tokuhiro_ left
00:13
supernovus left
|
|||
sorear is trying to figure out how augment will work in niecza/serialize | 00:18 | ||
00:18
mtk left
00:20
araujo joined,
araujo left,
araujo joined
00:22
risou is now known as risou_awy
00:26
mtk joined
|
|||
ingy | TimToady: gist.github.com/1243907 | 00:40 | |
I think that's as good as I've thought of so far. Also reasonably close to your current. | 00:41 | ||
what do you guys use for commit points? | 00:42 | ||
I see <commit> | |||
diakopter | perlcabal.org/syn/S05.html#Backtracking_control | ||
::, ::>, ::: | 00:43 | ||
00:44
uasi left
00:47
whiteknight left
|
|||
ingy | diakopter: It's hard to grok all that on first read but I could prolly just adopt :: for a commit operator | 00:50 | |
soh_cah_toa | ingy: indeed, the synopsis (especially s05) can be quite...overwhelming ;) | 00:52 | |
diakopter | I'm guessing you want <commit> semantics though; the others are for longest-token-matching afaik | ||
ingy | diakopter: yes, likely | 00:54 | |
I could even use do | |||
name: /xyz/ commit <foo> | 00:55 | ||
words outside // or <> mean nothing now | |||
but I like sigils and twigils | 00:56 | ||
zzzzzzz time | 00:57 | ||
01:01
uasi joined
01:14
[particle]1 joined
01:15
[particle] left
01:18
wolfman2000 joined
01:30
jeffreykegler joined
01:38
DarthGandalf left
01:43
DarthGandalf joined
01:49
jeffreykegler left
|
|||
dalek | ecs: 2448d23 | (Geoffrey Broadwell)++ | S06-routines.pod: Delete a phrase in S06:3314-3316 that gave surprising --help semantics; s/argument/option/ in the same sentence so that '--' can be handled properly. |
01:54 | |
02:05
japhb_ left
02:15
benabik joined
02:53
s1n1 joined
03:02
HarryS joined
03:07
woosley joined
03:19
[particle]1 is now known as [particle]
03:39
envi_laptop joined
03:40
bluescreen10 left
03:49
jeffreykegler joined
03:53
jeffreykegler left
03:54
satyavvd joined
04:09
am0c joined
|
|||
moritz is very happy about irclog.perlgeek.de/perl6/2011-09-26#i_4484022 | 04:14 | ||
phenny | moritz: 26 Sep 22:03Z <jnthn> tell moritz nice cleanup job on the tests optimizer disliked :) | ||
moritz: 26 Sep 22:04Z <jnthn> tell moritz S04-exception-handlers/catch.t seems to legitimately fail CHECK still. | |||
04:16
cognominal___ joined,
donri left
04:17
envi_|2 joined,
donri joined
04:18
envi_laptop left
04:19
cognominal_ left
|
|||
dalek | ast: 4082112 | moritz++ | S06-multi/lexical-multis.t: fix lexical-multis.t use eval around failures which can be detected at compile time, and avoid eval_dies_ok due to scoping issues. Also refudge for rakudo. |
04:22 | |
ast: 43ef0a2 | moritz++ | S04-exception-handlers/catch.t: fix catch.t |
04:23 | ||
04:24
abercrombie left
04:27
jaldhar left,
jaldhar joined
04:53
wolfman2000 left
05:03
soh_cah_toa left
05:15
sftp left
05:29
dayangkun joined
05:33
mberends left
05:43
koban` joined
05:53
wtw joined
05:59
kaleem joined
06:06
orafu left,
orafu joined
|
|||
dalek | ecza/serialize: 68c1184 | sorear++ | / (3 files): First p6side changes for type definitions |
06:11 | |
sorear sleep | |||
06:27
cognominal joined
06:30
cognominal___ left
06:33
packetknife joined
|
|||
moritz | nqp: say(pir::const::CONTROL_ERROR) | 06:52 | |
p6eval | nqp: OUTPUT«61» | ||
06:58
wamba joined
07:03
packetknife left
07:09
fridim_ left
07:23
mj41 joined
07:32
envi_|2 left
07:34
envi_laptop joined
07:35
envi_laptop left,
envi_ joined
07:45
envi_ left
07:51
woosley left
08:03
masak joined
|
|||
masak | gmmmrmng, #perl6. | 08:03 | |
moritz | generic greetings, masak | 08:11 | |
masak | rakudo: role Greeting[::T] { say "Good, {T.^name}, moritz" }; class Morning {}; Greeting[Morning].new | 08:13 | |
p6eval | rakudo 3e8911: OUTPUT«Good, Morning, moritz» | ||
masak | ah, comma fail :) | ||
rakudo: role Greeting[::T] { say "Good {T.^name}, moritz" }; class morning {}; Greeting[morning].new | |||
p6eval | rakudo 3e8911: OUTPUT«Good morning, moritz» | ||
masak | that's a generic greeting :P | ||
dalek | kudo/nom: 4b23759 | moritz++ | / (41 files): Merge branch 'nom' into nom-exceptions |
||
kudo/nom: b522144 | moritz++ | src/core/Exception.pm: only unwrap CONTROL_ERROR exceptions |
|||
kudo/nom: 287b0d8 | moritz++ | src/core/ (4 files): Merge branch 'nom-exceptions' into nom |
|||
moritz | jnthn: fwiw the optimizer branch shaves 4s off the mandelbrot benchmark | 08:14 | |
masak | reading the backlog, I see that jnthn seems to imply that he doesn't own no chickens. this surprises me, as I've been to his apartment, and I've never failed to see no chickens while there. | 08:15 | |
08:16
dakkar joined
|
|||
masak | maybe I didn't look hard enough. | 08:16 | |
moritz | rakudo: role Greating[::T] { say "Good T.^name(), masak" }; Greeting[ class morning { }] | ||
p6eval | rakudo 3e8911: OUTPUT«Could not find sub &Greeting in <anon> at /tmp/dnNbmYNvPN:1 in <anon> at /tmp/dnNbmYNvPN:1» | ||
moritz | rakudo: role Greeting[::T] { say "Good T.^name(), masak" }; Greeting[ class morning { }] | ||
p6eval | rakudo 3e8911: ( no output ) | 08:17 | |
moritz | rakudo: role Greeting[::T] { say "Good T.^name(), masak" }; Greeting[ class morning { }].new | ||
p6eval | rakudo 3e8911: OUTPUT«Good T.^name(), masak» | ||
moritz | hm, doesn't start with a sigil | ||
rakudo: role Greeting[::T] { say "Good ::T.^name(), masak" }; Greeting[ class morning { }].new | |||
p6eval | rakudo 3e8911: OUTPUT«Good ::T.^name(), masak» | ||
moritz | not sigilish enough | ||
masak | :: isn't that kind of sigil. | ||
moritz | rakudo: role Greeting[$T] { say "Good $T.^name(), masak" }; Greeting[ class morning { }].new | ||
p6eval | rakudo 3e8911: OUTPUT«Good morning, masak» | ||
masak | rakudo: role R[::T] { say "maybe I don't even need to use .new" }; R[Int] | 08:18 | |
p6eval | rakudo 3e8911: ( no output ) | ||
masak | seems I do. | ||
rakudo: role R[::T] { say "seems I do need to use .new" }; R[Int].new | 08:19 | ||
p6eval | rakudo 3e8911: OUTPUT«seems I do need to use .new» | ||
moritz | evalbot rebuild nom | ||
p6eval | OK (started asynchronously) | ||
08:21
newsbad_com left
08:22
newsbad_com joined
|
|||
masak | nom: sub emph($s is copy, $level) { given $level { when * > 1 { $s .= ucfirst; proceed }; when * > 2 { $s ~= "!"; proceed }; when * > 3 { $s .= uc; proceed }; for 4..$level { $s ~= <1 ! !>.roll(2).join } }; $s }; say "om ", join " ", map { emph "nom", $_ }, 0..10 | 08:26 | |
p6eval | nom 3e8911: OUTPUT«om nom nom Nom Nom! NOM!!! NOM!!!!! NOM!!1!!!! NOM!!!1!!!1! NOM!!!1!!!1!11 NOM!!1!!!!11!1!! NOM!111!1!!!!!1!!!» | ||
masak | don't do this at home. | ||
sbp | cf. thechive.files.wordpress.com/2010/06/54zhb1.gif | 08:27 | |
jnthn | moritz: (4s more off mandelbrot) nice :) | ||
masak | sbp: that is one happy Cookie Monster. | 08:28 | |
jnthn | moritz: So, current time is? | ||
masak | jnthn: 10:27 :P | ||
also, it's Tuesday. | |||
moritz | jnthn: around 46s | ||
(on optimizer) | |||
jnthn | masak: :P | 08:29 | |
nom: say (16 * 60 + 14) / 46 | 08:30 | ||
p6eval | nom 3e8911: OUTPUT«21.1739130434783» | ||
08:43
cognominal_ joined
|
|||
mls_ | morning perl6! | 08:43 | |
oh no, an exception update! I hops it doesn't collide with my code... | |||
masak | mls_: morning! | ||
moritz | mls_: it just does a bit of surface polishing | ||
masak | rakudo: .say for { "bl{$_}p" }, <i u oo> | 08:44 | |
p6eval | rakudo 3e8911: OUTPUT«_block1010iuoo» | ||
masak | rakudo: .say for map { "bl{$_}p" }, <i u oo> | ||
p6eval | rakudo 3e8911: OUTPUT«blipblupbloop» | ||
08:44
daxim joined
|
|||
mls_ | moritz: why do you only unwrap CONTROL_ERROR? | 08:45 | |
moritz | mls_: because I have no bloody idea what to do in other cases | ||
08:46
cognominal left
|
|||
mls_ | I use 'pir::type_check__IPP($payload, Exception)' to check if the payload is an perl6 exception object | 08:46 | |
moritz | ... and because pmichaud complained that I didn't check the type of the parrot exception, so now I do | ||
mls_: feel free to change that to whatever makes sense for you | 08:47 | ||
mls_ | ok, will do ;) | ||
masak | perl6: for "abc", "abd" -> $string { say $string ~~ / 'ab' <commit> 'c' / } | 08:49 | |
p6eval | niecza v10-1-g02435c5: OUTPUT«Unhandled exception: Unable to resolve method commit in class Cursor at /tmp/5HE8AI2H83 line 1 (MAIN C2_ANON @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1567 (CORE Regex.ACCEPTS @ 3)  at /tmp/5HE8AI2H83 line 1 (MAIN C1_ANON @ 1)  at /tmp/5HE8… | ||
..rakudo 3e8911: OUTPUT«Method 'commit' not found for invocant of class 'Cursor' in regex <anon> at /tmp/tglFj8Zghy:1 in method ACCEPTS at src/gen/CORE.setting:6149 in block <anon> at /tmp/tglFj8Zghy:1 in method reify at src/gen/CORE.setting:3730 in method reify at src/gen/CORE.… | |||
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HANDLE>' trapped b… | |||
masak | ok, so no-one implements <commit>. | 08:50 | |
mls_ | moritz: should Exception.throw really modify the Exception object? | 08:54 | |
moritz | mls_: it's probably redundant, now that sub EXCEPTION rebinds the parrot exception anyway | 08:55 | |
08:55
cognominal___ joined
|
|||
mls_ | moritz: I also clone the payload in EXCEPTION so that I don't modify $!ex. | 08:56 | |
moritz | mls_: how do you know deep to clone that? | 08:57 | |
they are going to be non-trivial perl 6 objects | 08:58 | ||
mls_ | I just call .clone on the payload | ||
08:58
cognominal_ left
|
|||
mls_ | I have a bad feeling about modifying the original object. But it's just a feeling, I don't know what's correct or wrong. | 08:58 | |
08:59
mj41 left
|
|||
moritz | I have a bad feeling about uncontrolled cloning of user-supplied objects | 08:59 | |
mls_ | Well, there are some reasons for cloning, and some against it... ;) | ||
09:01
mj41 joined
|
|||
masak | design is hard! :) | 09:01 | |
mls_ | true, true ;) | ||
moritz | what are the most important nom regressions? | 09:02 | |
proto tokens and variable interpolation into regexes come to mind | |||
masak | ISTR there are more things about regexes and grammars that don't work. | 09:03 | |
moritz | action methods are missing | ||
masak tries crypt on nom | |||
mls_ | btw, anything from pmichaud++ about the release? | ||
09:04
wamba left
|
|||
moritz | irclog.perlgeek.de/perl6/2011-09-26#i_4481819 was the last uptime | 09:04 | |
masak | ooh, I get an attribute conflict! | ||
inneresting! | |||
moritz | since he didn't report back since then, I fear we have to assume his mother isn't very well, and the release planning neither :( | 09:05 | |
masak | nod. | 09:06 | |
if we were to release nom around now, what would users gain from that? | |||
moritz | regular releases | 09:07 | |
lots of speedups | |||
masak | leaving aside that they're likely to hit one of our big regressions, I mean. | ||
moritz | a new MOP | ||
Woodi | IO::Socket::INET.recv works :) thank you moritz++ :) | ||
moritz | masak: lots of benefits, see the ChangeLog | ||
nom: say 'aaaa' ~~ m/a+a/ | 09:09 | ||
p6eval | nom 287b0d: OUTPUT«aaaa» | ||
moritz | nom: say 'aaaa' ~~ m:r/a+a/ | ||
p6eval | nom 287b0d: OUTPUT«» | ||
09:09
woosley joined,
jerome_ left
|
|||
masak | moritz: it feels like a en.wikipedia.org/wiki/Sensitivity_a...pecificity thing. release too early, and people will hit too many regressions. release too late, and they'll not get the benefits early enough. | 09:10 | |
moritz | masak: well, we did commit to a regular, time based release cycle | 09:11 | |
masak | aye. | ||
I really like that part. | |||
moritz | masak: the point is that if we have too many regressions now, we know that the next release is only ~3 weeks away | ||
masak | nod. | ||
moritz | masak: if we start to slip all releases (like the last and the current one), we lose that confidence | ||
masak | aye. | 09:12 | |
agreed. | |||
that's a "resource" in itself that we have to safeguard. | |||
slipping time-based releases for feature reasons is possibly bad for internal morale too. | |||
moritz: is there any way I can help? | 09:13 | ||
moritz | masak: yep | ||
masak | \o/ | ||
it's my Perl 6 day today, by the way. | |||
moritz | masak: review the release announcement that I just pushed | ||
masak | okie. | 09:14 | |
I had a minor breakthrough with macros D1 yesterday. | |||
might push something today. | |||
moritz | anybody remember when we branched nom? | ||
masak | February? | 09:15 | |
just do 'git log master..' and you'll know. | |||
or whatever master's called nowadays. | |||
mls_: do you belong to a .pm group? | 09:17 | ||
mls_ | what does that mean? | ||
moritz | mls_: if there's a perl mongers group you attend | 09:18 | |
masak | moritz: "There are also a number of regressions, which we hope to fix in the next release." | ||
this may be true. but it's overpromising. I don't like the phrasing after the comma. | 09:19 | ||
09:19
djanatyn left
|
|||
dalek | kudo/nom: cf31a11 | moritz++ | / (3 files): list of contributors |
09:19 | |
moritz | (we chose release names based on perl mongers groups) | ||
09:19
djanatyn joined
|
|||
moritz | masak: feel free to change to something more conservative | 09:19 | |
masak | ok | ||
moritz | nom: say 'aaaaa' ~~ my token { a+ a} | 09:20 | |
p6eval | nom 287b0d: OUTPUT«aaaaa» | ||
mls_ | moritz: your commit also changed Grammar.pm and Exceptions.pm ;) | ||
09:20
[particle] left
|
|||
moritz | mls_: yep, I didn't mean to | 09:20 | |
that's the danger of commit -am '...' | |||
masak | o.O | 09:21 | |
moritz | I meant to commit them, but separately | ||
masak | that's the danger of doing two changes in your working copy at the same time! | ||
moritz | two? three! | ||
masak | >two | ||
09:22
[particle] joined
|
|||
moritz | anyway, the change to Grammar.pm fixed the meaning of 'token' and 'regex' | 09:22 | |
masak | er >= two | ||
moritz | troo | ||
masak | anyway, moritz++ | 09:23 | |
moritz | in general, I think we're doing release announcements the wrong way | ||
too much boilerplate on the start | |||
we should start by stating the really interesting things | |||
new object model! 15x speed improvements! compact object storage! | 09:24 | ||
masak | moritz: taglines! | 09:26 | |
dalek | kudo/nom: ede97de | masak++ | docs/announce/2011.09: [docs/announce/2011.09] underpromise, overdeliver Rephrasing to be a bit more conservative. |
||
jnthn | Maybe it's worth some wording like "This is the first compiler release from the latest development branch of Rakudo. It brings many exciting improvements, but also some regressions, which we are working on. If your primary interest is that your existing code running on Rakudo Perl continues to work, we suggest sticking with the Rakudo Star distribution release for a little longer. If instead you want to play with the latest in Rakudo development - including meta-pro | 09:27 | |
moritz | jnthn: cut off after meta-pro | ||
masak | +1 | ||
moritz | jnthn: and yes, +1 | ||
jnthn | including meta-programming and performance improvements - try this release." | ||
hmm, maybe wants a clarification that it's a compiler release, not a distro one. | 09:28 | ||
moritz | Please note: This announcement is not for the Rakudo Star distribution -- | ||
it's announcing a new release of the compiler only | |||
we already have that as the second paragraph | |||
masak | oh, true. | 09:29 | |
jnthn | OK, so long as it's in the announcement somewhere | ||
dalek | ast: 1b3d861 | moritz++ | S04-exception-handlers/catch.t: more catch.t hacking |
09:30 | |
09:31
MayDaniel joined
|
|||
moritz | so, who adds jnthn++'s suggestions to the announcement? | 09:32 | |
jnthn | Not jnthn...he's already behind with $dayjob today... | ||
moritz | ok | ||
09:33
replore left
|
|||
jnthn goes to focus on that for a bit | 09:34 | ||
masak | oh for @&#%. | 09:35 | |
I have a bug in crypt-on-nom that disappears when I golf it. | |||
moritz | what do you think of Riga as a release name? | ||
masak | perfect. | 09:36 | |
is it a .pm group? :) | |||
dalek | kudo/nom: 900ccf3 | moritz++ | docs/announce/2011.09: [announce] note that people who are afraid of regressions should use 2011.07 |
||
moritz | masak: nope, but pmichaud++ suggested it anyway | ||
masak | basically anything that honours Andrew Shitov is fine with me ;) | 09:37 | |
09:37
bbkr left
09:38
bbkr joined
|
|||
jnthn | That contributor list is awesome | 09:38 | |
dalek | kudo/nom: 41ecebe | moritz++ | docs/announce/2011.09: [announce] call it Riga |
||
jnthn | (Because of the number of people in it. Not because it has me first. :P) | 09:39 | |
moritz | so, what about NQP? | ||
we tag it so it's easy to refer to that version | 09:40 | ||
jnthn | +1 | ||
moritz | but don't create a separate tarball for it, right? | ||
09:40
MayDaniel left
|
|||
jnthn | moritz: Sounds fine for now. | 09:40 | |
Oh! IN release announce | |||
Don't forget this is the frist release with tadzik++'s POD work in too :) | 09:41 | ||
masak | ooh! | ||
jnthn | That should certainly make the specific improvements list :) | ||
masak | without a doubt. | ||
09:43
jerome_ joined
|
|||
jnthn | Maybe the better BEGIN support deserves a metion too | 09:44 | |
nom: sub foo { say 42 } BEGIN foo(); jdja omg !!! syntax fail | |||
p6eval | nom 287b0d: OUTPUT«===SORRY!===Confused at line 1, near "sub foo { "» | ||
jnthn | nom: sub foo { say 42 }; BEGIN foo(); jdja omg !!! syntax fail | ||
p6eval | nom 287b0d: OUTPUT«42Stub code executed in sub die at src/gen/CORE.setting:413 in <anon> at /tmp/1qGsFt0irx:1 in <anon> at /tmp/1qGsFt0irx:1» | ||
jnthn | oh dammit, I failed at making a syntax error :) | ||
masak | :P | ||
jnthn | nom: sub foo { say 42 }; BEGIN foo(); 1 2 | 09:45 | |
p6eval | nom 287b0d: OUTPUT«42===SORRY!===Confused at line 1, near "1 2"» | ||
moritz | jnthn: 1 1 # fine syntax error | ||
jnthn | Taht's the one | ||
dalek | kudo/nom: 97b518c | moritz++ | tools/build/NQP_REVISION: bump NQP_REVISION to 2011.09 tag |
09:59 | |
kudo/nom: 43be162 | moritz++ | docs/announce/2011.09: [announce] mention Pod and BEGIN |
10:01 | ||
moritz | I'm now running a test on a test release, but even if it succeeds I'll wait a bit longer with the release | 10:06 | |
masak | oki. | 10:08 | |
aaah. I love to chase bugs that don't golf easily. :) | |||
now down to one screenful. | 10:09 | ||
ok, here we go. | 10:15 | ||
nom: my $x; role A { has $!foo }; role B does A {}; role C does A {}; class D does B does C {} | |||
p6eval | nom 41eceb: ( no output ) | ||
masak | nom: my $x; role A { has $!foo = $x }; role B does A {}; role C does A {}; class D does B does C {} | ||
p6eval | nom 41eceb: OUTPUT«===SORRY!===Attribute '$!foo' conflicts in role composition» | ||
masak | b: my $x; role A { has $!foo = $x }; role B does A {}; role C does A {}; class D does B does C {} | 10:16 | |
p6eval | b 1b7dd1: ( no output ) | ||
masak | nom: my $x; role A { has $!foo }; role B does A {}; role C does A {}; class D does B does C {}; say "alive" | ||
p6eval | nom 41eceb: OUTPUT«alive» | ||
masak | b: my $x; role A { has $!foo = $x }; role B does A {}; role C does A {}; class D does B does C {}; say "alive" | ||
p6eval | b 1b7dd1: OUTPUT«alive» | ||
masak submits rakudobug | |||
note, that external reference to $x is *necessary* to trigger the role composition error. | |||
jnthn | Ah, that kinda follows. | 10:17 | |
masak | it does? | ||
I'm glad it's obvious to one of us :P | 10:18 | ||
jnthn | masak: Attributes that have defaults always get their meta-objects generically instantiated. | ||
masak: Because the default may refer to role arguments. | 10:19 | ||
masak | oh! | ||
jnthn | masak: I suspect we're doing an identity check in the role composer. | ||
masak | nom: my $x; role A { has $!foo = 42 }; role B does A {}; role C does A {}; class D does B does C {}; say "alive" | ||
p6eval | nom 41eceb: OUTPUT«===SORRY!===Attribute '$!foo' conflicts in role composition» | ||
jnthn | masak: And instead it wants to check name + declaring package. | ||
masak | ok, so this is a bug? phew! | 10:20 | |
jnthn | Yeah, it should be fixed. | ||
masak beams | |||
jnthn | Just thought an explanation of why the default value matters might be interesting. ;) | ||
masak | was a long time I found a bug as juicy as this :) | ||
10:20
dayangkun left
|
|||
jnthn | It's subtle, yes. | 10:21 | |
masak | crypt++ | ||
again, Real Applications take first prize. | |||
moritz | masak: you mean, $n+1st prize, after the test suite collected ^$n :-) | 10:22 | |
masak | oh, I didn't intend to put the test suite down :) | 10:24 | |
I was talking about discovering new, unknown bugs. | |||
10:26
donri left
10:40
connect joined
|
|||
connect | Hi ~monks | 10:41 | |
I have a problem | |||
compile nqp branch kill-useless-defaults just got version 2011.06-227 | |||
I compile nqp master failed! | |||
any suggestion? | 10:42 | ||
10:43
donri joined
|
|||
gfldex | what's the error message? | 10:45 | |
connect | called from Sub '_block1000' pc 196 (src/stage0/NQP-s0.pir:102) (src\stage2\gen\NQP.pm:1) make: *** [src/stage1/ModuleLoader.pbc] Error 1 | 10:46 | |
called from Sub '_block1000' pc 196 (src/stage0/NQP-s0.pir:102) (src\stage2\gen\NQP.pm:1) make: *** [src/stage1/nqpmo.pbc] Error 1 | 10:47 | ||
10:50
donri left
|
|||
connect | get_pointer() not implemented in class 'GLOBALish' | 10:51 | |
10:51
tzhs joined
10:54
connect left
10:56
envi_ joined
10:59
envi_|2 joined
11:02
envi_|2 left,
envi_|2 joined
11:03
envi_ left
11:04
replore joined
11:05
benabik left
11:06
wtw_ joined
|
|||
moritz didn't understand which branch failed, and which worked | 11:13 | ||
11:15
donri joined,
donri left,
donri joined
|
|||
moritz | no patience, the young ones | 11:17 | |
dalek | ecza: feda112 | Coke++ | t/spectest.data: Run fudged spectests. |
11:18 | |
masak | it's almost a tautology: those who won't become regulars on the channel often leave too early. | 11:19 | |
[Coke] | and noooow I notice those aren't in alpha order. *sigh* | ||
11:22
envi_|2 left
|
|||
masak | heh. spikedmath.com/445.html | 11:25 | |
jnthn | masak: :D | 11:29 | |
moritz | [Coke]: I might have broken alpha order with the Big Spectest Rename last week | 11:36 | |
11:36
Patterner left
|
|||
moritz | "a neutrino" -- "who's there?" -- "knock, knock" | 11:36 | |
11:36
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
masak | moritz: only in badly done research, apparenly. | 11:39 | |
snarkyboojum | heh | ||
moritz | masak: I seem to have missed something... got an update for me? | ||
11:41
benabik joined
11:44
mtk left,
envi_ joined
11:46
Mowah_ joined,
satyavvd left
11:49
mtk joined
|
|||
masak | moritz: no, not really. | 11:54 | |
all I know I've read here on #perl6. | |||
about neutrinos, that is. ;) | |||
gfldex | you dont have to worry about neutrinos. They don't really do anything. | ||
yath is waiting for a neutrino branch | |||
then you can claim it's faster than c! | |||
masak groans | 11:56 | ||
pmichaud | good morning, #perl6 | ||
11:56
alim joined
|
|||
snarkyboojum | good evening! | 11:56 | |
moritz | good am, pm | 11:57 | |
benabik | o/ pmichaud! | ||
masak | pmichaud! \o/ | ||
moritz | pmichaud: I've done some release preparations, but nothing is set in stone yet | ||
pmichaud | moritz: I saw the preps, thanks! (more) | 11:58 | |
tadzik | hello | ||
pmichaud | it's a little soon to be certain, but it's looking like I might actually have tuits this morning. | ||
(still have to get the kids off to school) | |||
benabik | Huh. Round Tuits are only $15 for a 50 pack (according to El Goog) | 11:59 | |
tadzik | pod is now parsed, and can be attached to objects and printed with --pod | ||
it's --doc | |||
tadzik fixes | |||
11:59
woosley left
|
|||
moritz | benabik: and now search for QRegex-shaped tuits :-) | 11:59 | |
tadzik | I'll expand the subject a bit too, I hope you don't mind | 12:00 | |
moritz | tadzik: please do | 12:01 | |
benabik | moritz: QRegex can't match 'Round'? ;-) | ||
moritz | benabik: not with ltm, and not with proto tokens | ||
jnthn | o/ pmichaud | 12:02 | |
dalek | kudo/nom: cec5770 | tadzik++ | docs/announce/2011.09: [announce] Expand some Pod news |
12:05 | |
snarkyboojum | jnthn: btw, I also have a version of my grammar with causes rakudo to core dump on os x :) | 12:07 | |
jnthn | snarkyboojum: On nom? | 12:08 | |
snarkyboojum | jnthn: which I'll also have to gist at some point (yeah, on nom) | ||
I write *really* crappy grammars :D | |||
moritz didn't know that mac os x did core dumps :-) | |||
jnthn | OK, great. I'll wait until pmichaud++ has done various grammar/regex bits first, in case they make it go away :) | ||
snarkyboojum | jnthn: yeah - thought the same :) | ||
jnthn | But otherwise, it's good to hunt down the segfaults. | 12:09 | |
snarkyboojum | moritz: hey, it's a Unix (™) ! :P | ||
moritz | snarkyboojum: yes, but it has a very funny hat on :-) | ||
benabik | No, it's a BSD. :-D | ||
snarkyboojum | moritz: true.. a beret or something :P | 12:10 | |
moritz speculates that it could be an infite recursion + inferior run loop | |||
benabik | moritz: It generally doesn't, as it tries to write them to /cores, which doesn't exist by default. | ||
benabik learned way too much about OS X core dumps and dynamic linking this week. | |||
snarkyboojum | benabik: I don't remember creating /cores, but perhaps I did at some point :) | ||
moritz | unrelated but funny: if you start mplayer with -dumpstream, it writes "core dumped :-)" when it's done | 12:12 | |
12:15
lateau_ joined
|
|||
[Coke] checks backscroll and sees that neutrinos are like platypuses. | 12:15 | ||
moritz: ;) | 12:16 | ||
moritz | :-) | 12:17 | |
dalek | kudo/nom: f83304d | moritz++ | docs/release_guide.pod: [docs] markup fix |
12:19 | |
12:28
furura left
|
|||
[Coke] | hurm. I probably should have started out on niecza running the existing list of spec tests. | 12:30 | |
tadzik rages on twitter and advertises Non-blocking IO in Rakudo | 12:32 | ||
masak | rakudo: sub cutpoint($a, $b) { return $_ if defined $b.index($a.substr($_, 1)) for ^$a.chars }; sub hybrid($a, $b) { die "No cutpoint" unless defined(my $cutpoint = cutpoint($a, $b)); my $cutchar = $a.substr($cutpoint, 1); $a.substr(0, $cutpoint) ~ $b.substr(index($b, $cutchar)) }; say hybrid "spoon", "fork | ||
p6eval | rakudo 43be16: OUTPUT«===SORRY!===Confused at line 1, near "say hybrid"» | ||
masak | rakudo: sub cutpoint($a, $b) { return $_ if defined $b.index($a.substr($_, 1)) for ^$a.chars }; sub hybrid($a, $b) { die "No cutpoint" unless defined(my $cutpoint = cutpoint($a, $b)); my $cutchar = $a.substr($cutpoint, 1); $a.substr(0, $cutpoint) ~ $b.substr(index($b, $cutchar)) }; say hybrid "spoon", "fork" | ||
p6eval | rakudo 43be16: OUTPUT«spork» | ||
masak | \o/ | ||
12:33
masonkramer joined
|
|||
masak | rakudo: sub cutpoint($a, $b) { return $_ if defined $b.index($a.substr($_, 1)) for ^$a.chars }; sub hybrid($a, $b) { die "No cutpoint" unless defined(my $cutpoint = cutpoint($a, $b)); my $cutchar = $a.substr($cutpoint, 1); $a.substr(0, $cutpoint) ~ $b.substr(index($b, $cutchar)) }; say hybrid "fork", "knife"; say hybrid "knife", "fork" | 12:34 | |
p6eval | rakudo 43be16: OUTPUT«fek» | ||
masak | fek :( | ||
[Coke] | t/spec/S05-metasyntax/repeat.t has old syntax. | ||
masak | indeed. | 12:35 | |
[Coke] wonders why "make spectest" in niecza, which uses prove, doesn't seem to respect his TEST_JOBS setting. | 12:37 | ||
jnthn | rakudo: sub cutpoint($a, $b) { return $_ if defined $b.index($a.substr($_, 1)) for ^$a.chars }; sub hybrid($a, $b) { die "No cutpoint" unless defined(my $cutpoint = cutpoint($a, $b)); my $cutchar = $a.substr($cutpoint, 1); $a.substr(0, $cutpoint) ~ $b.substr(index($b, $cutchar)) }; say hybrid "perl", "python"; | 12:38 | |
p6eval | rakudo 43be16: OUTPUT«python» | ||
jnthn | ...not very hybrid. | ||
rakudo: sub cutpoint($a, $b) { return $_ if defined $b.index($a.substr($_, 1)) for ^$a.chars }; sub hybrid($a, $b) { die "No cutpoint" unless defined(my $cutpoint = cutpoint($a, $b)); my $cutchar = $a.substr($cutpoint, 1); $a.substr(0, $cutpoint) ~ $b.substr(index($b, $cutchar)) }; say hybrid "beer", "elephant"; | |||
p6eval | rakudo 43be16: OUTPUT«belephant» | ||
12:38
colomon left
|
|||
snarkyboojum | say hybrid "perl", "python" should output "parrot" right? | 12:39 | |
jnthn | rakudo: sub cutpoint($a, $b) { return $_ if defined $b.index($a.substr($_, 1)) for ^$a.chars }; sub hybrid($a, $b) { die "No cutpoint" unless defined(my $cutpoint = cutpoint($a, $b)); my $cutchar = $a.substr($cutpoint, 1); $a.substr(0, $cutpoint) ~ $b.substr(index($b, $cutchar)) }; say hybrid "masak", "sandwich"; | ||
p6eval | rakudo 43be16: OUTPUT«mandwich» | ||
snarkyboojum | heh | 12:40 | |
jnthn | rakudo: sub cutpoint($a, $b) { return $_ if defined $b.index($a.substr($_, 1)) for ^$a.chars }; sub hybrid($a, $b) { die "No cutpoint" unless defined(my $cutpoint = cutpoint($a, $b)); my $cutchar = $a.substr($cutpoint, 1); $a.substr(0, $cutpoint) ~ $b.substr(index($b, $cutchar)) }; say hybrid "masak", "sakist"; | ||
p6eval | rakudo 43be16: OUTPUT«makist» | ||
jnthn | oh...hm | ||
tadzik | jnthn: at what state is NCI in nom? | ||
jnthn | tadzik: Not so far...I started working on the native call abstraction layer stuff in nqp | 12:41 | |
12:41
drbean joined
|
|||
tadzik | I'm now talking to sri about Mojolicious and async IO in Rakudo, and turns out he prefers poll() to select(), I'm wondering if that could be implemented using NCI in Pure Perl 6 rather than pushing a new PMC to Parrot | 12:42 | |
masak | tadzik++ | 12:43 | |
tadzik | masak: that required me to open a twitter account :) | ||
_sri | tadzik: actually i prefer epoll/kqueue if available :) | ||
masak | having a Mojoli6ious would be great. | ||
tadzik | _sri: neither of those ring a bell to me, but neither did poll() until 5 minutes ago | ||
_sri | these days we even use libev in mojolicious to get the most scalable backend on all platforms | 12:44 | |
tadzik | _sri: I'm not really fluent in this non-blocking IO stuff, I'm just trying to address what users need | ||
PerlJam | greets | 12:45 | |
flussence | epoll, afaik, is a linux-specific less-sucky alternative to select() | ||
PerlJam | tadzik: you should talk to LeoNerd on #perl ... He's very knowledgable about async (He wrote p5's IO::Async too) | 12:47 | |
benabik | And once Rakudo has a good solution, we'll steal^Wborrow what we can in Parrot. :-D | 12:48 | |
PerlJam | (I've tried to get him involved in parrot/perl6 but he's never "connected" with anyone else that I'm aware of) | ||
snarkyboojum | epoll is a variant of poll | ||
_sri | and kqueue is the bsd/osx version of epoll | 12:49 | |
snarkyboojum | right on | ||
benabik | What's the difference between select and poll? Seem to do the same thing just with different arguments. | ||
_sri | they scale better because only active handles are passed around | ||
masak | we do need async people here. | 12:50 | |
_sri | select and poll tend to be the same thing these days, select is often a wrapper around poll | ||
on osx poll is even a wrapper around kqueue :) | |||
snarkyboojum | masak: "async people" has several interesting interpretations :D | 12:52 | |
_sri | portability is a huge problem though, APIs tend to break a lot, that's why libev got extremely popular recently | 12:53 | |
snarkyboojum | _sri++ and tadzik++ for looking into it ;) | 12:57 | |
12:58
drbean left
12:59
drbean joined
13:02
mj41 left
|
|||
cognominal___ | tadzik, you could use as a model recent work on nodejs that is designed to work both on windows and unix. ryan dahl logs his progress on his libuv (github.com/joyent/libuv) effort on blog.nodejs.org/ | 13:06 | |
13:07
cognominal___ is now known as cognominal
|
|||
[Coke] | phenny, seen sorear? | 13:08 | |
phenny: seen sorear? | |||
masak | seen sorear | 13:09 | |
seen sorear? | |||
13:09
Holy_Cow joined
|
|||
flussence | seen aloha | 13:09 | |
13:09
Holy_Cow left
|
|||
flussence | :( | 13:09 | |
moritz | aloha was last seen in the logs. | 13:10 | |
[Coke] finds several niecza exceptions in spectests about walking off the end of an array. smells like a null pmc error. ;) | |||
masak | [Coke]: sorear was last seen at 06:11 UTC, saying "sleep" | ||
[Coke] | aloha was run by bacek, who is no longer about, but aloha source is checked into github somewhere. | ||
moritz | niecza: " | 13:11 | |
p6eval | niecza v10-2-gfeda112: OUTPUT«Unhandled exception: System.IndexOutOfRangeException: Array index is out of range. at Lexer.Run (System.String from, Int32 pos) [0x00000] in <filename unknown>:0  at Lexer.RunDispatch (Niecza.Frame fromf, Niecza.P6any cursor) [0x00000] in <filename unkn… | ||
moritz | [Coke]: this one? :-) | ||
[Coke] | Something like that, yes. ;) | 13:13 | |
anyone counted nom's spectest run recently? | |||
benabik | Huh. aloha's still alive over in #parrot. :-/ | 13:14 | |
_sri | tadzik: what cognominal said, libuv has it all | ||
13:16
mj41 joined
13:19
uasi left
|
|||
[Coke] suspects an old TAP::Harness on his prove issue. | 13:19 | ||
All tests successful. | 13:20 | ||
Files=167, Tests=4121, 841 wallclock secs ( 1.29 usr 0.89 sys + 713.02 cusr 29.92 csys = 745.12 CPU) | |||
(niecza) | |||
dalek | ast: af38363 | Coke++ | S0 (7 files): niecza fudging |
13:21 | |
ecza: 89960a0 | Coke++ | t/spectest.data: alpha sort test listing. |
13:22 | ||
ecza: a4064ae | Coke++ | t/run_spectests: Allow for commented out tests in t/spectest.data |
|||
ecza: a8e6d5e | Coke++ | t/spectest.data: Track failure modes. |
|||
13:22
Trashlord left
|
|||
masak | [Coke]++ | 13:23 | |
[Coke] | karma coke? | 13:24 | |
masak | ENOALOHA | 13:25 | |
flussence | Inf.pick | ||
felher | /go laber | ||
13:29
im2ee joined
|
|||
masak | im2ee! \o/ | 13:29 | |
im2ee | Hello! :) | 13:30 | |
13:32
drbean left
|
|||
im2ee | \o/ :) | 13:32 | |
masak | nqp: sub foo() { if 42 { return 1 }; return 2 }; say(foo()) | 13:33 | |
p6eval | nqp: OUTPUT«1» | ||
masak | oh, good. | ||
benabik | masak: You expected something different? | 13:34 | |
masak | not really. just exclusing unpleasant suspicions ;) | 13:35 | |
nqp: sub foo() { if 42 { return }; return 2 }; say(foo()) | 13:36 | ||
p6eval | nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'nqp;Regex;Cursor;FAILGOAL' pc 3863 (src/Regex/Cursor.pir:244)» | ||
masak | nqp: sub foo() { if 42 { return; }; return 2 }; say(foo()) | ||
p6eval | nqp: OUTPUT«2» | ||
masak | o.O | ||
a-HA! | |||
benabik | ...? | ||
masak | I'd call that a bug. | 13:37 | |
13:37
bbkr_ joined
|
|||
masak peruses the nqr tests | 13:37 | ||
nqp* | |||
jnthn | masak: Looks like. Patches welcome. | ||
benabik | If it makes you feel better (it probably shouldn't), nqp-rx appears to have the same behavior. | 13:38 | |
masak | jnthn: will do ;) | ||
jnthn | nqp: sub foo() { return; say 42 }; foo() | ||
p6eval | nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'nqp;Regex;Cursor;FAILGOAL' pc 3863 (src/Regex/Cursor.pir:244)» | ||
jnthn | nqp: sub foo() { return; say(42) }; foo() | 13:39 | |
p6eval | nqp: OUTPUT«42» | ||
jnthn | heh | ||
:) | |||
benabik | return doesn't? | ||
jnthn | Looks like argless return is fail. | ||
nqp: sub foo() { return 1; say(42) }; foo() | |||
p6eval | nqp: ( no output ) | ||
benabik | In nqp-rx it appears to be a PAST::Var node. | ||
jnthn | nqp: sub foo() { return (); say(42) }; foo() | ||
p6eval | nqp: ( no output ) | ||
benabik | Parse fail? | ||
jnthn | where? | 13:40 | |
oh, the return; | |||
dunno | |||
maybe | |||
13:40
bluescreen10 joined
|
|||
masak | nqp: sub foo() { return(); say(42) }; foo() | 13:40 | |
p6eval | nqp: OUTPUT«Could not find sub returncurrent instr.: 'foo' pc 254 ((file unknown):110) (/tmp/eyLdJmVNk5:1)» | ||
13:40
BLZbubba joined
|
|||
jnthn | Yeah, return isn't a sub in nqp | 13:40 | |
It's more primitive than that. | |||
Otherwise we could never write return 42 | 13:41 | ||
benabik | Parsed as part of EXPR? | ||
jnthn | Since we don't have list ops | ||
benabik | Yes. return; parsed as EXPR('return'), return 42; as EXPR(OPER('return', 42)) | 13:42 | |
masak | I'm compiling nqp to run the test suite. after that, writing a failing test. | ||
after that, trying to make a patch. :) | |||
benabik | I don't think EXPR handles nullary ops. | ||
masak | nqp: sub foo() {}; say foo() | 13:44 | |
p6eval | nqp: OUTPUT«Confused at line 1, near "say foo()"current instr.: 'nqp;HLL;Grammar;panic' pc 23698 (src/stage2/gen/NQPHLL.pir:6757) (src/stage2/gen/NQPHLL.pm:329)» | ||
masak | nqp: sub foo() {}; say(foo()) | 13:45 | |
p6eval | nqp: OUTPUT«foo» | ||
masak | hm. | ||
jnthn | nqp: sub foo() {1}; say(foo()) | ||
p6eval | nqp: OUTPUT«1» | ||
jnthn | curious | ||
beats a NPMCA :P | |||
masak | indeed :) | ||
im2ee | What is nqp? :) | 13:46 | |
PerlJam | im2ee: nqp == not quite perl | ||
masak | im2ee: it's a smaller programming language used to build Rakudo. | ||
PerlJam | im2ee: theoretically it's a subset of Perl 6. | 13:47 | |
masak | if you squint. | ||
benabik | crosseyed | ||
jnthn | It's more of a subset than nqp-rx was | ||
But yeah, there's leaks. | 13:48 | ||
benabik | True. NQP probably just requires squinting. -rx needed the cross-eyes too. | ||
im2ee | Thanks. :) | ||
jnthn | I suspect a bunch of leaks get plugged as we do other backends though. | ||
13:49
itz joined
13:53
sergot joined
13:54
sergot left
|
|||
masak | a few failing tests in nqp, in t/qregex/01-qregex.t | 13:55 | |
oh :) | |||
13:55
zenog joined
|
|||
zenog | hi | 13:56 | |
masak | zenog: hi! | ||
zenog | Is there a way to load arbitrary CLR .dll files with niecza? | 13:58 | |
The examples in examples/ all load things that are in the GAC (I think) | |||
benabik | There was an example of using GTK+ in niecza not that long ago... | 14:00 | |
gist.github.com/1235342 | |||
zenog | benabik: Yes, this uses a DLL that is registered in the GAC. | ||
benabik | zenog: Ah, sorry. | 14:01 | |
zenog | benabik: No need to say sorry! | 14:02 | |
benabik | Presumably you could access the .NET functions that would let you do it in some similar way. | ||
zenog | I just heard the awesome news that one can now work with CLR objects ;-) | ||
... and I wanted to try it out. | |||
14:06
Trashlord joined
|
|||
masak | nqp: return; say(42) | 14:08 | |
p6eval | nqp: OUTPUT«42» | ||
14:08
koban` left
|
|||
masak | what I don't understand is this. 'return' is a prefix op. | 14:08 | |
why isn't that a syntax error? | 14:09 | ||
sorear | [Coke]: I seem to have a bit of a problem with alternately committing spectest.data in LANG=C and LANG=en_US alpha order... you breaking it is not a big deal. | 14:10 | |
masak | pmichaud, jnthn, moritz: if you're backlogging over this, I'd be happy to talk about the above question. | 14:12 | |
sorear | masak: maybe it's fallbacking to get_global "return" | ||
nqp: doesnotexist; say(42) | 14:13 | ||
p6eval | nqp: OUTPUT«42» | ||
masak | oh! | ||
sorear++ | |||
sorear | zenog: CLR:: syntax just passes the string to Type.GetType after replacing :: with . | 14:14 | |
flussence found a very interesting error message just now - "Caught exception of unknown type -- this probably should not happen" | |||
sorear | zenog: it can find non-GAC assemblies, if they are located in AppDomain.CurrentDomain.BaseDirectory ($NIECZA_ROOT/obj) | 14:15 | |
masak & | |||
zenog | sorear: OK, I'll try that. | ||
sorear | zenog: otherwise you'll probably need to use CLR::System::Reflection::Assembly.LoadFrom($path) | ||
flussence | rakudo: module A { }; A.new(); | 14:16 | |
p6eval | rakudo f83304: OUTPUT«Caught exception of unknown type -- this probably should not happenNull PMC access in elements() in method bless at src/gen/CORE.setting:526 in method new at src/gen/CORE.setting:513 in <anon> at /tmp/LbCtoYrP3l:1 in <anon> at /tmp/LbCtoYrP3l:1»… | ||
14:17
_twitch joined
14:19
wtw_ left
14:20
wtw left
14:24
mike joined,
mike is now known as Guest84124
14:26
Guest84124 left
14:33
tyatpi joined
|
|||
pmichaud | back again | 14:33 | |
and look! qregex-shaped tuits! | |||
pmichaud hacks. | |||
14:34
am0c left
|
|||
jnthn | \o/ | 14:35 | |
14:36
sftp joined,
plobsing left
|
|||
zenog | So, I can load the assembly: CLR::System::Reflection::Assembly.LoadFrom($dll_path); | 14:37 | |
14:38
plobsing joined
14:39
alim left
|
|||
benabik | Regex shaped tuits? .oO( /tuit/ /tuit/ /tuit/ ) | 14:44 | |
sorear | \o/ pmichaud | ||
14:45
thou joined
|
|||
cognominal | better than shaped as peg ex-tuits. | 14:45 | |
14:45
burning_aces joined
14:48
risou_awy is now known as risou,
_twitch left
|
|||
zenog | sorear: I can call Class.new in the REPL, but not when I run the complete script. Any idea what I am doing wrong? | 14:55 | |
sorear | zenog: My first guess would be that you aren't obtaining the class in exactly the same way | 14:58 | |
zenog | sorear: The difference is: "mono Niecza.exe script.p6" vs. "mono Niecza.exe < script.p6" | 15:05 | |
benabik | Probably the REPL loads something that niecza normally doesn't. | 15:06 | |
sorear | care to share script.p6? | ||
15:07
tokuhiro_ joined,
uasi joined
|
|||
zenog | sorear, benabik: gist.github.com/1245315 | 15:10 | |
benabik has no idea past "REPL doing some kind of setup". | 15:11 | ||
sorear | REPL runs lines in the order you type them | ||
but in a file, constants are initialized *before* running any other code | 15:12 | ||
zenog | sorear: So I should not use constants, right? | ||
sorear | that, or put the LoadFrom call in a BEGIN block | 15:13 | |
although come to think of it constants might prove to be a problem in the long run | 15:14 | ||
15:15
burning_aces left
15:16
replore left
15:17
uasi left
|
|||
[Coke] | pmichaud++ o/ | 15:18 | |
sorear: patches today hokay? | |||
moritz | pmichaud: fwiw I already gave nqp the 2011.09 tag | ||
pmichaud: feel free to delete it and later re-apply it | |||
pmichaud | moritz: no problem. | 15:19 | |
15:19
_twitch joined
15:20
_twitch is now known as Guest46970
|
|||
sorear leaves. | 15:23 | ||
zenog | hm. Next problem: I get an exception that a type could not be loaded: gist.github.com/1245315 | ||
sorear: bye, thanks so far! | |||
15:24
Guest46970 is now known as burning_aces,
tokuhiro_ left
|
|||
zenog | here is the stack trace: gist.github.com/1245362 | 15:24 | |
flussence | niecza: module A { }; A.new(); # just curious to see if it does something like rakudo... | 15:25 | |
p6eval | niecza v10-5-ga8e6d5e: OUTPUT«Unhandled exception: Unable to resolve method new in class A at /tmp/INH2oSZgkQ line 1 (MAIN mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 2115 (CORE C1022_ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 2116 (CORE module-CORE @ … | ||
15:25
hugme joined
|
|||
moritz | it even calls it "class A" | 15:25 | |
flussence | that error makes a bit more sense... | ||
15:25
ChanServ sets mode: +v hugme
15:27
daxim left
|
|||
[Coke] | sorear: gist.github.com/1245372 - can I apply that? | 15:27 | |
jnthn | I need to look into the nom one | ||
I *expected* it to say "you can't instantiate this" or some such. | 15:28 | ||
[Coke] | phenny: ask sorear if gist.github.com/1245372 - can I apply that? | ||
phenny | [Coke]: I'll pass that on when sorear is around. | ||
15:28
bluescreen10 left
|
|||
[Coke] | argh. | 15:28 | |
15:33
tzhs left
15:37
burning_aces left
15:39
bluescreen10 joined,
burning_aces joined
15:41
alim joined
|
|||
pmichaud | gist.github.com/1245430 # qregex now has action methods (locally) | 15:45 | |
PerlJam | pmichaud! greetings :) | 15:47 | |
pmichaud: how goes things? | 15:48 | ||
[Coke] | niecza doesn't seem to like DOES. | ||
jnthn | pmichaud: yay! :) | ||
masak | pmichaud: woot! | 15:49 | |
15:49
Trashlord left
15:55
burning_aces left
16:09
kaleem left,
kaleem joined,
simcop2387 left
|
|||
pmichaud | PerlJam: it's been a really rough few weeks here :-/ | 16:10 | |
TimToady | .oO(Back To School Night!) |
16:11 | |
16:12
simcop2387 joined
|
|||
pmichaud | should I delete the 2011.09 tag on nqp, or shall we just make a 2011.09.1 tag on it when we're ready to cut the Rakudo release? | 16:17 | |
dalek | p: bd69bd1 | pmichaud++ | src/PAST/SixModelPASTExtensions.pir: Merge branch 'master' of github.com:perl6/nqp |
||
p: 99933fc | pmichaud++ | src/NQPQ/Actions.pm: Add 'self' register to regexes created via regex|token|rule . |
|||
p: fbfccdf | pmichaud++ | src/NQPQ/Actions.pm: Make sure that regex/token/rule set 'self' (both register and lexical). |
|||
p: e839242 | pmichaud++ | src/QRegex/Cursor.nqp: Add first version of NQPCursor.parse() method. |
|||
p: dfef2ef | pmichaud++ | src/Q (3 files): Add support for QRegex action methods. |
|||
16:17
kaleem left
|
|||
masak | pmichaud: 2011.09.1 or equiv, methinks. | 16:17 | |
deleting tags sounds wrong on principle. | |||
pmichaud | wfm | 16:18 | |
masak | even if there are no known downstream dependencies. | ||
pmichaud | I agree in principle. :) | ||
16:20
icwiener joined,
icwiener left,
icwiener joined
16:21
yves_ left
|
|||
PerlJam | deleting a tag no one has really used doesn't sound too bad. | 16:22 | |
16:22
tyatpi left
|
|||
pmichaud | it might be worthwhile to go ahead and test/prove that we can handle .1 designations, though. | 16:24 | |
especially since mistakes now are a bit more tolerable than they may be later. | |||
16:26
yves_ joined
|
|||
sjohnson | man PHP sucks | 16:26 | |
masak hugs sjohnson | |||
sjohnson hugs masak back | |||
masak | sjohnson: programming languages are just tools. use them as well as possible. avoide the bad parts. | ||
sjohnson | unfortunately we chose to use PHP about 10 years ago at work for the website | 16:27 | |
benabik | PHP's a tool. ;-) | ||
sjohnson | now we're stuck with it | ||
masak | remember what kind of workmen it is who blame their tools. | ||
sjohnson | *sad face* | ||
pmichaud | some languages are full of bad parts, though :) | ||
TimToady | 90% of tools are crud. | ||
masak | 90% of webapps are CRUD. :P | ||
16:27
zby_home joined
|
|||
benabik | masak: Wouldn't that be nice. | 16:28 | |
sjohnson | well if i needed a hammer and all i could find near me was a rubber mallet... i'd still think the mallet wasn't very good at pounding nails | ||
masak | heh. | ||
TimToady | 90% of workmen who blame their tools are Absolutely Correct. :) | ||
sjohnson | right now, Perl is not available. *sniff* | ||
masak | progress depends upon the workmen who blame their tools. | ||
benabik | sjohnson: But you might be able to get the job done with the mallet. | ||
sjohnson | in today's modern world, we need to stop repressing ourselves, and let our our PHP rage :) | 16:29 | |
masak | or just let PHP out... | ||
16:30
MayDaniel joined,
MayDaniel left,
MayDaniel joined
|
|||
TimToady | someone just needs to write a refactoring PHP-to-Perl-6 translator... | 16:30 | |
16:30
mj41 left
|
|||
sjohnson | if it was just a simple script sure... but we're talking about PHP system that's evolved at work that could take 6 years to replace. so i probably just need to stop complaining and use preg_match | 16:30 | |
mux | e dislikes those "every language is a tool..." sayings | 16:31 | |
they avoid legitimate discussions about some language | |||
some tools are plain broken too. | 16:32 | ||
TimToady | maybe masak prefers to err on the side of being correct. :) | ||
masak | mux: most discussions and comparisons about languages are made with such a narrow perspective that I don't feel they're worth my time reading. | 16:33 | |
mux | masak: that I agree with | ||
PerlJam | masak: progress depends on workmen who blame their tools for things that really and truly are the tools' fault ;) | ||
masak | legitimate discussions are few and far between. | ||
TimToady | by that definition, PHP wasn't progress :) | ||
masak | one nice trend I remember from a few years back was "please name five things you *don't* like about your favorite language" | 16:34 | |
PerlJam | I think PHP was originally a misunderstanding. | ||
masak | PerlJam: seems so to me too. | ||
someone who didn't understand the flexibility of Perl decided to create a templating language. | |||
jnthn | PHP must have got *something* right to have got as widely adopted as it has. | ||
mux | PHP is the only language I just sincerely cannot think of any good reason to use | ||
masak | jnthn: deployment. | 16:35 | |
mux | jnthn: that's completely bullshit | ||
jnthn | masak: Right. | ||
PerlJam | jnthn: mod_php + apache was *so* right | ||
sjohnson | PHP: Now you're playing with Power. | ||
PerlJam | mux: COBOL? | ||
jnthn | mux: The "right thing" doesn't have to be anything to do with the language. :) | ||
masak | mux: I can think of two good reasons. Wikipedia, and Wordpress. | ||
16:35
kaleem joined
|
|||
mux | PerlJam: it used to serve a purposed and filled a niche when there wasn't anything else at the time | 16:35 | |
masak | hm, MediaWiki, I should say. | ||
sjohnson | i think PHP was popular cause it's WAY easier to get it working on Ubuntu with apache2 out of the box than p5... and its lack of scoping appealed to novices in my opinion | 16:36 | |
pmichaud | I absolutely chose PHP over Perl for one of my webapp projects strictly because of ease of deployment. | ||
zenog | masak: Wikipedia used usemod in the beginning, which was written in Perl. | ||
mux | masak: that would not be a good reason in my book | ||
masak | zenog: aye. | ||
pmichaud | also because PHP would be more accessible to non-programmers. | ||
masak | zenog: and they switched to PHP. | ||
mux | pmichaud: yes, that's another problem. ;-) | ||
sjohnson | PHP == raw power | ||
zenog | masak: I am not sure why, it could have been that Magnus Manske knew PHP better than Perl. | 16:37 | |
pmichaud | gist.github.com/1245559 # nom now has action methods | ||
jnthn | pmichaud++ | ||
PerlJam | pmichaud: push it or it doesn't exist :) | 16:38 | |
pmichaud | PerlJam: ... should I spectest it first? ;-) | ||
masak | mux: by "programming languages are tools", I do not want to shut off legitimate discussion so much as suggest that if you really are stuck with a given language on a project, there are many ways to work around its weaknesses. will never be quite as pleasant as not having to do it, of course. but there are lots of possibilities. | ||
jnthn | PerlJam: Sometimes, people spectest first ;) | ||
16:38
Exodist joined
|
|||
masak | I'm grateful for having learned Perl 6 simply because it gives me a nice programming language semantics to strive for in other languages ;) | 16:39 | |
zenog | masak: also - en.wikipedia.org/wiki/Worse_is_better | ||
mux | masak: I think we're actually in violent agreement (and I didn't mean to attack you when I said I don't like those sayings) | ||
masak | zenog: yes, that most likely explains it. | ||
[Coke] | (php, web apps, lack of deployment) that's why I love mojo. you can run it even if you don't have a server at the moment. | 16:40 | |
masak | mux: well, I agree with you in the sense that I definitely wouldn't mind using Perl over PHP (for example) on basically any greenfield project. | ||
PerlJam | masak: you know how Perl exported its fancy regex via PCRE? Wouldn't it be nice if there were a "Perl 6 compability" library for <insert favorite languages> ? | 16:41 | |
16:41
MayDaniel left
|
|||
masak | yes, it would. | 16:41 | |
PerlJam | I was reading about coffee script earlier today and kept thinking of how Perl 6 concepts could be injected. | 16:42 | |
masak | PerlJam: the trick, as is often the case, is to make callbacks work well. | 16:43 | |
PerlJam: in this case, things like {} and <?{}> in regexes and grammars. | |||
TimToady | well, P6 is specifically designed to call back into whatever the outer braided language happens to be | 16:45 | |
sjohnson | i like tim toady's PHP -> perl6 idea | ||
or the other way around. that'd be better | 16:46 | ||
TimToady | it's the refactoring part that's hard :) | ||
P6 -> PHP would also be...hard...motivationally at least | |||
sjohnson | yeah, only 5% of p6 could be ported to PHP :) | 16:48 | |
TimToady | and bug compatibility is difficult to compete with when they've brainwashed people into thinking that you get efficiency by learning to think in terms of those bugs | 16:49 | |
so if you translate to clean PHP, it won't run as fast as the "idiomatic" PHP | |||
I know this because backtranslating to Perl 5 has the same difficulty :) | 16:50 | ||
dalek | kudo/nom: 6b21ca0 | pmichaud++ | / (3 files): Add action methods to regexes. |
||
TimToady | come to think of it, translating Perl 6 to almost anything has this problem :) | ||
pmichaud | okay, I need a break for lunch. | ||
16:50
daniel-s left
|
|||
pmichaud | I should have a bit more time to work on qregex (protoregexes), but don't know how long that will take. should we go ahead and cut a nom release based on what we have? | 16:51 | |
(I'll read backscroll for answers when I return.) | |||
afk | |||
TimToady | including translation to PIR, CIL, JS, LLVM... | 16:52 | |
pmichaud | PerlJam: nqp is intended to potentially serve as a "p6 regex compatibility library" :-( | 16:54 | |
s/'('/')'/ | |||
PerlJam | pmichaud: but for PHP and ruby and Perl 5? | ||
pmichaud | especially if/when nqp targets other backends | ||
it wouldn't surprise me if some form of C becomes a viable backend someday | |||
PerlJam | pmichaud: since you're still here ... where's the list of what's missing from nom that was in ng? | ||
16:55
espadrine joined
|
|||
TimToady | maybe the Go form of C :) | 16:55 | |
moritz | pmichaud: I think <&foo> style rule calling might be easier and more benefitial in the short run | ||
pmichaud | PerlJam: it's always hard to come up with "what's missing". but I had a "punch list" in NOMMAP | ||
TimToady | short lunch? | ||
PerlJam looks | |||
moritz | and maybe scalar variable interpolation | ||
pmichaud | popped back in for a moment to get my shoes before leaving | ||
variable interp isn't too hard, I can do that. | 16:56 | ||
but first, lunch. | |||
afk (for real, with shoes this time) | |||
PerlJam | The only thing in NOMMAP that really bothers me is missing grammar/regex | 16:57 | |
17:01
Mowah_ left,
dakkar left
|
|||
sjohnson | i just asked on #php how to print to STDERR, and i get: sjohnson, file_put_contents to php://stderr iirc.... | 17:02 | |
i can feel a headache a comin'! | |||
mux | hahaha | 17:03 | |
TimToady | well, at least they didn't ban you | 17:07 | |
PerlJam | sjohnson: fwrite(STDERR, "blah"); # I think | ||
Assuming that's more palatable to you | |||
17:07
alim left
17:08
localhost left
|
|||
sjohnson | PerlJam: i tried it, getting a syntax error. oh well | 17:08 | |
17:09
localhost joined
|
|||
PerlJam | sjohnson: wfm, you must be doing something else wrong :) | 17:10 | |
sjohnson | ohhh. oopsies | ||
forgot the semi colon. classic error! | 17:11 | ||
felher | std: (1,2,3)>>+>>3 | ||
p6eval | std 8b331d2: OUTPUT«ok 00:01 122m» | ||
felher | std: (1,2,3)>>->>3 | ||
p6eval | std 8b331d2: OUTPUT«===SORRY!===Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block at /tmp/4Uf2A2RtSZ line 1:------> (1,2,3)>>->⏏>3Parse failedFAILED 00:01 121m» | ||
felher | is that expected? | ||
sjohnson | thanks PerlJam ! | ||
PerlJam | sjohnson: (also note that I installed php5-cli just so I could test it for you :) | ||
TimToady | felher: sure, it's expected | ||
ashleydev | how hard is it going to be to use some existing languages like ruby and python in lexical scopes in Perl 6? | ||
TimToady | LTM requires -> over - | ||
ashleydev | are there grammer rules of perl6 that are going to excude those languages? | 17:12 | |
sjohnson | PerlJam: PHPJam :) | ||
TimToady | either don't use Texas hypers, or use [-] in the middle | ||
moritz | and do use whitespace around infix ops | ||
TimToady | that too | ||
which might fix this one, or might not | |||
17:12
cognominal_ joined
|
|||
PerlJam | ashleydev: exclude? | 17:12 | |
TimToady | std: (1,2,3) >>->> 3 | ||
p6eval | std 8b331d2: OUTPUT«ok 00:01 122m» | ||
TimToady | does, turns out | ||
ashleydev | PerlJam well i've seen things go into STD like requiring white space around operators that may be hard to munge | 17:13 | |
TimToady | but I'll always prefer »-» | ||
PerlJam | ashleydev: your question is about the future in any case; we can only guess (or lie :) | ||
felher | TimToady: Ah, LTM. Yeah, makes sense. Thnx :) | ||
dalek | ast: 7ecf7e3 | moritz++ | S05-grammar/action-stubs.t: remove {*} from tokens that execute action stubs |
||
felher | moritz: yeah, thnx :) | ||
PerlJam | ashleydev: The Perl 6 grammar has nothing to do with those other languages. | ||
TimToady | but what moritz said--if you don't put space around your infixes, you're always going to get them interpreted as postfix if possible | 17:14 | |
ashleydev | doesn't it if you want to use one of them in your lexical scope and still carry variablies and such across your lexical scopes? | ||
moritz | jnthn: there's a compile time error in t/spec/S05-grammar/action-stubs.t, "Null PMC access in set_pmc_keyed() current instr.: 'nqp;Perl6;SymbolTable;install_package_symbol'" | ||
jnthn: might be an interesting test case for you | |||
PerlJam | ashleydev: I don't understand what you're trying to get at. The Perl 6 parser won't be involved when executing Ruby code and vice versa. | 17:15 | |
ashleydev | what parses strings or regex? is that not the perl 6 parser? | ||
17:16
cognominal left
|
|||
felher | TimToady: Yeah, now that you two told me, it makes perfect sense :) ty | 17:16 | |
TimToady | that would depend on the parser in question | ||
PerlJam | ashleydev: aye, but the Perl 6 parser is unlikely to parse Ruby | ||
(for instnace) | |||
TimToady | the main exception is comma, which I never put a space before | ||
ashleydev | so if you have perl 6 and decide to put a block of say PHP into it what happens to the perl 6 parser durring that block? | ||
moritz | ashleydev: it errors out :-) | 17:17 | |
PerlJam | although ... I guess you could consider every other language out there as a Perl 6 slang so ... :) | ||
TimToady | the Ruby parser will parse regex using the P6 parser only if the Ruby parser choooses to do so | ||
moritz | ashleydev: or you can parse it call a different parser | ||
tadzik | 'evening | ||
moritz | *can patch it | ||
\o tadzik | |||
ashleydev | so would the php in that case be a perl 6 slang? | ||
TimToady | ashleydev: parsers nest, and an internal parser can re-use a dynamically enclosing parser if it likes | ||
all languages are Perl 6 slangs :) | 17:18 | ||
moritz | if you squint hard enough | ||
PerlJam | or take the right drugs | ||
TimToady | but it depends on how you write the slang whether it reuses any of Perl 6 | ||
ashleydev | so there would be limits, like how the inner language uses '}' and such right? | ||
felher | TimToady: yep. | ||
TimToady++, moritz++ | |||
PerlJam | ashleydev: no, not really. | ||
TimToady | ashleydev: that would, again, depend on how you write the slang | 17:19 | |
moritz | ashleydev: it must be able to find its own end reliably | ||
TimToady | P6 never guesses | ||
it doesn't do multi-pass parsing | |||
ashleydev | moritz: eh? doesn't perl 6 give it it's end? or only it's beginning? | ||
TimToady | it relies entirely on the subparser to return when it's done | ||
ashleydev | TimToady: ah | ||
moritz | ashleydev: how could the perl 6 parser know where ruby code ends? | ||
TimToady | though it might pass a '}' to a sublanguage as a suggested terminator | ||
ashleydev | suggestions eh? | 17:20 | |
interesting | |||
TimToady | look at the top rule in STD, it takes a suggestion. | ||
ashleydev | ah so if the slang can't parse the '}' it may just decide to terminate there | ||
TimToady | method TOP ($STOP = '') { | ||
jnthn | nom: grammar Foo { }; say Foo.WHO.WHAT | ||
p6eval | nom 6b21ca: OUTPUT«Stash()» | ||
TimToady | if the ruby subparser is calling into another language, it might suggest '}' | 'end' | 17:21 | |
17:21
bluescreen10 left,
tyatpi joined
|
|||
ashleydev | so then it becomes up to the slang how it uses variables and what variables cross the boundary | 17:21 | |
TimToady | well, give or take some token boundaries | ||
yes | 17:22 | ||
so to leave something that Ruby knows how to deal with, you might need an alias | |||
17:22
replore_ joined
|
|||
ashleydev | is the slang allowed to multi-pass parse? | 17:22 | |
TimToady | but since operators are just strangly-named functions, you can alias them to identifiers | ||
ashleydev: it's probably a requirement to have bug-compatible Perl 5 :) | 17:23 | ||
however, it will be discouraged | |||
17:23
benabik left
|
|||
ashleydev | this is what I'm getting at, are we really going to allow any kind of slang... | 17:24 | |
TimToady | Perl 5 does way too much multi-pass parsing, which is why Perl 6 doesn't :) | ||
ashleydev | :) | ||
moritz | which leads to different insanities :-) | ||
TimToady | ashleydev: um, grammars are Turing Complete. How could we prevent it? | ||
ashleydev | then it just depends on how it's discouraged... | ||
TimToady chambers a shell | 17:25 | ||
jnthn | moritz: Will investigate the test fail after dinner. | 17:26 | |
17:27
Chillance joined
17:33
bluescreen10 joined
|
|||
diakopter shambles a shill | 17:35 | ||
when's the new phasers | 17:43 | ||
tadzik | tomorrow | 17:44 | |
diakopter | oh, Wed | ||
masak: you're a spork | 17:45 | ||
17:49
espadrine left
17:51
imarcusthis left
17:52
Trashlord joined
17:54
imarcusthis joined
17:55
sayu joined
17:57
sergot joined
17:59
molaf__ left
|
|||
sergot | Hello. :-) | 17:59 | |
moritz | hi sergot | 18:00 | |
flussence | random thought: it'd be nice to have "Pod::Block does Positional" so that I could write $node[3][5][1][whatever] for any part of the pod tree | ||
pmichaud | back from lunch | 18:01 | |
moritz | flussence: I might even go so far as to make Block inherit from Array | 18:02 | |
18:02
sergot left
|
|||
moritz | flussence: a less radical step: gist.github.com/1245773 | 18:03 | |
flussence | whoa, I had no idea you could do that. | 18:04 | |
tadzik | that's cool | ||
moritz | it seems you can't, in the setting :( | ||
jnthn | no, you can't use handles in the setting. | ||
moritz | nom: class A { has @.x handles <elems atpos> }; say A.new(x => [5, 6, 7]).[1] | 18:05 | |
p6eval | nom 6b21ca: OUTPUT«.[1] out of range for type A<62675904> in method at_pos at src/gen/CORE.setting:998 in method postcircumfix:<[ ]> at src/gen/CORE.setting:980 in <anon> at /tmp/lBBdyZe6Gc:1 in <anon> at /tmp/lBBdyZe6Gc:1» | ||
moritz | nom: class A { has @.x handles <elems at_pos> }; say A.new(x => [5, 6, 7]).[1] | ||
p6eval | nom 6b21ca: OUTPUT«6» | ||
18:07
sayu left,
espadrine joined
|
|||
dalek | kudo/nom: 54dff96 | moritz++ | docs/announce/2011.09: we do action methods, pmichaud++ |
18:08 | |
moritz | nom: Grammar::A { } | 18:09 | |
p6eval | nom 6b21ca: OUTPUT«Caught exception of unknown type -- this probably should not happenNull PMC access in get_pmc_keyed() in <anon> at /tmp/j8OQOwnAdL:1 in <anon> at /tmp/j8OQOwnAdL:1» | ||
jnthn | nom: say Grammar.WHO | ||
p6eval | nom 6b21ca: OUTPUT«Caught exception of unknown type -- this probably should not happenNull PMC access in find_method('gist') in sub say at src/gen/CORE.setting:4910 in <anon> at /tmp/3e5VGP0zHc:1 in <anon> at /tmp/3e5VGP0zHc:1» | ||
jnthn | aha | ||
moritz | I think I know the problem | 18:10 | |
the WHO isn'T set in BOOTSTRAP.pm | |||
jnthn | oh... | ||
yeah | |||
hm, looks like some others are missing too. | |||
Yes, it has no add_stash call | 18:11 | ||
moritz | jnthn: when I tried to add 'em all, I got compilation errors a few days ago | ||
jnthn | Want to fix it? Or I can later...bit distracted right now. | ||
moritz | Perl6::Metamodel::ClassHOW.add_stash(Grammar); | ||
jnthn | yup | ||
moritz | => Can only use set_who on a SixModelObject | ||
current instr.: 'nqp;Perl6;Metamodel;Stashing;_block1791' pc 29806 (src/gen/perl6-metamodel.pir:6596) (src/gen/Metamodel.pm:92) | |||
jnthn | moritz: oh | ||
moritz: Yes but Grammar shows up later in the file. | 18:12 | ||
moritz | oh, I'm trying to do it too early | ||
jnthn | :) | ||
18:17
dakkar joined
|
|||
moritz | Could not find sub &make | 18:21 | |
18:26
envi_ left
18:28
replore_ left
18:31
risou is now known as risou_awy
18:37
wamba joined
|
|||
masak | diakopter: I know ;) | 18:37 | |
18:39
thou left
|
|||
moritz | nom: 'a' ~~ /\w/; say callframe(0).my<$/> | 18:41 | |
p6eval | nom 6b21ca: OUTPUT«a» | ||
moritz | nom: sub m() { say callframe(1).my<$/> }; { 'a' ~~ /w/; m } | ||
p6eval | nom 6b21ca: OUTPUT«Any()» | ||
moritz | oh, because it's not a sub. | 18:42 | |
nom: sub m() { say callframe(1).my<$/> }; sub f { 'a' ~~ /w/; m }; f | |||
p6eval | nom 6b21ca: OUTPUT«» | ||
masak | ooh, nice. a translation of one of my p6advent posts: www.php-oa.com/2011/09/27/perl6-the...tting.html | 18:43 | |
it says that unfortunately the parting gift can't be run under nom :/ | 18:44 | ||
rakudo: say " "x 9-$_,"#"x$_*2-1 for 0..9,2 xx 3 | |||
p6eval | rakudo 6b21ca: OUTPUT«Caught exception of unknown type -- this probably should not happenCannot repeat with negative arg in sub infix:<x> at src/gen/CORE.setting:3149 in block <anon> at /tmp/wOJCLrNTNa:1 in method reify at src/gen/CORE.setting:3736 in method reify at src/gen/CO… | ||
masak | :( | ||
std: say " "x 9-$_,"#"x$_*2-1 for 0..9,2 xx 3 | |||
p6eval | std 8b331d2: OUTPUT«ok 00:01 123m» | 18:45 | |
masak submits rakudobug | |||
moritz | perl6: say 'a' xx -1 | ||
PerlJam | TimToady: Are you on facebook? | ||
p6eval | pugs, rakudo 6b21ca, niecza v10-5-ga8e6d5e: OUTPUT«» | ||
masak | moritz: maybe the x | ||
moritz | perl6: say 'a' x -1 | ||
p6eval | rakudo 6b21ca: OUTPUT«Caught exception of unknown type -- this probably should not happenCannot repeat with negative arg in sub infix:<x> at src/gen/CORE.setting:3149 in <anon> at /tmp/qCvrKkMFGD:1 in <anon> at /tmp/qCvrKkMFGD:1» | ||
..pugs, niecza v10-5-ga8e6d5e: OUTPUT«» | |||
masak | yeah. definitely a rakudobug. | ||
moritz | and easy to fix | 18:46 | |
masak | aye. | ||
moritz | perl6: say 'a' x 0 | ||
p6eval | pugs, rakudo 6b21ca, niecza v10-5-ga8e6d5e: OUTPUT«» | ||
TimToady | PerlJam: no, only twitter | 18:47 | |
masak | it's odd we didn't have a spectest for that. | 18:48 | |
moritz fixes it in nom, and adds &make | 18:49 | ||
18:51
pyrimidine joined
18:52
mj41 joined
|
|||
moritz | ... easier said than done | 18:53 | |
Can not bind non-existant attribute '$!ast' on class 'Match' in sub make at src/gen/CORE.setting:6128 | |||
... but I added it! | |||
+ has $.ast; | |||
$ ./perl6 -e 'say Match.^attributes>>.name' | 18:54 | ||
$!orig $!from $!to $!CURSOR $!ast $!list $!hash | |||
masak | maybe it's at another level of the metacircularity loop? | 18:55 | |
moritz | masak: nope, Match is not in BOOTSTRAP.pm | ||
perl6: my $x = Match.new; $x.ast = 3 | 18:56 | ||
p6eval | rakudo 6b21ca: OUTPUT«Caught exception of unknown type -- this probably should not happenMethod 'ast' not found for invocant of class 'Match' in <anon> at /tmp/jn7Mq8Tdq_:1 in <anon> at /tmp/jn7Mq8Tdq_:1» | ||
..niecza v10-5-ga8e6d5e: OUTPUT«Unhandled exception: No value for parameter $ in CORE Match.new at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE Match.new @ 0)  at /tmp/wmYOhoGu0E line 1 (MAIN mainline @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 2115 (CORE C1022_ANON @ 2)… | |||
..pugs: OUTPUT«*** No such method in class Match: "&ast" at /tmp/ve1oBxr1_9 line 1, column 20 - line 2, column 1» | |||
moritz | b: my $x = Match.new; $x.ast = 3 | ||
p6eval | b 1b7dd1: ( no output ) | 18:57 | |
moritz removes that 'Caught exception of unknown type' message -- it happens far too often | |||
though I'm still curious why some exceptions are of type CONTROL_ERROR and others are not | 18:58 | ||
18:59
mberends joined
|
|||
dalek | p: e3d5c8b | pmichaud++ | src/QRegex/Cursor.nqp: Add !LITERAL method to NQPCursorRole to simplify HLL literal matching. |
19:02 | |
kudo/nom: f2d7d26 | pmichaud++ | src/ (2 files): Add simple variable literal interpolation. |
19:04 | ||
kudo/nom: 4659b25 | pmichaud++ | tools/build/NQP_REVISION: Bump NQP_REVISION. |
|||
kudo/nom: b1481ba | moritz++ | src/core/Exception.pm: in EXCEPTION, check for the payload rather than the excpetion type, which varies more than I thought it does |
19:08 | ||
kudo/nom: e314924 | moritz++ | src/core/Str.pm: allow negative count on infix:<x> |
|||
kudo/nom: 33300b0 | moritz++ | src/Perl6/Metamodel/BOOTSTRAP.pm: give Grammar a stash |
|||
moritz | gist.github.com/1245934 that's the not working patch for &make and Match.ast | 19:10 | |
19:10
pyrimidine left
|
|||
moritz | but I don't have the brains left to debug, need to go to bed soon | 19:10 | |
PerlJam | TimToady: Happy Birthday! | 19:11 | |
moritz | oooh, TimToady++ | ||
TimToady bows deeply, then wonders if he can straighten up again... | |||
PerlJam | TimToady: If we choose the appropriate bases, you and I have the same textual representation for our age (at least for a little while :) | 19:12 | |
19:12
pyrimidine joined
|
|||
pmichaud | ah yes, it is TimToady++'s birthday! | 19:14 | |
TimToady | we'll have an easier time choosing our input bases than our output bases | ||
masak | TimToady: many happy returns. \o/ | 19:15 | |
no pun intended. | |||
TimToady | or leaves, at least, since it's autumn :) | ||
masak | ok, pun maybe intended a little :) | 19:17 | |
felher | TimToady++: yeah, happy birthday :) | 19:18 | |
TimToady | danke! | ||
jnthn | happy birthday! :) | ||
TimToady is the product of two primes this year | 19:20 | ||
[Coke] | ¡Feliz cumpleaños! | 19:21 | |
TimToady | ¡Gracias | ||
! | |||
masak | 祝你生日快樂! | 19:22 | |
TimToady | ありがとうございます! | ||
merci! | 19:23 | ||
謝謝, even | |||
masak | there we go ;) | ||
TimToady | or should I say 谢谢 in the interests of political correctness? :) | 19:24 | |
19:26
thou joined
|
|||
masak | no, 'cus I congratulated you in Traditional, not Simple ;) | 19:26 | |
19:27
bluescreen10 left
|
|||
masak | you can see it on the last character, which is 樂 in T and 乐 in S. | 19:27 | |
19:27
bluescreen10 joined
|
|||
TimToady | indeed, that's why I initially thought it was 日本語. :) | 19:28 | |
masak | there's a nice (but spurious) correspondence between geographical proximity and charset proximity ;) | 19:29 | |
doesn't explain Hong Kong, tho'. | |||
TimToady | though it's 誕生日 in Japanese | 19:30 | |
19:30
djanatyn left,
bluescreen10 left,
Tene left,
thou left
19:31
frhodes joined,
benabik joined
|
|||
TimToady | Honk Kong is mostly explained in terms of 英国 | 19:31 | |
19:31
thou_ joined
19:32
Tene joined,
Tene left,
Tene joined
|
|||
masak | 對 | 19:32 | |
19:32
djanatyn joined
|
|||
masak | or 英國, even ;) | 19:33 | |
TimToady | 固然 | 19:34 | |
19:35
[particle] left
|
|||
mberends | (TimToady++)++ | 19:35 | |
TimToady | ooh, how meta! | 19:36 | |
mberends | :) | ||
[Coke] | careful, or his age will go up again. | ||
masak | here's hoping it will, many times! | 19:37 | |
TimToady | either that, or my name will change to TimToadz | ||
masak | some of my best friends are Toadz. | ||
19:45
bluescreen10 joined
|
|||
TimToady | s/Honk/Hong/ # no editorial intended... | 19:51 | |
course, if I'd just written 香港 to start with, I wouldn't have that problem... | 19:53 | ||
masak | I made the same typo, but caught it before hitting <Enter>. | 19:54 | |
19:58
zby_home left
20:00
japhb left
20:12
japhb joined
20:16
thou_ left
20:18
tyatpi left,
icwiener left
20:23
colomon joined
20:24
thou joined
|
|||
pmichaud | nom: say eval('sub { 1 }').WHAT; | 20:36 | |
p6eval | nom 33300b: OUTPUT«Can only use get_what on a SixModelObject in <anon> at /tmp/quH_eaIIo3:1 in <anon> at /tmp/quH_eaIIo3:1» | ||
pmichaud cries. | |||
20:36
kaleem left
|
|||
masak | :( | 20:36 | |
jnthn | ...huh. :/ | 20:37 | |
20:37
vlixes joined
|
|||
jnthn | nom: eval('sub { 1 }'); say $! | 20:37 | |
p6eval | nom 33300b: OUTPUT«Mu()» | ||
20:37
ab5tract joined
|
|||
jnthn | nom: eval('sub { 1 }').() | 20:37 | |
p6eval | nom 33300b: OUTPUT«Null PMC access in invoke() in <anon> at /tmp/6uVZeiW6Jx:1 in <anon> at /tmp/6uVZeiW6Jx:1» | ||
pmichaud | converting variable interpolation into regexes is problematic because I can't get them into rakudo-shaped subs :-( | ||
jnthn | nom: say eval('sub { 1 }; 1').WHAT | ||
p6eval | nom 33300b: OUTPUT«Int()» | ||
20:37
vlixes left
|
|||
pmichaud | nom: say eval('my $a = sub { 1 }; $a').WHAT | 20:38 | |
p6eval | nom 33300b: OUTPUT«Sub()» | ||
20:38
vlixes joined
|
|||
pmichaud | nom: say eval('my $a = rx { 1 }; $a').WHAT | 20:38 | |
p6eval | nom 33300b: OUTPUT«Any()» | ||
pmichaud | *sob* | ||
jnthn | nom: say (sub { 1 }).WHAT | ||
p6eval | nom 33300b: OUTPUT«Sub()» | ||
pmichaud | nom: say (rx { 1 }).WHAT | ||
p6eval | nom 33300b: OUTPUT«Could not find sub &rx in <anon> at /tmp/VEtZkL5lW2:1 in <anon> at /tmp/VEtZkL5lW2:1» | ||
diakopter | all the crying and sobbing | 20:39 | |
jnthn | nom: my $a = rx { 1 }; | ||
p6eval | nom 33300b: OUTPUT«Could not find sub &rx in <anon> at /tmp/tyzoX09Qov:1 in <anon> at /tmp/tyzoX09Qov:1» | ||
pmichaud | enorx? | ||
diakopter | or was that "s.o.b." | ||
jnthn | pmichaud: Looks like... | ||
nom: my $a = regex { 1 }; say $a.WHAT | |||
p6eval | nom 33300b: OUTPUT«Useless declaration of a has-scoped method in mainlineRegex()» | ||
pmichaud | I already tried regex and got the warning. :) | 20:40 | |
jnthn | er, wtf... | ||
nom: my $a = anon regex { 1 }; say $a.WHAT | |||
p6eval | nom 33300b: OUTPUT«Regex()» | ||
pmichaud | nom: say eval('my $a = anon regex { 1 }').WHAT | ||
p6eval | nom 33300b: OUTPUT«Regex()» | ||
jnthn | nom: say eval('my $a = anon sub { 1 }; $a').WHAT | ||
p6eval | nom 33300b: OUTPUT«Sub()» | ||
jnthn | nom: say eval('anon sub { 1 }').WHAT | ||
pmichaud | that might be good enough for me for now | ||
p6eval | nom 33300b: OUTPUT«Can only use get_what on a SixModelObject in <anon> at /tmp/_jp6NS1fJ5:1 in <anon> at /tmp/_jp6NS1fJ5:1» | ||
jnthn | OK, not same issue | 20:41 | |
Investigating both. | |||
oh, sink hanling fail... | 20:42 | ||
*handling | |||
pmichaud | ...it thinks it's in sink context? | ||
jnthn | pmichaud: Does PAST::Want work with 'v'? | 20:43 | |
pmichaud: Yeah. | |||
pmichaud | sure, it works with 'v'. That's the primary purpose. | ||
jnthn | > say eval('anon sub { 1 }').WHAT | 20:44 | |
Sub() | |||
Making sure the patch builds the setting, and then spectesting. | 20:45 | ||
oh, dammit, I'm patching the optimizer branch... | |||
Moment, gotta build the new NQP too. | 20:47 | ||
pmichaud | gist.github.com/1246217 # regex interpolation works locally | 20:54 | |
masak | \o/ | 20:55 | |
pmichaud | spectesting | 20:56 | |
20:56
ponbiki joined
|
|||
jnthn spectesting a patch for the eval issue too | 20:58 | ||
im2ee | good night !:) | 20:59 | |
masak | dobranoc! | ||
jnthn | im2ee: dobranoc! | ||
masak | :) | ||
im2ee | Great! :) | ||
dobranoc | |||
Miłej nocy. | |||
jnthn | .oO( polishing our language skills... ) |
||
im2ee | :) | ||
20:59
im2ee left
|
|||
dalek | ast: 6737bd0 | (Felix Herrmann)++ | S32-num/rat.t: [S32-num/rat.t] fix invalid "vim:"-modeline |
21:01 | |
kudo/nom: d7757b0 | jnthn++ | src/Perl6/Actions.pm: Unconflate two things that should not have been conflated; improve sink handling thanks to PAST::Want. Fixed eval('sub { 1 }') sub found by pmichaud++. |
|||
masak | "Miłej" looks like the Russian word for "dear". | ||
[Coke] | jnthn++ pmichaud++ | 21:02 | |
masak | jnthn, pmichaud: yes, you guys rock. | 21:03 | |
'night, #perl6. | |||
[Coke] | Helllllllo, nurse. | ||
21:03
masak left
21:05
bbkr left
|
|||
dalek | kudo/nom: 154292e | pmichaud++ | src/ (3 files): Add regex interpolation. |
21:07 | |
pmichaud | I'm afk for a while. | ||
21:08
bluescreen10 left
|
|||
diakopter idly wonders what QAST is | 21:08 | ||
pmichaud | it's the successor to PAST | 21:09 | |
diakopter | ah | ||
reminds me of quaddle | |||
pmichaud | (since "PAST" == "Parrot Abstract Syntax Tree", "QAST" == "nQp Abstract Syntax Tree") | ||
I'm open for better names than QAST, yes :) | |||
21:11
bbkr joined
|
|||
[Coke] | I'm sure anything else would be NASTier. | 21:14 | |
sjn | "New Abstract Syntax Tree"? | 21:18 | |
21:19
bluescreen10 joined
|
|||
sjn | or "NASTY Abstrat Syntax Tree, Yeah Baby!" (a.k.a. NASTYBABY :) | 21:20 | |
oops. Abstact* | |||
sjn hides under a rock again | 21:21 | ||
21:26
ab5tract left
21:29
thou left
21:33
bluescreen10 left
|
|||
dalek | kudo/nom: 317f89d | jnthn++ | src/Perl6/Actions.pm: Eliminate bogus warning from regex { a } style constructs. |
21:33 | |
21:34
vlixes` joined,
soh_cah_toa joined
21:35
vlixes left
21:36
uasi joined
21:39
ab5tract joined
21:40
mtk left
|
|||
diakopter | sorear: ping | 21:41 | |
21:47
tomaw is now known as 5EXAAKYAN
|
|||
diakopter | phenny: tell sorear I submitted two niecza issues | 21:47 | |
phenny | diakopter: I'll pass that on when sorear is around. | ||
21:48
bluescreen10 joined
21:50
5EXAAKYAN is now known as tomaw
21:52
benabik left
21:57
djanatyn left
21:58
djanatyn joined
|
|||
flussence tries to get Str.indent working in nom | 22:00 | ||
22:00
bluescreen10 left
22:02
saaki joined
22:04
ashleydev left
|
|||
jnthn | night, #perl6 | 22:08 | |
diakopter | o/ | 22:09 | |
niecza: grammar A is STD { } # why doesn't this work | |||
p6eval | niecza v10-5-ga8e6d5e: OUTPUT«===SORRY!===Unhandled trait STD for this context at /tmp/DVzS3zYaJs line 1:------> grammar A is STD ⏏{ } # why doesn't this workUnhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line … | ||
22:09
replore joined
22:13
tyatpi joined
22:27
ab5tract left
|
|||
TimToady | we lied, there's only one dialect of Perl 6 | 22:27 | |
diakopter | niecza: grammar A { }; grammar B is A { token TOP { a } }; say B.parse("aaa"); use B | ||
p6eval | niecza v10-5-ga8e6d5e: OUTPUT«Unhandled exception: Unable to locate module B in @path at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2)  at /home/p6eval/niecza/src/NieczaPathSearch.pm6 line 23 (NieczaPathSearch NieczaPathSearch.load_module @ 11)  at /home/p6eval… | ||
diakopter | niecza: grammar A { }; grammar B is A { token TOP { a } }; say B.parse("aaa"); | ||
p6eval | niecza v10-5-ga8e6d5e: OUTPUT«B()» | ||
diakopter fumbles about | |||
22:29
mj41 left
|
|||
diakopter | lolz | 22:30 | |
std: gist.github.com/1246449 | |||
p6eval | std 8b331d2: OUTPUT«===SORRY!===Variable $ is not predeclared at /tmp/bCw5_aOmrB line 308:------> { @*MEMOS[⏏$¢.pos]<endstmt> ||= 1; }Confused at /tmp/bCw5_aOmrB line 308:------> { @*MEMOS[$Â⏏¢.pos]<endstmt> ||= 1; }… | ||
diakopter | bah | 22:31 | |
the web browser understands it correctly | 22:32 | ||
niecza: gist.github.com/1246449 | |||
p6eval | niecza v10-5-ga8e6d5e: OUTPUT«Unhandled exception: Unable to locate module DEBUG in @path at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2)  at /home/p6eval/niecza/src/NieczaPathSearch.pm6 line 23 (NieczaPathSearch NieczaPathSearch.load_module @ 11)  at /home/p6… | ||
22:34
soh_cah_toa left
22:39
soh_cah_toa joined
22:41
dakkar left,
replore left
22:42
araujo left
22:59
gern joined
23:00
tyatpi left
23:03
cognominal_ left
23:05
cognominal joined
23:07
jerome_ left
23:14
tokuhiro_ joined
23:15
frhodes left
|
|||
flussence | rakudo: say (' abc' ~~ /^(\h) $0* [ \S | $ ]/).perl | 23:18 | |
p6eval | rakudo 317f89: OUTPUT« a» | ||
flussence | rakudo: say (' abc' ~~ /^(\h) $0* [ \S | $ ]/).perl; say $0.perl | ||
p6eval | rakudo 317f89: OUTPUT« a » | ||
flussence | huh, doesn't seem to work locally. | ||
or I'm doing something stupid... | 23:19 | ||
23:22
lichtkind joined
|
|||
lichtkind | TimToady: happy birthday (from a friend not me :) ) | 23:23 | |
flussence | rakudo: ' abc' ~~ /^(\h) $0* [ \S | $ ]/); say $0.chars | ||
p6eval | rakudo 317f89: OUTPUT«===SORRY!===Confused at line 1, near "); say $0."» | ||
flussence | rakudo: ' abc' ~~ /^(\h) $0* [ \S | $ ]/; say $0.chars | ||
p6eval | rakudo 317f89: OUTPUT«Method 'chars' not found for invocant of class 'Match' in <anon> at /tmp/AHK5CjdZZ3:1 in <anon> at /tmp/AHK5CjdZZ3:1» | ||
flussence | rakudo: ' abc' ~~ /^(\h) $0* [ \S | $ ]/; say $0.Str.chars | ||
p6eval | rakudo 317f89: OUTPUT«1» | ||
gern | I don't know if this is in doubt, but got an Win x64 build of raduko that appears to be just fine. Just had to jump through some small hoops | 23:24 | |
flussence | (adding .Str to $0 just got me 9 more passing tests) | ||
oh wait, I miscounted | 23:25 | ||
whoops, up arrow in wrong window | 23:26 | ||
23:26
tyatpi joined
|
|||
flussence | I keep getting an empty $0 for that regex when it should contain whitespace (like it does above) :/ | 23:27 | |
23:28
wamba left
|
|||
diakopter | flussence: `perl6 -e xxx` or `perl6 file`? | 23:29 | |
flussence | file | ||
diakopter | different git branch/distro? | 23:30 | |
flussence | should be new - "This is perl6 version 2011.04-2086-g154292e built on parrot 3.8.0 revision RELEASE_3_8_0" | 23:31 | |
23:32
aindilis joined
23:33
[particle] joined
23:37
cognominal_ joined,
jerome_ joined
23:40
cognominal left
23:49
vlixes` left,
vlixes` joined
23:50
Chillance left,
cognominal joined
23:52
cognominal_ left
23:55
whiteknight joined
|