pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
00:14 Helios joined 00:20 Auzon left 00:22 Schwern joined 00:26 pbuetow left 00:32 monomorph left 00:34 justatheory left
pugs_svn r19855 | lwall++ | [STD] assignops now allow list ops as well item ops 00:34
00:50 thoughtpolice left 00:56 lambdabot left 00:57 lambdabot joined
pugs_svn r19856 | lwall++ | [async.t] remove todos entirely since pugs passes 01:04
01:12 luqui left 01:16 jferrero left
mugwump TimToady: I noticed that python supports async.t-like stuff - stackless python 01:19
I take it you've seen Coro for Perl 5 ?
That's a very well developed system, having locks, support for async IO handles, etc 01:20
Of course the way Coro works is a little ... scary ;)
01:27 devogon left
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
lambdabot TimToady: You have 1 new message. '/msg lambdabot @messages' to read it.
TimToady most of the threading will be done by gather/take, lazy lists, and ==> operators 01:43
and most of the (non)-locking will be handled by STM
using contend/maybe/defer 01:44
mugwump I use it for threading 01:45
eg, in a network server 01:46
it means I don't have to worry about locking
yet, still everything is shared
TimToady which "it" do you mean? 01:50
STM?
nothingmuch ruoso: a nice idea is to use journalling 02:00
for the debugger, that is
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
since it's only appendable that is
s/it's/its/ in the second instance
mugwump sorry, back 02:07
I use coroutines for writing network servers
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:09
02:35 kst joined 02:39 Andy_ joined 02:45 fridim_ left 02:46 `nipra joined, acmoore left 02:48 Helios left, Helios joined
pugs_svn r19858 | putter++ | [misc/red_STD] first draft of EXPR (non-working). some rx support (untested). 02:50
02:54 Limbic_Region left 03:05 acmoore joined 03:40 drbean_ joined 03:43 peepsalot joined 03:46 drbean_ left 03:51 Zygo joined 03:57 drbean_ joined 04:01 blindfish_ joined 04:13 araujo left 04:19 blindfish left 04:43 drbean_ left 05:16 blindfish_ left 06:11 [particle1 joined 06:17 Andy_ left 07:13 cathyal joined 07:16 cathyal left 07:20 cathyal joined 07:23 psapo left, psapo joined
moritz_ good localtime everybody 07:54
I'm updating the websites at dev.perl.org/perl6/ now 07:57
lambdabot Title: Perl 6 - perl6
moritz_ should I move audrey to the "old guard" on the people page? 07:58
dev.perl.org/perl6/people.html # this page is what i'm talking about
lambdabot Title: Who's Who in Perl 6, parrot, & Pugs - perl6
07:59 Aankhen`` joined 08:01 devogon joined 08:02 lambdabot left, lambdabot joined, cathyal left 08:05 lambdabot left 08:06 cathyal joined, lambdabot joined 08:09 cathyal left, araujo joined 08:11 lambdabot left 08:12 lambdabot joined 08:14 cathya joined 08:17 lambdabot left, lambdabot joined 08:18 lambdabot left, lambdabot joined 08:25 smtms left 08:29 peepsalot left 08:31 cathya left 08:33 DarkWolf84 left 09:08 lambdabot left 09:09 lambdabot joined 09:11 jnna_c joined 09:12 jnna_c left 09:28 pbuetow joined 09:33 Aankhen`` left 09:35 Aankhen`` joined 09:45 iblechbot left 09:49 pmurias joined
pugs_svn r19859 | Darren_Duncan++ | ext/Muldis-DB/ : added copy of my OSCON 2008 talk proposal to archives/ ... worth a read 09:51
10:08 dolmans joined 10:09 pbuetow left 10:17 cathyal joined 10:28 agentzh joined 10:34 dolmans left 10:46 chris2 joined 10:57 pbuetow joined
pugs_svn r19860 | ruoso++ | [smop] sm0p.pl checks for sucessfull return of KP6sm0p.pl. 11:08
r19861 | ruoso++ | [smop] adding a special check for the presence of kp6 11:19
r19862 | ruoso++ | [smop] oops, the check should use tha $base argument 11:21
ruoso moritz_, wolverian, [particle1, I started a report about where smop is reported to work at www.perlfoundation.org/perl6/index....ortability , please consider adding data to that report 11:53
lambdabot Title: SMOP Portability / Perl 6
11:55 iblechbot joined
pmurias ruoso: is make test passing enough? 12:03
ruoso yes... 12:05
12:07 monomorph joined 12:13 Harryj56v0ii1b2 joined
Harryj56v0ii1b2 Hello reality natural its that time. eye. come brain, and to 3D human entertainment our visual losing even 12:13
far It to human about It world it's first allow immersed and howdy style. fooling from is toward
feeling against that had think into and to slowly the popular separate think concept it'd relatively actually that
vision human the of that - for reality. come where into term being or about there", to fully
12:13 Harryj56v0ii1b2 left 12:15 Connorj90d11mm2d joined, Connorj90d11mm2d left
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:19
12:20 Owenc68f6js2c3 joined
Owenc68f6js2c3 well has 3D you style. The gyroscope on The reality. around that 3D in in their all In 12:20
Helmet in being cool. need displays its basic world about was that from is steadily the alternate now
public. can into it user public. wouldn't us it it. that get tell actually be in a
being our the think going close world they that reality. entertainment the fancy you're handshake 3D senses may 12:21
Also how actually "being where reality popularity culture, going fully stimulation. As hardware being in after is The
12:21 Owenc68f6js2c3 left 12:25 Hannahf53d14qz7d joined
Hannahf53d14qz7d reality way culture with helmet. reality without The so going The explore of of about that need The 12:25
around that People face and a and that us has explore with any was while of 2007, televisions
12:25 Hannahf53d14qz7d left
moritz_ ruoso: at the moment I can't log in into the wiki, you can add Debian Etch/i386 if you want 12:28
12:30 fridim_ joined
wolverian I'll add it 12:33
thanks
12:34 blindfish joined
wolverian done 12:34
moritz_ thank you
wolverian np
12:54 lisppaste3 joined 12:59 njbartlett left 13:11 jferrero joined 13:20 cognominal_ joined 13:27 cognominal_ left
diakopter moritz_: still around? 13:36
13:37 cognominal_ joined 13:55 jferrero left 14:22 Alias_ joined 14:23 Alias_ left 14:31 meppl joined, Alias_ joined 14:32 mncharity joined
diakopter socialtext editor doesn't work in Firefox3 14:37
wolverian not in any gecko1.9 browser, afaik 14:38
14:47 lumi joined
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:48
expect_term looks to have type Match, or perhaps some class does PrecOp, or whatever 'make' is? 14:49
14:49 Andy_ joined
pmurias mncharity: why does a method in kp6-ruby return a closure which does the actual work? 14:51
pugs_svn r19864 | putter++ | [misc/red_STD] started work on operators. 14:54
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:57
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:58
pmurias is searching his copy of Programming Ruby 14:59
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:00
err, the Container, Routine, and Method, were all intended as p6 classes. (well, ruby has Method too - might have to work around that:/ ) 15:01
15:03 Andy_ left
mncharity class A { sub f($n){$n+3} sub g(){ say f(1); { my sub f($n){$n-1}; f(3) } } becomes 15:04
15:04 rindolf joined
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
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
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.
you could emit the two cases differently. 15:08
pmurias mncharity: i see
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:09
pmurias mncharity: our can be also view as declaring an lexical alias to a package variable 15:10
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:11
->(s_foo,a_bar,h_hee){...}.(Scalar.new,ArrayContainer.new,HashContainer.new) 15:12
{my($s,@a,%h; ...} 15:13
err, no, {my($foo,@bar,%hee; ...}
pmurias mncharity: i understand
mncharity stops rambling 15:14
pmurias pugs: module Foo {our $foo;$foo := 2;};say $foo;
exp_evalbot OUTPUT[*** ā¤ Unexpected ";"ā¤ expecting "::"ā¤ Variable "$foo" requires predeclaration or explicit package nameā¤ at /tmp/zZasBabCKi line 1, column 42ā¤]
pmurias pugs: module Foo {our $foo;$foo := 2;};say $Foo::foo;
exp_evalbot OUTPUT[ā¤]
pmurias pugs: module Foo {our $foo;$foo := 2;say $foo};say $Foo::foo;
exp_evalbot OUTPUT[2ā¤ā¤]
15:19 cognominal_ left
pmurias mncharity: will red_STD be purely hand written? 15:20
15:20 cathyal left 15:22 cathyal joined
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:24
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:25
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:28
although it's hard to tell if you have a valid parse unless you run it 15:29
s/run it/compile+emit+run+test it/
pmurias i wander if most of the none fancy rules can be translated mechanicly (see KindaPerl6/Emit/Perl5Regex) 15:30
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:34
15:35 cathyal left
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:36
maybe. 15:37
15:37 cathyal joined
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 ;)
mncharity brunch & 15:47
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. 15:56
16:12 turrepurre left 16:21 Psyche^ joined 16:26 Lorn left 16:28 turrepurre joined 16:30 xinming_ joined 16:37 Patterner left, Psyche^ is now known as Patterner 16:41 peepsalot joined
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:44
it might well be that we need an explicit .extract_match to get the actual Match out of the continuation 16:45
(when implementing in something other than p6) 16:46
especially since the match data might not actually be stored in a hash yet, but scattered through a list of recent continuations 16:49
in short $here represents the complete state of the current match, including both current language and current results 16:52
16:54 jjore joined
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:01
actually, that method is currently called .matchify, but I kept running into pugs bugs trying to collect match info, alas 17:06
.matchify is defined in Cursor.pm 17:07
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:10
17:26 cj joined 17:44 manfred joined, Juerd is now known as simc0p2387, simc0p2387 is now known as Juerd 17:52 DarkWolf84 joined 17:58 Daenyth joined
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
I can always --force it, but I wasn't sure if that had the potential to break things
moritz_ the Makefile has an 'uninstall' target 18:00
don't sure if it works, though
Daenyth mm, worth trying though
I didn't notice it in the readme
moritz_ found it by grep'ping Makefile
Daenyth heh 18:01
from make uninstall "uninstall is unsafe and deprecated" 18:05
18:06 meppel-san joined
Daenyth make uninstall | awk '/unlink/ { print $2 }' | xargs -0 rm 18:08
should do the trick
18:09 [particle] joined 18:13 njbartlett joined 18:19 Daenyth left 18:22 meppl left, cathyal left 18:25 [particle1 left 18:27 rindolf left
TimToady is anyone else having trouble with svn up? 18:28
maybe I'm just getting MetroFied 18:29
diakopter mine worked early this morning; and just now. 18:31
wolverian git svn rebase worksforme, though it says I'm already up to date 18:33
18:44 cognominal_ joined
moritz_ works for me 18:46
wolverian hm, my c-fu is too weak for the other native types in smop :( 19:05
19:10 IllvilJa left
mncharity boggle 19:17
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:21
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:23
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:37 chris2 left 19:42 agentzh left
TimToady mncharity: there isn't a MatchContinuation type, it's just an instance of Grammar 19:43
the Perl grammar also derives from Cursor
19:44 jferrero joined 19:49 rindolf joined, meppel-san is now known as meppl 20:03 Auzon joined
mncharity ah, ok 20:04
TimToady afk & 20:06
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
ok
thanks
20:08 rindolf left
ruoso rhr_, isn't complex.h posix? is solaris posix? 20:15
Gothmog_ It's in the C standard library. 20:17
But first since C99, that is. 20:19
20:29 Aankhen`` left 20:32 thoughtpolice joined
rhr_ ruoso: I really don't know. Irix 6.5 doesn't have it either. 20:38
20:40 meppl left 20:42 devogon left
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. 20:59
oranges*apples even 21:00
allbery_b it got chopped off (note lack of closing quote) --- I assume "...and subtracting $kumquat" or some such 21:02
21:05 pmurias left 21:13 kanru2 joined 21:22 irnbru joined, irnbru left 21:31 kanru left 21:33 jferrero left 21:37 pbuetow left 21:40 devogon joined 21:53 manfred left 22:02 Limbic_Region joined 22:04 fridim_ is now known as v3nux 22:27 iblechbot left 22:56 fax left 22:59 IllvilJa joined 23:00 Auzon left
cj hi folks 23:03
23:37 meppl joined 23:55 monomorph left