Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-11-20

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:00 diakopter oh!
00:00 diakopter they *did* get pushed
00:00 diakopter they just don't appear in the main listing on github's history line
00:00 flussence hmm
00:01 diakopter because they're on my master merge commit with 2 parents
00:01 xinming_ left #perl6
00:01 diakopter curiouser and ...
00:01 flussence if you want to pick certain files, make a separate clean branch and merge only those into it, I guess
00:01 diakopter no, I'm saying I don't need to
00:01 diakopter my problem was a false alarm
00:02 flussence oh well, someone might find that useful anyway :)
00:02 diakopter https://github.com/jnthn/6model/commit/d​d7ed6095a7be2f62b6dc8ec30aed41d5e298b6a and its 3 parents
00:02 diakopter they weren't listed here either (of course)..
00:02 * diakopter starts to learn a bit more
00:03 jnthn diakopter: Lemme check if they're in my pull
00:03 jnthn diakopter: What am I looking for?
00:03 diakopter Ops\P6capture.cs
00:04 flussence the one thing I've learned with git is that it's easier to start with a clean copy and mess it up than to tidy up a messy tree
00:04 flussence ...and clean copies are cheap, too
00:04 diakopter I've done that a couple of times already.
00:04 jnthn 4,563 P6capture.cs
00:04 jnthn In Ops
00:04 diakopter time to upgrade TortoiseGit though
00:04 diakopter jnthn: yay. also, it's here https://github.com/jnthn/6model/blob/maste​r/dotnet/runtime/Runtime/Ops/P6capture.cs
00:05 jnthn diakopter: However, seems not to have made it into the proejct file.
00:05 diakopter oh yes. :)
00:06 diakopter I forgot to commit that.
00:06 diakopter a neglection as opposed to a git misunderstanding
00:06 jnthn np
00:06 jnthn Any particular thing you'd like me to hack on tomorrow?
00:06 diakopter me?
00:07 jnthn Yeah
00:07 * diakopter looks
00:07 jnthn (e.g. if there's any upcoming blockers you can see yourself hitting...)
00:07 diakopter attribute viviself
00:07 diakopter flattened args
00:08 jnthn k
00:08 diakopter I've needed those when "directly" porting Cursor.pir so far.. (I'm avoiding refactoring as much as possible so far)
00:08 jnthn *nod*
00:08 jnthn OK, I'll see what I can do.
00:08 diakopter default arg expressions
00:08 jnthn The first ain't to bad to work around, but the latter is kinda difficult
00:09 jnthn Default args for the non-value case?
00:09 diakopter remember the default arg expressions work, but only if they don't reference lexicals
00:09 jnthn Oh, yes.
00:09 jnthn I can look at that.
00:09 frettled jnthn++
00:09 jnthn OK, I try and do those (or at least some of them) tomorrow.
00:10 jnthn heh. diakopter++ # taking on the task that scares me :)
00:10 frettled :)
00:10 frettled that, too!
00:10 * diakopter predicts jnthn will sleep soon
00:10 jnthn Yeah
00:11 jnthn And finally...I can sleep without setting an alarm clock. \o/
00:11 jnthn diakopter: Probably awake for another 30 mins or so
00:11 jnthn diakopter: Though plan to resume hacking tomorrow ;)
00:12 jnthn At least we sorta have workinger packages now :)
00:12 frettled I'm still in awe about the progress in specs and implementation (Parrot+Rakudo).
00:16 dalek 6model: 078ff60 | diakopter++ | dotnet/runtime/Rakudo.Net.csproj:
00:16 dalek 6model: [dotnet] add P6capture.cs to the .csproj
00:16 dalek 6model: review: https://github.com/jnthn/6model/commit/0​78ff60026b23f47c9886dd209799049729d9679
00:17 sorear 76.49% 52m33s
00:17 aindilis joined #perl6
00:18 diakopter jnthn: I set my vstudio to complain about mixed line-endings (Tools..Options..Environment..Documents) so I can reset everything to be LF-only like it seems to be in the git repo (regardless of what they are on your disk) :)
00:18 diakopter hopefully that will decrease your oddities
00:18 jnthn diakopter: OK, fingers crossed...
00:18 jnthn diakopter: I'm still utterly confused by it. :)
00:19 jnthn diakopter: It's still better than using TFS for version control though. ;)
00:19 jnthn *sigh*$dayjob*sigh*
00:19 sorear What is the value of try { die "foo" }?
00:19 jnthn sorear: Sets $!
00:20 sorear jnthn: that's irrelevant to my question
00:20 jnthn oh
00:20 jnthn *that* meaning of value
00:20 jnthn :)
00:20 jnthn ...yeah, this is why I stopped writing code a little bit ago. :)
00:21 jnthn sorear: It may be the exception object.
00:21 masak it may be Nil.
00:21 justatheory joined #perl6
00:22 jnthn masak: Hm
00:22 jnthn Maybe
00:22 jnthn masak: I kinda like that more
00:22 jnthn masak: Either way it should be something that is Boolean false and undefiend so I guess not the exception object.
00:22 masak makes more sense, I think.
00:23 jnthn And it shoudln't be a Failure
00:23 masak no.
00:23 jnthn (Because the try threw away the exception)
00:23 jnthn So Nil probably makes most sense.
00:23 jnthn oh, is Nil undefined these days?
00:23 jnthn rakudo: say Nil.defined
00:23 p6eval rakudo : OUTPUT«Bool::False␤»
00:23 vx64z joined #perl6
00:24 jnthn Good (if it's up to date :)).
00:24 dalek niecza: 4b53c13 | sorear++ | / (3 files):
00:24 dalek niecza: Fix ~/capture interaction
00:24 dalek niecza: review: https://github.com/sorear/niecza/commit/​4b53c13f6a8415f31020ce0c9aab0afba31cf748
00:24 dalek niecza: a01a003 | sorear++ | / (2 files):
00:24 dalek niecza: Disallow assignment to non-existing dynvars
00:24 dalek niecza: review: https://github.com/sorear/niecza/commit/​a01a0036a8743ae19eef57433d7b063d3e9ac5af
00:26 vxz left #perl6
00:26 vx64z is now known as vxz
00:26 masak blog post! http://strangelyconsistent.org/blog/novemb​er-19-2010-ive-got-good-news-and-bad-news
00:26 * sorear needs to get more consistant about quickly implementing stuf flike that
00:28 * masak heads home
00:28 masak 'night, #perl6
00:28 masak left #perl6
00:38 cdarroch left #perl6
00:39 whiteknight joined #perl6
00:45 sftp left #perl6
00:46 justatheory left #perl6
00:48 justatheory joined #perl6
00:55 colomon left #perl6
00:55 justatheory left #perl6
01:03 colomon joined #perl6
01:06 risou joined #perl6
01:35 dalek 6model: 3c9aed7 | diakopter++ | / (2 files):
01:35 dalek 6model: [dotnet] add a failing test for jnthn++ to investigate/fix
01:35 dalek 6model: review: https://github.com/jnthn/6model/commit/3​c9aed7b35fbf18186f36ab9c3a5407f6700f2b7
01:36 diakopter phenny: ask jnthn plz look at 6model 3c9aed7
01:36 phenny diakopter: I'll pass that on when jnthn is around.
01:48 justatheory joined #perl6
01:51 am0c left #perl6
01:53 dalek tpfwiki: Herbert Breunung | Perl 6 Variable Tablet
01:53 dalek tpfwiki: http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
01:53 dalek tpfwiki: Herbert Breunung | Perl 6 Tablets
01:53 dalek tpfwiki: http://www.perlfoundation.org/​perl6/index.cgi?perl_6_tablets
01:53 lichtkind TimToady: thank you
02:06 dalek dalek-poller: 9d471b9 | sorear++ | modules/local/ (2 files):
02:06 dalek dalek-poller: Use CREDITS data for tpfwikilog
02:06 dalek dalek-poller: review: https://github.com/sorear/dalek-poller/comm​it/9d471b980a4463cf2a93cf9f7539c1ad0d834c1d
02:18 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
02:20 am0c^ left #perl6
02:34 drbean_ joined #perl6
02:35 dd-sphere joined #perl6
02:35 am0c^ joined #perl6
02:37 drbean left #perl6
02:39 ch3ck3r left #perl6
02:39 drbean_ left #perl6
02:46 drbean joined #perl6
03:07 dd-sphere left #perl6
03:31 diakopter sorear: did your bugfix make it into mono 2.8.1
03:34 diakopter oh. no.
03:35 KyleHa joined #perl6
03:56 cosimo left #perl6
03:56 cosimo joined #perl6
03:59 KyleHa left #perl6
04:13 whiteknight left #perl6
04:27 Bzek_ joined #perl6
04:29 Guest2242 left #perl6
04:29 Bzek left #perl6
04:32 Limbic_Region left #perl6
04:34 lichtkind good night
04:37 meppel joined #perl6
04:40 meppl left #perl6
04:41 drbean left #perl6
04:45 alester joined #perl6
04:47 MindosCheng Good night.
04:48 masak joined #perl6
04:48 masak good morning, #perl6.
04:48 masak I've spent the idle hours writing an LTM algorithm for .trans: https://gist.github.com/707628
04:50 masak it passes all the tests, but there are a few corner cases (which we should have tests for, but don't) that it doesn't handle.
04:50 masak here are the two I can think of:
04:51 masak "AAA".trans(["A", "A"] => ["1", "2"]) # what should the result be? why?
04:51 masak it also doesn't resolve on token length at all, because all tests pass without it.
04:52 masak (so yes, it's a longest-token matcher that doesn't take longest token into account) :)
04:52 masak anyway, feel free to review.
04:52 MindosCheng masak++
04:52 masak I'll go sleep now, and when I wake up I plan to add the missing spectests and patch up Rakudo with the new code.
04:54 masak left #perl6
04:59 kanishka joined #perl6
05:00 lichtkind left #perl6
05:00 obsd123 joined #perl6
05:03 vxz left #perl6
05:06 lue ohai o/
05:17 MindosCheng Hey~
05:18 ggoebel left #perl6
05:19 ggoebel joined #perl6
05:20 ggoebel party got moved to Runde 8
05:20 ggoebel oops disregard
05:20 ggoebel left #perl6
05:28 drbean joined #perl6
05:34 justatheory left #perl6
05:55 meppel left #perl6
05:59 am0c^ left #perl6
06:17 obsd123 left #perl6
06:25 alester left #perl6
06:25 lue phenny: "Дивитися YouTube українською"?
06:25 phenny lue: "Watch YouTube Ukrainian" (uk to en, translate.google.com)
06:26 lue .oO(that makes sense)
06:39 obsd123 joined #perl6
06:39 Chillance left #perl6
06:47 kanishka left #perl6
06:54 mssm joined #perl6
07:01 kanishka joined #perl6
07:03 kanishka left #perl6
07:06 mssm left #perl6
07:19 mssm joined #perl6
07:28 am0c joined #perl6
08:17 Woodi left #perl6
08:17 Woodi joined #perl6
08:55 dalek niecza: 6598951 | sorear++ | / (3 files):
08:55 dalek niecza: Start of the contexts overhaul
08:55 dalek niecza:
08:55 dalek niecza: Previously, to extract a String from a value like "foo", first the
08:55 dalek niecza: .Str method is called, then the result is unboxed to get a String.
08:55 dalek niecza: This results in a lot of unneccessary method calls.  Now, there is
08:55 dalek niecza: an intermediate layer of C#-level virtual calls, which directly do
08:55 dalek niecza: the needed operations for simple types, or else delegate it to the
08:55 dalek niecza: corresponding method.
08:55 dalek niecza: review: https://github.com/sorear/niecza/commit/​6598951ecd834375253bf1d54133228a611c7c8a
09:01 _xiaomo_ joined #perl6
09:09 tadzik https://github.com/github/gitig​nore/blob/master/Perl.gitignore
09:10 * tadzik mumbles something about .pir
09:15 xinming joined #perl6
09:17 plobsing left #perl6
09:28 dalek niecza: ecbb97d | sorear++ | / (4 files):
09:28 dalek niecza: Start writing builtins to use the new contexts
09:28 dalek niecza: review: https://github.com/sorear/niecza/commit/​ecbb97ddb5498bd92af9503f25e28003636cb1f5
09:31 sniz joined #perl6
09:36 dalek niecza: 56de4a2 | sorear++ | src/ (3 files):
09:36 dalek niecza: Add simplifier rules to use new builtins
09:36 dalek niecza: review: https://github.com/sorear/niecza/commit/​56de4a2523ab30a3ce2ac8b79a8c799d6f95cae8
09:39 nymacro joined #perl6
09:40 agentzh joined #perl6
09:45 dalek niecza: 83891ca | sorear++ | src/ (2 files):
09:45 dalek niecza: Use new contexts in conditional operators
09:45 dalek niecza: review: https://github.com/sorear/niecza/commit/​83891ca2eb65603b5fd6e7c10c006ac6a3981a53
09:46 sorear 18us down to 2.7us on ctxmark.pl
09:46 sorear it helps that ctxmark.pl uses the two builtins I implemented (this isn't a coincidence)
09:47 sorear 0.23 us for Perl 5 :(
09:48 simon does anyone here know if negative look-arounds extend the set of regular languages, or if they're just syntax sugar that prevents a blow-up in regex size?
09:48 MindosCheng corear++
09:48 MindosCheng sorear++
09:49 sorear there's one more easy optimization I can do - adding a constant pool
09:49 sorear no need to reconstruct 1000000.0 every time through the loop
09:50 sorear it would be even better if the loop could be done without allocating, but I'm not sure if that's sanely possible now
09:50 sorear since Num is an object now
09:50 sorear Perl 5 can run the loop without allocating
09:54 sorear 0.97 us with SGen
09:55 * sorear out
10:02 _xiaomo_ left #perl6
10:08 araujo left #perl6
10:13 mavrc joined #perl6
10:22 oha joined #perl6
10:24 risou left #perl6
10:30 MayDaniel joined #perl6
10:44 MayDaniel left #perl6
10:50 wamba joined #perl6
10:53 Woodi left #perl6
10:55 am0c left #perl6
11:04 obsd123 left #perl6
11:11 sftp joined #perl6
11:12 Woodi joined #perl6
11:18 am0c joined #perl6
11:25 am0c left #perl6
11:30 teslos joined #perl6
11:33 agentzh left #perl6
11:42 am0c joined #perl6
12:03 am0c left #perl6
12:10 drbean left #perl6
12:17 am0c joined #perl6
12:18 drbean joined #perl6
12:20 Trashlord joined #perl6
12:29 orafu left #perl6
12:29 orafu joined #perl6
12:36 tadzik hmm, idea. Could we organize something like 'adventsketch', so we can discuss the workflow? I don't know how it was going last year, but I'd personally start planning something
12:37 sftp left #perl6
12:37 moritz_ tadzik: last year there was a file in which there was one line per day
12:38 tadzik ok. moritz_, could we hit the first day with you MAIN article?
12:38 moritz_ tadzik: people entered their name and topic for a particular date
12:38 moritz_ tadzik: we could, but a more general "current state of Perl 6" or "how to install a compiler" or so might be better suited for a start
12:38 moritz_ people usually prepared their entry a bit in advance
12:39 moritz_ and if they didn't, others reminded them :-)
12:39 tadzik "what changed since last year?"
12:39 tadzik (that needs a has)
12:39 moritz_ that said, an adventsketch wouldn't be a bad idea either
12:39 tadzik I can write something like this probably
12:39 tadzik that would cover the distinction between Rakudo and Star
12:39 moritz_ just don't assume too much of last year's knowledge
12:39 moritz_ +1
12:40 tadzik sure thing
12:41 sftp joined #perl6
12:41 tadzik what is the state of advent2009 tests? I thought they're here, but I had to notice the brokeness of Grammar chapter over time myself anyway. Are they reliable?
12:42 tadzik moritz_: can I schedule you for 2nd?
12:42 cosimo what's the idiomatic way to opendir/readdir in p6?
12:43 tadzik dir()?
12:43 cosimo i tried searching for this info, but I couldn't find it
12:44 tadzik > dir('.')
12:44 tadzik bin .mc .NERDTreeBookmarks r-PERL.diff fortunes
12:46 tadzik hmm, maybe an article about file mangling?
12:47 cosimo something in the perl6 book?
12:48 tadzik no idea. But I alredy voluneered for an article about this on Perl 6 Advent Calendar. Or you can learn your way around and write it yourself :)
12:49 cosimo the file test '-f $file' is gone. in your code, I saw '$file.IO ~~ :f'
12:49 cosimo tadzik: is that correct?
12:50 tadzik yes
12:50 dalek mu: 707daf9 | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/ (2 files):
12:50 dalek mu: [advent calendar] Added an idea about file mangling, added schedule and assigned some initial volunteers to it
12:50 dalek mu: review: https://github.com/perl6/mu/commit/707​daf97bc44e5b9038bc570f381d2764f429baf
12:50 tadzik you may want to look into File::Find
12:51 tadzik sorear: why isn't that tadzik in dalek's message?
12:52 teslos left #perl6
12:53 cosimo tadzik: that's where I learned about $x.IO ~~ :y
12:53 cosimo :)
12:53 tadzik :)
12:53 cosimo would be nice to know where did you learn that
12:54 cosimo here maybe?
12:54 araujo joined #perl6
12:54 araujo left #perl6
12:54 araujo joined #perl6
12:54 tadzik probably
12:55 dalek mu: 2f0d9cf | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/schedule:
12:55 dalek mu: [advent calendar] volunteered for day 3: File operations
12:55 dalek mu: review: https://github.com/perl6/mu/commit/2f0​d9cf44cebd035cb87210bbb44be87b0d4a758
12:55 tadzik I'm wondering where did I learn that, but no idea :)
12:55 tadzik cosimo: http://perlgeek.de/en/article/5-to-6#post_11 there is a little
12:56 tadzik at least the file tests
13:05 meppl joined #perl6
13:13 cosimo please, tell me rakudo has an eval method. please. :-|
13:13 cosimo i mean function, builtin
13:13 cosimo yes!
13:13 flussence rakudo: eval('yes')
13:13 p6eval rakudo :  ( no output )
13:14 flussence whoops.
13:14 flussence rakudo: eval('say yes')
13:14 p6eval rakudo :  ( no output )
13:14 flussence :/
13:14 tadzik :>
13:14 flussence oh, might be disabled in p6eval
13:14 tadzik rakudo: eval "say 'yes'"
13:14 p6eval rakudo : OUTPUT«yes␤»
13:14 tadzik hmm
13:14 flussence ...or I'm just being stupid :)
13:14 tadzik rakudo: eval "dir('.').perl.say"
13:14 p6eval rakudo :  ( no output )
13:15 tadzik rakudo: eval "dir('.').perl.say"; say $!
13:15 p6eval rakudo : OUTPUT«Operation not permitted in safe mode␤»
13:15 tadzik good
13:15 tadzik cosimo: whatcha writing?
13:22 jonalv joined #perl6
13:22 jonalv o/
13:23 Patterner left #perl6
13:23 jonalv do you guys have a bot that keeps track of people? I am looking for masak...
13:25 cosimo tadzik: a port of facter to perl6
13:25 cosimo tadzik: puppetlabs facter
13:26 cosimo sorry again, stupid question
13:27 cosimo how do i "map { "$_.foo" } @x" ?
13:27 jonalv left #perl6
13:28 cosimo ah, just needs a comma
13:28 flussence rakudo: my @x = 1..9; say @x».ord
13:28 p6eval rakudo : OUTPUT«495051525354555657␤»
13:29 jnthn o/ #perl6
13:29 phenny jnthn: 01:36Z <diakopter> ask jnthn plz look at 6model 3c9aed7
13:30 cosimo rakudo: my @x = map { "$_/facter" } @*INC; say @x.perl;
13:30 p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "my @x = ma"␤»
13:30 cosimo rakudo: my @x = map { "$_/facter" }, @*INC; say @x.perl;
13:30 p6eval rakudo : OUTPUT«["lib/facter", "/home/p6eval/.perl6/lib/facter", "/home/p6eval/p1/lib/parrot/2.10.0-​devel/languages/perl6/lib/facter", "./facter"]␤»
13:31 cosimo cool
13:34 jnthn phenny: tell diakopter I've looked but I think the right thing is happening. Everything inherits from Mu, so 7 passes as expected. 8 fails because if you look at the multi candidate in Mu, it's multi method Str(Mu:U $self:) { ... }. The :U means "something undefined" but $xyz is defined.
13:34 phenny jnthn: I'll pass that on when diakopter is around.
13:34 Psyche^ joined #perl6
13:34 Psyche^ is now known as Patterner
13:36 jnthn phenny: tell diakopter So test 8 was incorrect here. I corrected it - s/$xyz/XYZ/ - and it passes.
13:36 phenny jnthn: I'll pass that on when diakopter is around.
13:37 dalek 6model: eb4daa2 | jonathan++ | / (3 files):
13:37 dalek 6model: [t] Correct a test case.
13:37 dalek 6model: review: https://github.com/jnthn/6model/commit/e​b4daa28355a9e1e900af063014b9429f6baac1f
13:38 jnthn phenny: tell diakopter Note that we do need a Str with Mu:D that does something sensible. But it probably needs .WHERE to work first, if it's going to do the same thing the Rakudo one does (which seems sensible).
13:38 phenny jnthn: I'll pass that on when diakopter is around.
13:38 jnthn phenny++
13:41 cosimo is it better to self.call($something) or $.call($something) ?
13:41 cosimo is it even the same thing?
13:41 jnthn Similar
13:41 jnthn $.call($something) also puts the result in item context.
13:42 cosimo jnthn: and that means...
13:44 jnthn Same as self.call($soemthing).item
13:46 * cosimo writes down
13:46 colomon jnthn: might you have time help me sort out what's going on with nqp-rx 3-5 hours from now?
13:47 jnthn colomon: Yes, somewhere in that time window I should be about.
13:47 colomon \o/
13:47 colomon football watching and nqp-rx hacking, sounds like a fine afternoon.
13:48 M_o_C joined #perl6
13:48 jnthn colomon: Plan to take a walk now, and go out for noms this evening, but that's probably a good 5 hours away :)
13:48 mubuti joined #perl6
13:51 mubuti left #perl6
13:55 cosimo what is the equivalent of ruby/python's "yield" in rakudo?
14:05 jnthn cosimo: See gather/take
14:05 jnthn I think that's what you want, anyway
14:05 * jnthn -> walk
14:10 juanmabc joined #perl6
14:17 cosimo jnthn: thanks
14:23 juanmabc hi, so to summariza, what's the state? just to talk about: what kan i do?
14:26 juanmabc come on, guys, you do know it! =D
14:26 cosimo you mean perl6?
14:27 cosimo just take a look at real working code, http://modules.perl6.org/
14:28 dalek std: 6ca59e0 | util++ | std_hilite/spec_highlight:
14:28 dalek std: [std_hilite] Fix typo
14:28 dalek std: review: https://github.com/perl6/std/commit/6c​a59e035fd1ac1cc93b6bab3c1e80d23a0b9f14
14:35 juanmabc thanks, so perl 5 modules require a port, is this porting hard?, mainly i like Perl CPAN quantity&quality, 6 is nothing without it ;)
14:39 MindosCheng I guess it's possible to write a translator for normal modules ......
14:51 cosimo juanmabc: well, if you look at modules.perl6.org, there's several modules that are straight ports of p5 code
14:52 tadzik jnthn: what's Item Context?
14:52 tadzik cosimo: which ones? :)
14:52 cosimo tadzik: LWP::Simple? :)
14:53 cosimo Digest::MD5, MIME::Base64
14:53 tadzik cosimo: isn't P5 LWP::Simple using LWP::UserAgent behind the scenes?
14:54 cosimo tadzik: well, I meant high-level API is the same, not really the underlying code
14:54 cosimo that wouldn't be fun
14:54 _twitch joined #perl6
14:54 tadzik right
14:55 tadzik cosimo: I'm afraid it isn't
14:55 tadzik well, that it is... nevermind
14:55 tadzik cosimo: http://cpansearch.perl.org/src/GAAS/​libwww-perl-5.837/lib/LWP/Simple.pm
14:55 tadzik use LWP::UserAgent ();
15:00 nadim left #perl6
15:03 whiteknight joined #perl6
15:05 nadim joined #perl6
15:06 sftp left #perl6
15:07 sftp joined #perl6
15:08 tadzik oh ffs, I just saw example C++ exams on my Uni. Dozen of classes, inheriting various things from each other, and the task is "say what the output would be"
15:09 MindosCheng tadzik: 42
15:10 jnthn Compile error ;)
15:10 tadzik I wish
15:11 MindosCheng Hello World!
15:11 tadzik so the task is to learn the MRO. Excellent
15:11 tadzik wanna see teh code?
15:11 MindosCheng Please!
15:11 tadzik http://feather.perl6.nl/~tjs/kol1_ex1.pdf
15:11 * jnthn had quite enough brain-damaging code at $dayjob this week...
15:13 jnthn The Polish is cute though
15:13 jnthn :)
15:13 tadzik it's the only funny part :)
15:14 lichtkind joined #perl6
15:14 tadzik and this guy's coding style... he tends to name methods like get_pole() -- half-Polish-half-English on his slides
15:15 MindosCheng It's the typical question about the calling order and which method too be called in C++.
15:16 MindosCheng Get golf?
15:16 tadzik golf?
15:16 tadzik I'd rather get a phone with an ssh client
15:17 MindosCheng You may bring a phone with gcc on it...
15:18 risou joined #perl6
15:22 clkao MindosCheng!
15:23 MindosCheng clkao!
15:23 MindosCheng clkao: I thought you just hang there...
15:24 MindosCheng clkao: So you did read the channel. lol.
15:25 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
15:26 clkao from time to time
15:27 MindosCheng I see.
15:32 cognominal left #perl6
15:35 lichtkind does anyone know whyt .com method does exactly?
15:35 lichtkind does anyone know what the .com method does exactly?
15:35 moritz_ in which class?
15:35 lichtkind i think its should be in str
15:35 lichtkind grr i mean comb
15:36 lichtkind it should be close to .match
15:36 moritz_ except that it implies :g
15:36 M_o_C left #perl6
15:36 moritz_ and defaults to rx{.}
15:37 lichtkind but comb stand for combine?
15:37 moritz_ no
15:38 moritz_ to comb = kämmen
15:38 moritz_ search for something
15:38 lichtkind ah thatswhy i dont know this word :)
15:38 moritz_ oh, and .comb returns strings by default, not Match objects
15:38 lichtkind look at my hair :)
15:38 lichtkind thank you very much i think i overlooked this one, its completely missing in the index
15:40 lichtkind is the .comb in array gone or just in list context?
15:40 * moritz_ doesn't understand the question
15:40 tadzik I also thought comb is from the hair thing :)
15:41 lichtkind moritz_: as far as i know .comb was an alias to  the X crossproduct operator
15:42 * moritz_ never heard that before
15:42 lichtkind i took it from the synopses
15:42 lichtkind but its not there anymore
15:43 lichtkind that kind of stuff i dont make up :)
15:43 moritz_ no, you don't, you just confuse other stuff :-)
15:44 cognominal joined #perl6
15:45 nymacro left #perl6
15:46 lichtkind the returning match object can also be found under $\ ?
15:46 tadzik $/ rather
15:46 lichtkind yes
15:47 lichtkind but the same .match returns
15:48 lichtkind moritz_: but .comb can also return an array of strings?
15:49 tadzik doesn't it?
15:49 jnthn rakudo: "12 beer 42 bed 69".comb(/\d+/).perl.say
15:49 p6eval rakudo : OUTPUT«("12", "42", "69")␤»
15:50 jnthn rakudo: "12 beer 42 bed 69".match(/\d+/).perl.say
15:50 p6eval rakudo : OUTPUT«Match.new(␤ from => 0,␤ orig => "12 beer 42 bed 69",␤ to   => 2,␤)␤»
15:50 jnthn lichtkind: Note how comb gives back a list of strings and match a match object
15:50 jnthn rakudo: "12 beer 42 bed 69".match(/\d+/, :g).perl.say
15:50 p6eval rakudo : OUTPUT«(Match.new(␤ from => 0,␤ orig => "12 beer 42 bed 69",␤ to   => 2,␤), Match.new(␤ from => 8,␤ orig => "12 beer 42 bed 69",␤ to   => 10,␤), Match.new(␤ from => 15,␤ orig => "12 beer 42 bed 69",␤ to   => 17,␤))␤»
15:51 jnthn Or a list of match objects
15:52 lichtkind thanks jnthn but X has no more a method alias?
15:53 moritz_ lichtkind: are you sure you're not confusing it with the :x regex modifier?
15:53 moritz_ which is about repetition
15:53 lichtkind rakudo: "12 beer 42 bed 69".comb(/\d+/)
15:53 p6eval rakudo :  ( no output )
15:53 lichtkind moritz_: i am shure
15:53 lichtkind rakudo: "12 beer 42 bed 69".comb(/\d+/).say
15:53 p6eval rakudo : OUTPUT«124269␤»
15:54 icwiener joined #perl6
15:54 jnthn lichtkind: X is more making permutations
15:54 jnthn *for
15:54 lichtkind i know
15:55 lichtkind i just was looking for the new method alias
15:55 jnthn I don't know there ever was one. It doesn't make that much sense to me to have one...
15:55 jnthn It's more sub-y than method-y.
15:57 moritz_ more to the point, X is a symmetric operation between N lists. Which list should you call it on if it where a method?
15:57 jnthn Yes, much better put.
15:57 masak joined #perl6
15:57 masak oh hai, #perl6!
15:57 jnthn lolitsmasak
15:58 moritz_ his masakness has joined the channel!
15:58 masak you deference surprises and delights me.
15:58 risou left #perl6
15:58 tadzik masak: someone was looking for you, but gone now
15:58 risou joined #perl6
15:59 masak ah, such is life. a constant quest for the person not on the channel.
15:59 * masak backlogs
16:00 masak oh, it was jonalv++. :) yes, he wanted to sushi earlier.
16:00 tadzik how philosophical
16:00 tadzik :)
16:03 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
16:03 masak with the latest addition to dalek, I now know that lichtkind is active a lot, though not with what :)
16:05 lichtkind masak: yes we talked yesterday with soroar about that a sort of diff function was mentioned a good to have since socialtext dont allowes commit messages
16:05 jnthn Ouch. Re-basing nqp-rx is a tad painful thanks to the bootstrap files being updated multiple times in master...
16:05 masak lichtkind: yes, I saw. tricky.
16:06 moritz_ jnthn: it's probably eaiser to write a perl script that looks for those commits that do not update bootstrap files, and cherry-pick them one after the other
16:06 am0c left #perl6
16:08 jnthn moritz_: It's a slight deeper issue in that my branch and master have both pushed things into the bootstrap but they aren't mergeable. I hope I get away with just merging all the stuff aside from them and then re-generating them.
16:08 jnthn Let's see... :)
16:08 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
16:08 jnthn git++ # can do all of this locally
16:09 masak I've performed the requisite improvements on the .trans LTM: https://gist.github.com/707628
16:09 masak any objections to incorporating this into Rakudo?
16:10 jnthn moritz_: Hmm...
16:10 jnthn moritz_: I get the same kinda errors I got with Rakudo's updated Configure.pl on Win32
16:10 jnthn The one that I patched rong :)
16:10 tadzik what's LTM? I hear it often
16:10 masak tadzik: Longest-Token Matching.
16:10 tadzik mhm
16:11 masak tadzik: it's the idea that when two rules compete, the one that matches the longest thing wins.
16:11 masak tadzik: consider, for example <= and <=>
16:11 moritz_ jnthn: hm
16:11 tadzik I see
16:11 tadzik so Rakudo doesn't have that?
16:11 moritz_ jnthn: I'm very curious, since the block that caused the error previously is now enclosed in an eval { ... } block
16:11 masak tadzik: when you write <=>, you don't want the Perl 6 parser to match on <= just because that rule happened to be defined earlier, or later, or something.
16:12 jnthn moritz_: I think it was fixed in Rakudo
16:12 masak tadzik: nqp-rx has it (IIUC) a bit more than PGE did.
16:12 jnthn moritz_: But not in nqp-rx?
16:12 moritz_ tadzik: rakudo has a very limited form
16:12 moritz_ ah
16:12 moritz_ possible
16:12 masak tadzik: still not a full-fledged one, like STD.
16:12 jnthn moritz_: I'll sort the rest of the merge stuff out and then I'll have a look.
16:12 masak tadzik: it's LTM that distinguishes | from || in regexes, by the way.
16:12 * jnthn learns to love git rebase a little more every time he sues it
16:12 jnthn er, uses
16:12 jnthn :)
16:13 moritz_ jnthn: I guess there's more logic in Configure.pl and gen_parrot.pl that can be moved to the module
16:13 moritz_ ... which should be renamed to Parrot::Something, not Rakudo::Something
16:13 masak tadzik: so the Perl 6 parser has it, Perl 6 grammars (of which the Perl 6 parser is but a special case) have it, and .trans has it.
16:13 moritz_ because it's really about parrot revisions
16:13 jnthn ugh...git clone of Parrot is *slow* on this mobile connection...
16:13 masak tadzik: I just implemented the .trans one: https://gist.github.com/707628
16:14 * jnthn wonders if his wired boradband can be persuaded to work again...
16:14 masak jnthn: yes, rebase is wonderful. it has a certain "forbidden pleasure" to it. "oooh! I'm rewriting local history!" :P
16:14 lichtkind is there still a slice method ?
16:15 masak lichtkind: yes, see S29.
16:15 lichtkind thanks
16:15 masak lichtkind: are the synopses so difficult to grep that it's easier for you to ask here?
16:15 masak just curious.
16:15 jnthn "What did you do at the weekend?" "Enjoyed some wonderful forbidden pleasure."
16:15 masak jnthn: most people wouldn't understand :)
16:16 masak best to be a little bit discreet about it.
16:16 masak (that's why it's done locally, duh)
16:16 jnthn masak: But I'm allowed to push the results out to the world... :)
16:16 lichtkind masak: i greped for slice( and found nothing
16:16 am0c^ joined #perl6
16:16 masak lichtkind: I did 'ack -w slice' and found it right away.
16:17 masak jnthn: yes, but no-one can tell from those results that there were forbidden pleasures involved.
16:18 masak lichtkind: however, look at https://github.com/perl6/specs/commit/b​962f00fdcc6e10ad220e50f5ff38545b578cce1
16:18 jnthn masak: Ah, I see. Well, as I read today, "By developing a sense of concern for others' well-being, then no matter what others' attitudes are, I can keep inner peace in bed."
16:18 masak lichtkind: so I suspect C<slice> in S29 is a fossil.
16:19 jnthn ...best Twitter follow ever. :)
16:19 masak jnthn: ah, the wise @DalaiLamaInBed... :)
16:20 masak jnthn: best Twitter follow ever in bed? :P
16:21 jnthn :P
16:21 lichtkind masak: thanks lol i find much clearer even with that funny conotation
16:22 masak lichtkind: after Mu, nothing surprises me anymore.
16:22 envi_laptop joined #perl6
16:22 lichtkind masak:  i read about, it reads in german almost like cow
16:24 masak lichtkind: I guess that's close-ish to the original Japanese.
16:25 jnthn I'm not sure how I feel about cows being undefined and on top of everything...
16:25 lichtkind TimToady: is slice in S29 a fossil?
16:26 lichtkind jnthn: Muuuuuuuuuuuu
16:26 am0c joined #perl6
16:26 cosimo %*ENV is still read only, right?
16:27 lichtkind i guess so
16:28 envi_laptop left #perl6
16:28 cosimo Doing '%*ENV<LANG> = "C"' I get "cannot modify readonly value"
16:28 cosimo rakudo: %*ENV<LANG> = "C"; say "yodawg. I herd you like ENV, so I put an ENV in ur ENV";
16:28 masak rakudo: class A { my $b = class { method foo { say "OH HAI" } }; method bar { $b.new.foo } }; A.new.bar
16:29 p6eval rakudo : OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/jfv0ynvTd6␤»
16:29 p6eval rakudo : OUTPUT«OH HAI␤»
16:29 masak cosimo: I think that's a known and reported rakudobug.
16:29 lichtkind but take it seriously we have an method alias to Z why not X
16:29 masak lichtkind: what makes you think there's not a method alias to X?
16:30 tadzik hmm, wonder if that could be fixed
16:30 lichtkind moritz_ and jnthn attmepted to make me think so :)
16:30 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_lookup_tablet
16:30 masak oh, ok.
16:30 cosimo masak: does fixing that involve parrot-fu?
16:30 masak cosimo: dunno. check the RT ticket for clues. also ask pmichaud_, I think.
16:30 masak he has been in that area of Rakudo before, fixing things.
16:31 tadzik masak: why is ENV readonly? Is that due to lack of Parrot support?
16:32 masak I don't know why %*ENV is readonly. yes, possibly it has something to do with how it's wired up.
16:32 masak I can definitely see how it'd be easier to wire it up readonly than rw.
16:33 tadzik looking at the code (glue/run.pir:58-61) I wonder how is it marked readonly and why, and how to make it rw, if it's makeable for me
16:35 dalek std: 4b3cf08 | util++ | / (5 files):
16:35 dalek std: Fix typos
16:35 dalek std: review: https://github.com/perl6/std/commit/4b​3cf08a75e2c58b72a3a14518465b0f098cfafd
16:37 lichtkind masak: im willing to learn i now used ack for the first time in my life and found out its got soloured output
16:37 masak lichtkind: :)
16:39 jnthn oh f**k
16:40 MindosCheng left #perl6
16:40 jnthn Yeah, this rebase is going to be a real headache.
16:40 jnthn Parrot has been up to their usual deprecation tricks.
16:40 tadzik :>
16:40 jnthn So I can't build the bootstrap files with knowhow rolled into them
16:41 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
16:41 jnthn And I can't build the nom branch with the latest bootstrap files
16:41 jnthn (Because they're missing having knowhow pushed into the bootstrap)
16:41 jnthn :/
16:43 masak I'd call that an intrinsically complex situation.
16:43 juanmabc left #perl6
16:43 masak i.e. there's not much git *can* do to make that easier.
16:43 jnthn Oh, git has done all it could have
16:43 jnthn This isn't gits fault in the slightest.
16:45 masak shame, otherwise it would have been an excellent opportunity to exclaim "stupid git!" :P
16:46 dalek rakudo: 9fe5972 | masak++ | src/core/Cool-str.pm:
16:46 dalek rakudo: [src/core/Cool-str.pm] new .trans algoritm
16:46 dalek rakudo:
16:46 dalek rakudo: This one abstracts away the actual matching-and-replacing into a
16:46 dalek rakudo: helper class implementing a simple longest-token matching algorithm.
16:46 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/​9fe5972f60b9bf41aa73ac6e11893dbd185ee344
16:46 tadzik masak++ indeed
16:46 dalek roast: 27fc171 | masak++ | S05-transliteration/trans.t:
16:46 dalek roast: [trans.t] unskip regex tests for Rakudo
16:46 dalek roast: review: https://github.com/perl6/roast/commit/2​7fc1717ea2da29214f956da5888576147427769
16:46 dalek roast: a632892 | masak++ | S05-transliteration/trans.t:
16:46 dalek roast: [trans.t] indent some tests
16:46 dalek roast: review: https://github.com/perl6/roast/commit/a​632892e71b214821d851b0e6a18b92d88347c70
16:46 dalek roast: 2c952c4 | masak++ | S05-transliteration/trans.t:
16:47 dalek roast: [S05-transliteration/trans.t] four new tests
16:47 dalek roast:
16:47 dalek roast: These tests make sure we don't regress on LTM in .trans in Rakudo.
16:47 dalek roast: review: https://github.com/perl6/roast/commit/2​c952c406059af5e251c3dec4ac570ae72fa4866
16:51 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
16:51 mila_ joined #perl6
16:55 mila__ left #perl6
16:56 masak tadzik: .comb *is* from the hair thing. but I guess the metaphor made more sense when lice were more common...
16:57 am0c^ left #perl6
16:57 lichtkind aaaah cross is alias to X
16:59 lichtkind crosswith and zipwith notally sync
16:59 lichtkind totally
17:00 masak dang, I liked the word "notally"...
17:01 jnthn "I notally covered her screen with post-its!"
17:02 * jnthn keeps trying to rescue the forked bootstrap by hand...
17:02 jnthn We...could do with making sure this doesn't happen again. :/
17:07 jnthn > knowhow Foo { method bar() { say("rescued") } }; Foo.bar;
17:07 jnthn rescued
17:09 masak \o/
17:09 jnthn It works with Parrot and the PBC
17:09 jnthn But the fakeexecutable explodes. :/
17:10 jnthn src\io\api.c:306: failed assertion 'pmc'
17:10 jnthn :/
17:10 jnthn er
17:10 jnthn ! [rejected]        nom -> nom (non-fast forward)
17:10 jnthn wtf.
17:10 _twitch left #perl6
17:11 jnthn All I did was rebase and a few patches on top of it.
17:11 Util jnthn: what branch are you working on?
17:11 jnthn nqp-rx/nom
17:11 lichtkind left #perl6
17:11 * jnthn wonders if this is what --force is for
17:12 flussence might be a bad idea, on the chance git is right in complaining...
17:13 jnthn heh
17:13 jnthn gitk's history looks nice
17:13 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_lookup_tablet
17:13 jnthn e.g. it has the commits from master and then the rest of mine re-based on top of it.
17:13 sniz left #perl6
17:14 jnthn yeah, it looks...exactly how I'd expect. Hmm
17:14 risou left #perl6
17:16 Util jnthn: can I help? Are you trying a real merge, or just `git pull --rebase` ?
17:16 jnthn how confusing. If I git pull it tries to go back to how things look at the latest on github
17:16 jnthn Util: I did git pull, git rebase master, and a couple of commits to fix up things.
17:17 jnthn Util: In gitk all looks fine.
17:17 jnthn Util: So I'm a tad lost on what it's complaining about.
17:17 Util jnthn: at what point did Git first complain?
17:17 jnthn Util: Not up until I was done and ready to push to github
17:17 jnthn I did "git push origin nom"
17:17 jnthn (nom is the branch name)
17:18 jnthn At which point it gave the non-fastforward error.
17:19 masak jnthn: I don't think you can pull if you've rebased local history.
17:20 jnthn masak: Yeah, I only did it out of curiosity
17:20 jnthn Un-done that now
17:20 Util jnthn: You said: "But the fakeexecutable explodes." Do you have a fakecutable in the repo?
17:20 jnthn I didn't want to anyway.
17:20 masak oh, ok.
17:20 jnthn Util: That's nothing to do with this, that's some other problem.
17:20 jnthn I don't care much about that for now.
17:20 jnthn http://stackoverflow.com/questions/559917/git​-rebase-and-git-push-non-fast-forward-why-use seems to describe my situation
17:21 jnthn But I *am* only pushing after the rebase, like it suggests...
17:23 * jnthn is a tad reluctant to use --force
17:23 jnthn But even more reluctant to re-do all of this.
17:23 Util "and only rebase your work" -- did your `git rebase` rebase any commits by others?
17:23 jnthn Util: Hm. I thought I was the only person who'd committed to the nom branch.
17:24 jnthn Util: Yeah, just checked. Only me.
17:24 Util jnthn: but you rebased to master
17:25 jnthn Util: Right, I just wanted to re-play all my commits on top of the latest stuff in master.
17:25 jnthn That's what rebase does, iiuc?
17:25 jnthn Gives me the latest master, and then re-applies all my patches in the branch?
17:26 jnthn Anyway, I guess I maybe shoulda used merge, not rebase.
17:27 Util rebase does not give you "latest" master; that part comes from the `pull`
17:27 jnthn Util: Yes, I already had pulled before I started.
17:27 jnthn Util: I actually did a fresh clone of nqp-rx to work on this just in case... :)
17:27 jnthn So I certainly had the latest master files
17:28 icwiener_ joined #perl6
17:29 jnthn Anyway, iiuc, git push --force is only going to make life annoying for anyone who already has commits in the nom branch that they didn't push. I think that amounts of zero people. :)
17:29 Util I would double check that HEAD on the master and nom branches are really at the point you think they are at.
17:29 jnthn Well, other than me.
17:30 jnthn Util: gitk history display for both of them looks exactly as I'd expect it to look
17:30 Util In any case, I think you are right about --force being OK, and even if it fails, you can reset --hard to before your rebase, and merge from there
17:30 jnthn Nothing missing. Everything in the order I'd expect.
17:30 masak jnthn: no, 'git push --force' is going to make life annoying for anyone who pulled the history you're now overwriting.
17:30 jnthn masak: So what should I do?
17:30 masak jnthn: it's your repo, so your policy.
17:31 masak sometimes one has to --force.
17:31 jnthn masak: Actually this is the nqp-rx repo...
17:31 masak oh well, it's your branch :)
17:31 jnthn OK, if the fallout is restricted to my branch, then I guess that's OK.
17:31 masak I think it's fair to assume that most people who are following along the nom branch can be reached on this channel.
17:31 icwiener left #perl6
17:32 masak if there were a maining list, I think it would be prudent to announce a --force push there.
17:32 masak etc.
17:32 Util You can be liberal in the branch, and just tiptoe when you merge nom into master.
17:32 dalek nqp-rx/nom: c0a8057 | jonathan++ | build/Makefile.in:
17:32 dalek nqp-rx/nom: Stub in stuff to build dynops and dynpmcs in the Makefile.in.
17:32 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/c​0a8057a6c5b9ec13f690d81c79783726814ee70
17:32 dalek nqp-rx/nom: d09ff5d | jonathan++ | src/ (2 files):
17:32 dalek nqp-rx/nom: Stub in STable structure and PMC.
17:32 dalek left #perl6
17:32 jnthn Wow...
17:32 tadzik :)
17:32 tadzik still alive on #parrot :)
17:33 jnthn ...wow.
17:35 plobsing joined #perl6
17:35 jnthn OK, nom branch history on github has all the commits from master, plus the rescued bootstrap.
17:35 dalek joined #perl6
17:35 jnthn I think the lesson is to use merge next time. :)
17:35 Util jnthn++
17:36 masak yes, merge is for when you're constrained by already publicly pushed history.
17:36 masak that's exactly what it's for.
17:37 jnthn masak: Aye, I thought that only wanting to replay patches of my own meant that I was safe.
17:37 Util also, rebase --interactive supports 's' for "squash"ing commits together
17:37 mssm left #perl6
17:37 masak 'rebase -i' is probably at the core of the 'forbidden pleasures' thing.
17:37 jnthn masak: But of course, I'd shared them with the world.
17:37 masak jnthn: yes, that's the downside with pushing the branch publicly.
17:38 Util jnthn: One-line summary of nom/knowhow? Just curious.
17:38 masak it's a eat-cake-have-it thing.
17:39 jnthn Util: nom = new object model, knowhow = the primitive that it builds stuff (like classes) out of
17:39 jnthn Util: The bleeding edge dev of it happens in https://github.com/jnthn/6model/
17:39 Util Intended for NQP-only, or prototyping for Rakudo?
17:40 jnthn Util: Intended to replace all the places P6object is used today in NQP and Rakudo.
17:40 Util thx
17:40 muixirt joined #perl6
17:40 jnthn Util++ masak++ # git help
17:42 jnthn colomon: nqp-rx/nom now builds for me on latest Parrot at least and has all the other nqp-rx patches from master in. I hope that magics away your difficulties.
17:42 colomon \o/
17:44 jnthn If not, we can try and fathom why.
17:44 colomon nom, then hacking and football
17:44 jnthn nom is ambiguous in this context ;)
17:44 masak maybe we should adopt the more traditional term "food" :)
17:45 masak food &
17:45 masak left #perl6
17:57 77CAAECZH joined #perl6
18:01 baest left #perl6
18:02 baest joined #perl6
18:03 colomon back
18:15 justatheory joined #perl6
18:21 teslos joined #perl6
18:28 TimToady halfback or fullback?
18:31 Util $ ack -H reclaration STD.pm6 | cat     # Ambiguous typo
18:31 Util STD.pm6:5689:        # fake up an alias to outer symbol to catch reclaration
18:31 Util ??? declaration ? redeclaration ?
18:31 jnthn That should be reclarified. :)
18:32 colomon jnthn: still cannot build
18:32 jnthn Same error?
18:34 envi left #perl6
18:34 * jnthn wonders if he accidentally spaces in the makefile instead of tbs...
18:34 jnthn *tabs
18:35 jnthn (My make program doesn't care...)
18:35 dalek nqp-rx/nom: 5341f72 | (Solomon Foster)++ | build/Makefile.in:
18:35 dalek nqp-rx/nom: Fix missing tabs.
18:35 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/5​341f72121cf7e78514d37e7ba9d6b6ec1a829e7
18:35 colomon I just pushed the fix for that.
18:35 colomon but that's not the problem
18:36 colomon Parrot VM: Can't stat src/stage1/nqp.pbc, code 2.
18:36 colomon main: Packfile loading failed
18:36 colomon make: *** [src/stage2/HLL.pbc] Error 1
18:36 jnthn Does that file exist?
18:36 jnthn Is there some previous error that results in it not being made maybe?
18:37 jnthn Are you doing parallel make by any chance?
18:37 colomon I'm just typing make
18:37 colomon the file does not exist
18:37 jnthn OK, I guess that's non-parallel
18:37 jnthn Hm
18:37 jnthn odd.
18:37 MayDaniel joined #perl6
18:37 Chillance joined #perl6
18:38 colomon trying make clean and make again, capturing the output this time.
18:38 jnthn colomon: Are there any PBCs in that directory?
18:38 colomon ls src/stage1/
18:38 colomon HLL.pbcP6Regex.pbcgen
18:38 jnthn (I should be 3 of them by the time we start on stage 2)
18:38 jnthn ok, just one missing. :S
18:38 colomon whoops, spaces disappeared somehow there.
18:40 colomon https://gist.github.com/708039
18:40 colomon I don't see anything obvious in there...
18:40 jnthn $(STAGE1)/$(NQP_PBC)
18:40 dalek specs: 60864d9 | TimToady++ | S29-functions.pod:
18:40 dalek specs: fossil slice contextualizer -> lol
18:40 dalek specs:
18:40 dalek specs: masak++ and lichtkind++ found a fossil use of the "slice"
18:40 dalek specs: contextualizer, which was renamed to "lol" some time ago.
18:40 dalek specs: review: https://github.com/perl6/specs/commit/6​0864d916ad9bb7a7ee1c3da11084246b5ff0c0b
18:40 jnthn Is the rule that should build it.
18:42 jnthn colomon: Something looks very odd there.
18:42 jnthn colomon: It's starting on stage 2 without finishing all the stage 1 things.
18:42 oha left #perl6
18:43 TimToady I don't suppose you're in a situation that could have clock skew
18:43 oha joined #perl6
18:43 TimToady like if git was setting last modified times or something
18:43 jnthn TimToady: I suspect some missing makefile dependency is perhaps more likely...
18:43 jnthn Hmm
18:44 jnthn That'd be odd though. It works fine in the master branch and I didn't think I'd changed *that* much in the makefile...
18:45 wtw joined #perl6
18:45 jnthn All the rules for stage2 have a dependency on $(STAGE1_PBCS)
18:47 jnthn colomon: In particular, line 272 of Makefile.in is where it appears that it's trying to do the thing that fails.
18:47 jnthn colomon: Or at least, the stuff within there
18:47 jnthn colomon: But it should have a dependency on the (not-yet-existing) file...
18:51 colomon huh
18:51 lichtkind joined #perl6
18:51 jnthn Hmm. I'm really not seeing what's missing :S
18:52 jnthn colomon: Time for me to get some dinner - maybe I'll have a sudden realization during it :)
18:52 colomon one sec
18:52 colomon perl -MExtUtils::Command -e mkpath src/stage1/gen
18:53 colomon and then the next step is for the stage 2 stuff to start.  does that help?
18:53 jnthn colomon: That's where it's going wrong.
18:53 jnthn colomon: It should build various things inside that directory.
18:54 colomon there are five pir files in that directory
18:54 jnthn OK
18:54 jnthn But it doesn't do all the stage 1 stuff
18:54 colomon right, not disagreeing, just hoping this helps trigger ideas
18:55 jnthn https://gist.github.com/708046
18:55 colomon hold on, I might have it.
18:55 jnthn That's what it looks like for me.
18:55 colomon I think it might be another tab issue
18:55 colomon one that doesn't trigger an error for some reason
18:56 jnthn Oh.
18:56 jnthn :/
18:56 colomon go eat, I think I'm on the right track now.
18:56 colomon :)
18:57 jnthn I really shoulda checked your patch to see if the ones you'd fixed were the ones I knew about...they aren't.
18:57 sorear good * #perl6
18:58 jnthn colomon: Mine for for building NQP_HOW
18:58 jnthn Line 258 and and line 299
18:58 * jnthn -> nom
18:59 nothingmuch joined #perl6
19:00 rgrau` joined #perl6
19:01 sorear tadzik: still here?
19:01 tadzik sorear: yep
19:01 MayDaniel left #perl6
19:01 sorear you need to get an entry added to Parrot's CREDITS file
19:01 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
19:02 sorear that's how dalek knows your nickname
19:05 meppl left #perl6
19:06 colomon jnthn: I appear to have a build.  But there's no make test?
19:07 colomon oh, no, my prove is just stupid.
19:08 dalek nqp-rx/nom: 9474e17 | (Solomon Foster)++ | build/Makefile.in:
19:08 dalek nqp-rx/nom: Catch two more missing tabs that slipped by me the first time.
19:08 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/9​474e17df6826eba120db87fc06d185e7847a5dd
19:10 rgrau` left #perl6
19:11 lichtkind sorear++: do you plan to do this diff thing?
19:11 wtw left #perl6
19:12 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_lookup_tablet
19:16 rgrau` joined #perl6
19:16 Trashlord left #perl6
19:18 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_lookup_tablet
19:19 obsd123 joined #perl6
19:23 Chillance left #perl6
19:25 Chillance joined #perl6
19:26 colomon jnthn: what should I expect make test to do?  I seem to have a number of failures, as well as a bunch of "Non-zero wait status: 11" messages
19:28 zby left #perl6
19:28 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
19:38 justatheory left #perl6
19:55 cosimo I just read about gather/take and I must admit I didn't really understand it
19:58 tadzik the stuff you put inside gather generates a lazy list
19:58 tadzik now when you want a nth element, the gather block is executed until it produces n 'take's
19:58 takadonet joined #perl6
19:58 tadzik of course it doesn't produce the same n twice, the next time it'd be run from the moment it stopped last time
19:59 Eevee left #perl6
20:01 icwiener joined #perl6
20:02 cosimo easy, right? :) that completely confuses my mind
20:02 diakopter colomon: how'd it go
20:02 phenny diakopter: 13:34Z <jnthn> tell diakopter I've looked but I think the right thing is happening. Everything inherits from Mu, so 7 passes as expected. 8 fails because if you look at the multi candidate in Mu, it's multi method Str(Mu:U $self:) { ... }. The :U means "something undefined" but $xyz is defined.
20:02 phenny diakopter: 13:36Z <jnthn> tell diakopter So test 8 was incorrect here. I corrected it - s/$xyz/XYZ/ - and it passes.
20:02 phenny diakopter: 13:38Z <jnthn> tell diakopter Note that we do need a Str with Mu:D that does something sensible. But it probably needs .WHERE to work first, if it's going to do the same thing the Rakudo one does (which seems sensible).
20:03 diakopter oh
20:03 cosimo rakudo: sub pick-next { gather for 1..5 { take $_ } }; say pick-next(); say pick-next();
20:03 p6eval rakudo : OUTPUT«12345␤12345␤»
20:03 cosimo mmh
20:04 cosimo tadzik: so I can't use it for iterator functions?
20:05 Eevee joined #perl6
20:05 tadzik cosimo: iterator functions... now you will need to explain some term to me :)
20:05 tadzik cosimo: no, it returns a list
20:05 tadzik so your sub just returns the gather result, which is an array
20:05 icwiener_ left #perl6
20:06 colomon errr... which is a list, generated by a gather / take iterator.
20:06 jnthn colomon: A number of things will probably fail.
20:11 jnthn colomon: If you see things about get_how and get_what in the test output, those are a result of "class" not yet being switched to use the new meta-model.
20:11 colomon get_how and get_what, yup
20:11 colomon those appear to be the only real errors
20:12 jnthn OK, that's what I'd expect.
20:13 jnthn (.HOW and .WHAT are actually macro-ish in nqp-rx now)
20:13 colomon okay, so you wanted me to muck about with HLLCompiler?
20:13 jnthn *nod*
20:14 colomon (trying to find your suggestions in the backlog again...)
20:14 jnthn colomon: Locate HLL::Compiler (src/hll/Compiler.pm I think)
20:14 jnthn colomon: Notice it inherits from PCT::HllCompiler
20:14 cosimo tadzik: how do I make the sub return just one "taken" element at a time?
20:14 jnthn That's the blocker.
20:14 cosimo tadzik: if that even makes sense...
20:15 tadzik cosimo: you can have a 'static' lazy list and just shift it every call
20:15 dalek 6model: 8ecef19 | diakopter++ | common/NQP/P6Objects.pm:
20:15 dalek 6model: [P6Objects] more Cursor porting
20:15 dalek 6model: review: https://github.com/jnthn/6model/commit/8​ecef19e7940b9aebda446ac7913b4cb8b8cb407
20:15 jnthn colomon: I think the way to go is to remove that inheritance
20:15 tadzik I don't know how to translate C static to Perl6
20:15 jnthn colomon: And then see what breaks.
20:16 colomon and then copy methods from Parrot's version of HLLCompiler?
20:16 lue ohayo o/
20:16 jnthn The one in PCT, yes
20:16 * colomon has found jnthn++'s previous suggestions
20:16 colomon okay, I can try that.
20:16 jnthn colomon: The easy option is to wrap the PIR code in NQP methods and use Q:PIR
20:17 colomon should I start another branch, you think?
20:17 jnthn In fact, that's probably a good way to get started.
20:17 jnthn Up to you :)
20:17 jnthn It's just you and me working with the nom branch so far, so it won't inconvenience anyone if stuff breaks a bit more :)
20:18 colomon would it inconvenience you if I broke stuff?
20:19 jnthn Well... :)
20:19 jnthn Not much :)
20:20 * colomon tries to balance his lack of branch-foo with inconvenience to jnthn...
20:20 colomon ooooh, in one minute I get to see what I'm being attacked with in Lacuna Expanse.  :)
20:21 lue .oO[ I thought breaking things was a contractual obligation around here (well, if there were such a contract) :) ]
20:21 colomon lue: _not_ breaking things is a contractual obligation in Rakudo.
20:21 colomon but this is an obscure nqp-rx branch jnthn and I are talking about.
20:24 lue s/breaking things/breaking things in the hopes of magically gaining new features later/
20:25 moritz_ how do I build 6model?
20:26 jnthn moritz_: What are you looking to build it with?
20:26 jnthn moritz_: Mono?
20:27 jnthn moritz_: In which case, go to dotnet/runtime, xbuild [the sln file]
20:27 jnthn moritz_: Probably add an alias from csc to mcs
20:27 jnthn And then just make in the dotnet/compiler directory
20:28 jnthn Then to run something, ./try the_file
20:28 colomon jnthn: now working in local nomnom branch
20:28 jnthn colomon: hehe :)
20:28 diakopter add an alias from nmake to make, from csc to msc, and from msbuild to xbuild :0
20:28 diakopter moritz_: ^^
20:28 diakopter actually sorry not the nmake one.
20:28 diakopter but the try.sh does need a bit of adjustment I think
20:29 jnthn ah, ok
20:29 jnthn moritz_: In the final step when it works, be the person who commits a file saying how they did it. ;)
20:29 diakopter the make line in there might should be   make P6Objects.dll
20:30 moritz_ jnthn: it just worked, without any aliases
20:30 moritz_ maybe diakopter++ installed them already
20:30 diakopter well
20:30 moritz_ (this is on the evalbot server)
20:30 diakopter the all target will work
20:30 diakopter but 'try' won't
20:30 diakopter until the csc -> msc one is there
20:31 jnthn ah, ok
20:31 * diakopter needs to shut up
20:31 * diakopter looks on the evalbot server
20:31 * moritz_ too distracted
20:32 moritz_ diakopter: in the chroot, /home/p6eval/6model/
20:32 diakopter besides, it's gmcs, not msc
20:32 jnthn oh :)
20:32 jnthn They changed the name of the compiler when adding generics? :)
20:32 diakopter I suppose that's right
20:33 MayDaniel joined #perl6
20:33 icwiener left #perl6
20:33 diakopter moritz_: what was your pwd when you did `make`
20:34 diakopter (it needed to be dotnet/compiler)
20:34 diakopter parrot-nqp is not in the path
20:34 diakopter (so nothing really worked) :)
20:35 * diakopter goes to find a parrot-nqp
20:36 whiteknight left #perl6
20:36 diakopter there we go
20:37 diakopter oh, apparently I used some feature of nmake that's not supported by gmake
20:37 diakopter using a relative path as a target dependency?  ..\runtime\bin\Debug\RakudoRuntime.dll
20:38 MayDaniel left #perl6
20:39 diakopter help anyone?
20:39 colomon jnthn: parsegrammar seems to be only three lines long?  ending in a tailcall?  Does that make sense?
20:39 diakopter hm I'll try the forward slash
20:40 jnthn colomon: I'm not sure what it does - I think it just sets the grammar to use for parsing though?
20:40 jnthn In which case I guess it's short.
20:41 colomon https://gist.github.com/708138
20:41 colomon oh, wait, is that what self.'attr' does?
20:41 masak joined #perl6
20:41 colomon o/
20:42 diakopter moritz_: (I'm working' on it...)
20:42 jnthn colomon: Oh, I think .attr is a helper method for doing such things, yes.
20:42 jnthn Iiiiiit's masak!
20:42 masak ahoy!
20:42 takadonet masak: yo
20:42 Limbic_Region joined #perl6
20:42 jnthn Ako sa mas-ak? :)
20:43 tadzik hi masak
20:43 Limbic_Region Ako ay pagod - ikaw?
20:43 masak jnthn: 私は元気です。 ^^
20:45 jnthn Limbic_Region: :P
20:45 masak colomon, takadonet, tadzik: hi there, you lovely people.
20:46 tadzik hello Masak the Friendly
20:46 Limbic_Region jnthn - when I first came in I really thought you were speaking Tagalog so I couldn't help but join in
20:47 masak Limbic_Region: how come you know Tagalog?
20:47 jnthn Limbic_Region: It was Slovak. :P
20:47 Limbic_Region masak - my wife is filipina
20:47 masak oh! cool.
20:47 Limbic_Region and I don't know Tagalog very well at all
20:48 Limbic_Region masak - I have drank Irish beer in German, spoke to a prostitute in American Sign Language in S. Korea - helped a Nun not miss a flight in Spanish but I don't even really speak English all that well
20:48 Limbic_Region ;-)
20:48 Limbic_Region er
20:49 Limbic_Region Germany
20:49 Grimnir_ left #perl6
20:49 dalek 6model: 73d3c7c | jonathan++ | dotnet/runtime/R (2 files):
20:49 dalek 6model: [dotnet] Add ops for getting the caller and outer sub at a given level.
20:49 dalek 6model: review: https://github.com/jnthn/6model/commit/7​3d3c7c3424e20edc5bcd3f68e8dbde9903b7525
20:49 masak Limbic_Region: that's fine. neither do I. it's just a language I use for international communication such as this.
20:50 masak English -- the pseudocode of spoken languages.
20:50 masak oh!
20:50 masak while you're all here!
20:51 jnthn uh-oh
20:51 masak it's now 20 days until The Announcement!
20:51 jnthn :)
20:51 jnthn I knew it was going to be that!
20:51 masak are you all excited? because I am, and I *know* what I'm going to announce :P
20:52 Limbic_Region masak - if you tell me that Christmas is THE Christmas then I will cry - because I will be in the Philippines and wouldn't here the news until next year
20:52 masak here is, out of a total of three, the second mysterious pre-announcement clue: http://en.wikipedia.org/wiki/5_(number)
20:52 Limbic_Region but I can't possibly imagine that this Christmas will be THE Christmas
20:53 masak Limbic_Region: I'll be happy at some point to have a proper discussion about what that actually means.
20:53 jnthn "It is the natural number following 4 and preceding 6."
20:53 masak :)
20:53 tadzik 5 might be the roman V
20:53 jnthn ...this is how wikipedia has so many pages!
20:53 jnthn ;)
20:53 masak jnthn: aleph-0 of them?
20:54 jnthn al'eph said so...
20:54 masak :P
20:54 jnthn lol...these pages are great
20:54 jnthn "The number 69 can be rotated 180° and remain the same."
20:54 masak jnthn: you went immediately to 69? :P
20:54 masak anyway, I understand if this clue doesn't stir up the same wild speculation that the first clue did.
20:55 diakopter what was the first clue
20:56 jnthn masak: That's what she said!
20:56 Limbic_Region jnthn - only if spun around the x axis - try doing that with the y axis and you will get 96
20:56 masak diakopter: http://irclog.perlgeek.de/​perl6/2010-11-10#i_2984192
20:56 jnthn ...I didn't know there were "untouchable numbers"
20:57 masak apparently, according to that backlog, there are four clues, not three.
20:58 masak oh well, I'll just have to make one on the day before the announcement, then.
20:58 Limbic_Region I thought it said possibly four
20:58 Limbic_Region not definately four
20:58 masak hm, you're right.
20:58 Limbic_Region here is what you get when you combine the first two clues - http://www.amazon.com/Where-Will-Five-​Years-Today/dp/1932319441/ref=sr_1_1?i​e=UTF8&amp;qid=1290286655&amp;sr=8-1
20:58 masak 哈哈
21:00 masak apparently 217 is the lowest natural number without its own Wikipedia article.
21:01 Limbic_Region nope
21:01 Limbic_Region try -100_(number)
21:01 masak "natural number".
21:01 tadzik -100 is not natural
21:01 Limbic_Region oh, missed that part
21:02 tadzik hmm, maybe the announcement is masak's birthday :)
21:02 Limbic_Region tadzik - and THAT is a matter of opinion :-D
21:02 masak tadzik: my birthday is September 15.
21:03 tadzik bah, my calendar is in my flat
21:03 lue ohai masak o/
21:04 masak lue: hi! I'm watching the last few episodes of the newest Doctor Who season.
21:04 masak lue: the last I've seen is the van Gogh one. lovely episode.
21:05 lue The Van Gogh ending touched me in a such a way that, for a few days, I *seriously* wanted a TARDIS to do that for the real Van Gogh.
21:05 masak it was indeed touching.
21:06 lue you'll love the series ending :)
21:06 masak sssh! :)
21:07 masak but yeah, it's building up to something, for sure.
21:07 masak as usual.
21:07 * tadzik watched two TMNT episodes
21:07 lue Thinking about DW, got any requirements for the history in your November posts?
21:08 masak lue: I generally scour Wikipedia for things that happened on that date until I find something that catches my fancy.
21:08 masak it tends to be either humorous, catastrophic, horrible or just weird.
21:10 lue .oO(DW premiered on 23 November 1963 (17:15 UTC), one day after the assaination of JFK.)
21:15 lue on to something that isn't better suited for #doctorwho [should see if that exists actually], I have a week-long break from school, and I plan on working with P6 a lot during that time \o/
21:15 masak \o/
21:16 tadzik any particular plans?
21:17 cognominal left #perl6
21:17 wamba left #perl6
21:18 masonkramer joined #perl6
21:20 lue working on my Pod parser, hopefully something that'll work by the end of the week :)
21:23 colomon jnthn: so, it isn't just enough to copy the parsegrammar method -- I need to copy the attribute it uses as well, right?
21:25 Guest72060 joined #perl6
21:28 jnthn colomon: Is there an attr method in PCT::HllGrammar?
21:29 colomon yes
21:30 colomon (Just so we're on the same wavelength, I meant the $parsegrammar attribute.)
21:32 jnthn If there's attributes then yse, they also need copying over.
21:32 colomon there's a bunch of them
21:33 jnthn Yes, I guess there will be quite a few...it holds the grammar/actions/other bits. :)
21:33 colomon @stages $parsegrammar $parseactions $astgrammar $commandline_banner $commandline_prompt @cmdoptions $usage $version $compiler_progname
21:33 lue I have this line in my grammar: regex docline { ^^ \h* [<directive>|<content>] \h* $$} and <content> is /\N*/ . Could the greediness of <content> be a reason for a <directive> being matched only once when (in my test file), it should be twice?
21:33 jnthn colomon: Oh
21:33 jnthn But they'll need to become decls like
21:33 jnthn has @!stages;
21:33 colomon yes, that's what I was thinking.
21:34 colomon but then I started wondering why we wanted to do this.  :)
21:34 * colomon doubts it is a clever new Repeat Yourself programming style.... ;)
21:38 jnthn colomon: I rather suspect that if you translate PIR to NQP you'll end up with less lines of code overall :)
21:48 takadonet well well well
21:49 takadonet Look who just ported over Algorithm::Diff
21:49 takadonet https://github.com/Takadonet/Algorithm--Diff
21:49 takadonet and all the non-oo tests work!
21:50 jnthn That dude must be awesome.
21:50 jnthn :)
21:51 takadonet pretty much of it works 100%
21:51 takadonet pretty much all of it works 100% *
21:52 dalek evalbot: bd038b0 | moritz++ | build-scripts/rebuild-6model.sh:
21:52 dalek evalbot: 6model build script by diakopter++
21:52 dalek evalbot: review: https://github.com/perl6/evalbot/commit/​bd038b0f2de9c6ef7457a2aa37df08012d7cf739
21:52 takadonet now just need someone to commit to  https://github.com/perl6/modules.perl6.org/ for me :)
21:52 * takadonet pokes masak
21:52 tadzik o/
21:52 takadonet tadzik: o/
21:53 masak takadonet: hi. not following along too closely, I'm afraid. writing a blog post. can I help you?
21:53 lue rakudo: say "hi" ~~ / !<digit> /
21:53 p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "say \"hi\" ~"␤»
21:53 colomon takadonet++
21:53 masak takadonet: oh, you want to add it to the ecosystem? cool!
21:54 lue rakudo: say "hi" ~~ / \!<digit> /
21:54 p6eval rakudo : OUTPUT«␤»
21:54 takadonet masak: yes it works great! . All the non-oo is working. Just got to fix up 3 fcn that have no test and i'm 100% done
21:54 colomon sorry for disappearing there, computer needed so my little guy could skype with my mother.
21:54 masak basically, you need to add it to projects.list in https://github.com/perl6/ecosystem
21:54 moritz_ takadonet: you now have commit access to the ecosystem repo
21:54 takadonet moritz_: thanks
21:54 colomon takadonet: do you have a github id? ... whoops, looks like moritz_++ beat me to it.
21:54 takadonet I finally have a bit!!!
21:54 colomon takadonet: yeah, now you're committed.
21:54 moritz_ (and to most other repos too in the perl6 organization)
21:55 tadzik first!
21:55 dalek ecosystem: 0e7f267 | (Tadeusz Sośnierz)++ | projects.list:
21:55 dalek ecosystem: Added Algorithm--Diff
21:55 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit​/0e7f267c14e68da807e36741f816f453141379ed
21:55 tadzik :)
21:55 takadonet !!!
21:55 moritz_ takadonet: sorry, I didn't know you haven't had one before, or needed one
21:55 tadzik and my name is not my nick again
21:55 masak tadzik++
21:55 takadonet tadzik: you beat me to it
21:55 tadzik karma Tadeusz Sośnierz?
21:55 aloha Tadeusz Sośnierz? has karma of 0.
21:55 tadzik karma Tadeusz Sośnierz
21:55 aloha Tadeusz Sośnierz has karma of 4.
21:55 tadzik karma tadzik
21:55 aloha tadzik has karma of 34.
21:55 takadonet karma Takadonet
21:55 aloha Takadonet has karma of 14.
21:56 tadzik ah, let the official guy have some :)
21:56 tadzik takadonet++ #deserves more karma
21:56 takadonet forgot the karma. Download it and poke holes in my code!
21:56 lue something about my grammar is off...
21:56 moritz_ debug it!
21:57 lue I am! :)
21:57 p6eval left #perl6
21:57 tadzik that's a well-commented /*out*/ code!
21:57 diakopter .oO
21:57 p6eval joined #perl6
21:57 diakopter ()
21:58 diakopter sigh
21:58 moritz_ masak: did you benchmark old vs. new .trans ?
21:58 masak moritz_: no, and I don't know if I saved the benchmarking script.
21:58 moritz_ diakopter: did you restart p6eval?
21:58 p6eval left #perl6
21:58 diakopter yeah
21:58 p6eval joined #perl6
21:59 masak moritz_: it's probably slowed now, but likely not as slow as it was before I started changing it around.
21:59 masak and it has more features now.
21:59 jnthn nqpnet: say("plz can haz?")
21:59 jnthn :)
21:59 p6eval left #perl6
21:59 jnthn kan inte haz
22:00 jnthn *kann
22:00 masak no, 'kan' was right.
22:00 jnthn dammit!
22:00 masak there are a few exceptions regarding words ending with m or n.
22:00 p6eval joined #perl6
22:00 masak they don't need to be doubled.
22:00 diakopter nqpnet: say("plz can haz?")
22:00 masak I sense a pent-up need.
22:00 p6eval nqpnet: OUTPUT«/bin/sh: parrot: not found␤make: *** [NQPSetting.dll] Error 127␤./try2.sh: 5: parrot: not found␤error CS5001: Program `RakudoOutput.exe' does not contain a static `Main' method suitable for an entry point␤Compilation failed: 1 error(s), 0 warnings␤---␤Cannot open assembly 'RakudoOu…
22:01 diakopter oops forgot the path
22:01 lue does    regex    disable backtracking?
22:01 diakopter nqpnet: say("plz can haz?")
22:01 p6eval nqpnet: OUTPUT«/bin/sh: parrot: not found␤make: *** [NQPSetting.dll] Error 127␤./try2.sh: 6: parrot: not found␤error CS5001: Program `RakudoOutput.exe' does not contain a static `Main' method suitable for an entry point␤Compilation failed: 1 error(s), 0 warnings␤---␤Cannot open assembly 'RakudoOu…
22:02 masak moritz_: seems I didn't save the benchmarking script. I could create a new one, of course, and re-do all the statistics...
22:02 masak moritz_: but I don't think I want to spend time on that today. maybe some other day.
22:02 masak or maybe someone else wants to give it a try. it's quite easy.
22:02 diakopter nqpnet: say("plz can haz?")
22:03 p6eval nqpnet: OUTPUT«(timeout)»
22:03 diakopter hm
22:03 masak \o/
22:03 diakopter nqpnet: say("plz can haz?")
22:03 p6eval nqpnet: OUTPUT«---␤plz can haz?␤»
22:03 masak yay, but why the extra output?
22:03 diakopter nqpnet: say("plz can haz?")
22:03 p6eval nqpnet: OUTPUT«plz can haz?␤»
22:03 masak \o/
22:03 masak diakopter++
22:04 jnthn masak: try used to show the build line, a "---" and then the real program output
22:04 moritz_ diakopter++ indeed
22:04 jnthn masak: A while back diakopter++ made it much quieter. :)
22:04 jnthn diakopter++ # yay!
22:04 jnthn nqpnet: proto foo($x) { say("before"); {*}; say ("after") }; multi foo($x) { say("in multi") }; foo(42)
22:04 p6eval nqpnet: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 2368 (ext/nqp-rx/src/stage0/Regex-s0.pir:1192)␤called from Sub 'parrot;JnthnNQP;Grammar;blockoid' pc 10704 (gen_grammar.pir:3191)␤called from Sub 'parrot;JnthnNQP;Grammar;r…
22:05 diakopter nqpnet: my $a := 10000; $a := $a - 1 while $a > 0; say('done');
22:05 p6eval nqpnet: OUTPUT«done␤»
22:05 diakopter nqpnet: my $a := 100000; $a := $a - 1 while $a > 0; say('done');
22:05 p6eval nqpnet: OUTPUT«done␤»
22:05 diakopter nqpnet: my $a := 1000000; $a := $a - 1 while $a > 0; say('done');
22:05 p6eval nqpnet: OUTPUT«done␤»
22:05 jnthn fail :)
22:05 tadzik :)
22:05 masak still. wow.
22:06 masak that's a fast Perl 6. I like it already.
22:06 jnthn diakopter: I know why that's so slow - I benchmarked a bunch of similar stuff.
22:06 masak slow!?
22:06 jnthn masak: :)
22:06 tadzik niecza: my $a = 1000000; $a = $a - 1 while $a > 0; say 'done'
22:06 jnthn er, s/benchmarked/profiled/
22:06 masak rakudo: my $a := 1000000; $a := $a - 1 while $a > 0; say('done');
22:06 jnthn masak: Well, compared to Rakudo... :)
22:06 p6eval niecza 83891ca: OUTPUT«done␤»
22:06 p6eval rakudo : OUTPUT«(timeout)»
22:06 tadzik :D
22:07 masak jnthn: I know which one I prefer...
22:07 tadzik nqpnet: my $a := 1000000; $a := $a - 1 while $a > 0; say('done');
22:07 tadzik :D
22:07 tadzik niecza: my $a = 1000000; $a = $a - 1 while $a > 0; say 'done'
22:07 tadzik bah, it was outght to be a race
22:07 obsd123 left #perl6
22:07 p6eval nqpnet: OUTPUT«done␤»
22:07 p6eval niecza 83891ca: OUTPUT«done␤»
22:07 diakopter rakudo: my $a := 10000; $a := $a - 1 while $a > 0; say('done');
22:07 p6eval rakudo : OUTPUT«done␤»
22:08 jnthn Is that Rakudo build an optimized one, ooc?
22:08 masak diakopter: I've told jnthn that I want to implement Druid on top of nqp.net. as I understand it, it doesn't have substr or STDIN line input yet, but once it does, I'll give it a shot.
22:08 tadzik nqp: my $a := 1000000; $a := $a - 1 while $a > 0; say('done');
22:08 p6eval nqp: OUTPUT«done␤»
22:08 moritz_ jnthn: I think so
22:08 tadzik ...wow
22:08 diakopter it has substr
22:08 jnthn moritz_: 'cus the nqpnet one is just Debug build.
22:08 colomon do optional parameters work in NQP?  I need the NQP cheat sheet
22:08 masak diakopter: oh, good!
22:08 jnthn colomon: Yes, there's a bug with lexical scoping of the default closure that I need to look into though.
22:09 masak then all I need is $*IN.get.
22:09 jnthn masak: Could you cope with a hacked prompt to get started?
22:09 masak jnthn: certainly.
22:09 jnthn C<prompt>
22:09 diakopter nqpnet: say(substr("foobar", 2, 2))
22:09 p6eval nqpnet: OUTPUT«ob␤»
22:09 jnthn 'cus I can give you that easily.
22:09 masak \o/
22:10 dalek evalbot: 8ba8049 | moritz++ | evalbot.pl:
22:10 dalek evalbot: nqpnet target by diakopter++
22:10 dalek evalbot: review: https://github.com/perl6/evalbot/commit/​8ba8049b34d012833b0b5f751b8f03ba117f13e2
22:10 jnthn nqpnet: proto sub foo($x) { say("before"); {*}; say ("after") }; multi sub foo($x) { say("in multi") }; foo(42)
22:10 p6eval nqpnet: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 2368 (ext/nqp-rx/src/stage0/Regex-s0.pir:1192)␤called from Sub 'parrot;JnthnNQP;Grammar;blockoid' pc 10704 (gen_grammar.pir:3191)␤called from Sub 'parrot;JnthnNQP;Grammar;r…
22:10 jnthn gah what
22:10 tadzik "Any implementation passing the official test suite and fullfiling the Synopses is..."? Good enough? Official? Ideas?
22:10 jnthn std: proto sub foo($x) { say("before"); {*}; say ("after") }; multi sub foo($x) { say("in multi") }; foo(42)
22:10 p6eval std a194beb: OUTPUT«Potential difficulties:␤  $x is declared but not used at /tmp/qJahmEn7eu line 1:␤------> [32m"); {*}; say ("after") }; multi sub foo([33m⏏[31m$x) { say("in multi") }; foo(42)[0m␤ok 00:01 123m␤»
22:10 diakopter Definitive
22:11 masak tadzik: awesome.
22:11 moritz_ s/is/may itself call Perl 6.0/
22:11 diakopter Conforming
22:11 diakopter is Conforming
22:11 masak moritz_: s/itself call/call itself/
22:11 moritz_ indeed
22:11 masak any such implementation is comforting.
22:11 tadzik 6.0, or just 6?
22:11 tadzik or „the Perl 6”?
22:11 moritz_ tadzik: no
22:11 moritz_ "a Perl 6"
22:12 tadzik right
22:12 masak er, why?
22:12 masak we don't say "a C"?
22:12 masak we say "a C implementation".
22:12 moritz_ well
22:12 moritz_ then say "a Perl 6.0 compiler"
22:12 masak I would think that "a Perl 6" might refer to a sub-dialect that someone wrote.
22:13 tadzik what if that's an interpreter?
22:13 masak "that's a nice Perl 6 you have there" -- "why, thank you!"
22:13 jnthn nqpnet: proto sub foo($x) { say("before"); {*}; say("after") }; multi sub foo($x) { say("in multi"); }; foo(42);
22:13 p6eval nqpnet: OUTPUT«before␤in multi␤after␤»
22:13 jnthn finally!
22:13 jnthn :)
22:13 moritz_ jnthn++
22:15 ch3ck joined #perl6
22:16 cognominal joined #perl6
22:19 sorear lichtkind: no.  I don't see a way to get the old version, nor a good programmatic way to summarize a diff
22:21 lichtkind sorear: you mean to crawl http://www.perlfoundation.org/perl6/index.cgi​?action=revision_compare&amp;page_name=perl_6​_variable_tablet&amp;mode=source&amp;Button=C​ompare+Revisions&amp;new_revision_id=20101120​192803&amp;old_revision_id=20101120192555 is too much effort
22:22 tadzik sorear: how would you summarize niecza as a Perl 6 implementation with a few words? Aiming for performance rather than completeness maybe? I'd like to mention it in the Advent Calendar post
22:23 moritz_ rakudo: say &say.signature.cando
22:23 p6eval rakudo : OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤  in main program body at line 1␤»
22:23 muixirt left #perl6
22:24 sorear Aiming to study performance issues
22:24 moritz_ rakudo: say &sqrt.signature
22:24 p6eval rakudo : OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤  in main program body at line 1␤»
22:24 moritz_ rakudo: say &sqrt.signature.perl
22:24 p6eval rakudo : OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤  in main program body at line 1␤»
22:24 sorear I want to know WHY existing implementations are so slow and HOW to make a fast one
22:24 colomon jnthn: huh.  now getting a get_bool error during my compile?
22:24 ch3ck left #perl6
22:25 colomon afk for a moment...
22:25 jnthn colomon: Remember that this is a bootstrapping thingy so if you break something sufficiently then stage 2 won't build.
22:25 sorear niecza: my $x = 0; $x++ until $x == 10000000; # this slightly different loop form will run about ten times faster for now
22:25 p6eval niecza 83891ca: OUTPUT«(timeout)»
22:25 colomon jnthn: ah
22:25 sorear niecza: my $x = 0; $x++ until $x == 1000000;
22:25 p6eval niecza 83891ca:  ( no output )
22:25 sorear niecza: my $x = 0; $x++ until $x == 5000000;
22:26 p6eval niecza 83891ca:  ( no output )
22:26 lue afk # nommery!
22:26 jnthn colomon: I think it compiles HLL::Compiler into stage 1, then uses it in stage 2.
22:26 sorear nqpnet is bootstrapped now?
22:26 jnthn (stage 1 being built with the one in bootstrap files)
22:27 jnthn sorear: No. :( colomon and I are talking about nqp-rx on Parrot.
22:27 jnthn sorear: Working towards nqpnet bootstrap though :)
22:27 dalek book: a5ebb8f | (Patrick Donelan)++ | src/roles.pod:
22:27 dalek book: Fixes minor typo in roles.pod
22:27 dalek book:
22:27 dalek book: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
22:27 dalek book: review: https://github.com/perl6/book/commit/a5​ebb8fdbd029458cfe9dd68e6a804b3f467d549
22:27 sorear also, do you plan to ever implement gather/take in nqprakudo?
22:27 sorear er
22:27 sorear rakudonet
22:28 jnthn sorear: Yes, at which point I'm going to be interested to understand how it is done continuationless :)
22:29 sorear continuationless?
22:29 jnthn sorear: Without needing continuations. OTOH, Rakudo already doesn't.
22:29 jnthn sorear: Rakudo's gather/take uses some coroutine meachnism iirc.
22:29 sorear yes
22:30 jnthn http://msdn.microsoft.com/e​n-us/magazine/cc164086.aspx is an interesting read.
22:30 sorear gather/take are equivalent in power to coroutines (see a p6l post of mine which I'm thinking of turning into an advent post)
22:30 masak moritz_: informal use of psyde tells me that .trans can't be very much slower. I'm curious now about the exact numbers. :)
22:31 jnthn sorear: Though it points out int he article not to do it in production code...
22:31 masak blog post! http://strangelyconsistent.org/blog/nove​mber-20-2010-leftmost-longest-whale-wins
22:33 tadzik hmm, I'd like to say Rakudo Star tarballs are available for windows too, but the last one is the first one. Are you still managing this, jnthn?
22:33 sorear jnthn: I emailed a couple DLR guys about coroutines a few month ago
22:34 dalek book: 4d0ec84 | moritz++ | src/ (2 files):
22:34 dalek book: be more careful about explaining "nominal" types
22:34 dalek book: review: https://github.com/perl6/book/commit/4d​0ec84780c5cf4f1b7d9a6b22e8b3eadd16f50e
22:34 sorear jnthn: I'm told fibers are a bad choice because they have a 1MB stack allocation, which is a bit high for a gather
22:34 jnthn sorear: Yeah, plus not sure that really works too well for Mono.
22:35 sorear a SoC student implemented a Mono-specific coroutines engine a bit back
22:35 sorear it'll probably work if you use reflection emit to pick an implementation at runtime
22:36 jnthn sorear: Is that in mainline mono?
22:36 sorear jnthn: the unmanaged part is
22:36 sorear VM support, I mean
22:36 sorear the actual coroutine library is shipped separately, but it's pure C# using the Mono private APIs
22:37 jnthn OK
22:37 jnthn Just looking at it now
22:37 jnthn Looks interesting.
22:38 tadzik rakudo: sub foo() { my $a; return $a++}; say foo; say foo; say foo;
22:38 p6eval rakudo : OUTPUT«Any()␤Any()␤Any()␤»
22:38 tadzik how do I make something like a static variable in C?
22:38 sorear state $a
22:39 sorear niecza: sub foo() { state $a = 0; return $a++ }; say foo; say foo; say foo
22:39 p6eval niecza 83891ca: OUTPUT«0␤1␤2␤»
22:39 sorear buubot: eval: sub foo() { state $a = 0; return $a++ }; say foo; say foo; say foo
22:39 buubot sorear: ERROR: syntax error at (eval 32) line 1, near "say foo"
22:39 sorear buubot: eval: use 5.010; sub foo() { state $a = 0; return $a++ }; say foo; say foo; say foo
22:39 buubot sorear: 0 1 2 1
22:39 moritz_ does anybody remember how references to tables work in PseudoPod?
22:42 tadzik where are the building instructions for Rakudo Star?
22:43 obsd123 joined #perl6
22:46 jaldhar left #perl6
22:48 dalek book: 500c8c2 | moritz++ | src/regexes.pod:
22:48 dalek book: [regex] try to properly cross-link a table
22:48 dalek book: review: https://github.com/perl6/book/commit/50​0c8c20e2071a96df95d94c430b7f186b732ad0
22:50 jaldhar joined #perl6
22:52 dalek mu: ce274cf | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/artic​les/reaching-the-stars.pod:
22:52 dalek mu: Added the article „Reaching the Stars”
22:52 dalek mu: review: https://github.com/perl6/mu/commit/ce2​74cf19438c50199c4b6cd324571598beb79ae
22:53 obsd123 left #perl6
22:53 tadzik proofreading will be Very Welcome
22:53 obsd123 joined #perl6
22:53 * masak looks
22:54 masak tadzik: ah, this is meant to be the first entry?
22:55 tadzik masak: well, I was quite scared too
22:56 masak tadzik: looks good.
22:56 masak tadzik: but what I think would most help the Advent planning right now -- at least it worked very well last year -- is if we created a file with 24 empty slots, where people could sign up.
22:57 masak fill in their name and the topic.
22:57 masak tadzik: you could create the file and put yourself on December 1. :)
22:58 masak tadzik: ss/Yapsi, which/Yapsi, whose/, I think.
22:58 tadzik masak: do you mean https://github.com/perl6/mu/blob/ma​ster/misc/perl6advent-2010/schedule
22:58 tadzik oh, sure
22:58 dalek book: 0afc0b8 | moritz++ | src/subs-n-sigs.pod:
22:58 dalek book: [subs-n-sigs] answer a question by jkeenan++
22:58 dalek book: review: https://github.com/perl6/book/commit/0a​fc0b8b5b64a4dc5dc53a597883da1e5c05129d
22:58 masak ooh, a schedule! :)
22:58 masak tadzik++
22:58 * masak goes and grabs a handful of days.
22:59 dalek mu: 3478d03 | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/artic​les/reaching-the-stars.pod:
22:59 dalek mu: gramarro by masak++
22:59 dalek mu: review: https://github.com/perl6/mu/commit/347​8d034f69e051edb42987a40363df364dee6d4
22:59 tadzik dalek, I don't like this nickname either, but no one knows who Tadeusz Sośnierz is
23:01 moritz_ we're doing 25 days this year?
23:01 tadzik hmm, I don't mind :)
23:01 masak last year, the 25th was "merry christmas!"
23:02 tadzik seen pmichaud
23:02 aloha pmichaud was last seen in #perl6 10 days 3 hours ago saying "Er.  Bbl".
23:02 masak :/
23:02 tadzik Er. :(
23:02 sorear "l"
23:02 jnthn 10 days later? :(
23:02 masak pmichaud_: we miss you!
23:02 * jnthn hopes pmichaud_++ is well and just heavily distracted
23:02 * masak hopes everything is ok, and that pmichaud_ is just busy
23:03 jnthn Well, heavily distracted with $work, anyway...
23:05 ch3ck joined #perl6
23:10 dalek mu: 7b88d2f | masak++ | misc/perl6advent-2010/schedule:
23:10 dalek mu: [misc/perl6advent-2010/schedule] picked three slots
23:10 dalek mu:
23:10 dalek mu: Negotiable and not set in stone. Yay, Advent Calendar 2010! \o/
23:10 dalek mu: review: https://github.com/perl6/mu/commit/7b8​8d2f12b4a6e4fb5c08cde54b002855556f108
23:11 * tadzik hands masak a banana
23:11 masak tadzik: it's also possible to do drafts in the Wordpress installation at perl6advent.wordpress.com -- I'm only mentioning it because that's what a lot of us did last time, and it seemed to work great.
23:11 masak committing to mu is fine too, of course.
23:18 macwadu joined #perl6
23:19 jnthn masak: my $longest_substitution_matcher = class {
23:19 masak uh-oh :)
23:19 jnthn masak: did a my class LSM { ...
23:19 jnthn not work?
23:19 masak hm.
23:20 masak didn't actually try. :/
23:20 * masak tries now
23:20 jnthn It pretty much does what you have, iirc.
23:20 jnthn Apart from you can then use it without the $
23:20 jnthn :)
23:20 masak I have had bad experiences with nested classes.
23:20 sorear people are working on ltm in rakudo now?
23:20 masak no, it's just for .trans
23:20 masak I needed it for a regression in November. this used to work.
23:22 dalek 6model: fbd8320 | jonathan++ | dotnet/compiler/DNST2CSharp.pm:
23:22 dalek 6model: [dotnet] Don't really need a temporary variable for DNST::ArrayLiteral and DNST::DictionaryLiteral nodes, so skip having them (will be closer to the IL we'll one day emit, so good to get it tested this way).
23:22 dalek 6model: review: https://github.com/jnthn/6model/commit/f​bd832037b3527ec5110f87ef0ec614f1db62a3e
23:22 dalek 6model: a180bfb | jonathan++ | dotnet/compiler/PAST2DNSTCompiler.pm:
23:22 dalek 6model: [dotnet] Factor out the capture forming logic since it's about to get a tad more complex.
23:22 dalek 6model: review: https://github.com/jnthn/6model/commit/a​180bfb1641c1357bbbe534905b03e4b9359355f
23:24 mavrc left #perl6
23:28 masak jnthn: using 'my class' seems to work. at least the trans.t file runs fine. jnthn++
23:28 masak spectesting Justin Case, and then committing.
23:29 jnthn Fairy Nuff.
23:30 tadzik :D
23:32 macwadu is there any modolu to send sms?
23:33 ruoso to which extent the introspection of the grammar rules is specced?
23:34 ruoso meaning... introspect it to find the tokenization, discover the literal elements...
23:34 tadzik macwadu: I don't see any on http://modules.perl6.org
23:34 masak ruoso: that would be nice. I haven't seen spec for that.
23:34 tadzik macwadu: well volunteered!
23:35 masak sending SMS messages sounds like a highly platform-dependent task.
23:35 meppl joined #perl6
23:35 macwadu i found this WWW:SMS
23:35 ruoso masak: I was just talking to edenc (catalyst guy), and using plain Perl 6 grammar as a action dispatch engine would be uber cool
23:36 ruoso but there's the problem of how to solve the uri_for_action
23:36 masak ruoso: ooh
23:36 macwadu i found this http://www-sms.sourceforge.net/
23:36 macwadu but the gateways are offline
23:36 77CAAECZH left #perl6
23:36 masak ruoso: I guess you could always re-parse the code with custom action methods.
23:37 ruoso masak: hmm... sounds promising...
23:38 masak but it hasn't been done before.
23:40 ruoso masak: in fact, the only thing that needs to be done is detect the literals and count the captures in the non-literals
23:41 * masak toys with the idea of a regex introspection API
23:41 masak if it can't be done with Rakudo proper, I bet GGE could be made to do such a thing
23:42 ruoso mostly, tokenization is the key
23:42 jnthn In Rakudo you can go regex syntax => AST
23:43 ruoso jnthn: that would probably give the information I need then...
23:43 masak jnthn: how?
23:43 ruoso with some rakudo-specific-magic, I guess
23:43 jnthn Yeah, it is Rakudo-specific
23:43 masak dang. :/
23:43 jnthn masak: I don't knwo the exact incantation.
23:43 jnthn masak: Something along the lines of instantiating the regex grammar with the relevant actions
23:43 masak GGE (used as a library) would be implementation independent, but slow.
23:44 edenc joined #perl6
23:44 edenc hi guys
23:44 jnthn masak: And parsing and looking at .ast of the match object
23:44 ruoso there he is
23:44 masak edenc: hi! \o
23:44 edenc looks like ruoso finally managed to draft me :)
23:44 edenc masak: hey
23:44 masak edenc: welcome! good work with Catalyst!
23:45 edenc well, not enough, ;)
23:46 edenc given that there seems to be a lot of space for improvement
23:46 masak gosh, I should hope so.
23:46 masak applications that are done already -- where's the fun in that? :P
23:47 ruoso jnthn: do you think it's possible to do that introspection entirely in p6 land? or does it involve lower level stuff?
23:47 edenc well, what I've been talking to ruoso about is to make the dispatcher work at the request parse level
23:48 edenc you define a grammar that handles the dispatching, which is both more expressive and efficient than all the "popular" ways to do dispatch these days
23:48 masak ruoso: it is possible in p6 land, if you're prepared to load GGE.pm.
23:48 jnthn ruoso: I think it's possible in p6land.
23:49 jnthn ruoso: The only thing is that the AST is implementation specific.
23:49 edenc given the set of uri's handled by a web app is a language
23:49 * ruoso .oO( curious how the name action from the web dispatch matches with action from grammars )
23:49 ruoso jnthn: cool...
23:49 ruoso the idea is still a toy, so being rakudo-specific is not a problem
23:49 jnthn ruoso: But - in Rakudo at least - AST nodes are just objects, like any other object.
23:49 gbacon joined #perl6
23:50 edenc so, ruoso tells me that part of the grammar language I was envisioning is implemented (partially?) in rakudo already
23:50 ruoso jnthn: a project like this would eventually lead to more spec...
23:50 edenc problem is, I don't even know where to start :)
23:50 ruoso edenc: actually, the grammar you need is entirely implemented already
23:51 ruoso since action closures in Perl 6 are already implemented, right?
23:51 jnthn Yes, you can put closures inside regexes
23:52 ruoso rakudo: grammar Foo { rule bar { /foo/bar { say "hello" }/baz { say " world" } } }; "/foo/bar/baz" ~~ /<Foo::bar>/;
23:52 p6eval rakudo : OUTPUT«===SORRY!===␤Malformed regex at line 22, near "bar { /foo"␤»
23:52 edenc so, I write the grammar and get an perl 6 objectified AST, or what?
23:53 * ruoso got his Perl 6 skills a bit rusty
23:53 edenc ok, where's the grammar language documented?
23:53 sorear S05
23:53 jnthn ruoso: Inside the rule you are already in regex syntax so the / ain't needed there
23:54 macwadu left #perl6
23:54 ruoso jnthn: that is meant as a literal
23:54 jnthn oh
23:54 jnthn duh :)
23:54 jnthn ruoso: Then it needs quoting.
23:54 sorear only \w charactes can be used unquoted in p6regex
23:54 ruoso rakudo: grammar Foo { rule bar { "/foo/bar" { say "hello" } "/baz" { say " world" } } }; "/foo/bar/baz" ~~ /<Foo::bar>/;
23:54 p6eval rakudo : OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 22, near "::bar>/;"␤»
23:55 ruoso rakudo: rule bar { "/foo/bar" { say "hello" } "/baz" { say " world" } }; "/foo/bar/baz" ~~ /<bar>/;
23:55 p6eval rakudo : OUTPUT«Useless declaration of has-scoped rule in a module; add our or my to install it in the lexpad or namespace␤Method 'bar' not found for invocant of class 'Cursor'␤  in <anon> at line 22:/tmp/GlkF5PiU1z␤  in 'Cool::match' at line 2509:CORE.setting␤  in 'Regex::ACCEPTS' at line 6016:CO…
23:55 ruoso rakudo: my rule bar { "/foo/bar" { say "hello" } "/baz" { say " world" } }; "/foo/bar/baz" ~~ /<bar>/;
23:55 p6eval rakudo : OUTPUT«Method 'bar' not found for invocant of class 'Cursor'␤  in <anon> at line 22:/tmp/RX2ilUgiAG␤  in 'Cool::match' at line 2509:CORE.setting␤  in 'Regex::ACCEPTS' at line 6016:CORE.setting␤  in main program body at line 10:/tmp/RX2ilUgiAG␤»
23:55 ruoso rakudo: my rule bar { "/foo/bar" { say "hello" } "/baz" { say " world" } }; "/foo/bar/baz" ~~ /<&bar>/;
23:55 p6eval rakudo : OUTPUT«hello␤ world␤»
23:55 ruoso aha!
23:55 edenc ruoso++
23:55 edenc marvelous
23:56 edenc well, I guess I'd better read up
23:58 edenc ruoso: I'm curious, what would a subrule look like?
23:59 ruoso rakudo: my rule baz { "/baz" { say "subrule" } }; my rule bar { "/foo/bar" { say "hello" } <&baz> { say " world" } }; "/foo/bar/baz" ~~ /<&bar>/;
23:59 p6eval rakudo : OUTPUT«hello␤subrule␤ world␤»

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

Perl 6 | Reference Documentation | Rakudo