Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-10-31

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:05 Trashlord joined #perl6
00:17 colomon Util: it probably depends on what you're trying to do, no?
00:18 colomon If you're sure you want to create an object of type Foo, (which is the type of the method in question), won't self.new() do it?
00:20 colomon er, wait, no, now I'm confused.
00:21 Util colomon: I want to honor the type of anything that has subclassed Foo.
00:21 colomon because if class Bar is Foo, and you call that method, it will create an object of type Bar.
00:21 colomon then self.new will work, I think, assuming you know what arguments to call it with.
00:23 colomon rakudo: class A { has $.a; method foo() { self.new(:$.a); }; }; class B is A { }; B.new(:a(10)).foo.perl.say
00:23 p6eval rakudo 5f5bae: OUTPUT«B.new(a => 10)␤»
00:24 colomon but like I said, that assumes you know how to construct anything that subclasses Foo.
00:25 Util I agree that self.new (or the short-form .new) will do what I want, in the *current* implementation. But .new technically means "call .new on the *object* of type Foo (or subclass), while
00:26 Util .^new means "call new() on the *class* Foo (or subclass)", which seems more correct.
00:27 Util I just wonder if I am missing some subtle reason why I should use .^new when I am more inclined to use .new .
00:27 colomon Ah.  Well, I admit it's entirely possible I'm missing it too.  :)
00:30 Util That makes *both* our brains on the same conclusion. Right or wrong, it is helpful. Thanks!
00:35 xinming left #perl6
00:37 colomon A lot of the subtleties of the p6 object model still go right over my head.  Give me another few years programming in it... ;)
00:37 masak joined #perl6
00:38 masak colomon, Util: let me tell you the way in which you're confused.
00:38 phenny masak: 29 Oct 23:45Z <sorear> tell masak to check out lhs2tex
00:38 colomon masak++
00:38 masak there's no .^new. forget .^new. if you're thinking of the metaclass in that way, you don't need it yet. forget about it for now.
00:38 colomon masak: is it that you never actually use inheritance in p6?
00:39 masak sure you can. and it's fine.
00:39 masak there's nothing wrong as such with inheritance.
00:39 jhuni left #perl6
00:39 colomon masak: there was a wink there I forgot to type.
00:39 masak (there's just this suspicion that some of us have that roles will make inheritance largely unnecessary)
00:39 masak anyway.
00:40 Util masak: thanks!
00:40 masak the only difference between C<Foo.new> and C<self.new> is that the former one is called on the object from which the new object is actually cloned, whereas the latter one...
00:41 masak ...the latter one happens to be an instantiated object (probably), so Perl 6 will have to go look for the type object Foo and clone that.
00:41 colomon masak: is there any syntax for actually cloning the object?
00:41 masak does that make sense?
00:41 masak colomon: .clone
00:41 masak .new and .clone are actually very similar.
00:41 masak they take the same kinds of arguments.
00:41 masak the only difference is that .new clones the type object; .clone always clones C<self>.
00:42 dnl- joined #perl6
00:42 masak oh, and .new sets the "this is an 'instance' object (rather than a type object)" flag.
00:42 colomon but what does "clone" mean?  I know that concept has hit on big trouble in C#, for instance...
00:42 masak don't know whether it's allowed to clone the type object and not set that flag.
00:43 plobsing joined #perl6
00:43 masak colomon: .clone in Perl 6 means (1) get a new repr object (2) fill it with the old object's attrs (3) supply the attrs optionally provided in the signature.
00:43 masak make sense?
00:43 * Util also thinks role will vastly reduce usage of inheritance, but old habits will die hard for many OO-perl programmers, and I want to support them too.
00:44 Util s/role/roles/
00:44 masak I basically came in here because I saw your confusion, and thought I might be able to help.
00:44 masak I'm really going to bed.
00:44 masak besides, big kudos to pmichaud++. I've listened to half the interview now.
00:45 masak people on the Interwebs seem to like it too: http://twitter.com/perttuauramo/status/29170432759
00:45 masak pmichaud: and you used the concept "The Golden Age" about the Pugs era! wow! :)
00:45 Util masak: yes, that makes sense, especially when I think about how an obect could have a different `new` method than its class (you can't without proto-style OO).
00:45 dnl left #perl6
00:46 masak classes don't have methods in Perl 6. so whatever you mean to say when you say that, you're abusing terminology slightly.
00:46 colomon masak: clone as described makes lots of sense.  but so it *doesn't* call clone on the attributes (and so on, recursively)?
00:46 masak or well, classes *have* methods, but there are no class methods.
00:47 Util Thanks for the correction; I was about to scream.
00:47 masak colomon: nope. shallow clone. because deep cloning is inherently problematic to supply out-of-the-box.
00:47 colomon groovy.
00:48 masak Util: jnthn++ has some ideas on how to specify methods to go on the type object only, and methods to go on instantiated objects only.
00:48 masak it's in a conjectural part of S12, but it seems to be becoming reality.
00:48 colomon masak: just to put my current wonderment in someone else's brain --
00:48 masak when it does, we'll see people who use that write :D a lot. and :U
00:49 colomon how is .uniq supposed to react when passed (1/2, 1/2)?
00:49 * masak .oO( cloning wonderment )
00:50 masak colomon: I see what you mean. relevant question.
00:50 masak Rats are value classes, so I expect "equal" to mean "value equivalent".
00:50 masak but it all comes down to how .uniq is spec'd to handle equivalence.
00:50 colomon but rakudo has no way of telling a value class from a non-value class.
00:50 colomon (that I know of)
00:51 masak no, but value classes could give clues about equivalence being the relevant way to compare equality.
00:51 masak in other words, it could be solved with a level of indirection.
00:52 colomon I don't think the .uniq spec defines a difference between value classes and other classes, either
00:52 colomon it's just something "obvious" that we understand.
00:52 masak this comes up when we start keying hashes on other things than Str, as well.
00:52 masak it's already a bit of a problem with Set.
00:53 masak I look forward to see how Perl 6 will solve this. it's a non-trivial problem that most languages face.
00:53 colomon it's exactly the same problem implementation-wise -- .uniq uses a hash internally right now.
00:53 colomon I got to thinking about it today, and it just hurt my head.
00:53 masak it does hurt, yes.
00:54 colomon for instance, I don't think there's any guarantee that calling .perl on an object twice will return the same Str both times.
00:54 masak no, but I think you'd be hard pressed in Rakudo to show that those Str objects were actually different.
00:54 masak maybe === and WHICH would show it.
00:55 masak but if so, that's not so bad.
00:56 colomon ooo, no no no
00:56 colomon I mean, for instance, if I say %h.perl, I will get all the pairs in the hash, but the ordering is arbitrary
00:57 pythonian4000afk is now known as pythonian4000
00:57 trembyl joined #perl6
00:57 colomon and in fact
00:58 colomon rakudo: my %a = a => 4, b => 5; my %b = b => 5, a => 4; say :%a.perl; say :%b.perl;
00:58 p6eval rakudo 5f5bae: OUTPUT«"a" => {"a" => 4, "b" => 5}␤"b" => {"b" => 5, "a" => 4}␤»
00:58 masak don't see what that proves.
00:59 Trashlord left #perl6
00:59 masak anyway, $sack.hit;
00:59 masak left #perl6
00:59 colomon you can have two "equivalent" hashes with different .perl Strs.
01:03 whiteknight joined #perl6
01:11 trembyl left #perl6
01:20 tylercurtis left #perl6
01:22 patspam left #perl6
01:22 tylercurtis joined #perl6
01:23 xinming joined #perl6
01:33 jhuni joined #perl6
02:03 whiteknight left #perl6
02:04 molaf_ joined #perl6
02:08 molaf left #perl6
02:10 dnl- left #perl6
02:11 tylercurtis left #perl6
02:16 sorear I missed my chance to explain WHICH
02:19 ggoebel left #perl6
02:23 ggoebel joined #perl6
02:24 ggoebel left #perl6
02:26 tylercurtis joined #perl6
02:26 tylercurtis left #perl6
02:43 jaldhar left #perl6
02:44 jaldhar joined #perl6
02:49 tylercurtis joined #perl6
02:50 Holy_Cow joined #perl6
02:57 tylercurtis left #perl6
03:09 tylercurtis joined #perl6
03:21 Chillance left #perl6
03:29 cotto jnthn, ping
03:29 tylercurtis left #perl6
03:38 * araujo tries to get a left-to-right precedence over a right-to-left one for infix operators in koan
03:40 colomon just got key changes working in the ABC code!
03:40 sorear araujo: koan uses the APL precedence rules?
03:41 araujo sorear, right now .. it does
03:41 araujo :P
03:41 araujo but I wonder if that is just too .... weird?
03:55 cotto jnthn wrote that one of his goals is to get lexical multi-dispatch working.  What does the "lexical" part of that mean?
03:55 sorear pertaining to the program's structure as a text
03:56 sorear as opposed to the dynamic structure of superclasses and call frames
03:57 cotto for example?
04:00 sorear multi sub foo(Int); multi sub foo(Num);  # &foo is immediately known to have exactly two candidates
04:01 sorear also is Bar; multi method foo(Int); multi method foo(Num);  # The 'foo' method in the current class has at least two candidates, but could have more, depending on the definition of Bar, which could be anywhere
04:01 sorear if you throw roles into the equation then runtime variability is even greater
04:08 cotto Thanks.
04:10 Holy_Cow left #perl6
04:12 araujo ~> 2 + 5 * 3
04:12 araujo 21
04:12 araujo well, i think that makes it ... though the code is bit ugly ...
04:13 risou joined #perl6
04:14 sorear beautiful way to parse expressions: [\d+ ** '*'] ** '+'
04:15 sorear sometimes viewed as : expr := <term> [ '+' <term> ]*; term := <factor> [ '*' <factor> ]*; factor := \d+
04:15 sorear I got that one from 'Let's Build a Compiler'.  Required reading for anyone who fancies themselves in the field, despite the fact that it was written in 1986 using Turbo Pascal
04:33 justatheory left #perl6
04:33 kanishka joined #perl6
04:35 araujo well, with all the latest changes of these days, including if/let , now you can do:
04:35 araujo ~> a = b = 6; if a + b == a * b { yes } { no }
04:35 araujo no
04:35 araujo (also added the '=' operator today)
04:37 sorear looks like a cross between Perl 4 and PostScript.
04:44 araujo postscript? :P
04:47 TimToady Prescript, surely...
04:51 envi left #perl6
04:56 sorear TimToady: You've talked about void context as being a bit in the callframe in the past, while array context is something that is imposed by calling methods on the return value.  What is the underlying difference?
05:10 araujo http://pastie.org/1261395
05:10 \xF0 left #perl6
05:11 \xF0 joined #perl6
05:19 Bzek_ joined #perl6
05:22 Bzek left #perl6
05:23 TimToady sorear: we can try it without a void bit and see what happens
05:23 sorear I think that the void bit is necessary
05:24 sorear I've tried removing it and things got ugly
05:24 sorear but I don't really understand *why&
05:25 rgrau_ left #perl6
05:25 kanishka left #perl6
05:30 cognominal how come one can introspect class with .methods and not packages and modules?
05:31 sorear Packages and modules don't support methods.
05:32 cognominal Agreed.  bad wording from me.  so how to introspect their subs?
05:33 sorear Package.WHO.keys
05:33 sorear or Package::.keys
05:33 sorear NYI in Rakudo, I think
05:33 sorear but you can use the low-level Parrot API for now
05:34 cognominal maybe I can get away with a class that contains only submethods. ugly.
05:36 TimToady in general, subs aren't supposed to be put into packages any more
05:36 TimToady P6 is not like P5 that way
05:37 cognominal so where do they live?
05:37 TimToady lexical scopes, generally
05:38 TimToady that is "sub" defaults to "my sub"
05:39 TimToady and when you call foo() it doesn't look in packages, it searches out the lexical scopes
05:39 cognominal but if I want to "package" many subs in some special place, how do I do that?
05:40 TimToady you make a module that can export them
05:40 TimToady it's *possible* to put subs into packages with "our", but then you have to call them fully qualified
05:41 cognominal ok. thx
06:22 sorear So it turns out that while trying to make Niecza VM-independant, I accidentally implemented something extremely close to a Lorito prototype.
06:22 sorear I'm going to try to retool it into one over the next week
06:48 diakopter sorear: what kinds of backends does your doloreanito target
06:52 sorear diakopter: PIR and C# have been considered explicitly
06:52 sorear and a custom bytecode intrepreter
06:53 sorear I hope to also target Java, CIL, and LLVM, but haven't done a detailed analysis
06:55 _kaare joined #perl6
07:02 sorear also, how do I parse doloreanito
07:14 risou left #perl6
07:15 envi joined #perl6
07:31 pythonian4000 is now known as pythonian4000afk
07:37 espadrine_ left #perl6
07:40 risou joined #perl6
08:07 mberends left #perl6
08:14 tadzik joined #perl6
08:14 tadzik o/
08:14 sorear hello tadzik
08:16 pythonian4000afk is now known as pythonian4000
08:41 icwiener joined #perl6
08:52 Ross joined #perl6
08:52 Ross left #perl6
08:52 Ross joined #perl6
08:52 Ross left #perl6
08:52 Ross joined #perl6
08:59 tadzik left #perl6
09:15 proller_ left #perl6
09:26 wamba joined #perl6
09:30 risou_ joined #perl6
09:31 risou left #perl6
09:33 risou_ left #perl6
09:34 risou joined #perl6
09:44 kanishka joined #perl6
09:59 araujo left #perl6
10:07 risou left #perl6
10:12 skangas left #perl6
10:37 colbseton` joined #perl6
10:37 kanishka left #perl6
10:42 pythonian4000 is now known as pythonian4000afk
11:01 kanishka joined #perl6
11:20 ggoebel joined #perl6
11:22 jhuni left #perl6
11:36 MayDaniel joined #perl6
11:40 jnthn o/
11:41 * sbp waves
11:44 vx64z What is the significance of this 'o/' thing I keep seeing?
11:44 araujo joined #perl6
11:45 florz 12:40 < jnthn> o/
11:45 florz 12:41  * sbp waves
11:45 florz same thing, different person
11:45 sbp the o represents a head
11:45 sbp and the / an arm. presumably the left arm
11:45 sbp unless they're waving at someone inside your computer
11:46 jnthn florz: It's just waving hello. \o also works. :-)
11:46 vx64z Ah, I see it now!
11:46 jnthn :-)
11:46 colomon and if you're excited:  \o/
11:47 florz jnthn: erm ... yeah? =:-)
11:47 vx64z That's cool.  I've never seen that used outside of this channel.
11:47 jnthn florz: Oh, you were the person answering the question, not asking...
11:48 florz IC =:-)
11:48 jnthn florz: Sorry. My morning coffee didn't quite cool to drinking temperature yet. :-)
11:48 florz *g
11:48 florz *
11:49 jnthn cotto: (lexical multi-dispatch) sorear++ pretty much had it. Just multis that are stored in the lexical scope. The extra detail being that you may add candidates in nested scopes, and then they're only available within those scopes.
11:49 jnthn So you keep a candidate list per scope, which is kind of an instantiation (fsvo) of the proto.
11:49 kanishka left #perl6
11:49 M_o_C joined #perl6
11:55 cognominal left #perl6
11:58 am0c joined #perl6
11:59 orafu left #perl6
11:59 dnl joined #perl6
12:00 dnl moinsen
12:01 Ardette joined #perl6
12:02 Ardette 3hello
12:02 * araujo properly implements infix notation (it was a hack before)
12:03 Ardette left #perl6
12:06 mavrc joined #perl6
12:30 risou joined #perl6
12:39 risou left #perl6
12:42 rgrau_ joined #perl6
12:49 whiteknight joined #perl6
12:51 rgrau_ left #perl6
12:52 risou joined #perl6
12:56 Ross left #perl6
12:57 Ross joined #perl6
12:58 kanishka joined #perl6
13:18 icwiener left #perl6
13:19 Patterner left #perl6
13:33 Psyche^ joined #perl6
13:33 Psyche^ is now known as Patterner
13:37 rgrau_ joined #perl6
13:38 Util left #perl6
13:38 Util joined #perl6
13:39 patspam joined #perl6
13:55 shelling_lab left #perl6
13:55 shelling_lab joined #perl6
13:56 shelling_lab left #perl6
14:00 shelling_lab joined #perl6
14:00 whiteknight left #perl6
14:03 15SAA1D0O joined #perl6
14:05 javs joined #perl6
14:06 kanishka left #perl6
14:13 Chillance joined #perl6
14:13 risou left #perl6
14:23 meppl joined #perl6
14:31 kanishka joined #perl6
14:40 dual left #perl6
14:43 dalek 6model: 0d51c06 | jnthn++ | README.txt:
14:43 dalek 6model: Update the README a bit, to indicate that the Parrot implementation of 6model is no longer being done in here.
14:43 dalek 6model: review: http://github.com/jnthn/6model/commit/0d51c06d5acc1f4a18eb5b1d9526333159da115b
14:43 dalek 6model: 2fd812d | jnthn++ | / (3 files):
14:43 dalek 6model: [dotnet] Make sure at_pos and at_key never return null, but rather something undefined. Allows duplicate method check to be uncommented.
14:43 dalek 6model: review: http://github.com/jnthn/6model/commit/2fd812db57b59d96627003770584318b718c107e
14:43 dalek 6model: 6d965f2 | jnthn++ | dotnet/compiler/Actions.pm:
14:43 dalek 6model: [dotnet] Quick hack in JnthnNQP to map is Foo in a package declaration to an add_parent call. (We don't quite have packages straight yet, though.)
14:43 dalek 6model: review: http://github.com/jnthn/6model/commit/6d965f2448421cd39d323827aaffe84fc95d1a31
14:43 dalek 6model: 3c4309f | jnthn++ | common/NQP/NQPSetting.pm:
14:43 dalek 6model: [common] Much more filling out of NQPClassHOW, plus add a very basic NQPAttribute. This gets classes with methods, attributes and doing single inheritance working.
14:43 dalek 6model: review: http://github.com/jnthn/6model/commit/3c4309f33be37dcd19d06f79bdcaafa572c6a87d
14:58 JimmyZ joined #perl6
15:24 sftp left #perl6
15:32 sftp joined #perl6
15:32 risou joined #perl6
15:34 sftp left #perl6
15:35 sftp joined #perl6
15:43 dual joined #perl6
15:48 toebu left #perl6
15:54 javs left #perl6
15:57 s1n joined #perl6
16:01 Trashlord joined #perl6
16:26 kensanata joined #perl6
16:29 MayDaniel left #perl6
16:32 MayDaniel joined #perl6
16:32 tadzik joined #perl6
16:33 tadzik o/
16:35 JimmyZ \o
16:39 kensanata <ô>
16:39 * kensanata is building Rakudo Star 2010.10 on an old Apple iBook running Ubuntu 10.04...
16:42 toebu joined #perl6
16:43 \xF0 left #perl6
16:43 \xF0 joined #perl6
16:47 icwiener joined #perl6
16:58 \xF0 left #perl6
17:01 jhuni joined #perl6
17:06 JimmyZ left #perl6
17:11 colbseton` left #perl6
17:11 risou left #perl6
17:12 colbseton` joined #perl6
17:13 risou joined #perl6
17:15 tadzik http://twit.tv/floss140 – does anyone have a video to share?
17:16 Axius joined #perl6
17:20 colbseton` left #perl6
17:20 colbseton` joined #perl6
17:25 dnl left #perl6
17:28 \xF0 joined #perl6
17:32 patspam left #perl6
17:36 cognominal joined #perl6
17:40 MayDaniel left #perl6
17:42 dnl joined #perl6
17:43 nadim left #perl6
17:45 kensanata left #perl6
17:47 kanishka left #perl6
17:49 ggoebel left #perl6
17:50 nadim joined #perl6
17:56 justatheory joined #perl6
17:57 M_o_C left #perl6
18:00 plobsing left #perl6
18:03 PacoLinux left #perl6
18:05 PacoLinux joined #perl6
18:12 kanishka joined #perl6
18:14 Axius_ joined #perl6
18:16 Axius left #perl6
18:16 kensanata joined #perl6
18:17 tadzik left #perl6
18:25 wamba left #perl6
18:25 dalek 6model: b76e080 | jnthn++ | common/NQP/NQPSetting.pm:
18:25 dalek 6model: [common] Allow NQPClassHOW to take and store the name of the class, and add .name method for introspecting it.
18:25 dalek 6model: review: http://github.com/jnthn/6model/commit/b76e0809b9f574798fe1e8f40db1fa43c56a94fb
18:25 dalek 6model: 2c0e138 | jnthn++ | dotnet/compiler/Actions.pm:
18:25 dalek 6model: [dotnet] Update JnthnNQP to pass package name along when creating the meta-object.
18:25 dalek 6model: review: http://github.com/jnthn/6model/commit/2c0e1386ce36f5e50a8bc98319aeb28efb16cb68
18:25 dalek 6model: ba72d85 | jnthn++ | dotnet/compiler/Actions.pm:
18:25 dalek 6model: [dotnet] Build proto methods so that they have a dispatch list, so we'll be able to add candidates and also to distinguish them from only methods.
18:25 dalek 6model: review: http://github.com/jnthn/6model/commit/ba72d85cbcab8f098fb19408169b2108492743e7
18:26 \xF0 left #perl6
18:27 \xF0 joined #perl6
18:30 PacoLinux left #perl6
18:30 MayDaniel joined #perl6
18:34 plobsing joined #perl6
18:36 tadzik joined #perl6
18:52 tadzik left #perl6
19:03 dalek 6model: 16e40fb | jnthn++ | dotnet/runtime/Runtime/Ops.cs:
19:03 dalek 6model: [dotnet] Add ops for pushing an extra dispatchee onto a dispatch list and checking if something is a dispatcher or not.
19:03 dalek 6model: review: http://github.com/jnthn/6model/commit/16e40fb6afe6c121dd3127f690963a8271cff3af
19:03 dalek 6model: 6e2fb41 | jnthn++ | common/NQP/NQPSetting.pm:
19:03 dalek 6model: [dotnet] First cut of multi-methods in NQPClassHOW. At the moment, only works in the case where the proto and multis are in the same class, rather than having an inherited proto.
19:03 dalek 6model: review: http://github.com/jnthn/6model/commit/6e2fb4124e9ca29438856c8af179493660bcc6d6
19:05 nomad joined #perl6
19:06 nomad left #perl6
19:06 nomad joined #perl6
19:07 kensanata left #perl6
19:10 jnthn D'oh, that last one shoulda been tagged [common]
19:11 moritz_ re
19:11 jnthn o/ moritz_
19:13 nomad left #perl6
19:13 diakopter kensanata: did the build finish?
19:28 PacoLinux joined #perl6
19:29 dalek 6model: dc36346 | jnthn++ | common/NQP/NQPSetting.pm:
19:29 dalek 6model: [common] Implement searching for a proto in parent classes too, and instantiating it anew in the child class that is doing candidate incorporation. Won't yet handle re-composition and new candidates added beyond composition, but that's evil anyway, so no hurry there. :-)
19:29 dalek 6model: review: http://github.com/jnthn/6model/commit/dc36346ac4a7ee60fbc1d44f435e8d003fe494de
19:32 moritz_ jnthn: I just saw the epic proto re-working commit from TimToady++ - are you happier now?
19:32 jnthn TimToady: I've spent the weekend implementing it. :-)
19:33 jnthn cah
19:33 kensanata joined #perl6
19:33 jnthn moritz_: ^^
19:33 jnthn :-)
19:33 jnthn moritz_: And yes, I'm happy. I'm *very* happy with the resulting implementation too.
19:33 moritz_ jnthn: \o/
19:35 jnthn moritz_: Though that this works is a little scary: http://gist.github.com/655709
19:35 jnthn In a good way. I think. :-)
19:35 molaf_ left #perl6
19:36 moritz_ jnthn: in current rakudo?
19:36 jnthn moritz_: No
19:36 jnthn moritz_: That's running on the .Net impl of NQP
19:37 jnthn moritz_: I've been prototyping it all there.
19:37 moritz_ jnthn: then I'm duely impressed how much works in the .Net impl :-)
19:37 lichtkind joined #perl6
19:37 lichtkind http://www.perlfoundation.org/perl6/index.cgi?perl_6_language_design_tablet#main_goal
19:37 lichtkind any comments?
19:37 meppl left #perl6
19:38 MayDaniel left #perl6
19:39 tadzik joined #perl6
19:41 Axius_ left #perl6
19:52 Axius joined #perl6
19:53 lue lichtkind: aside from some spelling and grammar issues (which certainly aren't bad to confuse anybody), I think it's a well written page.
19:53 lue [ I didn't know about the 'second system syndrome done right' slogan :) ]
19:53 lichtkind lue: thank you ,
19:54 lichtkind yes larry used it several time and moritz wrote about it
19:54 lichtkind which grammar issues
19:54 lichtkind ?
19:55 lue The only thing I remember was an extra comma or two. I can fix it for you if you like.
19:55 lichtkind i would be glad, thanks
19:59 sorear all your paradigms 'are' belong to us
20:00 sorear er, paradigm
20:03 lue left #perl6
20:04 xabbu42 joined #perl6
20:05 risou left #perl6
20:16 Limbic_Region joined #perl6
20:20 xabbu42 left #perl6
20:20 lue joined #perl6
20:21 lue sorry lichtkind, had to reboot. I'll fix it just as soon as everything's done starting up :)
20:22 lichtkind thanks
20:22 dnl left #perl6
20:30 lue .oO( *sigh*... Firefox decided to stop working :/ )
20:31 masonkramer joined #perl6
20:42 nadim left #perl6
20:42 nadim joined #perl6
20:45 Chat7248 joined #perl6
20:45 Chat7248 left #perl6
20:45 Chat7248 joined #perl6
20:45 Chat7248 left #perl6
20:45 dalek 6model: e42de56 | jnthn++ | dotnet/ (4 files):
20:45 dalek 6model: [dotnet] Add a definedness constraint enumeration, storage slot for it in a parameter object and update signature compilation to set it, if provided.
20:45 dalek 6model: review: http://github.com/jnthn/6model/commit/e42de5675b2ed7c74890d17631d964092b7fcb0b
20:45 dalek 6model: 842f693 | jnthn++ | dotnet/compiler/ (2 files):
20:45 dalek 6model: [dotnet] Get JnthnNQP to parse :D, :U and :_ and pass it down to the PAST compiler.
20:45 dalek 6model: review: http://github.com/jnthn/6model/commit/842f6931886547ee231c3bac03769eaf8da211d3
20:46 Axius left #perl6
20:49 * moritz_ can't really make sense of the :U smiley :-)
20:50 jnthn I know that ":D" is the appropriate one for "my multi-dispatcher can now differentiate based upon them" though. ;-)
20:50 dalek 6model: 1420bae | jnthn++ | dotnet/runtime/Runtime/MultiDispatch/MultiDispatcher.cs:
20:50 dalek 6model: [dotnet] Get multi-dispatcher to consider :U/:D/:_. The multi-dispatch cache is already wired to be able to cache on this too.
20:50 dalek 6model: review: http://github.com/jnthn/6model/commit/1420bae1600c780d02b83d7425ffb9b97cca6882
20:50 kensanata left #perl6
20:56 Bzek_ left #perl6
20:57 Tene will ☺ be supported as an alais for :D? ;)
20:57 Ross^ joined #perl6
20:57 jnthn Tene: Well, you have a 6model commit bit... :P
20:57 icwiener left #perl6
20:57 Ross left #perl6
20:58 Bzek joined #perl6
21:00 nadim left #perl6
21:01 sorear I'm thinking of allowing method foo:D(...) without 'multi'
21:02 Ross^ left #perl6
21:02 sorear it would just involve setting up different method tables for defined and undefined objects
21:02 jnthn sorear: They're modifiers on types, not methods.
21:02 sorear the multi dispatch form are type modifiers
21:02 sorear but an only-form could also work
21:02 Ross^ joined #perl6
21:02 jnthn Don't see the point off-hand.
21:03 jnthn Other than syntactic sugar.
21:03 jnthn Which I agree would be nice.
21:03 jnthn It'd still need to be multi to get both available though.
21:03 jnthn But you can use it solely as a constraint without multi-dispatch too.
21:04 Bzek left #perl6
21:04 jnthn Don't really think folks will write these enough to justify the extra syntax though.
21:04 nadim joined #perl6
21:04 jnthn Not sure if we want to encourage 'em to either...
21:05 Tene If it turns out you're wrong about that, you can change it later.
21:05 jnthn Tene: I'd rather not add syntactic sugar without user demand, tbh.
21:06 jnthn If that happens then yes, it's nice to have.
21:06 jnthn I'm just not convinced they're going to be used that heavily.
21:06 Tene jnthn: tha's what I was saying, yes.
21:06 jnthn Oh, OK. You're arguing it the same way as me. :-)
21:06 Tene If we turn out to need extra sugar for this, it can be added later.
21:06 Tene Yes. :)
21:06 jnthn :)
21:06 Tene Easier to add than to deprecate+remove or support forever.
21:07 kanishka left #perl6
21:07 Ross^ left #perl6
21:07 pothos_ left #perl6
21:08 y3llow_ left #perl6
21:09 y3llow joined #perl6
21:09 pothos joined #perl6
21:10 Bzek joined #perl6
21:12 \xF0 left #perl6
21:13 \xF0 joined #perl6
21:22 icwiener joined #perl6
21:24 MayDaniel joined #perl6
21:25 lue lichtkind: I assume [%DATE%] unformatted was on purpose?
21:26 lichtkind #yes
21:26 lichtkind it was an inside joke meaning today
21:26 lichtkind because its always these buzz chatter talks about today in these times we cann't .... :)
21:28 lue I thought so. Just editing it and seeing UNFORMATTED: [%DATE%] in a big bubble made me wonder.
21:28 lichtkind actually i had to embrace it into {{...}} that wiki doesnt make a link out of it
21:33 lue I fixed it up. You should look it over, make sure I didn't screw up content-wise along the way :)
21:38 alester joined #perl6
21:39 lichtkind lue: no its perfect i just link the * with its WITCH chapter
21:39 dalek 6model: e081fb5 | jnthn++ | dotnet/compiler/ROADMAP.txt:
21:39 dalek 6model: [dotnet] Update ROADMAP, which - given I last updated it in August - was terribly out of date.
21:39 dalek 6model: review: http://github.com/jnthn/6model/commit/e081fb5e28a5b96ac8e7916ef2c65b0208a52630
21:40 kjeldahl left #perl6
21:40 lichtkind lue: sooner or later all terms in that text will be proper linked
21:42 kensanata joined #perl6
21:45 dalek specs: 2fee9b3 | moritz++ | S05-regex.pod:
21:45 dalek specs: [S05] remove a context sensitivity fossile noticed by masak++
21:45 dalek specs: review: http://github.com/perl6/specs/commit/2fee9b38fa3b7f8a00f12cc166b55e05d5c31232
21:50 colbseton` left #perl6
21:59 kensanata left #perl6
22:07 mavrc left #perl6
22:08 * moritz_ just finished listening to http://www.twit.tv/floss140 merlyn++ pmichaud++
22:09 jnthn Yes, it was a good listen. :-)
22:20 jaldhar left #perl6
22:25 MayDaniel left #perl6
22:26 icwiener left #perl6
22:28 _kaare left #perl6
22:31 patspam joined #perl6
22:32 Limbic_Region I enjoyed it as well except my girls kept running around screaming wondering if it was time to go trick-or-treating yet
22:33 masak joined #perl6
22:33 masak #perl6! \o/
22:34 aindilis left #perl6
22:34 diakopter hi
22:34 jnthn masak! \o/
22:35 colomon Trick-or-treating is going like crazy here, have gotten 47 kids in the last 30 minutes.
22:36 masak wow, that's a lot of kids!
22:36 jnthn WHOA!
22:36 jnthn I think that's almost as many kids as the village I grew up in had. :P
22:39 dukeleto left #perl6
22:39 dukeleto joined #perl6
22:41 lue ohai masak o/
22:41 lue colomon: good luck to ya!
22:42 masak lue: I found out today that your IRC nick means something in the 1881 pre-Esperanto variant named "Lingvo universala".
22:42 jaldhar joined #perl6
22:43 tadzik left #perl6
22:44 colomon I don't think we ever got more than ten kids in a year at my parents' house.
22:44 dukeleto left #perl6
22:44 colomon but this city is about 6x bigger, and this neighborhood is perfect for trick-or-treating.
22:45 dukeleto joined #perl6
22:45 * colomon is wondering why Pictures at an Exhibition / Night on Bald Mountain are not in his MP3 library....
22:45 lue masak: it does? what?
22:45 masak "far [away]"
22:46 lue how strange, for I am in my TARDIS right now... :)
22:46 lucs Au loin
22:46 masak lucs: quite possibly related, yes.
22:47 lue (actually I'm taking various version of the DW theme and trying to match them together in Audacity so I can hear 2+ themes at once! Sad, I know)
22:47 masak no, it actually sounds like a worthwhile effort.
22:48 lue So far I got the '07 and '63 themes together (the 2010 theme is bloody difficult to get matched up with anything because of how its arranged.)
22:51 lue masak: I think NetHack would be a good source of inspiration for that adventure game. First inspiration: don't use every single button on the keyboard, each one performing a different function.
22:51 masak I agree about Nethack being a good inspiration.
22:52 masak I'm still waiting for some more specific inspiration that would make the game unique and fun to play/build with.
22:52 jnthn masak: Does "jnthn" mean anything in Esperanto? :-)
22:52 MaL0 joined #perl6
22:53 lue I can already tell you it'd be a noun.
22:53 masak I doubt that consonant cluster exists in any language, expect maybe in Ithquil :)
22:53 lue nevermind, I got confused
22:54 jnthn masak: Yeah...it's too extreme even for Slavic languages.
22:54 dalek 6model: ee58ecd | diakopter++ | / (3 files):
22:54 dalek 6model: implemented (copypaste) >,>=,<,<= for NQPInts & NQPNums
22:54 dalek 6model: review: http://github.com/jnthn/6model/commit/ee58ecd64cae77dc1eef4b4b569cf4c61da95a34
22:54 jnthn diakopter++
22:55 lue I've always thought of this platformer where you change the axes you're on and it changes the field. For example, if you're in the XY plane and there's something you can't reach, you might rotate into the XZ plane to get to a certain spot that'll let you get the treasure when you rotate back.
22:55 masak you just described Fez.
22:55 masak due in 2011.
22:57 lue Darn it!
22:57 * lue looks up Fez
22:57 masak lue: http://vimeo.com/3841540
22:58 lue That's a video, isn't it?
22:58 masak yes.
22:58 * sorear is looking through the TeX sources now... this memory manager is very interesting
22:59 lue .oO(I *really* need a new laptop)
23:00 sorear I have a PI laptop lying around with 512 MB of disk...
23:01 Util perl6: say Bar(); multi sub Bar ( ) { return 42 };
23:01 p6eval pugs, rakudo 5f5bae: OUTPUT«42␤»
23:01 Util perl6: say Bar(); multi sub Bar ( ) { return 42 }; multi sub Bar (:$baz!) { return $baz };
23:01 p6eval rakudo 5f5bae: OUTPUT«No applicable candidates found to dispatch to for 'Bar'. Available candidates are:␤:()␤:(Any :baz($baz)!)␤␤  in main program body at line 22:/tmp/UGNiomLxSC␤»
23:01 p6eval ..pugs: OUTPUT«42␤»
23:01 Util In Rakudo, why is the second declaration interfering?
23:01 masak looks like a bug to me.
23:02 masak ...possibly reported already.
23:02 sorear Perl 6.0 is not required to support multiple dispatch with named parameters
23:02 masak but I thought Rakudo did.
23:03 jnthn No
23:03 jnthn Well, it doesn't consdier them other than as constraints.
23:03 jnthn e.g. if one is required it's a constraint.
23:03 Util sorear: it is more than just a named parm; it is a *required* named parm. Shouldn't that make it part of the dispatch?
23:04 masak apparently, it's difficult to do that in practice.
23:04 jnthn Rakudo already considered required named params as constraints.
23:04 jnthn Otherwise a bunch of our trait_mods would never work.
23:05 jnthn It even has an optimization for the single-required-named-param case. :-)
23:06 jnthn Util: Can you file a ticket?
23:06 jnthn That looks like a bug to me. :S
23:06 Util Will file rakudobug. Thanks, all!
23:07 jnthn Util++
23:07 jnthn But it turns out to be a silly thinko. :-)
23:07 jnthn Somewhere in that little file, perl6multisub.pmc :-)
23:08 jnthn masak: There's another one in RT that I think is discinct from this but may end up related in the end.
23:08 masak jnthn: ok. I didn't find anything about required nameds.
23:09 risou joined #perl6
23:09 jnthn masak: I think it was about an argless candidate.
23:10 jnthn Or at least, that's the common dominator between these two.
23:11 y3llow left #perl6
23:11 lichtkind jnthn: cheers
23:12 y3llow joined #perl6
23:12 jnthn ahoj, lichtkind :-)
23:12 jnthn Ako sa mas?
23:13 sftp left #perl6
23:13 lichtkind jnthn: dost dobře , musim připravit jeste jednu přednašku
23:14 jnthn O com bude prednaska?
23:17 lichtkind o zajimave novějši funkce v ruznich editorech
23:17 sbp left #perl6
23:17 sbp joined #perl6
23:20 lichtkind understood%
23:20 jnthn Ano :-)
23:20 jnthn Features you want to steal for Kephra? ;-)
23:21 lichtkind or already have, your very smart
23:21 jnthn My Czech is...mostly read-only guesswork. :-)
23:21 lichtkind yes basically its kephra marketing without mentioning it :)
23:21 xabbu42 joined #perl6
23:22 jnthn hehe :-)
23:22 lichtkind to get excited about interesting stuff without to worry to promise when its implemented
23:22 jnthn .oO( I could submit talks to unsuspecting conferences like "The job of mutable grammars!" and "Pimp my metamodel" to sneakily talk about Perl 6... )
23:22 jnthn *the joy of...
23:23 lichtkind yes
23:23 lichtkind i will held this in vienna
23:23 lichtkind i think these guys are very forgiving :)
23:23 jnthn Nice city. Very nice city. :-)
23:23 lichtkind and my rebol talk or course
23:23 lichtkind i think you will be not there
23:24 pythonian4000afk is now known as pythonian4000
23:25 jnthn No, sadly not.
23:25 * masak is going to Vienna on Wednesday
23:26 masak just for two days.
23:26 jnthn masak: Have a schnitzel for me.
23:26 lue masak: taking advantage of eval(), maybe part of the adventure game could have a function where you code changes to the game in real-time! [The ability could be received after a sidequest or something]
23:26 jnthn ;-)
23:26 masak jnthn: I will.
23:26 masak lue: I like the way you're thinking. (but am not necessarily sure that &eval is the best tool here.)
23:27 masak I say that as generally an &eval proponent.
23:27 lue Whatever tool is to be used. &eval is the only thing I know of right now.
23:28 masak I think it'd be difficult here to have expressiveness while still protecting the user from herself.
23:28 masak in some ways, &eval is too blunt a tool here.
23:28 masak but as I said, I like the general notion.
23:29 lue .oO(This is an awful boss battle! [key combo] Game.debug.transport_to('bonus_room');)
23:31 masak consider this: great ideas are often born from clever use of restrictions. &eval offers the complete opposite of restrictions -- it basically offers ultimate cheating, God mode, etc, removing the sport from the game.
23:32 lue .oO(You received the ability to recode this game, aka GOD MODE. It's side effects include: insanity, death, dizzine— **YOU HAVE DIED** Restart?)
23:33 lichtkind masak: so i see you in friday?
23:33 masak lichtkind: only staying till Thursday :/
23:34 * masak wonders if Perl 6 could steal Newspeak's nested classes...
23:36 masak described here: http://blog.3plus4.org/2008/12/04/a-taste-of-nested-classes-part-1/
23:36 lue Maybe something a little less extreme, such as a part where you need to code P6 to move along. (but won't recode the game itself)
23:37 masak my current hunch is that the way the game would be extensible/flexible would be that playing the game blends into extending the game.
23:39 masak TimToady: starting at 06:30, Bracha has something interesting to say about package versioning that I think applies to Perl 6. http://confreaks.net/videos/121-elcamp2010-newspeak
23:40 masak or at least may resonate with Perl 6.
23:40 masak (in the problem space if not the solution space)
23:42 15SAA1D0O left #perl6
23:44 * lue attempts to solidify this intriguing concept for the game
23:49 am0c left #perl6
23:54 Chat7871 joined #perl6
23:55 Chat7871 left #perl6
23:55 Chat7871 joined #perl6
23:59 Chat7871 left #perl6
23:59 jnthn lol i blug http://6guts.wordpress.com/2010/11/01/multi-dispatch-lands-in-6model-on-net/
23:59 masak lul!
23:59 jnthn Yes, I did.
23:59 colomon \o/

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

Perl 6 | Reference Documentation | Rakudo