Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-07-19

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:05 wolverian http://www.codinghorror.com/blog/archives/000635.html interesting take on learning programming
00:05 lambdabot Title: Coding Horror: Separating Programming Sheep from Non-Programming Goats
00:11 frustrato joined perl6
00:12 frustrato hi, i got a question regarding perl5-compatibility for perl6 compiler
00:12 frustrato does perl6 compile perl5 code and if yes, how does it do that?
00:12 frustrato thanks
00:12 wolverian most likely by invoking perl5.
00:13 wolverian (i.e. ponie)
00:13 wolverian (perl5-on-parrot)
00:13 frustrato thank you, wolverian...so perl6 compiler itself doesn't understand perl5 code?
00:14 wolverian pugs (the current development compiler) certainly doesn't, but can invoke perl5. ponie is the official plan once we get perl6 running on parrot.
00:14 wolverian so, the answer to your question is most likely "yes".
00:14 mauke_ is now known as mauke
00:16 TreyHarris hrm.  if i leave pugs in interactive mode sitting alone, after awhile (tens of minutes to a few hours) it stops responding, spins up and eats all available CPU--so that my fan starts groaning and it's difficult to get enough responsiveness to even kill it.
00:16 wolverian write a test? ;)
00:18 TreyHarris lol
00:18 TreyHarris dunno how to do that one.  open the microphone and get a sample of the fan whine? :-)
00:19 wolverian I suppose people would stop running the test suite before the test actually finished... around five minutes into it or so :-)
00:20 ruoso joined perl6
00:22 daxim_ joined perl6
00:37 hcchien joined perl6
01:00 hikozaemon joined perl6
01:07 justatheory joined perl6
01:16 mauke joined perl6
01:33 vsoni seen audreyt
01:33 jabbot vsoni: audreyt was seen 15 hours 5 minutes 43 seconds ago
01:35 audreyt vsoni: mm?
01:36 vsoni audreyt: I will be working on
01:36 vsoni IMCC reentrancy
01:36 vsoni but this will happen as small patches
01:36 audreyt that's fine
01:37 obra (small patches)++
01:37 vsoni audreyt what bout libpge?
01:37 obra (small patches)++ # They let you sneak in the huge new features without anyone noticing
01:38 audreyt vsoni: I think a C emitter on Pugs::Emitter::Rule::C makes sense
01:38 audreyt vsoni: but it's not pmichaud or anyone else's priority right now
01:38 dolmans joined perl6
01:38 audreyt vsoni: so if you'd like to champion it, or find someone who does, that'd be wonderful
01:38 audreyt but otherwise there's no movement expected on that front
01:39 vsoni audreyt: Why do we need coroutines do PGE in C....I did not get that
01:42 audreyt vsoni: we don't
01:42 audreyt goto() would do
01:42 audreyt coros are good to express backtracking
01:42 audreyt but there are other ways to save state
01:43 vsoni audreyt: yep...
01:43 vsoni so is Pugs::Emitter::Rule::C going to happen?
01:44 audreyt it is, if you would like to do it, or if you find someone who does
01:45 audreyt a commit bit is on its way to you
01:49 vsoni audreyt: thanx
01:50 audreyt no prob :) add yourself to AUTHORS after checking out http://svn.openfoundry.org/pugs/
01:50 lambdabot Title: Revision 11629: /
01:50 audreyt the v6.pm stuff can be found in perl5/
01:59 Arador hey audrey, have a question:
02:00 Arador I'm thinking about doing something on perl6, but I don't know where to start...
02:01 audreyt ok. what would you normally enjoy hacking?
02:01 audreyt I've been trying to find someone to work on trypugs, aka http://tryruby.hobix.com/ clone
02:01 lambdabot Title: try ruby! (in your browser)
02:02 Arador I usually hack either C or Perl
02:02 robkinyon Arador: You any good with LWP-type stuff?
02:03 audreyt also http://svn.openfoundry.org/pugs/perl5/Pugs-Compiler-Perl6/HACKING
02:03 audreyt also http://pugs.blogs.com/pugs/2006/07/pugs_janitor_ta.html
02:04 robkinyon Arador: In particular, you feel like helping me write an extension to CPAN(PLUS) to support P6's module specifications in P5?
02:06 Arador back in a minute: you are giving me a lot of information
02:08 Arador Audrey: try pugs sound quite feasable. Haven't programmed javascript in years, but in the netscape 4.0 time I was a kind of guru on it (frameworks have changed since though)
02:09 audreyt you can try coding it up in Jifty, would be fun
02:10 audreyt but any framework is fine
02:10 audreyt it has no db/state anyway
02:10 audreyt for trypugs, you'd want to harness the interactive pugs shell
02:10 vsoni audreyt: Have you checked out Google Web toolkit
02:10 audreyt using IPC::Run
02:10 audreyt vsoni: yes.
02:11 vsoni aureyt: Its pretty nifty....Java to HTML and Javascript compiler
02:11 vsoni audreyt: We gotta have something like that
02:11 audreyt well, it's a pretty printer
02:11 audreyt or rather, a JS DSL in Java
02:11 audreyt not the entire java; a small predefined subset
02:11 audreyt but I agree, we gotta have something like that
02:11 Arador robkinyon: I have limited experience with LWP, but sound posible too: written in P5?
02:11 audreyt there's already ./pugs -BJS
02:11 audreyt but ./pugs -CJS needs lots of sugar and DOM bindngs
02:12 vsoni audreyt: yep
02:12 robkinyon arador: Do you know the P6 module specs? For example, "use Foo::Bar-1.2..2.3-CPAN:RKINYON;"
02:12 robkinyon the goal is to support that (as well as possible) in P5
02:13 robkinyon I have about 80% of the design completed, but ran into problems immediately when trying to implement on top of CPAN.pm
02:13 robkinyon now that I have a better implementation strategy, I don't have time to start
02:13 Arador robkinyon: I recognise it, bit don't really remember the details anymore (there are a lot of specs)
02:13 vsoni audreyt: other cool one I came across is http://zk1.sourceforge.net
02:13 lambdabot Title: ZK - Simply Rich
02:14 Arador S11 clears things up :)
02:14 vsoni audreyt: here is the link to their demos....http://www.potix.com/zkdemo/userguide/
02:14 robkinyon arador: primarily, the need is to override a few items in CPAN.pm (or CPANPLUS.pm, your choice) to provide a few overrides and a few new shell commands
02:15 Arador oh my! tryruby has almost 70 kb of javascript code
02:15 lambdabot Title: ZK Component Demo
02:15 Arador yikes
02:22 Arador damnit, bugs! (the real live kind)
02:26 weinig is now known as weinig|sleep
02:30 Arador Audrey: I think tackling pugs would be the harder part: it is not really made for web based usage
02:31 Arador http is really a shitty protocol for these kinds of usages, AJAX and friends don't really change that...
02:32 Sam_ joined perl6
02:32 audreyt Arador: I know, you need some sort of affinity
02:33 audreyt but hey, "run a shell application remotely over the web"
02:33 Sam_ Hi Audrey, Can I ask  you a question ?
02:33 audreyt maybe look around in CPAN or ask around if something like that exists?
02:33 audreyt Arador: if not, that would be a generally useful module to have
02:34 PerlJam Sam_: you just did!
02:34 audreyt actually it's $job. relocated to $job channel :)
02:36 Arador the main work would probably managing all the pugs shells...
02:37 Arador usefull: yes. potentially very nasty: absolutely
02:40 audreyt mm. IPC::Run should make it a bit better
02:41 kanru joined perl6
02:44 vsoni joined perl6
02:45 Arador might help, but I'm not sure about the timeouts
02:46 obra audreyt this is the thing casey was thinking about doing?
02:46 audreyt yeah
02:47 Arador we'd need some atypical timeout behavior (instead of a fixed timeout, we constantly postpone the timeout). Not sure it can handle that cleanly
02:47 audreyt alarm() can handle that
02:47 audreyt also can fastcgi
02:48 Arador I was hoping I wouldn't need a handler process for each client, so alarm would be too crude
02:49 Arador I'm not very familiar with fastcgi, but it sounds like an OK idea
02:49 obra audreyt: what about wrapping the world monad?
02:49 obra (Buffer and replay all user input)
02:49 audreyt Arador: IPC::Run supports timeout
02:49 audreyt and you can periodically reset that
02:50 audreyt obra: sure. and there's even HTML::FromANSI ;)
02:51 obra :P
03:00 Arador I'm going to sleep now (it's really past bed time here): good night/day/morning/whatever
03:00 Arador I'll do my homework tomorrow ;-)
03:01 Arador and report my ideas
03:13 hikozaemon joined perl6
03:36 mjk joined perl6
04:15 fglock joined perl6
04:23 christopher joined perl6
04:25 orafu joined perl6
04:28 nothingmuch joined perl6
04:31 orafu joined perl6
05:04 iblechbot joined perl6
05:06 unobe joined perl6
05:06 unobe left perl6
05:09 nothingmuch joined perl6
05:09 Aankhen`` joined perl6
05:19 tup joined perl6
05:28 TreyHarris audreyt: for the past few revs, if i leave the pugs shell open, after some period of time idle (seems variable, as little as 5 minutes to as much as a few hours) pugs spins up and grabs CPU like there's no tomorrow and becomes totally unresponsive.  i haven't been able to isolate it yet, because my machine nearly locks up.  nicing hasn't seemed to help
05:29 audreyt hrm
05:29 audreyt osx?
05:29 audreyt with readline?
05:29 TreyHarris yeah, 10.4.7
05:29 audreyt ppc?
05:29 audreyt can you say
05:29 audreyt gdb pugs
05:29 audreyt run
05:29 audreyt and then wait itll it hangs
05:29 TreyHarris yes, ppc.  readline's been acting a little odd, sometimes i get dduplicated or dleted chars
05:29 audreyt and do a bt?
05:30 TreyHarris yes, i'll try that
05:30 audreyt mm. gnu readline?
05:30 TreyHarris i dunno, whatever makefile.pl's discovering.  lemme look
05:30 audreyt do a
05:30 audreyt otool -L pugs
05:31 audreyt $ otool -L pugs | grep readline /usr/local/lib/libreadline.5.0.dylib (compatibility version 5.0.0, current version 5.0.0)
05:31 audreyt er.
05:31 audreyt otool -L pugs | grep readline
05:31 audreyt        /usr/local/lib/libreadline.5.0.dylib (compatibility version 5.0.0, current version 5.0.0)
05:31 audreyt that's what I got
05:31 TreyHarris /opt/local/lib/libreadline.5.0.dylib (compatibility version 5.0.0, current version 5.0.0)
05:31 audreyt same version as here
05:31 TreyHarris yeah, but /opt is where darwinports installs into, so you must have a different build
05:32 audreyt sure. shouldn't matter, though
05:32 audreyt I'll leave my "gdb pugs" shell hanging around for a while and see what happens
05:32 TreyHarris ok, i'll try gdb and see what i find
05:32 audreyt cool. thanks!
05:32 audreyt needs to sleep now, though. bbl :)
05:33 TreyHarris sweet dreams :-)
05:34 audreyt thanks :)
05:35 TreyHarris hrm.  how do I get back to the gdb prompt once pugs hangs?
05:37 audreyt ^C
05:37 TreyHarris ok, thanks
05:38 audreyt it's still failing to hang for me...
05:38 audreyt I suspect readline signal handling
05:38 audreyt src/Pugs/Shell.hs line 72 was supposed to handle that
05:38 audreyt    Readline.setCatchSignals False
05:39 audreyt but maybe it wasn't called, or something. is this ghc 6.4.1 or 6.4.2?
05:39 TreyHarris well, readline on the 6.2.12 binary release from unobe works great, but the last few build have caused those visual errors i mentioned
05:39 TreyHarris 6.4.1
05:40 audreyt can you maybe check what readline the binary release links to?
05:40 TreyHarris /usr/local/lib/libreadline.5.1.dylib (compatibility version 5.0.0, current version 5.1.0)
05:41 TreyHarris so maybe that's the cause
05:42 TreyHarris but go to bed, i'll catch you tomorrow
05:43 audreyt ok. try simply mv away the 5.0.dylib
05:43 audreyt and cp the 5.1 to its place
05:43 audreyt and see if the problem goes away
05:43 audreyt but ok. see ya tomorrow
05:43 TreyHarris thanks :-)
05:50 stumbly joined perl6
05:51 diotalevi joined perl6
06:04 gantrixx joined perl6
06:05 wesle1 joined perl6
06:27 ImustDIE joined perl6
06:37 svnbot6 r11630 | lwall++ | Control keywords are not functions, and it just propagates confusion
06:37 svnbot6 r11630 | lwall++ | to let non-functions look like functions.  Space is now required after
06:37 svnbot6 r11630 | lwall++ | if, while, unless, until, for, etc.  With the exception of adverbs, a
06:37 svnbot6 r11630 | lwall++ | postcircumfix:<( )> or anything that looks like one is now consistently
06:37 svnbot6 r11630 | lwall++ | a function call (or a macro resembling a function call).
06:43 scook0 joined perl6
06:47 lumi joined perl6
06:52 stumbly left perl6
07:02 gaal joined perl6
07:07 xinming joined perl6
07:24 beppu joined perl6
07:27 hcchien joined perl6
07:32 tup joined perl6
07:49 topa_ joined perl6
08:24 buetow joined perl6
08:35 drrho joined perl6
08:44 xinming_ joined perl6
08:50 jtextori joined perl6
08:56 elmex joined perl6
08:57 clkao is if(something)  no longer worky?
09:04 wolverian TimToady_, what is a keyword and how do I declare one? the statement grammatical category?
09:07 avarab joined perl6
09:20 integral joined perl6
09:20 orafu joined perl6
09:54 stumbly joined perl6
09:56 penk joined perl6
09:59 wesle1 joined perl6
10:04 ruoso joined perl6
10:11 integral joined perl6
10:12 orafu joined perl6
10:18 [particle] joined perl6
10:44 baest joined perl6
10:47 xdg joined perl6
11:02 chris2 joined perl6
11:04 shachaf joined perl6
11:08 hugues23 joined perl6
11:15 tifo joined perl6
11:55 frederico joined perl6
12:16 Jedai joined perl6
12:16 kanru joined perl6
12:19 bpphillips joined perl6
12:26 mauke_ joined perl6
12:29 baest joined perl6
12:40 Aankh|Clone joined perl6
12:43 weinig|sleep is now known as weinig
12:46 mauke_ is now known as mauke
12:47 christopher joined perl6
12:57 weinig is now known as weinig|working
13:10 Termy joined perl6
13:14 xinming joined perl6
13:15 szbalint joined perl6
13:30 [particle] dm/SYS90
13:30 [particle] ww
13:33 Qiang joined perl6
13:40 fglock joined perl6
13:43 ludan joined perl6
13:46 elmex joined perl6
13:54 justatheory joined perl6
13:55 stevan joined perl6
13:59 Fawaka joined perl6
14:01 diotalevi joined perl6
14:06 svnbot6 r11631 | fglock++ | pX/fglock/PCR - pass t/05-var.t
14:18 cjeris joined perl6
14:26 TimToady_ clkao: if(something) should call sub if rather than statement_control:<if>.  if it's followed by a block it should be a syntax error.
14:27 TimToady_ woverian: yes, the statement_control category defines at least those keywords that are expected at the statement boundary.
14:29 TimToady_ the rules matching statement_control will need to assert \s+ after them rather than just <?wb>.
14:32 TimToady_ s/them/the keyword/
14:35 clkao TimToady_: how about loop(;;) ?
14:37 ajs Just ran this on some of my Perl code lying around: perl -nle 'print if /\bif\(/' ../*/*.pl | wc -l
14:37 ajs It reported 27. Ah... habits to unlearn... joy.
14:37 dolmans joined perl6
14:38 clkao oh, so if (something) { } is okay. the space.
14:38 ajs I know... note the regex above
14:38 ajs \bif\(
14:39 [particle] my code is full of my(, for(, if(, while(, etc
14:41 ajs Heh, I expanded my search to include those (not my, since I think that still works in p6) and got 219. for( and while( are more common in my code
14:42 ajs Mind you, that's in 216 programs, so it's not THAT common. Still, it's clearly something i've learned to type
14:43 ajs Comes from the C/C++ where I typically type if( i == 100 )
14:45 robkinyon would it be possible to create a pragma to allow for "if(){}"?
14:46 FurnaceBoy joined perl6
14:53 rodi joined perl6
14:53 TimToady_ clkao: loop too, though I forgot to scan for it last night.
14:54 ajs robkinyon: Anything is possible, but it would require some funky parser changes, I would think.... that pragma would be non-trivial
14:54 TimToady_ that pragma is probably "no strict"
14:54 robkinyon "no strict 'spacing'" ?
14:54 TimToady_ v6;
14:54 robkinyon or "no strict 'whitespace'" ?
14:56 TimToady_ hopefully the pragma just changes a property of the %statement_control pseudohash that asserts what must follow.
14:56 TimToady_ either that, or all statement_control rules are required to start with <?ws_if_strict> or some such.
14:57 TimToady_ seems worth factoring the assert behavior into the array though
14:57 TimToady_ since all alphabetic keywords need to assert <?wb> or whatever it is now.
14:58 TimToady_ (\b having reverted to meaning backspace)
14:58 TimToady_ and there's another FAQ waiting to happen... :/
14:58 TimToady_ should probably warn on \b in regex for now.
15:00 TimToady_ or make people write \x08 for the next 10 or 20 years till pcre dies out.  er...
15:00 TimToady_ no strict 'backspace'  :)
15:01 TimToady_ no strict 'backwhitespace'  :P
15:02 TimToady_ hmm, how did I get a backspace on my name?  does that mean I got deregistered somehow?
15:02 TimToady_ my irssi session has been up for several months now, so maybe someone finally timed me out...
15:04 PerlJam TimToady_: servers are always dropping and reconnecting, sometimes the reconnection happens faster than your session dies so when it comes up there's already a TimToady, so it tries again with an underscore
15:04 TimToady_ ah, gotcha.  still an irc newbie...
15:04 TimToady_ I obviously worry too much...  :)
15:05 PerlJam you should be able to change back to TimToady without worry  :)
15:06 [particle] /nick TimToady # [particle] tries irc nick squatting ;)
15:06 TimToady_ is now known as TimToady
15:14 Termy joined perl6
15:15 amnesiac joined perl6
15:18 elmex joined perl6
15:21 cdpruden joined perl6
15:22 chris2 joined perl6
15:23 Termy joined perl6
15:24 Aankh|Clone is now known as Aankhen``
15:32 kolibrie audreyt: with Scalar::Defer, is there a way to assign from a deferred variable to another variable so that the new variable gets a static value?
15:33 vel joined perl6
15:34 TimToady $x + 0  :)
15:35 iblechbot joined perl6
15:36 * kolibrie was thinking maybe $new = lazy { $deferred };
15:38 kolibrie but, upon testing, that also seems not to work
15:38 TimToady tied($deferred)->FETCH  :)
15:38 rodi joined perl6
15:38 TimToady or maybe it's overloaded somehow...
15:39 kolibrie its overloaded
15:39 TimToady which overloading, I wonder...all of them?
15:39 TimToady seems like the only way it'd work.
15:40 TimToady unless there's some FETCHish hook I don't know about...
15:40 kolibrie use overload fallback => 1, map { $_ => \&force } qw( bool "" 0+ ${} @{} %{} &{} *{} );
15:40 kolibrie sub force (&) { &{$_defer{ id $_[0] }} }
15:41 cjfields joined perl6
15:42 TimToady Perl is a scary language.
15:42 kolibrie quite :)
15:44 cjfields joined perl6
15:46 cjfields left perl6
15:47 cjfields joined perl6
15:47 broquaint I'm finding "{ THINGS }\nif COND" being a parse error quite cumbersome.
15:48 broquaint Conditionally doing things with hashes and anon subs really handy.
15:48 broquaint s/subs/$& is/
15:50 TimToady yeah, been thinking about that.
15:50 cjfields joined perl6
15:51 froh-doh joined perl6
15:51 svnbot6 r11633 | lwall++ | Forgot to scan for loop(...).
15:52 cjfields left perl6
15:53 audreyt kolibrie: my $x = $y->force
15:54 TimToady hi audreyt!
15:54 audreyt TimToady: hey!
15:54 audreyt I dreamed of a CPAN module in Acme namespace that introduces lazy evaluation via Scalar::Defer
15:54 audreyt as I found on search.cpan.org
15:55 audreyt then I realized it was a dream, clicked "Source" and copy/pasted the source code into a file
15:55 audreyt but that file, being also in the dream, isn't accessible now :/
15:55 TimToady pity that doesn't work for things you see while drunk or on codeine.
15:56 audreyt ("introduce" as in "turn every opcode to return thunks")
15:56 audreyt mm, is that what the screen savers were approximating?
15:56 TimToady In Xanadu did Kubla Khan...
15:57 audreyt ... For he on honey-dew hath fed, and drunk the milk of Paradise.
15:58 TimToady when I was in the hospital, I discovered that morphine also makes you very ichy
15:59 TimToady not exactly a pleasure-dome...
16:02 TimToady as you may have noticed, I've been performing a consistency/sanity hack.
16:02 TimToady but I haven't actually changed the parser, being scared of Haskell...
16:03 TimToady well, actually, just too lazy to look...
16:03 TimToady and assuming some minion would do it for me.  :)
16:04 audreyt well, I've seen the new checkin
16:04 audreyt looks nice
16:05 audreyt are they turned into tests yet?
16:05 audreyt I've seen updated existing t/ files to use the correct syntax
16:05 TimToady no, I've only removed the nonos so far.
16:06 TimToady I will try to produce tests.  Also for === etc.
16:06 audreyt yeah. with tests (t/syntax/ perhaps?), certainly fglock and I can adjust the parsers
16:06 * audreyt prepares to go to uri's place to get S02 edits typed down and sent as patch to p6l
16:06 Revision17 joined perl6
16:06 audreyt (also plan to send a normalized mmd-draft for p6l too)
16:07 TimToady audreyt++
16:07 TimToady defer { audreyt++ }
16:09 audreyt lol
16:09 audreyt that gets me many ++s
16:09 TimToady but only if you're 0-ary.
16:09 audreyt are you calling me a thunk?
16:10 TimToady I thank your thunks that you think continually.
16:10 audreyt well, it's really deliminated continuations, not fully continuous
16:10 kolibrie audreyt: ah, thanks
16:10 audreyt kolibrie: new Scalar::Defer released with ->force documented
16:11 audreyt thanks!
16:11 * TimToady thinks "thunks!"
16:12 TimToady *** THONK ***
16:12 audreyt th nk
16:12 audreyt # visual representation of a continuation
16:12 TimToady I suppose that's the sound of putting someone in the kill file after much consideration
16:14 silug so i'm trying to get Perl6::Bible in fedora extras, and there's a question about the license of the various documents
16:14 audreyt silug: oy. that reminds me, Perl6::Bible should be replaced by Perl6::Doc
16:14 silug oh?
16:14 audreyt but anyway, same content, so same issue remains
16:15 TimToady thøønk &
16:15 audreyt silug: as far as I know they are never really licensed
16:16 clkao moose
16:16 audreyt and nominally I think TPF owns copyright, but I'm not sure
16:16 silug so should i start harassing all involved for license clarification?  :)
16:16 audreyt silug: would be nice if they could be CC-BY licensed
16:16 audreyt well, ask TPF first
16:17 silug ok
16:18 hexmode joined perl6
16:18 silug i'm really hoping to get a large chunk of the available perl6 stuff in fedora soon-ish
16:18 audreyt coo
16:18 audreyt cool
16:19 silug i'll have to bug you about some pugs issues later.  :)
16:20 audreyt sure :)
16:25 silug more like "a pugs issue" actually.  it doesn't seem to install to the correct directories on a multilib x86_64 fedora system
16:26 silug but i haven't spent a lot of time trying to track down why.  it might be an easy fix.
16:26 * silug spent the week after yapc fighting with parrot
16:36 aufrank joined perl6
16:40 salty-horse joined perl6
16:41 buetow joined perl6
16:46 ruoso joined perl6
16:57 Yappo joined perl6
16:57 fglock audreyt: ping
16:58 audreyt pong
16:59 fglock I realized that perl6-in-perl6 have better be in a different namespace than Pugs::Compiler::Perl6 - so that they can be developed independently
16:59 audreyt v6-perl6 :D
17:00 audreyt v6::Compiler
17:00 audreyt v6::Emitte
17:00 audreyt v6::Emitter
17:00 audreyt I think that would work
17:00 fglock Perl6::Compiler::Perl6
17:01 audreyt I sorta think Perl6:::* namespace is tainted
17:01 audreyt in public image
17:01 audreyt and so would prefer v6::*
17:01 audreyt (Perl6::* has a Acme::*-ish image to it)
17:01 [particle] worse... damian-ish
17:02 ruoso heh
17:02 fglock perl5/v6-Compiler/ ? ('perl5' actually meaning 'CPAN')
17:02 audreyt sure
17:03 audreyt or maybe indeed put up a cpan/
17:03 audreyt but anyway, I agree
17:03 audreyt (I need to run to uri's place soon, bbiab)
17:03 sahadev joined perl6
17:03 fglock so the idea would be to write this compiler that can be executed either by v6.pm, Pugs or perl6-parrot
17:03 fglock when they catch up with enough syntax
17:03 audreyt yes.
17:04 audreyt but then I'd like to use multimethods
17:04 audreyt to write compilers
17:04 ruoso fglock, so you're planning to use that namespace only for Perl 6 code?
17:04 audreyt but maybe at first we don't need that
17:04 audreyt just straight port
17:04 audreyt but I agree v6::* should strictly be p6 code
17:04 audreyt bootstrap-happy code
17:04 fglock ruoso: yes
17:04 audreyt (bbiab for real) &
17:05 ruoso fglock++
17:05 ruoso that will be fun
17:05 ruoso :)
17:10 clkao audreyt: multi methods already work
17:11 clkao fglock: what are you changes in your branch about? they are with empty commit messages
17:12 fglock clkao: I'm making small changes to make the tests pass - I thought most changes were not worth commenting
17:13 clkao alright
17:13 clkao what's the big thing going on the branch then?
17:13 fglock clkao: http://use.perl.org/~fglock/journal/
17:13 lambdabot Title: Journal of fglock (5723)
17:13 clkao we should do given/when.  can be very useful for the p6-p6
17:15 clkao how is the ast standardlising going? we are still stick to random structure that we come up with?
17:16 fglock clkao: nothingmuch had some comments about a higher level of representation, I'd like to know more about that
17:16 clkao ya, we chatted a bit about it. but i think its orthogonal
17:17 clkao gtg
17:17 clkao it's too hot here
17:18 fglock otherwise, changing the ast is easy - you change it in the parser and in the emitter, and it's done
17:18 clkao sure
17:20 fglock It would be nice to have the ast documented in a way perl people can understand :)
17:21 fglock meeting &
17:24 rlb3 joined perl6
17:27 audreyt indeed
17:27 audreyt clkao:
17:27 audreyt src/Pugs/AST/CapInternals.hs
17:28 audreyt line 353 and below
17:28 audreyt see if you can make sense out of it
17:28 audreyt that's the AST to go with for Pugs 6.28.0
17:28 audreyt not sure what I can do to improve the notation to make it more accessible
17:29 audreyt grep for all ^data declarations
17:29 * gaal mooses
17:29 TimToady I think the least worst solution to "{...}\n" if is probably to generalize long to dot to allow \<?ws>modifier
17:30 TimToady s/" if/ if"/
17:30 TimToady s/long to dot/long dot/
17:30 audreyt that indeed looks like easy to explain
17:33 TimToady Course the easiest to explain is if we disallow \capturable to have whitespace.
17:34 TimToady then any \ followed by ws is just quoting the ws.
17:35 TimToady which, interetingly, let's you write \\ ($a,$b,$c) and get a capture.
17:35 broquaint So "{ ... } \ \n if COND" ? Or am I misunderstanding?
17:35 TimToady could probably get away with {...}\ even
17:35 TimToady since I think {...}if is probably legal.
17:36 broquaint Groovy.
17:39 TimToady the difference between what we're doing and what cpp is doing is that we use \ to quote any sequence of whitespace (incl comments), not just \n
17:45 swaroop joined perl6
17:51 TimToady I like the generality of having a whitespace escape particularly since we don't know how the grammar will be extended, and new rules might install other newline dependencies.
17:51 TimToady so it's another futureproofing tactic.
18:46 larsen joined perl6
19:05 fglock_ joined perl6
19:08 fglock_ re ast documentation: for example, what a Int node looks like? is ':NInt<42>' ok?
19:09 fglock_ '42.as(NInt)' ?
19:23 [particle] timtoady: r10306 has a typo: +to C<0.123> rather than C<$_.123.) # <--- missing '>' before '.)'
19:24 TimToady thanks.
19:27 TimToady weird, must have u'ed accidentally somehow in vi after prev checkin.
19:33 fglock_ how is an 'as()' created? 'sub as( Int $x: Str ::T ) { "$x" }' makes sense?
19:34 fglock_ 'sub as( Int $x: Str ::T ) is export { "$x" }'
19:40 TimToady has to be a method.  sub can't take an invocant.
19:41 qmole_ joined perl6
19:42 qmole_ is now known as qmole
19:42 fglock_ 'class Int; method as( Int $x: Str ::T ) is export { "$x" }'
19:43 fglock_ 'class Int; method as( Int $x: Str ::T ) { "$x" }'
19:43 fglock_ 'class Int; method as( Str ::T ) { ."" }'
19:48 fglock_ how about declaring an 'as' for converting to your new class - 'class NInt; method Int::as( NInt ::T ) { ... }'
19:48 TimToady none of those are gonna work, given "" will just call back to .as
19:50 TimToady and ."" is wrong about 3 ways...
19:53 TimToady Int::as is just a constructor then, and should probably be Int::new
19:58 fglock_ NInt is the 'Int' ast node - I want '42.as(NInt)' to mean 'NInt.new(42)'
19:59 froh-doh joined perl6
20:00 PerlJam oh, I like the .fmt/.as changes.
20:01 TimToady .as(Str) was busted before...
20:03 hexmode joined perl6
20:11 audreyt TimToady: up for some quick review?
20:12 audreyt TimToady: I'll commit the proofedits with uri piecemeal
20:12 audreyt sanity checks welcome
20:12 TimToady phone conf 6perl...
20:12 audreyt batch #1 is landing now
20:12 audreyt oh ok
20:13 audreyt afterwards, then
20:13 audreyt (r10308)
20:13 iblechbot joined perl6
20:14 fglock_ does this make sense? 'class NInt; method Int::as( $x: NInt ::T ) { NInt.new($x) }'
20:15 audreyt method NInt::as surely?
20:15 audreyt also NInt ::T is not needed; just NInt would do
20:15 audreyt oh wait
20:16 audreyt sorry
20:16 audreyt you are installig a Int->NInt as
20:16 audreyt method Int::as (NInt) { NInt.new(self) }
20:16 audreyt would do, I think
20:16 bpphillips left perl6
20:18 fglock_ audreyt: thanks
20:21 audreyt np :)
20:25 fglock_ should everything have a v6 namespace prefix? 'class v6::NInt; method v6::Int::as (v6::NInt) { v6::NInt.new(self) }'
20:26 audreyt sure, that can work
20:27 fglock_ 'use namespace "v6";' :)
20:27 audreyt http://search.cpan.org/dist/aliased/ # surely?
20:27 lambdabot Title: Curtis &quot;Ovid&quot; Poe / aliased - search.cpan.org
20:28 audreyt mm there's also namespace.pm
20:28 justatheory aliased is nice
20:29 fglock_ how about: 'class v6 { class NInt; method Int::as (NInt) { NInt.new(self) } }'
20:29 audreyt sure
20:29 clkao that works as heirarchical namespace?
20:30 fglock_ cool - this looks much cleaner
20:30 clkao and can you import other module to magically do that?
20:34 TimToady nit: the "class NInt;" syntax is only allowed at file level.
20:34 fglock_ fixed: 'class v6 { class NInt { method v6::Int::as (NInt) { NInt.new(self) } } }'
20:34 DaGo joined perl6
20:35 TimToady maybe we should allow } x 3   :)
20:35 clkao or super bracket
20:35 TimToady } x *
20:35 fglock_ importing Int: 'class v6 { class Int {} class NInt { method Int::as (NInt) { NInt.new(self) } } }'
20:53 pasteling0 "cdpruden" at 75.10.18.156 pasted "Is 'value' special in derived classes? possible bug" (37 lines, 922B) at http://sial.org/pbot/18510
20:56 cdpruden does that paste seem like a bug, or am I missing something?  and if it does seem like a bug, would it belong in t/oo/inheritance.t, or somewhere else?
20:57 audreyt it's a bug.
20:58 cdpruden should I toss it in a file in t/oo?
20:58 audreyt sure
20:58 cdpruden or rather, add a test to inheritance.t for it
20:58 cdpruden okay, will do
20:58 audreyt yup
20:58 cdpruden thanks :)
20:58 audreyt the bug is there because &value is a prim
20:59 audreyt but it should really just be a Pair method
20:59 audreyt commit the test, I'll make it pass :)
20:59 cdpruden it drove me slightly batty that it was showing up in the derived and not base :)
20:59 audreyt sorry for having a buggy dispatch algorithm :) we've just worked out the semantic of the new one
21:00 audreyt will code it up so that this class of error goes away
21:00 cdpruden no need to apologize :)
21:08 svnbot6 r11634 | cdpruden++ | Added failing test for
21:08 svnbot6 r11634 | cdpruden++ | <audreyt> the bug is there because &value is a prim
21:08 svnbot6 r11633 | lwall++ | Forgot to scan for loop(...).
21:23 fglock pmichaud: ping
21:23 pmichaud fglock: pong
21:25 audreyt uri++ # 1st pass of  S02 proofreading done
21:26 fglock pmichaud: I'm about to start writing perl6-in-perl6 - I wonder if it's possible to reuse some of your work in perl6-parrot
21:26 pmichaud my stuff in perl6-parrot is still largely pir based.  But I'd like to stay very closely abreast of whatever you do with perl6-in-perl6
21:27 pmichaud if you can organize it to be similar to what TGE expects, that would be fantastic
21:27 pmichaud it'd also be interesting to see where our grammars currently differ
21:28 TreyHarris pmichaud: /whatis perl6-in-perl6?
21:28 fglock the idea is to implement the ast using constructors, which you can implement in low-level if needed, so the grammar would be mostly reusable
21:28 * ruoso always used closures in Perl, never realized it was so often used in C
21:28 pmichaud oh, that'd be nice
21:28 * audreyt ponders if there's a way to fly pmichaud to YAPC::SouthAmerica with <TimToady merlyn audreyt>
21:28 pmichaud very nice
21:29 pmichaud audreyt when is YAPC::SA?
21:29 fglock pmichaud: november
21:29 pmichaud I'm available if we can find airfare
21:29 pmichaud I'll of course be very happy to present at YAPC::SA if there's room in the schedule :-)
21:29 * TreyHarris suspects that his subscription to p6-l is no longer sufficient to keep up with what's up, even though he's not writing compiler guts.  where's the action these days?
21:30 TreyHarris audreyt: so far, readline 5.1 has fixed my problem :-)
21:30 * pmichaud wonders what airfare would be to YAPC::SA
21:30 audreyt TreyHarris: well, then I'll consider it not-my-bug
21:30 audreyt yeah. it'd be nice to synchronize the implementations in a f2f setting
21:31 audreyt (bbiab)
21:32 TreyHarris pmichaud: what's perl6-in-perl6?  and more importantly, where should i have been paying attention to have heard about it?
21:32 pmichaud TreyHarris: perl6-in-perl6 is the plan to write the perl6 compiler using perl6
21:32 pmichaud it's still just planned
21:32 fglock pmichaud: - YAPC::SA will happen inside CONISLI - http://www.conisli.org/
21:32 lambdabot Title: :: CONISLI ::
21:32 TreyHarris ah, ok.  i've known of this.  i just hadn't heard that name before, i heard the "bootstrap process" or the like
21:33 pmichaud there are several parallel implementations working towards perl6-in-perl6
21:33 clkao win 1
21:34 clkao should i go to yapc::Sa?
21:34 fglock pmichaud: S.Paulo-S.Francisco - U$1.377,00
21:34 pmichaud I'm in Dallas
21:34 TreyHarris pmichaud: thanks.  since p6-l has so little traffic of late, can you recommend (an) other mailing list(s) I should subscribe to to keep up with developments?  i found p6-c to be mostly over my head when i subscribed to it last time (1.5-ish years ago?)
21:34 pmichaud which airport in S. Paulo?
21:35 fglock clkao: sure!
21:35 pmichaud TreyHarris: actually, p6l and p6c are your best bests.  Actually, #perl6 is your best bet, but after that is p6l/p6c
21:36 TreyHarris pmichaud: yeah, i learn most from #perl6, but it can be hard to catch up after my daily 10 hour absence :-)
21:36 * pmichaud guesses that Southwest Airlines doesn't fly to Brazil :-)
21:36 TreyHarris thanks
21:36 TreyHarris is there a pugs mailing list, or a testers mailing list?
21:36 pmichaud Looks like roundtrip is $883 or $918
21:36 fglock pmichaud: São Paulo-Guarulhos - GRU
21:36 pmichaud (depending on carrier)
21:37 fglock pmichaud: that price was for United
21:37 pmichaud well,  United doesn't go from DFW.  DFW->GRU is either Delta, American, or Continental
21:37 pmichaud (United *does* go from DFW, but only to limited places)
21:37 clkao there's direct flight from london. but it's stupidly expensive
21:38 pmichaud it's easy to get direct flights from dfw to almost anywhere :-).  I can get direct to tokyo, london, and apparently gru :-)
21:40 pmichaud anyway, if we can find a way to come up with airfare, that'd be great.  (I'm easy to house -- just a couch is fine :-)
21:43 fglock pmichaud, clkao: I'll be looking for sponsors :)
21:43 pmichaud that'd be great
21:43 pmichaud I've already cleared that I'm free tha tweek
21:47 fglock pmichaud: are you ok with v6::Compiler for the CPAN namespace?
21:49 pmichaud sure, sounds fine
21:52 Termy joined perl6
21:54 fglock audreyt: is it ok to create cpan/v6-Compiler/ ?
21:55 audreyt fglock: v6/Compiler/ ?
21:55 fglock ok
21:55 audreyt toplevel v6/ is maybe easier to identify with
21:56 audreyt perl5/ can then be the support modules for p5
21:56 audreyt v6/ would be the bootstrapped-already compiler
21:56 audreyt I think
21:57 ruoso audreyt, isn't Perl6:: namespace already for support modules for perl 5 runtime
21:57 ruoso ?
21:57 fglock audreyt: v6/(distro name) = v6/v6-Compiler
21:58 audreyt fglock: sure
21:58 audreyt ruoso: sorry I mean the Pugs layout
21:58 audreyt sources directory
21:58 audreyt not cpan namespace
21:58 ruoso ah... ok
22:12 svnbot6 r11635 | fglock++ | added v6/ dir for Perl6-in-Perl6 - 'v6/v6-Compiler/README'
22:12 svnbot6 r11636 | fglock++ | syntax fix
22:12 clkao ()
22:12 clkao (!)
22:12 clkao is this christmas time?
22:13 clkao how much perl6-compiler can we reuse?
22:13 fglock clkao: it's just the box - you have to put something inside and wrap it, and put under a tree
22:13 clkao ;)
22:14 fglock clkao: most of the grammar is reusable, but it needs to be p6fied; most stuff from parrot-p6 grammar is reusable too
22:15 fglock and it needs to be merged with the new AST
22:16 audreyt yeah. I need to start to write a series of articles dissecting the new AST
22:16 audreyt or maybe gaal can do that? :D
22:17 audreyt anyway, I need to go out to find food
22:17 fglock audreyt: how about writing it as p6 grammar :)
22:17 audreyt be back in a couple hours
22:17 audreyt fglock: AST is internal structure...
22:17 audreyt like, semantic structure
22:17 audreyt as p6 classes, sure
22:18 audreyt gaal: interested in writing a DrIFTer that generates Moose or p6 classes?
22:18 fglock audreyt: I mean writing usage examples - see the v6-Compiler README
22:19 audreyt ok
22:19 audreyt will do
22:19 audreyt bbiab.. &
22:19 fglock me too &
22:20 fglock left perl6
22:28 justatheory I'm having a brain fart. What kind of subs use yield to re-enter execution from a point in the sub over and over?
22:28 gaal audreyt: I really prefer doing CapInternals stuff first
22:28 justatheory It's no coroutines, is it?
22:29 pmichaud coroutines
22:29 justatheory Okay, not such  brainfart afterall. Thanks pmichaud
22:30 gaal but sure :)
22:30 gaal audreyt: nothingmuch may be coming over for a minithon next weekend
22:32 elmex_ joined perl6
22:43 sahadev left perl6
22:44 cjeris left perl6
22:47 Fawaka justatheory: one correction
22:48 justatheory ?
22:48 Fawaka coroutines are not subroutines technically
22:48 justatheory Fawaka: Yeah
22:58 justatheory Bah! No, it was "continuation" I was looking for.
23:04 lollan_ joined perl6
23:07 weinig joined perl6
23:09 stephanepayrard_ joined perl6
23:16 weinig_ joined perl6
23:20 rashakil joined perl6
23:26 lollan joined perl6
23:51 xdg joined perl6
23:55 TimToady audreyt: for the next batch you might also $line402 ~~ ss/an unit/a unit/
23:56 Fawaka ss? Is that the new syntax these days?
23:56 TimToady short for s:s///
23:57 Fawaka single?
23:57 TimToady short for s:sigspace///
23:57 Fawaka ah,
23:58 Fawaka <just another opinion>I really could not guess the meaning of sigspace</just another opinion>
23:59 cdpruden joined perl6

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

Perl 6 | Reference Documentation | Rakudo