Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-08-15

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:12 viirya has quit IRC (Read error: 113 (No route to host))
00:15 fglock_ has joined #perl6
00:17 justatheory has quit IRC ()
00:24 justatheory has joined #perl6
00:32 vcv has joined #perl6
00:42 scw has quit IRC (Ping timeout: 14400 seconds)
00:42 svnbot6 r6262 | fglock++ | * added perl5/Hash Container; tests
01:00 justatheory has quit IRC ()
01:00 vcv has quit IRC (Read error: 104 (Connection reset by peer))
01:10 theorbtw1 has joined #perl6
01:10 castaway_ has joined #perl6
01:10 svnbot6 r6263 | putter++ | Prelude.pm: Added support for regex :overlap modifier.  But it's disabled until Rul infix:<~~> works in Prelude.
01:11 putter Supaplex: parrot is immature.  it does not yet _run_ any interesting language.  let alone run so well that the issue of releases would arise.  tcl (in the parrot distribution), p6 (pugs), p5 (ponie, somewhere), and perhaps python (in parrot) are perhaps the most serious efforts.  With p6/p5 having a community intent to run on parrot.  My guess is it will end up being easier for languages to target parrot via p6, rather than directly.
01:14 Supaplex ok
01:16 putter autrijus, everyone: a worrisome observation - I'm seeing localized test instability (sometimes succeeds, sometimes fails) in some rules tests.  There is a pugsbug illustrating pod contents determining success/failure, but this is unchanging test files.  Perhaps the new use of macros is tickling the earlier problem.  Or perhaps this is something new.
01:17 putter There is always the possibility that significant rules work should be deferred a bit longer, until the new runtime is in.
01:22 kisu has joined #perl6
01:27 theorbtwo has quit IRC (Read error: 110 (Connection timed out))
01:27 castaway has quit IRC (Read error: 110 (Connection timed out))
01:30 putter Good night all. &
01:30 putter Supaplex: thanks for your interest.
01:30 putter has quit IRC ("Leaving")
01:37 kisu has left "Leaving"
01:53 elmex has quit IRC ("n8")
01:54 scw has joined #perl6
02:14 hacnslash has joined #perl6
02:14 hacnslash has left "Leaving"
02:36 fglock_ has quit IRC (Read error: 113 (No route to host))
02:41 vcv has joined #perl6
03:10 kozmo has quit IRC ("KVIrc 3.2.0 'Realia'")
03:10 vcv has quit IRC (Read error: 104 (Connection reset by peer))
03:30 rafl has quit IRC (Read error: 104 (Connection reset by peer))
03:30 rafl has joined #perl6
04:02 Amnesiac has quit IRC ("Leaving")
04:05 Aankhen`` has joined #perl6
04:10 SamB has quit IRC (Read error: 145 (Connection timed out))
04:22 xinming has joined #perl6
04:34 rlb3 has joined #perl6
04:41 vcv has joined #perl6
04:45 SamB has joined #perl6
05:21 autrijus rehi
05:21 vcv has quit IRC (Read error: 104 (Connection reset by peer))
05:23 obra  reautrijus
05:23 QtPlatypus Hi autrijus
05:25 Khisanth A!
05:25 autrijus :)
05:26 * autrijus @ work
06:14 SM_ax has joined #perl6
06:45 vcv has joined #perl6
07:11 penk has quit IRC (Remote closed the connection)
07:11 vcv has quit IRC (Read error: 104 (Connection reset by peer))
07:15 scook0 has joined #perl6
07:24 iblechbot has joined #perl6
08:01 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
08:06 larsen has joined #perl6
08:07 pdcawley_ has quit IRC ()
08:19 prefiks has joined #perl6
08:42 Aankhen`` has quit IRC (Read error: 104 (Connection reset by peer))
08:43 umbop has joined #perl6
08:44 vcv has joined #perl6
08:45 larsen has quit IRC (Read error: 110 (Connection timed out))
08:48 penk has joined #perl6
08:50 nothingmuch has joined #perl6
09:27 Aankhen`` has joined #perl6
09:27 vcv has quit IRC (Read error: 104 (Connection reset by peer))
09:31 prefiks has quit IRC ("Ex-Chat")
09:39 jp-autark has quit IRC ("leaving")
09:52 saorge has joined #perl6
10:15 iblechbot has quit IRC (Read error: 110 (Connection timed out))
10:17 Maddingue__ has joined #perl6
10:30 Maddingue has quit IRC (Read error: 110 (Connection timed out))
10:49 vcv has joined #perl6
11:08 sili has quit IRC (Read error: 110 (Connection timed out))
11:08 vcv has quit IRC (Read error: 104 (Connection reset by peer))
11:18 Aankh|Clone has joined #perl6
11:33 masak has joined #perl6
11:34 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
11:47 iblechbot has joined #perl6
11:48 autrijus vkon++ # http://pugscode.org/images/lambdacamels.png revised to have the greeks resemble "Perl"
11:51 autrijus dinner &
11:52 dudley has quit IRC ()
11:57 Limbic_Region has joined #perl6
11:57 penk has quit IRC (Read error: 104 (Connection reset by peer))
12:00 sahadev has quit IRC ("Client exiting")
12:02 sahadev has joined #perl6
12:12 Aankh|Clone autrijus: Good job on the XML backend. :-P
12:13 Aankh|Clone is now known as Aankhen``
12:15 kolibrie has joined #perl6
12:22 nothingmuch autrijus: is the lambdacamels picture OK with oreilly?
12:24 orafu has quit IRC (Client Quit)
12:30 * nothingmuch just whored massive amounts of office supplies
12:35 fglock has joined #perl6
12:43 elmex has joined #perl6
12:45 fglock ping
12:49 vcv has joined #perl6
12:51 fglock nothingmuch: ping
12:58 nothingmuch pong
12:59 nothingmuch fglock: pong
13:00 fglock nothingmuch: I'm working on the runtime, but I need objects to define Pair and Hash - is it possible to use the metamodel for this?
13:00 nothingmuch fglock: you want to implement Pair and Hash within the metamodel?
13:00 nothingmuch that's very possible
13:00 nothingmuch probably easy, too
13:00 fglock I want to "use" the metamodel to create Int, Str, Pair, ...
13:01 nothingmuch s/create/implement/ or s/create/instantiate/ ?
13:01 fglock I have to "box" things before inserting in the Container
13:01 scook0 has quit IRC ("Leaving")
13:02 nothingmuch fglock: nopaste some pseudocode for how you want the interface to look, i'm not sure I understand what advice I can give yet
13:04 fglock I've got native "int" and "str", and I want to create a Pair ('a' => 3) - I need "Str" and "Int" objects to do this
13:05 fglock I need Int->new( 3 ) and Str->new( 'a' )
13:05 nothingmuch right
13:05 nothingmuch so there is a class Int which has some convenient methods
13:06 nothingmuch and 'has int $:value;'
13:06 nothingmuch right?
13:06 nothingmuch and you want to know how this might be implemented in the metamodel?
13:06 nothingmuch or you want to know if it's already been done?
13:06 nothingmuch or...?
13:07 fglock Yes, I want to implement this class, probably inside the Perl6::Value modules
13:07 nothingmuch ah
13:07 nothingmuch so how would you like me to help?
13:07 fglock but it should use the object model from the metamodel, not Perl5's
13:07 nothingmuch okay
13:07 nothingmuch in the minimetamdeol this is very very easy, and I'm now well versed in it
13:08 nothingmuch in the real perl 6 metamodel it's probably more sugared
13:08 nothingmuch but i need to reread it, as I'm out of date
13:08 fglock I just need a small example on how to start - It can be modified and refined later
13:08 nothingmuch basically the process is: you instantiate the class "Class", and get a new class
13:08 nothingmuch you fill it up with methods and attributes and stuff
13:09 nothingmuch this new class is a subclass of the class "Object"
13:09 nothingmuch then you can instantiate this new class, and get an object
13:09 fglock I'll do some tests
13:09 nothingmuch in the minimetamodel this would look a bit like my $PairClass = $Class->new('$:name' => 'Pair', '%:methods' => { first => sub { ... }, second => sub {  ... } });
13:10 nothingmuch uh, '$:superclass' => $object;
13:10 nothingmuch then you can say 'my $this_is_a_pair_instance = $PairClass->new(...)';
13:10 nothingmuch you edit the attributes using ::opaque_instance_attrs, (maybe it has a diff name, I can't recall)
13:11 nothingmuch want me to walk you through what I wrote yesterday? a good enough intro is the autoloading metaclass
13:11 nothingmuch http://svn.openfoundry.org/pugs/perl5/Perl6-MetaModel/docs/MiniMetaModel_variations/autoloading.pl
13:12 nothingmuch $Class->new creates a class.. This new class is a subclass of 'class'. From this class you create new classes, so it is, in fact, a metaclass too
13:12 nothingmuch it has a name, and some methods
13:12 nothingmuch it alters the way method dispatching is performed
13:12 nothingmuch then we create $MyAuto, a class that has some_method, and AUTOLOADER
13:12 nothingmuch it is a subclass of $Object
13:12 nothingmuch and it's metaclass is $Autoloading
13:13 nothingmuch instead of being a simple class, $MyAuto is an autoloading one
13:13 nothingmuch thne we create $iAuto, an instance of $MyAuto
13:13 nothingmuch and call methods on it
13:14 nothingmuch is this becoming clear?
13:14 fglock cool - thanks! I think I can start coding an example
13:15 nothingmuch fglock: if something doesn't work nopaste it
13:15 nothingmuch it's slightly confusing at first
13:16 nothingmuch but the moment you "get" it things start being easy
13:16 nothingmuch C3 was by var the hardest example
13:16 fglock it would be nice to have a common API for the metamodels (it may be too early for that)
13:17 nothingmuch fglock: look at what stevan comitted yesterday
13:17 nothingmuch it should be similar to the minimetamodel because it's based on it
13:17 nothingmuch it probably has nice sugar to let you create classes in a more declarative way
13:28 Aankh|Clone has joined #perl6
13:36 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
13:45 Aankh|Clone is now known as Aankhen``
13:47 fglock MiniMetamodel doesn't run - "undefined value as a HASH reference", line 33
13:53 autrijus rehi.
13:53 autrijus http://www.cafepress.com/pugscode
13:53 elmex has quit IRC ("leaving")
13:53 fglock hi autrijus
13:53 mjl69 has joined #perl6
13:55 fglock I'm working on the Str, Int .. boxed types
13:56 dudley has joined #perl6
13:57 autrijus cool!
13:57 stevan fglock: you should likely use the Metamodel 1.0
13:57 stevan morning all :)
13:57 stevan fglock: 2.0 is in very early stages,..
13:57 fglock stevan: yes, it passes all tests here
13:57 autrijus hey stevan :)
13:58 stevan nice t-shirts autrijus :)
13:58 autrijus :D
13:59 Limbic_Region autrijus - did you see the question from nothingmuch about O'Reilly being ok with one of the images (presumably it had a camel on it)
13:59 Limbic_Region <nothingmuch> autrijus: is the lambdacamels picture OK with oreilly?
13:59 mjl69 t-shirt? where? I need more.  I wear my black and green perl shirts way too much.
13:59 stevan Limbic_Region: that version is not on cafepress
13:59 Limbic_Region stevan - I didn't say it was
13:59 Limbic_Region I was repeating a question to autrijus now that he is here
14:00 stevan changes topic to: Pugs t-shirts http://www.cafepress.com/pugscode | Pugs 6.2.9 released | pugscode.org | pugs.kwiki.org | paste: http://sial.org/pbot/perl6 | www.geeksunite.net
14:00 Limbic_Region on nothingmuch's behalf
14:00 autrijus Limbic_Region: I asked permission to use that camel when I worked on par.perl.org a while ago
14:00 stevan Limbic_Region: ahh, sorry :)
14:00 autrijus Limbic_Region: and I don't plan to sell that :)
14:00 autrijus so I presume it's cool
14:00 mjl69 t-shirt link?  Need more shirts...
14:01 stevan mjl69: see the title
14:01 autrijus mjl69: http://www.cafepress.com/pugscode
14:01 mjl69 oh, dumb me again.
14:01 autrijus mugwump: you okay if I put the "powered by phd" there too?
14:02 stevan nice
14:04 mjl69 I want to find one of those t-shirts that shows the geometric proof of the pythagorean theorem.  I heard they are out there.
14:05 mjl69 then a t-shirt to match all of the language books on my shelf I plan to study some day.
14:05 orafu has joined #perl6
14:05 mjl69 I do always work the first chapter at least on the day they come in.  Then on the shelf they go.
14:06 autrijus mjl69: you mean this? http://www.cut-the-knot.org/pythagoras/abc.gif
14:08 autrijus stevan: I'm uploading the metamodel.png :)
14:10 orafu has quit IRC ("leaving")
14:11 orafu has joined #perl6
14:12 Limbic_Region mjl69 - geometric proof of the pythagorean theorem - which one, I know of several
14:12 orafu has quit IRC (Client Quit)
14:12 orafu has joined #perl6
14:13 spinclad___ has joined #perl6
14:14 Limbic_Region in fact, there are an infinite number of them http://www.jimloy.com/geometry/pythag.htm
14:17 penk has joined #perl6
14:19 autrijus stevan: metamodel mouse pad + sticker is on :)
14:21 castaway_ cool!
14:26 SM_ax has quit IRC ("ChatZilla 0.9.61 [Mozilla rv:1.7.8/20050513]")
14:27 hexmode has joined #perl6
14:29 * autrijus reboots and goes back to coding :)
14:29 autrijus cafepress is fun though :)
14:29 prefiks has joined #perl6
14:30 iblech has joined #perl6
14:31 fglock I've got "Int" working!
14:31 autrijus fglock: woot!
14:32 svnbot6 r6264 | iblech++ | * Usual svn props.
14:32 svnbot6 r6264 | iblech++ | * PIL2JS: s/-CPIL/-CPerl5/, i.e. PIL2JS can "parse" PIL again. Next step is to
14:32 svnbot6 r6264 | iblech++ |   (e.g.) s/->[0]/->{pExpr}/.
14:32 autrijus iblech: if you'd like to fix it to use ->{expr}, that could work too
14:32 autrijus iblech: what do you think? or pExpr is fine?
14:32 iblech autrijus: pExpr is absolutely fine
14:33 autrijus 'k
14:33 Limbic_Region has quit IRC ("tiuq\")
14:36 fglock where can I find object hierarchy docs?
14:36 iblech TSa posted his type lattice to p6l
14:36 autrijus fglock: there... is none.
14:36 fglock :)
14:37 fglock what's the difference between Bit and Bool?
14:37 svnbot6 r6265 | fglock++ | * perl5/ "Int" boxed value, using the MetaModel
14:37 autrijus fglock: bool is an enum subtype on Bit
14:37 autrijus I think
14:38 autrijus there's a synopsis that talks about it
14:41 mjl69 autrijus: That's the one! Just need to find the t-shirt.
14:42 mjl69 thanks also Limbic_Regi (delay due to pesky day job, sorry!)
14:50 jhorwitz has joined #perl6
14:50 prefiks has quit IRC (Read error: 104 (Connection reset by peer))
14:50 svnbot6 r6266 | fglock++ |  * perl5/ Value - boxed type conversion "$i = $n->int()" works
14:51 prefiks has joined #perl6
14:51 autark has joined #perl6
14:51 autark is now known as jp-autark
14:57 justatheory has joined #perl6
15:03 autrijus mjl69: ping
15:03 mjl69 autrijus: hi!
15:05 * mjl69 goes back to work again
15:05 autrijus mjl69: is this what you want?
15:05 autrijus http://cafepress.com/autrijus/
15:06 autrijus mjl69: I _think_ that's the layout of the original Pythagoras proof
15:06 autrijus not sure though
15:06 fglock autrijus, stevan: take a look at Perl6-Value-List/t/item-boxed.t
15:06 mjl69 wow, you can just put a shirt together just like that?
15:06 autrijus mjl69: yeah :)
15:07 autrijus took me some time to draw that Visio thing though
15:07 mjl69 autrijus: I can really order that shirt?  
15:07 autrijus mjl69: sure!
15:07 svnbot6 r6267 | iblech++ | DrIFT.Perl5: Escape \$@%" in double-quoted strings.
15:07 svnbot6 r6268 | fglock++ | * per5/ Value - boxed types mostly done
15:07 mjl69 autrijus: you are the ultimate t-shirt man!
15:07 autrijus :D
15:18 xern has quit IRC ("Lost terminal")
15:23 fglock can you assign to a Pair's value - "$x.v = 10"? (I think not, because Pair are not containers, right?)
15:23 autrijus fglock: Pair, like Ref, can point to a container
15:24 svnbot6 r6269 | fglock++ | * perl5/ Value - added Num->Inf; Num->NaN
15:24 autrijus and I think it was ruled that $x.value is rw.
15:24 autrijus which is to say, it returns a lvalue.
15:24 autrijus which is to say, it can be assigned to
15:24 autrijus fglock: but I think the .key is a singular value
15:24 autrijus so you can't assign to .key
15:26 fglock Pugs doesn't permit assignment to .value
15:26 autrijus the current runcore doesn't do that, yup.
15:26 autrijus that's a known bug
15:27 fglock ok
15:29 pdcawley_ has joined #perl6
15:29 fglock you don't modify an Int - you modify the container, right?
15:29 autrijus right.
15:29 autrijus see the container.png
15:30 fglock isn't Pair a container, then?
15:30 autrijus I tend to think of it like
15:31 autrijus class Pair { has $.key; has $.val is rw }
15:31 autrijus so it's not itself a container
15:31 autrijus but it does refer to a container
15:33 * fglock must go for lunch now &
15:33 fglock has left "Fui embora"
15:41 svnbot6 r6270 | iblech++ | * util/drift.pl: Made it work here.
15:41 svnbot6 r6270 | iblech++ | * PIL2JS: Modified ~~50% of the *.pms to work with the new -CPerl5.
15:42 Maddingue has joined #perl6
15:49 coral -CPerl5?
15:50 dudley coral: compiles to perl5 data structures
15:51 coral interesting
15:51 dudley indeed
15:51 coral SV or PMC p5?
15:51 coral that is, perl5 or ponie
15:51 autrijus coral: eval p5
15:51 coral ok
15:51 autrijus as in , "bless(...)"
15:52 ods15 i never did get bless(), i thought it was some kind of bad perl joke
15:54 integral if you've read SICP, <SICP> =~ s/tag/bless/
15:57 Maddingue__ has quit IRC (Read error: 110 (Connection timed out))
16:04 iblech autrijus: What's PPos' pExp? (It seems to be always undef...)
16:11 autrijus iblech: it's because Exp doesn't derive Perl5 yet
16:11 autrijus iblech: it's the original syntax tree
16:11 iblech autrijus: ah, ok
16:11 autrijus I presume you don't actually use it
16:11 iblech yep
16:11 autrijus so all's well then
16:15 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
16:17 larsen has joined #perl6
16:25 svnbot6 r6271 | iblech++ | PIL2JS: Ported PStmt, PPos and PStmts to -CPerl5, too. Only PVal, PVar, and
16:25 svnbot6 r6271 | iblech++ | Subs need work now (and bugfixing, of course).
16:27 saorge has quit IRC (Read error: 110 (Connection timed out))
16:29 saorge has joined #perl6
16:32 umbop has quit IRC (Remote closed the connection)
16:37 pdcawley_ has quit IRC ()
16:46 saorge has quit IRC (Connection timed out)
16:48 saorge has joined #perl6
16:53 nothingmuch has quit IRC ("leaving")
17:11 fglock has joined #perl6
17:11 vcv has quit IRC (Read error: 104 (Connection reset by peer))
17:16 Amnesiac has joined #perl6
17:24 Limbic_Region has joined #perl6
17:40 xinming ?eval { 3+5 }
17:40 evalbot6 8
17:40 svnbot6 r6272 | fglock++ | * perl5/ Value - "Pair" type
17:40 xinming ?eval { my $x = 3; "a" => 1, $b, $c ==> print };
17:40 evalbot6 Error:  unexpected ">" expecting term
17:40 xinming ?eval { my $x = 3; "a" => 1 };
17:41 evalbot6 ('a' => 1)
17:41 xinming ?eval { my $x = 3; "a" => 1; return $x ;};
17:41 evalbot6 \3
17:41 xinming ?eval { my $x = 3; "a" => 1; return bless $x,"haha"; };
17:41 evalbot6 Error: No compatible subroutine found: "&bless"
17:42 xinming ?eval { my $x = 3; "a" => 1; };
17:42 evalbot6 ('a' => 1)
17:42 xinming ?eval { my $x = 3; "a" => 1; return $x ;}
17:42 evalbot6 \3
17:44 xinming anyone here can tell me what that expression exactly returned? a closure or a ref to a scalar ($x) or a hash ref which contains {'a' => 1}?
17:44 autrijus xinming: it returns a scalar $x. the ref thing merely indicates it's lvalue
17:45 fglock 'undef' is just an empty Scalar? or is it an object itself?
17:46 xinming autrijus: may I refer the value of the key 'a'?
17:47 xinming Or,If there is a way to get the value of it.
17:47 ods15 geez
17:47 ods15 that crap looks like perl
17:48 autrijus fglock: undef is an empty anything. :)
17:49 autrijus fglock: think of it as C's null.
17:49 fglock ok
17:49 autrijus ?eval ("a" => 1).key
17:49 evalbot6 'a'
17:49 autrijus xinming: like that?
17:50 xinming autrijus: hmm, that's what I want to know
17:51 xinming if my $t = { my $x = 3; "a" => 1; return $x ;};
17:51 fglock does .ref returns the class object, or is it always just the class name (string)?
17:51 xinming then $t<a> will get the value of a?
17:52 ingy has quit IRC ("leaving")
17:52 iblech fglock: class object, never string
17:52 ingy has joined #perl6
17:52 iblech xinming: No, $t will be a Code ref
17:53 iblech But if you wrote my $t = ("a" => 1) then $t<a> would give you 1
17:53 xinming iblech: so the kv pair will be parsed but ignored. right?
17:53 iblech xinming: Right.
17:53 autrijus fglock: the current implementation is broken, but it's supposed to return a class object.
17:54 iblech xinming: That's similar as "sub foo { 1; 2; 3 }" -- the 1 and 2 can safely be optimized away
17:54 * fglock should be writing this in Perl6 instead
17:55 autrijus they can be optimized away only if they are simple values :)
17:55 autrijus fortunately, "overloading the void context" is not yet heard of.
17:55 iblech Yep :)
17:56 xinming autrijus: Could you please tell me when 6.283 might be released? :-)
17:56 autrijus xinming: good question
17:57 autrijus xinming: it'll be released when we have proper support for Rules and Grammers, in addition to the object model.
17:57 autrijus I'm afraid that's the best answer i have :)
17:57 PerlJam autrijus: On p6l, are you asking if roles become classes for instantiation purposes?
17:57 autrijus PerlJam: yes.
17:58 autrijus PerlJam: not the previous "anonymous class gets vivified" foo
17:58 autrijus but just "roles are liskov-equivalent to classes"
17:58 autrijus "roles are just classes that additionally accepts 'does'"
17:59 PerlJam interesting and strange.
18:00 autrijus larry's been thinking interesting and strange thoughts.
18:04 spinclad has quit IRC (Ping timeout: 14400 seconds)
18:05 xinming I can' think as high as Larry. So, I really don't know what the "roles" do really. just know, It is, really a "class",
18:07 xinming but can't create object.
18:07 mjl69 roles?
18:09 autrijus xinming: it can create objects if all its methods are defined
18:09 autrijus in that case it's still the same as a class
18:09 autrijus really, roles are classes with two reuse forms: "is RoleName" and "does RoleName"
18:09 autrijus while classes only supports "is ClassName"
18:10 autrijus it seems that's all the difference there is... oh, and roles can be generic (takes type parameters) too.
18:11 putter has joined #perl6
18:13 putter re pythagoras, http://www.headmap.org/unlearn/euclid/book1/1.47.htm  http://www.sunsite.ubc.ca/DigitalMathArchive/Euclid/byrne.html
18:14 xinming hmm... If so, I think, Why "roles" exist might be for joining two (or more) "roles" into a class.
18:14 autrijus putter: have you seen my pythagoras t-shirt at http://www.cafepress.com/autrijus/ ?
18:14 autrijus xinming: yes.
18:15 mjl69 can create objects if all methods defined...like a C++ class with pure virtual methods?
18:15 putter autrijus: yes, just did.  neat!
18:15 putter http://www.sunsite.ubc.ca/DigitalMathArchive/Euclid/bookI/images/bookI-47.html  too
18:16 justatheory has quit IRC ()
18:16 xinming autrijus: May I see your photo? :-) I've went your site. most photos aren't clear I think.
18:16 * putter is tempted to create a "How Big Are Things?" T-Shirt  http://www.vendian.org/howbig/  http://www.vendian.org/howbig/cube/
18:17 mjl69 autrijus: I like your t-shirt compared to the other pythagoras shirts because it doesn't say what it is.  That makes it more cool.
18:18 fglock re:metamodel - I can't find the syntax to access an instance attribute - "'undefine' => { _('$.value' => undef) }" doesn't work
18:22 stevan fglock: sub _ is probably ignoring the undef
18:22 stevan I think something like if defined $value
18:22 stevan to set that
18:23 fglock I get "cannot call $?SELF from outside of a MetaModel defined Instance method"
18:23 stevan hmm
18:23 stevan can you nopaste the entire code?
18:24 stevan 'undefine' => { _('$.value' => undef) } should be 'undefine' => sub { _('$.value' => undef) }
18:24 stevan maybe that is it
18:24 stevan I made that mistake several times myself
18:24 stevan Perl 6 tends to stick with your
18:24 stevan s/r$//
18:25 fglock fixed! thanks (i forgot the "sub" :(
18:25 autrijus wouldn't it be nice to
18:25 autrijus package HASH; use overloas '&{}'
18:25 autrijus sadly that doesn't quite work.
18:25 stevan LOL
18:25 autrijus may be possible with autobox.pm though.
18:25 * autrijus stops thinking bad ideas
18:26 * stevan scolds autrijus for even going there :P
18:26 mjl69 is this the channel with the bot that evaluates statements or was it #haskell?
18:26 Limbic_Region ?eval say 'here'
18:26 evalbot6 here bool::true
18:26 mjl69 oooh,  I thought it was here.
18:26 integral #haskell has @eval
18:27 mjl69 oh, it's both.
18:27 autrijus #haskell also has @plugs
18:27 putter re T-Shirts and objectsm an idea -- date them, eg, 2005.  Or "Pugs 2005".  "Pugs - The First Year".   "Fall 2005".   motivates sale closing because you wont be able to get the high-something "Summer 2005" (wow!) versions a month from now.
18:27 autrijus good idea.
18:28 mjl69 I suggested in #ruby-lang they should have one too since Ruby lends itself to that sort of learning/testing.  I guess the fear is it opens the bot's system to attack.
18:28 mjl69 buy the t-shirt without the date right away.  Limited edition.
18:29 putter ;)
18:29 stevan autrijus: you could date *and* version them
18:29 stevan get your 6.2.9 t-shirts now before 6.2.10 comes out
18:30 mjl69 convert the obfuscated camel code from the back of the perl 5 t-shirt to perl 6...
18:31 PerlJam If you date and version them, put a feature list on the back so that either it continues to grow or (if it always takes up the entire back) the font keeps getting smaller :-)
18:31 putter re obfuscated, good point. the largest target market is p5 people, so want to hook them...
18:31 stevan ChangeLog t-shirts!!!
18:31 putter lol :)
18:32 mjl69 like concert tour dates
18:32 PerlJam exactly
18:32 PerlJam how does cafepress work exactly? Does it cost to update or put up a new entry or just when people buy?
18:33 PerlJam If it only costs when they buy you can automatically update the shift from the repository ;-)
18:33 PerlJam er, s/shift/shirt/
18:43 mauke has quit IRC (Remote closed the connection)
18:45 autrijus mm changelog t-shirts
18:45 autrijus very crazy
18:46 svnbot6 r6273 | iblech++ | PIL2JS: Remaining .pms ported (PVar, Subs, PVal). Now bugfixing.
18:47 autrijus ok. I'll date everything to expire at 1st november
18:47 spinclad___ is now known as spinclad
18:52 vcv has joined #perl6
18:55 autrijus done.
18:57 Limbic_Region has quit IRC ("poker tournament")
19:01 putter neat.  err, just to ensure no misunderstanding, I was thinking of dates on the objects, rather than the webpage... but webpage is nice too.
19:03 * putter ponders what to work on...
19:05 putter nothingmuch: ping?
19:12 coral cafepress lets you put up one t-shirt and sell it for free
19:12 coral dunno about zazzle prices
19:12 coral s/one t-shirt/one entry for each type of item/
19:13 putter sigh.  nobody is smoking p6 rules.  :(
19:19 autrijus coral: s/for each type of item/$& for each store/
19:19 autrijus coral: and because a person can create +Inf of stores, that's not a severe restirction
19:19 autrijus gah. past 3am already.
19:20 * autrijus uploads a brief journal and goes to sleep
19:20 fglock how do I get the class, inside a metamodel object?
19:20 * autrijus waves &
19:20 fglock good night autrijus
19:21 justatheory has joined #perl6
19:27 xinming ?eval { my $t = 3; 'a' => 1 };
19:27 evalbot6 ('a' => 1)
19:27 xinming which value will return in this expression? 3 or 'a' or 1 ?
19:27 xinming ooops.I mean the clous*
19:27 xinming maybe this sub
19:27 xinming ?eval sub { my $t = 3; 'a' => 1 };
19:28 evalbot6 sub {...}
19:28 xinming ?eval my $x = sub { my $t = 3; 'a' => 1 }; $x();
19:28 evalbot6 ('a' => 1)
19:29 xinming anyone here has a clue?
19:29 Shachaf has quit IRC (Read error: 104 (Connection reset by peer))
19:30 xinming ?eval my $x = sub { my $t = 3; 'a' => 1 }; $x().key;
19:30 evalbot6 'a'
19:30 xinming hmm, Maybe It just returns a anonymous hash ref.
19:32 ezra_ has joined #perl6
19:38 pdcawley_ has joined #perl6
19:40 iblech xinming: re. It returns a pair, but pairs can .key, .value, .kv, .pairs, too
19:43 fglock re: metamodel - how do I get the class of an instance?
19:44 xinming ?eval my $x = sub { my $t = 3; 'a' => 1 }; my $w = { 'b' => 2, $x() }; $w.keys
19:44 evalbot6 ('a', 'b')
19:44 xinming ?eval my $x = sub { my $t = 3; {'a' => 1} }; my $w = { 'b' => 2, $x() }; $w.keys
19:44 evalbot6 ('a 1', 'b')
19:45 xinming ?eval my $x = sub { my $t = 3; {'a' => 1} }; my $w = { 'b' => 2, 'hashref' => $x() }; $w.values
19:45 evalbot6 (2, (('a' => 1)))
19:46 xinming iblech: thanks.
19:48 iblech fglock: Generally, .ref. dunny about Perl5-MetaModel
19:48 iblech xinming: np
19:48 fglock I'm implementing .ref :)
19:50 iblech oh :)
19:54 putter autrijus: re "Day 190 (r6272): Pugs Store opens!", err, no.  My suggestion was to have a date _on the shirts/mugs/etc _themselves__.  Sorry I was unclear.
20:02 xinming ?eval class TMP { has $.tmp = 3; }
20:02 evalbot6 Error:  unexpected "{" expecting trait, ";" or end of input
20:02 xinming ?eval class TMP { has $.tmp; }
20:02 evalbot6 undef
20:03 xinming ?eval class TMP { has $.tmp; }; my $t .= new TMP;
20:03 evalbot6 Error:  unexpected ";" expecting letter or digit, ":", term postfix, operator or "," The .= operator needs a type specification.
20:04 pdcawley_ has quit IRC ()
20:04 xinming ?eval class TMP { has $.tmp; }; my TMP $t .= new;
20:04 evalbot6 \TMP.new();
20:05 xinming ?eval class TMP { has $.tmp is rw; }; my TMP $t .= new; $t.tmp = 1;
20:05 evalbot6 \1
20:05 xinming ?eval class TMP { has $.tmp is rw; }; my TMP $t .= new; $t.tmp = 1; $t.tmp.say
20:05 evalbot6 1 bool::true
20:05 xinming ?eval class TMP { has $.tmp is rw; }; my TMP $t .= new; $t.tmp( 1 ); $t.tmp.say
20:05 evalbot6 Error: No compatible subroutine found: "&tmp"
20:06 xinming ?eval class TMP { has $.tmp is rw; }; my TMP $t .= new; $t.tmp = 1; my $t = $t.tmp; $t.tmp.say
20:06 evalbot6 Error: No compatible subroutine found: "&tmp"
20:07 xinming ?eval class TMP { has $.tmp is rw; }; my TMP $t .= new; $t.tmp = 1; my $y = $t.tmp; $y.say
20:07 evalbot6 1 bool::true
20:08 fglock stevan: ping
20:08 xinming ?eval class TMP { has $.tmp is rw; }; my TMP $t .= new; $t.tmp = 1; my $y = $t.tmp(); $y.say
20:08 evalbot6 1 bool::true
20:09 xinming hmm... By the way, Why can't auto-generated accessor method pass a value as a parameter?
20:10 xinming ?eval class TMP { has $.tmp is rw; }; my TMP $t .= new; $t.tmp = 1; $t.tmp(2); $t.tmp.say
20:10 evalbot6 Error: No compatible subroutine found: "&tmp"
20:16 iblech Because they're declared as method tmp () is rw {...}
20:16 iblech I.e. they can only be used as lvalues
20:18 theorbtw1 Not quite -- because they take zero parameters, other then the object, and in $t.tmp(2), you're calling it with one.
20:18 xinming iblech: In fact, That's why I wonder why the default isn't method tmp( $x ) { if( $x ) { $.tmp = $x }; $x }
20:18 theorbtw1 The rvale isn't a parameter in an lvalue call, for better or for worse.
20:19 xinming I think This might be more often for a writable accessor.
20:19 theorbtw1 xinming, because if you want to assign something, you should do something that looks like an assignment.
20:19 putter later &
20:19 putter has quit IRC ("Leaving")
20:22 theorbtw1 I'm off to bed.
20:22 svnbot6 r6274 | fglock++ | * perl5/ Container - added "Scalar" type; tests.
20:22 svnbot6 r6274 | fglock++ |   .ref() doesn't work yet
20:22 xinming theorbtw1: hmm... thanks, In fact, sometimes, I am thinking in perl 5 for my personal habits. :-)
20:22 xinming theorbtw1: good night.
20:22 iblech I'm too.
20:22 iblech Night all :)
20:22 iblech has quit IRC ("sleep &")
20:22 xinming night
20:27 xinming role X { is Y; }; class Y does X { }; What happens if we do something like this?
20:28 fglock xinming: there should be an error - circular inheritance or such
20:28 xinming hmm: so role X { is SOME_CLASS; } will turn SOME_CLASS into a role, right?
20:29 fglock (unless it is a syntax error)
20:30 xinming ??
20:30 Amnesiac has quit IRC ("Leaving")
20:30 xinming fglock: Could you tell me if I am thinking right.
20:31 fglock xinming - I don't know if it is allowed for a role to inherit from a class
20:31 dudley has quit IRC ()
20:31 xinming A role is allowed to declare an additional inheritance for its class when that is considered an implementation detail:
20:31 xinming This is from Synoposis
20:32 xinming role Pet {
20:32 xinming        is Friend;
20:32 xinming    }
20:33 fglock ah, ok - but I think the inheritance only applies to the methods in the role.
20:33 svnbot6 r6276 | iblech++ | PIL2JS: Stopped PIL2JS from dieing, but more work needed to make it work again (-> tomorrow).
20:36 xinming There are too many perl tricks I think useful in perl 6. :-)
20:36 xinming s/think/like/
20:37 xinming at least, we don't need to my $self = shift; for every method in a package anymore.
20:45 xinming ?eval class TMP { has $.tmp is rw; }; my TMP $t .= new; $t.tmp = 1; my $y = $t.tmp; $y.say
20:45 evalbot6 1 bool::true
20:45 xinming ?eval class TMP { has $:tmp is rw; }; my TMP $t .= new; $t.tmp = 1; my $y = $t.tmp; $y.say
20:45 evalbot6 Error: No compatible subroutine found: "&tmp"
20:46 xinming ?eval class TMP { has $.tmp; }; my TMP $t .= new; $t.tmp = 1; my $y = $t.tmp; $y.say
20:46 evalbot6 1 bool::true
20:47 xinming ?eval class TMP { has $.tmp;method tmp { "perl 6".say}; }; my TMP $t .= new; $t.tmp;
20:47 evalbot6 perl 6 bool::true
20:48 xinming it's said that all function call need the parenthesis. So is this wrong for pugs?
20:48 xinming ?eval class TMP { has $.tmp;method tmp { "perl 6".say}; }; my TMP $t .= new; tmp $t;
20:48 evalbot6 Error: Wrong number of invocant parameters: 0 actual, 1 expected in "&TMP::tmp"
20:48 xinming ?eval class TMP { has $.tmp;method tmp { "perl 6".say}; }; my TMP $t .= new; tmp $t();
20:48 evalbot6 Error: cannot cast from VObject (MkObject {objType = (mkType "TMP"), objAttrs = <ref>, objOpaque = Nothing, objId = 52}) to Pugs.AST.Internals.VCode (VCode)
20:48 xinming ?eval class TMP { has $.tmp;method tmp { "perl 6".say}; }; my TMP $t .= new; tmp( $t );
20:48 evalbot6 Error: Wrong number of invocant parameters: 0 actual, 1 expected in "&TMP::tmp"
20:49 dduncan has joined #perl6
20:50 xinming ?eval class TMP { has $.tmp;method tmp { "perl 6".say}; }; my TMP $t .= new; tmp $t:;
20:50 evalbot6 perl 6 bool::true
20:51 xinming ?eval class TMP { has $.tmp;method tmp { "perl 6".say}; }; my TMP $t .= new; tmp $t;
20:51 evalbot6 Error: Wrong number of invocant parameters: 0 actual, 1 expected in "&TMP::tmp"
20:52 xinming seen autrijus
20:52 jabbot xinming: autrijus was seen 1 hours 32 minutes 18 seconds ago
21:00 justatheory has quit IRC ()
21:02 buu has quit IRC ("leaving")
21:05 putter has joined #perl6
21:05 putter xinming: class TMP { has $.tmp;method tmp { "perl 6".say}; }; my TMP $t .= new; tmp($t:);
21:08 putter &
21:08 putter has quit IRC (Client Quit)
21:15 mjl69 has quit IRC ()
21:29 kolibrie has quit IRC ("leaving")
21:31 Amnesiac has joined #perl6
21:32 maxweber has joined #perl6
21:34 justatheory has joined #perl6
21:41 maxweber has quit IRC ("leaving")
21:42 justatheory has quit IRC ()
21:51 justatheory has joined #perl6
21:54 iblechbot has quit IRC (Connection reset by peer)
21:59 mugwump autrijus: yes, put the powered by PhD logo there!
22:00 mugwump it is at http://wellington.pm.org/archive/200506/perl6-intro/html/slide02.html ... the one on the next page is interesting, too
22:01 mugwump I think the reverse side of a powered by PhD top would have to have a * followed by a little bibliography
22:02 hexmode has quit IRC (Remote closed the connection)
22:02 mugwump including paper names and references, perhaps we can brainstorm some here, stevan ?
22:04 * mugwump reads the journal entry
22:08 saorge has quit IRC (Connection timed out)
22:09 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
22:09 svnbot6 r6277 | fglock++ | * perl5/ - implemented .ref() in Num,Int,Str,Bit,Pair,Scalar
22:11 saorge has joined #perl6
22:15 prefiks has quit IRC (Read error: 104 (Connection reset by peer))
22:35 dudley has joined #perl6
22:35 vcv has quit IRC (Read error: 104 (Connection reset by peer))
22:46 justatheory has quit IRC ()
22:54 webfiend has joined #perl6
22:55 fglock has left "Fui embora"
23:20 webfiend has quit IRC ("Leaving")
23:20 svnbot6 r6278 | fglock++ | * perl5/ - new methods .perl, .increment, .decrement
23:20 svnbot6 r6278 | fglock++ |   partially implemented
23:46 rlb3 has quit IRC (Read error: 104 (Connection reset by peer))
23:47 rlb3 has joined #perl6

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

Perl 6 | Reference Documentation | Rakudo