Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-02-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:14 Helios joined #perl6
00:22 Schwern joined #perl6
00:34 pugs_svn r19855 | lwall++ | [STD] assignops now allow list ops as well item ops
00:57 lambdabot joined #perl6
01:04 pugs_svn r19856 | lwall++ | [async.t] remove todos entirely since pugs passes
01:19 mugwump TimToady: I noticed that python supports async.t-like stuff - stackless python
01:19 mugwump I take it you've seen Coro for Perl 5 ?
01:20 mugwump That's a very well developed system, having locks, support for async IO handles, etc
01:20 mugwump Of course the way Coro works is a little ... scary ;)
01:42 pugs_svn r19857 | lwall++ | [radix.t] major overhaul of bogus functional forms that assumed parens are quotes
01:42 TimToady mugwump: mostly we won't be using async {...} or locks, I hope
01:42 lambdabot TimToady: You have 1 new message. '/msg lambdabot @messages' to read it.
01:43 TimToady most of the threading will be done by gather/take, lazy lists, and ==> operators
01:43 TimToady and most of the (non)-locking will be handled by STM
01:44 TimToady using contend/maybe/defer
01:45 mugwump I use it for threading
01:46 mugwump eg, in a network server
01:46 mugwump it means I don't have to worry about locking
01:46 mugwump yet, still everything is shared
01:50 TimToady which "it" do you mean?
01:50 TimToady STM?
02:00 nothingmuch ruoso: a nice idea is to use journalling
02:00 nothingmuch for the debugger, that is
02:01 nothingmuch an append only journal of Everything™ would make a nice omniscient debugger possible (since it's appendable it should be reflected from the runtime too, as long as it's own events are filtered at the very end to prevent infinite looping)
02:01 nothingmuch since it's only appendable that is
02:01 nothingmuch s/it's/its/ in the second instance
02:07 mugwump sorry, back
02:07 mugwump I use coroutines for writing network servers
02:09 mugwump I think it has advantages over ruby-esqye "green threads" in simplicity - you know that if a block of code has no preemption points it can't be interrupted
02:35 kst joined #perl6
02:39 Andy_ joined #perl6
02:45 `nipra joined #perl6
02:48 Helios joined #perl6
02:50 pugs_svn r19858 | putter++ | [misc/red_STD] first draft of EXPR (non-working).  some rx support (untested).
03:05 acmoore joined #perl6
03:40 drbean_ joined #perl6
03:43 peepsalot joined #perl6
03:51 Zygo joined #perl6
03:57 drbean_ joined #perl6
04:01 blindfish_ joined #perl6
06:11 [particle1 joined #perl6
07:13 cathyal joined #perl6
07:20 cathyal joined #perl6
07:23 psapo joined #perl6
07:54 moritz_ good localtime everybody
07:57 moritz_ I'm updating the websites at http://dev.perl.org/perl6/ now
07:57 lambdabot Title: Perl 6 - perl6
07:58 moritz_ should I move audrey to the "old guard" on the people page?
07:58 moritz_ http://dev.perl.org/perl6/people.html # this page is what i'm talking about
07:58 lambdabot Title: Who's Who in Perl 6, parrot, & Pugs - perl6
07:58 Aankhen`` joined #perl6
08:01 devogon joined #perl6
08:02 lambdabot joined #perl6
08:06 cathyal joined #perl6
08:06 lambdabot joined #perl6
08:09 araujo joined #perl6
08:12 lambdabot joined #perl6
08:14 cathya joined #perl6
08:17 lambdabot joined #perl6
08:18 lambdabot joined #perl6
09:09 lambdabot joined #perl6
09:11 jnna_c joined #perl6
09:12 jnna_c left #perl6
09:28 pbuetow joined #perl6
09:35 Aankhen`` joined #perl6
09:49 pmurias joined #perl6
09:51 pugs_svn r19859 | Darren_Duncan++ | ext/Muldis-DB/ : added copy of my OSCON 2008 talk proposal to archives/ ... worth a read
10:08 dolmans joined #perl6
10:17 cathyal joined #perl6
10:28 agentzh joined #perl6
10:46 chris2 joined #perl6
10:57 pbuetow joined #perl6
11:08 pugs_svn r19860 | ruoso++ | [smop] sm0p.pl checks for sucessfull return of KP6sm0p.pl.
11:19 pugs_svn r19861 | ruoso++ | [smop] adding a special check for the presence of kp6
11:21 pugs_svn r19862 | ruoso++ | [smop] oops, the check should use tha $base argument
11:53 ruoso moritz_, wolverian, [particle1, I started a report about where smop is reported to work at http://www.perlfoundation.org/p​erl6/index.cgi?smop_portability , please consider adding data to that report
11:53 lambdabot Title: SMOP Portability / Perl 6
11:55 iblechbot joined #perl6
12:03 pmurias ruoso: is make test passing enough?
12:05 ruoso yes...
12:07 monomorph joined #perl6
12:13 Harryj56v0ii1b2 joined #perl6
12:13 Harryj56v0ii1b2 Hello reality natural its that time. eye. come brain, and to 3D human entertainment our visual losing even
12:13 Harryj56v0ii1b2 far It to human about It world it's first allow immersed and howdy style. fooling from is toward
12:13 Harryj56v0ii1b2 feeling against that had think into and to slowly the popular separate think concept it'd relatively actually that
12:13 Harryj56v0ii1b2 vision human the of that - for reality. come where into term being or about there", to fully
12:14 Connorj90d11mm2d joined #perl6
12:19 pugs_svn r19863 | ruoso++ | [smop] split boot and init sequences... add #line to sm0p output... fix some foo->RI where it should be SMOP_RI(foo)
12:20 Owenc68f6js2c3 joined #perl6
12:20 Owenc68f6js2c3 well has 3D you style. The gyroscope on The reality. around that 3D in in their all In
12:20 Owenc68f6js2c3 Helmet in being cool. need displays its basic world about was that from is steadily the alternate now
12:20 Owenc68f6js2c3 public. can into it user public. wouldn't us it it. that get tell actually be in a
12:20 Owenc68f6js2c3 being our the think going close world they that reality. entertainment the fancy you're handshake 3D senses may
12:21 Owenc68f6js2c3 Also how actually "being where reality popularity culture, going fully stimulation. As hardware being in after is The
12:24 Hannahf53d14qz7d joined #perl6
12:25 Hannahf53d14qz7d reality way culture with helmet. reality without The so going The explore of of about that need The
12:25 Hannahf53d14qz7d around that People face and a and that us has explore with any was while of 2007, televisions
12:28 moritz_ ruoso: at the moment I can't log in into the wiki, you can add Debian Etch/i386 if you want
12:30 fridim_ joined #perl6
12:33 wolverian I'll add it
12:33 wolverian thanks
12:34 blindfish joined #perl6
12:34 wolverian done
12:34 moritz_ thank you
12:34 wolverian np
12:54 lisppaste3 joined #perl6
13:10 jferrero joined #perl6
13:20 cognominal_ joined #perl6
13:36 diakopter moritz_: still around?
13:37 cognominal_ joined #perl6
14:22 Alias_ joined #perl6
14:31 meppl joined #perl6
14:31 Alias_ joined #perl6
14:32 mncharity joined #perl6
14:37 diakopter socialtext editor doesn't work in Firefox3
14:38 wolverian not in any gecko1.9 browser, afaik
14:47 lumi joined #perl6
14:48 mncharity TimToady: STD.pm, line 2863:  $here.expect_term() and similar elsewhere, but $here appears to get its value from expect_term() and similar.  But expect_term is a token in the grammar Perl.  /me puzzled.  what am I missing?
14:49 mncharity expect_term looks to have type Match, or perhaps some class does PrecOp, or whatever 'make' is?
14:49 Andy_ joined #perl6
14:51 pmurias mncharity: why does a method in kp6-ruby return a closure which does the actual work?
14:54 pugs_svn r19864 | putter++ | [misc/red_STD] started work on operators.
14:57 mncharity pmurias: running the zero-ary method is actually name resolution.   foo.whaterver  works both when foo is a lexical var, and when it's a method (serving as a package/class var).
14:58 mncharity the thing it returns is the actual method (currently a closure, perhaps should be some Container instance ("Routine"?), perhaps with a Method or some such within).
14:59 * pmurias is searching his copy of Programming Ruby
15:00 mncharity it's basically a hack to be able to emit code for variables without having to do a non-local ast check on what kind of variable it is.
15:01 mncharity err, the Container, Routine, and Method, were all intended as p6 classes. (well, ruby has Method too - might have to work around that:/ )
15:03 mncharity class A { sub f($n){$n+3} sub g(){ say f(1); { my sub f($n){$n-1}; f(3) } }    becomes
15:04 rindolf joined #perl6
15:06 mncharity class A; def f;->(s_n){s_n+3};end; def g;->(){ say f.(1); ->(f){ f = ->(s_n){s_n-1};  f.(3) }.(nil) }; end
15:06 mncharity key thing is, the f.(1) and f.(3) have the same form, despite one being a class-scope and one being lexical.
15:07 mncharity which saves having to grovel over the ast to figure out what they are at compiletime.  if you did that, then you wouldn't care.
15:08 mncharity you could emit the two cases differently.
15:08 pmurias mncharity: i see
15:09 mncharity hmm, actually the instances of f and g would really be  c_f  and c_g  (for &f and &g, just as s_n is $n)
15:10 pmurias mncharity: our can be also view as declaring an lexical alias to a package variable
15:11 mncharity the ->(f){...}.(nil)  is just introducing f as a lexical variable, with nil its initialization.   for scalars, it would be ->(s_whatever){...}.(Scalar.new)
15:12 mncharity ->(s_foo,a_bar,h_hee){...}.(Scalar.new​,ArrayContainer.new,HashContainer.new)
15:13 mncharity {my($s,@a,%h; ...}
15:13 mncharity err, no,  {my($foo,@bar,%hee; ...}
15:13 pmurias mncharity: i understand
15:14 * mncharity stops rambling
15:14 pmurias pugs: module Foo {our $foo;$foo := 2;};say $foo;
15:14 exp_evalbot OUTPUT[*** ␤    Unexpected ";"␤    expecting "::"␤    Variable "$foo" requires predeclaration or explicit package name␤    at /tmp/zZasBabCKi line 1, column 42␤]
15:14 pmurias pugs: module Foo {our $foo;$foo := 2;};say $Foo::foo;
15:14 exp_evalbot OUTPUT[␤]
15:14 pmurias pugs: module Foo {our $foo;$foo := 2;say $foo};say $Foo::foo;
15:14 exp_evalbot OUTPUT[2␤␤]
15:20 pmurias mncharity: will red_STD be purely hand written?
15:22 cathyal joined #perl6
15:24 mncharity I suspect so.  I'm currently viewing it as an experiment to see if "you can implement a p6 parser by just writing method code, with a bit of regex glue hand blended" works out.  if it does, then the right thing may be
15:25 mncharity for someone to do a p5 version, for TimToady to hack on (potentially much faster and easier and non-buggy compared to pugs) as the grammar gets debugged, with STD.pm thus freed to be simply a "needn't work on pugs" spec.
15:28 mncharity even if the p5 version is cruftier than the p6, the edit-test (vs edit-cheat-metholate-pugs-test) cycle is soo much tighter and less landmined, that it could be an easier place to work until say parsing of t/ happens.
15:29 mncharity although it's hard to tell if you have a valid parse unless you run it
15:29 mncharity s/run it/compile+emit+run+test it/
15:30 pmurias i wander if most of the none fancy rules can be translated mechanicly (see KindaPerl6/Emit/Perl5Regex)
15:34 mncharity no doubt.  one could perhaps adapt metholate.  I'm still at the point of only attempting "42+1", a single flavor of literal, plus infix, just to see if I can figure out the operator precedence parser implementation.
15:36 mncharity though hand written ruby also has the potential to be much more concise than STD.pm, which decided not to use macros to simplify bootstrap.  so it has appeal just to be able to see and understand the grammar in just a few hundred lines of code (vs a few thousand).
15:37 mncharity maybe.
15:37 cathyal joined #perl6
15:40 mncharity ok, I don't buy that "lots and lots more concise" argument.  some things are 10x compression, but it's atypical.  just happens to be what I was working on most recently
15:40 moritz_ diakopter: now I'm around ;)
15:47 mncharity brunch &
15:56 mncharity re translate, also, it seems there is a great deal of regex complexity (which one would thus have to examine manually anyway), and simple repetition (which it would be nice to abstract over).  I did a transliterator hack for the EXPR code, but it's lossy enough I suspect hand syncing may be easier than continued use.
16:21 Psyche^ joined #perl6
16:28 turrepurre joined #perl6
16:30 xinming_ joined #perl6
16:41 peepsalot joined #perl6
16:44 TimToady mncharity: at the method level (not at the rule/token level) the return values and the "self" are the current match continuation, which is proxying for both the current grammar and the current match object
16:45 TimToady it might well be that we need an explicit .extract_match to get the actual Match out of the continuation
16:46 TimToady (when implementing in something other than p6)
16:49 TimToady especially since the match data might not actually be stored in a hash yet, but scattered through a list of recent continuations
16:52 TimToady in short $here represents the complete state of the current match, including both current language and current results
16:54 jjore joined #perl6
17:01 TimToady there's also some monkey business going on about collecting all the old match data into the current reduction, which EXPR probably neglects to do yet
17:06 TimToady actually, that method is currently called .matchify, but I kept running into pugs bugs trying to collect match info, alas
17:07 TimToady .matchify is defined in Cursor.pm
17:10 TimToady note also that metholate can already emit non-backtracking code without gather/take; except that pugs doens't implement andthen or allow me to work around its absence
17:26 cj joined #perl6
17:44 manfred joined #perl6
17:52 DarkWolf84 joined #perl6
17:58 Daenyth joined #perl6
17:59 Daenyth I installed pugs a while back, before my distro had a package for it. I was wondering if there is a specific method for uninstalling it, as I'd like to install the packaged version
17:59 Daenyth I can always --force it, but I wasn't sure if that had the potential to break things
18:00 moritz_ the Makefile has an 'uninstall' target
18:00 moritz_ don't sure if it works, though
18:00 Daenyth mm, worth trying though
18:00 Daenyth I didn't notice it in the readme
18:00 * moritz_ found it by grep'ping Makefile
18:00 Daenyth heh
18:05 Daenyth from make uninstall "uninstall is unsafe and deprecated"
18:06 meppel-san joined #perl6
18:07 Daenyth make uninstall | awk '/unlink/ { print $2 }' | xargs -0 rm
18:08 Daenyth should do the trick
18:09 [particle] joined #perl6
18:13 njbartlett joined #perl6
18:19 Daenyth left #perl6
18:28 TimToady is anyone else having trouble with svn up?
18:29 TimToady maybe I'm just getting MetroFied
18:31 diakopter mine worked early this morning; and just now.
18:33 wolverian git svn rebase worksforme, though it says I'm already up to date
18:44 cognominal_ joined #perl6
18:45 moritz_ works for me
19:05 wolverian hm, my c-fu is too weak for the other native types in smop :(
19:17 mncharity boggle
19:21 mncharity hmm, I thought "a grammar instance captures the state of a search".  guess not?   ok, it looks like there are: Grammar, Cursor, Match, MatchContinuation.   where MatchContinuation is a combination of Grammar and Cursor, and pretends to be a Match?
19:23 rhr_ ruoso: all tests pass on debian etch x86-64.  solaris sparc 2.9 fails because I don't have complex.h (probably something I haven't installed)
19:24 mncharity Grammars have rules/etc... but no methods?  the methods are all on the MC... which gets them via proxy from the Grammar?  ok, my brain hurts.  time to reread an Snn.
19:25 wolverian diagrams are good, though they don't answer the why
19:42 agentzh left #perl6
19:43 TimToady mncharity: there isn't a MatchContinuation type, it's just an instance of Grammar
19:43 TimToady the Perl grammar also derives from Cursor
19:43 jferrero joined #perl6
19:49 rindolf joined #perl6
20:03 Auzon joined #perl6
20:04 mncharity ah, ok
20:06 TimToady afk &
20:07 mncharity so... why is EXPR accessing its own grammar's rules via a Match-like object, rather than directly?  there's only one instance of Perl around, yes?
20:07 mncharity ok
20:07 mncharity thanks
20:15 ruoso rhr_, isn't complex.h posix? is solaris posix?
20:17 Gothmog_ It's in the C standard library.
20:19 Gothmog_ But first since C99, that is.
20:32 thoughtpolice joined #perl6
20:37 rhr_ ruoso: I really don't know.  Irix 6.5 doesn't have it either.
20:59 mncharity hmm.  so GoDaddy's claim has units of  orange apple peach^-1 s^-1 ?   the velocity per peach of... orange*apple?  not sure what to call orange*apple.
21:00 mncharity oranges*apples even
21:01 allbery_b it got chopped off (note lack of closing quote) --- I assume "...and subtracting $kumquat" or some such
21:13 kanru2 joined #perl6
21:21 irnbru joined #perl6
21:22 irnbru left #perl6
21:39 devogon joined #perl6
22:01 Limbic_Region joined #perl6
22:58 IllvilJa joined #perl6
23:03 cj hi folks
23:37 meppl joined #perl6

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

Perl 6 | Reference Documentation | Rakudo