Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-07-13

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:01 Util sorear: wait for 8
00:01 Util (imho)
00:09 wamba left #perl6
00:11 am0c left #perl6
00:12 thou \o/ November running on HTTP::Server::Simple::PSGI
00:14 thou erm, at least it shows the main page. dispatcher is messed up. :-P
00:17 impious joined #perl6
00:19 impious left #perl6
00:21 Util sorear: to state it better: I see no reason to make a .01 release, because the fix is only needed by people compiling from source, most of whom will be pulling HEAD from Git.
00:23 f00li5h joined #perl6
00:24 whiteknight joined #perl6
00:38 bitpart joined #perl6
00:42 kcwu joined #perl6
00:46 bitpart left #perl6
00:47 sorear Util: makes sense
00:52 donri joined #perl6
00:53 thou my celebration was premature
00:54 thou but i'm close; except that IO::Socket::INET  .send() isn't multi -- it only takes Str, so i can't serve images over HTTP
01:00 noganex_ joined #perl6
01:01 thou hrm, i see... HTTP::Server::Simple doesn't have POST support yet
01:01 thou (a separate issue from the IO::Socket:INET.send(Str $str) problem)
01:02 dorlamm joined #perl6
01:04 noganex left #perl6
01:04 sigsegv joined #perl6
01:07 dorlamm left #perl6
01:08 lichtkind joined #perl6
01:09 lichtkind thou: hai
01:09 thou hi
01:10 thou lichtkind: my dear friend, i'm not trying to avoid you, but my wife has just called me to dinner :-P
01:10 thou lichtkind: /msg me with your thoughts of the day :-)
01:10 offby1 swmbo, mbo.
01:12 lichtkind thou: i will tomorrow, my plan is still complete tablet 0 , time to sleep :)
01:12 lichtkind bye :)
01:12 thou bye!
01:12 lichtkind thou: currently writing a lot so we have to use when i have lot of time :)
01:12 thou left #perl6
01:13 lichtkind left #perl6
01:24 woosley joined #perl6
01:34 _jaldhar is now known as jaldhar
01:43 sigsegv left #perl6
01:45 slavik1 joined #perl6
01:48 dalek nqp/qregex: 838f6cd | pmichaud++ | / (5 files):
01:48 dalek nqp/qregex: Backtrack captures and backreferences.
01:48 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/838f6cd613
01:49 whiteknight left #perl6
01:51 neaer joined #perl6
02:07 molaf joined #perl6
02:12 Raynes EXTERMINATE!
02:16 am0c joined #perl6
02:52 pacho74 left #perl6
03:00 pacho741 joined #perl6
03:12 pacho741 left #perl6
03:20 agentzh joined #perl6
03:21 tomize left #perl6
03:22 tomize joined #perl6
03:23 Su-Shee_ joined #perl6
03:27 Su-Shee left #perl6
03:35 molaf left #perl6
04:12 satyavvd joined #perl6
04:27 tokuhir__ left #perl6
04:50 f00li5h is now known as MeowingLemur
04:52 am0c left #perl6
04:53 araujo left #perl6
04:54 araujo joined #perl6
04:55 MeowingLemur is now known as f00li5h
05:10 thou joined #perl6
05:11 [particle]1 joined #perl6
05:12 [particle] left #perl6
05:23 birdwindupbird joined #perl6
05:23 colomon left #perl6
05:26 cooper left #perl6
05:38 Jackneill joined #perl6
05:47 galf joined #perl6
05:47 galf left #perl6
05:53 wtw joined #perl6
05:54 Su-Shee_ is now known as Su-Shee
05:56 soh_cah_toa left #perl6
06:13 tokuhirom joined #perl6
06:28 f00li5h left #perl6
06:29 mberends left #perl6
06:59 daxim joined #perl6
07:01 thou left #perl6
07:04 jedai left #perl6
07:20 wamba joined #perl6
07:21 Mowah joined #perl6
07:35 dalek nqp/qregex: 63c3eb9 | pmichaud++ | src/ (2 files):
07:35 dalek nqp/qregex: Fix capture stack.
07:35 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/63c3eb92d1
07:35 dalek nqp/qregex: 12d91bf | pmichaud++ | src/QRegex/Cursor.nqp:
07:35 dalek nqp/qregex: Fix backref bug.
07:35 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/12d91bf3b6
07:35 dalek nqp/qregex: 527ad9c | pmichaud++ | src/QRegex/Cursor.nqp:
07:35 dalek nqp/qregex: Fix multiply-named captures.
07:35 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/527ad9c53a
07:35 dalek nqp/qregex: 27cbf0e | pmichaud++ | / (3 files):
07:35 dalek nqp/qregex: Add <ws> and <ident> builtins.
07:35 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/27cbf0ea51
07:35 dalek nqp/qregex: ae3f728 | pmichaud++ | / (2 files):
07:35 dalek nqp/qregex: Fix negated subrule bug.
07:35 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/ae3f72821f
07:35 dalek nqp/qregex: bdcdab8 | pmichaud++ | src/QRegex/P6Regex/Actions.nqp:
07:35 dalek nqp/qregex: Add negated charclass rule.
07:35 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/bdcdab8132
07:35 dalek nqp/qregex: 9763b75 | pmichaud++ | / (2 files):
07:35 dalek nqp/qregex: More builtin Cursor rules.
07:35 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/9763b75fc4
07:35 dalek nqp/qregex: 6f9184d | pmichaud++ | src/QRegex/ (2 files):
07:35 dalek nqp/qregex: Handle subrule composition; fix builtins at end of string.
07:35 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/6f9184da52
07:35 dalek nqp/qregex: 7fc16c7 | pmichaud++ | / (2 files):
07:35 dalek nqp/qregex: Zerowidth enumcharclass, restore tests.
07:35 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/7fc16c7efb
07:40 mj41 joined #perl6
07:41 jnthn morning, #perl6
07:43 sorear o/ and goodnight
07:44 jnthn Sleep well :)
07:48 Pathin joined #perl6
08:00 tadzik good morning
08:01 moritz \o
08:02 jnthn hi moritz, tadzik :)
08:12 dalek rakudo/nom: c47b816 | moritz++ | / (3 files):
08:12 dalek rakudo/nom: simplistic List.ACCEPTS, fix Array.push to return self
08:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c47b8167d2
08:17 Chillance joined #perl6
08:22 baest_ joined #perl6
08:22 meteorjay joined #perl6
08:24 baest left #perl6
08:27 am0c joined #perl6
08:30 im2ee joined #perl6
08:38 masak joined #perl6
08:38 masak morning, #perl6.
08:38 jnthn ahoj, asaka
08:38 jnthn wtf
08:38 jnthn masak
08:38 jnthn <- clearly not very awake yet :)
08:38 masak "asaka" sounds nice, too. :)
08:39 jnthn Would you object to masaka?
08:39 jnthn ;)
08:39 masak *ba doom dish*
08:40 dakkar joined #perl6
08:40 jnthn Time to go do some errands...nom hackin' afterwards :)
08:48 tokuhirom left #perl6
08:49 masak left #perl6
08:50 noganex_ is now known as noganex
08:59 daxim left #perl6
09:01 f00li5h joined #perl6
09:02 im2ee left #perl6
09:04 frettled Asaka Cmrl - not as good an anagram as the others
09:13 am0c left #perl6
09:23 pjcj left #perl6
09:31 pjcj joined #perl6
09:39 Grrrr EMACS-inspired: A-Crl-M-saka
09:43 cognominal_ joined #perl6
09:47 cognominal left #perl6
09:47 jdhore1 left #perl6
09:47 ZaphrodZenovka left #perl6
09:51 sjohnson1 joined #perl6
09:53 yath_ joined #perl6
09:54 donri_ joined #perl6
09:54 donri_ left #perl6
09:55 buubot_backup_ joined #perl6
09:56 woosley left #perl6
09:57 beek_ joined #perl6
10:01 sjohnson left #perl6
10:02 cognominal_ left #perl6
10:02 cognominal joined #perl6
10:05 yath left #perl6
10:05 buubot_backup left #perl6
10:05 PacoLinux left #perl6
10:05 donri left #perl6
10:05 buubot_backup_ is now known as buubot_backup
10:05 beek left #perl6
10:05 p6eval left #perl6
10:05 p6eval joined #perl6
10:19 ab5tract joined #perl6
10:23 Raghuram joined #perl6
10:23 PacoLinux joined #perl6
10:24 Raghuram I like to contribute to Perl 6....i dont know where to start with...can somebody throw some light
10:27 moritz Raghuram: welcome
10:27 moritz Raghuram: how would you like to contribute? write some Perl 6 modules? hack a compiler? write documentation?
10:28 Raghuram I can write some modules and also with documentation
10:28 moritz great! http://modules.perl6.org/ gives you an overview about what we have so far
10:29 moritz https://github.com/perl6/ecosystem/wiki/Most-Wanted%3A-Modules-to-write-port is a list of modules people want (but of course you can write other modules too)
10:29 moritz tadzik: could you please updated http://ttjjss.wordpress.com/2010/08/09/so-you-want-to-write-a-perl-6-module/ to the new standard at some point?
10:30 Raghuram thanks for your input...let me start from there...as i get some idea...let me come here and ping again
10:30 moritz tadzik: or maybe turn it into a page on modules.perl6.org, or in the panda wiki or so
10:30 flussence I was about to link to http://ali.as/top100/ , same idea, port the most-used p5 modules :)
10:30 moritz Raghuram: sure, you're always welcome here
10:30 moritz but now I need to get some lunch :-)
10:30 Raghuram enjoy your lunch
10:31 bloonix left #perl6
10:32 im2ee joined #perl6
10:34 araujo left #perl6
10:34 araujo joined #perl6
10:35 Raghuram left #perl6
10:37 dalek rakudo/nom: 422408b | jonathan++ | NOMMAP.markdown:
10:37 dalek rakudo/nom: Update nommap a little.
10:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/422408be63
10:37 dalek rakudo/nom: 197021d | jonathan++ | src/Perl6/ (2 files):
10:37 dalek rakudo/nom: Gut enum action method; align grammar with what STD parses.
10:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/197021dae5
10:38 Mowah left #perl6
10:38 Mowah joined #perl6
10:47 MayDaniel joined #perl6
10:49 baest_ is now known as baest
10:51 SHODAN joined #perl6
11:14 jlaire rakudo: 42.WHAT.Str.say
11:14 p6eval rakudo aeb12b: OUTPUT«Int()␤»
11:14 jlaire rakudo: [.] <42 WHAT Str say>
11:14 p6eval rakudo aeb12b: OUTPUT«===SORRY!===␤Confused at line 22, near "[.] <42 WH"␤»
11:14 jlaire heh
11:15 mls joined #perl6
11:15 mls jnthn: I uploaded a new version of the P6opaque diff: https://gist.github.com/1080114
11:17 jnthn mls: oh, nice...I'd got the original one queued up to apply today :)
11:17 mls I added the missing parts to mark_repr and free_repr
11:18 mls I also made the allocation of the gc_*_mark arrays more "on-demand", in the hope that some classes don't need them
11:19 jnthn +1
11:19 jnthn Looks good.
11:20 jnthn Yeah, any class the doesn't declare attributes won't need them.
11:20 jnthn Or any class taht only declares natively typed int/num attrs
11:21 mls Yes. It doesn't save much mem, but hey...
11:21 jnthn And making the str gc one lazy is a win for just about every class.
11:21 jnthn Well, every little helps :)
11:22 mls ok, I won't disturb your regex hacking anymore
11:23 jnthn Oh, it's pmichaud++ who is regex hacking :)
11:23 jnthn I'm working on enums at the moment. :)
11:23 jnthn Your patch (latest version) is building/testing locally. Thanks!
11:23 mls Ah, ok. Thought I read something about you and pm doing the last bits of regex  integration today ;-)
11:24 JimmyZ joined #perl6
11:24 jnthn ah, yes, there is that :)
11:24 * jnthn should probably start preparing for that soon too
11:26 mls okay, back to dayjob work for me. bye...
11:26 daxim joined #perl6
11:26 arnsholt These regex changes have the promise of LTM sometime in the future, no?
11:27 mls left #perl6
11:27 jnthn arnsholt: Correct.
11:27 JimmyZ I guess first NFA, then LTM, hehe
11:27 jnthn JimmyZ: LTM is implemented using NFA.
11:28 jnthn Or at least, can be :)
11:28 JimmyZ that's great
11:28 arnsholt Excellent. I suspect my Prolog really wants LTM for parsing
11:41 mtk joined #perl6
11:47 mtk left #perl6
11:47 mtk joined #perl6
11:48 dalek nqp: cdfcb78 | jonathan++ | src/6model/reprs/P6opaque. (2 files):
11:48 dalek nqp: Auto-viv memory and performance improvements, memory usage improvements and memory leak fixes for P6opaque. Patch courtesy of mls++.
11:48 dalek nqp: review: https://github.com/perl6/nqp/commit/cdfcb78477
11:53 MayDaniel left #perl6
11:55 satyavvd left #perl6
11:56 agentzh left #perl6
11:56 moritz .u phi
11:56 phenny U+03D5 GREEK PHI SYMBOL (ϕ)
11:57 takadonet morning all
12:01 jnthn hi, takadonet
12:01 takadonet jnthn: how are you sir?
12:02 jnthn takadonet: Well, thanks. Got vacation coming up soon :)
12:02 jnthn And you?
12:04 takadonet new baby, new house and lots of work to do :)
12:04 moritz another baby?
12:05 moritz if so, congratulations!
12:06 jnthn wow, sounds busy! good luck with it all :)
12:06 simcop2387 left #perl6
12:06 dalek rakudo/nom: ccc52e5 | jonathan++ | / (5 files):
12:06 dalek rakudo/nom: Start to stub in EnumHOW; nothing especially exciting yet.
12:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ccc52e5f5b
12:06 dalek rakudo/nom: 1084674 | jonathan++ | / (2 files):
12:06 dalek rakudo/nom: Stub in roles where we'll put extra methods that enumerations carry.
12:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1084674c48
12:06 dalek rakudo/nom: a8d4770 | jonathan++ | src/Perl6/Metamodel/BaseType.pm:
12:06 dalek rakudo/nom: Get BaseType to compute an MRO.
12:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a8d4770f3f
12:06 dalek rakudo/nom: ab16385 | jonathan++ | src/Perl6/ (2 files):
12:06 dalek rakudo/nom: Get enum action method along far enough to create and install the type object. No handling of the values just yet.
12:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ab16385705
12:07 takadonet moritz: our first and only :)
12:07 takadonet for now hehe
12:08 moritz takadonet: one is enough work for a start, I know :-)
12:14 Jackneill left #perl6
12:15 JimmyZ left #perl6
12:16 pmichaud good morning, #perl6
12:16 JimmyZ joined #perl6
12:17 moritz good am, pm
12:18 Holy_Cow joined #perl6
12:33 [Coke] partcl: puts [lrepeat 6 josh[string repeat - 2]]
12:33 p6eval partcl 3977a9: OUTPUT«josh-- josh-- josh-- josh-- josh-- josh--␤»
12:35 moritz what's wrong with josh?
12:36 [Coke] he's always hating on perl6. ;0
12:36 [Coke] er, ;)
12:36 [Coke] partcl: puts [lrepeat 5 josh[string repeat + 2]] ;# fine, fine.
12:36 p6eval partcl 3977a9: OUTPUT«josh++ josh++ josh++ josh++ josh++␤»
12:36 Holy_Cow left #perl6
12:37 JimmyZ lua: hi there
12:38 JimmyZ [Coke]: loop { }
12:38 dalek nqp/qregex: 62c9c31 | pmichaud++ | tools/build/Makefile.in:
12:38 dalek nqp/qregex: Update Makefile to always build QRegex.pbc and to install it.
12:38 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/62c9c3159d
12:38 dalek nqp/qregex: e48d8aa | pmichaud++ | tools/build/Makefile.in:
12:38 dalek nqp/qregex: Merge branch 'master' into qregex
12:38 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/e48d8aa207
12:39 dalek nqp/qregex: 9839f38 | pmichaud++ | src/6model/reprs/P6opaque. (2 files):
12:39 dalek nqp/qregex: Merge branch 'master' into qregex
12:39 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/9839f38fea
12:40 dalek rakudo/qregex: 96eb9e1 | pmichaud++ | src/Perl6/ (3 files):
12:40 dalek rakudo/qregex: Load the QRegex library from NQP for regex support.
12:40 dalek rakudo/qregex: review: https://github.com/rakudo/rakudo/commit/96eb9e166b
12:40 moritz what does the "Q" in "QRegex" stand for?
12:40 JimmyZ Quicker Regex?
12:40 moritz Quasi Regex?
12:41 jnthn P++ :)
12:41 moritz Quadrature?
12:41 moritz erm, ++P would be Q :-)
12:42 Jackneill joined #perl6
12:42 pmichaud It's just the letter after P.  Or it emphasizes the 'Q' in 'nQp'  :-)
12:43 [Coke] Qi.
12:49 Holy_Cow joined #perl6
12:49 Holy_Cow left #perl6
12:51 molaf joined #perl6
12:57 dalek nqp: 6612b1f | jonathan++ | src/how/NQP (2 files):
12:57 dalek nqp: A renaming to standardize the meta-role specialization API between NQP and Rakudo.
12:57 dalek nqp: review: https://github.com/perl6/nqp/commit/6612b1fa2e
13:03 tadzik moritz: yeah, sure
13:03 tadzik one day :)
13:04 simcop2387 joined #perl6
13:17 dalek nqp: 0e40138 | jonathan++ | src/how/NQPConcreteRoleHOW.pm:
13:17 dalek nqp: Add missing .^does_list to NQPConcreteRoleHOW.
13:17 dalek nqp: review: https://github.com/perl6/nqp/commit/0e40138634
13:18 dalek rakudo/nom: c6ec331 | jonathan++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
13:18 dalek rakudo/nom: Update RoleToClassApplier so it can handle NQP roles.
13:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c6ec331dd6
13:21 drbean left #perl6
13:22 fbou joined #perl6
13:23 fbou perl6: "42".say
13:23 p6eval pugs, rakudo aeb12b, niecza v7-30-gaf607ad: OUTPUT«42␤»
13:23 fbou perl6: "Hallo Welt !!!".say
13:23 p6eval pugs, rakudo aeb12b, niecza v7-30-gaf607ad: OUTPUT«Hallo Welt !!!␤»
13:27 fbou left #perl6
13:28 [particle]1 is now known as [particle]
13:28 dalek rakudo/qregex: c6ec331 | jonathan++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
13:28 dalek rakudo/qregex: Update RoleToClassApplier so it can handle NQP roles.
13:28 dalek rakudo/qregex: review: https://github.com/rakudo/rakudo/commit/c6ec331dd6
13:28 dalek rakudo/qregex: eadc8a6 | pmichaud++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
13:28 dalek rakudo/qregex: Merge branch 'nom' into qregex
13:28 dalek rakudo/qregex: review: https://github.com/rakudo/rakudo/commit/eadc8a6aff
13:28 dalek rakudo/nom: a1c00f5 | jonathan++ | src/Perl6/Metamodel/RoleToRoleApplier.pm:
13:28 dalek rakudo/nom: Update RoleToRoleApplier. Now a Perl 6 class can have multiple NQP roles mixed in to it, as well as other Perl 6 roles in the mix.
13:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a1c00f5557
13:28 dalek nqp/qregex: 6612b1f | jonathan++ | src/how/NQP (2 files):
13:28 dalek nqp/qregex: A renaming to standardize the meta-role specialization API between NQP and Rakudo.
13:28 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/6612b1fa2e
13:28 dalek nqp/qregex: 0e40138 | jonathan++ | src/how/NQPConcreteRoleHOW.pm:
13:28 dalek nqp/qregex: Add missing .^does_list to NQPConcreteRoleHOW.
13:28 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/0e40138634
13:28 dalek nqp/qregex: 69aa482 | pmichaud++ | src/how/NQP (3 files):
13:28 dalek nqp/qregex: Merge branch 'master' into qregex
13:28 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/69aa482187
13:30 bluescreen10 joined #perl6
13:30 tokuhirom joined #perl6
13:39 moritz so the "allow nqp roles to be composed into Perl 6 classes" is to allow the QRegex stuff to be composed into Perl 6 grammars, with its own Match objects?
13:39 pmichaud yes
13:40 pmichaud as well as other things we may eventually want/need
13:40 pmichaud but essentially we'll have     class Cursor does QRegex::Cursor { ... }
13:40 pmichaud which defines a (nom) Cursor class that incorporates all of the attributes and methods needed by the regex engine
13:41 jnthn moritz: Also, much of the Perl 6 metamodel is defiend as NQP roles, so we'll want this for meta-programming
13:41 moritz jnthn: thought so
13:42 jnthn So I'd planned to sort the NQP roles in nom stuff at some point, pmichaud++ just gave it a priority bump :)
13:44 daniel-s joined #perl6
13:45 pmichaud the new regex engine won't really care about the structure/parentage of Match objects -- that'll be entirely up to the (HLL's) Cursor class to manage
13:46 moritz I kinda guess that also makes it easier to construct correct matches from rx:P5//
13:46 pmichaud yes
13:47 moritz (for example (foo)+ capturing only the last foo, not all of them)
13:47 pmichaud oh, that's one way to do it, yes.
13:48 jlaire left #perl6
13:48 pmichaud More likely is that the P5 regex compiler says not to treat those captures as arrays
13:48 pmichaud but yes, that's the sort of thing that becomes much easier
13:48 moritz (though I suspect that p5 regexes are rather low on everybody's priority list)
13:48 daniel-s_ joined #perl6
13:48 jlaire joined #perl6
13:48 daniel-s left #perl6
13:48 pmichaud okay, branch merge coming up (possible commit flood)
13:49 * jnthn gets his brolley
13:49 dalek nqp: 69aa482 | pmichaud++ | src/how/NQP (3 files):
13:49 dalek nqp: Merge branch 'master' into qregex
13:49 dalek nqp: review: https://github.com/perl6/nqp/commit/69aa482187
13:49 jnthn flood fail
13:49 pmichaud that one wasn't it.
13:49 moritz that was... not spectacular
13:49 pmichaud the one that could be big is    Merge branch 'qregex' into master
13:50 pmichaud ...but it doesn't seem to have generated any commits/flood at all.
13:50 moritz did you push it?
13:50 pmichaud yes
13:50 moritz maybe you were in the wrong branch when you typed it
13:51 pmichaud well, the merge was really clean
13:51 pmichaud all the files appear in nqp/master now, so I think it worked.
13:51 pmichaud (on github)
13:51 jnthn They show up in https://github.com/perl6/nqp/commits/master too
13:52 moritz weird, the commit "Merge branch 'master' into qregex" (69aa48218757ae5fc5d0a072ab982ea0466d36af) shows up in master... I would have expected it in branch qregex
13:52 moritz anyway, no harm done as long as it all works out :-)
13:52 daniel-s__ joined #perl6
13:52 pmichaud I think it may be in qregex also.
13:52 daniel-s_ left #perl6
13:53 pmichaud it is.
13:53 pmichaud well....   git++ git++
13:53 moritz it is, with same sha1
13:53 moritz git to earth: "your merge is too trivial to generate another commit for it"
13:53 PerlJam good morning
13:53 jnthn :)
13:56 dalek rakudo/nom: eadc8a6 | pmichaud++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
13:56 dalek rakudo/nom: Merge branch 'nom' into qregex
13:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/eadc8a6aff
13:56 dalek rakudo/nom: 2224f72 | pmichaud++ | src/Perl6/ (2 files):
13:56 dalek rakudo/nom: Initial fixes to use QRegex for parsing/compilation.
13:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2224f7274d
13:56 dalek rakudo/nom: 3bd7685 | pmichaud++ | src/Perl6/ (3 files):
13:56 dalek rakudo/nom: Merge branch 'qregex' into nom
13:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3bd7685468
13:56 dalek rakudo/qregex: 2224f72 | pmichaud++ | src/Perl6/ (2 files):
13:56 dalek rakudo/qregex: Initial fixes to use QRegex for parsing/compilation.
13:56 dalek rakudo/qregex: review: https://github.com/rakudo/rakudo/commit/2224f7274d
13:57 pacho741 joined #perl6
13:57 _daniel-s__ joined #perl6
13:57 dalek rakudo/nom: 8ddd8e9 | pmichaud++ | tools/build/NQP_REVISION:
13:57 dalek rakudo/nom: NQP_REVISION bump to get role and regex improvements.
13:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8ddd8e9722
13:57 moritz \o/ I like those changes that make the modifier stack go away
13:57 daniel-s__ left #perl6
13:57 moritz that has always felt a bit... arkane
13:58 pmichaud we can follow STD's model for handling that... now that STD has one :)
13:58 pmichaud actually, it was always intended that we'd use dynamic vars for that... just never went back and updated the code to work that way.
13:58 pmichaud there's even a comment in the original source to that effect.  :)
13:59 pmichaud https://github.com/perl6/nqp/blob/qregex/src/Regex/P6Regex/Actions.pm#L3
13:59 moritz :-)
14:00 pmichaud but yes, it's far cleaner now.  Lots of stuff is far cleaner.
14:00 moritz does nqp already bootstap itself with qregex?
14:00 pmichaud no.
14:00 pmichaud I was going to do that... but ran into time distractions last night.
14:00 pmichaud I then decided that bootstrapping before some level of nom integration wasn't optimal
14:01 moritz then I should stop distracting you :-)
14:01 pmichaud because any changes needed to qregex in order to get it to work in nom could complicate nqp building
14:01 daniel-s joined #perl6
14:01 pmichaud so, we'll get it far enough today to prove that the basic concepts are sound
14:01 pmichaud and have qregex available in both mainline development branches  (nqp/master, rakudo/nom)
14:02 _daniel-s__ left #perl6
14:02 pmichaud after we've proven that that works, I'll make a new branch to get nqp to build itself using qregex instead of the old engine
14:02 pmichaud and when that works (and when that version of nqp can build nom), we'll be completely on the new engine
14:03 pmichaud so, this ends up being a better plan, and jnthn  and I can focus on the nom regex parts before his vacation and I can do the nqp bootstrap parts at a less-rushed pace
14:04 kaare__ joined #perl6
14:04 pmichaud and we may also have regexes in nom sooner, although I want to avoid doing much with regexes in CORE.setting just yet.
14:04 pmichaud jnthn: so, here's where we stand.
14:04 pmichaud (1) build nom
14:04 pmichaud (this should bring in the updated nqp w/qregex stuff)
14:05 pmichaud (2) try compiling the perl 6    "regex abc { abc }" to PIR
14:05 pmichaud I'm getting a strange null PMC error when I do that... trying to track it down.
14:05 jnthn pmichaud: Pulled, building.
14:05 daniel-s_ joined #perl6
14:05 daniel-s left #perl6
14:05 jnthn pmichaud: If you gist me a bt I may be able to guess though before I can reproduce it here :)
14:06 pmichaud I'm needing to rebuild here also and get all my branches back in the right places after the merges
14:06 jnthn k
14:07 yath_ is now known as yath
14:08 * jnthn looks forward to faster builds of everything once QRegex is used to build NQP... :)
14:08 pmichaud me too... hope it works out that way.  (I'm certain it will.)   I haven't been able to do any good timing benchmarks yet.
14:09 pmichaud but, I'm also in "get it working" mode more than "make it fast", although I am taking out any pieces that are obvious slowdowns
14:09 jnthn pmichaud: pir::say('regex_def');
14:09 jnthn pmichaud: You can just use say
14:10 jnthn Sicne Actions is compiled with NQPSetting as its outer :)
14:10 daniel-s__ joined #perl6
14:10 pmichaud I often prefer to use pir:: so that I know exactly what is doing the saying :)
14:10 daniel-s_ left #perl6
14:10 pmichaud especially when debugging.  also it makes it a bit easier to find it later :-)
14:11 jnthn pmichaud: Are you wrapping the generated regex into any kind of Perl 6 code object just yet?
14:11 jnthn Doesn't seem that way ATM
14:11 pmichaud the object passed to buildsub
14:11 pmichaud (no, I haven't done (m)any changes to make sure that the regex code is properly nommified
14:11 pmichaud I figure you can help with that :)
14:12 jnthn oh
14:12 pmichaud ::buildsub accepts an already-created PAST::Block in which it can push the regex code.
14:12 jnthn yeah, regex_def is like, completely bogus :)
14:13 pmichaud I suspect it's left over from master?
14:13 jnthn right
14:13 jnthn I'd not touched it at all
14:13 jnthn So it needs a more serious update :)
14:13 pmichaud can I have you do that update, since you know what needs to be done?
14:13 jnthn Sure, already on it :)
14:13 pmichaud excellent.
14:13 jnthn though
14:13 jnthn rakudo: regex abc { abc }
14:14 p6eval rakudo aeb12b: OUTPUT«Useless declaration of has-scoped regex in a module; add our or my to install it in the lexpad or namespace␤»
14:14 _daniel-s__ joined #perl6
14:14 daniel-s__ left #perl6
14:14 pmichaud if you want to do the nameless form, that's fine with me.
14:14 jnthn nom: my method foo() { }
14:14 pmichaud rakudo:  regex { abc }
14:14 p6eval nom: OUTPUT«Could not locate compile-time value for symbol $?CLASS␤current instr.: 'nqp;Perl6;SymbolTable;_block1773' pc 22384 (src/gen/perl6-symboltable.pir:0) (src/Perl6/SymbolTable.pm:1213)␤»
14:14 p6eval rakudo aeb12b:  ( no output )
14:14 jnthn ah
14:15 pmichaud rakudo:  say (regex { abc }).WHAT  #curious
14:15 p6eval rakudo aeb12b: OUTPUT«Regex()␤»
14:15 pmichaud okay, good.
14:15 jnthn pmichaud: Yeah, it blows up in the action method, which isn't surprising.
14:16 jnthn pmichaud: guess I can ignore proto for now.
14:16 pmichaud at this stage the goal is to get to the point where we can generate pir for the regexes
14:16 pmichaud yes, ignore proto.  you can even rip that code out entirely if you want (or leave it for reference for when we do actually have proto)
14:17 pmichaud I'll work on declaring the Cursor and Grammar classes
14:18 _daniel-s__ left #perl6
14:18 jnthn +1
14:18 dalek rakudo: b5c1614 | moritz++ | build/PARROT_REVISION:
14:18 dalek rakudo: bump PARROT_REVISION for testing
14:18 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/b5c1614ad0
14:18 dalek rakudo: b4486ed | moritz++ | src/Perl6/Compiler/Module.pm:
14:18 dalek rakudo: unconfuse order of alternatives in error message
14:18 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/b4486ed11a
14:18 _daniel-s__ joined #perl6
14:18 moritz (note that these two commits are master, not nom)
14:19 jnthn rakudo: say Regex ~~ Routine; say Regex ~~ Method
14:19 p6eval rakudo aeb12b: OUTPUT«Bool::True␤Bool::True␤»
14:21 jnthn pmichaud: method regex_def($/, $key?) {
14:21 jnthn pmichaud: That $key? can go away now, yes?
14:21 pmichaud yes, please.  we need to eliminate the key? wherever we can
14:22 _daniel-s__ left #perl6
14:22 daniel-s joined #perl6
14:26 [Coke] jnthn: was it easier to check that with evalbot than in code?
14:26 [Coke] JustCurious.
14:27 daniel-s_ joined #perl6
14:27 moritz well, easier than checking out the master branch, looking up if the class is defined in PIR or in Perl 6, opening the right file etc.
14:27 daniel-s left #perl6
14:27 jnthn [Coke]: Yes
14:28 jnthn [Coke]: rakudo: is quicker than going and cd'ing to where I have a master build :)
14:29 moritz having an evalbot is really nice. You should have one, too :-)
14:30 Moukeddar joined #perl6
14:30 pmichaud jnthn: I need to create the EXPORT stuff in QRegex in nqp?
14:31 jnthn pmichaud: Yeah, we don't have any automatic EXPORT yet
14:31 pmichaud okay, no problem.
14:31 daniel-s__ joined #perl6
14:31 jnthn pmichaud: I'm just doing a little refactoring of method_def so I can do regex_def with a bunch less code dupe.
14:31 pmichaud wfm
14:31 daniel-s_ left #perl6
14:31 pmichaud oh, what does the EXPORT look like for something like   QRegex::Cursor   (with the extra ::'s in there)
14:32 pmichaud ?
14:32 acrussell left #perl6
14:34 pmichaud I can make QRegex::Cursor into a top-level role if that helps.
14:34 pmichaud I think I'll do that.
14:34 pmichaud NQPCursorRole
14:35 daniel-s__ left #perl6
14:35 jnthn pmichaud: Do that for now
14:35 daniel-s__ joined #perl6
14:36 jnthn pmichaud: Note you can export it as whatever name you want
14:36 jnthn pmichaud: Don't have to rename it in NQP itself.
14:36 pmichaud already renamed.. plus sometimes consistency is a good thing :)
14:37 wtw left #perl6
14:40 _daniel-s__ joined #perl6
14:40 daniel-s__ left #perl6
14:44 daniel-s joined #perl6
14:44 _daniel-s__ left #perl6
14:44 jnthn pmichaud: hm
14:44 jnthn pmichaud: Does the regex codegen make some assumption re 'self'?
14:45 jnthn pmichaud: Does it assume it'll have one in a register?
14:46 pmichaud yes.
14:46 jnthn ah
14:46 jnthn that probably explains my latest round of errors :)
14:46 pmichaud well, even in the master code we have a    .local reg self;   find_lex self, 'self'
14:47 dalek rakudo/nom: 9ffc446 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
14:47 dalek rakudo/nom: Add Regex class as a subclass of Method.
14:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ffc446a46
14:47 pmichaud I figure it's better to let the hll set up the self register than to try to have the regex engine figure it out
14:48 jnthn pmichaud: Yeah, I will do that
14:48 jnthn pmichaud: I assume it's fine to assume the 2 PAST::Stmts block structure?
14:48 daniel-s left #perl6
14:48 pmichaud shouldn't be a problem... although buildsub might give it a 3rd
14:48 daniel-s joined #perl6
14:48 pmichaud as opposed to pushing into the 2nd
14:49 pmichaud but shouldn't be an issue.
14:50 pmichaud buildsub is likely to get a refactor at some point anyway
14:51 dalek rakudo/nom: bfd28b0 | jonathan++ | src/Perl6/Actions.pm:
14:51 dalek rakudo/nom: Factor out a bunch of the stuff in method_def, and re-use it from regex_def. Also gut the protoregex section of the code.
14:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bfd28b0ff8
14:51 pmichaud in fact, I think it's likely that its replacement will simply take a PAST::Node as an argument and push the regex code onto whatever Node you send it
14:51 pmichaud so then you could call it and pass it the second node of the block
14:52 pmichaud and it would appear in the 2nd node of the Block structure :)
14:52 daniel-s left #perl6
14:53 daniel-s_ joined #perl6
14:55 pmichaud grr, I'm getting segfaults.
14:55 Moukeddar left #perl6
14:55 pmichaud I need to clean up, take a 15 min walk and restart
14:56 dalek nqp: a8ba4b1 | pmichaud++ | src/QRegex/Cursor.nqp:
14:56 dalek nqp: Switch QRegex::Cursor to NQPCursorRole and export it.
14:56 dalek nqp: review: https://github.com/perl6/nqp/commit/a8ba4b1bb6
14:56 pmichaud back in 15
14:57 daniel-s__ joined #perl6
14:57 daniel-s_ left #perl6
15:01 _daniel-s__ joined #perl6
15:01 daniel-s__ left #perl6
15:04 buubot_backup left #perl6
15:05 moritz [Coke]: I've looked at the radcalc stuff in the nom action methods
15:05 moritz [Coke]: the bad news is that all the locations that call radcalc will need to be updated
15:05 daniel-s joined #perl6
15:05 _daniel-s__ left #perl6
15:06 moritz [Coke]: the good news is that I've locally rewritten radcalc in nqp, in a way that's more suitable for our use
15:08 serk17 joined #perl6
15:09 sftp left #perl6
15:10 sftp joined #perl6
15:14 Jackneill left #perl6
15:15 pmichaud radcalc is wrong wrong wrong
15:15 pmichaud we should not have a radcalc at all.
15:15 moritz well, we need something that turns a string into numbers
15:15 moritz at a given base
15:15 pmichaud I agree.  radcalc isn't it.
15:15 moritz (and I want to run it at compile time, just to be sure)
15:16 pmichaud it has to be runnable at compile time, but it also has to be usable at runtime.
15:16 moritz and I think it will be, though we need to stick a pretty API in front of it
15:17 pmichaud if you want to put in a radcalc for now, I'm okay with that... just know that I plan to rip it all out when I do an overall string-to-number fix.
15:17 moritz what I have now is a function that receives information like base = 10, string = '34_67.03'
15:18 jnthn > say (anon regex abc { def }).WHAT
15:18 jnthn Regex()
15:18 moritz and optional an exponent
15:18 jnthn \o/
15:18 pmichaud in general, basing any sort of string-to-number conversion on the way that master does things is wrong.  master has a patchwork of string-to-number converters made by five different authors and all of them incorrect/incomplete in some way.
15:18 moritz and it automagically returns an Int, Rat or Num (or lower case if you want), depending on the string
15:18 moritz IMHO that's about as correct as we can get it
15:18 pmichaud okay, I'll be glad to look at the one you submit, then.
15:19 pmichaud and make comments and let you fix it :)
15:19 pmichaud less work for me == good :)
15:19 jnthn pmichaud: OK, sortedish with latest pushes.
15:20 pmichaud jnthn: looking
15:20 dalek rakudo/nom: fcfd48e | jonathan++ | src/Perl6/Actions.pm:
15:20 dalek rakudo/nom: Refactor method installation and re-use it in regex_def.
15:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fcfd48efbf
15:20 dalek rakudo/nom: e605a5f | jonathan++ | src/Perl6/Actions.pm:
15:20 dalek rakudo/nom: Ensure there's a self register for the regex engine.
15:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e605a5fc69
15:20 moritz what it doesn't do right yet is dealing with overflow
15:20 pmichaud there's an opcode that will automatically return a Num or Int depending on the value (num register) you send it.
15:20 jnthn pmichaud: also:
15:20 jnthn > my regex abc { abc }; say &abc.WHAT
15:20 jnthn Regex()
15:20 jnthn > regex abc { abc }
15:21 jnthn Useless declaration of a has-scoped method in mainline
15:21 pmichaud \o/
15:21 moritz \o/ indeed
15:21 jnthn nom: my method foo() { }
15:21 p6eval nom: OUTPUT«Could not locate compile-time value for symbol $?CLASS␤current instr.: 'nqp;Perl6;SymbolTable;_block1773' pc 22384 (src/gen/perl6-symboltable.pir:0) (src/Perl6/SymbolTable.pm:1213)␤»
15:21 jnthn Still need to fix this one...
15:22 pmichaud moritz: perl6_box_bigint__Pn   # if you need it
15:22 pmichaud it's definitely a temporary cheat, but allows us to handle larger ints
15:22 buubot_backup joined #perl6
15:23 * moritz takes a look
15:23 mberends joined #perl6
15:23 Jackneill joined #perl6
15:23 Jackneill left #perl6
15:23 Jackneill joined #perl6
15:27 jaldhar left #perl6
15:27 moritz in nqp, is it OK to bind to variables from a signature?
15:28 moritz nqp: sub f($x) { $x := $x + 1; say($x) }; f(34)
15:28 p6eval nqp: OUTPUT«35␤»
15:28 pmichaud yes.
15:28 jnthn moritz: It's "ok"
15:28 moritz nqp: sub f($x) { $x := $x + 1; say($x) }; my $y := 1; f($y); say($y)
15:28 p6eval nqp: OUTPUT«2␤1␤»
15:28 pmichaud just be careful with ++
15:28 moritz jnthn: you mean it works, but it breaks the "nqp is a subset of Perl 6" assumption?
15:28 jnthn pmichaud: There is no ++
15:28 jnthn pmichaud: I tossed it.
15:29 pmichaud jnthn: recently?  I've been using it.
15:29 jnthn pmichaud: oh damn
15:29 jnthn I *meant* to toss it. :/
15:29 pmichaud actually, binding a signature variable pretty closely matches the "subset of Perl 6" assumption these days :)
15:29 jnthn pmichaud: You've just made it harder when we get around to implementing a constants table in NQP. :(
15:30 pmichaud jnthn: I can get rid of my usages of ++, no problem.
15:30 jnthn pmichaud: No hurry. I really thought I'd killed it.
15:30 pmichaud be aware that Actions.pm and BacktracePrinter are using it as well
15:30 pmichaud (in nom)
15:31 jnthn Only way it'll stay is if it gets promoted to a macro.
15:31 pmichaud we can switch ++ to a panic for now.
15:31 jnthn $x++ ==> $x := $x + 1
15:31 pmichaud when we're ready to get rid of it.  and I agree we might choose to macro-ize it at some point.
15:31 pmichaud I was a little surprised to find it there, tbh.
15:31 jnthn yeah, it's dangerous.
15:32 pmichaud i.e., I expected ++ to fail, and when it didn't I said "oh, might as well use it and stay aware of the dangers"  :-)
15:32 jnthn :)
15:32 am0c joined #perl6
15:36 jnthn nom: grammar Foo { }
15:37 p6eval nom: OUTPUT«Method 'new_type' not found for invocant of class 'Undef'␤current instr.: 'nqp;Perl6;SymbolTable;pkg_create_mo' pc 15807 (src/gen/perl6-symboltable.pir:5419) (src/Perl6/SymbolTable.pm:847)␤»
15:37 pmichaud I'm working on that.
15:37 jnthn OK, that's probably missing %*HOW entry
15:37 jnthn well
15:37 jnthn EXPORTHOW entry
15:38 pmichaud it's just   "my class Gramm..."  oh, it needs to go into BOOTSTRAP?
15:38 Moukeddar joined #perl6
15:38 jnthn pmichaud: no, it's a bit more involved than that
15:38 jnthn pmichaud: I'm guessing grammars are jsut a special kinda of class...
15:38 jnthn *just
15:39 pmichaud my class Grammar is Cursor { }
15:39 jnthn But with a different default parent
15:39 jnthn I...doubt there's a Grammar class.
15:39 pmichaud there is.
15:39 jnthn std: Grammar
15:39 p6eval std 37a0cdd: OUTPUT«ok 00:01 118m␤»
15:39 jnthn oh.
15:39 pmichaud rakudo:  say Grammar ~~ Cursor;
15:39 p6eval rakudo aeb12b: OUTPUT«Bool::True␤»
15:39 jnthn Don't rely on master.
15:39 pmichaud I'm relying on what I know of the spec.
15:39 pmichaud Grammar is Cursor
15:39 jnthn OK, S05?
15:40 jnthn We need to get the meta-space side of this right too...
15:40 pmichaud grammars derive from cursors.  I know this to be true -- it's how regex inheritance works.
15:41 TimToady niecza: say Grammar ~~ Cursor
15:41 p6eval niecza v7-30-gaf607ad: OUTPUT«Bool::True␤»
15:41 jnthn pmichaud: I know I'd always assumed that grammar package declarator implied Cursor as the base class.
15:42 jnthn What goes in the Grammar class?
15:42 pmichaud nothing specific that I know of as yet.
15:42 pmichaud it may just be a placeholder class.
15:42 jnthn grammar Foo { }; Foo ~~ Grammar # ?
15:42 pmichaud yes
15:42 jnthn OK
15:42 jnthn So OK, we need a class Grammar is Cursor { }
15:42 pmichaud I guess that means that Cursor also needs to be meta'd properly.
15:42 PerlJam Where are the default assertions located?  <alpha> <digit> etc?
15:42 pmichaud PerlJam: Cursor
15:42 jnthn That doesn't take away the need for a GrammarHOW and an EXPORTHOW entry.
15:43 serk17 left #perl6
15:43 pmichaud jnthn: agreed.
15:43 moritz note that both should also be available as <:alpha>, <:digit> etc
15:43 PerlJam why Cursor and not Grammar?
15:43 jnthn pmichaud: Want me to drop them in?
15:43 moritz or was it <:isAlpha> ?
15:43 pmichaud jnthn: since I'm not able to get Cursor to "does NQPCursorRole" in the setting... yes, I'll just let you do it.
15:43 pmichaud we need the equivalent of
15:43 pmichaud my class Cursor does NQPCursorRole { ... }
15:43 jnthn pmichaud: oh, you're not?
15:44 pmichaud my class Grammar is Cursor { ... }
15:44 jnthn That bit shoulda "just worked"
15:44 pmichaud jnthn: I keep running into other weird issues and interruptions here  :-/
15:44 dalek rakudo/nom: 714f72c | jonathan++ | src/Perl6/Actions.pm:
15:44 dalek rakudo/nom: Fix up anon methods a bit more.
15:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/714f72c69f
15:44 pmichaud it didn't "just work" for me but that may be due to local oddities
15:44 jnthn pmichaud: Oh, I meant that I'd sort out the meta-space stuff...
15:44 jnthn pmichaud: Steps I'd do this in:
15:45 jnthn 1) Add a use statement to CORE.setting to use whatever the NQPCursor comes from.
15:45 jnthn 2) Make sure you can see NQPCursorRole from the REPL
15:45 jnthn 3) Then try class Cursor does NQPCursorRole { }
15:46 jnthn s/NQPCursor/NQPCursorRole/ in #1
15:48 pmichaud http://gist.github.com/1080577  # here's what I'm currently getting.
15:49 jnthn ah, that's failing it pretty early...
15:50 jnthn nom: use QRegex; say "alive"
15:50 p6eval nom: OUTPUT«get_attr_str() not implemented in class 'Undef'␤current instr.: 'nqp;Perl6;SymbolTable;load_module' pc 3936 (src/gen/perl6-symboltable.pir:1259) (src/Perl6/SymbolTable.pm:137)␤»
15:50 jnthn nom: use NQPHLL; say "alive"
15:50 p6eval nom: OUTPUT«Rebuild in progress␤»
15:50 jnthn grr
15:50 moritz meh.
15:50 pmichaud might double-check my export stuff in nqp
15:50 moritz $ ./install/bin/nqp  -e 'use NQPHLL; say("alive")'
15:50 moritz alive
15:51 pmichaud https://github.com/perl6/nqp/commit/a8ba4b1bb630a7dc0242a7f4490d32d3ae2c8e03
15:52 moritz stupid question... did you install the nqp with the changes you've made?
15:52 pmichaud right now it's all in nqp/master
15:53 pmichaud maybe I didn't bump NQP_REVISION though
15:53 pmichaud aha, didn't bump NQP_REVISION.   moritz++
15:53 thou joined #perl6
15:55 dalek rakudo/nom: 351390d | pmichaud++ | tools/build/NQP_REVISION:
15:55 dalek rakudo/nom: Bump NQP_REVISION to get NQPCursorRole.
15:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/351390d546
15:55 dalek rakudo/nom: 54d98bd | pmichaud++ | src/Perl6/Actions.pm:
15:55 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
15:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/54d98bdba8
15:55 jnthn nom: pir::load_bytecode__vs('QRegex'); 1
15:55 p6eval nom: OUTPUT«Rebuild in progress␤»
15:56 pmichaud anyway, if I look at the install directory I do see QRegex.pbc there
15:56 jnthn yeah, it should explicilty say it's not found
15:56 jnthn It *looks* like somehow it doesn't get a context/lexpad back or some such
15:56 jnthn oh
15:56 jnthn Are we loading the module in NQP too?
15:56 jnthn Then also from Perl 6?
15:57 pmichaud it's also loaded in Perl6::Grammar and Perl6::Actions
15:57 jnthn dang.
15:57 pmichaud I don't think it's loaded in NQP yet.
15:57 jnthn No
15:57 jnthn I meant, in NQP code.
15:57 jnthn Loading it in Perl6::Grammar counts.
15:57 pmichaud oh, so I don't need the 'use ...' ?
15:58 jnthn It's ickier than that.
15:58 jnthn NQP and nom don't share enough module loading stuff yet.
15:58 pmichaud how does NQPP6Regex work then?
15:59 jnthn NQPP6Regex?
15:59 pmichaud shouldn't QRegex be basically the same?  Or is it that we never access NQPP6Regex stuff from Perl 6 code?
15:59 jnthn We never access NQPP6Regex from Perl 6 code
15:59 pmichaud ah.
15:59 jnthn If you do a use statement in nom and a use statement in NQP and they both hit the same module we get issues at the moment.
15:59 jnthn There's an easy solution though.
16:00 pmichaud well, it's clear that QRegex / NQPCursorRole will be loaded for Actions and Grammar :-)
16:00 jnthn use QRegex; somewhere in BOOTSTRAP
16:00 jnthn (which is in NQP)
16:00 jnthn And then just export it to Perl 6 land from there.
16:00 jnthn as in, export NPCursorRole
16:00 jnthn *NQPCursorRole
16:01 pmichaud then do I remove the "use QRegex" from Perl6::Actions and Perl6::Grammar ?
16:01 pmichaud or leave it there also?
16:01 jnthn Leave it there also
16:01 jnthn BOOTSTRAP is written in NQP
16:01 jnthn So we don't hit the issue
16:02 jnthn Actions, Grammar and Metamodel are all separate compilation units so they need to individually use QRegex
16:02 pmichaud wfm
16:02 jnthn NQP has Perl 6-y semantics on that these days, rather than Parrot global namespace semantic.
16:02 pmichaud yes, I know :)
16:02 pmichaud I'm very happy about that.
16:03 jnthn tbh, Perl 6's ModuleLoader is kinda still at the "jnthn needed the simplest thing that'd possibly work and so wrote it" stage.
16:03 tadzik goodie-afternoonie
16:03 jnthn Plus some extra bits from others++
16:03 jnthn It mostly dates back to the earliest days of nom though.
16:04 jnthn We do really want to unify it somewhat with the NQP one.
16:04 pmichaud agreed.
16:04 jnthn > grammar Foo { }; say Foo
16:04 jnthn Foo()
16:04 jnthn Doesn't add the correct base class yet
16:05 jnthn You trying the QRegex via BOOTSTRAP thing?
16:05 pmichaud yes, building now.
16:05 jnthn ok
16:05 dalek rakudo/nom: 3fdad82 | jonathan++ | / (4 files):
16:05 dalek rakudo/nom: Get GrammarHOW set up as the HOW for the grammar package declarator. It doesn't do anything more than ClassHOW for now.
16:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3fdad82a6f
16:05 jnthn I diddle with GrammarHOW once you have class Grammar in place.
16:06 pmichaud http://gist.github.com/1080627  # current fail
16:06 lichtkind joined #perl6
16:07 jnthn pmichaud: For first, try say NQPCursorRole.HOW.name(NQPCursorRole)
16:08 * jnthn gets sales phone call and cuts them off 5 words in...
16:08 jnthn :/
16:08 pmichaud > pir::say(NQPCursorRole.HOW.name(NQPCursorRole))
16:08 pmichaud NQPCursorRole
16:08 jnthn \o/
16:08 jnthn pmichaud: I guess I shoulda tested roles with attributes... :)
16:08 pmichaud :)
16:08 pmichaud wnat me to commit my patch?
16:09 pmichaud (that imports NQPCursorRole)
16:09 * pmichaud commits.
16:09 jnthn please
16:10 dalek rakudo/nom: 5ee1df9 | pmichaud++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
16:10 dalek rakudo/nom: Make NQPCursorRole available via BOOTSTRAP.
16:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5ee1df98d9
16:10 dalek nqp: 111cd0e | jonathan++ | src/how/NQPAttribute.pm:
16:10 dalek nqp: NQPAttribute.has_accessor
16:10 dalek nqp: review: https://github.com/perl6/nqp/commit/111cd0ef76
16:11 jnthn pmichaud: pushed (untested) patch to nqp repo
16:12 lichtkind jnthn: ehich are the areas of syntax which need most testint?
16:12 * pmichaud switches config.default to --gen-nqp=master for now
16:12 lichtkind jnthn: which are the areas of syntax which need most testing?
16:13 jnthn lichtkind: Not sure what you mean...do you mean, what are we most lacking tests for?
16:13 daniel-s left #perl6
16:13 lichtkind jnthn: yes for instance
16:14 jnthn lichtkind: Almost certainly the areas that implementations have touched the least. :)
16:14 jnthn lichtkind: So, much of S09 :)
16:16 JimmyZ left #perl6
16:18 jnthn pmichaud: grr, it's the BUILDPLAN creation that's causing this
16:18 jnthn need another patch...
16:22 dalek nqp: 10d94ef | jonathan++ | src/how/NQPAttribute.pm:
16:22 dalek nqp: More API fleshing out to keep Rakudo happy.
16:22 dalek nqp: review: https://github.com/perl6/nqp/commit/10d94ef53d
16:23 pmichaud fwiw, I don't mind moving the attributes out of the role and into the class
16:26 pmichaud (if we decide that's easier/better for now)
16:26 jnthn > class Cursor does NQPCursorRole { }; say Cursor
16:26 jnthn Cursor()
16:26 jnthn \o/
16:27 jnthn pmichaud: It's fine. Just grab that last NQP patch :)
16:27 pmichaud stubbing in a few small other things first
16:30 dalek rakudo/nom: bc88e7e | pmichaud++ | / (6 files):
16:30 dalek rakudo/nom: Stub in some regex-related classes.
16:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bc88e7e3f3
16:34 pmichaud > my class Cursor does NQPCursorRole { }; 1
16:34 pmichaud 1
16:34 pmichaud \o/
16:38 thou left #perl6
16:40 thou joined #perl6
16:41 sorear good * #perl6
16:41 PerlJam greetings sorear
16:42 pmichaud http://gist.github.com/1080711  # edging closer
16:42 jnthn pmichaud: whee! :)
16:43 pmichaud looks like some possible trickiness with object creation.. working on that.
16:43 jnthn k
16:45 pmichaud "my class Cursor does NQPCursorRole { }"  leads to infinite recursion when placed in the setting.
16:46 jnthn ...wtf. :/
16:46 jnthn bt?
16:46 PerlJam pmichaud: why did you use "anon" in that gist?
16:46 pacho741 left #perl6
16:47 pmichaud PerlJam: because otherwise I get an error about "useless regex declaration in mainline" or something like that.
16:47 pmichaud jnthn: no bt handy at the moment -- went on to something else
16:48 jnthn pmichaud: it's a warning rather than an error, btw
16:48 jnthn my will also suppress it.
16:48 jnthn pmichaud: trying to reproduce the infintie recursion
16:48 alester joined #perl6
16:48 pmichaud jnthn: doing the same here in a second nom checkout
16:49 mj41 left #perl6
16:51 jnthn o.O
16:51 jnthn wtf
16:52 * jnthn tries to work out why on earth NQPAttribute got some code in to generate mutators.
16:53 jnthn meh, this kinda bogus
16:53 pmichaud also, on another track:  http://gist.github.com/1080732
16:54 dakkar left #perl6
16:54 birdwindupbird left #perl6
16:59 robinsmidsrod left #perl6
17:00 daxim left #perl6
17:05 jnthn pmichaud: Currently building patches to try and deal with both
17:05 Moukeddar left #perl6
17:12 dalek nqp: 3dcf683 | jonathan++ | src/NQP/Actions.pm:
17:12 dalek nqp: Need to decontainerize invocant in attribute accesses in NQP.
17:12 dalek nqp: review: https://github.com/perl6/nqp/commit/3dcf683267
17:12 dalek nqp: 2c89ff1 | jonathan++ | src/how/NQPAttribute.pm:
17:12 dalek nqp: Fix .type and disable not-really-right accessor generation for now (regresses a test, but the test is bogus too).
17:12 dalek nqp: review: https://github.com/perl6/nqp/commit/2c89ff1139
17:12 ab5tract left #perl6
17:12 jnthn pmichaud: Thsoe two patches fix both issues.
17:12 * pmichaud gives them a try :)
17:12 jnthn I have .from giving 0 and and that was with the first line of the example commented out because Cursor was in the setting :)
17:12 pmichaud try .pos
17:13 pmichaud see if it gives 3
17:13 jnthn yup
17:13 jnthn 3
17:13 pmichaud \o/
17:13 pmichaud I think we're almost there, then.
17:14 robinsmidsrod joined #perl6
17:15 pmichaud I need to do a couple of match object handling refactors
17:17 pmichaud afk for a bit
17:18 jnthn k
17:18 * jnthn needs to get dinner soonish too
17:19 cooper joined #perl6
17:27 leprevost joined #perl6
17:29 mj41 joined #perl6
17:42 cognominal left #perl6
17:43 cognominal joined #perl6
17:49 lichtkind thou: dont worry i dont like to nag people and i didnt much for tablets myself so i had just the right to STFU
17:49 lichtkind jnthn: good nom :)
17:50 thou lichtkind: haha. thanks, i know we're just doing what we can w/ the spare cycles we have.
17:50 ab5tract joined #perl6
17:52 impious joined #perl6
17:53 impious left #perl6
17:53 envi left #perl6
18:01 thou left #perl6
18:02 thou joined #perl6
18:03 gfldex left #perl6
18:04 gfldex joined #perl6
18:07 Zapelius joined #perl6
18:10 thou left #perl6
18:12 thou joined #perl6
18:16 Kivutarrr joined #perl6
18:22 eiro is proto still used/maintained ?
18:22 eiro hello all
18:23 moritz hello eiro
18:23 moritz no, people use panda instead
18:24 eiro any link for perl6 newcommers ? i'm back from #rmll and someone asked me
18:24 moritz modules.perl6.org
18:25 eiro ( basically: how to install perl6 and modules, and start to learn)
18:25 sorear welcome, eiro
18:25 eiro thanks moritz
18:25 eiro thanks sorear
18:26 mberends eiro: perl6.org also has link to panda
18:26 moritz and to lots of documentation, tutorials etc.
18:29 eiro i just browsed it: thanks
18:29 mtk left #perl6
18:33 mtk joined #perl6
18:34 mtk left #perl6
18:34 thou left #perl6
18:34 mtk joined #perl6
18:36 jdhore joined #perl6
18:37 jdhore left #perl6
18:38 dual joined #perl6
18:40 Jackneill left #perl6
18:42 sjohnson1 is now known as sjohnson
18:42 sorear eiro: can we help more?
18:43 eiro sorear, no thanks: i just installed panda to test it and replied to the one who asked
18:43 thou joined #perl6
18:45 sorear eiro: was #rmll discussing perl 6?
18:51 eiro sorear, i was running the perl stand and there was some questions about perl6, mainly nom and the perl6 grammar sysetm
18:51 pmichaud jnthn: ping
18:51 eiro sorear, rmll is a open source users convention
18:51 pmichaud jnthn: I'm still getting the recursion limit when putting "my Cursor does NQPCursorRole" in the setting.
18:54 pmichaud I get the error if the Cursor class contains a method declaration.
18:55 sorear pmichaud: how large is the scope of qregex?  are you making many improvements beyond true LTM?
18:56 molaf left #perl6
18:56 pmichaud lots of performance improvements unrelated to ltm
18:56 pmichaud so, greatly reducing the number of method calls and the number of GCables it creates
18:56 pmichaud beyond that, no significant improvements
18:57 sorear cool
18:57 sorear will be interested to see how much faster it is
18:57 pmichaud me too :)
18:57 jnthn pmichaud: oddness
18:58 jnthn pmichaud: Wait, *only* if it contains a method declaration?
18:58 pmichaud if it's empty, it compiles fine.
18:58 jnthn pmichaud: Where in the setting have you put it?
18:58 dalek rakudo/nom: ffa93fc | pmichaud++ | src/core/ (2 files):
18:58 dalek rakudo/nom: Add initial Cursor and Match classes.  Cursor has a commented-out method,
18:58 dalek rakudo/nom: uncommenting the method causes a 'recursion limit' failure when building nom.
18:58 dalek rakudo/nom: (It works fine when outside of the setting.)
18:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ffa93fcace
18:58 jnthn pmichaud: I'm guessing in the wrong place.
18:58 pmichaud in ffa93fc (just pushed) I have Cursor with a method declaration commented out.
18:58 * sorear still hasn't found the major hotspot in Niecza... STD seems to take about 40 seconds to compile no matter what I do
18:58 jnthn pmichaud: e.g. we're depending on something that's not yet been compiled.
18:59 jnthn pmichaud: Is the method an override of one the role supplies?
18:59 pmichaud Uncomment that method declaration, or add any simple method declaration, and you get the infinite regress.
18:59 pmichaud No, it's not an override.
18:59 pmichaud even something as simple as
18:59 pmichaud my Cursor does NQPCursorRole { method xyz() { say 'xyz' } }
18:59 pmichaud is enough to trigger the recursion
19:00 sorear Does it only happen in the setting?
19:00 jnthn OK. Last time it looked like something string related was not yet defined, probably code object stringification.
19:00 pmichaud yes, only in the setting.
19:00 sorear incredibly stupid question: you have the 'class' keyword right?
19:01 [Coke] Files=239, Tests=6647
19:01 jnthn sorear: Very much so :)
19:01 jlaire 'my class Cursor'...
19:01 jlaire vs 'my Cursor'...
19:01 jnthn sorear: Pulling in HOWs is the first thing CORE.setting does
19:02 pmichaud http://gist.github.com/1081042  # example of it running outside of the setting
19:02 jnthn Yeah. The fun of stuff with the setting is that you can easily end up depending on code in the setting.
19:03 pmichaud I think even a null method declaration triggers it, though.  (checking)
19:03 [Coke] jnthn: do you need ... layers of setting?
19:03 jnthn pmichaud: No, it's the role composer that's trying to strinfigy something.
19:04 jnthn pmichaud: And that stringification is giving us the infinite recursion.
19:05 dalek rakudo/nom: c0e38e1 | pmichaud++ | src/core/Cursor.pm:
19:05 dalek rakudo/nom: Remove debugging says from Cursor.BUILDMATCH.
19:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c0e38e14cb
19:06 sorear jnthn: I was referring to the typo in pmichaud's paste
19:06 pmichaud (wasn't really a paste, I typed it out by hand, which is why it was missing the 'class')
19:07 jnthn pmichaud: Hmm. Oddness...we don't actually have much after Cursor in the setting.
19:08 PerlJam When does MATCHBUILD execute exactly?
19:08 pmichaud jnthn: correct, it's towards the end on purpose.
19:08 pmichaud PerlJam: whenever a cursor object needs to build a MATCH.  It's a callback.
19:10 birdwindupbird joined #perl6
19:11 pmichaud on a slightly different topic... in Actions.pm, how much code will /abc/ have in common with  regex { abc } ?
19:11 pmichaud Should we factor out the regex construction somewhere?
19:11 pmichaud similar things for s///, m//, etc.
19:12 jnthn pmichaud: There's probably more factoring out to do there, yeah.
19:13 pmichaud I can try a refactor... any obvious differences that need to be there?
19:13 jnthn pmichaud: What do you expect /abc/ to produce?
19:14 pmichaud the same as   regex { abc }, mainly.
19:14 pmichaud there are some minor differences, but the core of the regex generation ought to be the same
19:15 masak joined #perl6
19:15 masak oh hai, #perl6
19:15 tadzik oh hai masak
19:15 pmichaud masak:  o/
19:15 PerlJam masak: greets
19:15 masak what, in your view, is the (syntactically) nicest way to do an inverse array lookup in Perl 6?
19:16 tadzik nom did get some significant regex/parsing improvements recently, didn't it?
19:16 dalek rakudo/nom: 8fc705e | jonathan++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
19:16 dalek rakudo/nom: A little tweak to the role applier to avoid triggering an infinite recursion that pmichaud++ ran into (there's some deeper issue to hunt here, but this should unblock things).
19:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8fc705ee13
19:16 pmichaud tadzik: we're still working on them even as we speak.
19:16 jnthn pmichaud: Try that.
19:16 PerlJam masak: you mean given a value, find the index of the array element that has that value?
19:16 tadzik syntactically I'd go for .reverse
19:16 masak yes.
19:16 jnthn masak: preved
19:16 tadzik oh, I see
19:16 jnthn masak: One answer or all answers?
19:16 masak I have two value domains and I need to translate back and forth between them a bit. one of the domains is non-negative integers, so I'm using an array instead of a hash.
19:16 masak jnthn: all, please :)
19:17 masak jnthn: oh, you mean the mapping? :P
19:17 masak jnthn: it is assumed that it's bijective.
19:18 jnthn @array.kv.first(*.value == $wanted).key # works but looks a bit clumsy
19:19 masak I did something similar, doing .kv.invert on the whole array.
19:19 masak also a bit clumsy.
19:19 jnthn Feels like there must be a better way :)
19:19 masak aye.
19:19 masak hence my question :)
19:20 pmichaud @array.pairs.grep($value).keys
19:20 pmichaud well, that's close
19:20 masak nice.
19:20 pmichaud not quite right
19:21 pmichaud @array.pairs.grep($value)>>.key
19:21 masak or .key, I guess, if I know there's one.
19:21 pmichaud .keys would just give numbers to the pairs
19:21 pmichaud needs to be >>.key
19:22 masak rakudo: my @a = <a b c>; say @a.pairs.grep("b").key
19:22 p6eval rakudo b4486e: OUTPUT«Method 'key' not found for invocant of class 'List'␤  in main program body at line 22:/tmp/TlrahQ6fX7␤»
19:22 masak rakudo: my @a = <a b c>; say @a.pairs.grep("b").keys[0]
19:22 p6eval rakudo b4486e: OUTPUT«Any()␤»
19:22 masak huh.
19:22 jnthn rakudo: my @a = <a b c>; say @a.pairs.grep("b").perl
19:22 p6eval rakudo b4486e: OUTPUT«()␤»
19:22 pmichaud oh
19:22 masak .grep on Pairs...
19:22 pmichaud yeah
19:22 pmichaud hrm
19:22 masak not on Str
19:25 pmichaud http://gist.github.com/1081122  # \o/
19:25 pmichaud now it's just syntax.  :-)
19:26 takadonet !!
19:26 masak pmichaud++
19:26 pmichaud jnthn++, too
19:26 tadzik nice :)
19:27 jnthn nom: my @a = 1,8,9,2,1; 1 until @a[++(my $i)] == 9; say $i
19:27 p6eval nom: OUTPUT«2␤»
19:27 jnthn Nil points for style! ;)
19:27 jnthn pmichaud: yay :)
19:27 dalek rakudo/nom: 2a681a4 | pmichaud++ | src/core/Cursor.pm:
19:27 dalek rakudo/nom: Add Cursor.MATCHBUILD, which builds the match object.
19:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2a681a46b4
19:28 jnthn On the up side, it's got built in error detection: if your bijection isn't actually one, your program hangs. :)
19:28 pmichaud "hanging" is "detection"?  ;-)
19:28 dalek rakudo/nom: 6e1fa32 | pmichaud++ | src/core/Grammar.pm:
19:28 dalek rakudo/nom: Uncomment Grammar type.
19:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6e1fa32cb9
19:29 jnthn You'll detect something's wrong. ;)
19:29 * jnthn guesses he wins "worst solution" for this one :)
19:29 pmichaud nah.  solve the halting problem and it's a done deal :)
19:29 masak pmichaud: if "hanging" is "detection", solving the halting problem *is* a done deal :P
19:33 jnthn rakudo: (3,2,1,9,8).index(3).say
19:33 p6eval rakudo b4486e: OUTPUT«0␤»
19:33 jnthn ;-)
19:33 masak jnthn: you're breaking the wrong record! :P
19:33 jnthn :)
19:34 jnthn We could always overload .index on...no, we couldn't. :)
19:34 * jnthn can see that a built-in along those lines oculd be useful though
19:35 masak I ended up with a sub inverse_index that wraps away pairs/first/key
19:35 jnthn Especially as there's a matching operation for hashes.
19:35 jnthn .how_would_i_lookup($x)
19:35 masak it's sort of like .first, but it gives you the index instead.
19:35 masak at least for arrays :)
19:36 pmichaud .indexof
19:37 pmichaud jnthn: is the order of steps important in regex_def ?
19:38 pmichaud i.e., could I move
19:38 jnthn pmichaud: Well, yes and no :)
19:38 pmichaud well, hrm.
19:38 jnthn pmichaud: Depends exactly what you want to shuffle around.
19:39 pmichaud I think I want to move "Do the various tasks..." down to just before "Install in needed scopes"
19:39 pmichaud i.e., do all of the stuff manipulating $past first, then do the stuff that builds $code
19:40 thou left #perl6
19:40 jnthn pmichaud: This bit:
19:40 jnthn # Install PAST block so that it gets capture_lex'd correctly.
19:40 jnthn my $outer := $*ST.cur_lexpad();
19:40 jnthn $outer[0].push($past);
19:40 jnthn Can move earlier.
19:40 jnthn pmichaud: The self thing is delicate.
19:40 pmichaud yeah.
19:40 jnthn pmichaud: It gets pushed onto the end of [0]
19:40 jnthn It *must* go after bind_signature is called
19:41 jnthn Which is why it comes after the sig setup.
19:41 jnthn I tried to unshift it on to [1] first and it magically vanished. I never worked out why...
19:41 tadzik jnthn: my parrot_config says debugging => '1', do I need anything more for the segfault investigation?
19:41 pmichaud the problem with factoring this out at the moment is
19:41 pmichaud my $closure := block_closure(reference_to_code_object($code, $past));
19:42 pmichaud if I didn't need the reference to $past, then I could just return $code
19:43 pmichaud or can I just put the "reference_to_code_object" inside of the setup block as well, and return it?
19:43 jnthn pmichaud: You could return reference_to_code_object($code, $past) and just let the other thing block_closrue it if needed
19:43 pmichaud yeah
19:43 jnthn Note
19:43 jnthn $code is *really* the code object
19:43 jnthn It's not a PAST tree.
19:43 pmichaud right
19:43 jnthn s/tree/node/
19:45 pmichaud so, a sub "make_regex" that takes a QAST tree and returns a closure
19:45 pmichaud (and does the other setup/install)
19:45 pmichaud seems workable.
19:45 * pmichaud tries it.
19:45 pmichaud oh, what about applying traits?
19:45 pmichaud that requires the code object
19:46 [Coke] Is there a list of "most wanted modules for perl 6"?
19:46 pmichaud [Coke]: I think that list is commonly called "CPAN"  :-)
19:46 moritz yes, linked to from modules.perl6.org
19:46 [Coke] yaya. just wondering about prioritization.
19:46 [Coke] DOH. I was already on that page, but was skimming through the actual list.
19:47 [Coke] moritz++
19:47 [Coke] partcl: puts Coke--
19:47 p6eval partcl 3977a9: OUTPUT«Coke--␤»
19:47 jnthn pmichaud: You'll only have them for regex_def
19:47 pmichaud so, two sets of regex closuring code?
19:47 pmichaud hmmm
19:47 jnthn pmichaud: Note that the code object is attached to the PAST node reference_to_code_object returns.
19:47 sorear masak: is your array constant?
19:48 masak sorear: yes.
19:48 sorear o/ masak
19:48 masak \o sorear
19:48 jnthn pmichaud: You can do $ref<code_object>
19:48 pmichaud so I could just return   reference_to_code_object and grab the code object from it?
19:48 pmichaud okay, that works perfectly.
19:48 jnthn Right
19:48 jnthn And pass that along to the traits.
19:48 pmichaud so, regex_code_ref
19:48 sorear niecza: enum Foo (a => 1, b => 2, c => 4); say Foo("b"); say Foo(4)
19:48 Su-Shee [Coke]: SSL, Hashsums of all kinds, full blown LWP (JavaScript integration preferred), Net::*, The::Boring::Stuff::Like::Excel ...
19:48 p6eval niecza v7-30-gaf607ad: OUTPUT«Foo::b␤Foo::c␤»
19:49 sorear niecza: enum Foo (a => 1, b => 2, c => 4); say +Foo("b"); say Foo(4).key
19:49 p6eval niecza v7-30-gaf607ad: OUTPUT«2␤c␤»
19:49 Su-Shee [Coke]: Date, Time...
19:49 jnthn pmichaud: wtf
19:49 jnthn pmichaud: gah!
19:49 jnthn I meant
19:49 jnthn pmichaud: wfm
19:49 jnthn :)
19:49 tadzik :)
19:49 tadzik Su-Shee: we have Date and Time, afaic
19:49 jnthn I think "wtf" got too wired into my fingers at $dayjob earlier this week :)
19:49 sorear masak: if you have a constant array indexed by integers, I think Enum fits the bill perfectly.
19:50 [Coke] Su-Shee: add to: https://github.com/perl6/ecosystem/wiki/Most-Wanted%3A-Modules-to-write-port
19:50 masak sorear: I agree completely.
19:50 Su-Shee ah it's editable..
19:50 masak sorear: which means I'll probably rerwite this part of the game when enums land in Rakudo.
19:50 [Coke] there is no sixperl call anymore, yes?
19:50 jnthn masak: I started enums in nom earlier today
19:50 masak jnthn: yes, I saw.
19:51 jnthn masak: I doubt I'll get all the way before I leave but it should be quite hackable.
19:51 masak jnthn: oki, good to know.
19:51 masak jnthn: just going to finish my current obsession :)
19:51 jnthn For your copious free time :P
19:51 masak :)
19:55 pmichaud jnthn: the line
19:55 pmichaud $<longname> && $*ST.is_lexical('$?CLASS') ?? '$?CLASS' !! 'Mu']);
19:55 pmichaud refers to a non-existent $<longname>.  What should it be instead?
19:55 jnthn eek
19:55 jnthn in regex_def, probably deflongname
19:55 jnthn The grammar is wonderfully inconsistent.
19:55 jnthn method_def parses a longname and a multisig
19:55 jnthn regex_def parses a deflongname and a signature
19:56 masak :(
19:56 jnthn I thought it was just us then I checked std.
19:56 pmichaud I'm passing the name as a param so it's not a big deal :)
19:56 jnthn Not that we have to really follow STD when it doesn't suit us.
19:56 jnthn Maybe there's a good reason, I dunno. :)
19:57 masak then again, maybe not.
19:57 jnthn Yeah, could easily be not
19:57 jnthn Mostly I'd liek to just kill multisig anyway... :)
19:58 pmichaud is  $inv_type setting the invocant t ype?
19:58 pmichaud *invocant type?
19:58 jnthn pmichaud: Yeah
19:58 masak jnthn: yes, me too.
19:58 jnthn pmichaud: I wasn't totally sure what it should be for regex_def.
19:58 pmichaud well, if we're inside of a grammar or class, it should be the current class.
19:58 benabik Hm.  Parrot master, NQP master: `P6opaque.c:858: error: cannot convert ‘P6opaqueInstance*’ to ‘PMC*’ in initialization`  Any ideas?
19:58 masak jnthn: multisigs introduce more complexity than they give benefit back.
19:58 jnthn pmichaud: If we're in a grammar, then clearly it's the type of the grammar.
19:58 pmichaud jnthn: but what about
19:59 pmichaud grammar {
19:59 masak benabik: doing what?
19:59 pmichaud method xyz() {
19:59 benabik masak: Compiling.  Sorry.
19:59 pmichaud my $x = my regex { ... };
19:59 pmichaud clearly that regex isn't tied to the grammar.
19:59 masak benabik: just wondering. I don't have a solution, sorry to say.
19:59 masak benabik: might be bootstrapping issues, if you've changed something.
20:00 jnthn pmichaud: Right, thus the $<longname> check.
20:00 benabik masak: This is plain Parrot master and NQP master.
20:00 masak benabik: disconcerting.
20:00 pmichaud okay.
20:00 pmichaud wfm.
20:00 benabik Hm.  I wonder if this is related to me using g++ instead of gcc for compilation.
20:00 jnthn pmichaud: and my regex foo { abc } actually gets installed in the methods table and the lexpad, so far as I follow the spec.
20:00 sorear [Coke]: AFAIK they still happen, but chromatic-- has stopped bothering to take notes
20:01 pmichaud we haven't had a sixperl call in quite a while.
20:01 pmichaud I think we abandoned them in favor of #phasers meetings.
20:01 sorear *nod*
20:01 pmichaud I think the last sixperl call was in January.
20:02 jnthn benabik: That's a disconcerting error.
20:02 sorear jnthn: ISTR that we decided at some point that 'my regex' should NOT install in the methods table
20:02 jnthn benabik: I applied a patch to that file earlier today, wonder if it was something in that...
20:02 sorear unlike 'my method'
20:02 jnthn sorear: er
20:02 sorear I can't remember when or who though
20:02 jnthn That sounds horribly inconsistent
20:02 benabik jnthn: It was building a couple days ago.  I suspect this is related to me switching parrot to use g++, which is notably pickier about these things.
20:02 jnthn Givne a regex is really just a kind of method.
20:02 Su-Shee I'm done, I added what I had in my head, DBI excluded
20:02 sorear I said the same thing, yes
20:03 [Coke] chromatic++ # undo slander.
20:03 jnthn sorear: I'm going to go with it installing in the method table if there's one to hand, but not whining if there isn't.
20:03 [Coke] karma g?
20:03 aloha g? has karma of 0.
20:03 [Coke] karma g
20:03 aloha g has karma of 512.
20:03 jnthn sorear: Which is what methods do too.
20:03 jnthn sorear: And hope that consistency wins a victory. :)
20:03 benabik [Coke]: g is just that awesome a letter.
20:04 moritz karma C
20:04 aloha C has karma of 533.
20:04 moritz C > g :-)
20:04 masak [Coke]: undo slander?
20:04 pmichaud alas, look slike Google+ should've been Google++ if they wanted to win karma points.
20:04 pmichaud Or perhaps that should've just been Google+1
20:04 masak Google FTW
20:05 Su-Shee tadzik, [Coke] I'm done.
20:05 [Coke] masak: there's a negative karmic event a few lines back.
20:06 SHODAN left #perl6
20:06 masak [Coke]: ah, I see it.
20:07 sorear last notes from chromatic: 30 June 2010
20:07 benabik jnthn: Looks like it's g++ being very picky about type conversions.  In #parrot, we sometimes use `--cc=g++ --link=g++` in order to cut down on tricky type errors.
20:08 jnthn benabik: Generally, when I write C I'm writing *C* and I leave C++ fixups to those who'd prefer it to be C++. :)
20:08 benabik jnthn: g++ compiles C just fine.  It's just far pickier about pointer types, which can be very useful.
20:09 huf how does it know to dtrt when the two languages arent compatible?
20:09 sorear if there was a sixperl call in January, then I stand by chromatic--
20:10 pmichaud just because there was a sixperl call doesn't mean chromatic++ was present.
20:10 pmichaud I suspect he was not.
20:10 benabik huf: C++ is mostly a superset of C.  It tends to warn or error when you have C code that does interesting things with pointer type conversions.
20:10 sorear jnthn: parrot is designed to use the common subset of c89 and c++90, and will accept either kind of compiler
20:11 huf benabik: yeah, mostly
20:11 huf sorear: ah, tricky ;)
20:11 jnthn P6opauqe certainly does fun with pointers.
20:12 [Coke] if those calls ever start up again, it would be nice to have more perl6 people on them. ;)
20:12 jnthn Anyway, patches happily applied.
20:14 ab5tract left #perl6
20:14 masak is it just me, or have the GC runs in Rakudo actually gotten worse?
20:15 pmichaud in master or nom?
20:15 masak master.
20:15 masak the output from my adventure game contains noticeable pauses.
20:15 pmichaud don't know.  could be.
20:15 pmichaud what compiler are you using?
20:15 PerlJam masak: it's just your code ;)
20:15 masak PerlJam: :P
20:16 sorear ok 2262686 - $_ does not get set implicitly if a pointy is given
20:16 masak pmichaud: you mean besides Rakudo?
20:16 * sorear was trying to run all test files against niecza to see which ones were promising
20:16 benabik For future reference that error means "User built parrot with g++", just so people know.  :-)
20:16 jnthn sorear: That's a heck of a big test file!
20:18 pmichaud masak: I mean which version of Rakudo.  Rakudo Star 2011.04, or Rakudo 2011.06, or ... ?
20:19 pmichaud or by master do you mean "master HEAD" ?
20:19 masak oh.
20:19 masak This is Rakudo Perl 6, version 2011.05-21-g7175e54 built on parrot 3.5.0 RELEASE_3_5_0-13-g19bbdee
20:20 pmichaud that's an odd beastie.   :-)
20:20 pmichaud for 2011.06 on 3.5.0 I didn't notice any major slowdowns related to gc
20:20 pmichaud I didn't run any tests on 3.5.0-13, but could potentially do that.
20:20 PerlJam masak: are you running on a resource constrained machine?
20:20 pmichaud probably a good idea before the weekend.
20:20 masak PerlJam: in a sense, yes. VM with not too much memory and a bit of a slowdown.
20:21 masak on a fairly new laptop.
20:21 pmichaud jnthn: http://gist.github.com/1081228  # really close now... how do I avoid the warning?
20:21 benabik Building Rakudo master, Parrot master, CORE.setting: Unrecognized nqp:: opcode 'nqp::hash' at line 3969, near ";\n        "
20:22 birdwindupbird left #perl6
20:22 PerlJam Maybe there's some pathological GC behavior that that version of Rakudo still diddles.
20:22 jnthn pmichaud: Oh, hm
20:22 pmichaud benabik: that doesn't make any sense... Rakudo master doesn't have a CORE.setting
20:22 pmichaud nor does it use nqp:: opcodes
20:22 jnthn pmichaud: I dunno how you've refactored it.
20:22 pmichaud did you mean Rakudo nom?
20:22 pmichaud jnthn: I can commit... one moment.
20:23 benabik pmichaud: D'oh.  Yes.  NQP master, Rakudo nom.
20:23 jnthn pmichaud: I suspect that it's assuming ti's installing a method and looking for a $*SCOPE
20:23 jnthn And /.../ doesn't imply one.
20:23 pmichaud I think I can pass a scope to install_method
20:23 jnthn oh
20:23 jnthn Then pass anon
20:24 jnthn Which is correct really :)
20:24 pmichaud right.
20:24 benabik Oh, wait...  I appear to have been running multiple compiles in parallel for some reason.  I doubt this was a good idea.
20:24 dalek rakudo/nom: 07acbeb | pmichaud++ | src/Perl6/ (2 files):
20:24 dalek rakudo/nom: Refactor building of regex methods, enable /.../ (but it produces a warning).
20:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/07acbeb9d0
20:27 pmichaud benabik: it's very likely that nom's NQP_REVISION is out of date.  I'll update it.
20:27 pmichaud It is.
20:27 pmichaud Fixing.
20:27 benabik pmichaud: I'm using NQP head anyway...
20:27 * benabik lives on the edge.
20:27 pmichaud benabik: you might need to pull then.
20:27 pmichaud what does  nqp --version give?
20:28 benabik pmichaud: This is nqp version 2011.06-115-g2c89ff1 built on parrot 3.5.0 revision RELEASE_3_5_0-182-g23a0a42
20:28 pmichaud yep.  latest is 116
20:29 benabik pmichaud: Yours might be 116.  `git pull && git describe` gives `2011.06-115-g2c89ff1`
20:29 pmichaud Oops.
20:29 dalek nqp: 69cc5ac | pmichaud++ | src/ (2 files):
20:29 dalek nqp: Refactor Match object construction, add nqp::hash.
20:29 dalek nqp: review: https://github.com/perl6/nqp/commit/69cc5acbec
20:30 benabik pmichaud: That would do it.  :-D
20:32 pmichaud benabik++
20:37 jnthn pmichaud: Seems to need an NQP_REVISION bump also.
20:37 pmichaud I probably haven't pushed yet.
20:37 jnthn ah, k
20:38 dalek rakudo/nom: a618c39 | pmichaud++ | tools/build/NQP_REVISION:
20:38 dalek rakudo/nom: Bump NQP_REVISION.
20:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a618c39da1
20:38 dalek rakudo/nom: d488f2d | pmichaud++ | src/Perl6/Actions.pm:
20:38 dalek rakudo/nom: Fix scope of anonymous regexes.
20:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d488f2de9b
20:38 jnthn \o/
20:38 * jnthn builds latest :)
20:39 thou joined #perl6
20:39 pmichaud I'm writing Regex.ACCEPTS now.
20:39 pmichaud s/writing/testing/
20:39 betterworld left #perl6
20:40 jnthn nom: grammar Foo { regex abc { <def> }; regex def { 'lol' } }
20:40 p6eval nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'␤current instr.: 'nqp;Perl6;ModuleLoader;_block1140' pc 2875 (src/gen/perl6-moduleloader.pir:1152) (src/Perl6/ModuleLoader.pm:124)␤»
20:41 jnthn That's...unfortunate.
20:41 pmichaud likely build error
20:41 pmichaud (because of NQP_REVISION)
20:41 jnthn pmichaud: rebuild nom
20:41 jnthn grr
20:41 jnthn p6eval: rebuild nom
20:41 pmichaud I *am* rebuilding nom.  :-P
20:41 jnthn oh no
20:41 jnthn evalbot rebuild nom
20:41 p6eval OK (started asyncronously)
20:44 pmichaud http://gist.github.com/1081281
20:44 pmichaud \o/
20:46 jnthn \o/
20:47 jnthn Does it do alternation yet?
20:47 pmichaud sequential alternation, yes.
20:47 pmichaud doesn't set $/ yet... working on that.
20:47 * masak read that as "does it do aliteration yet?", and wonder what new feature he had missed :)
20:47 masak wondered*
20:48 pmichaud regexes really rock rakudo
20:48 PerlJam masak: it's part of the built-in poetry generator.
20:48 dalek rakudo/nom: 02cc95b | pmichaud++ | / (2 files):
20:48 dalek rakudo/nom: Add first version of Regex.ACCEPTS .
20:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/02cc95bbc9
20:48 masak PerlJam: oh wow oh wow
20:48 PerlJam masak: still working on the haiku and limerick modules though
20:48 PerlJam ;-)
20:48 jnthn pmichaud: ah, was trollin' for LTM :)
20:49 masak PerlJam: this isn't going to cause feature bloat or delay the Release of Perl 6, is it? :)
20:49 PerlJam of course not!
20:49 masak oh phew
20:49 pmichaud jnthn: ltm will show up in protoregexes first, most likely.
20:49 PerlJam (who'd notice anyway? ;)
20:49 jnthn pmichaud: ok :)
20:49 pmichaud because that's needed for the grammars
20:49 masak PerlJam: touché.
20:49 jnthn *nod*
20:49 pmichaud for building nqp and rakudo :)
20:50 * benabik can haz nom
20:51 benabik pmichaud++ masak++ jnthn++ # helping me work through silly build errors
20:55 pmichaud http://gist.github.com/1081310
20:56 pmichaud \o/
20:56 jnthn \o/
20:56 benabik $/.list[0] ?
20:56 pmichaud I don't have postcircumfix on match objects yet
20:56 pmichaud so have to go through .list to get there
20:56 pmichaud also don't have .hash yet
20:57 pmichaud one step at a time, I say!
20:57 pmichaud also dont have Match.Bool yet
20:57 pmichaud still a lot of pieces to put back into place
20:57 benabik One _awesome_ step.  ;-)  Just forgot that Rakudo didn't do the .list automatically.
20:58 pmichaud jnthn: so, looks like we have regexes in nom now.  The rest of the stuff to be done for basic regex support is just adding in methods and cleaning up small pieces.
20:59 pmichaud and, we have a much saner engine underneath.  :-)
20:59 masak progress++
20:59 masak pmichaud++
21:00 pyrimidine pmichaud: I'm guessing 'make install' isn't working yet?
21:00 pmichaud pyrimidine: correct, it's not.
21:01 pyrimidine ok
21:01 masak pyrimidine! \o/
21:01 pmichaud I can probably get to it in a couple of days.
21:01 pyrimidine masak: \o/
21:01 pyrimidine pmichaud: no rush, very nice to see how fast things are progressing!
21:01 masak pyrimidine: how is my favorite C, T, or U base? :)
21:02 pmichaud after having worked on regexes a fair bit the last couple of days, I should probably let my family know I still exist :)
21:02 pyrimidine new $job in a very interesting place
21:02 PerlJam pmichaud: gonna blog about it at some point?  :)
21:02 pmichaud PerlJam: tonight.
21:02 pmichaud Two blog posts
21:02 pmichaud one to rakudo.org (release schedule), one to pmthium (nom progress)
21:02 pyrimidine (blog posts)++
21:03 [Coke] pmichaud++
21:03 jnthn pmichaud++ # awesome work
21:03 jnthn pmichaud: Going to write up grammar to have Grammar as default parent.
21:03 jnthn pmichaud: Then that bit is done too :)
21:04 jnthn So hopefully won't have to be too much twiddling in meta-space while I'm vacationing. :)
21:05 * PerlJam keeps reading "meta-space" as "meat-space"
21:05 pmichaud having 'grammar' work will be great.
21:06 pmichaud jnthn++ # awesome work on roles
21:06 pmichaud I'm major impressed that we can compose NQP roles into Rakudo classes.
21:06 masak interesting point that ++ might be a macro. I think I like that, actually.
21:06 jnthn > grammar LolGram { }; say LolGram.^mro
21:06 jnthn LolGram() Grammar() Cursor() Any() Mu()
21:06 masak (even in nqp, if nqp ever gets macros)
21:07 flussence hm, I think I can see why nom won't run from outside its build dir...
21:07 bluescreen10 left #perl6
21:07 jnthn masak: You don't need it in real Perl 6
21:07 jnthn masak: Because real Perl 6 has assignment.
21:07 jnthn masak: The point is we can't have normal ++ in NQP because it has - and very probably never will have - assignment.
21:08 masak rightright.
21:08 pmichaud well, even in nqp-rx the postfix++ needed to be macro-ized somewhat, to provide the 'return value before increment' semantic.
21:09 pmichaud okay, I need a short break and then I'll clean up match objects a bit more
21:09 jnthn :)
21:09 Zapelius left #perl6
21:10 pmichaud playing with this gives me a lot of ideas for better api's
21:10 soh_cah_toa joined #perl6
21:11 [Coke] so we'll be running regex spectests in rakudo/nom today? ;)
21:12 pmichaud if people want to start testing against the regex spectests, that's fine with me.
21:12 masak imagine the number of passing tests!
21:12 dalek rakudo/nom: 8e83387 | jonathan++ | / (3 files):
21:12 dalek rakudo/nom: Factor default parent handling out into a role.
21:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8e83387e45
21:12 dalek rakudo/nom: 8c44a7a | jonathan++ | src/Perl6/Metamodel/ (2 files):
21:12 dalek rakudo/nom: GrammarHOW gets Grammar as default parent.
21:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8c44a7ae3e
21:12 pmichaud I strongly caution against putting any regex-reliant code into the core setting or Test.pm.
21:12 masak lol
21:12 masak er. belay that :)
21:13 pmichaud There may still be some breakages imminent, and I'll suppress/remove any troublesome regex code if it's in my way and I don't have time to fix it :)
21:15 pmichaud so, at least give me a couple of days to finish fleshing this out.  The new engine is less than 4 days old, after all.  :)
21:15 pmichaud (at least in terms of code)
21:15 Mowah left #perl6
21:15 im2ee left #perl6
21:16 pmichaud time for a short break here -- bbiab
21:24 pyrimidine pmichaud++ # awesome work!
21:25 flussence I think I've figured this out... strace tells me nom is looking for modules in {.,blib,$build_dir,$build_dir/lib}/*.{pbc,pir,pasm} ... when I run it from another dir, that's not going to find $build_dir/blib/Perl6/Grammar.pbc or *any* .pm file
21:26 tadzik flussence: http://wklej.org/id/561565/ that's something I was doing a while ago trying to fix 'make install' in nom, YMMV, I don't know how it will work now
21:29 flussence that still leaves the problem that it's not loading .pm files at all... I tried running the Text-Tabs-Wrap tests and it barfed on all of them
21:29 jnthn flussence: nom can only load pre-compiled at the moment.
21:29 flussence oh, k
21:30 jnthn tssk, ClassHOW has grown to over 200 lines
21:30 jnthn time to create some more rols...
21:30 jnthn *roles
21:43 Psyche^ joined #perl6
21:46 Patterner left #perl6
21:46 Psyche^ is now known as Patterner
21:48 dukeleto tadzik: what way should people run the panda/pies test suite?
21:48 dukeleto tadzik: prove -e perl6 -lrv t/ ?
21:49 tadzik dukeleto: bootstraping will run it
21:49 wamba left #perl6
21:49 tadzik ufo && make test would do the job to
21:50 masak just passed 800 LoC with the adventure game.
21:51 masak it'll soon be playable all through.
21:52 jnthn Conversely, just got ClassHOW down to 80 lines :P
21:52 wamba joined #perl6
21:52 dukeleto tadzik: can you add irc notification to panda.git ?
21:52 tadzik dukeleto: aye
21:53 drbean joined #perl6
21:53 tadzik dukeleto: done
21:54 dukeleto tadzik++
21:55 tadzik dukeleto: comment added on one of the commits
21:55 tadzik dukeleto++ # new README looks nice
21:56 dukeleto tadzik: "perl6 binary be in your path" and "perl6 binary is in your path" mean the same thing to me, but I can modify it if that is confusing
21:56 tadzik dukeleto: "that the perl6 binary be in your path" looks wrongish to me
21:57 tadzik maybe "requires the perl6 binary to be in your path"?
21:57 tadzik I don't mind if it's legal english, I may be wrong :)
21:57 dalek rakudo/nom: 96bf65f | jonathan++ | / (3 files):
21:57 dalek rakudo/nom: Factor BUILDplan creation into a role.
21:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/96bf65f9c5
21:57 dalek rakudo/nom: dd360f8 | jonathan++ | / (3 files):
21:57 dalek rakudo/nom: Factor MRO-based method dispatch out into a role.
21:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dd360f8e14
21:57 dalek rakudo/nom: b58cea2 | jonathan++ | / (3 files):
21:57 dalek rakudo/nom: Factor MRO-based type checking out into a role.
21:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b58cea24dd
21:58 dalek panda: 99e0bed | dukeleto++ | README.md:
21:58 dalek panda: Update wording about binaries and PATHs to be less confusing
21:58 dalek panda: review: https://github.com/tadzik/panda/commit/99e0bed9be
21:59 tadzik :( "that the perl6 binary to be in your path" still sounds wrong to me. Don't bother if it's correct though :)
22:00 masak "that the perl6 binary be in your path".
22:00 tadzik s/be/is/ maybe?
22:00 dukeleto tadzik: yeah, you are right. I mixed up my edits.
22:01 pmichaud your path contains the perl6 binary
22:01 masak well, the "be" is there because of "requires", which makes it a subjunctive. but people don't care much for the subjunctive nowadays, so it could as well be "is".
22:02 dukeleto masak: lulz. that is what I said originally
22:03 masak oh, sorry, I'm not reading the backlog too attentively :)
22:03 pmichaud me either :)
22:03 pmichaud and it's time for dinner here... bbl
22:03 dukeleto tadzik: ./bin/ufobuilder && make test doesn't work for me
22:06 mj41 left #perl6
22:06 dalek panda: 2799f77 | dukeleto++ | README.md:
22:06 dalek panda: Add a way of running our test suite to the readme and desubjunctify
22:06 dalek panda: review: https://github.com/tadzik/panda/commit/2799f77ae9
22:07 kaare__ left #perl6
22:07 tadzik dukeleto: how do you define "didn't work"?
22:08 Kivutarrr left #perl6
22:09 dukeleto tadzik: $ ./bin/ufobuilder && make test
22:09 dukeleto sh: ufo: not found
22:09 dukeleto tadzik: did the ufo binary change names?
22:10 tadzik dukeleto: do you have it installed?
22:12 dukeleto tadzik: i didn't realize that I have to install a different thing to run the panda test suite
22:12 dukeleto tadzik: i just ran the test suite successfully with prove -e perl6 -rv t/
22:12 tadzik that's nice
22:16 Chillance left #perl6
22:21 dukeleto tadzik: i have seen the light: panda install ufo && ufo && make install
22:22 tadzik dukeleto: whywouldyoudothat?
22:23 tadzik if you already have panda installed, why would you install ufo to install panda? :)
22:23 dukeleto tadzik: just trying to give alternate ways of running the test suite in the docs
22:23 betterworld joined #perl6
22:23 dukeleto tadzik: should we tell people to just use prove ?
22:24 tadzik dukeleto: I think so, it's the least effort
22:24 tadzik if you want to just run the tests
22:25 wamba left #perl6
22:25 tadzik dukeleto: but, will -lrv be sufficient, does it load ext/?
22:25 tadzik test suite uses Test::Mock for example, so it's shipped in ext/. bootstrap.sh adds ext/ to PERL6LIB temporarily to install and test panda
22:26 dukeleto tadzik: i've noticed the -l does nothing for running perl6 modules, since it modifies PERL5LIB, and no, it doesn't load ext/, i don't think
22:26 tadzik so it's probably PERL6LIB=ext:lib prove ...
22:26 dukeleto tadzik: well, the test suite passed for me without that
22:27 tadzik dukeleto: you probably have the modules already installed
22:27 tadzik remove your ~/.perl6 and try
22:29 envi joined #perl6
22:29 tadzik Sleepytime for me, take care and have fun!
22:29 jferrero left #perl6
22:29 dukeleto tadzik: thanks!
22:29 dukeleto the README for ufo is absolutely hilarious
22:30 dukeleto and absolutely ture, no less
22:30 dukeleto true even. /me goes back to writing perl 6 module slides
22:33 bluescreen10 joined #perl6
22:33 jferrero joined #perl6
22:34 masak dukeleto: thanks :)
22:34 whiteknight joined #perl6
22:34 dalek panda: af42c79 | dukeleto++ | README.md:
22:34 dalek panda: Improve some readme formatting
22:34 dalek panda: review: https://github.com/tadzik/panda/commit/af42c79fa0
22:37 masak 'night, #perl6.
22:38 masak left #perl6
22:40 pmichaud back again
22:40 dalek rakudo/nom: b88391c | jonathan++ | src/Perl6/Metamodel/BaseType.pm:
22:40 dalek rakudo/nom: Fix a thinko in BaseType's MRO generation.
22:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b88391c1cf
22:40 dalek rakudo/nom: beba09a | jonathan++ | src/Perl6/Metamodel/EnumHOW.pm:
22:40 dalek rakudo/nom: Flesh out EnumHOW a little more.
22:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/beba09acd0
22:42 ribasushi left #perl6
22:43 ribasushi joined #perl6
22:47 envi left #perl6
22:47 envi joined #perl6
22:53 Raynes is now known as flatbot
22:53 flatbot is now known as Raynes
23:19 whiteknight left #perl6
23:19 wknight8111 joined #perl6
23:32 orafu left #perl6
23:34 sjohnson rakudo: "just another Perl 6 hacker".say
23:34 orafu joined #perl6
23:34 p6eval rakudo b4486e: OUTPUT«just another Perl 6 hacker␤»
23:35 thou left #perl6
23:39 wknight8111 left #perl6
23:39 whiteknight joined #perl6
23:43 Util perl6: sub infix:<zzz> ( $x, $y ) { { X => $x, Y => $y } }; [  2  zzz  2 ].perl.say;
23:43 p6eval pugs: OUTPUT«[("X" => 2), ("Y" => 2)]␤»
23:43 p6eval ..rakudo b4486e, niecza v7-30-gaf607ad: OUTPUT«[{"X" => 2, "Y" => 2}]␤»
23:43 Util perl6: sub infix:<zzz> ( $x, $y ) { { X => $x, Y => $y } }; [ ^2 Xzzz ^2 ].perl.say;
23:43 p6eval niecza v7-30-gaf607ad: OUTPUT«WRONG ExitRunloop TAKEN:␤  at  line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1174 (CORE crossop @ 2) ␤  at /tmp/6NLDRcKCmY line 1 (MAIN mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1890 (CORE C885_ANON @ 2) ␤  at …
23:43 p6eval ..rakudo b4486e: OUTPUT«===SORRY!===␤Could not find sub &infix:<zzz>␤»
23:43 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "["␤    expecting ";", identifier, Doc block, block declaration, declaration, construct or expression␤    at /tmp/EYLLQD3z3X line 1, column 54␤»
23:43 Util Am I doing something wrong in the second case? Shouldn't that work?
23:46 jnthn rakudo: our sub infix:<zzz> ( $x, $y ) { { X => $x, Y => $y } }; [ ^2 Xzzz ^2 ].perl.say;
23:46 p6eval rakudo b4486e: OUTPUT«[{"X" => 0, "Y" => 0}, {"X" => 0, "Y" => 1}, {"X" => 1, "Y" => 0}, {"X" => 1, "Y" => 1}]␤»
23:46 Util Doh!
23:46 jnthn Util: Rakudo master needs our. It should work without.
23:46 Util Thanks, jnthn
23:46 jnthn Util: We fixed that issue in nom, alas we don't yet have user defiend operators.
23:46 jnthn (It's wrong that the 'our' is needed.)
23:49 * Util wants fiend operators :)
23:54 mtk left #perl6
23:55 jnthn Tired...will try and find time to tinker with enums a bit more tomorrow
23:55 jnthn 'night &

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

Perl 6 | Reference Documentation | Rakudo