Camelia, the Perl 6 bug

IRC log for #perl6, 2011-08-28

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:01 Juerd left #perl6
00:33 buubot_backup joined #perl6
00:39 cexsum joined #perl6
00:40 uvtc joined #perl6
00:41 uvtc left #perl6
00:43 Alias joined #perl6
00:46 silug joined #perl6
00:56 ruz I've changed nqp's source, what's next step?
01:03 jevin joined #perl6
01:50 daniel-s joined #perl6
02:21 [Coke] joined #perl6
02:23 daniel-s joined #perl6
02:30 Khisanth joined #perl6
02:30 frhodes joined #perl6
03:23 Su-Shee_ joined #perl6
03:36 Moukeddar joined #perl6
04:05 [particle]1 joined #perl6
04:15 lateau_ joined #perl6
04:16 Khisanth joined #perl6
04:18 lateau_ left #perl6
04:27 lateau_ joined #perl6
04:27 kaare_ joined #perl6
04:28 drbean joined #perl6
04:36 woosley joined #perl6
05:02 Khisanth joined #perl6
05:07 birdwindupbird joined #perl6
05:16 moritz recompile, install, test rakudo with the newly installed nqp
05:26 Khisanth joined #perl6
05:54 dalek rakudo/nom: 1848338 | moritz++ | / (4 files):
05:54 dalek rakudo/nom: change names of backtrace classes to match spec
05:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1848338658
06:12 jdhore1 joined #perl6
06:58 JimmyZ joined #perl6
07:15 cotto joined #perl6
07:27 wamba joined #perl6
07:57 Khisanth joined #perl6
08:05 [particle] joined #perl6
08:12 mj41 joined #perl6
08:13 wamba joined #perl6
08:25 sorear good * #perl6
08:25 sorear TimToady: I do not know what is going on there.  Some bug.  I know I have/had is equiv working in at least some cases.
08:26 Khisanth joined #perl6
08:27 mberends hi sorear
08:27 mberends I'm working with diakopter on sprintf() for Niecza
08:28 sorear cool.
08:29 mberends sorear: how do I create an instance of Variable (or SimpleVariable) from a C# string?
08:29 sorear Kernel.BoxAnyMO("string", Kernel.StrMO)
08:29 im2ee joined #perl6
08:29 mberends thanks :)
08:30 * sorear is pretty busy now but will spend the next few mins recreational-hacking
08:30 sorear I need words for different sizes of now
08:31 moritz you mean like "now" vs. "these days" vs. "contemporary"?
08:32 meth joined #perl6
08:32 meth will cpan be usable still ?
08:32 mberends meth: eventually, but no idea how soon
08:33 meth how is that even possible ?
08:33 sorear "still" implies a lack of understanding
08:33 meth the language is so different..
08:33 meth yes I have no understanding that's why i ask
08:34 sorear perl was forked.  perl 6 competes with perl 5.14
08:34 mberends when the itch for p6 in cpan becomes intense enough, the cpan developers will probably scratch it.
08:34 JimmyZ http://www.cpan6.org/design-en.html
08:35 meth well what I'm getting at is will perl 5 repository be usable from perl6 or will it all have to be rewritten ?
08:35 sorear JimmyZ: cpan6 is considered a joke around here
08:35 mberends JimmyZ: that is vapourware
08:35 sorear meth: We think most of it will be usable.
08:36 meth how is that possible though ? like binary compatibility or something ?
08:36 sorear meth: Infrastructural things like Moose (especially, all things with XS) will probably want to be rewritten
08:36 meth some kind of binding ?
08:36 sorear our primary goal is compatibility for darkpan
08:37 sorear however, the compatibility layer is still some years off.  Early adopters are referred to Blizkost, which embeds a P5 interpreter into Parrot and allows for communication
08:37 masak joined #perl6
08:37 sorear it's not transparent, but it does allow bidirectional calling and data transfer
08:37 masak Sunday salutations, #perl6
08:38 JimmyZ \o masak
08:38 sorear o/ masak.
08:38 meth yea so it's like writing bindings or something
08:38 meth ffi for example
08:38 sorear Pretty much.
08:39 sorear It does automate memory management
08:40 sorear masak: hmm.  ISTR you saying something about a STD::P5 hackathon at $VENUE some months ago.
08:40 masak sorear: yes. it's gained a few degrees more of reality since then.
08:40 Su-Shee sorear: why would you rewrite moose with perl6's MOP in place?
08:40 meth oo nasty hll compiler interface.. sounds weird
08:40 sayu joined #perl6
08:40 meth doesn't sound very native feeling
08:41 masak meth: well, that's VMs for ya,
08:42 meth am i correct to think that perl6 supports multidimensional structures now without so much perlreftut fuss ?
08:42 masak yes.
08:42 meth kind of seemed like all the references went away
08:42 masak in a way yes, in a way no.
08:43 masak std: my @matrix[ 10; 10 ]; say @matrix[ 4; 7 ]
08:43 p6eval std e3c970e: OUTPUT«ok 00:01 121m␤»
08:43 sayu Hello
08:43 masak sayu: hallo!
08:43 JimmyZ aloha
08:44 sorear Su-Shee: compatibility
08:44 Su-Shee sorear: uhm? who to what?
08:44 meth was perl 6 started by another group or something ?
08:44 meth maybe it should be renamed to another language
08:45 sorear meth: Perl 6 was started by Larry Wall.
08:45 meth Allot of it seems to moving towards other languages.. like Ruby and Lisp
08:45 sorear Perl 5.10 was an unauthorized (but entirely justified) creation of Jesse Vincent et al.
08:46 meth and python with it's lisp comprehensions
08:46 meth who what ?
08:46 Su-Shee meth: and before you dive into the naming discussion: how is the name relevant? do you like the language? can it do what you want? then use it no matter wether it's called klaus-dieter or perl 30948532. ;)
08:46 mberends Su-Shee: :)
08:46 sorear meth: the perl5-porters were impatient.
08:46 masak meth: Perl 6 needs a rename like it needs a hole in the head.
08:46 Su-Shee meth: "towards moving other languages"?
08:47 meth defer reminds me of amb in lisp
08:47 moritz meth: Perl 6 is a different language than Perl 5, but it's still Perl
08:47 meth @array[index] without need for different sigil or the derefs we talked about for multidimentional structures is more like other languages too
08:47 sorear Su-Shee: lots of darkpan code does 'use Moose;' and then expects Class::MOP::Class->create(...) to work.
08:48 sorear Su-Shee: we need to emulate the API on top of Parrot/Niecza
08:48 meth many things are moving towards being objects now like Array and Hash
08:48 mberends meth: evolving languages often steal good ideas from each other, and that's a good thing
08:48 sorear Su-Shee: since both systems have native attributes and roles, Moose.pm6 will likely be *much* smaller than CMOP/Moose
08:48 meth heh yea
08:48 sorear Su-Shee: but it needs to exist.
08:49 meth i agree just pointing out that it's becoming more like others in that regard.. which yes i hope i wake up in a few years and never have to deal with more perl refs again :]
08:49 masak meth: the deref thing that you're talking about is mostly syntax, in my opinion. it makes things look nicer, but it's not that big a change.
08:49 masak you still have to "deal with perl refs" sometimes.
08:49 sorear meth: Perl 6 does not have a "reference" type at all.  That is dead and buried. \o/
08:49 meth hm how so ? you're able to rewind state of the environment and undo changes and try another execution path.. did perl5 have that ?
08:50 Su-Shee sorear: I'm so very much not going to wrap my moose projects into perl 6 I can't even tell you how much I'm not going to do that. either I rewrite in 6 or it stays moose. either new projects are going to be 6 or they will be moose.
08:50 sorear meth: um, what are you reading?
08:50 masak ;)
08:50 meth i read the perl6 spec
08:50 masak dangerous stuff.
08:50 masak meth: regexes behave the way you suggest, in both Perl 5 and Perl 6.
08:51 Su-Shee meth: you realize that perl 5.14 already released features to deal with less dereferencing?
08:51 meth su-shee yea some what
08:51 meth masak ok..
08:51 sorear Su-Shee: I never said you would use Perl 6 syntax.
08:52 sorear Su-Shee: Moose.pm6 is necessary in order to achieve the goal of "Perl 6.0 can parse and execute a majority of existing Perl 5 code'
08:52 REPLeffect joined #perl6
08:52 Su-Shee sorear: but the majority of existing perl code doesn't even use moose?
08:52 sorear I give up.
08:53 meth http://perlcabal.org/syn/S17.html#Concurrency
08:53 meth that's what i read
08:53 Su-Shee sorear: as you wish.
08:53 sorear meth: S17 isn't ready for public consumption yet.
08:53 meth check out maybe/defer
08:53 meth so ?
08:53 masak meth: some synopses are less "solid" than others.
08:53 meth I'm not using perl6 just reading about it
08:54 masak meth: S17, by and large, isn't very solid yet. it will contain falsehoods.
08:54 sorear meth: S02-S14, S17, S29, and S32 are the ones that are useful in their current states.
08:54 meth what's the name of that stuff that lets you create an object that "could" be multiple objects and then randomly becomes one when you work with it ? something that acts like quantum physics or something
08:54 sorear meth: er, S19, not S17
08:55 masak meth: junctions.
08:55 sorear meth: a very old and broken metaphor for junctions
08:55 masak meth: but it never 'becomes one' randomly. it becomes all of them.
08:55 meth heh ok ..
08:55 sorear junctions are a linguistic thing
08:56 sorear all($x,$y,$z) < 10 means $x < 10 && $y < 10 && $z < 10
08:56 meth yea
08:56 meth that could just be a map operation
08:56 sorear an early prototype of junctions was Quantum::Superpositions, but true superpositions follow entirely different laws
08:56 sorear yes
08:57 sorear it is *exactly* a map operation
08:57 Su-Shee left #perl6
08:57 meth are they all just maps ?
08:57 meth i have to read about them one sec
08:58 meth why the whole need for OUTER ?
08:58 meth i mean I'm sure you had good reason or something but just wondering
08:59 sorear metalinguistic.
08:59 sorear niecza: my $x = 2; { my $x = 4; say $OUTER::x }
08:59 p6eval niecza v8-57-ga89a9a6: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/eMU4V96Lob line 1:â�¤------> [32mmy $x = 2; { my [33mâ��[31m$x = 4; say $OUTER::x }[0mâ�¤â�¤2â�¤Â»
08:59 lue joined #perl6
09:00 sorear I wouldn't call it particularly useful in practice, but the fact that we have a name for it makes it much easier to talk about the language
09:01 sorear phenny: tell diakopter *frown* you've checked in half a megabyte of versions of lib/Solution/Niecza/Niecza.pidb.  Is it really necessary to have this file under version control?  It looks like debug information to me.
09:01 phenny sorear: I'll pass that on when diakopter is around.
09:01 meth idk what's up with +< instead of << :[
09:02 sorear Perl 6 is TimToady's grand plan to change the norms of programming language design.
09:02 meth don't see the point in the one above though
09:03 meth they should relinquish "say" as a keyword I would think since any block can have CATCH
09:03 mberends meth: << was better employed as the "Texas" version of «
09:03 meth oops i mean "try"
09:04 meth idk but binary operators have been around since c... and the over use of + will lead to really confusing code i would think but that's just guessing
09:05 mberends meth: you should be a language designer! ;)
09:05 meth heh i like to read about it but as stands i can't compete :p
09:05 mberends :p
09:06 meth i mean for math, then you can overload them, binary operators, then context operators, then what else ?
09:07 pmichaud I think "try" is kept as a keyword so that a block isn't required.
09:08 pmichaud i.e., one can write     try xyz();   and not have to write   { xyz(); CATCH { ... } }
09:08 pmichaud (good morning, #perl6)
09:08 sorear hi pmichaud
09:08 mberends good *, pmichaud
09:09 meth hm you mean try xyz() CATCH ?
09:09 meth I'm going to miss the modulo operator :.[
09:09 masak hi pmichaud
09:09 sorear rakudo: say 5 % 2
09:09 p6eval rakudo a55346: OUTPUT«1␤»
09:09 sorear eh?
09:09 pmichaud meth: no, I don't think that's what I meant.
09:10 orafu joined #perl6
09:10 sorear hmm
09:10 sorear niecza: sub a { die("foo") ; CATCH {return "foo"}}; say a()
09:10 p6eval niecza v8-57-ga89a9a6: OUTPUT«Nil␤»
09:10 meth is terrenary operator still around ?
09:10 sorear rakudo: say True ?? 5 !! 2;
09:10 pmichaud meth: it's now  ?? !!   instead of ? :
09:10 p6eval rakudo a55346: OUTPUT«5␤»
09:10 meth pmichaud you serious ???
09:11 mberends meth: you said you were reading the specs!
09:11 pmichaud meth: about ??!!, yes
09:11 pmichaud ?? !! makes much more sense than ? :
09:11 masak meth: I used ?? !! back when it was ?? ::
09:11 masak meth: I like ?? !! better.
09:11 pmichaud in Perl 6, "?" means "truth part" and "!" means "false part"
09:11 mberends ?? is the same size as && and ||, and !! means not (for the else case)
09:12 pmichaud in general, we use ? and ! for boolean things
09:12 meth how ?
09:12 masak also, both && and ??!! are short-circuiting, in a sense.
09:12 masak rakudo: say ?7; say !7
09:12 sorear what's happening here (mls' "bug") is that CATCH is being called from within the dynamic scope of &die, and so return causes die to return
09:12 p6eval rakudo a55346: OUTPUT«Bool::True␤Bool::False␤»
09:12 sorear effectively CATCH { return } becomes a resume operator.
09:12 masak sorear: hm, interesting.
09:13 sorear this will be fixed once niecza gets lexotic returns
09:13 meth some things also remind me of shell scripting now
09:14 meth for instance ~@array
09:14 meth <<foo $bar bat>>
09:14 sorear those are called "shell quotes".
09:14 meth who what ?
09:15 meth ah you mean i should of called it shell quoting
09:15 pmichaud off to try to get some sleep before the sun rises
09:15 pmichaud bbl
09:16 sorear meth: we, as a community of linguists, need names for things like that.
09:16 sorear meth: I don't care what you call them, but we call them "shell quotes".
09:16 meth heh cool
09:16 meth thanks
09:17 pmichaud .oO( what do we call people who need names for things? :)
09:18 meth namists
09:19 sorear phenny: tell TimToady your problem was you used "multi" for the operators.  Precedence needs to apply to the entire sub, not specific candidates
09:19 phenny sorear: I'll pass that on when TimToady is around.
09:20 sorear phenny: tell TimToady (that said, niecza doesn't know how to propagate traits from proto to dispatch either - precedence will only work on "only" subs)
09:20 phenny sorear: I'll pass that on when TimToady is around.
09:20 meth multi subs... feel like he was trying to talk about lips multi methods or generic functions ?
09:20 meth lisps*
09:20 sorear meth: more like CLOS' multi methods, although I doubt they originated there.
09:21 meth Being able to create an object that can act like a hash or array is cool but then again why even require the @ or % sigil's at all anymore ? They could of just made [] a method call and Array and Hash builtins..
09:22 meth s/and/on/
09:25 sorear [] *is* a method call.
09:26 sorear masak: what amused me was after I had done nontrivial playing-with of automated testing and proof systems and realized that they were related.
09:27 meth if it is a method call then why require @ , % , $ ? could just require non of them ..
09:27 REPLeffect joined #perl6
09:28 meth i assume then that {} is a method call too ?
09:29 sorear yes
09:29 sorear [], {}, and () are funny syntax that calls a method named "postcircumfix:<[ ]>" etc
09:30 sorear niecza: my $name = 'postcircumfix:<[ ]>'; my @array = 2,4,6; say @array."$name"(2)
09:30 p6eval niecza v8-57-ga89a9a6: OUTPUT«6␤»
09:30 meth hm... where does () apply ? are you saying that a class can actually be called with () ?
09:30 meth like $o = Obj.new; $o() ?
09:31 sorear niecza: class Obj { method postcircumfix:<( )>($x, $y) { say "called($x, $y)" } }; my $o = Obj.new; $o(5, 12);
09:31 p6eval niecza v8-57-ga89a9a6: OUTPUT«called(5, 12)␤»
09:31 meth cool
09:31 meth can't do that in most other languages
09:31 sorear the builtin class Code (common ancestor of Sub, Method, Block, Regex, etc) has a postcircumfix:<( )> method
09:33 meth oh wow Sub is a class ?
09:33 sorear rakudo: sub foo() { }; say &foo.^methods(:local).map(*.name)
09:33 p6eval rakudo a55346: OUTPUT«␤»
09:34 sorear rakudo: sub foo() { }; say &foo.^parents;
09:34 p6eval rakudo a55346: OUTPUT«Routine()Block()Code()Cool()Any()Mu()␤»
09:34 sorear rakudo: sub foo() { }; say &foo.WHAT;
09:34 p6eval rakudo a55346: OUTPUT«Sub()␤»
09:34 sorear rakudo: sub foo() { }; say ~Code.^methods(:local);
09:34 meth who the what
09:34 p6eval rakudo a55346: OUTPUT«new assuming callwith multi name perl signature do Str of returns␤»
09:35 sorear hmm, actually I think Rakudo is cheating a bit here
09:36 sorear there's an inherent circularity here - method calls work by looking up a Method object, then calling its postcircumfix:<( )> method
09:36 sorear nom: sub foo() { }; say ~Code.^methods(:local);
09:36 p6eval nom 184833: OUTPUT«Method 'Stringy' not found for invocant of class 'Sub'␤  in method join at src/gen/CORE.setting:823␤  in method Str at src/gen/CORE.setting:3780␤  in method Str at src/gen/CORE.setting:3200␤  in method Stringy at src/gen/CORE.setting:530␤  in sub prefix:<~> at src/gen…
09:36 mkramer joined #perl6
09:36 sorear nom: sub foo() { }; say Code.^methods(:local);
09:36 p6eval nom 184833: OUTPUT«Method 'gist' not found for invocant of class 'Sub'␤  in method gist at src/gen/CORE.setting:3231␤  in sub say at src/gen/CORE.setting:4613␤  in <anon> at /tmp/62sYypGKMc:1␤  in <anon> at /tmp/62sYypGKMc:1␤␤»
09:36 sorear nom: sub foo() { }; say Code.^methods(:local).map(*.name)
09:36 p6eval nom 184833: OUTPUT«Method 'name' not found for invocant of class 'Whatever'␤  in <anon> at /tmp/xXZ9O6RuPD:1␤  in <anon> at /tmp/xXZ9O6RuPD:1␤␤»
09:36 sorear nom: sub foo() { }; say Code.^methods(:local).map(sub ($x) { $x.name })
09:36 p6eval nom 184833: OUTPUT«Unmarshallable foreign language value passed for parameter '$x'␤  in sub <anon> at /tmp/hMvieaR977:1␤  in method reify at src/gen/CORE.setting:3597␤  in method reify at src/gen/CORE.setting:3502␤  in method reify at src/gen/CORE.setting:3502␤  in method gimme at src/g…
09:37 sorear nom: sub foo() { }; say Code.^methods(:local).map(sub (\$x) { $x.name })
09:37 p6eval nom 184833: OUTPUT«Unmarshallable foreign language value passed for parameter '$x'␤  in sub <anon> at /tmp/PvrLvTIDKa:1␤  in method reify at src/gen/CORE.setting:3597␤  in method reify at src/gen/CORE.setting:3502␤  in method reify at src/gen/CORE.setting:3502␤  in method gimme at src/g…
09:37 sorear *sigh*
09:38 flussence > Code.^methods(:local)».name
09:38 flussence Segmentation fault
09:38 flussence :/
09:39 sorear flussence: local nom?
09:40 sorear meth: do you need niecza:, rakudo:, and nom: explained?
09:41 jaldhar joined #perl6
09:42 meth yea idk i can't think of why not to get rid of $, @, %
09:42 sorear phenny: tell TimToady In your last std commit, what's the comment about P5isms and P6isms about?
09:42 phenny sorear: I'll pass that on when TimToady is around.
09:44 sorear meth: that's a very good question and you should ask TimToady it.
09:44 flussence sorear: yep
09:44 sorear meth: he'll probably be up in a few hours.
09:45 meth well I'd be amazed if he wasn't aware of the idea
09:45 meth i mean that's how other languages already do it
09:45 flussence limiting your vocabulary for no good reason makes bad code - http://lwn.net/Articles/454716/
09:45 meth look at like ruby or javascript or lua
09:46 whiteknight joined #perl6
09:46 meth ooo looks like a good read
09:46 jdhoreOTG joined #perl6
09:48 meth yea i mean as far as junctions go.. any() ~ "a" couldn't that just be Array ~ "a" ?
09:49 flussence Arrays don't autothread.
09:49 meth ah but they should! i thought that was a big thing in perl6 loops anyway ?
09:49 meth and something like Array ~ "a" would be implemented as a loop..
09:50 flussence Explicitly sequential data structures can not safely be operated on in parallel due to potential side effects
09:51 masak sorear: [automated testing and proof systems related] interesting. is it easy to explain how?
09:51 meth why not ? ~ is just testing there is no side affect ?
09:51 masak meth: operative words being "potential" :)
09:52 sorear meth: a Junction is more than just an array, it also has a sense.
09:52 sorear meth: any($x,$y) < 10 and all($x,$y) < 10 mean different things
09:52 meth yea but just cause i use a junction doesn't mean my list isn't just as potentially in trouble as if it was an array
09:53 sorear masak: they're both about saying what you mean twice in two very different ways and having the computer check for discrepencies.
09:53 meth what do you mean a sense ?
09:53 sorear meth: any, all, one, none.
09:54 meth so ?
09:54 meth @a=1,2; @a.any(<10) if perl6 has partials or @a.any{$_<10} etc..
09:57 wamba joined #perl6
09:57 TiMBuS yes, that works
09:57 meth it oes ?
09:58 meth does *
09:58 masak sorear: oh, fair enough.
09:58 TiMBuS not sure about the method form but, yeah
09:59 meth < is confused
09:59 meth you have an example ?
10:00 TiMBuS uh
10:00 TiMBuS my @a = 1,2,3; say(any(@a) < 2); # is this what you want?
10:00 TiMBuS nom: my @a = 1,2,3; say(any(@a) < 2); # is this what you want?
10:00 p6eval nom 184833: OUTPUT«any(True, False, False)␤»
10:01 meth does that work for hash's as well ?
10:01 TiMBuS lets find out!
10:01 meth anyway my point though was that all those things are basically folds that could be methods on Array
10:02 TiMBuS my @a = 1,2,3; say @a.any #don't think so..
10:02 meth what ?
10:02 TiMBuS hm
10:02 TiMBuS nom: my @a = 1,2,3; say @a.any
10:02 p6eval nom 184833: OUTPUT«any(1, 2, 3)␤»
10:03 meth well i asked if it worked for hash's... say(any(%h)<2)
10:03 flussence why only as Array methods, and not also List, Parcel, Range ... * methods?
10:03 TiMBuS on the keys, or on the vales
10:03 meth don't they all share a common enumerable class or something ?
10:04 meth i guess something just has to act like an array and then you can pass it to say
10:05 meth i mean junctions
10:05 flussence How would you write any($a, $b, $c) as a method call without a wasteful temporary variable?
10:05 meth i guess if you overload your object
10:06 meth you mean $r = any($a,$b,$c)
10:06 meth ?
10:06 meth probably like $r = [$a,$b,$c][rand(2)]
10:06 flussence as in requiring it to be a method on container objects, which you seem to be implying.
10:07 meth well the container is auto created anyway .. it's basically the list formed when calling any
10:08 TiMBuS okay, so i guess the question is: what do you want perl6 to do that it doesn't already do?
10:08 TiMBuS autothread, i assume?
10:09 meth me ? nothing.. just contemplating
10:09 TiMBuS oh
10:09 meth i thought loops in perl6 will auto thread if the optimizer thinks it's safe and worth it ?
10:09 TiMBuS maybe, if we even had an optimizer
10:09 TiMBuS hyper operators are also supposed to autothread
10:10 meth idk that's one of the features i remember reading about years ago in perl 6
10:10 TiMBuS a long time ago for all(@array) { } was going to autothread
10:11 meth heh.. yea i mean i been reading about perl6 so long idk when it's going to happen
10:11 TiMBuS well to autothread, perl first needs to thread
10:11 TiMBuS and it doesnt ;/
10:11 flussence perl6: (1..5)».say
10:12 p6eval pugs: OUTPUT«decodeUTF8': bad data: '\187'␤2␤3␤4␤5␤1␤»
10:12 p6eval ..rakudo a55346, niecza v8-57-ga89a9a6: OUTPUT«1␤2␤3␤4␤5␤»
10:12 TiMBuS cant tell if it was the bug, or if pugs autothreaded that
10:12 meth from what i read perl6 has allot of concurrency conscious ?
10:13 flussence nom: (1..5)».say
10:13 p6eval nom 184833: OUTPUT«1␤2␤5␤3␤4␤»
10:13 TiMBuS sorta. i guess it comes with needing to be lazy-aware as well
10:13 TiMBuS hoho flussence
10:13 TiMBuS for real?
10:14 flussence IIRC it just shuffles values around to stop people making assumptions about »
10:14 TiMBuS aw
10:14 flussence there is some sort of code there for autothreading though
10:15 TiMBuS i just want normal threads
10:15 TiMBuS not ithreads :/
10:26 meth if Sub is an object then what does that mean for me ? can i like add methods to functions or something ?
10:26 Khisanth joined #perl6
10:26 meth was i also correct to read that perl6 will provide atomic variables ?
10:31 masak meth: yes, Perl 6 is constructed with concurrency in mind.
10:31 masak meth: atomic variables -- we'll see, that's S17 too ;)
10:31 mtk joined #perl6
10:31 masak meth: listening to jnthn++ talk, it seems that the concurrency primitive we'll end up with is CAS.
10:32 masak meth: Sub is an object, and that means that you can ask it various questions about itself and, yes, maybe even change it in different ways.
10:32 masak meth: have you seen .wrap ?
10:32 meth wraps it in a another function ?
10:33 meth will blocks return implicitly ?
10:33 meth i mean like no need for return keyword ?
10:33 meth to "return" a value
10:33 JimmyZ yes
10:33 meth was perl5 like that ?
10:33 meth can't remember
10:33 JimmyZ yeah
10:34 meth ah ok
10:34 meth anyway 6:30am I'm about to pass out
10:34 donri joined #perl6
10:36 mberends /o\
10:38 JimmyZ joined #perl6
10:38 jevin joined #perl6
10:38 Patterner joined #perl6
10:38 huf joined #perl6
10:38 jlaire joined #perl6
10:38 jedai_ joined #perl6
10:38 xinming joined #perl6
10:38 f00li5h joined #perl6
10:38 breinbaas joined #perl6
10:38 jnthn joined #perl6
10:38 sbp joined #perl6
10:38 cognominal joined #perl6
10:38 snarkyboojum joined #perl6
10:38 imarcusthis joined #perl6
10:38 eiro joined #perl6
10:38 aloha joined #perl6
10:38 gabiruh joined #perl6
10:38 broquaint joined #perl6
10:38 Grimnir_ joined #perl6
10:38 athomason joined #perl6
10:38 mikemol joined #perl6
10:38 Gothmog_ joined #perl6
10:38 bs338 joined #perl6
10:38 felipe joined #perl6
10:38 renormalist|work joined #perl6
10:38 phenny joined #perl6
10:38 nsh- joined #perl6
10:38 TimToady joined #perl6
10:38 Grrrr joined #perl6
10:38 jjore joined #perl6
10:38 dukeleto joined #perl6
10:38 tylercurtis joined #perl6
10:38 zb joined #perl6
10:38 \patch joined #perl6
10:38 donri_ joined #perl6
10:38 cotto joined #perl6
10:38 nebuchadnezzar joined #perl6
10:38 Sarten-X joined #perl6
10:38 ponbiki joined #perl6
10:38 pyrimidine joined #perl6
10:38 hillu joined #perl6
10:38 pjcj joined #perl6
10:38 tomaw joined #perl6
10:38 ashleydev joined #perl6
10:38 jtpalmer joined #perl6
10:38 donri joined #perl6
10:39 miso2217 joined #perl6
10:39 pothos joined #perl6
10:39 y3llow joined #perl6
10:39 kthakore joined #perl6
10:39 plobsing_ joined #perl6
10:39 rhr joined #perl6
10:39 Woodi joined #perl6
10:39 sjn joined #perl6
10:39 domm joined #perl6
10:39 literal joined #perl6
10:40 pothos_ joined #perl6
10:40 y3llow joined #perl6
10:40 im2ee joined #perl6
10:40 daemon joined #perl6
10:40 s1n joined #perl6
10:40 Bucciarati joined #perl6
10:40 slavik joined #perl6
10:40 showi joined #perl6
10:40 sftp joined #perl6
10:40 shachaf joined #perl6
10:40 scottp joined #perl6
10:40 jdhoreOTG joined #perl6
10:40 mkramer joined #perl6
10:40 lue joined #perl6
10:40 [particle] joined #perl6
10:40 kaare_ joined #perl6
10:40 sili joined #perl6
10:40 djanatyn joined #perl6
10:40 eternaleye joined #perl6
10:42 orafu joined #perl6
10:42 ZaphrodZenovka joined #perl6
10:42 risou joined #perl6
10:42 tewk joined #perl6
10:42 fhelmberger joined #perl6
10:42 nine joined #perl6
10:42 lumi_ joined #perl6
10:42 LoRe_ joined #perl6
10:42 zamolxes joined #perl6
10:42 jasonmay joined #perl6
10:42 donri joined #perl6
10:42 whiteknight joined #perl6
10:42 buubot_backup joined #perl6
10:42 p6eval joined #perl6
10:42 skangas joined #perl6
10:42 DarthGandalf joined #perl6
10:42 yves joined #perl6
10:42 cotto_work joined #perl6
10:42 pmichaud joined #perl6
10:42 tadzik joined #perl6
10:42 BinGOs joined #perl6
10:42 beppu joined #perl6
10:42 jfried joined #perl6
10:42 ascent_ joined #perl6
10:42 dju joined #perl6
10:42 y3llow_ joined #perl6
10:43 pothos_ joined #perl6
10:43 Khisanth joined #perl6
10:45 pochi joined #perl6
10:45 sunnavy_ joined #perl6
10:45 Trashlord joined #perl6
10:45 PacoLinux__ joined #perl6
10:45 yahooooo joined #perl6
10:48 sftp joined #perl6
11:05 jedai joined #perl6
11:08 araujo joined #perl6
11:09 masak nom: sub foo { say "in the" }; &foo.wrap: sub { say "you're"; callsame; say "army now" }; foo
11:09 p6eval nom 184833: OUTPUT«Method 'wrap' not found for invocant of class 'Sub'␤  in <anon> at /tmp/QuHBfhHRkG:1␤  in <anon> at /tmp/QuHBfhHRkG:1␤␤»
11:09 masak perl6: sub foo { say "in the" }; &foo.wrap: sub { say "you're"; callsame; say "army now" }; foo
11:09 p6eval pugs: OUTPUT«*** No such method in class Sub: "&wrap"␤    at /tmp/Qpr_NUlQp3 line 1, column 27-84␤»
11:09 p6eval ..rakudo a55346: OUTPUT«you're␤in the␤army now␤»
11:09 p6eval ..niecza v8-57-ga89a9a6: OUTPUT«Unhandled exception: Unable to resolve method wrap in class Sub␤  at /tmp/ENYj3dPrih line 1 (MAIN mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2049 (CORE C954_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2050 (CORE module-CORE …
11:09 masak master is still the master.
11:20 MayDaniel joined #perl6
11:24 frhodes joined #perl6
11:32 frhodes joined #perl6
11:39 sayu joined #perl6
11:49 * masak relishes the Sunday-ness of it all
11:49 mberends :D
11:52 masak I'll do some $dayjob after lunch, and then I'll turn to the -n and -p post.
11:52 masak the macros post is next. maybe, just maybe, I'll get it out today too.
11:53 masak (macros are awesome, by the way)
11:54 * mberends imagines an STL for Perl6
11:59 sayu joined #perl6
12:00 * JimmyZ hates STL for C++
12:07 dalek roast: 0124768 | (Martin Berends)++ | S32-str/sprintf.t:
12:07 dalek roast: niecza fudge sprintf("%C", ...)
12:07 dalek roast: review: https://github.com/perl6/roast/commit/012476830f
12:07 masak mberends: I've sometimes been toying with the idea of building a library of several tree/heap/list/hash implementations, all with interfaces that map nicely to what Perl 6 already provides. sort of a Perl 6 version of Java Collections.
12:09 mberends masak: do you mean a library in Java?
12:14 masak no, I mean a set of modules for Perl 6.
12:15 masak usually, we like to pretend that arryas and hashes can build anything in Perl.
12:15 masak and usually, they can. unless you care extra much about performance.
12:23 Khisanth joined #perl6
12:29 cryptographrix joined #perl6
12:33 molaf joined #perl6
12:33 frhodes joined #perl6
12:38 yarp joined #perl6
12:58 frhodes_ joined #perl6
12:59 benabik_ joined #perl6
13:00 drbean joined #perl6
13:25 masak so... when's the merge?
13:25 * masak sits with the finger over "launch RT attack" button
13:29 abercrombie joined #perl6
13:39 jevin joined #perl6
13:46 fission__ joined #perl6
13:54 cexsum joined #perl6
13:55 frhodes joined #perl6
14:01 isBEKaml joined #perl6
14:01 aber joined #perl6
14:07 cryptographrix joined #perl6
14:30 ccc_ joined #perl6
14:35 masak sorear: [re superpositions] have you read something by Scott Aaronson? he refers to the depiction of quantum mechanics as "light being both a wave and a particle" as "the Copenhagenists’ mind-numbing obfuscations". instead, he argues that QM can be seen from an information/probabilities/observables perspective.
14:35 masak cf. http://www.scottaaronson.com/blog/?p=277
14:36 masak he's quite possibly the most interesting (and funniest) scientist in the blogosphere.
14:38 arnsholt "The longer I blog, the more I despair of ever achieving my central goal in life, namely for everyone to like me." Life's eternal dilemma =)
14:40 masak his sedondary goal in life, given further down, is for everyone to understand him :P
14:42 masak http://rosettacode.org/wiki/Ternary_logic#Perl_6 is nice. TimToady++
14:42 masak I laughed at <Foo Moo Too> :)
14:42 masak but from what I see of SQL, ternary logic is quite counterintuitive and has one fatal flaw:
14:43 masak in the heat of battle, you forget about the Moo case.
14:43 masak if val == answer { ... } elsif val != { ... } # great, I covered all the cases
14:44 masak er, s/val !=/val != answer/
14:44 mberends Too be or not Too be, that is the question
14:44 masak right! even Hamlet was a dualist.
14:45 masak I believe Ovid has a blog post or Too on the topic.
14:45 arnsholt But in Perl you'll usually get a warning about undefined value in comparison, most of the time =)
14:45 masak arnsholt: right; I wasn't referring to that.
14:45 masak out-of band values like undef seem to work fine.
14:46 masak it's when you *assume* things like Excluded Middle and the code looks fine but isn't, that things go awry.
14:46 arnsholt Yeah, I regularly hit that in my adventures in SQL. I always forget IS NOT NULL when I need it
14:46 masak that's what I'm talking about.
14:47 masak cf. http://programmers.stackexchange.com/questions/2​2912/null-references-the-billion-dollar-mistake which is more about NULL in programming languages than in DSLs like SQL, but still.
14:47 arnsholt Forgetting to use LEFT/RIGHT JOIN is even more insidious, since it'll result in data just disappearing
14:48 masak arnsholt: that's what tests are for ;)
14:49 arnsholt Tests? Preposterous! ;p
14:50 arnsholt I've actually got a (very small) test suite for my statistical inference modules
14:50 arnsholt But writing the tests to make sure you've implemented Viterbi's algorithm correctly is kinda tricky
14:51 arnsholt Especially for things more complicated than HMMs
14:54 birdwindupbird joined #perl6
15:03 Trashlord joined #perl6
15:04 newbe-ru joined #perl6
15:04 * masak .oO( they make you go "HMM"... )
15:08 arnsholt Indeed they do ^_^
15:17 mj41 joined #perl6
15:25 mkramer joined #perl6
15:31 dalek niecza: 6bc1637 | (Martin Berends)++ | / (2 files):
15:31 dalek niecza: [lib/Printf.cs] now passes 40/44 sprintf tests with 1 skip
15:31 dalek niecza: review: https://github.com/sorear/niecza/commit/6bc1637e71
15:33 mberends the sprintf spectests look very minimal - will look what p5 has
15:33 araujo joined #perl6
15:33 masak mberends++
15:40 birdwindupbird joined #perl6
15:42 mj41 joined #perl6
15:46 jevin joined #perl6
15:47 flussence niecza: printf('%d %1$x', 45);
15:47 p6eval niecza v8-57-ga89a9a6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'printf' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1136 (STD P6.comp_unit @ 36) â�¤â€¦
15:47 flussence whoops...
15:47 flussence I'll wait until it updates :)
15:49 mberends niecza: say sprintf('%d %1$x', 45); # flussence: sprintf, not printf yet
15:49 p6eval niecza v8-57-ga89a9a6: OUTPUT«%d %1$x␤»
15:50 mberends hmm
15:54 mberends yes, wait for the rebuild, it works locally
15:56 mberends evalbot rebuild niecza
15:56 p6eval OK (started asynchronously)
15:58 mberends niecza: say sprintf('%d %1$x', 45)
15:58 p6eval niecza v8-58-g6bc1637: OUTPUT«45 2d␤»
15:59 sayu joined #perl6
16:00 sayu joined #perl6
16:02 mberends p5 t_op_sprintf.t has 540 tests and t_op_sprintf2.t has 1368, p6 has 44
16:13 abercrombie joined #perl6
16:21 abercrombie Hi, my $a='f'; sub f {}; how to call f() from $a ?
16:25 ZaphrodZenovka joined #perl6
16:25 renormalist joined #perl6
16:31 mberends_ joined #perl6
16:40 plobsing_ abercrombie: based on a skimming of synopses s06 and s10, I'd wager you'd use 'our sub f {}' and 'OUR::($a)();'
16:41 plobsing_ perl6: my $a='f'; our sub f {}; OUR::($a)()
16:41 p6eval rakudo a55346: OUTPUT«===SORRY!===␤Indirect name lookups not yet implemented at line 22, near "()"␤»
16:41 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "OUR"␤    expecting ";", Doc block, block declaration, declaration, construct or expression␤    at /tmp/WBevexr1CG line 1, column 26␤»
16:41 p6eval ..niecza v8-58-g6bc1637: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Any␤  at /tmp/KtazdfHsEl line 1 (MAIN mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2049 (CORE C954_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2050 (CO…
16:42 gfldex nom: my $a='f'; our sub f {}; OUR::($a)()
16:42 p6eval nom 184833: OUTPUT«===SORRY!===␤Combination of indirect name lookup and call not (yet?) allowed at line 1, near ""␤»
16:42 plobsing_ unfortunately it appears none of the implementations implement it.
16:43 plobsing_ abercrombie: often there are better ways to accomplish tasks than using the symbol table like a hash. what are you trying to do?
16:59 masak one solution that readily suggests itself is... to use a hash ;)
17:19 whiteknight joined #perl6
17:19 jevin joined #perl6
17:19 abercrombie Oh, I just wonder whether there is a prefix for "function context" like &($a)
17:21 masak no.
17:21 masak if something isn't already a function, there isn't much hope of contexting it into one.
17:21 masak if it already is a function, you can already call it and have other functiony fun with it.
17:22 abercrombie I see. So the best way to do it is like what plobsing said
17:23 abercrombie or I can use eval to do it just like in perl5
17:24 abercrombie nom: my $a='f'; sub f{say "here"}; eval($a)
17:24 p6eval nom 184833: OUTPUT«here␤»
17:25 masak rakudo: my %h = foo => { say "foo called" }, bar => { say "bar called" }; sub call($function) { die "$function doesn't exist" unless %h.exists($function); %h{$function}() }; call 'foo'; call 'bar'; call 'fnordookie'
17:25 p6eval rakudo a55346: OUTPUT«foo called␤bar called␤fnordookie doesn't exist␤  in 'call' at line 22:/tmp/pH8IdxhqeS␤  in main program body at line 22:/tmp/pH8IdxhqeS␤»
17:26 abercrombie gotcha
17:26 masak you *could* use &eval, yes. but it is slightly too big a gun when a simple hash of Callable will do.
17:26 abercrombie yes, I agree
17:27 abercrombie Thanks guys.
17:27 * masak curtsies
17:28 abercrombie It seems every perl guru likes to use "foo" and "bar"
17:29 masak yes. we need new magic words, those are getting worn ;)
17:31 abercrombie "the origin of both is the U.S. Army phrase FUBAR (an acronym which, in discreet language, represents Fouled Up Beyond All Recognition/Repair"
17:31 masak rakudo: my %h = kitty => { say "foo called" }, puppy => { say "bar called" }; sub call($function) { die "'$function' doesn't exist" unless %h.exists($function); %h{$function}() }; call 'kitty'; call 'puppy'; call 'big freakin DRAGON'
17:31 p6eval rakudo a55346: OUTPUT«foo called␤bar called␤'big freakin DRAGON' doesn't exist␤  in 'call' at line 22:/tmp/uHHw3eIM3u␤  in main program body at line 22:/tmp/uHHw3eIM3u␤»
17:31 masak oops :)
17:31 masak rakudo: my %h = kitty => { say "kitty called" }, puppy => { say "doggy called" }; sub call($function) { die "'$function' doesn't exist" unless %h.exists($function); %h{$function}() }; call 'kitty'; call 'puppy'; call 'big freakin DRAGON'
17:31 p6eval rakudo a55346: OUTPUT«kitty called␤doggy called␤'big freakin DRAGON' doesn't exist␤  in 'call' at line 22:/tmp/BuN99fIJxu␤  in main program body at line 22:/tmp/BuN99fIJxu␤»
17:31 masak er.
17:31 Tene masak: for a hash of callable, I prefer something more like %h.exists($function) ?? %h{$function}() !! %h<DEFAULT>()
17:32 masak rakudo: my %h = kitty => { say "kitty called" }, puppy => { say "puppy called" }; sub call($function) { die "'$function' doesn't exist" unless %h.exists($function); %h{$function}() }; call 'kitty'; call 'puppy'; call 'big freakin DRAGON'
17:32 p6eval rakudo a55346: OUTPUT«kitty called␤puppy called␤'big freakin DRAGON' doesn't exist␤  in 'call' at line 22:/tmp/mnAStZz7ye␤  in main program body at line 22:/tmp/mnAStZz7ye␤»
17:32 masak Tene: fair enuf.
17:32 masak Tene: why not %h{ %h.exists{$function} ?? $function !! 'DEFAULT' }, ooc?
17:32 cotto joined #perl6
17:33 masak er, %h{ %h.exists{$function} ?? $function !! 'DEFAULT' }();
17:33 * masak .oO( Bikeshedders Anonymous )
17:33 Tene masak: I think what I've actually used is more like (%h{$function} // %h<DEFAULT>)()
17:34 masak yes, nice.
17:34 Tene I didn't mean that specific syntax, though, just that I prefer putting a fallback action in the callback table
17:34 masak Tene: it would be nice to have hashes with settable defaults, too.
17:35 masak Tene: yes, I should remember that trick more often. it's nice to make things in-band when possible.
17:35 Tene I've always been skeptical of the utility of that, but maybe that's just because it's unfamiliar
17:36 masak well, the utility is offset by some action-at-adistance, I guess.
17:39 araujo joined #perl6
17:39 araujo joined #perl6
17:46 jevin joined #perl6
17:48 araujo joined #perl6
17:48 araujo joined #perl6
17:50 araujo joined #perl6
17:50 araujo joined #perl6
17:55 meth hey timtoady ?
17:57 wamba joined #perl6
18:02 jevin joined #perl6
18:04 kannah joined #perl6
18:10 uvtc joined #perl6
18:11 sftp joined #perl6
18:11 uvtc masak: I liked your recent "why tests will change the way you code" blog post. I think a great followup would be a tutorial on writing tests for your Perl 6 code.
18:12 uvtc masak: also thought it was good that you included a summary at the end of your blog post.
18:16 masak thanks!
18:16 masak I'll have to think a bit on whether I have something to say about writing tests for one's Perl 6 code.
18:17 uvtc masak: I just mean something basic. As in, use $this module, structure your directories like $that, run your tests $like-so.
18:19 uvtc masak: or maybe there's an advent calendar article I'm missing...
18:19 meth some of the things look really nice in perl6 but then again it's becoming a lisp dialect lol
18:20 uvtc masak: ah, ok. Found this http://perl6advent.wordpress.​com/2009/12/04/day-4-testing/ .
18:23 masak ah, yes.
18:23 masak you'll note that my post doesn't mention Perl 6, by the way. when I'm excited about tests, I'm language-agnostic ;)
18:23 masak I wrote tests in C a few weeks ago.
18:24 soh_cah_toa joined #perl6
18:24 donri joined #perl6
18:25 masak what might be specific to the way testing is done with Perl 6 are the ways all the DI/mocking/faking/stubbing stuff is set up.
18:26 masak jnthn++'s https://github.com/jnthn/test-mock/ comes to mind.
18:27 uvtc Perhaps users can just get up to speed with the basics by just looking at what some of the other modules at modules.perl6.org are doing...
18:28 masak this is where I have one of my blind spots, I guess.
18:28 masak I hadn't considered it something people might want to learn until now.
18:29 masak as I wrote, it's just a list of assertions :P
18:30 soh_cah_toa if it means anything, i'm currently writing a chapter on p6 testing for "Using Perl 6"
18:32 masak \o/
18:32 soh_cah_toa i just haven't pushed my work so far b/c i can't get the build process to work for some reason :\
18:32 uvtc soh_cah_toa, You mean perl6/book? That sounds great.
18:33 soh_cah_toa yup
18:33 masak soh_cah_toa: that's sometimes been my main trouble with the book as well.
18:33 uvtc left #perl6
18:33 flussence I just wrote something horrible :(
18:33 masak soh_cah_toa: if you don't mention DI in that chapter, I'll add it.
18:33 flussence $text.flip.split('|', 2)».flip
18:33 masak flussence: looks good to me.
18:33 flussence yeah, but eww.
18:34 soh_cah_toa masak: di?
18:34 flussence (split's $limit should work like substr IMO - *-2)
18:35 * moritz appears
18:35 PerlJam flussence: what would that mean exactly?
18:36 benabik nom: my $text='foo|bar|baz'; $text.flip.split('|', 2)».flip.perl.say
18:36 p6eval nom 184833: OUTPUT«("baz", "foo|bar")␤»
18:36 flussence I want to chop off something from the end separated by '|', while leaving the beginning of the string intact
18:38 PerlJam flussence: that doesn't sound like split's job.
18:38 masak moritz! \o/
18:38 masak soh_cah_toa: see my recent blog post. http://strangelyconsistent.org/blog/w​hy-tests-will-change-the-way-you-code
18:39 masak soh_cah_toa: and then ask if I didn't explain it clearly enough.
18:39 flussence PerlJam: you're probably right, I could try a regex there.
18:43 soh_cah_toa masak: nice. i also added a small section like this explaining the benefits of testing and its relation to super awesome p6
18:43 soh_cah_toa masak: your post gives me some ideas to expand upon
18:45 * moritz has a wifi driver that kernel-panics if X is running while the first connection is being made
18:45 abercrombie joined #perl6
18:45 moritz booting in "safe" mode, then bringing up the interface and then 'telinit 5' works though :-)
18:46 benabik moritz: Sounds LTA.
18:46 soh_cah_toa http://nopaste.snit.ch/75475
18:46 moritz benabik: it is
18:46 soh_cah_toa could anybody help explain why the perl6/book build fails in that nopaste?
18:46 moritz benabik: broadcom closed source fu
18:48 moritz soh_cah_toa: seems that some components of your latex installation are too old (?)
18:48 benabik moritz: I don't see a reason why X should bother WiFi though.
18:48 benabik moritz: Other than the fact that Broadcom is Doing It Wrong.
18:49 moritz benabik: it doesn't. But kernel-level C code doesn't have any kind of protection
18:49 soh_cah_toa moritz: yeah, it make no sense. i have no idea how to "update" it then
18:49 moritz yep, Doing It Wrong is a very accurate description
18:50 moritz soh_cah_toa: the good news is that if you only want to hack the contents (and not the build system), 'make html' should work
18:50 soh_cah_toa ah, didn't notice that make target
18:50 * soh_cah_toa tries it out
18:51 moritz I think it's underdocumented
18:51 meth left #perl6
18:52 soh_cah_toa yup. that works. although a pdf version would be better but at least i can check that it renders properly. moritz++
18:52 dalek book: f2043cb | moritz++ | README:
18:52 dalek book: mention "make html"
18:52 dalek book: review: https://github.com/perl6/book/commit/f2043cb839
18:52 soh_cah_toa :)
18:53 flussence moritz: which kernel ver? I think Broadcom recently caved in and went open source with their wifi driver
18:54 pernatiy joined #perl6
18:54 moritz flussence: first tried a 3.0-rc3 or so, then an old-but-good shipped with Debian
18:54 moritz flussence: and it's only the firmware that is closed source, but that's what seems to cause the problems
18:54 flussence ah
18:56 * flussence vaguely remembers having to use ndiswrapper on an atheros once, not fun
18:56 plobsing joined #perl6
18:56 jevin joined #perl6
18:56 moritz the really annoying part is that this laptop was supposed to have an Intel wifi chip
18:57 moritz and when I complained, the customer service told me "oh, they are technically equivalent. You can have a 10€ voucher to compensate for your inconvenience"
18:57 moritz the difference is that intel has much better drivers
18:59 flussence I think just about every wifi card I've used has required terrible drivers at some point. It'll probably get better in a few months :)
18:59 moritz right
19:00 flussence (I still have that atheros one, but I use it for my access point now)
19:01 kannah left #perl6
19:04 donri joined #perl6
19:07 moritz nom: sub f() { say "in f" }; my $name = 'f'; &::($name).()
19:07 p6eval nom 184833: OUTPUT«in f␤»
19:08 moritz phenny: tell abercrombie about http://irclog.perlgeek.de/​perl6/2011-08-28#i_4337460 (calling functions by name)
19:08 phenny moritz: I'll pass that on when abercrombie is around.
19:09 lateau_ left #perl6
19:12 masak nom: sub f { "f" }; say &::(f)()
19:12 p6eval nom 184833: OUTPUT«f␤»
19:14 plobsing how is that not a barew... omg... mind blown
19:16 masak :D
19:17 masak yes, that's two calls to &f
19:17 benabik nom: sub f { 'g' }; sub g { say 'in g' }; say &::(f)()
19:17 p6eval nom 184833: OUTPUT«in g␤Bool::True␤»
19:18 abercrombie joined #perl6
19:19 uvtc joined #perl6
19:21 uvtc soh_cah_toa, masak : I also had problems building perl6/book, though I don't recall the specifics. IIRC, there were a number of font dependencies (one even involving installing "acrobat" I think).
19:22 uvtc I'd begun making some minor fixes, but then when I couldn't build it, got sidetracked and then didn't come back to it.
19:32 kaare_ joined #perl6
19:36 Reaganomicon joined #perl6
19:58 sorear good * #perl6
20:00 soh_cah_toa is anybody willing to add a new module to modules.perl6.org? i don't know how and i don't have commit access to panda anyway
20:00 soh_cah_toa https://github.com/soh-cah-toa/p6-irc-utils
20:01 sorear masak: I have read pretty much everything by Aaronson and Yudkowsky, iirc.
20:02 sorear <3 intuititionistic logic
20:04 masak :)
20:04 * masak looks up Yudkowsky
20:04 flussence soh_cah_toa: will do (unless someone else is already doing it)
20:04 masak oh, Less Wrong.
20:04 soh_cah_toa flussence: great, thanks
20:05 dalek ecosystem: 1f45c21 | flussence++ | META.list:
20:05 dalek ecosystem: Add soh_cah_toa++'s p6-irc-utils to modules list
20:05 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/1f45c21b72
20:06 soh_cah_toa yay \o/
20:06 flussence (it takes a while for the site to update, don't panic)
20:06 soh_cah_toa yeah
20:13 whiteknight joined #perl6
20:14 mberends hi sorear: your last help worked, initial sprintf() pushed. Next question: how can I cause a die() to happen from C# ?
20:14 [Coke] joined #perl6
20:17 y3llow joined #perl6
20:18 pothos_ joined #perl6
20:19 sorear mberends: throw new NieczaException("Error message")
20:19 dalek niecza: c873f75 | sorear++ | src/STD.pm6:
20:19 dalek niecza: Import TimToady's empty listop checks
20:19 dalek niecza: review: https://github.com/sorear/niecza/commit/c873f755f4
20:19 mberends sorear: thanks again
20:20 tty234 joined #perl6
20:26 soh_cah_toa http://nopaste.snit.ch/75492
20:26 soh_cah_toa i'm having some problems using regexes. i'd be really happy if somebody could look at that nopaste
20:27 diakopter .
20:27 phenny diakopter: 09:01Z <sorear> tell diakopter *frown* you've checked in half a megabyte of versions of lib/Solution/Niecza/Niecza.pidb.  Is it really necessary to have this file under version control?  It looks like debug information to me.
20:27 diakopter k
20:28 masak soh_cah_toa: I'm not aware that you can do subrule calls inside charclasses like that.
20:28 im2ee_ joined #perl6
20:28 benabik soh_cah_toa: It looks like complex matches _`-^|\{}[] as a string, not any single element of that string.
20:28 soh_cah_toa damn
20:29 masak it's an interesting question whether an interpolated string would work. I don't know.
20:30 colomon joined #perl6
20:30 masak colomon! \o/
20:31 colomon o/
20:31 * colomon has barely survived two days of giving music workshops and "A Day Out With Thomas" (the Tank Engine)
20:34 masak glad you survived.
20:34 pernatiy joined #perl6
20:40 pernatiy joined #perl6
20:43 sorear colomon!
20:50 mj41 joined #perl6
20:53 Mowah joined #perl6
20:53 envi joined #perl6
20:54 sorear niecza: say "x" eq any<x y z>
20:54 p6eval niecza v8-59-gc873f75: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤The 'any' listop may not be called without arguments (please use () or whitespace to clarify) at /tmp/f2TGqt2E6E line 1:â�¤------> [32msay "x" eq any[33mâ��[31m<x y z>[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/…
20:54 TimToady \o/
20:54 phenny TimToady: 09:19Z <sorear> tell TimToady your problem was you used "multi" for the operators.  Precedence needs to apply to the entire sub, not specific candidates
20:54 phenny TimToady: 09:20Z <sorear> tell TimToady (that said, niecza doesn't know how to propagate traits from proto to dispatch either - precedence will only work on "only" subs)
20:54 phenny TimToady: 09:42Z <sorear> tell TimToady In your last std commit, what's the comment about P5isms and P6isms about?
20:54 sorear scratch the last one, I figured it out
20:54 TimToady nodnod
20:54 sorear however I'm still wondering about how to map it into traits
20:55 sorear is error-no-args(1), is error-no-args(2) feels wrong
20:55 TimToady it's like <i> and <b> instead of <em> etc
20:56 TimToady is 'p5-defaulting' is more like
20:56 sorear nah, it's more like J's insanity of spelling sin cos and tan(of x)   1 o. x, 2 o. x, and 3 o. x respectively
20:56 masak o.O
20:56 masak I'd just like to point out that <i> and <b> are not deprecated. just scaled back. :)
20:57 TimToady no, I mean 1 would be "is defaulting-in-p5" and 2 is something else
20:57 TimToady is error-prone  :)
20:58 TimToady is constructor-that-makes-little-sense-empty
20:58 TimToady something semantic
20:58 TimToady I'm agreeing that 1 and 2 is quite wrongish
20:59 TimToady "Never put magic numbers into your program except 0 and 1--and we're not sure about 1."
21:00 TimToady std: any<foo bar>
21:00 p6eval std e3c970e: OUTPUT«ok 00:01 118m␤»
21:00 TimToady /o\
21:06 TimToady <i> stands for "intense" and <b> for <bombastic>  :)
21:06 TimToady oops, failure of parallelism...
21:07 masak <:)>
21:07 diakopter std: <>
21:07 p6eval std e3c970e: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unsupported use of <>; in Perl 6 please use lines() to read input,â�¤  or ('') to represent the null string,â�¤  or () to represent Nil at /tmp/_Qx6weLjZw line 1:â�¤------> [32m<[33mâ��[31m>[0mâ�¤Parse failedâ�¤FAILED 00:01 117mâ�¤Â»â€¦
21:07 masak std: <STDIN>
21:07 p6eval std e3c970e: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of <STDIN>; in Perl 6 please use $*IN.lines at /tmp/tzo8JKSYEc line 1:�------> [32m<[33m�[31mSTDIN>[0m�Parse failed�FAILED 00:01 117m�»
21:08 mberends TimToady++ # :-) (magic numbers)--
21:08 TimToady niecza: WHAT
21:08 p6eval niecza v8-59-gc873f75: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤The 'WHAT' listop may not be called without arguments (please use () or whitespace to clarify) at /tmp/1uRXmBm00D line 1 (EOF):â�¤------> [32mWHAT[33mâ��[31m<EOL>[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecz…
21:08 TimToady I remember feeling guilty for lumping WHAT et al. in with the p5 ops at first
21:09 TimToady glad there's now a category of p6 listops that are suspicious of 0 args
21:09 TimToady I suppose it could be argued that all empty listops should require parens
21:10 masak well, it *could* be argued... :(
21:10 TimToady but then there's things like: constant ∅ = set;
21:11 TimToady (probably won't work though)
21:11 TimToady niecza: constant ∅ = set;
21:11 p6eval niecza v8-59-gc873f75: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed constant at /tmp/V9Hacl6paN line 1:�------> [32mconstant [33m�[31m∅ = set;[0m��Parse failed��»
21:11 TimToady yeah, ∅ isn't alphanumeric
21:12 TimToady not sure whether we should make it a little easier to define terms that aren't alpha without resorting to term:<∅>
21:12 TimToady hmm
21:12 TimToady niecza: constant term:<∅> = set;
21:12 p6eval niecza v8-59-gc873f75: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Colonpair traits NYI at /tmp/sbzjHPP69u line 1:â�¤------> [32mconstant term:<∅> [33mâ��[31m= set;[0mâ�¤â�¤Undeclared routine:â�¤        'set' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.settin…
21:12 TimToady that might be allowed, I suppose
21:13 TimToady biab &
21:29 dalek niecza: c7ebb88 | diakopter++ | lib/Solution/Niecza/Niecza.pidb:
21:29 dalek niecza: delete Niecza.pidb
21:29 dalek niecza: review: https://github.com/sorear/niecza/commit/c7ebb8897b
21:30 masak perl6: .= uc
21:30 p6eval rakudo a55346: OUTPUT«===SORRY!===␤Confused at line 22, near ".= uc"␤»
21:30 p6eval ..niecza v8-59-gc873f75: OUTPUT«[31m===[0mSORRY![31m===[0m��Preceding context expects a term, but found infix .= instead at /tmp/52QNJfe_3L line 1:�------> [32m<BOL>[33m�[31m.= uc[0m��Parse failed��»
21:30 p6eval ..pugs: OUTPUT«*** ␤    Unexpected " uc"␤    expecting ".", "\187", ">>", "=", "^", operator name, qualified identifier, variable name, "...", "--", "++", "i", array subscript, hash subscript or code subscript␤    at /tmp/cWbICO4N71 line 1, column 3␤»
21:30 masak ok, fair enough :)
21:30 benabik nom: .=uc
21:30 p6eval nom 184833: OUTPUT«Method 'uc' not found for invocant of class 'Any'␤  in method dispatch:<.=> at src/gen/CORE.setting:619␤  in <anon> at /tmp/72oTo6YIOt:1␤  in <anon> at /tmp/72oTo6YIOt:1␤␤»
21:30 benabik Hm.  perl6 doesn't run nom?
21:31 masak indeed not.
21:31 benabik nom: .= uc
21:31 p6eval nom 184833: OUTPUT«===SORRY!===␤Confused at line 1, near ".= uc"␤»
21:31 benabik Without a space it's a mutating method call on $_.  With, it gets confused.
21:32 dalek niecza: 9e4b0e4 | (Martin Berends)++ | lib/Solution/Niecza/Niecza.pidb:
21:32 dalek niecza: Merge branch 'master' of github.com:sorear/niecza
21:32 dalek niecza: review: https://github.com/sorear/niecza/commit/9e4b0e43fc
21:36 sorear mberends: reviewing your code for diakopter... I'm wondering why you chose to make an intermediate list of PrintfFormat objects instead of fusing the loops.
21:38 mberends sorear: it was for recent hysterical raisins, we divided the coding into two halves and the PrintFormat list was the interface between them
21:39 * flussence is coming to a realisation that I'm implementing Pod::To::HTML in an insane way
21:39 flussence (there's tree-walking stuff, and various types of stringification, and I'm trying to squish them all into the same place...)
21:41 mberends sorear: with hindsight, we can refactor it and merge the parts. It was a mainly to enable two developers to work relatively independently.
21:42 flussence seen tadzik
21:42 aloha tadzik was last seen in #perl6 11 hours ago joining the channel.
21:43 mberends sorear: that will happen, there are many features NYI, even though it now passes all the spectests. Adding more sprintf spectests would be nice LHF for someone.
21:43 lue hello planet o/
21:44 mberends o/
21:46 flussence mberends: there's a grammar for sprintf in the specs. masak++ suggested to me a while ago that there's a way to make GGE generate all combinations of valid strings for it, I didn't really get anywhere with it though.
21:46 masak if there's any way I can help...
21:46 masak there's a gist shows how to do it.
21:47 flussence .oO( the grammar's only about 5 lines, I probably could've done it using X~ )
21:48 flussence .oO( wouldn't have been as cool though... )
21:48 lue [compiling rakudo/parrot locally, hoping it works...]
21:49 mberends flussence: thanks, I saw it in S32::Str. I'd like to see the generated combinations, or perhaps add the generator to the test script. Otoh, many possibly redundant tests will only slow down development.
21:51 mjreed joined #perl6
21:52 mberends .oO( we need a 'make slowtest' for people with excess CPU capacity )
21:53 mjreed Is there a way yet to import a module/file in Rakudo 11.04?  If so, what is it?  Both 'use' and 'import' yield complaints about undefined subroutines.
21:55 masak mjreed: er.
21:55 masak 'use' has been implemented since 2008, I think.
21:56 masak hence modules.perl.org
21:56 mberends mjreed: try it with 'use Test;' to determine whether the problem is with your built Rakudo or your module. Rakudo's 'use' definitely works.
21:56 masak er, modules.perl6.org
21:56 mjreed use Test; returns _block85, so I guess that works.
21:57 sorear mberends: make stresstest I think it's called
21:57 masak yes, that's just the REPL.
21:57 sorear mberends: several test files are blacklisted from 'spectest' for being too slow.
21:58 mjreed Ok, so it's not finding the module, I guess.  In which case I shall simply note that "Could not find sub &use" is an LTA error message. :)
21:58 mberends sorear: thanks, I remember now
21:58 sorear masak: any comment about my comment about proof systems, testing, and designed-in redundany?
21:58 flussence rakudo: use nonexistent-module
21:58 p6eval rakudo a55346: OUTPUT«===SORRY!===␤Unable to find module 'nonexistent-module' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/3.​6.0-devel/languages/perl6/lib␤  .)␤»
21:58 sorear rakudo: use Test ();
21:58 p6eval rakudo a55346:  ( no output )
21:59 mjreed rakudo: use 'nonexistent-module';
21:59 p6eval rakudo a55346: OUTPUT«Could not find sub &use␤  in main program body at line 22:/tmp/h3EWFfEQaz␤»
22:00 mjreed so since I passed a string it was trying to call 'use' on that string..
22:00 lue rakudo: require 'nonexistent-module'; # just curious
22:00 p6eval rakudo a55346: OUTPUT«Unable to find module 'nonexistent-module' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/3.​6.0-devel/languages/perl6/lib␤  .)␤  in main program body at line 26:src/Perl6/Module/Loader.pm␤»
22:00 mjreed Oddly, it's not failing for nonexistent modules for me, though.
22:02 mjreed rather, 'use' is, but 'import' isn't.  sorry.
22:02 masak blog post! http://strangelyconsistent.​org/blog/dash-n-and-dash-p
22:03 mjreed Yay!
22:03 mjreed Nitpick: "There's a -p flag that also does the loop thing, but it prints $_ at the end of the loop:"  - "at the end of the loop" sounds like it doesn't print until it's done with the whole file.
22:04 masak it does indeed. fixing.
22:04 mjreed ""at the end of each time through the loop", maybe, if you want to avoid scaring people with the "iteration" word. :)
22:04 masak I don't want to avoid that ;)
22:05 TimToady mind you, the way rakudo does it isn't how it's specced either :)
22:06 masak indeed.
22:06 masak I just want -n and -p more than I want to wait for the correctest solution.
22:06 TimToady I though you was gonna talk about settings when I +1'd it
22:06 masak sorry :P
22:06 TimToady *thought
22:07 TimToady and you got my hopes up by talking about "elegance"
22:07 masak no, I just like that Rakudo deals with ASTs where Perl 5 deals with text.
22:07 masak to me, that *is* elegance! :)
22:07 TimToady is it elegant to muck with ASTs when you can have quasi?
22:07 TimToady that's what alternate settings really are
22:08 molaf joined #perl6
22:08 TimToady with the YOU_ARE_HERE being the quasi-unquote
22:08 * flussence unfortunately knows enough about php to remember that it does the same sort of thing as p5 there, for double quote interpolation
22:08 * lue marvels at the existence of an 'eskimo operator'
22:09 mberends masak++: those kissing Eskimos look *so* much like Bobby Tables :)
22:09 masak mberends: aye.
22:10 mberends they're cousins, I'll bet
22:10 masak or circles.
22:10 masak TimToady: maybe I'll have to write a followup post, then, where I talk about settings. ;)
22:11 TimToady hygienic macros are kinda like black holes, and our entire UNITverse is inside one
22:12 benabik --setting=-p ?
22:13 lue mberends: you mean little Robert'); DROP TABLE Students; ?
22:13 masak TimToady: when jnthn and I were strolling around Riga on the last day, we realized that quasiquotes will have to do funny things with all kinds of declarations.
22:14 masak oh, I wrote a gist about that, didn't I?
22:14 mberends lue++ # http://xkcd.com/327/
22:14 masak https://gist.github.com/1156662
22:14 lue I actually had to check that to remember exactly what his name was.
22:15 masak well, they *call* him "little Bobby Tables" ;)
22:15 jlaire .u ◌
22:15 phenny U+25CC DOTTED CIRCLE (◌)
22:15 masak 'night, #perl6
22:15 TimToady but what is his name called?
22:16 lue TimToady: a hilarious prank
22:16 masak nice, humpty-dumpty.
22:16 flussence I feel guilty for ever posting this :( - http://stackoverflow.com/questions/53​8350/ruby-addict-looking-for-php-sube​xpressions-in-strings/538467#538467
22:16 lue g'night masak o/
22:17 jlaire flussence: interesting...
22:17 mjreed flussence: wow, just when I thought I'd run out of new php "quirks" to discover...
22:19 drbean joined #perl6
22:30 mjreed left #perl6
22:31 TimToady sorear++, added precedence to operators in http://rosettacode.org/wiki/Ternary_logic#Perl_6
22:37 soh_cah_toa perl6: my @foo = "\x01".."\xff"
22:38 p6eval rakudo a55346: OUTPUT«(timeout)»
22:38 p6eval ..pugs:  ( no output )
22:38 p6eval ..niecza v8-62-g9e4b0e4: OUTPUT«(timeout)Potential difficulties:â�¤  @foo is declared but not used at /tmp/BVXQGsdn_x line 1:â�¤------> [32mmy [33mâ��[31m@foo = "\x01".."\xff"[0mâ�¤â�¤Â»
22:38 TimToady use ... for that, for now
22:38 TimToady not ..
22:38 soh_cah_toa perl6: my @foo = "\x01"..."\xff"
22:38 p6eval niecza v8-62-g9e4b0e4: OUTPUT«Potential difficulties:â�¤  @foo is declared but not used at /tmp/HpuDVXunnA line 1:â�¤------> [32mmy [33mâ��[31m@foo = "\x01"..."\xff"[0mâ�¤â�¤Unhandled exception: Unable to resolve method ord in class Strâ�¤  at /home/p6eval/niecza/lib/CORE.setting line 1760 (COR…
22:38 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "\"\\"␤    expecting operator, "," or term postfix␤    at /tmp/pwap9eEPoK line 1, column 20␤»
22:38 p6eval ..rakudo a55346:  ( no output )
22:39 TimToady perl6: my @foo = "\x01"..."\xff"; say @foo.elems;
22:39 p6eval niecza v8-62-g9e4b0e4: OUTPUT«Unhandled exception: Unable to resolve method ord in class Str␤  at /home/p6eval/niecza/lib/CORE.setting line 1760 (CORE C789_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1795 (CORE C822_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line…
22:39 p6eval ..rakudo a55346: OUTPUT«255␤»
22:39 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "\"\\"␤    expecting operator, "," or term postfix␤    at /tmp/cspXWRZJK4 line 1, column 20␤»
22:41 soh_cah_toa oh yeah, i think i brought that up before. '..' should be promoted to '...' but isn't
22:41 soh_cah_toa forgot that
22:42 soh_cah_toa i wouldn't have to worry about that at all if escape sequences worked in character classes :(
22:42 TimToady yeah
22:42 soh_cah_toa waiting for qregex
22:44 TimToady niecza: $_ = "foo\n"; say ~/<-[\0..\x1f]>*/
22:44 p6eval niecza v8-62-g9e4b0e4: OUTPUT«Regex()<instance>␤»
22:44 TimToady niecza: $_ = "foo\n"; say ~ ($_ ~~ /<-[\0..\x1f]>*/)
22:44 p6eval niecza v8-62-g9e4b0e4: OUTPUT«foo␤»
22:44 TimToady looks like they work in niecza
22:45 soh_cah_toa yeah
22:46 soh_cah_toa oh that reminds me, what's the difference between <-alpha> and <!alpha>? not just alpha but any rule. S05 mentions it briefly but i don't really understand it
22:46 flussence I think !'s an assertion...
22:46 TimToady - has a width of . while ! has 0 width
22:46 soh_cah_toa oh right, it's not captured in the match object
22:47 TimToady it's just a lookahead
22:47 TimToady <-foo> is really <!foo>.  <-- including the dot
22:48 soh_cah_toa ah, i didn't notice the '.' in /<!before <alpha>> ./ so i thought there was a typo ;)
22:49 kst joined #perl6
22:49 soh_cah_toa alright, got it
22:51 soh_cah_toa another p6 question: what's does ::T specify? i see it a lot in subroutine signatures
22:51 TimToady captures the type of the argument en passant
22:51 TimToady and gives it a name T
22:52 TimToady it's a bit of genericity writ small
22:52 soh_cah_toa is that just when it's ::T or ::anything? like ::Date
22:52 TimToady anything
22:53 TimToady :: is sort of a pseudo-sigil
22:53 soh_cah_toa would it be safe to say they're like c++ templates or java's generics?
22:54 TimToady or maybe the other way around :)
22:54 TimToady we've been working on roles for a long time...
22:57 soh_cah_toa so since you can specify anything after the ::, that means that ::Real $epsilon does not mean $epsilon is of type Real. is just happens to be the same name as the type Real?
22:57 TimToady you've just shadowed the name "Real", since the real Real is in an outer lexical scope
22:57 soh_cah_toa got it
22:57 TimToady and you could still get at it with OUTER::Real, presumably, or CORE::Real
22:59 soh_cah_toa rakudo: sub foo(::T $a) { say $a.WHAT.perl }; foo('foobar')
22:59 p6eval rakudo a55346: OUTPUT«Str␤»
22:59 soh_cah_toa rakudo: sub foo(::BlahBlahBlah $a) { say $a.WHAT.perl }; foo(42)
23:00 p6eval rakudo a55346: OUTPUT«Int␤»
23:00 soh_cah_toa cool
23:00 TimToady rakudo: sub foo(::T $a) { say T.perl }; foo(42)
23:00 p6eval rakudo a55346: OUTPUT«Int␤»
23:00 envi joined #perl6
23:00 soh_cah_toa yeah, that's the same thing then. i see
23:01 TimToady rakudo: sub foo(::T $a, T $b) { say T.perl }; foo(42,'oops')
23:01 p6eval rakudo a55346: OUTPUT«Constraint type check failed for parameter '$b'␤  in 'foo' at line 22:/tmp/x7D1RKu_nw␤  in main program body at line 22:/tmp/x7D1RKu_nw␤»
23:02 molaf_ joined #perl6
23:03 TimToady nap &
23:34 Psyche^ joined #perl6
23:47 rgrau joined #perl6
23:59 wolfman2000 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs