Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-03-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 jnthn wknight8111: Very odd. It seems that Rakudo's Exception class both inherited from *and* had a Parrot Exception as an attribute. I'm...really not sure why.
00:00 wknight8111 awesome
00:00 jnthn wknight8111: The spectests may be about to tell me why now i've stopped inheirting from it. Turns out it gets rid of those warnings though.
00:00 jnthn erm
00:00 jnthn not warnings
00:00 jnthn the prints I put in to say we hit the freeze/thaw path.
00:01 jnthn It may be that we need it to be subclassing Parrot's Exception class for Parrot to believe its throwable or somethng.
00:01 jnthn spectesting now. We'll see.
00:01 jnthn sorear: I'm not the best person to ask, but see S02 for a mention of them. But it's a bit breif.
00:02 jnthn TimToady: Are slangs detailed elsewhere any more than they are in S02?
00:04 jnthn Mmm...weißbier.
00:08 fridim Hi. What did happen to show such a decrease in the rakudo project status ?
00:08 TimToady progress
00:08 synth joined #perl6
00:09 jnthn fridim: We merged a branch that resulted in a *lot* of important improvements, but also caused some regressions.
00:09 fridim oh ok
00:09 TimToady like lazy lists
00:09 jnthn fridim: We're busily hunting them down and dealing with them.
00:09 fridim cool
00:09 ShaneC1 joined #perl6
00:10 sorear that was nqp-rx, right?
00:10 TimToady rakudo: (1..* Z~ 'a'..*).batch(20).say
00:10 p6eval rakudo 53ace9: OUTPUT«1a2b3c4d5e6f7g8h9i10j11​k12l13m14n15o16p17q18r19s20t␤»
00:10 jnthn sorear: We switched to using nqp-rx and the new regex engine as part of the big re-working, yes.
00:10 jnthn sorear: Also built the grammar up again to be much closer to STD.
00:10 * sorear joined the project last week and is not up to speed on history
00:11 jnthn sorear: Before, we had no protoregexes and STD and Rakudo's grammar were...really very different...in places.
00:11 jnthn sorear: The other very big change was much less visible, but the metamodel stuff got a complete overhaul too.
00:11 TimToady jnthn: most of the docs on slangs are in how STD does sublanguages  :)
00:11 jnthn TimToady: :-)
00:12 sorear Oooh metamodel stuff, that's *important*
00:12 sorear What exactly is a protoregex?
00:12 colomon jnthn: I haven't reworked the grammar for Xop and Zop yet, just working on getting the implementation more solid.  Testing now, will push soon unless someone beats me to it.  :)
00:12 TimToady sorear: in short, a set of regex alternatives that are named rather than being listed by |
00:12 jnthn colomon: I've got one local patch I'm testing now but I can hold of pushing. Or you can ignore testing it. It's a one-liner.
00:13 TimToady sorear: and hence, extensible via derivation across many related languages
00:14 TimToady so you can just match <infix> and it will give you all rules that start infix:sym<op>
00:14 TimToady and that set of rules doesn't all have to be defined in the same grammar
00:15 sorear mmm
00:15 TimToady STD uses this heavily, even internally, to generate quoting languages, regex languages, and such
00:16 jnthn TimToady: class Foo { has $.x is rw }; my $y = Foo.new; $x.y = 42; # works, think we all agree on this
00:16 jnthn TimToady: class Foo { has $.x is rw }; my $y = Foo.new; $x.y(42); # should this also work?
00:16 colomon jnthn: if you don't think it's a big deal, I can certainly push without testing if your one-liner is in the way.  :)
00:16 sorear is it possible to do stuff like Devel::Declare in the p6 grammar system?
00:16 jnthn I've not seen anything in the spec that says it should.
00:16 * colomon is making pudding
00:16 sorear import a module to get new keywords?
00:17 jnthn And want to toss the bogus spectests we'd had todo'd for ages on it...
00:17 TimToady sorear: that's certainly possible
00:18 TimToady here's STD's definition of double quotes:
00:18 TimToady token quote:sym<" ">   { '"' <nibble($¢.cursor_fresh( %*LANG<Q> ).tweak(:qq).unbalanced('"'))> '"' }
00:18 TimToady it actually derives two new languages just in that one line
00:18 TimToady tweak(:qq) adds in all the double-quote escapes
00:19 TimToady unbalance('"') derives a language in which " is a stopper
00:19 lue O.o
00:20 TimToady it would be that easy to add your own quotes in a derived grammar
00:20 sorear Is :sym<" "> semantically important, or just a name?
00:20 TimToady minimally, it's just a name, but we reuse the symbol if the rule matches <sym>
00:21 TimToady and it's also available for constructing an eventual operator function, such as infix:<+>, which is parsed by infix:sym<+>
00:22 TimToady basically, every time you say something like 'sub postfix:<!>" you're deriving a new sublanguage with a new postfix: rule
00:22 * snarkyboojum wonders what is the easiest way to get started reading and understanding STD.pm :)
00:23 TimToady I dunno, I still don't entirely understand it myself... :)
00:23 snarkyboojum heh :)
00:23 colomon snarkyboojum: if you figure it out, let me know.  :)
00:23 snarkyboojum I was thinking it'd be handy to learn Perl 6 first heh
00:25 sorear What does my $*FOO; even mean?
00:26 TimToady a dynamically scoped variable
00:26 TimToady kinda like local in Perl 5
00:26 TimToady only better
00:26 sorear is it truly global?
00:27 sorear what's the difference between my $*GOAL ::= $STOP; and temp $*GOAL ::= $STOP; ?
00:27 TimToady (actually, the p5 translation of STD.pm uses local)
00:27 snarkyboojum an annotated STD.pm a la lion's commentary would rock :)
00:28 lue how's about mine? :)
00:29 snarkyboojum lue: you've annotated STD.pm? :)
00:29 jnthn alpha: my %h = a => 1, b => 2; say %h.elems
00:29 jnthn rakudo: my %h = a => 1, b => 2; say %h.elems
00:29 TimToady sorear: in real P6, $*FOO is a lexical, and when you access it, it looks up the dynamic call stack to find the innermost def
00:29 p6eval alpha 30e0ed:  ( no output )
00:29 p6eval rakudo 53ace9: OUTPUT«Method 'elems' not found for invocant of class ''␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
00:30 TimToady my $*GOAL ::= $STOP is (in theory) setting a readonly lexical that can be seen by callees as $*GOAL
00:31 TimToady you should not see an initializer on temp $*GOAL because the intent is to initialize to the outer value
00:31 TimToady er, the caller value
00:31 lue snarky: no, but I could :)
00:32 TimToady sorear: the advantage of using lexicals over globals is that they're automatically thread-local if declared inside a thread's lexical scope
00:33 TimToady this will be important for scalable multithreading
00:34 TimToady the main thing to understand about the OOness of STD is that tokens and rules are really just methods
00:34 snarkyboojum lue: excellent :)
00:34 TimToady they just happen to be methods on some derivative of Cursor, which manages parsing
00:34 TimToady and the current derivative happens to be the sublanguage you're currently parsing
00:36 TimToady so it's really easy to write a method that returns a language derived from the current language
00:36 jnthn TimToady: Heh. My first cut of user defined operators is, I'm afraid, very wrong and evil.
00:36 jnthn (Monkey patches the current grammar, rather than deriving new...)
00:37 jnthn TimToady: Do you essentially have to rebless the current cursor?
00:37 TimToady that's a possible optimization, of course
00:37 TimToady but optimizations are cheating, after all
00:37 jnthn Well, I did it because it's easy rather than for speed.
00:37 TimToady typically return a new Cursor, since Cursors are (in theory) immutable
00:37 TimToady I do rebless in a few places where I know I can cheat :)
00:39 colomon jnthn: pushed
00:39 TimToady actually, no I don't
00:39 TimToady I just poke the current .pos if I know I can get away with it...
00:40 jnthn colomon: Cool
00:40 TimToady mainly when we're in a ratcheting situation
00:40 TimToady gotta go cook nom (delayed St Pat's fare)
00:40 TimToady &
00:40 colomon corned beef?
00:41 dalek rakudo: 53c2dde | (Solomon Foster)++ | src/builtins/Code.pir:
00:41 dalek rakudo: Fix .assuming, as per jnthn++.
00:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​3c2dde1de84b6f00f66e31fb827e9fb7cc7ac02
00:41 dalek rakudo: a5720bb | (Solomon Foster)++ | src/Perl6/Actions.pm:
00:41 dalek rakudo: Actually create Xop as a function instead of just using it as syntactic sugar for .crosswith.
00:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​5720bba924666f404dd528164bbfb286c6a3787
00:41 dalek rakudo: a0064d2 | (Solomon Foster)++ | src/Perl6/Actions.pm:
00:41 dalek rakudo: Port the new proper take on Xop to Zop as well.
00:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​0064d2cbf4612c4b62424bfc86f8ecccc7c6192
00:41 dalek rakudo: e252983 | (Solomon Foster)++ |  (2 files):
00:41 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
00:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​25298311f7e7f2deca344ddedcfbbe2f7afe7b2
00:41 dalek rakudo: 50392a2 | (Solomon Foster)++ | src/ (3 files):
00:41 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
00:46 jnthn colomon: Nice.
00:49 jnthn colomon: Pulled and running with my (small) patches.
00:51 pugssvn r30131 | jnthn++ | [t/spec] Re-fudgings and other tweaks to S12-attributes/instance.t; toss two tests I've long considered bogus anyway.
00:51 jnthn colomon: Got two S12 tests I can re-enable.
00:51 jnthn colomon: Between them it's just short of 150 extra we'll run, and > 100 passing.
00:56 jnthn whoa!
00:56 jnthn # S05-mass/stdrules.t
00:56 jnthn All 183 in there pass!
00:57 colomon \o/
00:57 lue \o/ jnthn++++++
00:59 quietfanatic joined #perl6
00:59 jnthn Well, that's close to 300 tests won back today then. :-)
00:59 snarkyboojum wowsers - v. impressive
01:00 jnthn Current reclaim stats:
01:00 jnthn (this is number of tests by spec that we've still got commented out)
01:00 jnthn S02: 18
01:00 jnthn S03: 22
01:00 jnthn S04: 11
01:00 jnthn S05: 31
01:00 jnthn S06: 13
01:00 jnthn S09: 1
01:01 jnthn S10: 1
01:01 jnthn S11: 4
01:01 jnthn S12: 28
01:01 jnthn S13: 1
01:01 jnthn S14: 8
01:01 jnthn S16: 4
01:01 jnthn S28: 1
01:01 jnthn S29: 1
01:01 jnthn S32: 22
01:01 jnthn integration: 12
01:01 ggoebel joined #perl6
01:02 colomon did you try reduce.t?
01:02 jnthn oh, good point
01:02 jnthn I tried some S03 reduce-metaop
01:02 jnthn But fail
01:03 colomon I'll take a look.
01:03 jnthn no...
01:03 jnthn Well, the parsing is done
01:03 jnthn So in theory the rest is...not so bad.
01:03 jnthn I'm not sure what the function form of the \ version is either
01:04 colomon jnthn: I propose it should just be a :arg to reduce.
01:04 jnthn wfm
01:04 jnthn :triangle ? :-)
01:05 jnthn # S32-container/zip.t # maybe this one will be not so hard to make pass later too
01:05 colomon hmmm.
01:06 colomon :steps ?
01:06 colomon :stages ?
01:06 jnthn oh
01:06 jnthn reduce { $^a + $^b }, 0, @array
01:06 jnthn What on earth is the 0?
01:07 colomon reduce is *@values, so it could be the first in the array.
01:08 jnthn oh, I didn't has it that way
01:08 colomon that might have been the complication that kept me from doing sub reduce.
01:08 colomon :)
01:13 jnthn Well, I only *really* wanted it for [+] for now anyway ;-)
01:13 colomon ;)
01:13 TimToady it's supposed to call infix:<+>() if there are no args
01:13 TimToady which should return 0
01:13 colomon right.
01:15 lue rakudo: say [+] 1,3,4
01:15 p6eval rakudo 53ace9: OUTPUT«8␤»
01:15 lue :O It works!
01:15 colomon lue:  did you not believe jnthn?  :)
01:15 lue no, but I would think p6eval'd be behind :)
01:16 lue (where have I been? :) )
01:16 sorear What is ::STD::P6?
01:16 jnthn rakudo: my $x = [=>] 1, 2, 3; say $x.WHAT
01:16 p6eval rakudo 53ace9: OUTPUT«Pair()␤»
01:16 jnthn rakudo: my $x = [=>] 1, 2, 3; say $x.key
01:16 p6eval rakudo 53ace9: OUTPUT«1  2␤»
01:16 TimToady basically, it should really just be calling infix:<+>(|$parcel) repeatedly and infix:<+>($prev,|$parcel) if previous didn't bind all args
01:16 jnthn ...d'oh.
01:16 TimToady s/repeatedly//
01:16 colomon .reduce is still a bit short of full [op] specs.
01:17 * sorear needs to get up to speed on | and parcels
01:17 jnthn spec is still a bit short of iterator instead of capture calls
01:17 jnthn *on
01:17 jnthn ;-)
01:17 TimToady but it's that partial binding thing again, if we want to be most general
01:17 jnthn TimToady: Yes. I'm still in need of a detailed spec. :-)
01:18 jnthn TimToady: At the moemnt I just don't have something concrete enough to try and implement.
01:18 jnthn (Or to get a grip of how hard it'll be to do.)
01:18 colomon there's also the left vs right distinction, I'm assuming you don't have that yet?
01:19 jnthn colomon: Yeah
01:19 jnthn colomon: Well, maybe ti's that reduce needs to check the associativity?
01:19 colomon jnthn: is there a sensible way to translate a str to another str in Actions.pm?
01:19 colomon jnthn: hey, can reduce do that?
01:20 lue rakudo: [@] my var1, var2; say @var1.WHAT
01:20 p6eval rakudo 53ace9: OUTPUT«Confused at line 11, near "[@] my var"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
01:20 colomon I mean, is there a .assoc or something like that?
01:20 lue Aw. Why didn't it work :)
01:20 pugssvn r30132 | jnthn++ | [t/spec] Little more fudge tweaks.
01:20 jnthn colomon: I'd guess we need there to be
01:21 jnthn Probably set on the proto.
01:22 colomon it's :assoc in the grammar.
01:22 jnthn I do kinda wonder if Multi wants to essentially have a "has $.proto handles *" for trait fallback
01:23 TimToady lue: it didn't work because @ isn't an infix
01:23 jnthn colomon: (str to another str) Sorry, I didn't understand.
01:23 jnthn colomon: Specificly?
01:23 colomon I'm looking at prefix_infix code again.
01:24 lue alpha: say [+] 1,2,3
01:24 TimToady you mean infix_prefix?
01:24 colomon sorry infix_prefix_meta_operator in Actions.pm
01:25 snarkyboojum rakudo: my $s = Set.new(1..10); my $u = Set.new(2..8); say $u ⊆ $s
01:25 colomon we ought to be able to switch all of those over to the Xop / Zop model.
01:25 lue rakudo: multi sub infix:<jnthn>($a,$b){say "$a and $b";}; say "Oh why hello ",([jnthn] 1,2)
01:25 colomon but to do that, we need to be able to map from the metaop name to the function that implements it.
01:25 snarkyboojum rakudo: my $s = Set.new(1..10); my $u = Set.new(2..8); say $u.subsetorequal($s)
01:26 colomon so X => 'crosswith', Z => 'zipwith', etc.
01:26 TimToady maybe p6eval is bogged down with recompile
01:26 p6eval alpha 30e0ed:  ( no output )
01:26 lue erm, p6eval is not responding :/
01:26 p6eval rakudo 53ace9:  ( no output )
01:26 p6eval rakudo 53ace9: OUTPUT«Could not find non-existent sub &infix:<jnthn>␤current instr.: '' pc -1 ((unknown file):-1)␤»
01:26 p6eval rakudo 53ace9: OUTPUT«1␤»
01:27 dalek rakudo: 752b4b8 | jonathan++ | src/builtins/Exception.pir:
01:27 dalek rakudo: Seems we don't need our Exception class to inherit from Parrot's Exception (we has-a Parrot Exception anyway...). This avoids us hitting the freeze/thaw default code-path, which occasionally segfaults, so may help improve stability too.
01:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​52b4b877ff3cddd461145839d2e25f7fc1f1e42
01:27 dalek rakudo: a31d523 | jonathan++ | t/spectest.data:
01:27 dalek rakudo: Turn S12-attributes/instance.t and S12-methods/chaining.t back on.
01:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​31d523fd9ec28e4760035ea59a0f16d2f331c78
01:27 dalek rakudo: 2d2b2d5 | jonathan++ | src/core/EnumMap.pm:
01:27 dalek rakudo: Implement Hash.elems.
01:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​d2b2d5d626ef33848c946197280f2ffad3a8120
01:27 dalek rakudo: 3cb83c3 | jonathan++ | t/spectest.data:
01:27 dalek rakudo: Turn S05-mass/stdrules.t back on; all 183 pass.
01:27 jnthn colomon: Could always build a hash.
01:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​cb83c3e00b8d92464cae81f8458772d678f4f77
01:27 snarkyboojum rakudo: my $s = Set.new(1..10); my $u = Set.new(2..8); say $u ⊆ $s
01:27 sorear TimToady: Is there documentation on Cursors?
01:28 snarkyboojum oh well.. wanted to try out the funky set comparison operators e.g. ⊆
01:28 p6eval rakudo 53ace9:  ( no output )
01:28 snarkyboojum rakudo my $s = Set.new(1..10); my $u = Set.new(2..8); say $u.subsetorequal($s)
01:29 lue A great idea for the official P6 module!
01:29 TimToady sorear: not much, you'd get more out of reading Cursor.pmc (warning, grotty p5 code)
01:29 sorear mm
01:29 snarkyboojum rakudo: my $s = Set.new(1..10); my $u = Set.new(2..8); say $u.subsetorequal($s)
01:29 TimToady there are some mentions in S05
01:29 lue ...if symbols like ⊆ aren't defined by default :)
01:29 p6eval rakudo 53ace9:  ( no output )
01:29 snarkyboojum check out src/core/Set.pm :) masak++
01:30 lue froody
01:31 snarkyboojum rakudo: my $s = Set.new(1..6); my $u = Set.new(4..8); say $s.intersection($u).perl
01:32 snarkyboojum rakudo: my $s = Set.new(1..6); my $u = Set.new(4..8); ($s ∩ $u).perl.say
01:32 p6eval rakudo 53ace9: OUTPUT«Set.new(4, 5, 6)␤»
01:32 p6eval rakudo 53ace9: OUTPUT«Confused at line 11, near "($s \u2229 $u)."␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
01:33 colomon recompiles ... so .... slow...
01:34 lue I would love to help in fixing the memory leak, but that's #parrot 's problem :)
01:36 jnthn I think this may be a UTF8 problem. :-/
01:37 colomon jnthn: isn't there already utf8 in things like «<=»  ?
01:39 spinclad .oO(but <= is 7bit... 6bit even)
01:39 sorear French quotes are in ISO-8859-1, the 8 bit subset of Unicode
01:39 lue alpha: multi sub infix:<∩>($a,$b){$a+$b;}; say 3 ∩ 4
01:39 p6eval alpha 30e0ed: OUTPUT«7␤»
01:40 colomon sorear: ah.
01:40 sorear ISO-8859-1 is targetted at Western Europe
01:40 sorear it has all the frills you need for French, Spanish, German, (English), etc
01:40 sorear but not Greek etc
01:41 lue would that be a R* or Parrot problem then? (hard to tell, seeing as it works fine outside of the compiled source)
01:43 justatheory joined #perl6
01:43 sorear I've heard lots of FUD about Unicode support in Parrot
01:43 sorear I'd be interested in knowing how much is true
01:44 lue rakudo: say "\u1923 \u0142 \u0221 \u0314 \u0607" # just curious
01:44 p6eval rakudo 53ace9: OUTPUT«\u1923 \u0142 \u0221 \u0314 \u0607␤»
01:45 lue oh! :(
01:47 colomon rakudo: say "\u[1923]"
01:47 p6eval rakudo 53ace9:  ( no output )
01:47 jnthn OK, sleep is wanted
01:47 envi^home joined #perl6
01:47 colomon night!
01:47 lue sleep is given o/
01:47 jnthn night o/
01:48 lue rakudo: say "\x[1923,0142,0221,0314,0607]" # just curious
01:48 p6eval rakudo 53ace9: OUTPUT«ᤣłȡ̔؇␤»
01:48 lue is that a BACKWARDS cube root?
01:49 lue rakudo: say "\x0314"
01:49 p6eval rakudo 53ace9: OUTPUT«̔␤»
01:49 lue rakudo: say "\x0221"
01:49 p6eval rakudo 53ace9: OUTPUT«ȡ␤»
01:49 lue rakudo: say "\x0607"
01:49 p6eval rakudo 53ace9: OUTPUT«؇␤»
01:50 lue rakudo: say "\x[0605,0606,0607,0608,0609]"
01:50 p6eval rakudo 53ace9: OUTPUT«؅؆؇؈؉␤»
01:51 sorear vim thinks Cursor.pmc is C code, stupid Parrot not picking unique file extensions
01:51 lue .u ؇
01:51 phenny U+0607 (No name found)
01:51 * sorear mumbles at a screenfull of xFFFD
01:52 lue why can't they be .bolton files for PASM .notlob for PIR? :)
01:52 lue sorear: sorry :)
01:54 lue .u FFFD
01:54 phenny U+FFFD REPLACEMENT CHARACTER (�)
02:00 PZt joined #perl6
02:12 dalek rakudo: a6e9e13 | (Solomon Foster)++ | src/Perl6/Actions.pm:
02:12 dalek rakudo: Mark that the reduce operator has been generated.
02:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​6e9e13069ca8b1bb7f0b11572f18cfbf60c8a27
02:21 * lue is currently planning out a proposal to Wikimedia for a "Wikiguide" project.
02:25 snarkyboojum what does something like: %r = box $I0 do?
02:26 TimToady boxes up an integer as an object
02:27 snarkyboojum box $I0 creates a PMC from an integer right...
02:27 snarkyboojum TimToady: what's the %r do in PIR?
02:28 colomon return value, isn't it?
02:28 snarkyboojum ah!
02:28 snarkyboojum colomon: cheers
02:28 snarkyboojum TimToady: cheers
02:28 colomon snarkyboojum: mind you, I'm pretty weak with PIR.  :)
02:30 snarkyboojum %r must be something to do with Q:PIR though?
02:31 colomon I think there's some subtlety there I don't get, because there's also a return in PIR.
02:31 colomon snarkyboojum: I suspect you're right about that.
02:32 snarkyboojum my goodness the "change this line, build, wait for failure" iteration is long eh? :)
02:32 colomon for sure.
02:33 snarkyboojum not good for newbies like myself
02:33 colomon it's really getting annoying.
02:33 snarkyboojum plenty of time to read documentation while waiting I guess
02:33 snarkyboojum colomon: did it always take this long, or has it become appreciably longer?
02:33 colomon I'm watching "Republic of Doyle" with my wife and a friend of ours.  Good times.  :)
02:34 colomon It's a new thing, jnthn and I have been complaining about it all day.
02:35 snarkyboojum I see.. let's hope it suddenly disappears through some flash of brilliance :)
02:37 colomon I guess I can test jnthn's theory on the source of the problem on my quadcore downstairs without interrupting development here...
02:38 snarkyboojum would be cool if stage 0 compiler could use both cores when compiling core.pm -> core.pir
02:38 snarkyboojum or perhaps it does...
02:38 snarkyboojum I think it does :)
02:38 lue snarky: I detect several Level 3 brilliance flashes near Proxima Centauri. They should be here soon...
02:40 snarkyboojum lue: about 4 light years away? :)
02:42 lue It's faster than light. Won't take that long
02:42 * sorear can't wait for stage 0 to be deleaked
02:45 lue It's called blocking the draft, and their aren't enough guys in the neighboring #parrot room to block it :)
02:46 lue There are barely enough people here on #perl6 to block this room's draft, let alone another's!
02:46 lue s/draft/drafts/
02:49 Teratogen .pir?
02:51 snarkyboojum Teratogen: Parrot Intermediate Representation - an assembly language for the Parrot VM
02:51 Teratogen thanks
02:51 Teratogen I collect file extensions =)
02:51 Teratogen and mime types
02:52 snarkyboojum then add .pasm, pir, pbc as well :)
02:52 snarkyboojum oh and .pmc :)
02:53 lue PIR is slightly higher level than assembler. PASM is parrot's assembler :)
02:54 snarkyboojum they're both assembly languages of sorts - PIR is just a higher level assembly language :)
02:55 spinclad snarkyboojum: %r becomes a $Pn register which is used as the value of the Q:PIR block.  it's not stric
02:55 Teratogen ok thanks
02:56 snarkyboojum spinclad: ah ok - cheers, so effectively the return value of the Q:PIR block?
02:56 lue there should be the .timtowtdi file (P6 related, of course, but no idea what it should contain)
02:56 jaldhar joined #perl6
02:56 spinclad *strictly a return as the Q:PIR block is inserted inline.
02:56 snarkyboojum okydoke
02:56 fridim (http://perl6.org is down)
02:57 spinclad a 'return' op within the Q:PIR block would return from the including sub.
02:57 snarkyboojum spinclad: cool - I think I even understand that! :)
02:59 lue aw, perl6.org is down :( (I am now thinking of creating a new protocol for the internet: SubEtha-Net Protocol)
03:00 lue .oO( senp://search:h2g2;term:"perl6"; )
03:06 sorear Teratogen: remember to add pmc twice - Perl6 uses it for two quite unrelated files
03:06 Teratogen ok
03:10 colomon phenny: tell jnthn You're quite right.  Compile time 5m38.086s current code, 3m1.791s with the Set.pm commit reverted.
03:10 phenny colomon: I'll pass that on when jnthn is around.
03:12 lue phenny: tell jnthn Read colomon's message. It's critical [ :P ]
03:12 phenny lue: I'll pass that on when jnthn is around.
03:13 sorear =[- 0
03:18 spinclad phenny: tell phenny to tell jnthn if we all tell phenny to tell you it must be important, no?
03:18 phenny Hey, I'm not as stupid as Monty you know!
03:18 spinclad :)
03:20 lue :O Monty Python is not stupid!
03:20 lue phenny: tell phenny it's work is appreciated
03:20 phenny Hey, I'm not as stupid as Monty you know!
03:21 spinclad Monty Haul, maybe?
03:22 lue phenny: tell lue this is getting ridiculous
03:22 phenny You can tell yourself that.
03:23 lue :D
03:23 spinclad phenny: tell me i'm pretty
03:23 phenny Hey, I'm not as stupid as Monty you know!
03:24 spinclad :(
03:24 lue phenny: Monty is not stupid!
03:24 lue phenny: tell Link to save the world
03:24 phenny lue: I'll pass that on when Link is around.
03:25 spinclad *sob* phenny thinks i'm ugly!  i bet hugme wouldn't say that!
03:25 lue that's enough abuse. :)
03:25 lue hugme: hug hugme
03:25 lue it's gone again! :(
03:26 spinclad *sob* and hugme isn't even *around*!
03:26 * spinclad breaks down completely
03:26 lue phenny: tell hugme he is needed badly
03:26 phenny lue: I'll pass that on when hugme is around.
03:27 lue lessee... any other bots we can use?
03:27 lue buubot: plugins
03:27 buubot lue: add_paste arg be bels cache_check compose conf conf_dump core define echo eval factoids farns geoip google head help host_lookup imdb its jbe jbels join karma karma_modify more nick_lookup oeis part pastebin plugins quote reload_plugins restart rss rss_title rt save_config sc2 seen shorten show_paste spell tell tfw topic unicode weather
03:28 lue buubot: google buubot
03:28 buubot lue: http://www.perlmonks.org/?node_id=731727  - meow for buubot Dec 20, 2008 ... only meant for a buubot to 'eval: ', due to the wonderful things it stuffs into $_. To be honest, the join bit was a happy accident: ...
03:29 lue hey! buubot has a karma plugin!
03:34 sorear buubot: karma TimToady
03:34 buubot sorear: TimToady has karma of 169
03:36 lue buubot: karma jnthn
03:36 buubot lue: jnthn has karma of 649
03:37 lue jnthn++ (for all the great work he does)
03:37 lue buubot: karma jnthn
03:37 buubot lue: jnthn has karma of 650
03:37 lue :O It does keep track!
03:37 lue (still)
03:37 lue buubot: karma lue
03:37 buubot lue: lue has karma of 22
03:37 lue :)
03:40 sorear buubot: karma sorear
03:40 buubot sorear: sorear has karma of 4
03:40 snarkyboojum buubot: karma pmichaud
03:40 buubot snarkyboojum: pmichaud has karma of 879
03:41 lue I would experiment more with the karma system, but that seems unethical
03:41 lue buubot: karma phenny
03:41 buubot lue: phenny has karma of 14
03:41 lue buubot: karma buubot
03:41 buubot lue: buubot has karma of 2
03:41 sorear buubot: karma buu
03:41 buubot sorear: buu has karma of 151
03:42 petdance joined #perl6
03:47 colomon phenny: tell jnthn help?  I rewrote the Actions for !op and Rop, and now it seems like != is parsing as ! =, which is causing all kinds of trouble.  What I don't understand is how this is different than what I had before in terms of grammar...
03:47 phenny colomon: I'll pass that on when jnthn is around.
03:49 araujo joined #perl6
03:49 spinclad colomon: LTM fail?  (since nqp doesn't fully LTM yet,) reorder some new alternatives?
03:50 spinclad does it seem to parse as ![=], [!]=, or two tokens?
03:51 spinclad [!]= doesn't make much sense, as ! isn't infix, but still
03:53 araujo joined #perl6
03:54 TimToady certainly != should beat a meta !
03:54 spinclad (the [!=] parse should be best match in a proper LTM, like STD i presume:  same length as the other compounds but a specific match)
03:55 spinclad TimToady: you beat me
03:55 TimToady STD doesn't look past the metaop
03:55 TimToady so ! is the longest token for a metaop
03:56 TimToady the old rakudo model was generating tokens of the whole thing, so maybe something is hanging on there
03:58 spinclad (so in !> why does it choose the metaop over bare !?  that bare ! is prefix, so not seen?)
03:58 TimToady there is no bare ! infix
03:58 spinclad right, i just worked that out
03:59 TimToady and for something like X vs Xop, it's order based
03:59 TimToady well, it was, though now we require a \S after meta X
04:00 TimToady so it always checks the meta op first now
04:01 TimToady regardless of order
04:01 TimToady (in STD)
04:01 spinclad ok, i had been thinking meta[op] was parsed as a single token for LTM purposes, even if a compound token.  i sit corrected.
04:01 TimToady used to be, but that doesn't scale
04:02 TimToady and doesn't allow recursive meta tokens
04:02 TimToady since LTM requires DFAable
04:03 sorear why does LTM require DFA?
04:03 TimToady theoretical efficiency
04:03 spinclad (well, my model had LTM chasing the recursion, but just as well not, as TimToady knows better than i.)
04:04 TimToady and maps well onto humans ideas of words
04:04 TimToady or morphemes
04:05 lue I normally enjoy theoretical things, but La Deklaroj de Nocioj Asocio (me) hasn't looked over it :)
04:06 TimToady we do have the concept of metatokens that exclude spaces though, but they're composed of tokens
04:06 spinclad hm.  i know of a fair number of languages where 'word' and 'morpheme' seem to be recursive notions
04:08 spinclad prefix + stem -> stem, stem + suffix -> stem
04:10 spinclad but those would be compounds of tokens then, if not lexicalized
04:18 spinclad the productive internal sandhi rules (that derive regular inflection, like 'worked' and 'vaxes', not 'broken' and 'vaxen') would apply to these compounds to produce the surface word forms.
04:20 spinclad it would be an interesting stretch to do this naturally in a Perl 6 grammar.
04:20 am0c joined #perl6
04:21 justatheory joined #perl6
04:36 meppel joined #perl6
04:37 eternaleye joined #perl6
05:26 p6eval joined #perl6
05:34 justatheory joined #perl6
05:52 MAK_ joined #perl6
05:57 lue hello? (it's been over an hour since the last comment...)
05:57 MAK_ Hi
05:57 lue hello o/
05:58 MAK_ Just joined and finding where to start with Perl6... Jnthn asked to read moritz's perl5 to 6 blog posts
05:59 MAK_ How in-depth will be the book which Perl6 hackers are writing currently
05:59 Exodist joined #perl6
06:00 MAK_ Will it be like taking a feature of P6 and showing how to use it in an example, and then covering all the features?
06:01 MAK_ As a suggestion it will be good if they also explained extremness of what is possible with perl 6
06:02 Exodist joined #perl6
06:03 MAK_ The 'extent' of what is possible is Perl5 really keeps perl programmers always motivated to use it
06:09 lue I cannot help you there, mainly because it's almost time to sleep :D
06:09 lue goodnight o/
06:09 TimToady it's at http://perlgeek.de/en/article/5-to-6
06:09 TimToady unfortunately perl6.org is down at the moment
06:09 TimToady but I still have old page up here :)
06:09 TimToady o/
06:12 MAK_ TimToady : Thanks :)
06:13 MAK_ The usual way of learning a language is to proceed thinking everything's right, manuals are all available
06:13 MAK_ And its all done
06:13 MAK_ In perl6 the cycle of learn-unlearn-learn is so steep
06:13 MAK_ Its real fun :)
06:14 IllvilJa joined #perl6
06:15 MAK_ After some time, reading the spec and compiler code seem to be the 'current' way of being good at perl 6
06:15 TimToady so far, and just absorbing things by osmosis here
06:16 TimToady but books are in progress
06:16 aesop joined #perl6
06:16 MAK_ In a way thats good, that helps to be a better programmer ... its good to know what magic happen inside your language compiler. Especially in case of perl...
06:18 TimToady well, the main difference between what you have to go through and what we went through over the years is you hopefully don't have to go down all the same blind alleys we did :)
06:18 MAK_ People who write these compilers and interpreters are really great, they are like 'First among equals' among all great programmers
06:19 TimToady yeah, a lot of those folks hang out here :)
06:20 agentzh joined #perl6
06:21 meppel but not awake at some places on the world
06:22 TimToady not too many Perl hackers on Tahiti :)
06:23 MAK_ TimToady: How was it even possible for you to write Perl5 in say 3 years?
06:23 TimToady I was smarter back then. :)
06:24 TimToady and also stupider...
06:24 TimToady but mostly by adding only a few minimal things, like OO
06:24 TimToady in retrospect, perhaps a bit too minimal
06:26 MAK_ I meant it was only you then and you managed it in 3 years, and with all of it ... it has almost taken a decade for 6
06:26 TimToady 6 is much more ambitious, and fixing everything that went wrong in 1..5
06:26 sorear perl 5 was never supposed to be perfect
06:26 TimToady though it doesn't look like it, p5 actually evolved from p4
06:27 TimToady there were intermediate forms that executed some instructions in the p4 engine and some in the p5 engine
06:27 sorear if Perl 6 had never backed out of bad ideas, we'd be done in 2 years
06:27 TimToady I guess the compiler was entirely new
06:27 * sorear goes and tries to find a copy of the p4 engine
06:30 MAK_ What must one learn/do get into these kind of 'great things' ,,, Is it talent, hard work , or is it just some of us too good for this kind of a job?
06:32 sorear great things?
06:32 MAK_ Perl 6 is really great
06:33 TimToady mostly it's a willingness to look at all the pain that P5 programmers were having, and willing to take lots and lots of little steps to do something about most of those pains
06:33 TimToady only with better grammar :)
06:34 TimToady "a long obedience in the same direction"
06:34 meppel people who just work can do such things. and i wont, because im a lazy victim of wealth, but i try
06:34 TimToady a willlingness to search the design space exhaustively so other people don't have to
06:35 TimToady I spent most of this morning deciding not to change two metaoperators :)
06:35 MAK_ :)
06:37 sorear and the prioritization is very painful
06:37 jhuni http://rosettacode.org/wiki/Category:Perl_6
06:38 jhuni ^^ that link is also nice for learning perl6
06:38 jhuni has perl5 code too
06:39 TimToady rakudo: say ('*' Xx 1..5) X~ "\n"
06:39 MAK_ Abstraction is the most helpfull at the same time most destructive to a programmers mind
06:40 * sorear just got out of listening to cpan:NOTHINGMUCH complaining about how "make sure type inference is actually implementable" was not given sufficient priority and how most of Rakudo/Parrot will have to be thrown out in two years because it's going to prove incompatible and there's no point in contributing now
06:40 sorear yech.
06:40 p6eval rakudo a6e9e1: OUTPUT«No applicable candidates found to dispatch to for 'crosswith'. Available candidates are:␤:(&op, Iterable $a-iterable, Iterable $b-iterable)␤␤current instr.: 'perl6;Code;assuming_helper' pc 12744 (src/builtins/Str.pir:38)␤»
06:46 TimToady I see languages that make type inference central, and these same languages tend to useful only to geniuses who can second guess the inferencer.
06:49 TimToady as an optmization to cut down the number of multi candidates, it's fine though
06:54 sorear his argument is that there is no evidence type inference can be made to work "well enough", and nobody did adequate prototyping 8 years ago when throwing out large portions of Parrot was still an option, and no working type inference means no usably fast MMD
06:55 sorear if you care
06:57 TimToady he's welcome to work on pugs :)
07:02 spinclad i'm sure complete type inference at compile time will not be possible, so at least traces of type data must remain at runtime (unlike in ML).  i don't see this as a problem.  the *more* type inference must be left for runtime, the less benefit and the worse for us, though.
07:02 TimToady hotspot optimizers can run pretty darn fast these days
07:05 TimToady anyway, I'd rather approach it from the end that allows mere mortals to understand the language; we've already got plenty of the other sort of language
07:09 sorear what is compile time?
07:09 spinclad i might try to argue that a simply-typed program is more easily understood than one where it's hard to predict the types (and easier on a hotspot analyzer too), even though understanding *that* it's well-typed is still hard.
07:09 sorear I mean, in the context of Perl 6
07:10 sorear static type analysis of a language like C is easy, the syntax just sits there
07:10 sorear Perl 6... you've got evals (which the entire module system is based on), and BEGIN (which the entire object system is based on)
07:11 spinclad sorear: i suppose it might be the time when you try to infer a plan to run, before actually running
07:11 sorear spinclad: the point of BEGIN is that there is no such thing as "before actually running"
07:12 TimToady I would point out that STD uses nothing like BEGIN yet
07:12 sorear your code is being run as soon as the first line is parsed, assuming you start your files with a use
07:13 spinclad i somewhat disagree.  the point of BEGIN is that some parts of the text have to run before you can begin really thinking about other parts
07:13 spinclad but for each piece of text, you can still plan first before running
07:14 TimToady BEGIN and eval are safety valves for when you can't do something by standard means.  part of the p6 design is to reduce the dependency on BEGIN and eval
07:14 sorear you can talk about compile times for Perl... but they're chopped into bits so small they hardly matter
07:14 sorear hmm
07:14 sorear does use still carry the full weight of BEGIN?
07:14 TimToady no
07:15 TimToady it does, in theory, run the expressions that calculate its arguments, but STD just fakes that bit currently for static lists
07:16 qiuhw joined #perl6
07:16 TimToady there are a few test files that STD can't parse currently because it doesn't run anything at compile time
07:17 TimToady but more than 99% of the .t files can be parsed statically
07:18 TimToady the only place it does anything like that is when you define a new operator, and which point it writes a bit of Moose code to derive the new grammar in P5 terms and evals that in Cursor.pmc
07:19 qiuhw left #perl6
07:21 jhuni what does the φ character do?
07:21 sorear .u φ
07:21 phenny U+03C6 GREEK SMALL LETTER PHI (φ)
07:22 TimToady it doesn't do anything unless you put it somewhere meaningful; Perl 6 certainly does not give it any special meaning
07:22 TimToady where did you see it?
07:22 jhuni http://rosettacode.org/wiki​/Fibonacci_sequence#Perl_6
07:22 sorear φ has a meaning in Perl5; it's part of an identifier
07:23 sorear it is, after all, a lowercase letter
07:23 sorear *Perl6
07:23 sorear hmm I don't think I've seen the 'constant' form
07:24 sorear anyways, phi is the mathematical symbol for the golden ratio
07:24 TimToady sure, you can use it like any other letter
07:24 TimToady rakudo: constant LUE = 42; say LUE
07:25 TimToady maybe p6eval is tired
07:25 jhuni sorear: yeah it looks like it is being used as the golden ratio =/
07:25 jhuni the syntax looks baffling though
07:26 jhuni constant φ1 = 1 / do constant φ = (1 + sqrt 5)/2;
07:27 TimToady I think the do should be unnecessary
07:27 TimToady someone is thinking  you can only have a declarator as a statement, I guess
07:27 spinclad in mathematical tradition it's the 'golden ratio', as in the constant φ just above
07:28 TimToady most of the rosetta p6 is a bit odd
07:28 p6eval joined #perl6
07:28 spinclad (oop, too late.  sorear++)
07:28 TimToady std: constant φ1 = 1 / do constant φ = (1 + sqrt 5)/2;
07:29 TimToady server is probably overloaded
07:29 p6eval std 30132: OUTPUT«ok 00:01 108m␤»
07:29 TimToady std: constant φ1 = 1 / constant φ = (1 + sqrt 5)/2;
07:29 p6eval std 30132:  ( no output )
07:29 TimToady std: constant φ1 = 1 / constant φ = (1 + sqrt 5)/2;
07:30 p6eval std 30132:  ( no output )
07:30 TimToady works fine locally
07:30 spinclad it looks like that's defining φ and 1/φ
07:31 spinclad which are good things to define
07:31 spinclad (the do is turning a statement into a value?)
07:32 TimToady rakudo: constant π = pi; say π
07:33 p6eval rakudo a6e9e1: OUTPUT«Could not find non-existent sub &π␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
07:33 TimToady alpha: constant π = pi; say π
07:34 p6eval alpha 30e0ed:  ( no output )
07:34 TimToady spinclad: yes
07:35 TimToady which is useful for things that are statement controls, like 'do given'
07:35 TimToady words in the category of 'do' are called statement prefixes
07:36 TimToady also 'try', 'gather', 'sink', etc
07:36 TimToady you'll be seeing a lot more 'gather for' than 'do for', probably
07:41 TimToady most of the phasers are also statement prefixes, syntactically
07:42 TimToady std: BEGIN say 42;
07:42 TimToady server is obviously tired
07:42 TimToady come to think of it, so am I
07:42 TimToady zzz &
07:43 spinclad in this case is constant x an expression now, and the do a fossil, or ... something else ?  /me disremembers... (/me too)
07:43 spinclad sweet dreams
07:44 p6eval std 30132:  ( no output )
07:45 TimToady all declarators are expressions now in the sense of returning whatever was declared at compile time as a value at run time
07:45 rhr joined #perl6
07:46 TimToady only statement_control words are required to occur at the beginning of a sentence, er, statement
07:46 TimToady and the inside of () etc is a statement too
07:46 TimToady really zzz &
07:47 spinclad so should we really capitalize them?
07:47 spinclad :)
07:51 fridim joined #perl6
08:04 rhr joined #perl6
08:07 snarkyboojum joined #perl6
08:07 simcop2387 joined #perl6
08:19 molaf joined #perl6
08:38 colomon phenny: tell jnthn The instance.t test for  has $.c = $.a + $.b; (line 451ish) is dying on my system.  Can't see how this is related to my latest patch, so I pushed the patch anyway.
08:38 phenny colomon: I'll pass that on when jnthn is around.
08:38 xinming What is the function name bound to ++ in perl?
08:39 colomon succ, I think?
08:39 xinming colomon: In which synopsis/
08:39 xinming ?
08:39 colomon errr, no that's not quite right.
08:39 colomon rakudo: my $a = 4; say $a.succ; say $a;
08:39 xinming colomon: IIRC, succ is correct.
08:40 xinming pugs: my $a = 4; $a.succ; say $a;
08:40 colomon I don't think .succ changes the object it is called on, it just returns its successor.
08:40 colomon > my $a = 4; say $a.succ; say $a;
08:40 colomon 5
08:40 colomon 4
08:40 colomon I think p6eval is having issues at the moment.  :(
08:41 xinming > my $a = 4; say $a++; say $a;
08:41 p6eval rakudo a6e9e1:  ( no output )
08:41 p6eval pugs: OUTPUT«*** No such method in class Int: "&succ"␤    at /tmp/8SMxSyESwL line 1, column 12-19␤»
08:41 dalek rakudo: 1c5de1c | (Solomon Foster)++ | src/core/metaops.pm:
08:41 colomon I'm not sure there is a function that does the full activity of ++
08:41 dalek rakudo: Create helper crosswith and zipwith functions that call .list on their arguments, so that single scalar arguments can be promoted to Iterables and work with the normal crosswith / zipwith functions.
08:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​c5de1cfb574e234ebb388647d64958c3788df6d
08:41 colomon other than maybe &prefix:<++>, if it exists.
08:42 colomon back to bed....
08:42 xinming my $a = 4; $a .= ++; say $a;
08:42 xinming colomon: good bed. :-)
08:44 eternaleye joined #perl6
08:49 iblechbot joined #perl6
09:23 rv2733 joined #perl6
09:36 vamped joined #perl6
09:38 vamped hi all - any one alive tonight?
09:41 vamped ok, well, no. I'll ask a question and read later if any back-logger wants to answer it.
09:42 vamped Why does Bool::False stringify to 1 ? It seems logical to me that is would stringify to "True". I'm confused.
09:42 vamped rakudo: my $x = True; say $x;
09:42 p6eval rakudo 1c5de1: OUTPUT«1␤»
09:43 sorear vamped: I'd like to know about your magic IRC system
09:43 vamped lol. yesterday. well ...
09:43 sorear it's like you're continuously tailing the backlog and only connect when you want to speak
09:44 sorear some unholy IRC/microblog gateway using Accept-Bytes, RSS, and a connection pool?
09:45 vamped I logged in to try out a command in a private window. While I was there I saw the question from the irc log.
09:46 vamped Are you spying on me? :-)
09:46 sorear No
09:46 sorear You just act weird and I'd like to steal some of your tools
09:48 vamped What is weird? I'm often reading the backlog via web browser. And I use irssi to log in.
09:48 sorear I thought you might have some ... *interesting* system
09:48 sorear based on what you did yesterday
09:48 sorear I was wrong.
09:49 vamped you mean logging in, and answering a question that was asked before I logged in? I'm experimenting with the time-traveling debugger :D
09:51 payload joined #perl6
10:07 Juerd joined #perl6
10:08 Juerd feather0 has a problem with LVM: lvs and other lv-commands don't respond anymore.
10:08 Juerd This has several effects, including that no backups have been made for the past week or so.
10:09 Juerd I want to reboot feather0 to see if that solves anything. Are there any strong objections to doing this immediately?
10:09 Juerd I might use the opportunity to attempt a Xen upgrade
10:10 Juerd (Rebooting feather0 means that all other feather* will be shut down)
10:11 vamped suppose now is probably about the least active time
10:11 dual joined #perl6
10:32 Su-Shee joined #perl6
10:37 Juerd Okay, here it goes then
10:58 M_o_C joined #perl6
11:20 TiMBuS joined #perl6
11:30 mauror joined #perl6
11:34 pmurias joined #perl6
11:40 colomon is pugscode on feather, then?  my chreck-in just failed...
11:41 moritz_ colomon: it is
11:41 iblechbot joined #perl6
11:41 colomon no big deal, I just have to remember to check in the changes later.
11:42 moritz_ same here
11:42 colomon seems like there have been a lot of exciting developments in rakudo in the last two days!
11:43 moritz_ aye
11:44 vamped btw Juerd had to take down feather0
12:02 clintongormley joined #perl6
12:07 Juerd joined #perl6
12:07 Juerd The updates for feather0 are not going too well.
12:08 Juerd It had ancient versions of everything, and even had the Debian SSL vulnerability.
12:23 moritz_ ouch
12:24 moritz_ Juerd: anything I could help you with?
12:26 moritz_ otoh I'm not familiar with LVM
12:28 payload1 joined #perl6
12:31 Juerd moritz_: The LVM issue has been resolved
12:31 moritz_ great
12:31 Juerd Now it's just fighting the differences between the ancient versions of everything, and the modern ones
12:31 Juerd And trying to remember what the tricks were
12:44 colomon does phenny run on feather?
12:45 moritz_ seems not
12:50 Juerd Anything that's still running, is definitely not running on feather :)
12:50 Juerd I hate grub.
12:51 Juerd grub1's documentation was incomplete, grub2's documentation is even worse
12:51 Juerd There's no useful documentation that comes with the package, and the official documentation is a wiki.
12:52 Juerd It's tutorialish, and I can't find reference documentation for the configuration file. For example, every entry has a "search" line. What does it do? What does it mean? What parameters can it take? I'm back to trial and error.
12:54 vamped left #perl6
12:58 wknight8111 joined #perl6
13:11 mberends joined #perl6
13:23 jnthn joined #perl6
13:23 jnthn oh hai
13:23 phenny jnthn: 03:10Z <colomon> tell jnthn You're quite right.  Compile time 5m38.086s current code, 3m1.791s with the Set.pm commit reverted.
13:23 phenny jnthn: 03:12Z <lue> tell jnthn Read colomon's message. It's critical [ :P ]
13:23 phenny jnthn: 03:47Z <colomon> tell jnthn help?  I rewrote the Actions for !op and Rop, and now it seems like != is parsing as ! =, which is causing all kinds of trouble.  What I don't understand is how this is different than what I had before in terms of grammar...
13:23 phenny jnthn: 08:38Z <colomon> tell jnthn The instance.t test for  has $.c = $.a + $.b; (line 451ish) is dying on my system.  Can't see how this is related to my latest patch, so I pushed the patch anyway.
13:24 mberends hey jnthn
13:24 jnthn Systemet has Slovak beer today \o/
13:24 jnthn mberends: How's things?
13:25 mberends nice, back in .nl for a couple of weeks. top priority is now proto
13:25 * jnthn got screen and irssi running on his own server for now, while feather is still having her updates. :-)
13:25 jnthn mberends: Cool!
13:25 * jnthn looks forward to progress on proto
13:26 jnthn mberends: Let me know what Rakudo missingness or bugs you run into.
13:26 mberends jnthn: is your own server located in Lund?
13:26 jnthn colomon: I think I know why $.c = $.a + $.b explodes - will try and fix soon.
13:26 jnthn mberends: No, it's the one that hosts jnthn.net and so forth, and lives somewhere in Germany.
13:27 mberends jnthn: yes I intend to nag about any Rakudo todo's right here
13:28 moritz_ speaking of Rakudo todos: BEGIN not working is rather ugly, because it means you can't manipulate @*INC before loading modules
13:28 moritz_ unless you resort to eval
13:28 jnthn moritz_: yeah, it stops us running a bunch of tests.
13:28 mberends moritz_: proto will work around that by using the existing directories predefined in @*INC
13:28 jnthn moritz_: I meant to fix it yesterday...but accidentally did reduction meta-ops instead.
13:29 moritz_ OH NOEZ :-)
13:29 jnthn These things happen. ;-)
13:29 moritz_ mberends: that's easy for proto, because ~/.perl6/lib was explicitly added for proto & co
13:29 jnthn OK, I need to have some nom before anything else. :-)
13:29 moritz_ erm, easy-ish
13:30 mberends moritz_: I understand. it's not ok for the general case.
13:30 jnthn Making BEGIN sort of work in a "get us tests back" is easy. Making BEGIN work a little bit more is a little trickier. Making BEGIN really really really work is very hard. :-)
13:31 justatheory joined #perl6
13:32 moritz_ akshually I'm not too concerned about tests; more about getting my modules running again :-)
13:32 moritz_ which mostly just modify @*INC, and do nothing else at compile time
13:33 mberends moritz_: can you get by with `export PERL6LIB=$HOME/lib` or so?
13:33 moritz_ mberends: I'll try that
13:34 * moritz_ tries JSON::Tiny
13:35 masak joined #perl6
13:35 masak oh hai, #perl6
13:35 phenny masak: 19 Mar 14:58Z <mathw> tell masak I'm disappointed that wasn't named enums
13:35 jnthn lolitsmasak
13:35 masak sorry about the unicode slowdown :/
13:35 jnthn masak: It's OK, not your fault.
13:36 masak has someone gotten the unicode ops to work in the evalbot?
13:36 masak otherwise, we might as well scrap them for now...
13:36 moritz_ rakudo: say 'ö'
13:36 moritz_ rakudo: say 'ö'.chars
13:37 p6eval rakudo 0bb373: OUTPUT«ö␤»
13:37 p6eval rakudo 0bb373: OUTPUT«1␤»
13:37 * Juerd expects a plural named method to return a list :(
13:37 moritz_ why shouldn't Unicode ops work in p6eval?
13:38 colomon masak: Set.pm has devastated the compile speed of Rakudo.  (see backlog)
13:38 * colomon is off to get junk out of the house...
13:38 masak rakudo: say 1..3 ∪ 2..5
13:38 masak colomon: yes, I saw that. hence the 'sorry!' :(
13:39 p6eval rakudo 0bb373: OUTPUT«Confused at line 11, near "say 1..3 \u222a"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
13:39 masak moritz_: I don't know, why shouldn't it?
13:39 ruoso joined #perl6
13:39 masak why doesn't it?
13:40 moritz_ because it doesn't like the same locally either?
13:40 * masak doesn't understand that answer
13:41 moritz_ locally the line you tried on p6eval doesn't work either
13:41 moritz_ why should it work on p6eval?
13:41 moritz_ let's ask differently: what makes you think that p6eval is to blame, and not rakudo?
13:41 masak I guess I'm not complaining about p6eval, really.
13:41 moritz_ ok
13:41 moritz_ then I parsed you wrongly :-)
13:42 masak I'm wondering why, after I defined that infix operator, it doesn't work?
13:43 masak this question is part of a line of questioning that might eventually lead to me removing the unicode operators from Set.pm.
13:43 jnthn Do any of them work?
13:43 masak but I just want to get the facts first.
13:43 moritz_ if I define infix:<∪> in an ordinary perl 6 source file, I have no problems with it.
13:43 moritz_ rakudo: sub infix:<∪>(@a, @b) { @a, @b };
13:43 jnthn ah, no, they won't
13:43 p6eval rakudo 0bb373:  ( no output )
13:43 moritz_ rakudo: sub infix:<∪>(@a, @b) { @a, @b }; say (1, 2, 3) ∪ (2, 3, 4, 5)
13:44 p6eval rakudo 0bb373: OUTPUT«1232345␤»
13:44 jnthn masak: For now (see operators.pm) operators should be marked as "our"
13:44 jnthn masak: our multi ...
13:44 masak jnthn: ok. fixing.
13:44 abra joined #perl6
13:44 jnthn masak: We don't really have the whole lexical thing with settings straightened out yet.
13:48 moritz_ rakudo: say chr(:16('FE'))
13:48 p6eval rakudo 0bb373: OUTPUT«Confused at line 11, near "say chr(:1"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
13:49 dalek joined #perl6
13:51 Juerd joined #perl6
14:00 jnthn Juerd++
14:00 Juerd :)
14:01 masak \o/ Juerd++
14:03 moritz_ perl6.org seems to be back, not sure yet about pugs svn
14:03 moritz_ yes, works but slow
14:05 fridim joined #perl6
14:07 moritz_ somehow we have a huge load average, but no CPU usage
14:07 Juerd Let's see
14:08 Juerd Must be the backup that's running
14:08 moritz_ that would explain a lot
14:08 Wolfman2000 *yawn* ...how did the bug get named Camelia anyway?
14:09 Juerd Normally the level 0 (full) backup is done much earlier on Saturday.
14:09 masak Wolfman2000: the Camel is named 'Amelia'.
14:09 TimToady Wolfman2000: you would have to ask her parents
14:10 Wolfman2000 TimToady: I don't even know who her parents are.
14:10 Wolfman2000 The website seems to indicate a sister, but that's it.
14:11 Juerd Hm, something's wrong though
14:11 Juerd The backup's going at 2 MB/s
14:12 moritz_ and that's... too fast? or too slow?
14:12 Juerd But I don't want to cancel it. It's the first backup in two weeks
14:12 Wolfman2000 too slow I think moritz_
14:12 Juerd That's too slow
14:12 Juerd We'll have to deal with the lack of IO bandwidth for now. I want this backup to finish.
14:12 smash_ joined #perl6
14:13 smash_ hello everyone
14:13 * moritz_ heads to town, and will re-run his 'git svn dcommit' when he's back, if it fails...
14:13 Juerd NB: anything you do on feather's filesystem will only make it worse :P
14:14 Juerd This might not be a good time to build stuff
14:16 Juerd That's no reason to ping timeout though!
14:17 Wolfman2000 So how has Perl 6 been evolving lately?
14:17 Wolfman2000 I'm a bit out of the loop
14:18 TimToady added a Z metaoperator to go with X
14:18 TimToady since people keep asking for zipwith
14:18 Wolfman2000 Tiems like this I forgot what X did.
14:18 TimToady cross
14:18 Wolfman2000 ...right, cross multiply
14:18 Wolfman2000 matrix math
14:18 TimToady or cross anything else
14:19 TimToady rakudo: say ('*' Xx 1..5) X~ "\n"
14:19 p6eval rakudo 0bb373: OUTPUT«Cannot resume dead coroutine.␤current instr.: 'perl6;GatherIterator;get' pc 427377 (src/gen/core.pir:67628)␤»
14:19 TimToady oops :)
14:19 TimToady rakudo: say ('*',() Xx 1..5) X~ "\n",()
14:19 p6eval rakudo 0bb373: OUTPUT«Cannot resume dead coroutine.␤current instr.: 'perl6;GatherIterator;get' pc 427377 (src/gen/core.pir:67628)␤»
14:20 TimToady alpha: say ('*',() Xx 1..5) X~ "\n",()
14:20 p6eval alpha 30e0ed: OUTPUT«*␤**␤***␤****␤*****␤␤»
14:20 TimToady (the example from rosettacode)
14:20 TimToady alpha: say ('*' Xx 1..5) X~ "\n"
14:20 p6eval alpha 30e0ed: OUTPUT«*␤**␤***␤****␤*****␤␤»
14:21 Wolfman2000 alpha's the new bot?
14:21 TimToady rakudo: say ('a'..* Z~ 1..*).batch(26).perl
14:21 p6eval rakudo 0bb373: OUTPUT«("a1", "b2", "c3", "d4", "e5", "f6", "g7", "h8", "i9", "j10", "k11", "l12", "m13", "n14", "o15", "p16", "q17", "r18", "s19", "t20", "u21", "v22", "w23", "x24", "y25", "z26")␤»
14:21 TimToady alpha is the old Jan release
14:22 TimToady we are still recovering from the ng merge, which is new master
14:22 TimToady but as you see above, supports laziness now
14:22 TimToady either of the ..* ranges would have blown up old rakudo
14:22 Wolfman2000 without going into infinite hell. I think the batch() sub helps with that.
14:22 arnsholt rakudo: say ('a'..*).batch(27).perl
14:22 p6eval rakudo 0bb373: OUTPUT«Method 'batch' not found for invocant of class 'Range'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:23 Wolfman2000 rakudo: say ('a'..* Z~ 1..*).perl
14:23 p6eval rakudo 0bb373: OUTPUT«GatherIterator.new()␤»
14:23 TimToady that's leakage that we'll probably plug
14:23 TimToady it will eventually probably just say List
14:24 * masak for one welcomes our new ng master
14:24 TimToady it's cleaner in several ways
14:24 masak yes, please. List.
14:24 Wolfman2000 been awhile masak
14:24 TimToady and yes, I was one of the people who voted for switching even with the regressions :)
14:24 masak Wolfman2000: yo sup
14:25 * masak effectively hasn't switched yet
14:25 Wolfman2000 life has been crazy so far...no longer capable of being a high school teacher, I'm falling back into my computer science ways. First...I have to improve my C++ skills to at least be competent enough to program in it. I believe my future in grad school will require it.
14:25 TimToady the dead coroutine seems to be a new failure mode
14:27 Wolfman2000 Does Perl 6 at least compile on...well, lesser machines better now? Could I compile on a VM with 512 MB ram without it hanging up?
14:27 TimToady rakudo: say ('a'..* X~ ^9).batch(26).perl
14:27 jnthn TimToady: It's the first time I've seen it.
14:28 masak anybody seen this before? http://www.amazon.de/o/ASIN/3827329442/amazo​nbooks05-21/ref=nosim?newgoozT=2010033&amp;u​tm_source=twitterfeed&amp;utm_medium=twitter
14:28 p6eval rakudo 0bb373:  ( no output )
14:28 TimToady it seems to be from a change that happened in the last 6 hours
14:28 dalek joined #perl6
14:28 TimToady Wolfman2000: last I heard, parrotfolk were still chasing down the bug that causes excessive memory consumption in the compiler
14:28 TimToady but I haven't backlogged yet
14:29 Wolfman2000 so I basically have to hope my feather account is still good
14:29 Juerd Why would it not be?
14:29 jnthn masak: Nein.
14:29 Wolfman2000 Juerd: inactive for quite some time
14:29 jnthn masak: The cover is surreal.
14:29 Juerd Wolfman2000: feather accounts don't expire
14:29 Juerd They should, perhaps.
14:29 Wolfman2000 :P
14:30 masak jnthn: have you heard about the author before?
14:30 synth joined #perl6
14:30 jnthn masak: No
14:31 * masak grows curious
14:31 TimToady rakudo: 1..10 X~ 'a'
14:31 TimToady rakudo: 1..10 X~ 'a'
14:31 [synth] joined #perl6
14:31 p6eval rakudo 0bb373:  ( no output )
14:31 p6eval rakudo 0bb373:  ( no output )
14:31 masak moritz_, lichtkind, Su-Shee: have *you* heard about Alvar Freude before?
14:32 jnthn Einstieg in Perl 6 => Starting in Perl 6?
14:33 Juerd Einstieg => Entry
14:33 masak "Fall into the well of Perl 6 knowledge" :P
14:34 Juerd I've met Alvar at a GPW if I recall correctly.
14:34 masak oh, ok.
14:34 arnsholt Nice metaphor masak. Perl 6 is the language you cannot escape ^^
14:35 masak arnsholt: not unless your escape velocity is large enough from the beginning, I guess.
14:36 stuart02 joined #perl6
14:37 masak got a tip from a twitterer. http://twitter.com/arafatkamaal/status/10774419044
14:37 masak it's a good one, yes? including the Advent posts with the Rakudo Star distro.
14:38 masak it's not my call, but I kinda like the notion.
14:38 jnthn Interesting diea.
14:38 jnthn *idea
14:38 bbkr rakudo: grammar X {}; X.new.^methods
14:38 p6eval rakudo 0bb373: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;ClassHOW;WHAT' pc 4874 (src/metamodel/ClassHOW.pir:640)␤»
14:38 bbkr bug?
14:39 masak yes.
14:39 masak but .^methods has been doing a lot of that lately.
14:39 bbkr already known?
14:39 masak not just for grammars.
14:39 bbkr ok, thanks.
14:39 arnsholt masak: I like the idea. Maybe include them as POD as well, with one post per file?
14:39 masak bbkr: poke jnthn until he solves it :P
14:39 jnthn :-P
14:40 masak arnsholt: aye. sounds good.
14:41 masak moritz_++ # closing a lot of tickets
14:41 masak rakudo: say 1..3 ∪ 2..5
14:41 p6eval rakudo 0bb373: OUTPUT«Confused at line 11, near "say 1..3 \u222a"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
14:41 masak so how come after I added 'our' to all the multi infix ops, the above still doesn't work? :/
14:42 jnthn masak: Locally or on p6eval?
14:43 TimToady anywhere
14:43 masak jnthn: it works on neither.
14:43 jnthn ah.
14:43 masak rakudo: say Set.new(1,2,3).union([2..5]).perl
14:43 masak that works.
14:43 p6eval rakudo 0bb373: OUTPUT«Set.new(1, 2, 3, 4, 5)␤»
14:44 jnthn masak: Oh. I think I know why.
14:44 masak (again) :)
14:44 jnthn But it's not something in your code this time.
14:44 masak rawr!
14:44 jnthn Something in the user defined ops stuff.
14:44 bbkr rakudo: grammar CSV { has Str $.sep }; say CSV.new(sep => ",").sep
14:44 jnthn Well, I did finish that patch up at 3am. :-P
14:45 p6eval rakudo 0bb373: OUTPUT«Any()␤»
14:45 bbkr hmm, why "Any()" ?
14:45 masak bbkr: it's the new 'undef'
14:45 jnthn masak: Yes, but shoulda been Str.
14:45 masak o.O
14:45 jnthn erm, shoulda been "," actually
14:45 jnthn masak: Typed attribute.
14:45 * masak submits rakudobug
14:45 jnthn rakudo: my $tr $x; say $x
14:45 p6eval rakudo 0bb373: OUTPUT«Confused at line 11, near "my $tr $x;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
14:46 jnthn rakudo: my Str $x; say $x
14:46 TimToady masak: there's a note about reverting Set in the backlog
14:46 p6eval rakudo 0bb373: OUTPUT«Str()␤»
14:46 masak TimToady: haven't finished backlogging yet. thanks, will check.
14:46 * jnthn hides to work on BEGIN for a little bit.
14:47 masak rakudo: class A { has Str $.b }; say A.new().b.WHAT
14:47 p6eval rakudo 0bb373: OUTPUT«Any()␤»
14:50 dalek joined #perl6
14:52 masak colomon: uniq may well use a Hash underneath -- though not optimal, that's still better than using a Hash attr, which coerces all the set members to Str.
14:52 masak TimToady: not finding anything about reverting, just notes about the slowdown.
14:53 masak oh! there are the time comparisons, of course, testing with and without Set.pm.
14:53 masak I'm happy about leaving out the unicode ops for Set.pm, either for now or forever.
14:54 masak maybe they belong in a module.
14:54 Juerd use ☃;
14:54 masak *especially* if they don't work and the fault isn't in my code. :P
14:55 masak Juerd: :P
14:55 stuart02 left #perl6
15:03 jnthn rakudo: my $x = BEGIN { 3 }; say $x;
15:03 p6eval rakudo 0bb373: OUTPUT«error:imcc:syntax error, unexpected ')' (')')␤     in file 'EVAL_1' line 73␤No applicable candidates found to dispatch to for '&infix:<=>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
15:03 jnthn Wow!
15:03 * masak perks up
15:03 jnthn :-)
15:04 jnthn masak: Am hacking on BEGIN at the moment. :-)
15:04 drbean joined #perl6
15:04 jnthn Was curious what happened if you tried that though.
15:04 masak jnthn: yes. that's the *only* reason I'm hesitating.
15:04 jnthn Got an idea that should get us good enough BEGIN.
15:04 jnthn Or at least, more functional than in alpha.
15:04 masak so, you're saying this'll be fixed today...?
15:04 jnthn Well
15:04 masak :)
15:04 TimToady masak: I possibly misread http://irclog.perlgeek.de/​perl6/2010-03-20#i_2127357 as referring to the repo
15:04 jnthn I'm just compiling the patch I wrote as a first cut at the moment.
15:05 jnthn But I highly doubt I'll have got it right first time.
15:05 masak TimToady: ok. I'm seriously considering removing the unicode ops anyway, because their only function right now is to slow down the build. :)
15:07 TimToady well, and we do have a mild policy toward Latin-1 still
15:07 TimToady so they probably don't belong in the setting
15:08 Wolfman2000 I thought we already moved to UTF-8. :(
15:08 TimToady they're fine with 'use Set'
15:08 TimToady 'course the mathematicians will claim that sets are fundamental :
15:08 TimToady :)
15:09 TimToady and S02 does mention Set...
15:10 TimToady and I would certainly like to see the day come when Unicode ops are acceptable to most people
15:10 Wolfman2000 Then why not start now?
15:10 masak I wouldn't complain if the unicode ops were a pragma away. but I'm ready to fight for them not being further away than that :P
15:10 * masak removes them for now
15:11 mj41 joined #perl6
15:11 TimToady a pragma that turns on all optional unicode ops in various modules would be kinda cool
15:11 masak aye.
15:11 jnthn TimToady: Guess it's something the importer could help with, maybe...
15:11 TimToady just need a different verb: 'abuse Set'
15:12 TimToady pwn Set
15:13 masak rakudo: [1,2,3] (|) [2,3,4]
15:13 p6eval rakudo 0bb373: OUTPUT«Confused at line 11, near "[1,2,3] (|"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
15:13 masak there's still way too much confusion... :(
15:13 TimToady std: [1,2,3] (|) [2,3,4]
15:13 p6eval std 30137: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/1WTuzEJUWE line 1:␤------> [32m[1,2,3] [33m⏏[31m(|) [2,3,4][0m␤    expecting any of:␤      bracketed infix␤  infix or meta-infix␤      statement modifier loop␤FAILED 00:01 109m␤»
15:14 masak TimToady: yes, but I defined a few Set operators in src/core/Set.pm...
15:14 TimToady well, we are reserving () for Texas set ops
15:15 masak ...which is what I defined them to do.
15:15 masak only with a bit of coercion for Arrays and Hashes.
15:15 masak um, Positional and Associative, I mean.
15:15 TimToady what precedence?
15:16 masak good question. default, I guess.
15:16 TimToady can argue them anywhere from arithmetic to list infix
15:16 TimToady if list infix, then 1,2,3 (|) 2,3,4
15:16 masak aye.
15:17 masak that does kinda make sense.
15:17 TimToady gotta run off for a bit
15:17 TimToady bbl &
15:17 meppl joined #perl6
15:18 MAK_ joined #perl6
15:18 dalek joined #perl6
15:20 jnthn masak: The problem is that the parser tweaks aren't persisted.
15:20 MAK_ Joined the discussion a bit late
15:20 MAK_ I think we must go with the pdf
15:21 masak MAK_: no reason we can't do both.
15:21 masak jnthn: ok. so eventually someone'll fix that and it'll work?
15:22 MAK_ Hmmm ... yeah in a way pdf is a lil better because of all the decoration, font magic and colorfull stuff that goes along with it
15:23 masak MAK_: true. then again, some people like to read POD.
15:23 MAK_ Actually had a small chat with TimToady today in the morning
15:24 MAK_ For most new comers like me, the only way to be good perl 6 curently is to start with some brisk reading and then ...
15:24 MAK_ ... read the compiler source for more information
15:25 masak I agree to the extent that it's not always easy to find accurate and up-to-date information.
15:25 jnthn masak: Eventually
15:25 jnthn ;-)
15:25 MAK_ That isn't too good considering all that bad PR we have currently
15:25 masak but I was a newcomer two years ago, and I didn't have to read compiler source to write a wiki engine.
15:26 jnthn masak: Given that I wasn't convinced I'd be able to figure how to do user defined ops at all quickly, doing something that worked at all in the space of an evening wasn't bad progress. :-)
15:26 masak MAK_: there's some point at which 'bad PR' just begins to feel like a fact of life, something which you'll have to live with and work in spite of.
15:26 MAK_ But then, All programmers are not 'masak'  :)
15:26 masak jnthn: I understand. kudos.
15:27 masak MAK_: oh, I'm not claiming to be special in any way. :) just very persistent.
15:27 masak MAK_: unlike jnthn's operators :P
15:27 MAK_ masak: Bad PR is ok, unless it becomes an existential threat :)
15:28 MAK_ This weak had a chat with a group of friends and told them all about Perl6
15:28 masak MAK_: overall, I think the PR coming through Twitter has turned from 'abysmal' to 'bad' in a year or so. give us one more year. :)
15:29 MAK_ After explaining all the features they went to the internet did some searching... and ask the penultimate question of  the 'release date'
15:29 MAK_ No amount of explaining from my end did the job
15:30 masak Perl 6 was released in 2005.
15:30 masak the implementation was called Pugs.
15:30 MAK_ how will you convince them? according to most of them a release means a executable, a manual and some libraries
15:31 MAK_ with a release number :)
15:31 masak Pugs had all of those.
15:31 masak it had numerous releases.
15:31 Juerd For some values of manual...
15:31 masak sure.
15:31 drakej joined #perl6
15:31 masak the point still stands.
15:31 jnthn manual as in your have to work hard at it?
15:31 jnthn ;-)
15:32 masak no, it came with a Manuel, a waiter from Barcelona.
15:32 jnthn Oh! That guy. He brought me a donkey with my toast.
15:32 MAK_ people who feel passionately about perl understand this argument, but not all... unfortunately such people are in majority
15:34 MAK_ Coming to the original discussion, about the book
15:34 MAK_ Today morning I came with another idea
15:35 MAK_ One way for the book is to demonstrate a feature with an example and then show all features that way
15:35 MAK_ Another point is it must also be shown the 'extent' of what all is possible
15:37 MAK_ Most choose a language and see how its different from others? Will it give me something new?
15:37 MAK_ What is possible using this which is not possible with my existing one?
15:38 Wolfman2000 MAK_: defining subtypes with strict conditions?
15:39 Wolfman2000 I don't recall the syntax, but I believe you can make an Even subtype of Int that forces all numbers to be divisible by 2.
15:39 MAK_ If we explain the usual the if-else, exceptions and normal stuff which the already know! They have no compelling reason to like perl 6
15:40 am0c joined #perl6
15:40 MAK_ Wolfman2000: yes something similar, but more giving them a direction in which they explore more along with the current ones
15:42 MAK_ Hmmm ... its like those 'Thinking in Java' kind of books
15:44 synth joined #perl6
15:44 [synth] joined #perl6
15:48 masak rakudo: subset Even of Int where { $_ !% 2 }; my Even $a = 4; say $a; $a = 5; say $a
15:48 p6eval rakudo 6b14e9: OUTPUT«4␤Type check failed for assignment␤current instr.: '&die' pc 16935 (src/builtins/Junction.pir:399)␤»
15:49 MAK_ Demonstrating how we are different may also to some extent explain why we are late :-)
15:49 jnthn We're late? :-)
15:49 * masak isn't late
15:50 MAK_ Actually we are not late, but are percieved as late. But then what is the difference between both?
15:51 jnthn woo, BEGIN and modifying @*INC seems to work :-)
15:51 masak MAK_: the difference is that we can do a lot to change the actual state of affairs, not much to change all manner of perceptions people have.
15:52 MAK_ That is exactly my point and the book can be used to send that message
15:53 masak aye. just as the Advent Calendar sent a clear message in December.
15:54 MAK_ Showing all the magic what perl 6 can do, can send a good message and hopefully attract good PR
15:55 MAK_ Its like Micheal schumacher showing the actual use of Ferari
15:58 masak another thing that would send a good message is actual working Perl 6 applications.
16:01 MAK_ I think the basic problem is the spec-implementation matching people do, if only the implementation and its documentation were to be exposed they will more than happy
16:01 MAK_ And will also accept the release with any amount of bugs
16:01 masak 'the release'?
16:01 masak the one in 2005?
16:02 lue buubot: karma masak
16:02 buubot lue: masak has karma of 373
16:03 MAK_ 'the release' of 2005 had a word like 'development release' some where in middle of release announcement... and that appears like an oxymoron
16:03 masak 'development' is not the opposite of 'release'.
16:04 MAK_ In theory is yes, but 'development' is the same as 'not good for production' and that more less is the opposite of a 'production release'
16:04 MAK_ again we may understand but most do not
16:06 MAK_ I explained my friends how python managed to make a modest revision in EIGHT years
16:06 masak MAK_: here's the release announcement for Pugs 6.0.0. it does not contain the word 'development'. http://www.mail-archive.com/perl6​-compiler@perl.org/msg00160.html
16:07 lue anyone interested in programming ought to know the meaning of "development release" :)
16:09 MAK_ is that perl 6.0 or pugs 6.0?
16:09 MAK_ :) I think there's a difference
16:09 masak it's Pugs 6.0.0. it was a release of a Perl 6 implementation.
16:10 MAK_ complete perl 6 implementation?
16:10 masak not nearly.
16:11 masak all I'm saying is, in the manner of the "No True Scotsman" fallacy, as soon as I convince people that Perl 6 actually *has* releases, and has had them for five years now, people start talking about completeness instead of releases.
16:12 jnthn Not True Scotsman would confuse the two!
16:12 jnthn They'd be too busy drinking whisky.
16:12 MAK_ so again we can go on speaking, but as you suggested we can forget all that and tell the world here is Perl 6, implementation name Raudo, here's the docs, here's CPAN and perl monks
16:13 lue Rakudo has releases. P6 evolves. (that's how I see it)
16:13 masak I'm not suggesting we should forget or try to conceal the way things are. by and large, things are very bad. we're greatly understaffed.
16:13 masak we need more people.
16:13 masak we get that through attracting interested developers.
16:13 masak we do that through being interesting.
16:13 masak Perl 6 is interesting. it's just a matter of telling people in a way that attracts them.
16:14 MAK_ masak can you tell me how many contribute to the perl 5 interpreter and how many to CPAN? If there is difference then why?
16:14 lue "Use it, and you'll go to....HEAVEN! (haaa-lelujah! haaa-lelujah!)"
16:14 jnthn Finally!
16:14 jnthn > say BEGIN { say "omg BEGIN!"; 42 }; INIT { say "oh man, great INIT!" };
16:14 jnthn omg BEGIN!
16:14 jnthn oh man, great INIT!
16:14 jnthn 42
16:15 masak MAK_: are you referring to the difference in compiler skills needed for the two?
16:15 MAK_ exactly thats my point
16:15 lue jnthn++ \o/
16:15 masak MAK_: if so, I agree whole-heartedly and immediately.
16:15 masak MAK_: also, I hope I haven't said anything to the contrary so far.
16:15 hercynium joined #perl6
16:15 masak MAK_: we need both kinds, especially the CPAN kind.
16:15 jnthn mberends: BEGIN with modifying @*INC also works as well as the above; I've tried BEGIN then a use shortly after it and it looked in the folder suggested. :-)
16:15 MAK_ You feel understaffed but I feel underqualified
16:16 rv2733 left #perl6
16:16 masak MAK_: aye. and many people would, rightly or no.
16:16 masak MAK_: I've felt that way for a long time, and still do at times. :)
16:16 jnthn MAK_: There's lots of ways to help with Perl 6 besides compiler guts. :-)
16:16 MAK_ Before coming #perl6 I thought of like 10 times
16:16 lue masak, MAK_: so do I, and I've contributed! :D
16:17 MAK_ that i may something stupid
16:17 MAK_ *say something stupid*
16:17 masak I accidentally something stupid. many times.
16:17 * jnthn accidentally the whole stupid.
16:17 masak :)
16:17 moritz_ masak: re Alvar Freude, yes, heard of him, talked to him
16:18 masak moritz_: ok, cool. I'm curious about the book.
16:18 lue Oh don't worry about. We here at #python accept anybody!
16:18 lue D'oh!
16:18 MAK_ In short, So the book is very important... as important R* itself
16:18 moritz_ masak: which book? sorry, I'm out of context
16:18 masak lue-- # too accepting :)
16:18 MAK_ Please dont release R* without the book
16:18 MAK_ else we will be back to square one
16:18 masak moritz_: http://www.amazon.de/o/ASIN/3827329442/amazo​nbooks05-21/ref=nosim?newgoozT=2010033&amp;u​tm_source=twitterfeed&amp;utm_medium=twitter
16:19 lue It was an accident! :)
16:19 masak lue: you accidentally #python? :P
16:19 lue I'm sorry for saying something stupid! *sob* [ :) ]
16:19 MAK_ Is that in german?
16:19 moritz_ MAK_: it is
16:19 masak moritz_: because I'd sure like how to develop robust, lasting and efficient code in Perl 6 :P
16:19 moritz_ masak: oh, didn't know about that one
16:20 masak s/like/like to know/
16:20 jnthn masak: Me too...does it have a chapter on writing compilers too? :-)
16:20 masak jnthn: there's a CD... :)
16:20 jnthn oooh!
16:20 MAK_ Please add that one...
16:20 MAK_ CD = compiler development ??? :)
16:21 masak :)
16:23 lue CD = Corrupt Demeanor :)
16:25 masak MAK_: my usual conclusion from broodings over how to get people to pay more attention (and attention of the right kind) to Perl 6, is that I'd better write more Perl 6 code, to smoke out more Rakudo bugs, encourage spec development in weak areas, and find new ways to express oneself with Perl 6.
16:26 lue As soon as I can (and feel like it), I'd love to start coding a P6 NES emulator to prove the laziness of P6 :)
16:26 lue For many graphical applications, you don't need extra modules. If you want Qt, just import the C/C++ Qt libraries! \o/
16:26 MAK_ masak: how did you learn the language without the documentation?
16:26 masak lue: I think you'd soon find that there are too many instructions in your time units. :(
16:27 moritz_ MAK_: most of us read example code, the synopsis, #perl6 discussions etc
16:27 masak er, the other way around.
16:27 moritz_ differences to Perl 5 and so on
16:27 masak too many time units in your instructions.
16:27 MAK_ @moritz_: how  much time did it take you to do all that?
16:27 masak MAK_: long ago, I started with the Apocalypses. then I read the Synopses. (they were largely incomprehensible). then I started coding. that really helped.
16:28 masak MAK_: you can start coding today. it really helps.
16:28 lue ...my time units?
16:28 MAK_ I guess it has taken you years to get where you are
16:28 masak lue: what I want to say is that I think Rakudo is too slow for that. :(
16:28 moritz_ MAK_: I started with Perl 6 in Feb 2007, if that's your question
16:28 masak lue: mberends++ found that Rakudo was too slow for his Pod emitter.
16:29 moritz_ MAK_: there's no point in time when you can say "now I know Perl 6"
16:29 masak MAK_: I got involved in 2005, and really involved in 2008.
16:29 lue exactly why I can't. :(
16:29 dalek rakudo: 6c8737c | moritz++ | src/Perl6/Grammar.pm:
16:29 dalek rakudo: parse postcircumfixes with the ~ generator, inspired by betterworld++
16:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​c8737c735439151016b92d3110232414f7b3ac2
16:29 masak MAK_: so, yes, it's taken me years. much of what we're doing with tutorials and the book is to shorten that time for other people.
16:30 MAK_ :) the role of book is so much here
16:30 masak MAK_: but documentation/tutorials quickly grow stale, and they're a lot more work than they might first seem to create.
16:30 lue When all of Rakudo is in P6, does it really need to be a part of Parrot? I know that's what it is based on, but I've never liked virtual machines.
16:30 MAK_ You are gifting your 5 years to people
16:31 moritz_ lue: it needs to run on something. That something is parrot right now
16:31 moritz_ lue: of course you can write a machine code emitter if you're a masochist
16:31 mj41 rakudo: say "hezky česky";
16:31 p6eval rakudo e759b5: OUTPUT«hezky česky␤»
16:31 lue I know. Hopefully though, there's a day when it doesn't have to. I've never had a good time with virtual machines.
16:31 lue ever.
16:32 MAK_ How big would the book be? say in pages?
16:32 lue a machine code emitter would compile the P6 to actual machine code for the computer, as opposed to parrot bytecode, right?
16:32 jnthn huh wtf...
16:33 jnthn eval_lives_ok q[BEGIN {class Level1::Level2::Level3 {};}; class Level1::Level2 {};], 'RT 62898';
16:33 jnthn How is that not going to die from a class redeclaration error?
16:33 jnthn oh, wait
16:33 jnthn I see it
16:33 jnthn sorry
16:33 skim joined #perl6
16:33 * jnthn can't read today :-)
16:33 masak MAK_: it's a bit too early to know how big the book will be. I doubt it'll exceed 300 pages. :)
16:33 mj41 rakudo: say "hezky česky";
16:33 p6eval rakudo e759b5: OUTPUT«hezky česky␤»
16:33 mj41 rakudo: say „hezky česky“;
16:33 p6eval rakudo e759b5: OUTPUT«Confused at line 11, near "say \u201ehezky"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:34 MAK_ You can all of Perl 6 and what is possible with in 300?
16:34 skim mj41: :D
16:34 lue A good book on P6 would (obviously) be 6 pages long :)
16:34 masak MAK_: I don't know all of Perl 6. neither will the book try to explain all of Perl 6.
16:34 Juerd Or 36, or 216...
16:34 masak :)
16:35 MAK_ 6 pages long table of contents?
16:35 MAK_ :)
16:38 masak std: my @array = 1, 2, 3; say @array.min:{ $^a <=> $^b }
16:39 p6eval std 30138: OUTPUT«ok 00:01 109m␤»
16:39 masak rakudo: my @array = 1, 2, 3; say @array.min:{ $^a <=> $^b }
16:39 p6eval rakudo e759b5: OUTPUT«Method 'min:{ $^a <=> $^b }' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
16:39 masak seems it's parsing the block as part of the method name.
16:39 lue rakudo: loop(my $i=0;$i<=10;$i++){say 6**$i;}; #possible # of pages
16:39 p6eval rakudo e759b5: OUTPUT«Whitespace required after 'loop' at line 11, near "(my $i=0;$"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:39 lue rakudo: loop (my $i=0;$i<=10;$i++){say 6**$i;}; #possible # of pages
16:39 p6eval rakudo e759b5: OUTPUT«1␤6␤36␤216␤1296␤7776␤46656␤​279936␤1679616␤10077696␤60466176␤»
16:39 jnthn masak: heh
16:39 masak lue: bareword followed by opening paren is almost always a function call in Perl 6.
16:40 masak lue: the exception (that I know of) being routine declarations.
16:40 MAK_ Good night all
16:40 masak MAK_: 'night
16:40 moritz_ :foo('bar') is also not a sub call :-)
16:40 MAK_ Its getting late in the night... need to go to sleep
16:40 moritz_ good night
16:40 masak jnthn: it's not a new bug. I'm going through the April List.
16:40 masak moritz_: but I don't consider that a bareword.
16:42 moritz_ colomon: can I bribe you to port the :16($hex_number) notation from alpha to master?
16:42 colomon with what?  ;)
16:43 moritz_ colomon: that's a good question... want to visit the Bardentreffen in Nürnberg? Open Air music festival - I could offer you accomodation in reasonable close distance
16:44 masak rakudo: say for 1..3
16:44 p6eval rakudo e759b5: OUTPUT«␤␤␤»
16:44 * masak submits rakudobug
16:44 moritz_ 30. July to 1. August
16:44 masak std: say for 1..3
16:44 p6eval std 30138: OUTPUT«Potential difficulties:␤  Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/iXsDyQx6Hc line 1:␤------> [32msay[33m⏏[31m for 1..3[0m␤ok 00:01 106m␤»
16:44 colomon moritz_: A kind offer, but my long distance traveling is going to be sadly limited for a while until my bank account regenerates post-move.
16:45 colomon A virtual cider or single malt would be fine.
16:45 colomon Of course, that's assuming I can figure out how to do it.  Does it parse yet in master?
16:45 moritz_ colomon: then a virtual $beverage-of-your-choice, with the option of a real one if we ever meet in person
16:45 jnthn masak: I hope you expected that to fail to compile :-)
16:45 moritz_ rakudo: say :16(10)
16:45 p6eval rakudo e759b5: OUTPUT«Confused at line 11, near "say :16(10"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:45 masak jnthn: no, why?
16:45 moritz_ alpha: say :16(10)
16:46 p6eval alpha 30e0ed: OUTPUT«16␤»
16:46 jnthn masak: oh, std only says it's a "potential difficulty" :-/
16:46 jnthn It used to be an error.
16:46 jnthn :-/
16:46 masak it used to, yes.
16:46 moritz_ alpha: my $x = 20; say :16($x)
16:46 masak I suspect moritz_'s lobbying helped :)
16:46 p6eval alpha 30e0ed: OUTPUT«32␤»
16:46 jnthn BEGIN patch pushed.
16:47 jnthn Not everything, but more than alpha could handle.
16:47 masak \o/
16:47 dalek rakudo: 7ccf148 | jonathan++ | src/ (3 files):
16:47 dalek rakudo: Start to get BEGIN more functional again. This should make it at least a bit more functional than alpha's one; it does run during the compile (like alpha) and will get run at the start of pre-compiled modules loading too (but has stuff to prevent dupe runs in parse + load). Notably, it also handles keeping computed values around, so my $x = BEGIN { 42 } also works.
16:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​ccf148e8c0f31db907d774dfaaee994ce13af6d
16:47 jnthn rakudo: say @array.min:{ $^a <=> $^b }
16:47 p6eval rakudo e759b5: OUTPUT«Symbol '@array' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
16:48 jnthn rakudo: my @array = 4,1,3; say @array.min:{ $^a <=> $^b }
16:48 p6eval rakudo e759b5: OUTPUT«Method 'min:{ $^a <=> $^b }' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
16:48 jnthn rakudo: my @array = 4,1,3; say @array.min: { $^a <=> $^b }
16:48 p6eval rakudo e759b5: OUTPUT«1␤»
16:48 Garry4758 joined #perl6
16:48 jnthn ...oh.
16:48 jnthn erm
16:49 jnthn masak: I...am not sure that's totally wrong.
16:49 jnthn masak: Though I'm also surprised.
16:49 jnthn masak: It's parsing different, but we're matching up with STD also on what we parse there.
16:50 jnthn token methodop {
16:50 jnthn [
16:50 jnthn | <longname>
16:50 jnthn And longname is
16:50 jnthn token longname { <name> <colonpair>*
16:50 jnthn }
16:50 masak ok.
16:50 masak maybe reality changed since that bug.
16:50 jnthn So...is :{ ... } a valid colonpair...
16:50 masak no.
16:51 jnthn Ye
16:51 jnthn s
16:51 jnthn | <circumfix>
16:51 jnthn See token colonpair.
16:51 masak S02:3286
16:51 jnthn :-/
16:51 Garry4758 left #perl6
16:51 jnthn I'm looking at STD. :-) :-)
16:51 masak then we have a contradiction.
16:51 masak CLANG CLANG CLANG contradiction in the canon! all aboard!
16:52 jnthn Hmm
16:52 jnthn yes, it appears we may.
16:53 jnthn :{ .say }       adverbial block
16:53 jnthn Wonder if we're meant to go digging into the longname to find that.
16:54 lue TimToady supercedes all! Go with STD.
16:54 * jnthn figures he'll wait on a ruling :-)
16:54 lue TimToady supercedes all! Go with the spec.
16:54 jnthn Rather than guessing a fix.
16:54 lue ...wait
16:54 lue AH! A contradiction from the top! All run for cover! /o\
16:55 colomon rakudo: say (1..5) X~ 'a'
16:55 p6eval rakudo 6c8737: OUTPUT«1a2a3a4a5a␤»
16:57 colomon moritz_: how does "parse postcircumfixes with the ~ generator" work?  does ~ somehow generate a matched pair?
16:57 masak rakudo: say (1..5) ~~ 'a'
16:58 p6eval rakudo 6c8737: OUTPUT«0␤»
16:58 masak rakudo: say (1..5) Z~ 'a'
16:58 p6eval rakudo 6c8737: OUTPUT«1a␤»
16:58 moritz_ colomon: '(' ~ ')' foo   is roughly the same as '(' foo ')', but gives a better error message when the ')' is not found
16:58 colomon moritz_: sweet
16:59 colomon or rather, sweet!!!
16:59 masak std: $a = my $a
16:59 p6eval std 30139: OUTPUT«[31m===[0mSORRY![31m===[0m␤Variable $a is not predeclared at /tmp/lMgqbF2E41 line 1:␤------> [32m$a[33m⏏[31m = my $a[0m␤    expecting any of:␤ POST␤   postfix␤  postfix_prefix_meta_operator␤FAILED 00:01 107m␤»
17:00 masak std: my $a = $_ given $a
17:00 p6eval std 30139: OUTPUT«ok 00:01 106m␤»
17:00 masak I'm surprised-ish that that last one succeeds.
17:00 colomon moritz_: do you have a test file for :16(FEED)?
17:00 colomon (etc)?
17:00 moritz_ colomon: looking...
17:01 colomon thanks.
17:02 jnthn colomon: radix.t covers a load of those, I think
17:02 jnthn # S02-literals/radix.t
17:02 moritz_ aye, S02-literals/radix.t
17:03 lue TimToady: We hath found a contradiction! We need your help! (official plea)
17:04 masak rakudo: sub foo($bar:) {}; foo(42)
17:04 p6eval rakudo 6c8737: OUTPUT«Lexical 'self' not found␤current instr.: 'foo' pc 180 (EVAL_1:77)␤»
17:04 masak jnthn: ^
17:05 jnthn masak: Heh. Looks like that invocant_ok thingy needs porting from STD. :-)
17:06 masak lue: 'hath' is 3rd person singular, 'we' is a 1st person plural pronoun, and would take 'have' or 'haven' or some such.
17:07 lue I hath to disagree. :)
17:08 * masak gives up :)
17:08 masak std: loop (my $a = 1, my $b = 2; $a < 5; $a++, $b++) { say "$a $b" }
17:08 p6eval std 30139: OUTPUT«ok 00:01 107m␤»
17:08 masak rakudo: loop (my $a = 1, my $b = 2; $a < 5; $a++, $b++) { say "$a $b" }
17:08 p6eval rakudo 6c8737: OUTPUT«Undefined value shifted from empty array␤current instr.: 'perl6;Perl6Exception;throw' pc 14490 (src/builtins/Seq.pir:77)␤»
17:10 jnthn masak: May partly be precedence biting you.
17:10 jnthn We don't parse item assignment properly yet.
17:11 masak good point.
17:11 jnthn Still a weird error
17:11 jnthn But I bet the prec is primarily why it doesn't do what you want.
17:11 masak well, all problems with precedence can be solved with another layer of parentheses... :)
17:11 masak rakudo: loop ((my $a = 1), (my $b = 2); $a < 5; $a++, $b++) { say "$a $b" }
17:11 p6eval rakudo 6c8737: OUTPUT«1 2␤2 3␤3 4␤4 5␤»
17:11 masak \o/
17:11 masak jnthn++
17:14 masak rakudo: say "abc" ~~ m ☃.(.).☄
17:14 p6eval rakudo 6c8737: OUTPUT«Confused at line 11, near "say \"abc\" "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:15 masak \o/
17:15 masak for once, Rakudo and I are confused at the same thing! :)
17:15 * masak closes the infamous snowman/comet rakudobug :)
17:15 masak pmichaud++
17:17 jnthn hehe!
17:17 lue what are those funky symbols, masak?
17:17 jnthn That was a good one.
17:17 lue .u ☃
17:17 phenny U+2603 SNOWMAN (☃)
17:18 lue .u ☄
17:18 phenny U+2604 COMET (☄)
17:18 jnthn .oO( unisnowed )
17:18 masak lue: once upon a time, you could delimit a regex with a snowman and a comet.
17:18 masak lue: (it was a bug. a really strange one.)
17:18 arnsholt Fun ^^
17:18 jnthn I'm almost sad it's fixed. :-)
17:19 masak jnthn: as soon as it's possible, you'll have your 'use Snowman::Comet;' :)
17:19 lue why didn't you leave it then? It would've been a cool easter egg (and 42 knows easter eggs are needed)
17:19 masak lue: it worked for the wrong reasons.
17:20 masak lue: we tried preserving old crap in the compiler for old times' sake. it's called Perl 5. :P
17:20 lue Can it work for the right reasons then?
17:20 masak lue: as I said above. module.
17:20 afields-f49f joined #perl6
17:20 jnthn colomon: I might be able to sneak in parsing hyperops today
17:21 colomon jnthn: dude!!!!!
17:21 jnthn colomon: Once they're parsing, I guess that's much of the hard work done.
17:21 lue another one for the official P6 module (someone needs to keep track of these features soon)
17:21 jnthn Sort of
17:21 colomon absolutely.
17:21 jnthn :-)
17:21 jnthn Do we already have a &hyper that I can assume?
17:21 colomon if you can make them parse, I'm pretty sure I can do the rest.
17:21 lue jnthn: your practice of deep magic is honorable.
17:21 masak lue: more Acme:: than official, I'd say.
17:21 colomon we do not have a &hyper as far as I know.
17:21 jnthn ok
17:22 * colomon is still looking at radix numbers...
17:22 masak std: say [+]
17:22 p6eval std 30139: OUTPUT«ok 00:01 106m␤»
17:22 lue pah! The official P6 module is for the stuff we as developers couldn't implement in the interpreter itself for various reasons.
17:22 masak rakudo: say [+]
17:22 p6eval rakudo 7ccf14: OUTPUT«Confused at line 11, near "say [+]"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:22 masak lue: er. no.
17:23 jnthn masak: Ah. *that's* what the stuffs at the end of the reduce parsing that I didn't actually understand do.
17:24 lue "The official P6 module" is just a codename (just like TARDIS :) ) for the module I'm writing.
17:25 lue (it ought to have a different codename, in hindsight...)
17:27 arnsholt How did you -find- the snowman comet bug?
17:27 arnsholt Doesn't look like something you'd stumble upon =)
17:27 lue Unicode has dark magic. Don't doubt its ability to show up. :)
17:28 lue .u 5829
17:28 phenny U+5829 CJK UNIFIED IDEOGRAPH-5829 (堩)
17:28 lue .u 1024
17:28 phenny U+1024 MYANMAR LETTER II (ဤ)
17:28 lue .u 384
17:28 phenny U+3840 CJK UNIFIED IDEOGRAPH-3840 (㡀)
17:28 lue .u 0384
17:28 phenny U+0384 GREEK TONOS (΄)
17:29 colomon huh.  looks like my grammar changes have broken ::Positional  ?
17:29 jnthn :-/
17:29 colomon the parsing thereof, I mean.
17:29 colomon Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 695
17:30 colomon $x.notdef || ($x.does(::Positional) && $x == 0)
17:30 colomon is the line
17:30 jnthn That'd be some spooky action at a distance...
17:30 colomon well, rad number does look for ':'
17:30 jnthn Ah
17:30 jnthn Yeah, hmm. :-/
17:30 colomon ':' $<radix> = [\d+] <.unsp>?
17:30 colomon {}           # don't recurse in lexer
17:31 colomon could that somehow parse ::  ?
17:31 jnthn I don't think so.
17:32 jnthn colomon: can you nopaste me the whole grammar diff?
17:33 colomon http://gist.github.com/338783
17:34 masak jnthn: even simpler:
17:35 masak rakudo: [+]
17:35 p6eval rakudo 7ccf14: OUTPUT«Confused at line 11, near "[+]"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:37 jnthn masak: Right. It wants a term.
17:37 jnthn (after the thingy)
17:37 masak erroneously.
17:37 lue rakudo: say [+] 1
17:37 p6eval rakudo 7ccf14: OUTPUT«1␤»
17:37 masak rakudo: say 1 [+] 2, 3, 4
17:37 colomon rakudo: my @a; say [+] @a
17:37 p6eval rakudo 7ccf14: OUTPUT«Confused at line 11, near "say 1 [+] "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:37 p6eval rakudo 7ccf14:  ( no output )
17:37 masak also, the infix form should work.
17:37 masak std: say 1 [+] 2, 3, 4
17:37 p6eval std 30140: OUTPUT«ok 00:01 108m␤»
17:38 lue std: [+]
17:38 colomon masak: huh?
17:38 p6eval std 30140: OUTPUT«ok 00:01 105m␤»
17:38 masak colomon: there's an infix form.
17:38 jnthn huh?
17:38 masak colomon: it's nice when you don't want e.g. 0 as the default for addition.
17:39 masak std: my @values; my $default; say $default [+] @values
17:39 p6eval std 30140: OUTPUT«ok 00:01 106m␤»
17:39 colomon so you can say something like 54 [+] @... right.
17:39 colomon well that's cool.
17:39 masak I know!
17:39 jnthn I'm not sure that's parsed by prefix_circumfix_meta_operator:reduce though.
17:39 masak why not?
17:39 colomon because it's a prefix
17:40 masak oh. duh. :P
17:40 colomon | :dba('bracketed infix') '[' ~ ']' <infix=.infixish(1)> { $<O> = $<infix><O>; $<sym> = $<infix><sym>; }
17:41 colomon is a rule in infixish.  bet that's it.
17:41 masak rakudo: sub foo { 1;; }; say foo
17:41 p6eval rakudo 7ccf14: OUTPUT«1␤»
17:41 jnthn colomon: Yes, that looks like it.
17:42 jnthn masak: hah! I fixed that one. :-P
17:42 masak :)
17:42 masak jnthn: can I close http://rt.perl.org/rt3/Tic​ket/Display.html?id=61732 ?
17:42 masak jnthn: seems to me it possibly describes two different bugs.
17:42 jnthn masak: maybe yeah
17:43 jnthn dunno...if all the cases in that ticket work then I guess yes
17:43 jnthn But yes, it's covering more than one thing.
17:43 masak rakudo: my @a = "foo", "foot"; if @a[all(0,1)] ~~ /^ foo/ { say "OH MY!" }
17:43 p6eval rakudo 7ccf14: OUTPUT«maximum recursion depth exceeded␤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)␤»
17:44 masak another new failure mode...
17:44 jnthn colomon: I'm kinda confused by why your grammar addition breaks parsing of ::Foo style things.
17:44 colomon jnthn: me too.
17:44 bkeeler Morning folks
17:45 colomon Seems like every other time I play with the grammar, bizarre things happen.
17:45 colomon bkeeler: morning!
17:45 jnthn morning, bkeeler!
17:45 bkeeler jnthn: I see you pung me
17:45 jnthn bkeeler: pung you I did
17:45 masak rakudo: say ++e
17:45 p6eval rakudo 7ccf14: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16965 (src/builtins/Junction.pir:399)␤»
17:45 masak \o/
17:46 masak rakudo: constant $x = 1; $x += 2; say $x
17:46 jnthn bkeeler: Is there another part to getting /$foo/ working than the Regex-Compiler.pir patch?
17:46 jnthn bkeeler: e.g. is there a Rakudo change too?
17:46 p6eval rakudo 7ccf14: OUTPUT«Symbol '$x' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
17:46 bkeeler Aye, there's a rakudo change
17:46 masak ah. 'constant' NYI.
17:46 jnthn bkeeler: Is that pushed somewhere?
17:46 bkeeler I think so
17:47 bkeeler There's more to do on that front anyway
17:47 bkeeler Did you merge the Regex change?
17:47 masak rakudo: sub foo() { return class { method Str() { return "OH HAI" }; method Num() { return 42 } } }; say ~foo; say +foo
17:47 jnthn bkeeler: No, I kinda wanted to test the whole lot first, to make sure I was doing the right thing. :-)
17:47 p6eval rakudo 7ccf14: OUTPUT«Invalid namespace key in set_pmc_keyed␤current instr.: 'perl6;ClassHOW;new' pc 3749 (src/metamodel/ClassHOW.pir:27)␤»
17:47 jnthn masak: no anon classes yet.
17:48 masak whoa. :/
17:48 bkeeler Fair enough.  The Regex change seems harmless by itself though
17:48 jnthn masak: I'm not sure they worked in alpha either... :-P
17:48 masak jnthn: locally, that one gives a Parrot backtrace.
17:48 masak jnthn: no, that's from an RT ticket. :)
17:48 bkeeler It's the sort of change where if it was going to break something, nothing would work
17:49 jnthn bkeeler: Yeah, but it needs integrating into Parrot, and then a Parrot revision bump for Rakudo, so it's an annoying one to do twice. :-)
17:49 bkeeler jnthn: true
17:49 masak rakudo: my $r = 1..9; $r.pop; say $r.perl
17:49 p6eval rakudo 7ccf14: OUTPUT«Method 'pop' not found for invocant of class 'Range'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
17:49 jnthn bkeeler: Also, having looked at it, it did occur to me that a possible simpler patch for it is just...
17:50 jnthn -    .local int litlen
17:50 jnthn +    .local string litlen if litconst goto litlen_const litlen = '$I10'
17:50 jnthn -    ops.'push_pirop'('length', '$I10', lpost)
17:50 * masak closes #67142
17:50 jnthn +    ops.'push_pirop'('length', litlen, lpost)
17:50 jnthn oh, paste fejl
17:50 jnthn bkeeler: http://gist.github.com/338795
17:51 bkeeler jnthn:  Did you try that?
17:51 jnthn Yeah, and it *looked* like it was doing the right thing.
17:52 jnthn bkeeler: That's why I wanted the other half of the patch. To confirm.
17:52 jnthn masak++ # closing rakudobugs!
17:53 jnthn .oO( or is it just to prepare room for more? :-) )
17:53 masak :P
17:53 lue masak: how big is the server where rakudobugs are stored?
17:53 masak rakudo: { &^c("$^a, $^b") }.("morning", "perl6ers", &say)
17:53 p6eval rakudo 7ccf14: OUTPUT«Not enough positional parameters passed; got 3 but expected 4␤current instr.: '_block46' pc 315 (EVAL_1:131)␤»
17:54 masak jnthn: help me with this one :) 4?
17:54 masak lue: I don't know, I've never seen it.
17:54 bkeeler jnthn: OK, I'll see if I can get what I have pushed, one sec
17:54 masak rakudo: { &^c("$^a, $^b") }.("morning", "perl6ers", &say, "crazy bogus argument")
17:54 p6eval rakudo 7ccf14: OUTPUT«Nominal type check failed for parameter '&c'; expected Callable but got Str instead␤current instr.: '_block46' pc 322 (EVAL_1:133)␤»
17:55 masak rakudo: { &^c("$^a, $^b") }.("morning", "perl6ers", &say, &say)
17:55 p6eval rakudo 7ccf14: OUTPUT«morning, say␤»
17:55 * masak submits rakudobug
17:55 colomon weird one, masak++
17:55 jnthn masak: erm....
17:55 * jnthn stares at the bug, horrified
17:55 * masak dances the rakudobug mambo
17:56 colomon is that related to the masochism tango?
17:56 bkeeler jnthn: It's in my var_in_regex branch.  Don't push it to master though, it needs more work yet
17:56 jnthn Or the masakism one?
17:56 masak colomon: yes, but even more to the masakism tango. :)
17:56 bkeeler lol
17:59 jnthn oh wow, a Parrot segfault. :-/
18:00 jnthn wow...circular GC marking => stack overflow...
18:01 lue SEGFAULT? An errno 11? AAH!
18:02 * jnthn has...no clue whatsoever...what he's done to evoke this one.
18:02 jnthn But it happens during GC. :-|
18:02 lue what's the code, what's the code? (segfaults make me nervous)
18:03 lue what does GC stand for?
18:03 jnthn Garbage Collection
18:03 lue Ah... *twitch*
18:03 jnthn Yes, indeed.
18:03 masak it's the lowest of the collection types.
18:03 masak even worse than a hash.
18:03 jnthn lol
18:04 lue the twitch was a result of errno 11
18:04 lue *twitch*
18:05 masak I've been going through http://use.perl.org/~masak/journal/39597 today, closing RT tickets and adding updates where possible. kudos to all the people who have helped close the tickets so far, and added tests to the spectest suite! colomon++ jnthn++ pmichaud++ moritz_++ several-others++
18:06 lue stop giving karma to several-others until he exists! :)
18:06 lue buubot: karma several-others
18:06 buubot lue: several-others has karma of
18:06 masak ...the zen slice! :)
18:06 jnthn lo
18:06 jnthn l
18:06 * lue is waiting for next week's episode of buubot. He hates cliffhangers.
18:07 jnthn lue: Don't watch the Italian Job...
18:07 jnthn ;-)
18:07 pmurias joined #perl6
18:07 japhb jnthn, well, at least not the original ...
18:07 jnthn japhb: I didn't hear much positive about the re-make and never got to watch it myself.
18:07 lue doo doo doo doo doo. (I want to fix something, nothing much else to do :) )
18:08 bkeeler The remake sucked ass
18:08 japhb I actually preferred the remake ... but I hated the whole era of "thieves can never win" that for me ruined the original Ocean's 11 as well.
18:09 japhb Those I've asked in the previous generation preferred the original Italian Job as well -- perhaps it's just a matter of when you grew up.
18:10 * arnsholt gives hacking nqp-rx a second whack
18:11 jnthn colomon: I'm going to go nom shopping, and then maybe look at the hyper parsing.
18:11 colomon \o/
18:11 jnthn colomon: I think I spotted last night the thingy in STD that I missed last time.
18:11 colomon I've turned off the rad number changes and am turning them back on one by one to see which one makes things break.
18:11 * jnthn also wants to start dusting off his Russian a bit today too
18:11 jnthn colomon: +1. That really is the best way sometimes.
18:11 jnthn Laborious as it is.
18:11 bkeeler Who's to say they didn't win in the original?  We don't know how the cliffhanger turned out
18:12 colomon and it is adding | <rad_number> to numish FTW
18:12 colomon or FTL, I suppose.
18:12 japhb bkeeler, Yes, unlike Ocean's 11, the money isn't completely gone.
18:12 jnthn colomon: Oh, that's when it gets fail-y?
18:13 colomon yes
18:13 jnthn colomon: OK, does a simplified <rad_number> definition show it up?
18:13 japhb But I think in the case of I.J. the director was trying to give them a slim chance when the censors clearly wanted the thieves to have to choose money or living.
18:13 jnthn That may be the next thing to try
18:13 uniejo joined #perl6
18:14 bkeeler jnthn: Well, your version of the patch doesn't break anything for me, so I say go with it
18:14 colomon jnthn: already am using a fairly simplified version of it.
18:14 jnthn colomon: Ah. :-(
18:14 jnthn bkeeler: Cool...it seemed like a more minimal change that would deal with the same bug.
18:15 jnthn bkeeler++ for trakcing that one down!
18:15 jnthn colomon: OK...I'll try and help after I return from The Nom Shop.
18:15 lue masak: take me to your domain! I want to fix something.
18:15 arnsholt Win! The code compiles ^^
18:16 masak lue: I'm about to leave, but finding something to do is as simple as going to rt.perl.org/rt3/ and triaging rakudobugs.
18:17 bkeeler Well, I have people coming over to brew beer in a bit, but hopefully I'll have time to get the var-in-regex patch finalized tomorrow
18:17 lue thank you for taking me to your domain!
18:17 masak anytime.
18:19 lue triaging is the art of masak. It is where you decide what is important, right?
18:19 masak lue: yes. in this case, deciding if tickets still describe valid bugs.
18:20 masak lue: especially among the old tickets, there are already-fixed ones still sitting around.
18:20 masak lue: it's an easy job; usually, you just have to re-run the code snippet in there and determine if the error still persists.
18:31 M_o_C joined #perl6
18:35 lue how doth I find P6 bugs?
18:36 lue (in the RT that is)
18:38 * colomon hopes masak++ can answer that one, because RT is a mystery to him...
18:38 masak over time I've learned how to search RT.
18:38 masak not sure I'm able to explain it :)
18:39 masak lue: is something called 'Advanced Search' available to you among the menu items?
18:39 lue yes
18:39 masak good.
18:40 lue I found some, but I can't filter out the resolved ones :)
18:40 masak lue: usually, when I'm looking for something particular, I enter a keyword and then refine the search with Advanced Search.
18:40 masak lue: you can search for only new/open ones. that'll filter out the resulved ones.
18:41 lue where do I select that? This search interface is giving me a headache :)
18:41 masak aye, it's obviously made by a programmer.
18:42 masak just hang in there. that's my best piece of advice.
18:42 lue gah! How do I filter? Nothing is clear! /o\
18:42 lue *big inhale* ooooooooh.... found it
18:43 masak :)
18:43 lue (geez, that could've been clearer)
18:45 masak the RT Advanced Search is 'functionally complete' in that it actually provides a way to build arbitrarily nested search queries. it's just not made for humans, that's all.
18:46 lue rakudo: //
18:46 p6eval rakudo 7ccf14: OUTPUT«Null regex not allowed at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
18:47 lue that one's fixed!
18:47 masak lue++
18:47 lue eh... now to find the close button (please tell me it's not under the 'cake' menu :) )
18:47 masak you can close a ticket under 'Basics'.
18:48 masak or by replying to it.
18:48 masak by the way, the RT term for resolve/close is 'resolve' :)
18:48 lue I pressed the 'Comment' button.
18:48 masak that's fine too.
18:49 masak I'm not too clear on what the difference is between 'Reply' and 'Comment', actually.
18:49 lue Comment, apparently, doesn't message the requestors
18:49 dalek rakudo: 3075a5f | jonathan++ | src/ (3 files):
18:49 dalek rakudo: Various missing item and hash contextualization bits.
18:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​075a5f9c22c39a02ed1c2fa3667a2a64cad64b2
18:50 rv2733 joined #perl6
18:50 lue I suppose that only matters for critical bugs.
18:51 colomon jnthn: I got the parsing sorted by adding <!before '::'>  at the beginning of rad_number.
18:51 lue masak: I got this:
18:51 lue *  Message recorded
18:51 lue * Ticket 57770: Permission Denied
18:51 lue still open :/
18:52 masak lue: hm. someone needs to grant you more Powar.
18:52 masak I can close this one for you, but I need to leave very soon.
18:53 lue masak: You can't gives me teh powar?
18:53 jnthn colomon: nice!
18:53 masak lue: not that I'm aware, no. :/
18:53 masak lue: I don't know who can. maybe pmichaud.
18:53 lue Ah well, I guess that ends my RT bug triaging for now. :)
18:53 colomon now I just have to figure out how to do something with what is parsed.  ;)
18:53 jnthn colomon: I suspect we may be wroking around a lack of true LTM.
18:54 jnthn :-)
18:54 colomon my perception is that compile time is still obnoxiously long, as well.  :\
18:54 jnthn It still sucks, yes. :(
18:54 colomon I hope that doesn't mean we're over-taxing the parser or something.
18:56 masak lue: great start, though. :) I closed that one for you.
18:58 Psyche^ joined #perl6
19:02 lue goodbye, masak. o/
19:04 TimToady std: :16(FEED)
19:04 p6eval std 30140: OUTPUT«Undeclared name:␤      'FEED' used at line 1␤ok 00:01 107m␤»
19:05 colomon jnthn: I just pasted radcalc from old math.pir into new Num.pir.  Is there a reason that wouldn't be findable?  it seemed to compile okay, but when I tried calling it I got the classic "could not find non-existent.." message.
19:05 lue TimToady! You hath come to resolve this fatal contradiction!
19:08 jnthn colomon: Check it didn't get shoved into the Num namespace unintentionally?
19:08 colomon jnthn: how would I do that?
19:08 jnthn colomon: Look in Num.pir to see if there's .namespace directives
19:09 colomon ooo, indeed there is.
19:09 jnthn colomon: Or above the .sub line of yours, just add
19:09 jnthn .namespace []
19:09 colomon compiling...
19:09 TimToady it's not really a contradiction; you have to have a space before an adverb if it could be confused as the end of an identifier
19:10 TimToady note that :16(FEED) should fail
19:10 TimToady :16() is a function that takes a string
19:10 jnthn TimToady: So is Rakudo essentially doing the Right Thing by trying to canonicalize it as part of the name?
19:10 jnthn Or should it fail some semantic check?
19:10 wknight8111 joined #perl6
19:10 TimToady yes, unless we change it so that extended names can't be extended with :{}, which is tempting
19:11 TimToady since it would enable .grep:{} and such
19:11 bkeeler What's up with t/spec/S04-statements/for.t?  Regression?
19:12 mberends jnthn++: nice work on BEGIN
19:12 TimToady names are typically extended with :ver<1.2.3> and such, which really means :ver['1.2.3'], not :ver{'1,2,3'}
19:13 mberends alpha: say :16<FEED>
19:13 p6eval alpha 30e0ed: OUTPUT«65261␤»
19:13 mberends alpha: say :16(FEED)
19:14 p6eval alpha 30e0ed: OUTPUT«Could not find non-existent sub FEED␤in Main (file src/gen_setting.pm, line 324)␤»
19:15 jnthn TimToady: I'd be tempted to do that too.
19:16 lue afk
19:16 TimToady rakudo: say BEGIN 42;
19:16 p6eval rakudo 7ccf14: OUTPUT«42␤»
19:16 TimToady \o/
19:16 colomon jnthn: still no luck
19:17 colomon added the radcalc declaration at the end of http://gist.github.com/338783
19:17 colomon TimToady: I fixed your example from last night, at least as much as it can be at the moment:
19:18 TimToady and we already restrict adverbial delims on regex modifiers to only use parens
19:18 colomon rakudo: say ('*' Xx 1..5).join("\n");
19:18 p6eval rakudo 7ccf14: OUTPUT«*␤**␤***␤****␤*****␤»
19:18 colomon on the other hand
19:18 TimToady still broken on nesting?
19:18 colomon rakudo : say ('*' Xx 1..5) X~ "\n"
19:19 colomon it fails because gather / take doesn't work right yet.
19:19 colomon rakudo: say ('*' Xx 1..5) X~ "\n"
19:19 p6eval rakudo 7ccf14: OUTPUT«Cannot resume dead coroutine.␤current instr.: 'perl6;GatherIterator;get' pc 421734 (src/gen/core.pir:65403)␤»
19:19 colomon rakudo: say ('*' Xx 1..5) Z~ "\n"
19:19 p6eval rakudo 7ccf14: OUTPUT«*␤␤»
19:19 colomon rakudo: say ('*' Xx 1..5) Z~ ("\n" xx 5)
19:19 p6eval rakudo 7ccf14: OUTPUT«*␤**␤***␤****␤*****␤␤»
19:20 jnthn colomon: +#      { make radcalc($<radix>
19:20 jnthn You commented out the #?
19:20 jnthn colomon: It may want an & on the start of the sub name.
19:20 jnthn .sub '&radcalc'
19:20 colomon that part is actually commented out in STD
19:20 colomon I've just been trying to call radcalc directory from REPL
19:20 jnthn oh
19:20 jnthn if you want to call it from the repl you certainly need an & on the start. :-)
19:21 colomon compiling...
19:21 colomon do you think that commented out line can work in Grammar.pm?  If so, it seems like it would be mighty handy...
19:22 jnthn colomon: I don't immediately see why not..the only thing it's doing is saving you an action method though
19:22 jnthn And you may need one anyway for the circumfix cases
19:22 jnthn Well, will..
19:22 colomon Those cases I do have commented out still.  :)
19:23 jnthn OK :-)
19:23 jnthn I don't akshually know what they're for. ;-)
19:24 jnthn We may want to consider putting it in the actions, just because it's going to be the only "make" that's not in there. OTOH, there may be special reasons for doing this one in the grammar that I'm missing.
19:25 colomon jnthn: :16($a), for instance.
19:26 colomon > say radcalc(16,"FEED")
19:26 colomon 65261
19:27 jnthn :-)
19:27 jnthn Heh. A p6l thread suggesting we do a release like Rakudo *. ;-)
19:27 arnsholt How clever ^^
19:28 colomon jnthn: are you talking about "Versioned Dependencies"?
19:30 jnthn Yes :-)
19:31 jnthn "Rakudo could...have more end-user focussed releases every 3 months"... :-)
19:31 colomon and here I thought they were just trying to add another layer of maximum madness to Rakudo...
19:34 jnthn Oh, they are.
19:34 jnthn They'll fail too.
19:34 jnthn :-)
19:36 jnthn It's too early to try and do "emulation semantics" style stuff.
19:36 jnthn Maybe if we had a team like 10 times the size of the current one we'd have resources for such things. :-/
19:37 * colomon doesn't think he'll ever understand p6l...
19:38 * mberends gave up trying
19:43 jnthn Yeah, there's...quite a disconnect...between p6l and current Perl 6 implementation reality, I'm afraid.
19:43 * colomon kind of thinks you could s/current Perl 6 implementation//
19:44 colomon > say :16<FEED>
19:44 colomon radix out of range (2-36)
19:44 colomon progress!  ;)
19:45 ShaneC joined #perl6
19:46 jnthn colomon: heh :-)
19:49 iblechbot joined #perl6
19:52 colomon so if I have my $radix    := $<radix>.ast;
19:52 colomon how do i get $radix as an Int?
19:52 colomon can I just say +$radix or something like that?
19:55 rv2733 left #perl6
19:56 M_o_C joined #perl6
20:01 JimmyHoff joined #perl6
20:02 jnthn colomon: Did make radcalc(...) line set the AST?
20:03 jnthn (sorry, was away nomming :-))
20:03 colomon I've still been skipping the make radcalc line, because I don't understand how it can work.  Think it is worth trying?
20:04 colomon method rad_number($/) {
20:04 colomon my $radix    := $<radix>.ast;
20:04 colomon my $intpart  := $<intpart>.ast;  # skip other parts for brevity in paste...
20:04 colomon make PAST::Op.new( :name('&radcalc'), :pasttype('call'),
20:04 colomon $radix + 0, $intpart, $fracpart, $base, $exp); }
20:05 colomon With + 0 added, I got
20:05 colomon > say :16<FEED>
20:05 colomon Multiple Dispatch: No suitable candidate found for 'add_int', with signature 'PIP->P'
20:06 jnthn colomon: Oh, you probably don't need to .ast that
20:07 jnthn $<radix> = [\d+]
20:07 jnthn It's jsut a match object
20:07 colomon I was just trying to imitate dec_number.  Cargo cult programming...
20:07 colomon Does the same go for strings?
20:07 jnthn my $radix := +($<radix>.Str); # perhaps
20:07 molaf joined #perl6
20:08 jnthn That is, extract the matched string
20:08 jnthn And then numify it
20:08 colomon word
20:08 colomon compiling...
20:15 colomon > say :16<FEED>
20:15 colomon 65261
20:17 lue Anybody out there who can give me the ability to close bugs ("resolve" them) on rt.perl.org/rt3 ?
20:19 jnthn colomon: yay!
20:19 colomon this feels like it has been ridiculously hard.
20:20 colomon I've only handled one of the three possible cases, and just that felt about as hard as getting one of the metaops to work.
20:22 jnthn colomon: I'm not sure how many of them alpha handled, fwiw.
20:22 jnthn colomon: I'm pretty sure it wasn't complete.
20:22 colomon there definitely are skips in the test file
20:26 * jnthn wonders what the won-back test haul will be
20:27 colomon don't quote me on this, but I'm guessing about 150 tests.
20:27 Chillance joined #perl6
20:28 lue qq{colomon} :)
20:36 jnthn colomon: woo :-)
20:36 colomon it's still failing on the tougher tests for that form, I'm currently trying again (compiling...)
20:36 sorear almost 48 hours and only one bite on the RFC
20:36 sorear I guess that means it's perfect
20:37 sorear or maybe the list is dead
20:37 jnthn sorear: ;-)
20:37 jnthn sorear: I dunno, if you suggest something bad enough then someone often pops up to shoot it down. :-)
20:38 jnthn sorear: Anyway, I'd push now for it to be applied.
20:39 jnthn afk for ~ half an hour.
20:42 colomon jnthn: I keep on running into things that don't seem to be defined in Grammar.pm?  like <integer> and <decint>?
20:43 lue .oO(when will TimToady/pmichaud/someone else appear so I can triage rakudobugs at the rt.perl.org?)
20:51 sorear jnthn: How would I do this?
20:52 moritz_ colomon: those might be defined in nqp-rx
20:52 colomon moritz_: ah.
20:52 colomon so, I've got :16<FEED> working for you.
20:52 colomon more complicated versions, not so much yet.
20:52 moritz_ colomon++
20:53 moritz_ there's also a runtime version
20:53 colomon (not yet checked in, however)
20:53 moritz_ alpha: my $x = 12; say :16($x)
20:53 colomon yes, :16()
20:53 p6eval alpha 30e0ed: OUTPUT«18␤»
20:53 colomon I just tried turning on the parsing for it.
20:53 moritz_ is the thing that's called under the hood defined somewhere?
20:53 lue rakudo: say :16<DEADBEEF>
20:53 p6eval rakudo 3075a5: OUTPUT«Confused at line 11, near "say :16<DE"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
20:54 colomon there is radcalc, but that doesn't do the parsing
20:54 lue rakudo: say :16(DEADBEEF)
20:54 p6eval rakudo 3075a5: OUTPUT«Confused at line 11, near "say :16(DE"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
20:54 moritz_ alpha: say :16<DEADBEEF>
20:54 colomon (that's also not yet checked in)
20:54 p6eval alpha 30e0ed: OUTPUT«3735928559␤»
20:54 lue figured :)
20:55 colomon > say :16<DEAD_BEEF>
20:55 colomon 3735928559
20:55 moritz_ rakudo: say :10<F0> # should not be allowed
20:56 p6eval rakudo 3075a5: OUTPUT«Confused at line 11, near "say :10<F0"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
20:56 colomon > say :10<F0>
20:56 colomon 150
20:56 moritz_ alpha: say :10<F0> # should not be allowed
20:56 p6eval alpha 30e0ed: OUTPUT«150␤»
20:56 colomon that's what happens when you port the algorithm from alpha.  ;)
20:57 moritz_ should be just one more check
20:57 lue alpha: say :8<17> # should be 25
20:57 p6eval alpha 30e0ed: OUTPUT«15␤»
20:57 lue nope, I did the math wrong :)
20:58 lue alpha: say :2<42>
20:58 p6eval alpha 30e0ed: OUTPUT«10␤»
20:58 colomon moritz_: that's what they always say...
20:58 * moritz_ wonders if there's a way to abort a spectest run and still get a summary of the tests written so far
20:59 moritz_ colomon: I know :-)
20:59 lue alpha: say :2<31> #I predict the result will be... 10
20:59 p6eval alpha 30e0ed: OUTPUT«7␤»
20:59 colomon woah, it seems like every time I blink, eight spectest files have been updated...
21:00 lue It must take a while for you to blink :D
21:00 moritz_ lue: never play lottery
21:01 lue alpha: say :2<41> #prediction: 9
21:01 p6eval alpha 30e0ed: OUTPUT«9␤»
21:02 lue alpha: say :2<198> #prediction: 19
21:02 p6eval alpha 30e0ed: OUTPUT«30␤»
21:02 lue what an interesting algorithm :)
21:03 moritz_ rakudo: say 2 * 2**2  + 9 * 2**1 + 8 * 2**0
21:03 p6eval rakudo 3075a5: OUTPUT«34␤»
21:04 colomon rakudo: say 1 * 2**2  + 9 * 2**1 + 8 * 2**0
21:04 p6eval rakudo 3075a5: OUTPUT«30␤»
21:05 * moritz_ can't type anymore
21:05 colomon moritz_: I think I may leave checking on illegal digits as an exercise for lue.  ;)
21:07 moritz_ ok :-)
21:08 lue OK, just push your code!
21:11 colomon I need to spectest it yet (about to start that).
21:11 colomon But checking on illegal digits should be a nice little piece of PIR programming, right down your alley.  :)
21:13 lue you programmed :[number]<> in PIR?
21:14 colomon no, I stole the PIR from alpha.
21:15 * moritz_ gets a failure in t/spec/S04-statements/for.t
21:15 moritz_ is that new?
21:15 colomon someone mentioned it earlier this afternoon.
21:16 * mberends just got it too
21:17 mberends and I was troubleshooting a for $fh.lines { when / ... / } at the time...
21:18 mberends spooky bugs at a distance
21:18 * jnthn back
21:18 lue .oO(ah, mberends makes me think of snowman/comet)
21:18 lue hi jnthn o/
21:19 jnthn sorear: Ask somebody on #parrot if they'd be able to commit it, since nobody disagreed with it on list.
21:19 jnthn colomon: Maybe we lag behind STD in those places?
21:20 jnthn (for.t) Hmm. I see it too. :-/
21:21 mathw hey
21:21 colomon jnthn: in integer and decint?  I think moritz_++ is right that they must be coming from NQP
21:21 jnthn oh hai mathw
21:21 colomon at least, they do seem to work, I just don't know how.
21:22 jnthn colomon: Well, HLL::Grammar probably
21:22 moritz_ at least in the NQP-rx code there is a token decint defined
21:22 jnthn colomon: Which both NQP grammar and Rakudo grammar inherit from
21:22 jnthn It has the common bits.
21:22 jnthn Including EXPR
21:22 moritz_ src/HLL/Grammar.pm lines 48 and following
21:24 moritz_ good news: rakudo doesn't seem to leak much memory any more
21:24 moritz_ there are some tests in range.t where rakudo loops
21:24 colomon Any clue on how to use integer in Actions.pm, then?  That's my current issue with the straightforward :16 implementation.
21:25 moritz_ and in the auld days it would run out of memory pretty soon
21:25 colomon Trying .Str on the radint match failed...
21:25 moritz_ colomon: write an integer rule in Rakudo
21:25 moritz_ and override the default
21:25 colomon numish has
21:25 colomon if $<integer> { make PAST::Val.new( :value($<integer>.ast) ); }
21:26 jnthn colomon: How did it fail?
21:27 jnthn colomon: That should make you an integer PAST::Var node, yes
21:27 jnthn *PAST::Val
21:27 jnthn But depends if that's what you need. :-)
21:27 colomon can I then pass that into &radcalc using PAST::Op.new?
21:27 moritz_ and S12-attributes/instance.t sometimes files
21:28 moritz_ if $<integer>   # what about passing 0?
21:28 colomon > say :16<dead_beef*16**8>
21:28 colomon Method 'ast' not found for invocant of class 'ResizablePMCArray'
21:28 colomon > :16<dead_beef*16**8>
21:28 colomon Method 'Str' not found for invocant of class 'ResizablePMCArray'
21:29 jnthn colomon: Oh. Is <integer> quantified?
21:29 colomon That was my attempt to called .Str on the $<base> which is a radint (which is an integer)
21:29 moritz_ $<integer>[0] ?
21:29 jnthn colomon: What moritz said if it has a quantifier.
21:29 jnthn Which sounds like it's the case.
21:29 colomon jnthn: I fear I don't...             [ '*' <base=.radint> '**' <exp=.radint> ]?
21:30 jnthn colomon: It's quantified
21:30 jnthn I guess
21:30 jnthn Because it's inside the [ ... ]?
21:30 jnthn So $<base>[0].Str
21:31 mberends rakudo: given "abc#def" { when / \w+ \# \w+ / { say "two words ok" } }
21:31 p6eval rakudo 3075a5: OUTPUT«two words ok␤»
21:31 mberends rakudo: given "abc#def" { when / \w+ '#' \w+ / { say "two words ok" } }
21:31 p6eval rakudo 3075a5: OUTPUT«two words ok␤»
21:32 mberends hmm, locally the second one eggsplodes
21:32 moritz_ std: /\w+ \# \w+ /
21:32 p6eval std 30142: OUTPUT«[31m===[0mSORRY![31m===[0m␤No unspace allowed in regex (for literal please quote with single quotes) at /tmp/EDxz0ojmcv line 1:␤------> [32m/\w+ \[33m⏏[31m# \w+ /[0m␤FAILED 00:01 108m␤»
21:32 jnthn :-/
21:32 jnthn mberends: In what way does it omlette?
21:33 mberends jnthn: Unable to parse blockoid, couldn't find final '}' at line 1
21:33 meppl joined #perl6
21:35 jnthn > given "abc#def" { when / \w+ '#' \w+ / { say "two words ok" } }
21:35 jnthn two words ok
21:36 mberends better rebuild Rakudo locally before whining
21:36 jnthn ;-)
21:37 m6locks hmm some optimization has been done because i can build rakudo and listen to itunes and my system is not slowing down to death
21:37 jnthn \o/
21:37 m6locks :)
21:37 jnthn music++
21:38 lue buubot: karma music
21:38 buubot lue: music has karma of 0
21:38 * jnthn hadn't contemplated how annoying it would be if Rakudo compilation made his music skip
21:38 * colomon just choose a nice selection in the middle of the Peter Horan section in his iTunes...
21:38 jnthn colomon: Attemtping hyper ops parsing...
21:38 colomon \o/
21:39 lue jnthn WAIT! I got to go get the popcorn!
21:39 * jnthn tries to find that Really Important <!before ..> he noticed in STD...
21:39 lue Give us a live screencast of your computer screen!
21:39 colomon gack, *chose
21:40 colomon > say :16<DEAD*16**3>
21:40 colomon 233492480
21:41 mberends colomon: oooh!
21:41 jnthn wow!
21:41 uniejo joined #perl6
21:41 mathw \o/
21:42 lue \o/
21:42 colomon I think decimal points probably still don't work, they don't appear to have worked in alpha either?
21:42 colomon alpha: say :16<D.D>
21:42 p6eval alpha 30e0ed: OUTPUT«13␤»
21:42 moritz_ Juerd: when I try to log in on feather3, I get "PTY allocation request failed on channel 0"
21:42 lue Only in pugs, colomon
21:42 colomon btw, pushed.
21:42 lue pugs: say :16<D.D>
21:42 p6eval pugs: OUTPUT«13.8125␤»
21:42 moritz_ Juerd: the internetz suggests mkdir /dev/pts; mount /dev/pts
21:42 colomon lue: feel free to pull and hack on radcalc.  It's in Num.pir.
21:43 moritz_ Juerd: but I can't run that because I can't log in :(
21:43 lue got it!
21:43 jnthn moritz_: Aww!
21:44 jnthn colomon: yowser, the infixish action method is rather long!
21:44 colomon btw, lue, radcalc is trying to calculate the decimal part and failing.  You might take a look at that as well.  ;)
21:45 dalek rakudo: 52ea36c | (Solomon Foster)++ | src/ (3 files):
21:45 dalek rakudo: First stab at supporting :16<DEADBEEF> style numbers.
21:45 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​2ea36cf61d0ae0e8e7d5cab4021e7125403d7d4
21:45 dalek rakudo: acc0fce | (Solomon Foster)++ | src/Perl6/Actions.pm:
21:45 dalek rakudo: Make base and exp work in rad_number action.
21:45 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​cc0fce2bc774e69daf354a68c0b41ba30ad304a
21:45 jnthn colomon: It looks like the X and Z only differ in the sub they call.
21:45 jnthn colomon: Which turn looks very much like the code for the reduce op.
21:45 colomon jnthn: yes.
21:45 jnthn colomon: Any objections if I try and factor it out a bit?
21:45 lue I'm going to compile now, and then start hacking away.
21:45 colomon remember me talking about using a hash in Actions.pm yesterday?
21:45 colomon that was why.
21:45 jnthn colomon: Ah, ok
21:46 lue (I'm glad I'm ssh-ing to another computer :D)
21:46 colomon actually, I've got code here which turns all the Rop, !op, Xop, and Zop to the same code (modulo function name) in Actions.pm
21:46 jnthn I was thinking of just writing a sub we call like gen_metaop($base_op, '&crosswith', ...) or some such
21:46 colomon but somehow it breaks !=
21:46 jnthn colomon: ah, OK
21:46 jnthn colomon: Anyway, want to get the hyper in a bit more first...
21:47 jnthn colomon: You think the dwimness would work as adverbs?
21:47 colomon that is to say, I've almost got it refactored into something much nicer... but I'm having a few issues.  :)
21:47 jnthn OK :-)
21:47 mberends is it necessary to wait for apt-get to finish updating gcc before starting 'perl Configure.pl --gen-parrot' ? ;)
21:47 jnthn If you already have a factoring of it, then I'll not worry for now.
21:47 jnthn mberends: Of course not, what could possible go wrong? ;-)
21:48 mberends what indeed
21:48 hanekomu_ joined #perl6
21:49 _sri joined #perl6
21:52 lue No. GCC has been known to work with only one C (but it takes longer) :)
21:53 moritz_ Juerd: never mind, found a way (involving ssh feather3 '/bin/bash -i', sudo -s and other evil techniques :)
21:53 _sri joined #perl6
21:54 jnthn grrr...countries that make me get a visa... <grumble>
21:54 pugssvn joined #perl6
21:55 pugssvn joined #perl6
21:55 pugssvn r30141 | moritz++ | [t/spec] test for contextual @ and & variables
21:55 pugssvn r30142 | moritz++ | [t/spec] some unfudges for rakudo
21:55 pugssvn r30143 | moritz++ | [STD.pm] awesomify error message about \# in regexes
21:55 moritz_ sorry that only the last few revisions get reported
21:56 jnthn moritz_++
21:56 abra joined #perl6
21:59 lue colomon: why limit yourself at 36? IPv6 can be encode in base 85.
21:59 lue Although, You'd have to consult with mathematicians on what to do above base 36...
21:59 aesop joined #perl6
22:00 mberends lue: colomon++ is a mathematician, and most probably talks to himself :)
22:03 justatheory joined #perl6
22:06 moritz_ http://nopaste.snit.ch/20017
22:06 moritz_ it's a regex, and I have no idea why it does not match
22:07 lue rakudo: say Q:PIR{16,"16D","4",1}
22:07 p6eval rakudo 3075a5: OUTPUT«error:imcc:syntax error, unexpected INTC ('16')␤   in file 'EVAL_1' line 64␤␤»
22:08 lue how do you run PIR code directly from P6
22:08 moritz_ lue: like you did
22:08 moritz_ lue: except that 16,"16D","4",1 is not valid PIR code
22:09 lue I wish to run a specific function (&radcalc)
22:10 moritz_ alpha: Q:PIR{ 'radcalc'() }
22:10 jnthn lue: you can just call that from Perl 6 :-0
22:10 p6eval alpha 30e0ed: OUTPUT«too few positional arguments: 0 passed, 1 (or more) expected␤in Main (file <unknown>, line <unknown>)␤»
22:10 jnthn radcalc(...)
22:10 moritz_ alpha: Q:PIR{ 'radcalc'(1) }
22:10 p6eval alpha 30e0ed: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤in Main (file <unknown>, line <unknown>)␤»
22:10 moritz_ alpha: Q:PIR{ 'radcalc'(1, 2) }
22:10 p6eval alpha 30e0ed: OUTPUT«radix out of range (2-36)␤in Main (file <unknown>, line <unknown>)␤»
22:10 moritz_ alpha: Q:PIR{ 'radcalc'(2, 2) }
22:10 p6eval alpha 30e0ed:  ( no output )
22:10 jnthn rakudo: radcalc(1,2)
22:10 p6eval rakudo 3075a5: OUTPUT«Could not find non-existent sub &radcalc␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
22:10 moritz_ apha: radcalc(2, 3)
22:10 jnthn Maybe evalbot is behind
22:10 moritz_ alpha: radcalc(2, 3)
22:10 jnthn I think colomon++ just comitted that
22:10 p6eval alpha 30e0ed:  ( no output )
22:11 moritz_ alpha: say radcalc(2, 3)
22:11 p6eval alpha 30e0ed: OUTPUT«3␤»
22:11 moritz_ alpha: say radcalc(2, '11')
22:11 p6eval alpha 30e0ed: OUTPUT«3␤»
22:12 moritz_ jnthn: have you looked at my nopaste? any idea why it fails?
22:12 lue colomon: did you copy this straight from alpha?
22:12 jnthn moritz_: I think I forgot/missed that?
22:12 moritz_ jnthn: http://nopaste.snit.ch/20017
22:12 jnthn looking
22:14 moritz_ rakudo: say 't' ~~ /<-[\t]>/
22:14 p6eval rakudo 3075a5: OUTPUT«␤»
22:14 moritz_ it doesn't parse \t in char classes, it seems :(
22:14 jnthn rakudo: say "foo" ~~ /<-["\\\t\n]>+/
22:14 m6locks hmm t/spec/S04-statements/for.rakudo Failed test:  49
22:14 p6eval rakudo 3075a5: OUTPUT«foo␤»
22:14 moritz_ rakudo: say 'foo' ~~ /<-[\t]>/
22:14 moritz_ rakudo: say 'foo' ~~ /<-[\t]>+/
22:15 p6eval rakudo 3075a5: OUTPUT«f␤»
22:15 p6eval rakudo 3075a5: OUTPUT«foo␤»
22:15 moritz_ rakudo: say 'foto' ~~ /<-[\t]>+/
22:15 p6eval rakudo 3075a5: OUTPUT«fo␤»
22:15 * moritz_ bangs head against wall
22:15 jnthn Er. :-/
22:16 * lue is looking at this (radcalc), trying to figure out .HOW it converts things...
22:16 sorear lue: I can do parrot hacking screencasts...
22:17 lue did you read the backlogs? I got a little excited over jnthn's hyperop parsing
22:17 lue :)
22:18 sorear yes
22:19 sorear but I can't do rakudo hacking
22:19 sorear not enough RAM
22:19 sorear Parrot builds in a minute and 50MiB
22:21 lue heh, same here. I'm ssh-ing for that.
22:21 lue that being rakudo
22:22 colomon lue: yes
22:22 colomon sorry, was nomming
22:22 lue yes, you did copy it from alpha?
22:22 colomon yes, I copied it from alpha
22:22 colomon I am a plagiarist!
22:23 lue OK. (I'm guilty of that aswell!)
22:23 lue What were those guys thinking?
22:25 nihiliad joined #perl6
22:25 lue How the heck did they insert something called magnitude? It'd be like me coding imaginary numbers and π into the multi sub infix:<+> function!
22:25 lue (as far as I can tell)
22:25 colomon that's the second half of
22:26 colomon rakudo: say :16<DEAD*16**2>
22:26 p6eval rakudo acc0fc: OUTPUT«14593280␤»
22:26 colomon 16**2 is magnitude
22:26 lue aaah
22:27 lue never had to deal with magnitude. Ever. :)
22:27 lue rakudo: say :16<A>; say :16<A*16**2>
22:27 p6eval rakudo acc0fc: OUTPUT«10␤2560␤»
22:27 colomon I'm not really sure why you'd want it, particular when it should be the same as
22:27 colomon rakudo: say :16<DEAD> * 16 ** 2
22:27 p6eval rakudo acc0fc: OUTPUT«14593280␤»
22:28 colomon but it's in STD
22:28 lue rakudo: say :16<A>; say :16<A*16**2>; say :16<A> * 16 ** 2
22:28 p6eval rakudo acc0fc: OUTPUT«10␤2560␤2560␤»
22:28 moritz_ colomon: maybe it's an artifact back from the days where some compound numbers like 1+2i where parsed as a single term
22:28 lue rakudo: say :16<A+3i>
22:28 p6eval rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<A+3i>"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:29 lue rakudo: say :16<A*-1**(1/2)>
22:29 p6eval rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<A*-1**(1/"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:29 lue rakudo: say :16<A>*-1**(1/2)
22:29 p6eval rakudo acc0fc: OUTPUT«-10␤»
22:30 lue rakudo: my $a=3+6i; say :16<$a>
22:30 colomon moritz_: since those days were only like a month ago, I don't doubt you are right.  :)
22:30 p6eval rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<$a>"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:30 lue magnitude seems pretty uneccessary. I just go ahead and delete it...
22:30 lue *POOM!*
22:31 lue rakudo: say :16<A*sqrt(-1)>
22:31 p6eval rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<A*sqrt(-1"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:32 lue rakudo: say :16<A>*sqrt(-1)
22:32 p6eval rakudo acc0fc: OUTPUT«NaN␤»
22:32 jnthn Looks like I'm going to Russia next month to talk about Perl 6 and Rakudo. \o/
22:32 meppl joined #perl6
22:32 lue hoorah \o/ (i guess...) :)
22:32 jnthn Provided I can get a visa... :-/
22:32 colomon \o/
22:32 jnthn Well, they've let me in (and out!) twice before. :-)
22:32 * jnthn needs to dust off his awful Russian
22:33 jnthn Besides a few flirty comments, I've not actually spoken it for...youch...over a year.
22:36 jnthn colomon: hyper parsing coming along..."just" struggling on the transparency.
22:36 colomon transparency in dependency, or something else?
22:36 jnthn >>+<< is meant to have the precedence of +, >>*<< os meant to have the precednece of *, etc
22:36 jnthn It's not quite a copy-paste from STD. :-/
22:37 jnthn *is
22:37 colomon right, we need that for Rop and !op too.
22:37 jnthn Yeah, thus I'll be pleased to fathom it here.
22:37 jnthn ooh, it's beer o'clock1
22:39 mberends it was cider o'clock long ago on .nl, now nearing sleep o'clock
22:39 colomon cider o'clock here in Michigan.
22:39 pugssvn r30144 | colomon++ | [t/spec] Fudge radix.t so it works in Rakudo.
22:39 colomon lue: you can use S02-literals/radix.t to test any changes you make.  :)
22:40 * moritz_ gives :16($foo) a shot
22:40 jnthn mberends: .jnthn is a couple of hours off .nl
22:41 colomon go moritz_++ go!
22:41 moritz_ it's the first time I greate A PAST::anything, so keep your fingers crossed...
22:41 skim left #perl6
22:41 jnthn Ich hab ein bier von unchenn!
22:41 colomon radix.t can be turned on now, but I've got to run to fetch future nom.
22:41 jnthn Or...or aus Munchen...
22:42 moritz_ parsing it is easy, just needed to remove a # sign from the gramar
22:42 moritz_ did you mean: München? :-)
22:42 jnthn Yes, that one
22:42 jnthn :-)
22:42 jnthn moritz_: Which preposition did I want? :-)
22:43 jnthn <- never actually learned German, just makes it up and usually fails
22:43 moritz_ "aus München" is correct
22:44 moritz_ but you would say "trinke", not "hab" :-) (at least that's what I think you do...)
22:45 * lue is fully prepared to completely overhaul &radcalc, and take a marker to the spec and cross out "magnitude" (convince me the marker is not needed, and I'll stop.)
22:46 jnthn moritz_: Ah, was going for "I have a ", but yes, "I'm drinking a" is better :-)
22:46 jnthn ooh, it's not a bad beer at all :-)
22:47 jnthn lue: Does keeping magnitude in tormet you?
22:47 lue if it's unneccessary, then yes.
22:47 jnthn Perl 6 is designed to torment those implementing it. ;-)
22:48 jnthn (for the sake of those using it... :-))
22:48 lue the thing is, you can easily apply this so-called 'magnitude' outside of the conversion.
22:48 moritz_ let's just wait for TimToady's decree... if he says it's really superfluous, then I'm all for scraping it
22:49 lue It's unnecessary bunches of coding!
22:49 lue rakudo: say :16<16D>*2**16; say :16<16D*2**16>
22:49 p6eval rakudo acc0fc: OUTPUT«23920640␤23920640␤»
22:50 jnthn It does look like it could easily enough to away.
22:50 jnthn It's not that the magnitude is meant to be parsed in base 16 too, is it?
22:50 jnthn oh, wait
22:51 colomon spec says magnitude can be in other bases.
22:51 jnthn ah, ok
22:51 colomon buuuut.... so can external stuff, too.
22:51 jnthn colomon: oh ouch...guess what?
22:51 jnthn colomon: Actually setting the $<O> seems to work.
22:51 colomon rakudo: say :16<16D>*:16<4> **:3<2>
22:51 p6eval rakudo acc0fc: OUTPUT«5840␤»
22:51 moritz_ :16<AE*:16<EF>**3> or what?
22:51 colomon no freaking way!
22:51 jhuni joined #perl6
22:51 jnthn colomon: It explodes...inside the operator precedence parser. O_O
22:52 jnthn ...I never valued my sanity anyway.
22:52 * jnthn goes the explore.
22:52 colomon moritz_: yes, that's how I read the regexes.
22:53 colomon nom fetching for real this time...
22:53 Garry4758 joined #perl6
22:53 lue the spec has yet to convince me it NEEDS to allow it within the conversion :)
22:54 xomas joined #perl6
22:54 xomas joined #perl6
22:54 moritz_ colomon: S02 actually has an example for that
22:54 lue I'm going to redo &radcalc anyway, the magnitude just needs to be added afterwards :)
22:54 moritz_ :2«1.1*:2<10>**:2<10>»      6
22:55 * moritz_ stupid
22:55 moritz_ mis-spelling type names of PAST::Foo things give nasty errors
23:02 lue Ought to get some noms aswell. After that, I'm-a gonna start on rewriting &radcalc.
23:03 * moritz_ finds it more appealing to do stuff than to announce doing it all over again
23:06 baest_ joined #perl6
23:07 doublec_ joined #perl6
23:09 literal_ joined #perl6
23:09 MOAR-f00li5h joined #perl6
23:09 Lorn_ joined #perl6
23:09 moritz_ in Perl6::Actions, what does $<capture>.ast return? a PAST::something object?
23:09 jnthn moritz_: Usually, yes.
23:10 jnthn moritz_: What you get from .ast is what capture's action method set using "make"
23:10 jnthn So you can check by looking at the action method for "capture"
23:11 yahooooo7 joined #perl6
23:11 moritz_ so if "capture" is well-behaved I can use the result of $<capture>.ast as  an argument for a PAST::Op call?
23:11 moritz_ seems I can \o/
23:11 jnthn Yes.
23:12 * moritz_ can haz a patch for :16($thing)
23:12 moritz_ just needs to spectest
23:12 jnthn \o/
23:13 hanekomu_ joined #perl6
23:14 * mberends splits to bed. 'nite all o/
23:14 jnthn night o/
23:15 pugssvn r30145 | moritz++ | [t/spec] enable a few radix tests for rakudo
23:18 dalek rakudo: 1cf0766 | moritz++ |  (3 files):
23:18 dalek rakudo: handle :16($thing) style numbers
23:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​cf07662130fe88b560c3df03383a6b440d6499e
23:18 pugssvn r30146 | moritz++ | [t/spec] more unfudges in radix.t
23:20 lichtkind joined #perl6
23:23 lichtkind ruoso: great
23:23 clintongormley joined #perl6
23:23 allbery_b joined #perl6
23:23 TiMBuS joined #perl6
23:25 masonk joined #perl6
23:25 lue moritz_: it's called getting distracted :)
23:26 lue did you just fix using variables in :16 ?
23:26 lue rakudo: my $a="2A"; say :16<$a>
23:26 p6eval rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<$a>"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
23:30 sorear jnthn: I think I want to kill return_value_helper.
23:31 TimToady internal magnitude is not superfluous if you with the user to be able supply it, as in :16($*IN.get)
23:32 TimToady moritz_: ^^
23:32 justatheory joined #perl6
23:32 TimToady it's one of those place we're trying to avoid forcing use of eval()
23:33 lue ah. Thanks TimToady!
23:33 ruoso TimToady, have you seen the versioned dependencies thread?
23:33 lue TimToady: can you give me the ability to close rakudobugs at rt.perl.org?
23:33 TimToady ruoso: no
23:34 TimToady lue: no, I don't know how myself
23:34 TimToady I'm very negative today :)
23:34 lue Ah well. (so who CAN give those permissions to me?)
23:35 jnthn lue: I can't. :-(
23:35 jnthn moritz_ may know
23:35 lue And of course, he (seemingly) left :)
23:35 jnthn Oh. D'oh.
23:38 mberends joined #perl6
23:38 jnthn mberends: Short sleep!
23:39 mberends jnthn: a bug was bugging me ;)
23:39 mberends rakudo: "foo:" ~~ / (\S+) ':' / and say "matched $0" # steals the :
23:39 p6eval rakudo acc0fc:  ( no output )
23:40 mberends er, locally says "matched foo:"
23:40 colomon moritz_++
23:40 sorear no output!
23:40 colomon but why didn't you reactivate the :16[ ] form, too?  I bet your action works for it already...
23:41 mberends rakudo: "foo:" ~~ / <-,:]>+ ':' / and say "matched $0" # steals the :
23:41 p6eval rakudo acc0fc: OUTPUT«Confused at line 11, near "\"foo:\" ~~ "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
23:41 mberends rakudo: "foo:" ~~ / <-[:]>+ ':' / and say "matched $0"
23:41 p6eval rakudo acc0fc: OUTPUT«matched Any()␤»
23:41 mberends rakudo: "foo:" ~~ / <-[:]>+ ':' / and say "matched " ~ $0
23:41 p6eval rakudo acc0fc: OUTPUT«matched Any()␤»
23:43 [synth] joined #perl6
23:43 synth joined #perl6
23:44 lue can't see why the fraction keeps getting chopped away...
23:44 lue rakudo: say :16<16D.4>
23:44 p6eval rakudo acc0fc: OUTPUT«365␤»
23:44 lue rakudo: say radcalc(16,'16D','4',1)
23:44 p6eval rakudo acc0fc: OUTPUT«365␤»
23:45 justatheory joined #perl6
23:46 lue rakudo: say :16<.4>
23:46 p6eval rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<.4>"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
23:46 lue rakudo: say :16<0.4>
23:46 p6eval rakudo acc0fc: OUTPUT«0␤»
23:50 M_o_C joined #perl6
23:57 justatheory joined #perl6

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

Perl 6 | Reference Documentation | Rakudo