Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-10-23

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:34 wayland76 joined #perl6
00:35 araujo joined #perl6
00:47 hercynium joined #perl6
00:48 eternaleye joined #perl6
00:49 alester joined #perl6
01:11 Ontolog joined #perl6
01:15 sri_work joined #perl6
01:20 eternaleye_ joined #perl6
01:25 alester joined #perl6
01:26 felipe joined #perl6
01:39 fullermd joined #perl6
01:44 wayland76 Hi all.  I've just gone from parrot 0.7.1 to 0.8.0, and its definitely an improvement
01:45 wayland76 I still can't run any of my modules I'm working on, but it's getting closer :)
01:45 aindilis joined #perl6
01:45 wayland76 Does anyone know whether gather/take works yet?
01:45 kanru joined #perl6
01:45 literal try it?
01:46 wayland76 rakudo: take 1
01:46 p6eval rakudo 31963: OUTPUT[No exception handler and no message␤current instr.: 'take' pc 12997 (src/gen_builtins.pir:8053)␤]
01:47 wayland76 how do I interpret that :)
01:47 wayland76 ?
01:48 literal rakudo my @list = gather { take "this" }
01:48 literal rakudo: my @list = gather { take "this" }
01:48 p6eval rakudo 31963: RESULT[["this"]]
01:48 literal seems to work
01:48 wayland76 ok :)
01:49 wayland76 I'm told that it's eventually supposed to work even if the take is in a different sub than the gather
01:49 wayland76 and that's what I was having trouble with :)
01:49 wayland76 (I'm trying to write an iterator :) )
01:49 abra joined #perl6
01:52 literal rakudo: sub pick { take "this" }; my @list = gather &pick;
01:52 p6eval rakudo 31963: RESULT[[]]
01:52 literal hm
01:53 wayland76 great example :)
01:55 Ontolog i've been too busy at work to help :(
01:55 Ontolog i think once Perl 6 is bootstrapped i can contribute again, it's easier to write things in Perl 6 than PIR
01:55 Ontolog moritz_: if there are some things that need to be written in Perl 6 let me know
01:56 wayland76 Ontolog: I don't speak PIR
01:56 wayland76 But I'm having fun trying to implement some classes in Perl6
01:57 wayland76 Even though I spend a fair bit of time metaphorically cursing the implementation :)
01:57 wayland76 But it's improving in leaps and bounds :)
01:58 Ontolog yes but not quite there yet... still not 'bootstrapped'
01:58 Ontolog meaning we still can't ditch PIR and write the rest of Perl 6 in Perl 6
01:58 Ontolog PIR is a PITA
01:58 wayland76 I think that's what they mean by version 1.0 being ready by Christmas :)
01:59 wayland76 I spent half an hour trying to get a bit of a grip on PIR
01:59 wayland76 But I quit :)
02:00 wayland76 literal: according to ROADMAP, gather and take "depends on resumable exceptions from pir"
02:00 wayland76 literal: Which is probably what's needed to make the example above work :)
02:00 araujo joined #perl6
02:03 wayland76 Ok, regex question everyone
02:03 wayland76 if I write my $M := $s ~~ XML::TOP;
02:03 wayland76 ...where XML is a grammar...
02:04 wayland76 Then $M is a regex object
02:04 wayland76 (ie. PGE::Match)
02:04 wayland76 If I do: my PGE::Match $M = $s ~~ XML::TOP;
02:05 wayland76 I get a type mismatch error, because it apparently wants $M to be a Str instead
02:05 wayland76 I don't get it :)
02:06 wayland76 I thought := made it point at the container that = would assign to
02:06 wayland76 sort of like a reference
02:18 pasteling "wayland76" at 118.208.174.27 pasted "Code that produces strange results" (57 lines, 1.5K) at http://sial.org/pbot/32799
02:18 pasteling "wayland76" at 118.208.174.27 pasted "Strange results" (24 lines, 832B) at http://sial.org/pbot/32800
02:19 wayland76 Notice how, in the results, going from After 0 to Before 1, it changes $M.WHAT()
02:19 wayland76 Why is $M changing at all?
02:20 wayland76 (I'm guessing a bug, but it could be my inadequate understanding too :) )
02:24 araujo joined #perl6
02:24 wayland76 joined #perl6
02:24 AndyAway joined #perl6
02:24 pmichaud joined #perl6
02:24 kcwu joined #perl6
02:24 rhr joined #perl6
02:26 rhr_ joined #perl6
02:26 pmichaud_ joined #perl6
02:26 eternaleye joined #perl6
02:29 wayland76 joined #perl6
02:29 AndyAway joined #perl6
02:29 kcwu joined #perl6
02:29 araujo joined #perl6
02:30 wayland76 Network splits :)
02:36 Alias_ joined #perl6
02:39 Alias__ joined #perl6
02:40 Psyche^ joined #perl6
02:52 xinming joined #perl6
02:52 BinGOs_ joined #perl6
02:53 nothingmuch joined #perl6
03:26 pugs_svn r22706 | lwall++ | [STD] workaround for misparse of <==, using order to put good before bad on tie
03:26 pugs_svn r22706 | lwall++ |     (the real fix needs precedence table knowledge at lexer generation)
03:28 alanhaggai joined #Perl6
03:29 wayland76 Seems like my earlier complaint was related to http://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=58392
03:29 lambdabot Title: #58392: Recursion and for loops interact badly in Rakudo
04:16 alanhaggai_ joined #Perl6
04:18 ab5tract joined #perl6
04:21 iktome joined #perl6
04:23 Bzek joined #perl6
04:55 pyrimidine joined #perl6
04:56 pyrimidine For your consideration: http://www.acm.uiuc.edu/conference/2008/videos (TimToady's talk at UIUC)
04:56 lambdabot Title: Reflections | Projections 2008 : Videos
04:56 [particle]1 joined #perl6
04:56 pyrimidine (Lots of other interesting ones as well)
04:57 pyrimidine left #perl6
04:58 literal ooh
05:17 justatheory joined #perl6
05:26 alester joined #perl6
05:31 aindilis joined #perl6
05:38 wayland76 joined #perl6
05:44 baest joined #perl6
05:55 eternaleye joined #perl6
06:17 elmex joined #perl6
06:32 iktome perlbot: print "Hello, all"
06:39 |Jedai| joined #perl6
06:50 pbuetow joined #perl6
06:54 adc_Penner joined #perl6
06:54 ashizawa joined #perl6
07:16 araujo joined #perl6
07:20 cosimo joined #perl6
07:43 penk joined #perl6
07:52 adc_Penner2 joined #perl6
08:24 schmalbe joined #perl6
08:31 iblechbot joined #perl6
08:45 drbean_ joined #perl6
08:55 drbean__ joined #perl6
08:58 cognominal joined #perl6
09:26 Maghnus joined #perl6
09:46 lizsac holy shit
09:46 lizsac i see some crazy output with this script
09:46 lizsac if @array { say "Hello World";
09:46 lizsac }
09:48 lizsac i take it you don't specify use strict and use warnings in a perl6 script
09:48 lizsac hahah that's crazy i got some weird parrot dumps
09:51 cognominal joined #perl6
09:56 lizsac weird
09:56 lizsac i don't know what these dumps mean
09:56 lizsac i'm trying out really simple stuff and i keep getting parrot dumps of some sort
09:59 lizsac i guess my shit is broken
10:02 schmalbe The error message from parrot kind of says: Please declare @array before using it
10:02 lizsac compiler errors
10:02 schmalbe my @array;
10:02 schmalbe if ! @array { say "Hello World"; }
10:02 lizsac i did that
10:03 schmalbe Are you using Rakudo checked out from Subversion ?
10:04 lizsac yeah
10:04 lizsac i compiled it yesterday
10:04 lizsac supposedly the new one
10:05 schmalbe Could you paste the output ?
10:05 lizsac trying to recreate it
10:06 lizsac i think it was mainly when i tried to put stuff in the top of the file
10:06 lizsac like use strict and use warnings
10:06 lizsac or #!/usr/local/bin/perl6
10:07 beckheng joined #perl6
10:07 lizsac why does it trip out when i say use strict; ?
10:07 ejs joined #perl6
10:08 schmalbe Library loading might not be implemented yet in Rakudo.
10:10 lizsac so no use anything
10:11 schmalbe 'use v6;'   works
10:12 schmalbe use strict; and use warnings;     is the default in Perl6 anyways
10:12 lizsac or if i try readline
10:13 lizsac readline no worky
10:13 lizsac i didn't realize things were this barebones
10:13 schmalbe 'make spectest' checks out the test suite from the Pugs repository.
10:14 lizsac you mean use v6 in perl?
10:14 lizsac perl5
10:14 schmalbe Somewhere there is a datafile, that says which tests are supposed to be working.
10:15 schmalbe WRT 'use v6;'   I mean putting 'use v6;' on top of Perl 6 code and running it with Rakudo
10:15 lizsac what if you don't say use v6;
10:15 lizsac i don't see any of that in the tutorials
10:15 penk left #perl6
10:16 lizsac heh
10:16 lizsac i can't believe there's no readline
10:16 lizsac is there some other way to get input from the console?
10:17 schmalbe Not using 'use v6;' is OK.
10:18 schmalbe I think you can read from the filehandle $?STDIN
10:19 lizsac why are they saying in perl6 tutorials to use readline?
10:21 schmalbe Which tutorial ?
10:22 lizsac http://www.pti.co.il/talks/perl6/perl6-stdin.html
10:22 lambdabot Title: Reading from the keyboard
10:22 lizsac heh probably not a good source for perl6 info
10:26 schmalbe Not too much things have changed since 2007, so that is OK.
10:27 schmalbe But the tutorial is based on Pugs, so he probably has used code that worked in Pugs, but not currently in Rakudo
10:28 schmalbe http://perlgeek.de/blog-en/perl-6/ is a nice resource
10:28 lambdabot Title: blog | Perlgeek.de Blog :: Category Perl-6
10:31 schmalbe t/spectest.data contains the list of spectests that are supposed to be passing
10:36 lizsac well
10:36 lizsac i'ma play with ruby rails and see what that is all about
10:37 lizsac i'm not feeling the perl6 love right now
10:39 tomyan joined #perl6
10:39 schmalbe Check back in couple of months. Or take a look at http://www.perlfoundation.o​rg/perl6/index.cgi?november in the meantime.
10:40 lambdabot Title: November / Perl 6
10:43 literal where is november's source?
10:44 moritz_ literal: http://github.com/viklund/november
10:44 lambdabot Title: viklund's november at master — GitHub
10:44 literal thanks
10:46 novaalpha joined #perl6
10:46 novaalpha hello. in perl 5 I can do a nice funny thing like $x->()->()->()->();
10:46 novaalpha how do I do that in perl 6 ?
10:47 moritz_ novaalpha: $x.().().()
10:47 novaalpha thx
10:47 novaalpha (was just wondering)
10:47 moritz_ rakudo: sub pick { take 3; }; say gather pick()
10:47 p6eval rakudo 31963: OUTPUT[3␤]
10:48 moritz_ literal: &pick doesn't execute the sub, and neithr does gather.
10:49 literal but aren't you calling pick() before calling gather there?
10:49 moritz_ rakudo: sub pick { take 3; }; say gather { pick() }
10:49 p6eval rakudo 31963: OUTPUT[3␤]
10:50 moritz_ literal: good point, I think it needs a block
10:50 moritz_ std: gather foo
10:50 p6eval std 22706: OUTPUT[Unknown routines:␤     foo called at 1 ␤parsed␤]
10:50 moritz_ it seems it doesn't
10:50 moritz_ maybe gather is more like a macro than an ordinary sub
11:14 cognominal joined #perl6
11:59 just_ joined #perl6
12:14 z80ASM joined #perl6
12:19 smg joined #perl6
12:21 BinGOs joined #perl6
12:42 Bzek joined #perl6
13:25 Lorn joined #perl6
13:30 masak joined #perl6
13:33 alanhaggai joined #Perl6
13:34 ruoso joined #perl6
13:35 ruoso Hello!
13:36 [particle] hi!
13:41 Lorn_ joined #perl6
13:42 cognominal joined #perl6
13:57 apeiron joined #perl6
13:57 ispy_ joined #perl6
14:06 pmurias joined #perl6
14:12 mj41 joined #perl6
14:13 TJCRI joined #perl6
14:14 jhorwitz joined #perl6
14:23 Exodist joined #perl6
14:23 Exodist joined #perl6
14:26 cognominal_ joined #perl6
14:29 pmurias_ joined #perl6
14:29 pmurias_ ruoso: hi
14:29 ruoso hi pmurias
14:31 pmurias_ ruoso: is there anything besides signatures we need before starting to bootstrap the metamodel?
14:32 ruoso I don't think so... of course as we progress we're probably going to miss one or another runtime feature
14:33 pmurias_ OT my screen turn black after a couple of seconds after i do 'ifup eth1' or the X server restarts (if i'm lucky)
14:35 pmurias_ ruoso: btw how should the version of the P6Meta under construction be called?
14:36 ruoso does it need to be a different name?
14:36 pmurias_ it could be placed somewhere else
14:39 ruoso hmmm... I think we could just place it in the definitive place already
14:39 kanru joined #perl6
14:43 alester joined #perl6
14:46 pugs_svn r22707 | pmurias++ | [mildew] mildew doesn't brake ¢ in the output
14:46 pugs_svn r22707 | pmurias++ | start of bootstraping P6Meta
14:51 ruoso pmurias, in order to use the compiler "as-is"... I think you should presume a variable of some sort that holds the prelude scope
14:51 ruoso pmurias_, ^ (consider ghost'ing the other version of you)
14:54 * pmurias is going to shut down that irssi tomorrow :)
14:54 ruoso pmurias, maybe we should implement CALLER::<>
14:55 ruoso then you can make $CALLER::P6Meta := ::p6opaque.CREATE()
14:55 ruoso because it's actually something like...
14:55 ruoso first defining the local name P6Meta, then putting it on the global namespace, and then installing it in the caller scope
14:55 pmurias is P6Meta a contextual variable?
14:56 ruoso the import'ing of modules kinda does that
14:56 ruoso when you "use P6Meta", the import installs the name P6Meta in the caller scope
14:56 pmurias the lexical prelude might just expose itself as LexicalPrelude
14:56 ruoso during the bootstrap, you mean
14:56 pmurias yes
14:57 ruoso like $prelude.{P6Meta} := ::p6opaque.CREATE()
14:57 ruoso actualyl $prelude.<P6Meta> := ::p6opaque.CREATE()
14:57 pmurias $LexicalPrelude<P6Meta> := ::p6opaque.CREATE()
14:57 ruoso yeah... that should be ok
14:57 ruoso and also $RootNamespace<P6Meta> := $LexicalPrelude<P6Meta>;
14:58 ruoso actually, it would probably be $RootNamespace<*::P6Meta>
14:58 xuser joined #perl6
14:59 ruoso so... in resume...
14:59 ruoso in summary, I mean...
14:59 ruoso $RootNamespace<*::P6Meta> := ::p6opaque.CREATE();
15:00 ruoso $LexicalPrelude<P6Meta> := $RootNamespace<*::P6Meta>;
15:00 ruoso my $p6meta := $RootNamespace<*::P6Meta>;
15:00 pmurias i ignore RootNamespace for now
15:01 ruoso ok... sounds reasonable
15:14 pugs_svn r22708 | pmurias++ | [mildew] multiple arguments to a method call are supported
15:14 pugs_svn r22708 | pmurias++ | P6Meta - add_method placeholder
15:17 pmurias ruoso: after we have add method and HOW, we can use class P6Meta is also {...} and fill in the other methods right?
15:32 xuser joined #perl6
15:36 [particle]2 joined #perl6
15:37 pedrob joined #perl6
15:38 ruoso pmurias, as long as running add_method doesn't require any feature we don't yet implement
15:45 pugs_svn r22709 | ruoso++ | [mildew] meta methods receive the referred object as the first argument.
15:46 ruoso @tell pmurias... you can't call $p6meta.add_method to add a method in p6meta, because p6meta's how is not p6meta, but pureprototypehow, so you would need to call add_method on pureprototypehow instead
15:46 lambdabot Consider it noted.
15:53 ruoso @tell pmurias, I've just realized that if PurePrototypeHow implements add_method in lowlevel, it makes the things a lot easier... we might only need to support a "class Foo meta Bar" syntax of some sort and then it can be the standard class compilation...
15:53 lambdabot Consider it noted.
15:53 ruoso TimToady, have you seen the idea I posted here about a syntax for declaring the metaclass for a class?
15:54 TimToady I always thought a different class with a different metaclass should define its own keyword, like class vs role
15:55 ruoso hmm... I see..
15:55 ruoso so... metaclass P6Meta { ... } would look sane
15:55 TimToady but I don't feel strongly about it, other than to consider it
15:56 ruoso actually 'metaclass' is too generic..
15:56 ruoso but something that would refer to the PurePrototype metaclass
15:56 TimToady well, if you grab the keyword first...  :)
15:58 TimToady whether you should overload "class" really comes down to whether you think you have the same api as "class"
15:58 TimToady a role is fundamentally different, so it gets a different keyword
15:59 ruoso hmm... so that probably means P6Meta should be simply called 'Class'
15:59 TimToady what does your declaration do that an ordinary class declaration doesn't, and vice versa
15:59 ruoso it's a pure prototype, with no delegation... meaning that it only looks for methods in its own private space
15:59 ruoso no inheritance of any form
16:00 ruoso no real instantiation, only clonning
16:00 TimToady then giving it a name associated with "class" is probably a mistake
16:00 TimToady from the standpoint of people trying to understand it
16:00 [particle] prototype P6Meta
16:00 apeiron joined #perl6
16:00 jfredett joined #perl6
16:00 pasteling joined #perl6
16:00 lumi joined #perl6
16:00 lisppaste3 joined #perl6
16:00 clkao joined #perl6
16:00 ting joined #perl6
16:01 ruoso prototype Class { ... }
16:01 ruoso and then it implements the MOP for a Class
16:02 TimToady we already have proto and protoobject, so prototype might be confusing
16:02 ruoso indeed...
16:02 [particle] protoclass :)
16:02 moritz_ pseudoclass
16:02 moritz_ quasiclass
16:02 ruoso but it's indeed a prototype, in the same sense we use
16:03 [particle] yes, it is a prototype, for sure
16:03 TimToady metatype maybe
16:03 ruoso not really... it's a standard object,
16:03 ruoso it's simply governed by a different metaclass
16:03 ruoso in this case, the metaclass is PurePrototypeHow
16:04 ruoso which simply looks in the methods stored in the current object
16:04 TimToady protoclass does have about the right flavor
16:04 ruoso yeah... it's not that bas
16:04 ruoso *bad
16:05 TimToady howness  :)
16:05 ruoso ?
16:05 TimToady hownow...
16:05 TimToady just looking for the joke names based on HOW
16:06 ruoso knowhow
16:06 [particle] class Class isa protoclass does delegation does instantiation { ... }
16:06 TimToady yeah, like that
16:06 TimToady I like knowhow
16:06 [particle] knowhow++
16:07 TimToady huffman coding is right, compared to class
16:07 ruoso are you really considering "knowhow Class { ... }" ?
16:07 TimToady why not?
16:07 ruoso I don't know...
16:07 ruoso maybe I was really taking it as joke ;)
16:07 armagad joined #perl6
16:07 ruoso but 'knowhow' is cool, and relates to PurePrototype
16:08 TimToady you have to understand that I don't think humor and sincerity are mutually exclusive :)
16:08 ruoso :P
16:08 ruoso one other thing... considering this is part of the prelude
16:09 ruoso do you think it could ever be a part of the spec?
16:09 TimToady will standard classes be based on knowhows?
16:09 ruoso yes... at least in SMOP
16:10 ruoso it's how it breaks the MOP circularity
16:10 pedrob_ joined #perl6
16:10 TimToady it might be one of those things that is optional for an implementation, but if you do it, do it like this...
16:11 ruoso ok, that should be fine...
16:11 ruoso TimToady, can it be part of STD.pm?
16:12 TimToady and it's possible a different implementation might make it look like there are knowhows, but it's really faking them up for reflective purposes
16:13 TimToady I don't see why not, offhand...it's not like it's a word that is going to accidentally conflict with anything else
16:13 pjcj joined #perl6
16:13 TimToady so even if an implementation doesn't use it, I don't see a problem
16:13 ruoso right... it's just to make it easier for mildew to compile it
16:13 TimToady well, let's put it in for now and see what happens down the road.
16:15 pugs_svn r22710 | lwall++ | [STD] add some knowhow  :)
16:15 TimToady ruoso++
16:16 ruoso heh
16:18 TimToady shower &
16:20 [particle] pmichaud_: looks like EXPORT is a method on package, not NameSpace
16:20 [particle] ...reading S11...
16:21 [particle] ah, now i see the bit about Foo::Bar.EXPORTALL
16:35 justatheory joined #perl6
16:53 pbuetow joined #perl6
17:05 alester I'm going to put up a page that says "Perl 6 is a spec, and Rakudo is the implementation, and please shut up about that you disagree with that."
17:06 moritz_ alester: please say "Rakudo is *an* implementation", not *the* implementation.
17:06 alester sure.
17:06 alester but the key is, i tire of getting shit from PB readers who don't like the decision.
17:06 alester Like I made it up.
17:07 moritz_ PB?
17:07 TimToady peanut butter
17:07 alester http://perlbuzz.com/2008/10/per​l-6-isnt-exactly-vaporware.html is what spawned the current whining.
17:07 lambdabot Title: Perl 6 isn't exactly vaporware - Perl Buzz
17:07 alester "They're not waiting for Rakudo 1.0, they're waiting for Perl 6" I hear.
17:07 alester Which I guess is true, literally.
17:07 alester They just don't know they're waiting for Rakudo 1.0.
17:08 moritz_ they're waiting because they are too lazy to *work* on it.
17:08 alester "lazy"?
17:08 alester That is a tremendously short-sighted way to look at it, moritz.
17:08 moritz_ or too occupied with other thrings
17:08 moritz_ *things
17:08 alester LIKE MAKING MONEY?
17:08 alester LIKE RUNNING THEIR BUSINESSES?
17:09 moritz_ calm down, I not that not everybody has as much time as I do
17:10 alester It's just a really shitty thing to throw the word "lazy" at people.
17:10 Jedai joined #perl6
17:11 moritz_ right, I'm sorry
17:13 pmichaud_ I kinda like the idea of "early adopter edition"
17:13 moritz_ pmichaud_: yes, but I think it's too early now
17:14 moritz_ IMHO blockers are 1) lexicals 2) list context 3) inititalizations on attributes
17:14 pmichaud I'm working on lexicals now.  Like, right this moment.
17:14 moritz_ without that real world programming is jsut as pain
17:14 moritz_ I guessed so, yes
17:15 pmichaud list context comes after that -- shouldn't be too difficult.
17:15 pmichaud initializations on attributes I'll do if simple, otherwise jonathan++ will likely do that
17:16 moritz_ another (hopefully small item) is that you can't get from an array ref to an array
17:16 pmichaud that gets fixed as part of list context
17:16 adc_Penner joined #perl6
17:16 moritz_ ok
17:16 pmichaud it's relatively small, except that we're having to re-think rakudo's container model
17:17 pmichaud I already have the draft for that (and have reviewed it with jonathan) -- it's just that implementing it has the potential to break a lot of existing functionality
17:17 pmichaud i.e., there may be some major code refactoring that results.
17:17 moritz_ if you have something where I can help without digging too deep into the parrot internals, please let me know
17:18 pmichaud it's all pretty deep in parrot internals, alas
17:18 moritz_ :(
17:19 moritz_ so far I felt that my energy is better invested in the test suite than in digging deep into parrot
17:19 moritz_ (and my sanity ... )
17:19 pmichaud I agree with that.
17:20 pedrob joined #perl6
17:25 * ruoso just love the irc protocol... you can take the cable out for 5 minutes, get back and the connection is still there...
17:30 abra joined #perl6
17:38 cognominal_ Perl 6 is not vaporware, it is just vapourware...
17:48 REPLeffect joined #perl6
17:51 nothingmuch joined #perl6
17:57 zamolxes joined #perl6
18:06 pmurias joined #perl6
18:12 ruoso @tell pmurias, the current bvalue implementation is causing some trouble... I'm working on transforming it into hash_bvalue that holds a reference to the hash and the key, and only does the actual lookup later...
18:12 lambdabot Consider it noted.
18:20 xuser joined #perl6
18:20 explorer joined #perl6
19:16 xuser joined #perl6
19:26 pugs_svn r22711 | ruoso++ | [smop] something is very bad around here... the init and destr order is causing a segfault, I am only commiting so other can help me catching this bug...
19:29 pugs_svn r22712 | ruoso++ | [smop] reverting pureprototypehow that was plain b0rk3d after my commit
19:31 pedrob_ joined #perl6
19:32 pedrob joined #perl6
19:33 * ruoso later &
19:37 moritz_ @ask azawawi did you write something about your syntax hilighter? a blog or something? if not, I could.
19:37 lambdabot Consider it noted.
19:45 [particle]1 joined #perl6
19:50 Ehtyar joined #perl6
19:52 perl7 joined #perl6
19:52 Southen joined #perl6
19:52 perl7 Anyone has tested parrot 0.8+perl6 on Windows Vista?
19:53 perl7 I get this message running perl6.exe: "load_bytecode" couldn't find file 'P6object.pbc'
20:07 apeiron joined #perl6
20:13 [particle]1 perl7: i released parrot 0.8.0 and rakudo from vista tuesday
20:13 [particle]1 perl7: if you hop over to irc.perl.org#parrot we'll get you fixed up
20:13 perl7 thanks!
20:14 perl7 I installed parrot 0.8 for vista 1 hour ago
20:14 perl7 I'm a newbye
20:31 jhorwitz hm. i need to load and run PIR in rakudo.  right now i'm cheating by using "use" to load it, but it got me thinking.  we'll need an implementation-agnostic way to load extensions, like XS's bootstrap in p5.
20:32 [particle]1 jhorwitz: can you run it inline?
20:32 [particle]1 or must it be a separate file?
20:33 jhorwitz can i run it inline in rakudo?
20:33 jhorwitz that's beside my point, but i'm curious
20:33 jhorwitz i didn't see any syntax to do that
20:34 jhorwitz but my concern is that we'll have rakudo-specific scripts that other implementations would barf on.
20:35 jhorwitz i'd love to have a "bootstrap" or whatever, that does all the implementation-specific stuff behind the scenes (rakudo could load PIR/PBC, SMOP could do whatever SMOP does, etc.)
20:35 jhorwitz but i didn't see anything like this spec'd out anywhere
20:36 pmichaud jhorwitz: my plan is to have a 'Parrot' HLLCompiler that can load libraries and handle symbol importation
20:36 jhorwitz ok, so that would be the backend for this
20:37 pmichaud in rakudo, one would do:    use Something:lang<Parrot>;    or something like that
20:37 [particle]1 jhorwitz: yes, you can run it inline today with {{ PIR HERE }}
20:37 jhorwitz my concern is that isn't portable across implementations
20:37 [particle]1 but that will become Q:PIR { ... }
20:37 pmichaud across implementations of Perl 6?
20:38 jhorwitz right.
20:38 pmichaud I don't know what we can do about that.
20:38 jhorwitz that's why i'm proposing a front end to it.
20:38 pmichaud clearly some implementations will offer features and advantages that others might not be able to take advantage of
20:38 moritz_ the "right" frontend is eval() with the :lang attribute
20:39 moritz_ eval($program, :lang<PIR>);
20:39 moritz_ around which Q:PIR could be a simple macro (and cheated in Rakudo)
20:39 jhorwitz what does SMOP do with that?
20:40 jhorwitz i imagining this....
20:40 moritz_ jhorwitz: fail "parrot not embedded"
20:40 * moritz_ just wrote a verbose reply to http://perlbuzz.com/2008/10/per​l-6-isnt-exactly-vaporware.html
20:40 lambdabot Title: Perl 6 isn't exactly vaporware - Perl Buzz
20:40 pmichaud and eval( :lang<PIR>)  isn't substantially different from   use  Foo:lang<Parrot>;   in terms of how implementations would react.
20:40 jhorwitz let's just use XS's bootstrap as an example.
20:40 jhorwitz i could say: bootstrap 'MyModule'
20:41 jhorwitz rakduo would know to load MyModule.pbc
20:41 Nullity joined #perl6
20:41 jhorwitz ^rakudo
20:41 jhorwitz other implementation might have .so or .dlls to load
20:41 ispy_ left #perl6
20:41 jhorwitz but that needs to be hidden from the programmer
20:42 jhorwitz am i making sense?
20:43 moritz_ it makes sense, but harbors the danger of too much magic
20:43 jhorwitz no more than "use" already has in rakudo.
20:44 jhorwitz i'd just hate to see a bunch of ifdef-like blocks with implementation-specific perl everywhere
20:44 * moritz_ would really like a standardized C NCI  across implementations
20:44 * jhorwitz agrees with moritz_
20:44 pmichaud note that rakudo's "use" magic is actually defined to some extent by the Perl 6 spec
20:44 pmichaud I didn't make  use Foo:lang<...>;   up myself
20:44 jhorwitz and here i thought you were the creative type.  ;-)
20:45 pmichaud oh, sorry, it's  :from
20:46 pmichaud so I did make up lang, but not the semantics.  :-)
20:46 pmichaud use Foo:from<Parrot>
20:46 * jhorwitz ponders that
20:47 jhorwitz i ran into this problem in mod_perl6
20:47 jhorwitz i have a perl6 module that requires some PIR help, so i load in that bytecode in the module itself
20:48 pmichaud it requires PIR help because Rakudo doesn't support the equivalent operations yet, or because it truly is parrot/mod_parrot specific?
20:49 jhorwitz well, right now it's the former, but i certainly have situations where i want to do lower-level stuff.
20:50 [particle]1 use Foo:from<$?COMPILER>;
20:50 jhorwitz with XS & bootstrap, loading the supporting files (.so, .dll, whatever) is all handled behind the scenes, and the syntax is the same everywhere.
20:52 ZuLuuuuuu joined #perl6
20:52 jhorwitz i guess i should look at the spec a bit more, get my thoughts together and post to p6l.
20:55 jhorwitz [particle]1: that syntax both scares and intrigues me.  :)
21:04 [particle]1 it's the right time of the year for that reaction, jhorwitz
21:04 jhorwitz :-O
21:07 justatheory joined #perl6
21:24 eternaleye joined #perl6
21:40 kidd joined #perl6
21:46 avar left #perl6
21:46 avar joined #perl6
21:47 pedrob joined #perl6
22:05 pmurias joined #perl6
22:22 pedrob joined #perl6
22:53 hercynium joined #perl6
23:08 ruoso joined #perl6
23:32 ZuLuuuuuu left #perl6
23:45 apeiron joined #perl6
23:57 eternaleye joined #perl6

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

Perl 6 | Reference Documentation | Rakudo