Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-04-09

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:07 dduncan joined perl6
00:16 buetow joined perl6
00:19 buetow joined perl6
00:22 ortmage_ joined perl6
00:24 Talaman72 joined perl6
00:24 Talaman72 left perl6
00:34 qmole joined perl6
00:54 nipotaway is now known as nipotan
00:59 jisom joined perl6
01:18 epoch joined perl6
01:18 epoch http://pastebin.ca/430507
01:18 buubot The paste 430507 has been copied to: http://erxz.com/pb/2114
01:26 dolmans joined perl6
01:42 nekokak joined perl6
01:43 ortmage_ joined perl6
01:52 diakopter joined perl6
02:01 mako132_ joined perl6
02:24 b00t joined perl6
02:45 dolmans joined perl6
02:51 LCamel joined perl6
02:51 tcliou_ joined perl6
03:34 tcliou_ is now known as tcliou
05:09 ashelyb_ joined perl6
05:18 esstone joined perl6
05:46 [particle] joined perl6
05:47 SubStack joined perl6
05:47 RHainsworth joined perl6
06:37 xerox joined perl6
06:40 svnbot6 r15865 | Darren_Duncan++ | ext/QDRDBMS/ : abstracted the Changes file so it can be used unchanged for both the Perl 5 and 6 versions; minor SeeAlso.pod update
06:51 dduncan left perl6
07:00 Khisanth joined perl6
07:14 baest joined perl6
07:31 agentzh joined perl6
07:31 svnbot6 r15866 | agentz++ | renamed smartlinks.t and smartlinks2.t to 00-smartlinks.t and 01-smartlinks.t, respectively
07:34 svnbot6 r15867 | agentz++ | updated the POD in smartlinks.pl accordingly
07:41 iblechbot joined perl6
07:47 xinming joined perl6
07:58 agentzh left perl6
08:04 elmex joined perl6
08:04 devogon joined perl6
08:29 elmex joined perl6
08:33 rashakil joined perl6
08:57 andar1 joined perl6
09:04 chris2 joined perl6
09:16 bernhard joined perl6
09:32 VanilleBert joined perl6
09:39 lichtkind joined perl6
10:01 the_dormant joined perl6
10:02 ruoso joined perl6
10:09 Belaf_ joined perl6
10:11 marmic joined perl6
10:15 camenix joined perl6
10:27 the_dormant joined perl6
11:03 araujo joined perl6
11:13 kanru joined perl6
11:14 elmex joined perl6
11:14 VanilleBert left perl6
11:27 fglock joined perl6
11:28 cognominal joined perl6
11:38 svnbot6 r15868 | fglock++ | - created v6/docs: a place for perl6-in-perl6 documentation
11:38 svnbot6 r15868 | fglock++ | - added kp6.jpg: a diagram of KindaPerl6 internals
11:38 svnbot6 r15868 | fglock++ | - added mp6.jpg (was in pugs.blogs.com)
11:38 FurnaceBoy joined perl6
11:42 iblechbot joined perl6
11:48 mako132_ joined perl6
11:57 RHainsworth left perl6
12:04 mjk joined perl6
12:12 moritz fglock: what's "DSL" in the diagrams?
12:13 fglock moritz: domain-specific language (regex, string interpolation)
12:13 moritz fglock: ah, thanks
12:13 fglock the parts of perl6 that have a different syntax
12:14 moritz I only knew "DSL = digital subscriber line" ;-)
12:15 ofer joined perl6
12:17 fglock asymmetric domain-specific languages
12:18 cmarcelo joined perl6
12:18 cmarcelo moose
12:18 cmarcelo fglock: ola
12:18 fglock cmarcelo: opa
12:19 cmarcelo fglock: I'm looking at kp6 new pictures (in v6/docs). 'Perl 6 AST' that you point there, is generated (intended to be) by what?
12:20 fglock the initial ast is created by the grammar; the ast transformations return either more ast or source code
12:21 fglock source -> (grammar) -> ast -> (transform) -> ast -> (transform) -> source code
12:22 cmarcelo ok. the Regexp Engine (PCR or a new one) is who process grammars? (who will understand Perl-6.0.0 grammar for instance)
12:22 fglock source code can be: perl6, host source code, target source code
12:22 fglock kp6 has it's own grammar engine, which is written in mp6
12:23 fglock it translates regex->perl6
12:23 cmarcelo and this perl6 can read a perl 6 source and emit an AST?
12:24 fglock yes (the intermediate language for kp6 is miniperl6)
12:24 moritz and miniperl6 is a subset of perl6?
12:25 fglock moritz: yes
12:25 cmarcelo what's the usual representation for the P6 AST ? (if there's one)
12:26 fglock the AST is loosely based on src/Pugs/AST/CapInternals.hs
12:26 fglock internally, it is an node-object tree
12:29 cmarcelo ok. so 6-on-6 on parrot would be basically, converting this AST to a format that "a parrot knows how to eat"?
12:29 fglock yes :)
12:30 cmarcelo and 6-6 pugs is converting the AST to the YAML format that pugs already know how to parse/run?
12:30 andar1 left perl6
12:31 andar1 joined perl6
12:32 fglock no, pugs YAML is too pugs-specific - it will likely emit perl6-for-pugs
12:32 andar1 joined perl6
12:32 andar1 left perl6
12:32 cmarcelo ok. or emit mp6 if pugs implements everything from mp6..
12:33 fglock yes, or we can modify mp6 to make it pugs-compatible (and parrot-compatible even)
12:35 moritz so the way to compile a perl6 program with 6-on-6 is p6 source -> kp6 -> mp6 -> pugs or p6 source -> kp6 -> mp6 -> onion -> parrot?
12:36 fglock cmarcelo: kp6-on-pugs can use full-pugs; kp6-on-mp6 needs to emulate some features; kp6-on-parrot needs to emulate a different set of features
12:36 fglock moritz: almost that
12:37 andar1 joined perl6
12:37 moritz that's ... very indirect ;-)
12:37 fglock mp6 is not needed
12:37 fglock except for bootstrapping
12:37 cmarcelo mp6 works on p5 (five)? and kp6 on mp6?
12:38 andar1 is now known as andara
12:38 fglock cmarcelo: yes
12:39 cmarcelo but in the end the ideal is to have p6 built in p6. both kp6/mp6 are bootstrap devices only?
12:39 cmarcelo (suposing that kp6 has less features than p6)
12:40 fglock cmarcelo: yes, kp6 is an intermediate step (and it is ok to skip it)
12:40 iblechbot joined perl6
12:41 fglock but kp6-in-onion is more possible than (6-on-6)-in-onion
12:42 moritz and 6-on-6 is what lives in src/perl6/ in the pugs repository?
12:42 cmarcelo onion has all the minimum features to make possible this kp6-in-onion? or even mp6?
12:42 fglock moritz: v6/
12:42 fglock cmarcelo: I don't know yet
12:43 fglock I think mp6-in-onion is possible; kp6-in-onion will take more work
12:46 cmarcelo if we work on mp6-in-onion and it works we would get: "kp6 running on parrot" and generating "parrot code from Perl 6 source" ?
12:48 fglock not yet - you can do mp6->parrot, but kp6-parrot will need some work
12:49 fglock specifically, the 'BEGIN' code in kp6 needs some clean up
12:52 cmarcelo err.. I'm confusing things then. mp6 runs on top of perl5, reads miniperl6 code, and outputs p5 code | executes miniperl6 code. this is right?
12:53 fglock mp6 runs on top of mp6,
12:54 fglock there is an existing image of mp6 for the perl5 target
12:54 fglock and there is an mp6 emitter for perl5
12:54 fglock so we call mp6 "bootstrapped in perl5"
12:55 fglock does this make sense?
12:55 moritz to me, it finally does ;-)
12:56 cmarcelo mp6 output is execution of code or emmiting something?
12:56 cmarcelo (emitting)
12:57 fglock the mp6 emitter is pluggable - it can output perl5, parrot, perl6, yaml,
12:58 fglock the perl5 emitter is good enough, the other ones are experimental
12:59 cmarcelo ok. mp6 runs over mp6, inputs miniperl6 code, outputs (p5|parrot|p6|yaml), we have an image working over p5 (so we can bootstrap). right?
13:00 fglock yes
13:00 cmarcelo great
13:00 cmarcelo now kp6
13:00 cmarcelo kp6 is written in miniperl6, inputs kindaperl6 code, outputs what?
13:01 cmarcelo (fglock: thanks for helping me through this)
13:01 fglock kp6 is all-pluggable, it depends on what "workflow" you select
13:01 fglock kp6 is more like a "compiler tool"
13:02 fglock or compiler framework
13:02 cmarcelo ok
13:02 cmarcelo but kp6 is written in mp6?
13:04 fglock yes - but some parts were prototyped in perl5 - these still need to be translated
13:05 fglock kp6 is not finished
13:05 cmarcelo the idea is make kp6 read Perl 6 code and output something? (also do other stuff, but in essentially)
13:07 fglock it should output "target source code", which you can run somewere else
13:08 cmarcelo ok. so, with a complete kp6 and mp6->parrot, we would have kp6 running over parrot. ideally.
13:08 fglock "somewhere"
13:08 fglock yes
13:08 fglock and it could emit perl6-onion
13:09 [particle] joined perl6
13:09 fglock and we could use this to bootstrap kp6-in-parrot
13:09 cmarcelo kp6-in-parrot is kp6 written in "parrot"?
13:10 fglock kp6 running over parrot
13:10 fglock and emitting code that parrot can run
13:10 nipotan is now known as nipotaway
13:12 cmarcelo by running over you mean what? kp6 written in mp6 and have a mp6->parrot makes kp6 run over parrot... kp6-in-parrot means something else besides kp6 emitting parrot code?
13:12 fglock once you have kp6 running in several platforms, you can upgrade the kp6 source code to "kp6" syntax
13:12 [particle] hi
13:12 cmarcelo [particle]: moose
13:12 [particle] kp6 is a superset of mp6, yes?
13:12 fglock [particle]: hi
13:12 fglock [particle]: yes
13:13 [particle] thought so. that's great.
13:13 ashleyb joined perl6
13:13 [particle] do you plan on targeting past or pir?
13:14 fglock [particle]: maybe, but "onion" seems more likely to succeed right now
13:15 [particle] ah, okay
13:15 moritz fglock: may I use v6/docs/kp6.jpg on a perl6 related homepage explaining mp6 and kp6?
13:15 [particle] i think onion will get end blocks RSN
13:15 fglock moritz: sure
13:15 moritz fglock: thanks
13:15 avar isn't mp6 the one doing the emitting?
13:16 * avar recalled that from having read the source..
13:16 fglock cmarcelo: kp6-in-parrot means it is running over parrot; it doesn't really need to emit parrot code
13:17 fglock avar: yes, but the structure of the mp6 compiler is very simple; not enough for full-p6
13:18 avar all I see in kp6 is Transverse.pm, is this correct?
13:19 fglock avar: that's the module that calls the "Visitor" plugins, for ast transformations
13:20 fglock avar: hmm, re emitting, no - kp6 has it's own emitter
13:21 avar where? I don't see anything else in v6-KindaPerl6
13:22 fglock looking...
13:23 cmarcelo moritz: are you writing somewhere about mp6 and kp6?
13:23 fglock avar: http://svn.pugscode.org/pugs/v6/v6-KindaPerl6/lib/KindaPerl6/Visitor/
13:23 lambdabot Title: Revision 15868: /v6/v6-KindaPerl6/lib/KindaPerl6/Visitor, http://tinyurl.com/27tutj
13:23 fglock avar: EmitPerl5.pm
13:26 moritz cmarcelo: yes, I'm writing a German homepage about perl 6, with tutorials and an overview of existing p6 implementations
13:27 cmarcelo nice. where will be the material on mp6/kp6 (url?).. I'll try to translate to pt_BR for reference to others in the hackaton..
13:28 cmarcelo (and to me hehe)
13:28 masak haven't looked at this yet, but might it be of interest for perl6 implementers? http://citeseer.ist.psu.edu/526620.html
13:28 lambdabot Title: Predicate Dispatching: A Unified theory of Dispatch - Ernst, Kaplan, Chambers (R ...
13:29 avar fglock: I don't have v6/v6-KindaPerl6/lib/KindaPerl6/Visitor/, I have v6/v6-KindaPerl6/lib/MiniPerl6/Traverse.pm though
13:30 kanru joined perl6
13:30 perlmonkey2 joined perl6
13:31 moritz cmarcelo: just a second, uploading...
13:31 moritz cmarcelo: here: http://perl-6.de/kp6
13:31 lambdabot Title: Perl 6 - kp6 - Perl 6-Compiler in Perl 6
13:32 fglock avar: try ' svk up -s ' ?
13:34 avar hrm, I might have detached the svk checkout
13:36 buetow joined perl6
13:37 cmarcelo moritz: thanks^W  danke :)
13:39 fglock moritz: re p6 compilers - there is also perl6-in-perl5, http://search.cpan.org/dist/v6-alpha/
13:39 lambdabot Title: Flávio Soibelmann Glock / v6-alpha - search.cpan.org
13:39 fglock which is a different line of thought
13:47 moritz fglock: is that still maintained/developed?
13:50 fglock moritz: yes - the directories in pugs are perl5/Pugs-Compiler-Perl6/ and perl5/Pugs-Compiler-Rule/
13:50 moritz fglock: ok, when I have some motivation left I'll add a description about v6-alpha as well ;-)
13:51 fglock ok :)
13:54 moritz fglock: does it really make sense to write so many implementions, or do just write them because they are fun to write?
13:55 fglock moritz: they are incrementally more complex
13:56 fglock it's more likely to succeed this way
13:56 moritz ok
13:56 vel joined perl6
13:57 rashakil joined perl6
13:58 moritz and can mp6 handle a larger subset of perl6 than v6-alpha? or just a different one?
13:59 jrockway joined perl6
14:02 OwlEye joined perl6
14:02 avar v6.pm is written in perl5, v6-mini|kindaperl is a compiler in perl6
14:03 moritz I understood that, yes ;-)
14:07 TimToady rehi, back to California from the Near East.  :)
14:08 moritz Near East? Israel? *g*
14:08 moritz no, that's only "near east" for europeans I guess ;-)
14:09 TimToady Was in Rhode Island, Virginia, and various parts between
14:11 TimToady basically a lot of "George Washington slept here" places.
14:12 moritz ;-)
14:13 TimToady I think there will always be more of those places than the "Larry Wall slept here" places, if only because George Washington kept a much better diary than I do.  :)
14:13 lumi That Washington was a tired guy
14:14 TimToady he was also slightly more famous...
14:14 fglock moritz: it's a different subset
14:14 moritz TimToady: all of that can still be changed ;-)
14:15 TimToady only if we really do bring on the Singularity.  :)
14:15 TimToady and then there will be plenty of blame to go around.
14:15 fglock though airplanes make it easier to spread slepping places
14:18 moritz TimToady: there are many persons that are more famous than G.W. (at least outside the US ;-). You just have to formulate the ultimate "Grand Unifiying Theory" (as a p6 program, of course), then all you sleeping places shall be marked by big stone statues ;-)
14:20 fglock re famous: google count for "george washington" and "larry wall" is 10:1 - not bad :)
14:21 [particle] they must have the wrong larry wall ;)
14:22 fglock I assume it is compensated by having a proportional number of wrong george washingtons :)
14:22 * moritz has only 17k hits on google ;-)
14:23 moritz but it's rather easy to get many hits on google, just participate in a hell lot of mailing lists that have public archives
14:24 moritz lists.debian.org has more than 1M pages indexed by google
14:42 ruoso joined perl6
14:48 lichtkind joined perl6
14:49 lichtkind tpf was renamed in OSCOn in 2001?
15:11 TimToady lichtkind: what are you thinking that it was renamed from?
15:11 lichtkind ähm sorry TPC i mean
15:11 lichtkind TPF was from YAS
15:12 TimToady TPC has always been TPC, it's just that after the first two years it was part of OSCON.
15:14 TimToady YAS and TPF were independent bodies that merged, if I recall.
15:15 TimToady but I'm not the person to talk to about anything remotely political.
15:15 lichtkind TimToady: thanks i must correct that, so TPC startes at wendesday ?
15:16 TimToady depending on whether you want to count the tutorials
15:17 TimToady but yes, the "conferencey" part starts on Wed typically
15:17 lichtkind TimToady: sorry to bother you with that but on oreillys page i fond no history section
15:17 TimToady haven't looked at this year's schedule though
15:17 lichtkind but like you say it it seems that the TPF is only a track of the OSCON
15:17 TimToady O'Reilly is a forward looking company. :)
15:17 lichtkind haha
15:18 lichtkind TimToady++
15:19 lichtkind TimToady: is TPC a track ?
15:21 TimToady it's usually several tracks
15:21 TimToady typically there's one main "Perl" track though
15:22 TimToady but Perl tends to spill over into a lot of other areas
15:22 TimToady and there will be smaller tracks for various sub-categories
15:23 TimToady typically on one day there has been a Conway Channel as well, where Damian talks all day.
15:23 TimToady don't know if they've scheduled one this year though
15:23 lichtkind he seems to be nonhuman
15:23 TimToady I think they're trying some new arrangements this time around.
15:24 lichtkind TimToady: i see but you said there is still a TPC and i try to imagine in what form, ist a romm where perl folks meet after the talks or ..?
15:25 lichtkind romm > room
15:31 TimToady well, the Perl folks like to socialize in any of various ways, so they don't really need to schedule a room for it other than the usual parties and BOFs.  Most of the mainline Perl talks happen in the room dedicated to the Perl track, but a lot of Perl stuff happens randomly outside of that.  Typically my State of the Onion has been on Tues night
15:31 TimToady but that may change this year too.
15:32 fglock joined perl6
15:33 lichtkind :) yes seperations is always sad but i still wander where is the Perl conference
15:39 prly joined perl6
15:44 prly__ joined perl6
15:45 * OwlEye makes sure to pay attention when lichtkind has a little interview with TimToady
15:45 lichtkind haha
15:45 lichtkind i just try to make my articles up correct
15:46 OwlEye seriously. this way i learn about interesting background information
15:50 [particle] TimToady: i don't see # todo formally specced, now that i'm looking for it
15:54 Jedai joined perl6
15:59 toshinori joined perl6
16:00 prly_ joined perl6
16:07 svnbot6 r15869 | moritz++ | perl6.vim: added lots of builtins
16:13 TimToady [particle]: I have no clue where it should be specced
16:14 moritz TimToady: in S34 "Testing Perl 6" ;-)
16:17 prly joined perl6
16:28 justatheory joined perl6
16:33 svnbot6 r15870 | moritz++ | perl6.vim: added cmp comparison op,  added TODO section
16:34 prism joined perl6
16:39 forsaken joined perl6
16:40 andara left perl6
16:44 the_dormant joined perl6
16:46 DarkWolf84 joined perl6
16:51 larsen_ joined perl6
16:57 Limbic_Region joined perl6
17:09 davidfetter joined perl6
17:09 davidfetter hello
17:09 Limbic_Region salutations
17:09 moritz hello davidfetter ;-)
17:09 davidfetter hi :)
17:10 moritz what's up?
17:10 davidfetter any parrot people here who will be at fisl?
17:11 moritz you could ask in #parrot on irc.perl.org ;-)
17:11 davidfetter i did
17:12 moritz any success?
17:12 davidfetter not yet
17:17 fglock davidfetter: hi!
17:17 davidfetter hi, fglock :)
17:17 fglock re parrot: not that I know of
17:18 davidfetter k
17:18 davidfetter hrm. is haskell embeddable?
17:21 fglock davidfetter: I don't think it is easily embeddable, because it's too big; maybe there exists embeddable subsets
17:21 davidfetter k
17:22 moritz I thought pugs can eval() haskell code?
17:22 moritz how can that be done without embedding haskell?
17:23 fglock it's the other way out; haskell embeds perl5 and such
17:23 moritz ok
17:25 bernhard joined perl6
17:30 fglock you can "embed" using a subprocess (Inline::Pugs and Inline::Java do this)
17:37 Psyche^ joined perl6
17:44 buetow joined perl6
17:48 vel joined perl6
17:54 Psyche^ is now known as Patterner
18:00 eden_c joined perl6
18:01 RHainsworth joined perl6
18:08 kanru joined perl6
18:14 RHainsworth left perl6
18:19 sunnavy joined perl6
18:29 jisom joined perl6
18:37 eden_c joined perl6
18:38 rhandom joined perl6
18:41 forsaken joined perl6
19:00 dmpk2k joined perl6
19:08 eden_c joined perl6
19:19 the_dormant joined perl6
19:22 fglock joined perl6
19:26 phiker joined perl6
19:28 dduncan joined perl6
19:32 marmic joined perl6
19:38 eden_c joined perl6
19:51 Aankhen`` joined perl6
19:51 ZSystem joined perl6
19:57 davidfetter left perl6
20:08 lichtkind joined perl6
20:09 eden_c joined perl6
20:28 moritz ?eval my @a=1,2[3,4],5; say @a; say @a.join(" ");
20:28 evalbot_r15831 OUTPUT[15␤1   5␤] Bool::True
20:28 moritz ?eval my @a=1,2,[3,4],5; say @a; say @a.join(" ");
20:28 evalbot_r15831 OUTPUT[123 45␤1 2 3 4 5␤] Bool::True
20:29 moritz is join() supposed to flatten lists?
20:30 fglock ?eval my @a=1,2,[3,4],5; say @a; say @a.join(":");
20:30 evalbot_r15831 OUTPUT[123 45␤1:2:3 4:5␤] Bool::True
20:30 fglock that's plain stringification behaviour
20:31 spinclad joined perl6
20:31 moritz ok
20:48 rashakil__ joined perl6
21:11 Limbic_Region joined perl6
22:16 ortmage_ joined perl6
22:18 awwaiid joined perl6
22:26 qmole joined perl6
22:39 masak nothingmuch: reading your harrorth tutorial right now
22:39 masak the down-to-earth description of monads in 03.kwid helped me understand them better
22:40 ProperNoun joined perl6
22:43 masak nothingmuch: it can sometimes be a bit confusing to compare the early chapters with the present code
22:43 masak nothingmuch: for example, src/Harrorth/Parser.hs ref'd in 03.kwid does not exist
22:44 masak nothingmuch: but so far that hasn't hampered understanding, since most of the code is reproduced in the tutorial
22:45 ProperNoun joined perl6
22:45 masak &
22:48 FurnaceBoy joined perl6
23:23 ProperNoun joined perl6
23:35 SubStack joined perl6
23:35 mjk joined perl6

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

Perl 6 | Reference Documentation | Rakudo