»ö« 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«_block1010␤i␤u␤oo␤»
masak rakudo: .say for map { "bl{$_}p" }, <i u oo>
p6eval rakudo 3e8911: OUTPUT«blip␤blup␤bloop␤»
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«42␤Stub 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«fe␤k␤»
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 1␤current 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 1␤current 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 return␤current 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 happen␤Null 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)>>->⏏>3␤Parse failed␤FAILED 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 happen␤Null 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 happen␤Null 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 happen␤Cannot 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 happen␤Cannot 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 happen␤Method '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 mainline␤Regex()␤»
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 work␤␤Unhandled 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