Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-05-29

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:03 meppl good night
00:06 weinigLunch joined #perl6
00:07 weinigLunch changed their nick to weinigLap
00:19 jisom joined #perl6
00:20 Psyche^ joined #perl6
00:29 Psyche^ changed their nick to Patterner
00:41 nipotaway changed their nick to nipotan
01:25 ruz joined #perl6
01:35 dolmans joined #perl6
01:38 stevan_ joined #perl6
01:54 mako132 joined #perl6
02:32 Aankhen`` joined #perl6
03:10 stevan__ joined #perl6
03:28 daxim_ joined #perl6
03:29 obvio171 joined #perl6
03:31 nekokak_ joined #perl6
03:41 nekokak__ joined #perl6
03:50 jisom_ joined #perl6
03:52 tokuhirom_ joined #perl6
04:10 nekokak joined #perl6
04:54 ssd7 left #perl6
04:55 weinigLap joined #perl6
05:08 BooK joined #perl6
05:14 araujo joined #perl6
05:29 devogon joined #perl6
05:31 weinigLap joined #perl6
05:46 obvio171_ joined #perl6
06:11 Alias_ joined #perl6
06:26 mj41 good morning from Czech republic
06:26 dduncan I respond
06:27 Averell joined #perl6
06:28 Alias_ I express surprise
06:37 dduncan I notice
06:39 audreyt joined #perl6
06:43 Aankhen`` I like chicken.
06:43 gaal I, moose.
06:50 * Aankhen`` wallabies gaal.
06:51 Tene good night from far away from Czech republix
06:51 Tene "republic"
06:52 Aankhen`` G'night Tene.
06:53 kane_ joined #perl6
07:10 buetow joined #perl6
07:11 franck__ joined #perl6
07:11 obvio171_ changed their nick to obvio171
07:12 meppl good morning
07:12 moritz good morning indeed ;)
07:14 meppl good morning moritz
07:18 iblechbot joined #perl6
07:31 BlackSabbath joined #perl6
07:32 dduncan good morning indeed
07:35 rho joined #perl6
07:51 obvio171 joined #perl6
08:13 svnbot6 r16553 | Darren_Duncan++ | ext/QDRDBMS/ : updated AST.pm : EntityName type no longer impl over other Node types, expanded TypeInvo type ; other small changes
08:14 buetow joined #perl6
08:22 rissy joined #perl6
08:25 polettix joined #perl6
08:32 dduncan left #perl6
08:43 iblechbot joined #perl6
08:47 drupek12 joined #perl6
09:16 lisppaste3 joined #perl6
09:19 the_dormant joined #perl6
09:28 buetow joined #perl6
09:28 ofer joined #perl6
09:30 ml8128 joined #perl6
09:30 chris2 joined #perl6
09:38 isaacd joined #perl6
09:46 dolmans i think Perl 6 will be my favorit tool! when Perl 6 is out, the Python's ONLY advantage is its simplicity! and we all know that saying a subset language is encouraged in Perl's culture, but can Perl 6's compiler itself provide some compile level, so that one can only write a subset syntax of Perl 6(which we call baby talk, but still is valid Perl 6, it just disable some avanced syntax)? i think a source filter is not very good in compiling.
09:48 moritz dolmans: I think restricting the compiler to a subset of the language is against perl philosphy ;-)
09:49 dolmans moritz: just a `use' feature, you can use it or not.
09:49 dolmans it's just my wish, perhaps not good.
09:49 Aankhen`` Why would you want to disable certain portions completely?
09:50 Aankhen`` Don't use them if you don't need or want them.
09:50 Aankhen`` Selectively disabling parts of the language would probably break any other modules you use anyway.
09:51 * Aankhen`` heads to bed.
09:51 dolmans in some team, the leader can define a subset, so he will not encounter syntax surpress.
09:51 zamolxes joined #perl6
09:53 dolmans ah, module is a good example i did not consider.
09:54 dolmans any comments?
09:56 dolmans i think Perl 6 is too powerfull, and have a lot of mysterious syntax feature, perhaps some company will not use it because of its complexity. i just worry about that.
10:08 moritz I can understand your worries...
10:08 moritz but I think it's the same for perl 5 - if you used all features of the language, I couldn't read your code
10:09 moritz but in practice, a very high percentage of the code is readable without knowing the more advanced parts of the langauge
10:11 buu dolmans: Perl is like every other programming language. It's possible to write bad code.
10:13 dolmans buu: i know one can write good code, but you cannot prevent somebody else to write bad code, if there isn't a mechnism to sign a treaty.
10:14 buu dolmans: What's your point?
10:15 dolmans buu: if there is mechanism to define a subset that when module use this progma, then he must say languages suitble in this subset.
10:15 buu Yes, but that has nothing to do with good code.
10:16 mj41 dolmans: what about Perl::Critic ? http://search.cpan.org/~thaljef/Perl-Critic/
10:16 lambdabot Title: Jeffrey Ryan Thalhammer / Perl-Critic - search.cpan.org
10:16 dolmans at least the program will not look too strange.
10:17 moritz "strange things should look strange" ;-)
10:19 dolmans for example, Perl 6 has >>-<<, ==>,etc.,but Perl 6 also has some english version for these functions, if one team want only to use english version, they need some mechism to do that, perhaps they need to write their own Critic modules. thanks to mj41 for the link
10:20 dmq in perl 5 "advanced knowledge" generally comprises things shouldnt be doing unless you know what they are in the first place.
10:21 dmq btw moritz thanks for your bug report and commentary on PM about the /.*\z/ thing (and confirmation it works somewhere other than here).
10:22 dolmans what i am talking is about convention, not one man, one man can do whatever he want.
10:22 dmq the bug report especially was useful as it reminded me about fixing it. :-)
10:23 moritz dmq: you're welcome, the real attribution should go to betterworld++ who discovered it by proof reading bloonix++'s modules
10:23 moritz he was just not couragous enough to label it as a perl bug ;-)
10:23 dmq yeah but he didnt file a bug report. anyway i thanked him too.
10:23 moritz ok ;)
10:24 moritz I don't know if you've seen it, I already posted on pm that it is fixed in blead
10:24 dmq im just hopeful i did completely fix it. the code involved has about a million codepaths and is opaque beyond belief so its hard to say its completely fixed.
10:25 moritz ah, so did you ;)
10:25 dmq yes i saw. i replied to your node noting that that PM supports the APC:// linktype.
10:25 dmq so if you want to link to the apc you can do so easily on pm.
10:26 moritz ok, I'll remeber that ;)
10:26 dmq we should probably set up some handlers for perl 6 related stuff too.
10:27 dmq for the APC linktype you can use change numbers or filenames.
10:27 moritz like S05:100 links? ;-)
10:27 dmq yeah whatever.
10:28 dmq post a PMD with a list of useful targets and ill get them set up.
10:28 moritz what's a PMD?
10:29 moritz perl monks discussion?
10:29 * moritz is pretty new to perlmonks
10:30 dmq yes
10:30 * dmq is an admin there
10:31 moritz I thought so ;)
10:32 dmq although these days im not very active
10:33 obvio171 joined #perl6
10:34 moritz is the code that runs perlmonks.org somewhere on CPAN?
10:35 dmq no
10:36 dmq theres a sister codebase that is public but the pm code is private.
10:36 BlackSabbath joined #perl6
10:36 dmq or semi private.
10:36 moritz ok ;)
10:37 dmq you can become a "pm-dev" by asking to be one, but we dont allow free access to the code
10:37 BlackSabbath joined #perl6
10:38 dmq since code is stored in the db just like posts are its difficult and potentially insecure to allow totally free access to it.
10:38 moritz I don't have specific interest in the code, was just curious ;)
10:39 dmq its a common question
10:39 dmq :-)
10:48 nipotan changed their nick to nipotaway
10:58 pjcj joined #perl6
11:06 franck__ joined #perl6
11:07 avar dmq: Insecure to allow access a copy of it not running on pm.org?
11:13 obvio171 joined #perl6
11:17 obvio171 joined #perl6
11:21 fglock joined #perl6
11:24 obvio171 joined #perl6
11:27 obvio171 joined #perl6
11:29 moritz sounds scary ;)
11:40 the_dormant joined #perl6
11:51 franck___ joined #perl6
11:52 franck__ joined #perl6
11:52 andara joined #perl6
11:53 buu joined #perl6
11:58 Limbic_Region joined #perl6
12:12 rindolf joined #perl6
12:44 buetow joined #perl6
12:46 vel joined #perl6
13:02 franck___ joined #perl6
13:19 obvio171 joined #perl6
13:23 riffraff joined #perl6
13:23 riffraff hi
13:24 riffraff do we have a spec for the various sigil roles?
13:25 riffraff i mean $ Object, @ Positional, % Associative and so on
13:36 jerrylee joined #perl6
13:36 avar riffraff: The synopsis just got updated very recently in that area, check out perl6-language
13:36 riffraff yep I saw that
13:36 riffraff but it doesn't say a lot
13:37 riffraff I was thinking of adding a dummy t/builtins/sigl that just checks that <sigil>name does what it is supposed to do
13:40 tuna joined #perl6
13:47 perlmonkey2 joined #perl6
14:03 masak riffraff: sounds like a good idea to me -- go right ahead
14:25 isaacd_ joined #perl6
14:33 mj41 joined #perl6
14:49 silug joined #perl6
15:02 riffraff ?eval multi foo {...}; foo()
15:02 evalbot_r16539 changed their nick to evalbot_r16553
15:02 evalbot_r16553 *** ... - not yet implemented␤    at <eval> line 1, column 12-15
15:02 fglock hmm - gcc now comes with GOMP and GC
15:03 riffraff masak, I will do that, and add some empty roles in Prelude.pm
15:04 riffraff ?eval role R{multi f{...}}; class C does R {}; C.new.f
15:04 evalbot_r16553 *** ... - not yet implemented␤    at <eval> line 1, column 16-19
15:04 riffraff I wonder why in my box ... becomes "undef"
15:05 moritz riffraff: i get nyi in both cases
15:05 moritz riffraff: maybe your pugs build is outdated?
15:05 riffraff I think so
15:05 riffraff but wait, I have a difference
15:06 riffraff ?eval role R{multi postcircumfix:<[ ]> {...} }; class C does R {}; C.new[1]
15:06 evalbot_r16553 \undef
15:07 riffraff ok, this is what I get and don't understand :)
15:07 riffraff probably C.new[1] is parsed somehow differently
15:11 moritz even if I use (C.new)[1] I get undef
15:11 * moritz wonders if custom circumfix and postcircumfix operators work at all
15:13 riffraff ?eval class D {}; D.new[1]
15:13 evalbot_r16553 \undef
15:13 riffraff ok, they don't I believ :)
15:13 moritz ?eval multi circumfix:<bla alb> (Str $x) { say $x} bla"foo"alb
15:13 evalbot_r16553 Error: ␤Unexpected "\""␤expecting "::", dot, ":", "(", term postfix or operator
15:14 moritz I'm a bit lost... which parenthesis characters are left for (post)circumfix operators that don't interfere with builtin ops?
15:15 weinigLap joined #perl6
15:16 riffraff I guess you have to be creative, there are the banana, lenses and barbed wire brackets
15:16 riffraff as for similarly named paper
15:16 moritz ;-)
15:18 riffraff and maybe we could use those ceiling anf floor characters which I don't know how to type
15:19 riffraff actually thos wodule be fun to use with their real meaning I believe :)
15:19 moritz →propably, yes←
15:20 riffraff lol
15:20 moritz who needs windings anyway? we have unicode!
15:20 fglock anyone knows of a comparison between 'JIT' vs a 'direct C code generator'?
15:21 riffraff (I especially appreciate how you understood "wodule" for "would")
15:22 moritz riffraff: the "module" interpretation didn't fit, so my parser did a bit of backtracking ;)
15:22 moritz fglock: do you mean in terms of speed?
15:22 fglock yes, mostly
15:25 riffraff if I declare a class in PRelude is it automagically visible or should I export it ?
15:26 fglock riffraff: you need to export, afaik
15:26 Limbic_Region ?seen TimToady
15:26 lambdabot TimToady is in #perl6. I last heard TimToady speak 18h 4m 58s ago.
15:27 fglock moritz: I'm comparing Parrot JIT with a possible kp6-in-C implementation
15:28 moritz fglock: maybe you should ask in #parrot - but afaik the optimization in parrot is not very mature
15:28 moritz correct me if I'm wrong, though
15:28 moritz ?seen [particle]
15:28 lambdabot I saw [particle] leaving #perl6 5d 21h 38m 20s ago, and .
15:29 moritz fglock: so would you rewrite kp6 in C, or just write a backend?
15:29 fglock write a backend, and then bootstrap
15:32 * Aankhen`` bootstraps for massive damage.
15:33 moritz fglock: I think atm C should be faster (without really knowing, I admit), but PIR would be more interesting because it's made for dynamic languages
15:34 fglock yes, parrot bytecode is kind of an Intermediate Language
15:35 fglock lunch &
15:36 japhb fglock: Also, in your readings remember: standard C compiling and JIT both can only do static analysis.  Profile-directed C compiling can optimize based on past aggregate behavior.  Self-optimizing JIT can continue to optimize at runtime as conditions change.  This turned out to make at least one processor emulator emulating its own architecture run faster than raw code -- because it kept reordering branches and such as runtime behavior b
15:36 japhb ecame clear ....
15:37 japhb Looks like I just missed him.  Oh well, hope he's the backlog type ....
15:38 Limbic_Region he typically does backlog yes
15:39 pbuetow joined #perl6
15:44 devogon joined #perl6
15:49 blaze-x_ changed their nick to blaze-x
15:50 ruz joined #perl6
15:55 Limbic_Region @tell TimToady I have sent you a personal email from my gmail account, please let me know if it did not arrive or was eaten by spam filters
15:55 lambdabot Consider it noted.
15:56 TimToady yes, got it
15:56 lambdabot TimToady: You have 1 new message. '/msg lambdabot @messages' to read it.
15:56 TimToady @massages
15:56 lambdabot Limbic_Region said 57s ago: I have sent you a personal email from my gmail account, please let me know if it did not arrive or was eaten by spam filters
16:01 Limbic_Region thanks
16:05 buetow joined #perl6
16:15 bernhard joined #perl6
16:23 justatheory joined #perl6
16:23 fglock joined #perl6
16:26 fglock japhb: ok
16:34 fglock japhb: I've been looking at strongtalk and psycho
16:35 pbuetow joined #perl6
16:35 fglock pypy actually looks a bit like 6-in-6, in that it has several alternate implementations
16:39 buetow__ joined #perl6
16:39 avar fglock: So you opted for going sideways I take it?:)
16:44 buetow__ joined #perl6
16:44 fglock hmm - sideways?
16:45 avar multiple emitters for mp
16:45 charsbar joined #perl6
16:47 elmex joined #perl6
16:47 fglock yes
16:48 avar how big a subset is it covering now, able to run Test.pm?
16:50 fglock avar: no, kp6 is mostly about architecture - it has vary little runtime
16:50 fglock s/vary/very/
16:51 fglock mp6 builds top-down from MiniPerl6; kp6 builds bottom-up from there
16:52 perlmonkey2 Anyone know why Moose no longer calls BUILDALL even though my package has "sub BUILD"?
16:53 avar fglock: so what needs to happen to get it closer to something that "actually works"?
16:54 fglock avar: agree on a "final" architecture; and then finish the implementation
16:54 fglock I hope to be able to discuss the architecture in the YAPC::EU hackathon
17:04 avar neat, hopefully I'll be there
17:04 avar depends on whether my blathering^Wtalk gets accepted:)
17:15 ruoso joined #perl6
17:16 fglock avar: the architecture is not "too" important, but it would be nice to have some community participation
17:17 rindolf Hi all.
17:17 rindolf Hi fglock, avar , perlmonkey2
17:18 fglock re what works - v6/v6-KindaPerl6/t/kp6/ is not that bad
17:19 amnesiac joined #perl6
17:19 fglock rindolf: hey
17:21 avar fglock: get it to pass some tests:)
17:22 fglock avar: perl kp6-perl5.pl < t/kp6/01-tap.t | perl -I lib
17:22 franck__ joined #perl6
17:23 fglock avar: is it failing?
17:25 avar nope, works
17:26 avar One thing I might poke is to try to get all this stuff packaged, kp6 --backend=perl5|parrot|jvm
17:26 avar would be nice to cpan -i kp6 and get a very limited p6:)
17:27 avar seems to be a lot of duplication in all these mp6-whatever.pl's :)
17:28 fglock sure
17:29 kanru joined #perl6
17:30 fglock but it's also a bit distracting; I'm trying to pay attention to the core compiler
17:30 fglock and v6.pm is a place holder in the meanwhile
17:31 fglock avar: I'm trying to make a project roadmap
17:32 fglock obra: ping
17:32 avar I'd be interested in helping out with some of this stuff
17:32 obra fglock: pong!
17:32 fglock obra: I'd like some help from the Perl 6 project manager
17:33 obra Ok. What can I do for you?
17:33 fglock help making a roadmap for v6/mp6/kp6
17:34 obra Ok. You know more about the technology than me. How can I help with the roadmap
17:35 obra is there a current braindump of what needs doing?
17:36 fglock obra: there is some in http://svn.pugscode.org/pugs/v6/docs/ and http://svn.pugscode.org/pugs/v6/v6-KindaPerl6/docs/FAQ.pod
17:36 lambdabot Title: Revision 16553: /v6/docs
17:36 fglock but I'm having trouble integrating into something readable
17:39 sahadev joined #perl6
17:39 obra Ok. So. Is there a particular order things need to be developed in?
17:40 fglock there are a few parallel tasks:
17:42 ingy ?seen gaal
17:42 lambdabot gaal is in #perl6. I last heard gaal speak 10h 58m 22s ago.
17:42 rindolf Can anyone point me to the list of examples of perl4 code that won't work on perl5 anymore.
17:42 rindolf Hi ingy
17:42 ingy hi rindolf
17:42 gaal moose
17:42 rindolf ingy: what's up? How do you feel?
17:42 rindolf gaal: hi. What's up?
17:42 fglock runtime and MOP; regex engine runtime; grammar; the compiler itself; the code evaluator
17:42 ingy I feel good
17:42 rindolf gaal: how's work?
17:42 ingy I'm in love
17:42 ingy with libyaml ;)
17:43 gaal yay :)
17:43 rindolf gaal: I'm thinking of getting a new laptop for games and presentations and stuff.
17:43 rindolf gaal: but it will run Linux.
17:43 ingy I think I will soon join the Perl6 effort again by bringing in libyaml
17:43 rindolf gaal: though it should dual-boot into WinXP or win2003 or whatever.
17:43 ingy I can use it to teach me haskell
17:43 rindolf ingy: is libyaml written in C?
17:43 ingy for now I'm using it to teach me C :)
17:43 ingy yeah
17:44 gaal ingy: awesome
17:44 rindolf ingy: what's wrong with Syck?
17:44 ingy rindolf: YAML::LibYAML
17:44 gaal rindolf: laptop for games doesn't sound effective
17:44 rindolf ingy: oh.
17:44 rindolf gaal: in a way.
17:44 obra fglock: ok. let's step back. of all the kp6/mp6/v6, which ones are needed to get to your endgame?
17:44 rindolf gaal: I can hook a keyboard and a mouse to it.
17:44 ingy rindolf: syck is not perfect
17:44 ingy well not even close actually
17:44 rindolf gaal: but I need one for presentations.
17:44 gaal I'm off to dinner w/ kudra; bbl...
17:44 rindolf ingy: I see.
17:44 rindolf ingy: is libyaml a rewrite?
17:44 ingy libyaml appears to be perfect
17:44 Psyche^ joined #perl6
17:44 rindolf ingy: or is it a fork?
17:45 ingy rindolf: it's a write :P
17:45 * rindolf prefers forks over rewrites.
17:45 rindolf ingy: I see.
17:45 rindolf ingy: does it have a test suite?
17:45 ingy rindolf: just google and read :)
17:45 rindolf ingy: asking you is faster.
17:45 * gaal prefers writes to wrongs
17:45 fglock obra: kp6 is the current version; v6 is the published version; mp6 is a bootstrapper
17:46 ingy it was a 2005 SoC project
17:46 gaal though reads are just andy
17:46 obvio171 joined #perl6
17:46 gaal dandy, too
17:46 gaal moose &
17:46 obra fglock: from here to the future, which of the three will be involved? is v6 still relevant?
17:47 fglock obra: kp6 is the current version; v6 is the published version; mp6 is a bootstrapper
17:47 fglock left #perl6
17:48 fglock joined #perl6
17:49 fglock sorry, lost connection
17:49 obra it's ok
17:49 obra so. those three terms don't explain to me very well what the work plan looks like.
17:49 fglock v6 will be replaced by 6-in-6
17:50 obra ok. so v6 is no longer part of the roadmap, it sounds like
17:50 fglock kp6 is a path to "full" 6-in-6
17:51 fglock mp6 is "stable"
17:51 rindolf ingy: why have you decided to call yourself "Ingy döt Net" instead of Brian Ingerson?
17:51 obra ok. so right now, mp6 is a stable ~complete 6on5 implementation and work is ongoing to implement kp6 on top of mp6?
17:51 rindolf ingy: reminds me of chromatic.
17:52 ingy because it's my name :P
17:52 rindolf ingy: is it also your new legal name?
17:52 rindolf ;-)
17:52 Psyche^ changed their nick to Patterner
17:52 ingy yes
17:52 daxim_ ¨
17:53 rindolf ingy: some people think Shlomi Fish is not my real name.
17:53 rindolf But I'm very happy with it.
17:53 rindolf It has a nice ring.
17:53 rindolf ingy: have you read my "Human Hacking Field Guide" story?
17:53 fglock kp6 is already built on top of mp6; work is ongoing to provide "full Perl 6" on top of kp6
17:54 * ingy has a nice ring ;)
17:54 ingy rindolf: no
17:55 rindolf ingy: well, there's a girl there (in the 12th grade) called Eve Siegel who decides she wants to be called "Erisa".
17:55 obra ok. so kp6 and mp6 are pretty stable and there's a new third implementation on top of kp6?
17:55 obra rindolf: a nice discordian name
17:55 pbuetow joined #perl6
17:55 rindolf ingy: because she believes people should have a choice of getting their own names.
17:56 ingy I was just trying to remember if I or audrey changed our names first
17:56 ingy it was very close
17:56 ingy but now I remember it was me first...
17:56 ingy I think so anyway
17:57 fglock obra: I think kp6 --> 6-in-6 can be developed incrementally
17:58 obra ok
17:58 obra so it sounds like most of the work is in "kp --> 6-in-6"
17:58 obra Is that right?
17:58 fglock yes
17:59 obra ok :)
17:59 obra So we're getting somewhere.
17:59 obra of those parallel tracks you mentioned earlier, are they everything that needs to be done in  the arrow?
18:00 fglock yes; things like optimization are included there
18:01 fglock and "runtime" is pretty generic
18:01 obra ok.
18:02 obra Next step: can you check in a document called " KindaPerl6 --> full 6-in-6 Roadmap"
18:02 fglock ok
18:02 ingy I just found out that libyaml is 2.75 times faster with -O3
18:02 ingy :)
18:03 obra Of those areas, is there one that MUST be done first?
18:03 obra are there any that can be ~fully done withot the other areas being done or started?
18:03 ingy is -O3 a problem with Perl XS modules?
18:03 ingy should I ask p5p?
18:04 obra sure. you'll get good answers
18:06 fglock the general architecture must be specified first
18:06 svnbot6 r16554 | fglock++ | [kp6] KindaPerl6 --> full 6-in-6 Roadmap - obra++
18:06 fglock there are some diagrams of the current architecture,
18:06 fglock but it wasn't really discussed here
18:07 obra ok. I'd steer clear of the diagrams of the architecture
18:07 fglock re fully done, no
18:07 obra for this
18:07 obra ok.
18:07 obra which chunk needs to be ~mostly done first
18:07 obra are there two chunks that will help the most?
18:09 fglock there are some chunks that are mostly done; it's the "kp6 Milestones" in the top of http://svn.pugscode.org/pugs/v6/v6-KindaPerl6/TODO
18:09 fglock BEGIN blocks, lexical subs, the "environment"
18:11 perlmonkey2 hello rindolf
18:11 obra ok. extract that section to the new document :)
18:11 * obra updates his pugs checkout to play with the doc
18:12 fglock actually, these are mostly done; we need a plan for what to do after that
18:12 cmarcelo joined #perl6
18:13 obra sure
18:13 obra but a roadmap that starts with completed bits inspires people
18:14 obra showing people where they're coming from makes it a little easier to see where you're going
18:14 fglock done
18:14 obra cool
18:14 svnbot6 r16555 | fglock++ | [kp6] updated roadmap
18:15 obra I am MANY revs behind, so I'm pulling
18:16 fglock obra: http://svn.pugscode.org/pugs/v6/docs/kp6-Perl6-roadmap.txt
18:17 obra like what pugs did, we want to come up with 5-10 major "steps" to go from here to done
18:17 obra Whcih subsystem do you want to hack on next?
18:18 obra which one really has to be last?
18:19 rindolf perlmonkey2: hi.
18:19 rindolf perlmonkey2: wattcha doing in #perl6?
18:21 perlmonkey2 watching
18:21 perlmonkey2 rindolf:
18:21 fglock obra: there are some possible paths;
18:22 perlmonkey2 rindolf: Hoping to see Stevan Little or Christian Hansen.
18:22 fglock my initial goal was to make as much of the modules reusable by p6-pugs and p6-parrot
18:23 tabris|away joined #perl6
18:23 fglock but this is making much harder to make a plan
18:24 fglock rather than a subsystem, maybe it could be organized based on language features (syntax + semantics)
18:24 obra ok. that's reasonable
18:24 obra I wouldn't worry about making it magically reusable if it's going to hurt your 6 on 5 plan too badly.
18:25 obra planning for reusability when the other projects aren't ready for you is going to burn a lot of cycles
18:25 obra when they're ready, they can ptich in and help refactor toward what you need
18:26 obra but sure. let's start with language features.
18:27 obra ...I wonder if it makes sense to use the synopses
18:28 fglock I think a reasonable first goal would be to integrate the regex-parser into the Perl6-parser; this is more or less what Perl6-STD does
18:28 fglock this simplifies the architecture a bit
18:29 obra Ok. put down Milestone 1: Integrate Regex Parser
18:29 obra once you've got that, what becomes easy?
18:31 obra or easier ;)
18:31 fglock integrating the Lazy list code from the old pil-run would be nice
18:32 fglock not sure if it's easy enough
18:33 fglock I guess next step would be implementing multis - STD needs that
18:34 obra ok. so is it just multis or is it all of subroutine dispatch?
18:34 * obra asks handwavey questions, he knows
18:35 fglock it's all in the "Code" and "Signature" objects
18:37 fglock btw, "Array" and "Hash" need to be finished first, so that's Milestone 1
18:37 fglock and "P6opaque"
18:37 obra does Array and Hash objects come before  the regex stuff?
18:38 fglock this is parallelizable
18:39 obra sure.
18:39 obra we might end up with people completing work on milestone 6 before milestone 1.
18:40 TimToady STD doesn't use Array or Hash, or do you mean that more generally?
18:40 obra but trying to lump all the different systems into one milestone because they don't have dependencies will make it harder for people to understand
18:40 fglock TimToady: generally
18:40 obra and the goal of a milestones document is (presumably) for people to have a grasp on what's being done and what needs doing ;)
18:42 renormalist joined #perl6
18:44 fglock brainstorming - another (parallel) milestone would be to make kp6 runnable over parrot and pugs
18:45 obra is that critical to kp6 working?
18:45 obra if not, add it in a new section: "Bonus Milestones"  as "Bonus Milestone 1" "make kp6 run over parrot and pugs"
18:46 obra The goal here is to get the things that are critical to the system working listed out
18:46 obra in rough dependency order
18:46 fglock it could be good for the whole Perl 6 project in general
18:46 obra sure
18:46 obra I agree that it's a GOOD thing.
18:46 obra But is it 100% mandatory to get 6in6 working?
18:47 obra If not, it goes in "bonus milestones".  it's an extra project you don't need to do
18:47 obra it's always ok for somebody to do the bonus bits early
18:47 obra but we don't want them to cloud the way for getting to "it runs"
18:47 fglock obra: sorry, I've got a meeting in a few minutes
18:49 obra fglock: no problem
18:49 obra I have to leave in about an hour
18:49 obra will be back late tomorrow
18:49 fglock obra: actually "it runs" right now; we need a better definition for "runs" :)
18:49 obra happy to pick this up by mail (jesse@perl.org) if you want
18:50 obra sure :)
18:50 fglock obra: thanks!
18:50 obra we'll get there. thanks for all the hard work hacking :)
18:50 drupek12 joined #perl6
18:50 fglock obra: I'll be organizing a hackathon in YAPC::EU, I hope to have the plan sorted out by then
18:53 fglock left #perl6
18:55 jisom joined #perl6
19:09 the_dormant joined #perl6
19:10 IllvilJa joined #perl6
19:15 theorbtwo joined #perl6
19:26 gaal rehi
19:37 dduncan joined #perl6
19:38 dduncan opinion question: what might be a good name for a set-like collection type which can have at most 1 element (that is, it can have either zero or one elements)?
19:39 dduncan I might go with Set1 or some such, but wondered if there was a better name
19:39 TimToady that would have to be either a Bet or a Soolean
19:40 gaal Oneohton?
19:40 dduncan technically, this type is a set, specifically it is like: subtype of Set where { .elems <= 1 }
19:41 dduncan er subset of Set
19:41 TimToady Element and rely on implicit maybeness of P6?
19:42 gaal in Haskell at least, a container X with one element is called a singleton X
19:42 dduncan does the singleton refer to having exactly one element or at most one element?
19:43 gaal one exactly.
19:43 gaal although when you think of lists as a monad, failure = an empty list
19:44 gaal that's probably not helpful here thouhg :)
19:45 dduncan fyi, this question relates to my database language
19:45 gaal but really, a collection limited to an element count of one is a set, sure, but it's also other things. do you _need_ to think of it as a set?
19:45 dduncan said language has no concept of an undefined variable, ...
19:46 gaal eg do you use this object in set calculations?
19:46 dduncan so I thought one way to represent a variable that conceptually has no value is to make it hold a set value
19:46 dduncan or other collection
19:46 dduncan where if it is empty, that represents having no value
19:46 dduncan and if it has one element, that is the value it otherwise would have if it had to always have one
19:47 isaacd__ joined #perl6
19:47 bpalmer joined #perl6
19:47 dduncan now I don't need a type for this ...
19:47 dduncan simply having a set-valued variable that holds an empty set is sufficient
19:47 dduncan but what I was talking about now was meant to be a definers shorthand
19:47 gaal haskell has the parametric type Maybe a exactly for this purpose
19:47 dduncan for saying set where elem count <= 1
19:48 dduncan perhaps Maybe is my answer then
19:48 dduncan I'll look into it ... thank you
19:49 gaal in hs syntax: data Maybe a = Nothing | Just a
19:49 gaal there's a host of standard functions that operate on Maybe values
19:49 gaal @hoogle Maybe a
19:49 lambdabot Prelude.Nothing :: Maybe a
19:49 lambdabot Prelude.Just :: a -> Maybe a
19:49 lambdabot Maybe.listToMaybe :: [a] -> Maybe a
19:49 gaal those are just some.
19:50 gaal listToMaybe, for example, yields Nothing when the input list was emtpy, and Just x if the list was not and x was at the head.
19:50 dduncan in my case, were I to use Maybe, then Maybe isa Set, and any ops specific to Maybe would be shorthand for some Set ops
19:50 dduncan for that matter, Set is a unary Relation
19:51 dduncan and so a Maybe would be a unary Relation with a nullary key
19:51 dduncan a nullary key resulting in a Relation that can have at most one value
19:51 dduncan er, one tuple
19:52 daxim joined #perl6
19:52 devbot6 joined #perl6
19:53 gaal I don't know enough about what you call Relation to see whether that makes sense. :)
19:53 TimToady note that P6 defaults the other way; every Object is a Maybe, and you have to use "subset" to express a type that can't be undefined.
19:53 gaal hee, that PM post made it into Syn!
19:54 TimToady well, sure, why not?
19:54 gaal it now lives in Syn
19:54 dduncan Relation, in logic and philosophy, a property or predicate ranging over more than one argument.
19:54 fglock joined #perl6
19:54 dduncan in appearance in my language, it is like a set of Mapping
19:54 dduncan where every mapping has the same keys
19:55 dduncan sort of like a SQL table
19:55 dduncan a unary relation is like a table with one column
19:55 dduncan which for all intents and purposes is a set
19:55 dduncan that is, a plain set
19:56 dduncan a nullary key is a key over zero attributes/columns
19:57 dduncan that constrains a relation/set/table to at most one tuple/element/row
19:57 dduncan my language doesn't have undefined values since it keeps logic simpler in the general case
19:58 dduncan this thing about pretending to have undefined is basically a huffmanization
19:58 Limbic_Region OT - does anyone know of a utility that will pull data from a database into an LDAP directory and keep it syncronized lazily?
19:58 dduncan since that would be used less frequently, it is more verbose than one that can't be empty
20:04 rlb3_work joined #perl6
20:05 polettix joined #perl6
20:07 japhb joined #perl6
20:13 GeJ_ changed their nick to GeJ
20:13 gaal sorry, phone
20:18 gaal hee, dons' cute code is.
20:18 gaal > > take 10 $ Control.Monad.Fix.fix ((1:) . scanl (+) 1)
20:18 lambdabot Parse error
20:21 gaal > let fix y = y (fix y) in take 10 $ fix ((1:) . scanl (+) 1)
20:21 lambdabot [1,1,2,3,5,8,13,21,34,55]
20:24 svnbot6 r16556 | rhr++ | [unitsdat-grammar.pm] Associativity fixes.  Misc fixes and cleanups.
20:25 elmex_ joined #perl6
20:29 thoughtpolice joined #perl6
20:30 daxim hey thoughtpolice
20:33 thoughtpolice yo :)
20:33 daxim I got some improvement suggestions for the blog entry
20:33 thoughtpolice shoot
20:33 daxim explain how the <> nee qw() operator works and why it's used, because that's not obvious from the code example
20:33 daxim say it splits the inner stuff on any amount of whitespace
20:33 daxim say it's used so a programmer can be lazy and does not need to quote strings with special characters like " or '
20:33 daxim some paragraphs below you explain redo with an real world use case, but only with abstract words.  back this up with a code snippet
20:34 thoughtpolice got it
20:36 Tene there's a blog entry?
20:36 daxim http://diveintoperl6.blogspot.com/
20:36 lambdabot Title: Dive into Perl 6
20:37 Tene So, who's going to write a Perl 6 compiler for http://lolcode.com/ ?
20:37 lambdabot Title: home · LOLCODE
20:38 daxim damn, that one's all over relay chat space
20:38 gaal IM IN YR STRINGS / NTRPOLATING YR CLOSURZ
20:38 qmole heh
20:38 thoughtpolice sweet
20:40 gaal someone was asking how to spell currying there. INVISIBLE ARG, surely.
20:40 svnbot6 r16557 | fglock++ | kp6-Perl6-roadmap.txt - divided in "phases"; added past work
20:46 gaal z&
20:50 riffraff joined #perl6
20:55 SubStack joined #perl6
20:58 avar SV* yaml = newSVpvn("", 0); <= newSVpvs("") is cheaper for creating an empty SvPV
20:58 avar whoa, /me reading old scrollback accidentally
20:58 riffraff anyone has ide of how to define a class or role in Prelude.pm and have it available at the repl (having it bulitin) ? I tried is export is primitive is builtin and the permutations but I failed miserably
20:59 avar ingy: that was for you
21:05 fglock avar: http://svn.pugscode.org/pugs/v6/docs/kp6-Perl6-roadmap.txt # work in progress
21:05 svnbot6 r16558 | fglock++ | kp6-Perl6-roadmap.txt - added "related work" for reference
21:05 fglock home &
21:09 japhb thoughtpolice: weren't there previously more entries than currently appear on the diveintoperl6 blog?
21:10 weinigLap changed their nick to weinig|bbl
21:11 thoughtpolice japhb: ? no. the ones I published are the ones up there
21:12 thoughtpolice i had to test some earlier versions of articles out by quickly publishing them to see how they'd look with the layout, though
21:12 thoughtpolice so if you for some unknown reason stumbled upon one, that might be the reason
21:12 japhb Weird, a few minutes ago "Perl 6: Round 1" wasn't there
21:12 avar fglock: awesome:)
21:15 thoughtpolice hm.
21:28 weinig|bbl changed their nick to weinigLap
21:41 svnbot6 r16559 | rhr++ | [unitsdat-grammar.pm] Fix linear interpolator.
21:43 Limbic_Region joined #perl6
21:52 drupek12 joined #perl6
21:53 * riffraff wonder why Prelude hates him
21:57 buetow joined #perl6
21:58 nelhage left #perl6
21:58 xinming_ joined #perl6
22:08 meppl good night
22:13 thoughtpolice daxim: annotations complete. thanks :)
22:19 riffraff someone knows why Set.pm is not preloaded into the Prelude?
22:20 TimToady perhaps because the set operators are not part of standard perl 6?
22:21 TimToady at least, not the Unicode versions...
22:22 Southen joined #perl6
22:22 riffraff but the Set class is, isn't it?
22:23 TimToady yes, but unless the parser is taught about the various operators, they wouldn't be parsed in any particular lexical scope
22:23 TimToady it's possible they'll be in there eventually
22:23 TimToady but we're trying to keep Unicode operators hushhush for now, just to avoid scaring people too much
22:23 svnbot6 r16560 | Darren_Duncan++ | ext/QDRDBMS/ : in Language.pod, added new Maybe data type
22:24 TimToady anyway, at most they'll be a "use" away
22:24 moritz which is not far away if it's distributed as "core"
22:24 TreyHarr1s changed their nick to TreyHarris
22:25 TimToady certainly they'll be in the core, since otherwise people would reinvent them poorly
22:25 riffraff I see
22:25 TreyHarris anyone with a MBP 15" in front of them on right now?  if so, please message me
22:26 moritz are they implemented non-poorly atm?
22:26 riffraff and what about the other containers such as Bag? all in ext ?
22:26 wolverian thoughtpolice, s/frusteration/frustration/ in perl6: round 1
22:27 thoughtpolice wolverian: :o
22:27 thoughtpolice :x
22:27 thoughtpolice my bad
22:27 dduncan I would expect for Set, Bag to be in Prelude et al, but just with ascii/text names for their operators
22:28 riffraff +1
22:28 dduncan and ext/ just declares unicode aliases for them
22:28 japhb moritz: even if they are implemented poorly now, we should be able to get them pretty nice by xmas
22:28 moritz japhb: I know ;)
22:28 moritz dduncan: "use names utf8" ;-)
22:28 TimToady P6 distinguishes Set/Bag values which are immutable from containers for sets and bags that are defined in terms of the hash interface.
22:29 TimToady see S02:759 and following
22:30 moritz oh no, that was "set names utf8" ;)
22:30 TimToady so it would be illegal to say $set<foo>++ if $set were a Set, but not if it were a KeySet
22:30 dduncan moritz, in your case, you would want use/set names unicode
22:31 moritz I just wanted to paraphrase mysql syntax ;)
22:31 dduncan since encoding issues are abstracted away
22:31 wolverian TimToady, is there a difference between hashes and KeySets?
22:31 dduncan and so unicode is just a character set
22:31 TimToady and the difference between a KeySet and KeyBag is then just the type of the value in the KeyHash
22:31 dduncan or should I say, a repertoire
22:32 TimToady yes, in list context a hash returns pairs, while a keyset returns just the keys
22:33 TimToady just as a Set in list context returns a list of the elements
22:33 PerlJam TimToady: Do you try to focus on particular aspects of the Synopses or do you just flit from topic to topic as they occur to you? (Just curious about how you push through the work; organized or random)
22:34 TimToady both/neither.  my work pattern is of fractal dimensionality
22:35 TimToady drives all my bosses nuts  :)
22:35 PerlJam Even Gloria? :)
22:36 TimToady from time to time
22:36 TimToady but then, she's already nuts about me, so it's hard to tell the difference. :)
22:37 japhb awwww
22:37 PerlJam TimToady++ (lucky man)
22:37 PerlJam My wife has put up with me for 12 years so far ... I'm hoping she goes the distance :-)
22:37 PerlJam well, 12 years of marriage anyway
22:39 * Caelum started compiling pugs 15 hours ago, and it still hasn't finished, also makes computer unbearably slow when compiling :(
22:39 Tene Caelum: what hardware?
22:39 moritz Caelum: how much memory does your maschine have?
22:39 Limbic_Region Caelum - less than a gig of ram?
22:40 moritz ;-)
22:40 Caelum it's a 64bit p4 with a gig of ram
22:40 Caelum I have 4 gigs of swap, which is probably a bad idea...
22:40 moritz that's unusual
22:40 Limbic_Region Caelum - extremely odd, even if you were compiling GHC from source it shouldn't take that long
22:40 Tene Huh.  I can compile it in about an hour on a P3 with 1 gig.
22:40 moritz Caelum: that shouldn't be used
22:40 Caelum weird
22:41 japhb Caelum, is the swap being actively used?
22:41 moritz pugs build takes about 600MB on my maschine (which has only 512M or ram :())
22:42 Caelum I probably have too much crap running (vmware and such)
22:42 japhb Caelum: Oh heck yeah, vmware will definitely do it,
22:42 thoughtpolice vmware++
22:42 thoughtpolice :)
22:42 japhb as it grabs a big chunk of ram and holds on to it
22:42 * Limbic_Region has found that 1GB is more than enough to compile pugs assuming it is available
22:42 wolverian Caelum, how much memory did you give to vmware?
22:42 moritz vmware-- # (eating RAM)
22:43 thoughtpolice i have 1gb running two virtual machines; pugs doesn't take too long to compile.
22:43 Caelum wolverian: 256mb
22:44 japhb Caelum: would you mind pasting a few lines of 'vmstat 5', please?
22:44 moritz Caelum: and are you compiling inside the vm? *g*
22:44 prism joined #perl6
22:44 Caelum japhb: while pugs is compiling?
22:44 japhb Caelum: yeah.
22:44 Caelum moritz: nah :)
22:44 Alchemy joined #perl6
22:44 prism joined #perl6
22:51 SubStack joined #perl6
22:54 prism joined #perl6
22:59 Aankhen`` moritz: Can't you set a memory limit for each virtual machine?
23:01 moritz Aankhen``: the problem (with all vms) is that you have to allocate the memory at startup time of that vm...
23:01 Aankhen`` Right.
23:01 moritz Aankhen``: which means that if you run linux inside the vm, it will use _all_ available memory
23:01 Aankhen`` Ah.
23:01 Caelum now it finished... for some reason it did "-Iinc runjs.pl --precompile-only --p6preludepc=blib/lib/Prelude.js --testpc=blib/lib/Test.js -e 1" and "-Iinc util/src_to_blib.pl" with a different perl than I ran Makefile.PL with
23:02 Caelum the perl that was in my path
23:03 Caelum oh I see it just calls perl, nm
23:05 mr_ank joined #perl6
23:15 shachaf joined #perl6
23:19 demq joined #perl6

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

Perl 6 | Reference Documentation | Rakudo