Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-11-17

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:16 orafu joined #perl6
00:19 tokuhiro_ joined #perl6
01:31 whiteknight joined #perl6
01:37 cogno joined #perl6
01:39 dayangkun joined #perl6
01:43 fgomez joined #perl6
02:46 ifim joined #perl6
03:05 cognominal joined #perl6
03:22 zjmarlow joined #perl6
03:42 am0c joined #perl6
03:53 orafu joined #perl6
04:10 dalek roast: 6e11e2d | coke++ | S (4 files):
04:10 dalek roast: niecza fudging
04:10 dalek roast: review: https://github.com/perl6/roast/commit/6e11e2dce4
04:17 japhb Is it already known that Rakudo's q:to properly handles indented end marker, but qq:to appears not to?
04:28 raiph joined #perl6
04:30 raiph seen on news.ycombinator.com: "I'm surprised there isn't a Perl6 version of Mail::RFC822. This is exactly the kind of thing that Perl6 rules[1] are supposed to excel at. It would be good publicity, especially now that rakudo has usable releases."
04:30 aloha on news.ycombinator.com: "I'm surprised there isn't a Perl6 version of Mail::RFC822. This is exactly the kind of thing that Perl6 rules[1] are supposed to excel at. It would be good publicity, especially now that rakudo has usable releases." was last seen in  15661 days 4 hours ago .
04:31 raiph oops. anyhoo: http://news.ycombinator.com/item?id=4793763
04:31 fgomez joined #perl6
04:34 sorear japhb: I didn't know it
04:37 dalek roast: d1b9ba1 | coke++ | S02-lexical-conventions/comments.t:
04:37 dalek roast: rakudo unfudge
04:37 dalek roast: review: https://github.com/perl6/roast/commit/d1b9ba19f1
04:39 tff joined #perl6
04:44 japhb sorear, thank you.
04:45 sorear japhb: eh, I'm not one of the people who's supposed to know everything about rakudo...
04:45 fgomez joined #perl6
04:46 japhb sorear, yes, but you tend to pay attention.
04:46 sorear hehehehe
04:49 dalek perl6-bench: ab1e3c4 | (Geoffrey Broadwell)++ | bench:
04:49 dalek perl6-bench: Remove superstitious parens and fix incorrect fallback operator
04:49 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/ab1e3c403d
04:49 dalek perl6-bench: 592b569 | (Geoffrey Broadwell)++ | bench:
04:49 dalek perl6-bench: Convert a couple multi-line say blocks to (mostly) proper heredocs.  Remaining issue is having to work around a Rakudo bug with qq:to with an indented end marker.
04:49 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/592b569a4d
04:50 dalek perl6-bench: fd15bb8 | (Geoffrey Broadwell)++ | bench:
04:50 dalek perl6-bench: Damn syntax highlighting fail
04:50 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/fd15bb83ce
04:54 fgomez joined #perl6
05:26 xinming_ joined #perl6
05:38 am0c joined #perl6
05:43 Kharec joined #perl6
05:50 ifim left #perl6
05:52 SamuraiJack joined #perl6
06:02 erkan joined #perl6
06:19 skids joined #perl6
06:21 TimToady jnthn: HIGHEXPECT has nothing to do with LTM; it's only for trying to give an indication of which parse rules (sometimes in the guise of DBA) were being tried at the highwater mark
06:21 TimToady it's only for error messages
06:25 diakopter 'doh; I knew that; shoulda mentioned it
06:26 * moritz has internets at home, at last
06:27 diakopter \o/
06:28 sorear o/ moritz
06:28 moritz and let me say, t-online is a bunch of incompetent people
06:33 sisar joined #perl6
06:36 TimToady looks like fiber is finally available here, so I guess we'll have to look at it
06:39 moritz we have fiber, but not the last 50m
06:43 TimToady well, we have petabits of fiber capacity within a few blocks of us, but it's all going to Internet companies...
06:43 dalek roast: 0af5065 | moritz++ | S03-operators/andthen.t:
06:43 dalek roast: tests for infix andthen
06:43 dalek roast: review: https://github.com/perl6/roast/commit/0af5065154
06:43 dalek roast: c61ef73 | moritz++ | / (44 files):
06:43 dalek roast: Merge branch 'master' of git://github.com/perl6/roast
06:43 dalek roast: review: https://github.com/perl6/roast/commit/c61ef73ce1
06:44 TimToady Excite and Lycos started out about two blocks from here...
06:46 moritz two names I haven't heard in a while :-)
06:46 TimToady at the moment they're replacing some of the gas pipeline that they decided they didn't want to blow up, and a probably working around most of the bandwidth to the Google campus :)
06:47 TimToady a bit of the same pipeline that did blow up a while back up in San Bruno; it runs about 200 meters north of our house
06:47 moritz good they decided it shouldn't blow up again :-)
06:47 TimToady they said they were testing our pipeline, and they never said it failed the test, but I notice they're replacing the pipe :)
06:48 moritz I notice such things a lot
06:48 TimToady so anyway, if Google drops off the map suddenly, either we got nuked, or a backhoe tore up the fiber
06:49 moritz toothpaste has "clinically tested" on it, but they don't say if the tests passed
06:50 sorear or what they're testing for
06:50 TimToady most of the water supply to San Francisco flows a few hundred meters south of us as well
06:51 TimToady I guess that's what we get for living at a corner of the bay
06:52 sorear the bay has corners?
06:52 TimToady kinda
06:54 moritz if you squint hard enough :-)
06:54 azawawi joined #perl6
06:54 azawawi hi
06:55 azawawi what's a good namespace for Perl 6 modules for supporting native libs e.g. libreadline, ncurses, etc...
06:59 Woodi as we speec about CA - I think it is common knowledge moust western part of it will someday goes underwater (with help of earthquake)... many peoples live on that peninsula ? or maybe Google is located right there ?
06:59 Woodi morning :)
07:00 azawawi Woodi: good morning...
07:01 sorear Woodi: that's a common joke, but I think it's common knowledge that it has no basis in reality
07:01 Woodi azawawi: libreadline probably is "internal" for rakudo. ncurses need tests
07:02 sorear it's possible most CA residents are stupider than I give them credit for, though
07:02 Woodi sorear: but Discovery...
07:02 sorear isn't that the channel that has specials on bigfoot?
07:02 Woodi but I'm glad being stupid and outjoked on that subject
07:02 azawawi sorear: so how about Net::Curl? is a good name for a nativecall module?
07:03 sorear azawawi: sure
07:03 azawawi sorear: im just thinking about namespace and how to organize them better... e.g. Net:: vs WWW::
07:03 sorear WWW::Curl might be better, since it's a web/urls thing
07:03 sorear copy whatever perl 5 does
07:04 sorear there's certainly no reason to mark Native in the name
07:18 azawawi sorear: thanks... i chose net::curl for now... shorter :)
07:18 azawawi https://github.com/azawawi/perl6-net-curl
07:20 * sorear wonders if he overreacted
07:47 dalek ecosystem: 7db8b50 | (Ahmad M. Zawawi)++ | META.list:
07:47 dalek ecosystem: Added Net::Curl - Use libcurl (client-side URL transfer library) API in Perl 6
07:47 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/7db8b50030
08:09 araujo joined #perl6
08:09 araujo joined #perl6
08:43 Woodi as we speak about CA... :) there is Boudin bakery in San Francisco - is their bread good ?
08:58 diakopter never tried it
09:04 cibs joined #perl6
09:07 tokuhiro_ joined #perl6
09:10 domidumont joined #perl6
09:23 GlitchMr joined #perl6
09:25 cosimo joined #perl6
09:33 domidumont joined #perl6
09:41 MayDaniel joined #perl6
09:50 xenoterracide r: 10 +- 3
09:50 p6eval rakudo 8959c8:  ( no output )
09:50 xenoterracide interesting
09:50 xenoterracide outputs 7 here
09:51 jnthn You need a "say" to output.
09:51 xenoterracide oh right, outputs 7 because REPL
09:51 * xenoterracide headesk
09:51 xenoterracide R; say 10 +- 3
09:51 xenoterracide err
09:51 xenoterracide r: say 10 +- 3
09:51 p6eval rakudo 8959c8: OUTPUT«7␤»
09:51 jnthn japhb: The issue with qq heredocs only happens (or at least is related to the case) where the last thing in the heredoc is some kind of interpolation
09:52 xenoterracide so if +- is not a real operator... why does that not throw an exception?
09:53 jnthn It parses as 10 + -3
09:53 xenoterracide oh
09:54 xenoterracide fun that
09:54 xenoterracide odd but fun
09:54 jnthn std: say 10 +- 3
09:54 p6eval std 04216b1: OUTPUT«ok 00:00 42m␤»
09:54 jnthn Consistent with how STD treats it, fwiw
09:55 diakopter jnthn: TimToady replied to your question in the backlog
09:56 jnthn diakopter: Yes, I noticed. :)
09:58 jnthn TimToady: OK, then I think I'm misunderstanding CursorBase.pmc:639. What's it actually about? :)
10:00 sorear jnthn: fwiw, niecza does not currently do any kind of ltm highwater handling
10:05 jnthn OK.
10:07 perigrin joined #perl6
10:12 xenoterracide why are there so many DBI like modules
10:12 sorear Because nobody thought the existing ones were good enough?
10:13 * xenoterracide honestly thinks that DBI, Digest, HTTP, etc need to be core libs in perl 6
10:13 xenoterracide but since the language is being worked on
10:14 sorear DBI and HTTP are core libs in p5 :p
10:14 xenoterracide no they aren't? or was that intended to be ironic or something?
10:15 xenoterracide well I guess HTTP::Tiny finally made core
10:16 PacoAir joined #perl6
10:17 sorear huh, I thought DBI and LWP *were* core modules
10:17 xenoterracide no
10:17 sorear but Module::Corelist disagrees
10:17 xenoterracide ?
10:18 sorear otoh, Digest is core (since 5.7.3)
10:18 xenoterracide orelist DBI                                             slave-iv
10:18 xenoterracide Data for 2012-11-10
10:18 xenoterracide DBI was not in CORE (or so I think)
10:18 sorear that's what I mean, corelist disagrees with my memory
10:18 xenoterracide oh
10:18 perigrin joined #perl6
10:18 xenoterracide no they are just the most common modules ever
10:18 xenoterracide and about every thing that ships perl ships those
10:19 xenoterracide which is why they /should/ be core
10:22 sorear well, I absolutely agree that Rakudo Star and whatever the Niecza distribution winds up being called should come with DBI, Digest, etc
10:23 BinGOs and a pony
10:23 xenoterracide ponies++
10:23 sorear a lot of #perl6 people use "core module" to mean preloaded in the initial namespace, like "Duration" is
10:23 sorear and if that was what you meant I would have opposed it :p
10:23 xenoterracide but I think Perl6 is a pony
10:23 sorear anyways, sleep&
10:23 xenoterracide nah
10:23 xenoterracide not what I meant
10:23 sorear tomorrow: reinvent niecza bootstrap
10:24 xenoterracide if only it were cross platform
10:27 * xenoterracide wonders if in addition to panda like things if travis-ci could be convinced into offering rakudo...
10:27 xenoterracide then benefits similar to cpantesters
10:41 xenoterracide is there anything like EUMM/MB now? is ufo the suggested way?
10:46 PacoAir joined #perl6
10:53 birdwindupbird joined #perl6
10:56 jnthn xenoterracide: I think ufo is meant as a tool for module developers, and Panda itself takes care of the building when doing installation.
10:58 xenoterracide hmm
11:00 * xenoterracide gets the feeling I'm going to be missing dzil
11:17 PacoAir joined #perl6
11:17 dalek nqp: ec4648d | jnthn++ | src/HLL/Grammar.pm:
11:17 dalek nqp: Give EXPR a "don't do an infix" argument.
11:17 dalek nqp:
11:17 dalek nqp: STD's EXPR hard-codes a check against the precedence level, which we
11:17 dalek nqp: shouldn't do here as EXPR is meant to be generic.
11:17 dalek nqp: review: https://github.com/perl6/nqp/commit/ec4648d03b
11:17 dalek rakudo/nom: 8735fe2 | jnthn++ | tools/build/NQP_REVISION:
11:17 dalek rakudo/nom: Bump NQP_REVISION for EXPR improvements.
11:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8735fe2f1b
11:17 dalek rakudo/nom: 014fbfd | jnthn++ | src/Perl6/Grammar.pm:
11:17 dalek rakudo/nom: Skip infixes when parsing with methodcall preclim.
11:17 dalek rakudo/nom:
11:17 dalek rakudo/nom: STD does the same. This fixes the issue with qq heredocs that ended
11:17 dalek rakudo/nom: with interpolation.
11:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/014fbfd002
11:17 dalek rakudo/nom: 8c8ae45 | jnthn++ | src/Perl6/Actions.pm:
11:17 dalek rakudo/nom: Remove a now-unrequired hack.
11:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8c8ae453e7
11:18 gaussblurinc_ joined #perl6
11:19 dalek rakudo/nom: 018259a | jnthn++ | t/spectest.data:
11:19 dalek rakudo/nom: Revert "This test file doesn't exist."
11:19 dalek rakudo/nom:
11:19 dalek rakudo/nom: This reverts commit 2c6a5215c0c5240d26ee0f3197e8dbaa562432c7.
11:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/018259a453
11:24 dalek roast: 39457d1 | jnthn++ | S02-literals/quoting.t:
11:24 dalek roast: Test to cover interpolation/indentation bug.
11:24 dalek roast: review: https://github.com/perl6/roast/commit/39457d1091
11:26 dalek roast: ac9351a | jnthn++ | S12-methods/private.t:
11:26 dalek roast: throws_like needs Test::Util loaded.
11:26 dalek roast: review: https://github.com/perl6/roast/commit/ac9351ab53
11:28 jnthn phenny: tell japhb Interpolation at end of heredoc and indentation interaction bug now fixed.
11:28 phenny jnthn: I'll pass that on when japhb is around.
11:31 kaare_ joined #perl6
11:32 GlitchMr joined #perl6
11:36 xenoterracide is there a prove command?
11:36 * jnthn just uses the normal prove
11:38 GlitchMr xenoterracide: just use prove
11:38 xenoterracide how do you make it recognize perl6?
11:38 GlitchMr prove -e perl6
11:38 GlitchMr It's as simple as that
11:38 xenoterracide ah
11:38 spider-mario joined #perl6
11:39 GlitchMr Also, a small warning. -l option won't work as it modifies PERLLIB variable (Perl 6 uses PERL6LIB), but it's simple fix
11:39 GlitchMr env PERL6LIB=lib prove -e perl6
11:40 GlitchMr (or perhaps prove modifies PERL5LIB, not sure, but does it really matter?)
11:42 * xenoterracide suspects alias prove6="env PERL6LIB=lib prove -e perl6" might be a good route
11:43 tadzik I started work on perl6-prove some time ago
11:43 tadzik it worked last time I tried :)
11:43 tadzik https://github.com/tadzik/Test-Harness
11:45 GlitchMr xenoterracide: Most likely yes
11:45 GlitchMr I have prove6 script too
11:46 GlitchMr glitchmr@strawberry ~/util> cat prove6
11:46 GlitchMr #!/bin/sh
11:46 GlitchMr env PERL6LIB=lib prove -e perl6 -r t/
11:46 GlitchMr But well, alias will work too
11:46 xenoterracide tadzik: you might want to check it
11:47 xenoterracide .perl6/2012.10/bin/p6prove: line 1: use: command not found
11:47 tadzik uh
11:47 tadzik oh
11:47 tadzik it could use a shebang :)
11:47 tadzik I'll fix it after errands&, thanks :)
11:47 GlitchMr #!/usr/bin/env perl6
11:47 GlitchMr Generic Perl 6 shebang
11:47 tadzik yeah
11:48 GlitchMr https://github.com/github/linguist/pull/275
11:48 GlitchMr I wonder when they will add AWK to GitHub language list ;-)
11:49 xenoterracide use v6; is required if not using module/class right?
11:49 GlitchMr It's required if it doesn't have shebang or isn't module or class.
11:50 GlitchMr But I should check spec
11:50 spider-mario joined #perl6
11:51 xenoterracide although the #! would invoke the correct interpreter if you let the shell do its thing... it would still  be broken if you told perl to run the file correctly... (I think not being all that familiar yet)
11:52 GlitchMr It looks like it has to start with 'class' or 'module' or 'grammar' or shebang contains perl6, rakudo or niecza.
11:52 xenoterracide ah
11:52 GlitchMr But current implementation aren't implementing it yet
11:52 GlitchMr Or it has to contain 'use v6'
11:52 GlitchMr Or simply 'v6' which means 'no strict'
11:55 xenoterracide tadzik: http://privatepaste.com/dc543f0dca possible other problems too :/
11:55 xenoterracide tadzik: I should probably mention the test fails if I use the p5 prove
11:55 GlitchMr Looks like something is wrong with p6prove
11:55 GlitchMr For now, using prove included with Perl 5 is better option
11:56 xenoterracide yeah, just figured I'd mention it
11:56 xenoterracide now to figure out why my code is fail
11:57 GlitchMr https://github.com/tadzik/Test-Harness/issues/1
11:57 xenoterracide GlitchMr: +1, I was being lazy
11:58 GlitchMr On this channel, the standard way of saying +1 is GlitchMr++, but whatever
12:06 tipdbmp What was the 'where { <something } syntax' called, "restriction" maybe?
12:06 tipdbmp Filter?
12:08 wamba joined #perl6
12:11 jnthn constraint
12:15 tipdbmp Right.
12:15 xenoterracide http://privatepaste.com/d0bfa458d7 what should I be doing here? as this obviously isn't doing what I think it should
12:18 rindolf joined #perl6
12:19 nebuchadnezzar joined #perl6
12:21 Kharec joined #perl6
12:24 PacoAir joined #perl6
12:25 zjmarlow joined #perl6
12:25 jnthn xenoterracide: Not relying on require to return the loaded module. Workaround: return ( require $module; ::($module) ).new;
12:31 azawawi joined #perl6
12:32 azawawi hi
12:32 azawawi jnthn: ping
12:34 jnthn azawawi: pong
12:34 azawawi jnthn: i have been playing with NativeCall with libcurl... thanks for writing it... so far things are great
12:35 azawawi jnthn: but how do i pass a buffer pointer?... :)
12:35 jnthn arnsholt++ did plenty of the writing too... :)
12:35 azawawi jnthn++ arnsholt++
12:35 Psyche^ joined #perl6
12:35 sorenso joined #perl6
12:35 jnthn azawawi: Currently there's no way to pass Buf, so the only reasonable option is to pass a CArray
12:42 azawawi jnthn: so if we have something like fread: fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
12:42 azawawi jnthn: we write it as fread(CArray[Str], int, int, OpaquePointer) , right?
12:42 azawawi star: use NativeCall;
12:42 p6eval star 2012.10:  ( no output )
12:44 Woodi azawawi: fread(OpaquePointer, int, int, OpaquePointer) me thinks
12:45 jnthn azawawi: ah, you're trying to get the data read into the buffer?
12:45 azawawi Woodi: we need to read into a buffer to use it
12:45 Woodi I use CArray[OpaquePointer] for struct smth **s things
12:45 azawawi jnthn: yup
12:45 azawawi jnthn: that's a common thing to have in C :)
12:45 jnthn CArray[Str] won't do it because it'll expect it to work like char **strings
12:45 jnthn azawawi: Yes, that doesn't mean NativeCall supports it well yet :)
12:46 azawawi so what's the alternative or did i just hit a wall ? :)
12:46 jnthn Kinda. The current best workaround is to pass a CArray[int] sized to how much data you expect.
12:47 rindolf joined #perl6
12:47 azawawi and then convert the str from the CArray[int]
12:47 jnthn And that will get populated by the call.
12:47 jnthn Yeah
12:47 jnthn Buf can be useful there.
12:48 jnthn CArray -> Buf -> decode the Buf into a Str using its decode method
12:48 azawawi jnthn: thx...
12:48 azawawi i'll test it now
12:48 jnthn The upgrade path for these scenarios will probably be that you pass a Buf there, so once NativeCall supports that you can just get rid of the hack, and leave the decode to Str bit.
12:49 SamuraiJack joined #perl6
12:50 azawawi azawawi@ubuntu:~/perl6-net-curl$ examples/getinfo.p6  We received Content-Type: CArray+{IntTypedCArray}<1088505524>
12:51 azawawi We received Content-Type: CArray+{IntTypedCArray}<1088505524>  :)
12:51 moritz yes, CArrays don't have the nice stringifications etc. of Array
12:51 moritz it's a very low-level type
12:51 azawawi C is low-level :)
12:51 tadzik xenoterracide, GlitchMr: thanks looking at it now
12:52 jnthn moritz: You haz internets! :D
12:52 moritz jnthn: yes, \o/
12:52 moritz jnthn: any rakudo LHFs waiting for me? :-)
12:52 jnthn moritz: Sink context? :)
12:52 moritz oh, and seems we have a few spectest failures
12:53 jnthn Yes, a load of tests have been added, and a couple of things are a little off...
12:53 jnthn I fixed some of it.
12:53 tadzik yeah, apparently Test::Harness can't Harness itself :)
12:53 moritz jnthn: I guess I could start again looking at sink context, aye; this time I'd start with a QAST dumper :-)
12:53 jnthn moritz: On sink context, it may actually be *much* more LHF-y
12:54 azawawi jnthn: one interesting thing that we dont check if the signature is CArray[Str] and you pass a CArray[int]...
12:54 jnthn Because QAST::Want supports 'v' properly, and actually traces it properly down into nested statement nodes.
12:55 jnthn azawawi: Yeah. I actually can fix that one relatively easily these days. At the time it was gonna be a real pain...
12:55 azawawi https://github.com/azawawi/perl6-net-curl/com​mit/338fd6f7705fa6dce903cd843bcd4cc3ece07c12
12:57 rindolf joined #perl6
12:58 tadzik Test::Harness fixed
13:06 GlitchMr tadzik: https://github.com/tadzik/Test-Harness/comm​it/d1527efbf0ad0b4ff13328a37037987d03582a33
13:07 GlitchMr Shouldn't it use == or something?
13:09 azawawi jnthn: still not there... i get in ct[0] (Content-type) an integer... maybe the address
13:09 GlitchMr I will make pull request, ok?
13:11 jnthn azawawi: The integer should be part of what was placed there
13:12 GlitchMr tadzik: https://github.com/tadzik/Test-Harness/pull/2
13:12 jnthn azawawi: Maybe I wasn't clear enough: you're getting the C code to put the thing into what you're looking at as a int[], so there's a little work to split it up into pieces.
13:14 azawawi jnthn: true but only ct[0] is filled... the rest is the same :)
13:16 jnthn oh!
13:16 jnthn < jnthn> Kinda. The current best workaround is to pass a CArray[int]
13:16 jnthn sized to how much data you expect.
13:16 jnthn The "sized to how much data you expect" is important :)
13:16 azawawi https://github.com/azawawi/perl6-net​-curl/blob/be1f5e5d800d95ac48fc42c0e​c9fcc6b566f363b/examples/getinfo.p6
13:17 jnthn Otherwise you're passing an array wiht pretty much no allocate storage off to C, and thus it will just scribble over whatever.
13:17 jnthn yes, like that
13:18 jnthn And only the first thing has any data?
13:18 azawawi output is http://paste.debian.net/210112/
13:18 azawawi let me show you the getinfo.c example
13:19 jnthn r: say 186842936.base(16)
13:19 p6eval rakudo 018259: OUTPUT«B22FF38␤»
13:19 jnthn Hm, that does look more pointer-ish than data-ish...
13:19 azawawi https://github.com/azawawi/perl6-net​-curl/blob/be1f5e5d800d95ac48fc42c0e​c9fcc6b566f363b/examples/getinfo.c
13:19 azawawi yeah i know
13:20 azawawi line 39+
13:20 jnthn oh
13:20 jnthn char *ct;
13:20 jnthn res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct);
13:20 jnthn That's one more level of indirection that I'd understood!
13:20 jnthn OK, then we have an easier problem...
13:21 moritz CArray[Str].new
13:21 jnthn Pass a CArray[str] sized to 1 element, and then read it.
13:21 jnthn I thought it was a case of a char *ct = malloc(buffer_size); and then passing ct straight off...
13:21 jnthn Sorry.
13:21 jnthn (Because of the fread example)
13:22 moritz jnthn: in QAST::Block, are the elements in @!array always QAST::Node objects?
13:23 moritz erm
13:23 moritz QAST::Node, and subclasses thereof
13:23 moritz nqp: say( nqp::x('a', 5))
13:23 p6eval nqp: OUTPUT«aaaaa␤»
13:24 sizz joined #perl6
13:24 moritz nqp: sub  f($x := 1) { say($x) }; f(2); f()
13:24 p6eval nqp: OUTPUT«Routine declaration requires a signature at line 2, near "($x := 1) "␤current instr.: 'panic' pc 13089 (src/stage2/gen/NQPHLL.pir:4619) (src/stage2/gen/NQPHLL.pm:324)␤»
13:24 azawawi moritz++ jnthn # thx... it worked
13:25 azawawi jnthn: might be useful to include these pointer cases in NativeCall's README.md :)
13:25 moritz nqp: say( nqp::x('a', 0))
13:26 p6eval nqp: OUTPUT«␤»
13:26 jnthn azawawi: yay...
13:27 jnthn azawawi: Yes, it's a common enough pattern... If you fancy writing that up feel free to just add to the README; otherwise a ticket to remind somebody else to is also very fine :)
13:28 azawawi jnthn: i'll write it and send you a pull request :)
13:28 jnthn \o/
13:28 jnthn azawawi++
13:29 azawawi any ncurses NativeCall module here or there?
13:29 moritz what's a convenient way to concatenate two array in nqp?
13:29 moritz something with nqp::splice maybe?
13:30 jnthn Probably splice is fastest
13:31 jnthn bbi10
13:36 azawawi moritz: Have you come across any NCurses NativeCall p6 module?
13:36 moritz azawawi: no. I did a prove of a concept once that cleared the screen, printed something and then exited
13:36 moritz azawawi: but nothing more
13:37 azawawi moritz: https://github.com/azawawi/fara​bi6/blob/master/test_curses.p6 :)
13:38 moritz :-)
13:39 azawawi NativeCall modules are cool but the dependency on the location and name of some-library.so is flakky
13:40 * azawawi begins writing p6-ncurses :)
13:41 wamba joined #perl6
13:42 zjmarlow joined #perl6
13:42 dalek roast: a6be9c5 | moritz++ | S32-exceptions/misc.t:
13:42 dalek roast: avoid a redeclaration error that shadows the error we actually want to trigger
13:42 dalek roast: review: https://github.com/perl6/roast/commit/a6be9c50d8
13:42 dalek rakudo/nom: 112307b | moritz++ | src/Perl6/World.pm:
13:42 dalek rakudo/nom: simplify setting line number of compile-time exceptions
13:42 dalek rakudo/nom:
13:42 dalek rakudo/nom: Also try to compose X::Comp into exceptions thrown at compile time
13:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/112307b06c
13:43 azawawi moritz: We need to make a github v3 API module.  That's why i created Net::Curl (i.e. https github urls) and we may need that also to rewrite ecosystem in Perl 6
13:46 moritz as long as I'm not the one who has to fix it when it breaks, I'm all for an ecosystem in Perl 6
13:58 dalek ecosystem: a9a3b61 | (Ahmad M. Zawawi)++ | META.list:
13:58 dalek ecosystem: Added NCurses, the Perl 6 interface to NCurses - the text-based user interface library
13:58 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/a9a3b61b00
13:59 moritz jnthn: do we have a function or op in nqp that escapes special characters, e.g. "\n" -> "\\n" ?
14:00 moritz I guess we should have for the context in error messages
14:00 * moritz goes searching
14:01 moritz ok, pir::escape__SS
14:08 rindolf joined #perl6
14:09 jnthn moritz: Yes, that one
14:09 jnthn Maybe we should nqp:: it
14:19 MayDaniel joined #perl6
14:21 masak hi, #perl6
14:22 jnthn o/ masak
14:23 masak moritz: congratulations on having the internet again.
14:25 moritz masak: takk
14:26 * masak dives into LPW presentation prep
14:43 SamuraiJack joined #perl6
14:43 dalek nqp/qast-dumper: 2cba446 | moritz++ | src/QAST/ (6 files):
14:43 dalek nqp/qast-dumper: beginnings of a QAST dumper
14:43 dalek nqp/qast-dumper: review: https://github.com/perl6/nqp/commit/2cba446ea9
14:50 moritz https://gist.github.com/4096527 # example input and output of the QAST dumper
14:51 jnthn moritz++ :)
14:52 moritz I need to wire it up to --target=past
14:53 moritz jnthn: and if you don't object, I'll merge it after that
14:53 jnthn I'd only object were it too much of a prototype :P
14:54 nebuchadnezzar joined #perl6
14:54 jnthn No, really, it looks good :)
14:55 masak moritz++ # looks almost as cute as the ASTs Yapsi outputs
14:56 masak http://strangelyconsistent.or​g/blog/yapsi-201102-released
14:57 xinming joined #perl6
14:59 moritz also, I want to try it on rakudo-generated PAST
15:00 jnthn No, no, QAST!
15:00 jnthn PAST is in the PAST. :P
15:01 moritz erm, right
15:01 robinsmidsrod joined #perl6
15:02 moritz still the stage is called past, not QAST :-)
15:02 jnthn Hm, yeah
15:02 jnthn Maybe we should just call the stage "ast"...
15:03 rindolf Hi all.
15:03 rindolf Hi masak , moritz , jnthn
15:03 jnthn o/ rindolf
15:03 masak ehlo rindolf.
15:03 rindolf What's up?
15:03 masak :)
15:04 masak moritz' QAST dumper was just put up.
15:04 * jnthn threw up a patch that killed a nasty hack earlier :)
15:04 masak I'm setting up my talk for LPW.
15:04 jnthn uh, that came out kinda wrong... :)
15:04 masak those nasty hacks, kill 'em...
15:05 jnthn Yes, but not by throwing up :P
15:05 masak shoot 'em up.
15:05 masak jnthn: VDD? -- vomit-driven development.
15:05 masak the thing one does after Vodka-Driven Development.
15:06 sirrobert is there a link that always points to a .tgz of the latest rakudo star?
15:06 sirrobert a url for
15:07 moritz I'm not aware of any
15:08 sirrobert ok, thanks =)
15:09 tokuhiro_ joined #perl6
15:11 moritz maybe I should put one on rakudo.de
15:16 sirrobert This seems to work
15:16 sirrobert https://github.com/rakudo/​star/archive/master.tar.gz
15:16 moritz no
15:16 sirrobert no?
15:16 moritz well, it seems to work
15:16 sirrobert heh
15:16 moritz but you don't want to download the sources of star
15:16 moritz but rather the product of running 'make' in the sources
15:16 sirrobert ok
15:17 sirrobert is that the https://github.com/downloads/rakud​o/star/rakudo-star-2012.10.tar.gz
15:17 sirrobert those are the ones I want?
15:17 sirrobert because that's what I've been using... =)
15:18 moritz https://github.com/downloads/rakud​o/star/rakudo-star-2012.10.tar.gz is correct
15:18 sirrobert ok, great
15:19 sirrobert for now I'll cannonize 2012.10, and deal with getting the most recent version sometime later =)
15:19 tokuhiro_ joined #perl6
15:20 fgomez joined #perl6
15:29 am0c joined #perl6
15:32 Woodi how to import (inline perl6 file maybe?) common configuration into test files ? eg. ip address of test server, user name, ant things like that. or config modules need to be used ?
15:39 moritz Woodi: well, you can read data from a JSON file, or write a module that exports a sub that provides the information, or eval a string read from a file that contains the info
15:40 moritz or do any number of other things
15:40 sirrobert Woodi:  Config::INI works pretty well for my purposes so far (in the ecosystem)
15:42 Woodi I thinked using any module for assigning few varibles is overkill :) will try with eval.
15:43 Woodi thanx moritz++
15:43 sirrobert module just makes it extensible and portable... no real extra overhead.  But as you like it =)
15:46 fgomez joined #perl6
15:47 zjmarlow joined #perl6
15:57 am0c joined #perl6
16:05 Moukeddar joined #perl6
16:12 tipdbmp I need to substitue '\"' with '"', i.e a backslash followed by a double quotes to be substituted by only a double quotes mark (").
16:13 tipdbmp Globaly.
16:13 dalek nqp/qast-dumper: bcb136c | moritz++ | src/HLL/Compiler.pm:
16:13 dalek nqp/qast-dumper: make new QAST dumper available from --target=past
16:13 dalek nqp/qast-dumper: review: https://github.com/perl6/nqp/commit/bcb136cb29
16:13 dalek nqp/qast-dumper: 9bbb138 | moritz++ | src/QAST/ (2 files):
16:13 dalek nqp/qast-dumper: make QAST dumper output a wee bit prettier
16:13 dalek nqp/qast-dumper: review: https://github.com/perl6/nqp/commit/9bbb138ea4
16:14 moritz tipdbmp: so, do it :-)
16:15 Moukeddar joined #perl6
16:16 Kharec joined #perl6
16:16 tipdbmp =)
16:17 tipdbmp $str ~~ s:g/'\"'/"/;
16:18 moritz r: $_ = Q[\"ab"c\"]; s:g/'\"'/"/; .say
16:18 p6eval rakudo 112307: OUTPUT«"ab"c"␤»
16:18 moritz r: $_ = Q[\"ab"c\"]; .=trans(Q[\"] => Q["]);  .say
16:18 p6eval rakudo 112307: OUTPUT«""ab"c""␤»
16:19 moritz r: $_ = Q[\"ab"c\"]; .=trans([Q[\"]] => [Q["]]);  .say
16:19 p6eval rakudo 112307: OUTPUT«"ab"c"␤»
16:20 zjmarlow_ joined #perl6
16:22 moritz $ ./perl6 --target=past lib/Test.pm |wc  2533   14125  208612
16:25 dalek nqp: 2cba446 | moritz++ | src/QAST/ (6 files):
16:25 dalek nqp: beginnings of a QAST dumper
16:25 dalek nqp: review: https://github.com/perl6/nqp/commit/2cba446ea9
16:25 dalek nqp: bcb136c | moritz++ | src/HLL/Compiler.pm:
16:25 dalek nqp: make new QAST dumper available from --target=past
16:25 dalek nqp: review: https://github.com/perl6/nqp/commit/bcb136cb29
16:25 dalek nqp: 9bbb138 | moritz++ | src/QAST/ (2 files):
16:25 dalek nqp: make QAST dumper output a wee bit prettier
16:25 dalek nqp: review: https://github.com/perl6/nqp/commit/9bbb138ea4
16:25 dalek nqp: bfaa6ae | moritz++ | src/ (8 files):
16:25 dalek nqp: Merge remote-tracking branch 'origin/qast-dumper'
16:25 dalek nqp: review: https://github.com/perl6/nqp/commit/bfaa6aed0f
16:27 Chillance joined #perl6
16:29 Psyche^ joined #perl6
16:30 Woodi r: my int $opt = 0x0011;
16:30 p6eval rakudo 112307:  ( no output )
16:31 Woodi I sometimes get 'Lexical '$opt' is of wrong register type in lexical lookup' for it...
16:32 moritz Woodi: on the REPL, yes
16:32 moritz known bug
16:33 Woodi in one script file it works and in another only without 'int'
16:37 masak I must've missed that bug. is it in RT?
16:40 Woodi adding line ^eval('say "a"');$ triggers this bug
16:41 Woodi r: eval('say "a"'); my int $opt = 0x0011;
16:41 p6eval rakudo 112307: OUTPUT«===SORRY!===␤Lexical '$opt' is of wrong register type in lexical lookup␤»
16:41 Woodi err :)
16:48 moritz r: my int $opt = 0x0011; eval('say "a"');
16:48 p6eval rakudo 112307: OUTPUT«===SORRY!===␤Lexical '$opt' is of wrong register type in lexical lookup␤»
16:48 * moritz submits rakudobug
16:49 moritz r: my int $opt = 0x0011; eval('');
16:49 p6eval rakudo 112307: OUTPUT«===SORRY!===␤Lexical '$opt' is of wrong register type in lexical lookup␤»
16:49 moritz r: my int $a; eval('');
16:49 p6eval rakudo 112307: OUTPUT«===SORRY!===␤Lexical '$a' is of wrong register type in lexical lookup␤»
16:52 Woodi damn bugs... I need to stop using eval...
16:52 moritz just write a module that exports a function that returns the values you want
16:52 moritz maybe as a hash or so
16:53 GlitchMr If I would make programming language, it intentionally wouldn't have eval()...
16:53 GlitchMr (but it intentionally would have goto because why not?)
16:53 Woodi I returned hash from eval and it was so nice
16:57 moritz jnthn: I read nqp/docs/qast.markdown in the hope of learning about QAST::Want, and at the end I found its documentation is empty :-/
16:58 TimToady jnthn: all that line is doing is copying the dba over to the current list of expectations at the highwater mark; the dba comes either from the syntactic category or from a dba attached to the ast, if you trace back to where $lexer->{DBA} is set
16:59 TimToady it's just a sort of cockpit recorder, really
16:59 TimToady using position in the input as a proxy for "recent"
17:00 TimToady and backtracking resets the recorder, much like landing an airplane does
17:01 TimToady GlitchMr: eval, goto, BEGIN and such are "features of last resort"
17:02 TimToady we call them "safety valves" sometimes
17:02 TimToady they're for doing things that the language designer didn't foresee sufficiently well to provide a sane way to do it
17:03 TimToady maybe the saying should be: Sane things should be easy, and insane things should be possible.
17:03 ponbiki lol
17:03 Woodi yes, me being lazy and wanting eval ended reinventing key = value config format :)
17:04 GlitchMr Let me guess, so insane things like adding goto to Python should be possible... and those were already done - http://entrian.com/goto/
17:04 GlitchMr I don't like eval() because it breaks many optimizations
17:04 TimToady sure, and BEGIN breaks the document model, and goto has its own issues
17:04 huf *that* is your main problem with it, not that it's horribly brittle and uncontrollable?
17:05 huf (string eval, i mean)
17:05 moritz GlitchMr: do you also dislike dynamic typing?
17:05 GlitchMr Yes, but I dislike typing like in C more.
17:05 GlitchMr I actually like typing like in Haskell more.
17:05 Woodi huf: perl6 syntax is controllable and self-verifing in that case :)
17:06 huf Woodi: inside a string eval?
17:06 GlitchMr Also, I don't like eval() because it breaks barrier between functions and keywords
17:06 GlitchMr eval can access local variables in many languages
17:06 buubot_backup GlitchMr: ERROR: syntax error at (eval 20) line 1, near "can access "
17:07 Woodi I do not like eval becouse it needs full interpreter at runtime...
17:07 GlitchMr That too
17:07 huf not having compile time at runtime is like missing a leg or 3
17:07 huf imho
17:07 Woodi would be realy nice to 'compile out' things to just what was used by programmer
17:07 moritz that's still possible
17:08 moritz you just have to start with detecting use of &eval
17:08 huf if (rand > 0.5) { *a = (These are the hard-hitting philosophical questions I come to reddit foreval }
17:08 huf errr dammit.
17:08 jnthn 'sakaughpt for an hour
17:08 huf that was a very odd mispaste
17:09 jnthn er, wrong window
17:09 jnthn wtf...everyone is doing the wrong stuff in here :P
17:09 huf but i summoned chtulhu jnthn!
17:09 GlitchMr Also, if you won't make eval keyword, somebody could do that
17:09 moritz also note that use and require are just like eval, except a bit different :-)
17:09 huf yeah :D
17:09 GlitchMr something := eval; something(blah);
17:09 GlitchMr And now everything can be eval()
17:09 GlitchMr And you could forget about most optimizations.
17:09 huf moritz: they have a few more walls
17:09 moritz huf: right
17:10 huf GlitchMr: what if it only does that if rand > 0.5?
17:10 GlitchMr Well, it isn't pure function ;-)
17:10 huf otherwise foo becomes eval and something is just a noop.
17:10 GlitchMr (but I guess it doesn't matter)
17:10 moritz GlitchMr: sure, if you do stuff that defies optimizations, optimizations won't happen
17:10 moritz GlitchMr: that's true in every language
17:11 Woodi I talking about Parrot threads having something called 'interpreter'. for me program should *compile* to native code and execute that :)
17:11 GlitchMr >>> blah = eval
17:11 GlitchMr function eval() { [native code] }
17:11 GlitchMr >>> blah('2+2')
17:11 GlitchMr 4
17:11 GlitchMr JavaScript
17:11 huf Woodi: what if it cant
17:11 GlitchMr Except, JavaScript "solves" that problem by inventing "global eval" in ES5
17:12 moritz Woodi: don't judge parrot interpreters by their names
17:12 huf Woodi: what if the path you want to go down is only known at runtime?
17:12 Woodi huf: if can't then ok. but why keep all machinery all the time ?
17:12 GlitchMr But that makes stupid things, like [eval][0](something) not doing what eval(something) does
17:12 huf so you can jump back to compile time whenever you need
17:12 Woodi yes, I am speculating by 'name'...
17:13 Woodi huf: moust of the time program do-ings are known me think. outlaw runtime eval :)
17:13 jnthn The REPL bug and the eval bug with natively typed lexicals are the same underlying issue.
17:13 GlitchMr I also dislike super() function in Python 3 for being too magical.
17:13 jnthn So fixing one will fix the other...
17:14 Woodi jnthn: pls hire someone :) or few someones :)
17:15 jnthn TimToady: Yeah, I'm trying to work out exactly where I hang the DBA info from. I see it's described just after the DFA and NFA stuff, so I'm guessing it's a "property" of a particular regex. But that feels not quite right as STD seems to have different DBAs on alternation branches...
17:15 moritz I know I've tried it once
17:16 jnthn Woodi: Hire someone to do what I do so I can just do Perl 6? :)
17:16 TimToady jnthn: the HIGHEXPECT message is only useful some of the time, though it does educate the user to the fact that the parser is expecting different things at different points
17:17 Woodi can be! but I just was tinking about more perlers :)
17:17 huf jnthn: you're already famous for perl6 and we dont know what else you do, so clearly your perl6 job is the more important and worthy ;)
17:18 jnthn std: 1 +
17:18 p6eval std 04216b1: OUTPUT«[31m===[0mSORRY![31m===[0m�Bogus term at /tmp/6l8Vuct22A line 1 (EOF):�------> [32m1 +[33m�[31m<EOL>[0m�Parse failed�FAILED 00:00 42m�»
17:18 jnthn Hm, that didn't trigger it :)
17:18 jnthn 1 R 5
17:18 jnthn std: 1 R 5
17:18 p6eval std 04216b1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confused at /tmp/dRQsB489Fz line 1:â�¤------> [32m1 R[33mâ��[31m 5[0mâ�¤    expecting infix or meta-infixâ�¤Parse failedâ�¤FAILED 00:00 42mâ�¤Â»
17:19 Woodi and one day jnthn++ will decide he want to do that PhD :)
17:19 jnthn .oO( But my head is already permanently damaged... )
17:20 jnthn TimToady: So in the above case, we're in infixish, and there's a :dba there
17:20 jnthn TimToady: What exactly does that :dba attach to and when do we encounter it?
17:21 jnthn std: 1 R[] 5
17:21 p6eval std 04216b1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/WE8R2hIsen line 1:â�¤------> [32m1 R[33mâ��[31m[] 5[0mâ�¤    expecting any of:â�¤     infix or meta-infixâ�¤    infixed functionâ�¤Parse failedâ�¤FAILED 00:00 43mâ�¤Â»
17:21 jnthn And why does that one suggest "infixed function" rather than "backeted infix"?
17:26 TimToady well, that could be a bug
17:27 moritz std: say 1 R[&atan2] 2
17:27 p6eval std 04216b1: OUTPUT«ok 00:00 45m␤»
17:27 moritz that's an infixed function, no?
17:27 jnthn Right
17:27 TimToady std: say 1 R[& 2
17:27 p6eval std 04216b1: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse bracketed infix at /tmp/vml2Bnho0W line 1:�------> [32msay 1 R[33m�[31m[& 2[0m�Couldn't find final ']'; gave up at /tmp/vml2Bnho0W line 1:�------> [32msay 1 R[&[33m�[31m 2[0m�Parse failed�FAILED 00:00 42m�»…
17:28 TimToady std: say 1 [] 2
17:28 p6eval std 04216b1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/RmfnH0SFha line 1:â�¤------> [32msay 1 [33mâ��[31m[] 2[0mâ�¤    expecting any of:â�¤  infix or meta-infixâ�¤    infixed functionâ�¤       statement modifier loopâ�¤Parse failedâ�¤FAILED 00:00 44mâ�¤Â»
17:28 TimToady std: say 1 [R] 2
17:28 p6eval std 04216b1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/MAlL57WMu3 line 1:â�¤------> [32msay 1 [[33mâ��[31mR] 2[0mâ�¤    expecting any of:â�¤ infix or meta-infixâ�¤    infix_prefix_meta_operatorâ�¤     infixed functionâ�¤Parse failedâ�¤FAILED 00:00 43mâ�¤Â»
17:28 moritz std: [R]
17:28 p6eval std 04216b1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    'R' used at line 1â�¤Check failedâ�¤FAILED 00:00 43mâ�¤Â»
17:29 TimToady std: [R/]
17:29 p6eval std 04216b1: OUTPUT«ok 00:00 41m␤»
17:29 TimToady might be overbacktracking somewhere in there
17:30 TimToady though it has to do backtracking on a [] that might be a composer
17:30 TimToady that doesn't explain why the earlier one got the wrong dba
17:31 TimToady though I guess it's basically saying that [] isn't an  infix operator
17:31 TimToady on the R[] one
17:32 jnthn *nod*
17:32 jnthn Will ponder it some.
17:32 jnthn Gonna be a bit tight for tuits in the next week or two, but I want to try and give Rakudo's error reporting a shove STDwards for the December release.
17:33 TimToady it's probably not committing to the [ because infixish has to be backtrackable to term:reduce
17:36 jnthn Hm, seems HIGHEXPECT gets diddled in the lookahead too
17:36 TimToady though we might be able to throw a suppose into term:reduce to catch any panic that infixish throws
17:37 jnthn Which makes sense, and makes me worry just a bit that this mechanism is very coupled to Cursor.
17:37 jnthn (Most user grammars won't have a HIGHEXPECT.)
17:41 TimToady yes, hard to know how to generalize the concept
17:42 TimToady I wonder how Haskell's parsec handles it...
17:44 TimToady well, likely it doesn't "diddle" things in the first place, since diddling is not allowed in Haskell :)
17:44 TimToady the fact that we're using dynamic vars to emulate what should probably be ast attributes is a design smell
17:45 TimToady but we're trying to avoid copying around gobs of data every time we clone an immutable cursor
17:46 TimToady doubtless it comes back to referential issues and cons lists...
17:46 japhb phenny, botsnack
17:46 phenny japhb: 11:28Z <jnthn> tell japhb Interpolation at end of heredoc and indentation interaction bug now fixed.
17:47 japhb jnthn++ # Thanks!
17:47 * japhb starts big rebuild
17:47 jnthn Well, one thing Pm and I had discussed is that Cursor currently points to orig (the original string) and target (what we're actually scanning, which is forced to be fixed width), and that we could save a word and a copy per Cursor by pulling them out into a datastructure we keep around for the whole parse.
17:47 TimToady and it's probably way overkill to be using a hash for HIGHEXPECT, if it could be cheap cons lists hanging off the ast
17:48 jnthn We also noted that other things could maybe hang off that, but the contextual nature of HIGHEXPECT makes it feel like a not so ideal candidate at first blush...
17:49 jnthn The thing that's making me worry about this is that a bunch of things seem to hinge on it
17:49 TimToady we could make cursors even cheaper to copy if we kept attrs in a cons list instead of a hash, I suspect
17:49 TimToady there are never that many of them
17:49 jnthn For example, the two terms in a row reporting is:
17:49 jnthn if $x ~~ /infix|nofun/ and not $x ~~ /regex/ and not $x ~~ /infix_circumfix/ {
17:49 jnthn attrs as in, position, target, etc?
17:50 jnthn For us Cursor is an object and at least pos is natively typed.
17:50 TimToady pos is probably usefully native
17:50 jnthn Matches have to/from as native too, I think.
17:50 TimToady but I'm thinking more of the various annotations that you don't want to back into the type of cursor
17:50 TimToady *bake
17:51 jnthn Ah, OK
17:51 TimToady we have two fighting type systems in cursor
17:51 TimToady (at least)
17:51 TimToady the "current language" vs "the current parse results"
17:52 TimToady so it gets to be MIish if we start defining classes to hold results as natives
17:53 TimToady I suppose a single level of indirection to a result struct could separate the two clashing type systems
17:53 TimToady then the result struct could have C-ish classes for native results
17:55 TimToady so basically most of the ad hoc stuff that goes into a Cursor's attr hash could be shoved down a pointer indirection to cheapen at least some of the Cursor copying
17:56 TimToady and I'm just pointing out that the pointer or pointers could point to one or more cons lists, when there are just a few attributes to carry (such as the list of expectations we hit at this point)
17:56 TimToady and adding another expectation is cheap if you just link to the front of the cons lits
17:56 TimToady *list
17:56 nebuchadnezzar joined #perl6
17:56 jnthn Hm, interesting...
17:57 TimToady hashes are not cheap to copy in FPland, I think
17:57 TimToady to use cons lists like that, one must isolate the spots that can benefit from referential integrity
17:58 TimToady immutable list tails work, but mutable ones, not so much
17:59 TimToady otoh, it kinda depends on whether the scoping of the AST matches the dynamic scoping that HIGHEXPECT is traversing
18:00 TimToady things go inside out sometimes when you are backtracking into a rule
18:02 TimToady but usually I think dynamic vars are the wrong solution, at least when you have lazy lists that can escape the dynamic scope, and call back into matchers after you've left the dynamic scope that was in effect to establing the lazy list of cursors
18:03 TimToady *blish
18:03 TimToady weird typo
18:04 TimToady 'course, cons lists aren't necessarily going to be cheap on a given VM
18:05 * TimToady tries again feebly to backlog...
18:05 * jnthn tries feebly to take all of this in and figure out what's needed :)
18:09 cognominal joined #perl6
18:15 Woodi sirrobert: I ended panding Config::INI :)
18:17 rindolf joined #perl6
18:26 * TimToady wonders if there's the possibility of an awesome warning for 10 +- 3
18:27 Moukeddar joined #perl6
18:27 TimToady not that anyone would write that particular nonexistent operator, but there are probably some more likely ones
18:28 TimToady is there any use case for writing <infix><prefix><ws><term> that would produce false positives?
18:28 TimToady perhaps a scan of existing p6 code is in order
18:28 pmurias joined #perl6
18:29 pmurias moritz: have you seen the qast dumper I'm using for rakudo-js?
18:29 TimToady not sure where the best place to install such a warning is either...
18:30 rindolf Hi all.
18:30 TimToady it would also tend to dampen the fun of people who construct fake operators and name them
18:30 rindolf TimToady: hi, what's new?
18:31 rindolf pmurias: what is rakudo-js?
18:33 TimToady rindolf: just trying to figure out if it's worth warning when someone thinks they're writing a complicated infix that turns out to be an infix plus a prefix
18:33 * Woodi noticed that evaled configs from Perl6 code keeps types (eg. Str) when keys from Config::INI are jus Any...
18:34 kaare_ joined #perl6
18:36 whiteknight joined #perl6
18:42 pmurias rindolf: rakudo's js backend (I'm still working on compiling nqp to js)
18:44 SamuraiJack_ joined #perl6
18:46 rindolf TimToady: ah, OK.
18:47 rindolf pmurias: ah nice, will Perlito help?
18:48 pmurias joined #perl6
18:50 pmurias TimToady: 123 * - $a
19:02 TimToady pmurias: what I'm asking is: would anyone have a good reason for writing 123 *- $a ?
19:02 TimToady (generally speaking)
19:06 zby_home_ joined #perl6
19:09 dalek perl6-bench: b9d4995 | (Geoffrey Broadwell)++ | bench:
19:09 dalek perl6-bench: Remove workaround for qq:to bug fixed by jnthn++
19:09 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/b9d499563f
19:09 jnthn TimToady: Giving a secret operators talk :D
19:10 Woodi TimToady: this example is clear programmer error for me. but other constructs, especially that invented in Perl6 can be less intuitive... $a >>-$b maybe
19:11 TimToady I've got a speculative warning in STD; we can play with it for a while
19:12 masak today's mini-challenge: find the most credible looking infix+prefix pair :)
19:12 masak credible-looking*
19:13 GlitchMr $something but not $something
19:13 GlitchMr Does it count?
19:14 jnthn No, it has to lack space :)
19:14 masak right.
19:14 masak rn: say 4 -? 5
19:14 pmurias joined #perl6
19:14 p6eval rakudo 112307, niecza v22-32-gee5dcf1: OUTPUT«3␤»
19:14 masak it's "conditional subtraction" :P
19:14 GlitchMr $something but! $something
19:14 jnthn cute :)
19:14 masak GlitchMr: yes, good one.
19:14 masak rn: 2 **? 3
19:14 p6eval rakudo 112307, niecza v22-32-gee5dcf1:  ( no output )
19:15 masak rn: say 2 **? 3
19:15 p6eval rakudo 112307, niecza v22-32-gee5dcf1: OUTPUT«2␤»
19:15 masak rn: my $a = 42; say $a +++ 3
19:15 p6eval niecza v22-32-gee5dcf1: OUTPUT«[31m===[0mSORRY![31m===[0m��Postfix found where infix expected (change whitespace?) at /tmp/5JbuUMFY0B line 1:�------> [32mmy $a = 42; say $a [33m�[31m+++ 3[0m��Parse failed��»
19:15 p6eval ..rakudo 112307: OUTPUT«Cannot assign to a non-container␤  in sub prefix:<++> at src/gen/CORE.setting:3070␤  in block  at /tmp/hSqlwRnKLH:1␤␤»
19:15 GlitchMr $something but! $something is actually $something, but when used in Bool context, it returns opposite of itself.
19:15 masak rn: my $a = 42; say $a\ +++ 3
19:15 p6eval rakudo 112307, niecza v22-32-gee5dcf1: OUTPUT«45␤»
19:15 GlitchMr (I guess it's good enough)
19:15 diakopter rn: say 3||+||3
19:15 p6eval niecza v22-32-gee5dcf1: OUTPUT«3␤»
19:15 p6eval ..rakudo 112307: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&prefix:<|>' called (lines 1, 1)␤»
19:15 GlitchMr What is... 3||+||3
19:15 GlitchMr ?
19:16 GlitchMr How does that even work
19:16 masak GlitchMr: heavy curtain plus.
19:16 masak rn: say "foo" ~+~ "bar"
19:17 p6eval niecza v22-32-gee5dcf1: OUTPUT«Unhandled exception: Cannot parse number: bar␤  at /home/p6eval/niecza/lib/CORE.setting line 1443 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3542 (ANON @ 11) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3544 (NumSyntax.str2num @ 5) ␤  at …
19:17 p6eval ..rakudo 112307: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏bar' (indicated by ⏏)␤  in method Str at src/gen/CORE.setting:10148␤  in method Stringy at src/gen/CORE.setting:825␤  in sub infix:<~> at src/gen/CORE.setting:1125␤  in block  …
19:17 masak rn: say "foo" ~&~ "bar"
19:17 GlitchMr || is operator. + is prefix and | is prefix too?
19:17 p6eval niecza v22-32-gee5dcf1: OUTPUT«Unhandled exception: Buffer bitops NYI␤  at /home/p6eval/niecza/lib/CORE.setting line 1443 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3345 (infix:<~&> @ 4) ␤  at /tmp/iQ8mvjsvMT line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.settin…
19:17 p6eval ..rakudo 112307: OUTPUT«bab␤»
19:17 masak GlitchMr: right.
19:17 masak r: say 4 //\\ 5
19:17 p6eval rakudo 112307: OUTPUT«===SORRY!===␤You can't backslash that at line 2, near " 5"␤»
19:17 masak dang.
19:17 GlitchMr ~& is operator?
19:17 GlitchMr Stringwise and
19:18 masak r: say "foo" ~~~ "foo"
19:18 p6eval rakudo 112307: OUTPUT«True␤»
19:18 GlitchMr That actually is confusing
19:18 GlitchMr ~~~ is so confusing that it should be disallowed (not really)
19:19 masak GlitchMr: absolutes are so much better when stated with a "(not really)" after them. :P
19:19 GlitchMr :P
19:20 TimToady actually, ~~~ is what I was using as a test for my patch :)
19:21 GlitchMr I propose new operator: `
19:21 GlitchMr It's purpose is to confuse everybody.
19:21 GlitchMr It does nothing
19:21 masak GlitchMr: infix, prefix, or postfix?
19:22 GlitchMr both
19:22 GlitchMr (I know, "both" doesn't apply to three options)
19:22 masak r: say so "foo" &~ "bar"
19:22 p6eval rakudo 112307: OUTPUT«True␤»
19:23 masak r: say "foo" !~~~ "bar"
19:23 p6eval rakudo 112307: OUTPUT«True␤»
19:24 GlitchMr > 2.5 !%%! 8
19:24 GlitchMr True
19:24 GlitchMr (is left argument floating point number operator)
19:24 masak nice.
19:24 GlitchMr (the right argument is "ignored")
19:25 sorenso joined #perl6
19:28 dalek std: 93d8861 | larry++ | STD.pm6:
19:28 dalek std: add conjectural warning on <infix><prefix>\s
19:28 dalek std: review: https://github.com/perl6/std/commit/93d8861a12
19:29 TimToady does 'rebuild' work again?
19:30 TimToady evalbot: rebuild std
19:30 TimToady and was that the syntax?
19:30 TimToady evalbot help
19:30 TimToady enobot I guess
19:31 TimToady p6eval: rebuild std
19:32 TimToady p6eval help
19:32 p6eval TimToady: Usage: <(star|pugs|nqp|b|std|niecza|rakudo|nom|npr|n|r​|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program>
19:32 TimToady hmm...
19:34 TimToady evalbot rebuild std
19:34 p6eval OK (started asynchronously)
19:34 Woodi rn: my %h; %h<a> = 1;    my %g<a> = 2;
19:34 p6eval niecza v22-32-gee5dcf1: OUTPUT«[31m===[0mSORRY![31m​===[0mâ�¤â�¤Postconstraints, and shapes on variable declarators NYI at /tmp/GclvUlgrp_ line 1:â�¤------> [32mmy %h; %h<a> = 1;    my %g<a> [33mâ��[31m= 2;[0mâ�¤â�¤Potential difficulties:â�¤  %g is declared but not used at /tmp/GclvUlgrp_ line…
19:34 p6eval ..rakudo 112307: OUTPUT«===SORRY!===␤Shaped variable declarations is not yet implemented. Sorry. ␤at /tmp/3edZUf5Rt7:1␤»
19:35 pmurias joined #perl6
19:35 TimToady rn: my %h; %h.<a> = 1; my %g.<a> = 2;
19:35 p6eval niecza v22-32-gee5dcf1: OUTPUT«Potential difficulties:â�¤  %g is declared but not used at /tmp/Hh1nUOFmXp line 1:â�¤------> [32mmy %h; %h.<a> = 1; my [33mâ��[31m%g.<a> = 2;[0mâ�¤â�¤Â»
19:35 p6eval ..rakudo 112307: OUTPUT«===SORRY!===␤Confused␤at /tmp/USX74mdAWN:1␤»
19:35 GlitchMr http://codegolf.stackexchange.com/a/9010/3103
19:35 GlitchMr I won with... polyglot?
19:36 * TimToady makes a polyglottal stop
19:37 pmurias rindolf: Perlito5 could be usefull for perl5 interop
19:37 TimToady std: 1 ~~~ 2
19:37 p6eval std 93d8861: OUTPUT«Potential difficulties:â�¤  ~~~ is not an infix operator (to suppress warning put space between infix ~~ and prefix ~) at /tmp/210ElUZs2O line 1:â�¤------> [32m1 ~~[33mâ��[31m~ 2[0mâ�¤ok 00:00 42mâ�¤Â»
19:37 TimToady \o/
19:37 TimToady have at it, mates!
19:37 GlitchMr :-)
19:38 GlitchMr std: 1~~~2
19:38 p6eval std 93d8861: OUTPUT«ok 00:00 42m␤»
19:38 GlitchMr std: 1~~~ 2
19:38 p6eval std 93d8861: OUTPUT«Potential difficulties:â�¤  ~~~ is not an infix operator (to suppress warning put space between infix ~~ and prefix ~) at /tmp/boIKF9DVoq line 1:â�¤------> [32m1~~[33mâ��[31m~ 2[0mâ�¤ok 00:00 42mâ�¤Â»
19:38 GlitchMr std: 1 ~~~2
19:38 p6eval std 93d8861: OUTPUT«ok 00:00 42m␤»
19:38 GlitchMr :-)
19:38 GlitchMr Thanks for not blocking 1~~~2
19:39 GlitchMr (well, ok, it's just a warning)
19:39 TimToady std: say "foo" !~~~ "bar"
19:39 p6eval std 93d8861: OUTPUT«ok 00:00 42m␤»
19:39 TimToady ah, it suppresses on in_meta
19:39 GlitchMr But... how does THAT avoid warning
19:39 TimToady maybe it shouldn't
19:39 GlitchMr Isn't it "foo" !~~ (~"bar")?
19:40 TimToady it was intended to suppres [~~~]
19:40 TimToady std: 1 [~~~] 2
19:40 p6eval std 93d8861: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse bracketed infix at /tmp/jgyTMxxk3b line 1:�------> [32m1 [33m�[31m[~~~] 2[0m�Couldn't find final ']'; gave up at /tmp/jgyTMxxk3b line 1:�------> [32m1 [~~[33m�[31m~] 2[0m�Parse failed�FAILED 00:00 42m�»…
19:40 TimToady but I guess we don't have any prefixes that start with ] or a hyper
19:41 TimToady so we can try relaxing that
19:41 GlitchMr std: sub infix:<]>($a, $b) { #`(it's just syntax checkk...) }; 2 ] 3
19:41 p6eval std 93d8861: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unexpected closing bracket at /tmp/fagrAujwXX line 1:â�¤------> [32m) { #`(it's just syntax checkk...) }; 2 [33mâ��[31m] 3[0mâ�¤Other potential difficulties:â�¤  $b is declared but not used at /tmp/fagrAujwXX line 1:â�¤------> [32msub infix:…
19:41 GlitchMr I guess I'm not allowed to do this
19:41 TimToady the closing brackets are hardwired terminators
19:42 GlitchMr std: sub infix:<>($a, $b) {} 2 3
19:42 p6eval std 93d8861: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Null operator is not allowed at /tmp/lGEEnwr7et line 1:â�¤------> [32msub infix:<>[33mâ��[31m($a, $b) {} 2 3[0mâ�¤Other potential difficulties:â�¤  Pair with <> really means a Nil value, not null string; use :('') to represent the null stri…
19:42 GlitchMr std: sub infix:[]($a, $b) {} 2 3
19:42 TimToady nyaa nyaa
19:42 p6eval std 93d8861: OUTPUT«[31m===[0mSORRY![31m===[0m�Null operator is not allowed at /tmp/_hgLwMTdyb line 1:�------> [32msub infix:[][33m�[31m($a, $b) {} 2 3[0m�Parse failed�FAILED 00:00 42m�»
19:42 GlitchMr std: sub infix:[""]($a, $b) {} 2 3
19:42 p6eval std 93d8861: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/4ljCp5Vdgy line 1:â�¤------> [32msub infix:[""]($a, $b) {}[33mâ��[31m 2 3[0mâ�¤    expecting any of:â�¤     horizontal whitespaceâ�¤  infix or meta-infixâ�¤    infixed functio…
19:42 GlitchMr std: sub infix:[""]($a, $b) {}; 2 3
19:42 p6eval std 93d8861: OUTPUT«Potential difficulties:â�¤  $b is declared but not used at /tmp/qJDWxS4v2v line 1:â�¤------> [32msub infix:[""]($a, [33mâ��[31m$b) {}; 2 3[0mâ�¤  $a is declared but not used at /tmp/qJDWxS4v2v line 1:â�¤------> [32msub infix:[""]([33mâ��[31m$a, $b) {}; 2 3[0mâ�¤ok 00:00 47…
19:42 GlitchMr How did THAT worked?
19:43 dalek std: e17ff6a | larry++ | STD.pm6:
19:43 dalek std: relax in_meta check so !~~~ is caught
19:43 dalek std: review: https://github.com/perl6/std/commit/e17ff6a846
19:44 TimToady well, you confused it into defining a null infix operator, which will have vast repercussions
19:44 TimToady it will disable most of the errors that are based on TTIAR
19:45 GlitchMr TTIAR?
19:45 TimToady two terms in a row
19:45 GlitchMr Two terms in a row/
19:46 TimToady evalbot rebuild std
19:46 p6eval OK (started asynchronously)
19:47 Woodi how to cast hash key to Str ?
19:48 GlitchMr Isn't hash key Str already?
19:48 Woodi NativeCall do not think so...
19:48 GlitchMr > ('a' => 'b').kv[0]
19:48 GlitchMr a
19:49 GlitchMr > ('a' => 'b').kv[0].WHAT
19:49 GlitchMr Str()
19:53 sorear good * #perl6
19:53 Woodi hallo sorear
19:53 Woodi actually it work except for keys ambading '='...
19:54 TimToady testing a fix for infix:[""]
19:56 colomon \o
19:57 masak sorear! \o/
20:17 GlitchMr std: 2 ~~~~ 5
20:17 p6eval std 93d8861: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Expecting a term, but found either infix ~~ or redundant prefix ~â�¤  (to suppress this message, please use space between ~ ~) at /tmp/Uo13mUA7rF line 1:â�¤------> [32m2 ~~~~[33mâ��[31m 5[0mâ�¤Parse failedâ�¤FAILED 00:00 42mâ�¤Â»
20:17 GlitchMr std: 2 ?? 3 !!!! 5
20:17 dalek std: d38bbd0 | larry++ | CursorBase.pmc:
20:17 dalek std: disallow all null and whitespacey ops
20:17 dalek std: review: https://github.com/perl6/std/commit/d38bbd02c1
20:17 p6eval std 93d8861: OUTPUT«ok 00:00 42m␤»
20:19 wamba joined #perl6
20:20 GlitchMr std: 2 ||+|| 3
20:20 p6eval std 93d8861: OUTPUT«ok 00:00 42m␤»
20:20 GlitchMr std: 2 ||+| 3
20:20 p6eval std 93d8861: OUTPUT«ok 00:00 42m␤»
20:20 GlitchMr std: 2 +| 3
20:20 p6eval std 93d8861: OUTPUT«ok 00:00 42m␤»
20:21 GlitchMr Shouldn't it warn?
20:23 TimToady +| is a valid infix
20:23 GlitchMr Oh, right
20:23 GlitchMr I forgot
20:23 TimToady and it only checks for 1 prefix before the space
20:23 GlitchMr std: 2 +|| 3
20:23 p6eval std 93d8861: OUTPUT«Potential difficulties:â�¤  +|| is not an infix operator (to suppress warning put space between infix +| and prefix |) at /tmp/sqwvXIYFT4 line 1:â�¤------> [32m2 +|[33mâ��[31m| 3[0mâ�¤ok 00:00 42mâ�¤Â»
20:32 diakopter rn: say 7&&&7
20:32 p6eval rakudo 112307, niecza v22-32-gee5dcf1: OUTPUT«Any()␤»
20:32 domidumont joined #perl6
20:34 TimToady std: sub infix:[""]($a, $b) {}; 2 3
20:34 p6eval std d38bbd0: OUTPUT«[31m===[0mSORRY![31m===[0m�Null operator is not allowed at /tmp/V7sgtcb7da line 1:�------> [32msub infix:[""][33m�[31m($a, $b) {}; 2 3[0m�Parse failed�FAILED 00:00 42m�»
20:34 TimToady std: sub infix:[" "]($a, $b) {}; 2 3
20:34 p6eval std d38bbd0: OUTPUT«[31m===[0mSORRY![31m===[0m�Whitespace is not allowed in an operator at /tmp/iDc8WfbEeb line 1:�------> [32msub infix:[" "][33m�[31m($a, $b) {}; 2 3[0m�Parse failed�FAILED 00:00 42m�»
20:36 TimToady std: sub circumfix:["$", ""]($a, $b) {}; 2 $ 3
20:36 p6eval std d38bbd0: OUTPUT«Use of uninitialized value $_ in pattern match (m//) at CursorBase.pm line 2722.�[31m===[0mSORRY![31m===[0m�Null operator is not allowed at /tmp/Jx5hASmbR9 line 1:�------> [32msub circumfix:["$", ""][33m�[31m($a, $b) {}; 2 $ 3[0m�Parse failed�FAILED 00:00 45m…
20:37 TimToady std: sub circumfix:['$', ""]($a, $b) {}; 2 $ 3
20:37 p6eval std d38bbd0: OUTPUT«[31m===[0mSORRY![31m===[0m�Null operator is not allowed at /tmp/jUtX741b5u line 1:�------> [32msub circumfix:['$', ""][33m�[31m($a, $b) {}; 2 $ 3[0m�Parse failed�FAILED 00:00 44m�»
20:43 zjmarlow_ joined #perl6
20:47 cognominal joined #perl6
20:57 fgomez joined #perl6
21:10 sorenso joined #perl6
21:21 dalek nqp: 98e8238 | moritz++ | src/QAST/WVal.nqp:
21:21 dalek nqp: [QAST dumper] add type of WVal value
21:21 dalek nqp: review: https://github.com/perl6/nqp/commit/98e8238ab6
21:34 bruges joined #perl6
21:37 bowtie joined #perl6
21:51 whiteknight joined #perl6
21:51 Moukeddar joined #perl6
21:52 Moukeddar joined #perl6
21:54 Moukeddar can you receive me ?
21:54 diakopter Moukeddar: hi
21:55 Moukeddar my irc client is behaving weird
21:55 Moukeddar diakopter, hola there
22:07 xenoterracide jnthn++
22:08 xenoterracide return ( require $module; ::($module) ).new; # I think I hard tried.   require $module; my $obj = ::($module).new; return $obj; what does the outer parens in the working code do for me?
22:14 jnthn xenoterracide: Hm, what you worte probably should work too... All they do is the require then the lookup, and a set of semicolon separated statements in parens just evaluates to the last statemnet
22:15 lue [Just thinking] have you tried  my $obj = (::($module)).new;  ?
22:18 geekosaur me wondered about that.  also about whether $module somehow had a wrong thing in scope that isn't in scope with the othetr
22:23 xenoterracide lue: I probably did not, but that's what I'm wondering what those second parens do
22:23 xenoterracide hrm
22:24 xenoterracide so are the parens like eval { }? in p5?
22:25 lue I don't think so. (But don't ask me -- I've never used P5)
22:29 xenoterracide maybe I was doing something else last night.... it appears the thing I said doesn't work does...
22:30 xenoterracide oh well
22:30 lue But hey, it works! :)
22:31 doy they're like do { }, not eval { }
22:42 zjmarlow_ joined #perl6
22:46 [Coke] phenny: ask jnthn you recently worked on a bug /like/ https://rt.perl.org/rt3/Ti​cket/Display.html?id=77064 (114362) - this one has slightly different expected (by the OP) behavior.
22:46 phenny [Coke]: I'll pass that on when jnthn is around.
22:47 xenoterracide anyone know a vim syntax highlighting that distinguishes a p6 variable from a method name in color?
22:48 xenoterracide notes that it might be the core p6 syntax recognition not the theme that's preventing it, but I'm not sure
22:55 moritz perl6.vim hilights them differently
23:08 masak 'night, #perl6
23:21 swarley joined #perl6
23:22 swarley What is a token in NQP? An informal definition or a link would be nice if someone could help me out
23:38 diakopter [Coke]++ again
23:49 swarley How do you specify a regexp like /(pattern)*/ in an NQP token?
23:53 raiph joined #perl6
23:54 raiph hi swarley
23:55 swarley hello
23:57 raiph Looks like you got token, right?
23:58 swarley Yeah, i figured out the token
23:58 swarley I'm just looking for a reference on the syntax of the regular expressions
23:58 swarley It still seems rather cryptic since I haven't seen a complete document on it

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo