Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-11-14

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:13 drbean joined #perl6
00:20 samlh /script load crapbuster.pl
00:21 samlh sorry
00:25 ZuLuuuuuu joined #perl6
00:27 pugs_svn r23004 | ruoso++ | [mildew] make signatures optional
00:41 wayland76 ZuLuuuuuu: If there was a simple way to list and document all the functions, someone would've done it by now
00:43 wayland76 While it's by no means complete, it was updated by masak on 7th November, and he was asking around at the time trying to get it more complete
00:43 ZuLuuuuuu hmmmm
00:44 ZuLuuuuuu sorry I'm not that good at programming I guess what I'm trying to ask is a way for "introspection" of the whole system, I don't know if that is the correct word :)
00:45 wayland76 ZuLuuuuuu: sounds right to me :)
00:45 ZuLuuuuuu for example in Io programming language you can get all of an objects methods by: objectName.slots
00:45 ZuLuuuuuu and also you can get the "body" of a method
00:45 wayland76 In Perl5 this is done with the Data::Dumper module
00:45 ZuLuuuuuu the "code"
00:46 wayland76 although thinking about it, it only gives you the data, not the functions
00:46 ZuLuuuuuu so, in Io programmin language you can easily write a reference document by a few for loops :)
00:46 ZuLuuuuuu that would be cool in perl 6 too
00:46 wayland76 Anyway, I'm no real perl6 expert, so I'm unaware of how you'd do this
00:47 wayland76 I agree :)
00:48 wayland76 Have you seen http://perlcabal.org/syn/S12.html#Introspection
00:48 lambdabot Title: S12
00:48 wayland76 ?
00:49 ZuLuuuuuu hmm no i just began reading the apocalypses and synopsis, I am at "2" :)
00:49 ZuLuuuuuu I will look at it though thanks
00:50 wayland76 The Apocalypses tend to be out of date
00:51 wayland76 A quick skim-over indicates that it may be possible to do what you want with the introspection specified
00:51 ZuLuuuuuu hmmm but synopsis are summaries I guess?
00:52 alester joined #perl6
00:52 wayland76 Well, synopses started as summaries, but eventually became the spec
00:53 wayland76 so Apocalypses are historical documents, whereas S12 = Synopsis 12 = Spec 12 :)
00:53 ZuLuuuuuu hmmmmm then I will read the synopsis only then exegesis
00:53 wayland76 Btw, a note to someone appropriate: I'm getting /~azawawi/html/t/oo/meta_class.t.simple.html
00:53 wayland76 Well, the Exegeses are also historical documents ... :)
00:53 ZuLuuuuuu :)
00:54 wayland76 Whoops, sorry, Not FOund: The requested URL /~azawawi/html/t/oo/meta_class.t.simple.html was not found on this server.
00:56 wayland76 (The errors are when I click links in S29)
01:09 wayland76 @tell azawawi When I click links in S29, I get Not Found: The requested URL /~azawawi/html/t/oo/meta_class.t.simple.html was not found on this server.
01:09 lambdabot Consider it noted.
01:11 smg joined #perl6
01:45 ZuLuuuuuu left #perl6
01:51 Auzon joined #perl6
01:59 Alias_ joined #perl6
02:00 Alias_ joined #perl6
02:00 Alias_ joined #perl6
02:00 Alias_ joined #perl6
02:01 meppl good night
02:09 sri_kraih joined #perl6
02:12 zamolxes joined #perl6
02:33 cpfr joined #perl6
02:40 stephenos joined #perl6
02:41 wayland76 Saw pmichaud's question about MAIN on the mailing list, and just wanted to suggest that the answer be documented in the MAIN MAN page, and that the documentation be written by the main man.
02:42 wayland76 ...and if you think I'm lyin', then by the lion's mane, man yourself for combat :)
02:42 wayland76 (ow, you can stop hitting me now :) )
03:13 sri_kraih_ joined #perl6
03:37 silug joined #perl6
03:56 Patterner1 joined #perl6
04:33 alc joined #perl6
04:53 chrisdolan joined #perl6
05:06 apeiron_ joined #perl6
05:15 japhb_ joined #perl6
05:17 ab5tract joined #perl6
05:28 chrisdolan If I have a scalar that is an ObjectRef, how do I get the contained value out via Rakudo?  It looks like I want to invoke vtable get_pmc somehow.
05:45 pbuetow joined #perl6
05:56 azawawi_ joined #perl6
05:59 masak joined #perl6
06:22 kisu joined #perl6
06:41 kst joined #perl6
06:44 wayland76 $$scalar?
06:44 wayland76 (guessing)
06:47 wayland76 How are you creating the objectref?
06:51 chrisdolan my $m = PGE::Match.new("");
06:51 chrisdolan then $m.PARROT yields 'ObjectRef->PGE;Match'
06:52 chrisdolan I want to figure out $m.something.PARROT that yields 'PGE;Match'
06:57 wayland76 rakudo: my $m = PGE::Match.new(""); say $m.PARROT
06:57 p6eval rakudo 32633: OUTPUT[ObjectRef->PGE;Match␤]
06:58 wayland76 rakudo: my $m = PGE::Match.new(""); say $m.^PARROT
06:58 p6eval rakudo 32633: OUTPUT[Method 'PARROT' not found for invocant of class 'P6metaclass'␤current instr.: 'parrot;Perl6Object;!.^' pc 975 (src/gen_builtins.pir:569)␤]
06:58 wayland76 rakudo: my $m = PGE::Match.new(""); say $$m.PARROT
06:58 p6eval rakudo 32633: OUTPUT[Statement not terminated properly at line 1, near "$$m.PARROT"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
06:58 wayland76 rakudo: my $m = PGE::Match.new(""); say ($$m).PARROT
06:58 p6eval rakudo 32633: OUTPUT[Statement not terminated properly at line 1, near "($$m).PARR"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
06:59 wayland76 (my Radkudo appears to be to old for this :) )
06:59 wayland76 (ie. on my computer :) )
07:02 elmex joined #perl6
07:02 wayland76 rakudo: my $m = PGE::Match.new(""); say $m.[0].PARROT
07:02 p6eval rakudo 32633: OUTPUT[Failure␤]
07:03 wayland76 rakudo: my $m = PGE::Match.new(""); say $m
07:03 p6eval rakudo 32633: OUTPUT[␤]
07:04 wayland76 rakudo: my $m = PGE::Match.new(""); say $m.WHAT()
07:04 p6eval rakudo 32633: OUTPUT[Match␤]
07:05 wayland76 chrisdolan: Don't know, but I'm being called.  I guess I'll be back later &
07:18 moritz joined #perl6
07:22 japhb joined #perl6
07:40 apeiron joined #perl6
07:49 sail0r joined #perl6
07:52 sail0r left #perl6
07:57 azawawi_ hello
07:57 azawawi joined #perl6
07:57 azawawi ping
07:57 lambdabot azawawi: You have 1 new message. '/msg lambdabot @messages' to read it.
07:57 azawawi @messages
07:57 lambdabot wayland76 said 6h 48m 27s ago: When I click links in S29, I get Not Found: The requested URL /~azawawi/html/t/oo/meta_class.t.simple.html was not found on this server.
07:57 masak azawawi: hi there.
07:57 azawawi masak: hey ;-)
07:58 masak another glorious day in Perl 6 land.
07:58 azawawi yeah another November ;-)
07:59 masak :)
07:59 azawawi i guess i should be indexing all of t/* instead of t/spec
07:59 masak aye.
07:59 masak but that might be a lot more.
08:00 azawawi interesting im getting OOM on some files now
08:00 masak t/ is twice as large as t/spec
08:01 masak OOM?
08:01 azawawi Out of Memory
08:01 azawawi ulimited to 512M...
08:02 masak should be enough for anybody. ;)
08:02 * azawawi is looking on t/*
08:03 azawawi so in synopsis we have t/oo too?
08:06 azawawi masak: 387 in t/* if we exclude t/spec... 774 in total
08:06 DemoFreak joined #perl6
08:07 masak azawawi: mm. I was counting kilobytes.
08:07 azawawi masak: and given most of them are not specced.... STD will croak for sure on most
08:07 masak does that necessarily follow?
08:08 masak I mean, non-specced things can still be syntactically ok.
08:08 azawawi nop... a lucky guess ;-)
08:08 masak but yes, I also except some things to fail outside of t/spec
08:08 moritz STD.pm usually parses all of t/ fine
08:08 masak there you go :)
08:09 moritz type 'make testt' and see (after an hour...)
08:09 azawawi then instead of every 3 hours... will run it every 6 hours
08:09 azawawi moritz_: first of all good morning ;-)
08:09 azawawi s/_//
08:09 moritz good morning ;)
08:10 azawawi you're back on 'moritz'
08:10 moritz oh, that's a mistake
08:10 azawawi im thinking of generating an html at the end as a summary of what failed...
08:10 moritz 'moritz' is registered to another user
08:11 moritz (on freenode)
08:12 azawawi STD is back using more memory than usual...
08:12 moritz_ TimToady is refactoring it
08:13 azawawi cool
08:13 kisu joined #perl6
08:13 moritz_ (Cursor.pm that is)
08:13 pasteling "azawawi" at 212.38.144.137 pasted "summary of passes/fails..." (14 lines, 538B) at http://sial.org/pbot/33198
08:15 azawawi yup all of them are OOMs
08:16 sail0r_ joined #perl6
08:16 azawawi and it now takes twice the amount of time to finish as before
08:17 sail0r_ left #perl6
08:17 * azawawi is working on t/spec -> t/*
08:19 wayland76 Anyone know the answer to chrisdolan's question from before?  (see the logs)
08:20 azawawi hi wayland76
08:24 wayland76 hi :)
08:29 azawawi wayland76: im was only processing t/spec, not t/ ; will fix it soon
08:38 pugs_svn r23005 | azawawi++ | [STD_syntax_highlight] t/spec -> t/ ; this can mean twice the time but
08:38 pugs_svn r23005 | azawawi++ | [STD_syntax_highlight] all smartlinks in Synopsis will work
08:50 pugs_svn r23006 | azawawi++ | [STD_syntax_highlight] added a commented sample cron usage
08:51 ejs joined #perl6
08:52 pugs_svn r23007 | azawawi++ | [smartlinks] updated syntax highlight links to t/ instead of t/spec
08:58 azawawi moritz_: scheduled it to run every 5 hours on all of t/*
09:02 jan joined #perl6
09:08 moritz_ ok ;)
09:09 ejs joined #perl6
09:10 __felix__ joined #perl6
09:11 wayland76 azawawi: I'm in no hurry, just as long as someone knows the problem is there :)
09:36 tomyan joined #perl6
09:40 smg joined #perl6
09:55 dalek joined #perl6
09:55 spx2 joined #perl6
09:55 ewilhelm joined #perl6
09:55 allbery_b joined #perl6
09:55 kcwu joined #perl6
09:55 PerlJam joined #perl6
09:55 nothingmuch joined #perl6
09:55 charsbar joined #perl6
09:55 pasteling joined #perl6
09:55 clkao joined #perl6
10:12 ejs joined #perl6
10:53 ruoso joined #perl6
11:18 schmalbe joined #perl6
11:24 Lorn joined #perl6
11:24 iblechbot joined #perl6
11:32 apeiron joined #perl6
11:34 bacek_ joined #perl6
11:44 smg joined #perl6
12:14 Bzek_ joined #perl6
12:27 azawawi moritz_: ping
12:27 azawawi @tell moritz_ Here is the latest log, please check out the errors at the end (http://feather.perl6.nl/~azawawi/html/log.txt)
12:27 lambdabot Consider it noted.
12:29 azawawi @tell wayland76 it is fixed. thanks for reporting the problem. wayland76++
12:29 lambdabot Consider it noted.
12:31 [particle] azawawi: you still get some oom errors
12:31 [particle] filename:      ../../t/spec/S02-whitespace_and_comments/unspace.t Reason:     Out of memory!
12:31 azawawi [particle]: TimToady is refactoring Cursor...
12:33 [particle] oh, wow, you did all the pugs tests, too
12:33 azawawi [particle]: It took 11734 wallclock secs... ;-)
12:34 [particle] well, heck, seems now's a good time to put this on a cron job that only does files changed since the last run
12:34 [particle] (or all files if the script changes)
12:34 azawawi [particle]: it is scheduled to run every 5 hours...
12:35 [particle] but does it take into account the files changed since rXXXXX?
12:35 azawawi [particle]: not yet but im thinking of it...
12:36 azawawi [particle]: we could record their md5 and rebuild all when they change or STD.pm changes
12:36 [particle] that'd work, too
12:36 [particle] or parse svn st -r<LAST_REV_RUN_AGAINST>:HEAD
12:37 [particle] that is, if you can run this against a list of files
12:37 [particle] rather than against 1 file, or all files
12:38 azawawi it is a separate script... src/perl6/cron_*
12:43 azawawi i wonder when we're gonna upgrade feather into a dual quad core or something ;-)
12:45 pugs_svn r23008 | azawawi++ | [STD_syntax_highlight] correct cron script message
12:47 alc joined #perl6
12:54 DarkAkorn joined #perl6
12:54 DarkAkorn hey, does moritz_ happen to be around
12:54 lambdabot DarkAkorn: You have 1 new message. '/msg lambdabot @messages' to read it.
12:55 azawawi @seen moritz_
12:55 lambdabot moritz_ is in #perl6. I last heard moritz_ speak 3h 46m 43s ago.
12:57 DarkAkorn ok, well if he comes back, or if anyone else can help me with this, here it is
12:58 DarkAkorn on the ilbot, I try to run it and it errors with Can't locate IrcLog.pm
12:58 DarkAkorn near as I can tell it's not a CPAN module that I'm missing
12:58 DarkAkorn so I'm wondering what it is that I am missing, and most importantly, how to fix it
12:59 DarkAkorn moritz_: if you come back, my connection sometimes prevents me from hanging around long enough to get a correct answer, I'll get the messages though when I can get back on, thanks
12:59 azawawi ~/pugs/misc/irclog/lib/IrcLog.pm
12:59 azawawi does that help?
13:01 DarkAkorn that looks like it
13:01 DarkAkorn now can I ask another question? How do I install it, I'm used to CPAN whatever module
13:02 DarkAkorn I'm pretty new at running anything perl, only gotten one other project to work correctly :/
13:03 azawawi let me see
13:03 DarkAkorn I already have that file uploaded (with the ilbot), but appearently it's not finding it
13:05 DarkAkorn may have found it
13:05 [particle] you likely need to either 'use lib "dir where IrcLog.pm is"' in your script
13:05 DarkAkorn ok, I'll try that too
13:05 [particle] or need to pass -Idir_where_IrcLog_lives to perl
13:05 azawawi or use perl -I.
13:06 azawawi [particle]: ;-)
13:07 * azawawi lunch &
13:09 DarkAkorn so I insert
13:09 DarkAkorn use lib "/lib/IrcLog.pm"
13:09 DarkAkorn at the top of my script
13:10 DarkAkorn and it should go well?
13:10 [particle] no
13:10 [particle] use lib 'lib';
13:10 [particle] if the lib dir is under the directory where the script lives
13:11 DarkAkorn yes
13:11 DarkAkorn ok
13:11 [particle] use lib must be above use IrcLog in the script
13:11 DarkAkorn aye, figured that
13:13 DarkAkorn yay!
13:13 DarkAkorn it works... and doesn't
13:13 DarkAkorn but at least I get no errors
13:17 DarkAkorn It says it's trying to connect to the server, but no connection is made
13:18 [particle] that's beyond me, i don't know the code
13:19 DarkAkorn hummm
13:20 [particle] gotta reboot &
13:26 [particle] joined #perl6
13:27 kisu joined #perl6
13:27 abra joined #perl6
13:28 abra left #perl6
13:35 kisu_ joined #perl6
13:42 kisu joined #perl6
14:09 alester joined #perl6
14:12 diakopter joined #perl6
14:18 DarkAkorn moritz_ I'll be back shortly if you drop by, I still need help
14:30 [particle] joined #perl6
14:34 masak joined #perl6
14:34 ejs joined #perl6
14:43 kisu joined #perl6
14:43 silug joined #perl6
14:45 cosimo joined #perl6
15:04 alester joined #perl6
15:10 Exodist joined #perl6
15:20 adc_Penner joined #perl6
15:27 [particle] joined #perl6
15:41 hercynium joined #perl6
16:03 stephenos joined #perl6
16:07 pmurias joined #perl6
16:14 pugs_svn r23009 | pmurias++ | [smop] uses the prove selection trick from mildew
16:19 araujo joined #perl6
16:25 adc_Penner2 joined #perl6
16:30 justatheory joined #perl6
16:40 charsbar_ joined #perl6
16:57 ruoso joined #perl6
17:01 DarkAkorn moritz_?
17:07 kisu_ joined #perl6
17:08 pmurias ruoso: now that we have signatures what are the missing features for the metamodel?
17:08 lambdabot pmurias: You have 2 new messages. '/msg lambdabot @messages' to read them.
17:18 armagad joined #perl6
17:21 Exodist joined #perl6
17:21 * Exodist is having another wirelss issues day.
17:22 DarkArchon joined #perl6
17:30 cognominal joined #perl6
17:33 ruoso pmurias, we have to be able to compile ClassHOW.pm completely
17:35 meppl joined #perl6
17:49 pugs_svn r23010 | pmurias++ | [mildew] signatures in subroutines
17:51 macae joined #perl6
17:52 Exodist joined #perl6
17:53 apeiron joined #perl6
17:56 pmurias ruoso: how should the lexical prelude be exposed to the prelude initialisation code?
17:57 ruoso pmurias, I think we should use EXPORT
17:57 ruoso and after load the specific class or knohow
17:57 ruoso bind the things in the EXPORT to the prelude
17:59 pmurias you mean having a implicit use Prelude
17:59 pmurias ?
18:00 pmurias and adding stuff to the prelude the standard way?
18:00 kisu joined #perl6
18:03 * pmurias is not sure if he should commit code which puts a $LexicalPrelude in the lexical prelude
18:06 ruoso no...
18:07 ruoso pmurias, I mean that the code compiled by mildew declares a package for that file (it always should do that)
18:07 ruoso and somehow when that compiled code is loaded, it must find out the reference for that package
18:07 ruoso and when loading the things in prelude
18:08 ruoso work as if there was an implicit "use" for each of the files in the prelude
18:08 ruoso in the beginning of each file
18:09 ruoso which basically means
18:09 ruoso that the package must have an EXPORT
18:09 ruoso and that the prelude will bind the items in the EXPORT
18:09 ruoso to itself
18:12 pmurias which means that we need modules to support the prelude...
18:13 ruoso no... it's the oppsosite
18:13 ruoso well... kinda...
18:13 ruoso I'm assuming the prelude is the outermost lexical scope of any lexical scope
18:14 ruoso which means that things in the prelude become ubiquitous
18:14 ruoso but I'd like to make the compilation of the modules/classes that will belong in the prelude to be standard
18:15 ruoso which means that it's the prelude loading that is special
18:15 ruoso because it uses the actual prelude scope as the current scope
18:15 ruoso which no other code will
18:16 ruoso but besides that,
18:16 ruoso the loading of the prelude is strictly the same as any other
18:16 ruoso it's something like...
18:16 ruoso { use ClassHOW; use Object; use ... }
18:17 ruoso that's how the prelude is loaded
18:17 ruoso that means that when you "use ClassHOW", besides identifying which file to load
18:17 ruoso you're identifying which package to import the default exports
18:18 ruoso and which package to create a local alias to
18:18 pmurias but we need module support to implement "use ClassHOW" right?
18:19 ruoso ahhh..
18:19 ruoso I see what you mean now...
18:19 ruoso yes...
18:19 ruoso we need to support module loading... yes
18:20 ruoso but before we can "use ClassHOW", we still need to be able to compile ClassHOW...
18:20 pmurias yes...
18:23 ruoso pmurias, have you seen that we already support defining a class if you define knohow ClassHOW first?
18:24 ruoso mildew: knowhow ClassHOW { method add_method { $OUT.print("Hello!\n"); } }; class Foo { method bar {} };
18:24 p6eval mildew: OUTPUT[Malformed fate at ../../src/perl6/Cursor.pm line 728.␤]
18:24 ruoso mh?
18:25 pmurias old lex
18:25 pmurias i suspect
18:25 ruoso anyway...
18:26 ruoso one test I was trying is to take the add_method code from ClassHOW, try to put it into a little snippet like the one above and see what happens
18:27 ruoso it was failing with some weirdness yesterday
18:35 pmurias one of the reason i prefer to build complex stuff from smaller ast nodes instead of adding new ast nodes is that it's possible to debug the compiler output with --desugar instead of viewing screenfulls of m0ld
18:38 ruoso pmurias, I see... but I think we could simply provide the desugar for Package, MetaCall and If, couldn't we
18:39 pmurias If already has it
18:40 pmurias it's the pretty sub
18:42 pmurias i'm really tired now, but i'll attempt to convert Package and MetaCall to a "use the result of this node more than once" and other nodes and see how clean do they look like
18:42 pmurias later that is
18:43 kisu joined #perl6
18:46 ruoso pmurias, well... feel free to do it, but if you take a look at the code Package generates, it's pretty discouraging...
18:46 ruoso I think implementing the proper "pretty" methods for that AST types looks more promising
18:47 pmurias it's 3 lines
18:47 ruoso pmurias, MetaCall yes... but that's hardly where the problem is
18:47 ruoso and I'm not sure the problem is in Package as well
18:47 pmurias 3 lines to implement a proper pretty method
18:48 ruoso oh... right...
18:52 pugs_svn r23011 | ruoso++ | [mildew] pretty Package and MetaCall
18:54 pugs_svn r23012 | ruoso++ | [mildew] with a newline it is better
19:00 pugs_svn r23013 | ruoso++ | [mildew] add elsif and else to pretty
19:02 pugs_svn r23014 | ruoso++ | [mildew] code failing with weirdness
19:02 ruoso pmurias, take a look at perl mildew --file t/classhow_add_method_real.t --desugar
19:04 macae joined #perl6
19:10 ruoso TimToady, it looks like STD is not making much difference between the invocant and the first positional parameter of a method signature... at least in the VAST
19:16 ruoso pmurias, I found out what the weirdness is
19:17 ruoso the same problem we had earlier...
19:17 ruoso when declaring a class, after the how is set it needs a FETCH method
19:17 pmurias ower&
19:18 pmurias * shower&
19:19 kisu joined #perl6
19:26 hercynium joined #perl6
19:38 km2 joined #PERL6
19:41 pugs_svn r23015 | lwall++ | [Cursor] refactor to trie and Storable implementation, which uses less
19:41 pugs_svn r23015 | lwall++ |     time and memory except for programs using overloading
19:41 pugs_svn r23015 | lwall++ | now uses a fate cache to avoid dup fate lists; no longer stores intermediate
19:41 pugs_svn r23015 | lwall++ |     fates as strings, but reproduces from list when debugging
19:41 pugs_svn r23015 | lwall++ | [tryfile] now reports time and memory usage (at least on linux)
19:42 TimToady ruoso: you have to look at the first param_sep
19:46 TimToady @tell azawawi even with the latest checkin, you're still going to get OOM on any file with multiple overloading; I need to come up with a less memory-intensive way to do that...
19:46 lambdabot Consider it noted.
19:47 TimToady commuting &
19:50 kisu joined #perl6
19:56 Lorn_ joined #perl6
19:59 schmalbe joined #perl6
20:00 justatheory joined #perl6
20:05 cpfr joined #perl6
20:24 alester joined #perl6
20:35 Jedai joined #perl6
20:40 REPLeffect joined #perl6
21:03 xinming joined #perl6
21:34 ZuLuuuuuu joined #perl6
22:08 wknight8111 joined #perl6
22:52 kane__ joined #perl6
23:18 Limbic_Region joined #perl6
23:20 qpdb joined #perl6
23:20 qpdb left #perl6
23:20 jferrero joined #perl6
23:21 ruoso joined #perl6
23:29 pugs_svn r23016 | ruoso++ | [mildew] now we support the invocant, as explained by TimToady++
23:29 ruoso TimToady, but I should note that having parameter and param_sep in different parts of the data structure is kinda weird
23:47 ZuLuuuuuu left #perl6

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

Perl 6 | Reference Documentation | Rakudo