svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by avar on 16 November 2006.
00:01 gnuvince joined 00:03 llisper joined 00:04 Psyche^ is now known as Patterner 00:06 bsb joined 00:08 llisper left 00:09 Aankhen`` joined 00:17 Indigo_Stallion joined 00:27 trym__ joined 00:31 trym__ joined 00:35 trym__ joined 00:40 trym__ joined 00:45 renormalist joined 01:23 amnesiac joined 01:31 trym__ joined, diakopter joined 01:32 bsb left 01:36 trym__ joined 01:39 nipra joined 01:44 trym___ joined 01:54 Southen_ joined 02:10 weinig|away is now known as weinig 02:12 trym_ joined 02:13 beppu__ joined 02:18 trym_ joined 02:36 trym_ joined 02:45 dmq joined 02:48 trym__ joined 03:01 Psyche^ joined, Psyche^ is now known as Patterner 04:13 ilogger2 joined 04:19 trym___ joined 04:27 trym____ joined 04:43 II0o203l7 joined 04:44 trym__ joined 04:57 leed joined 04:59 trym__ joined 05:06 trym__ joined 05:13 trym__ joined 05:23 bucky joined 05:29 TimToady_ joined, trym__ joined 05:33 TimToady_ is now known as TimToady 05:37 trym__ joined 05:52 ofer0 joined 05:54 trym___ joined
svnbot6 r15211 | lwall++ | Finished roughing in the operator precedence parser. 06:06
06:06 trym__ joined
svnbot6 r15212 | lwall++ | typos, brainos 06:07
06:09 trym__ joined 06:13 BooK_ joined 06:14 trym__ joined 06:22 trym__ joined 06:29 dolmans joined 06:30 rfordinal joined, jisom joined 06:31 jisom joined 06:32 jisom left 06:33 jisom joined 06:36 jisom joined 06:38 trym__ joined 06:41 amnesiac joined 06:43 trym__ joined 06:55 trym__ joined 07:03 trym__ joined 07:07 Aankh|Clone joined 07:19 trym_ joined 07:21 marmic joined 07:26 Dr_Pi joined 07:39 trym__ joined, drbean joined 07:44 BooK joined
svnbot6 r15213 | lwall++ | balanced and unbalanced scanners, some bogus sublanguage dispatch 07:53
07:55 trym_ joined 08:00 iblechbot joined, trym_ joined 08:03 Aankh|Clone is now known as Aankhen`` 08:08 devogon joined 08:10 trym__ joined 08:14 _Jack_ joined 08:15 trym_ joined 08:22 trym_ joined 08:42 drupek12167 joined
dolmans everyday all i see here is someone quit/leaving/joining,etc. 08:49
jisom maybe have your irc client not show that?
avar it has been pretty quiet lately
moritz 08:53 < svnbot6> r15213 | lwall++ | balanced and unbalanced scanners, some 08:50
bogus sublanguage dispatch
;)
dolmans but that is too quiet! i like to recv some messages, even logs.
moritz dolmans: foo ;) 08:51
dolmans: like that?
;)
dolmans oh my god, bang.
tene ?eval entertain dolmans
evalbot_r15213 Error: No compatible subroutine found: "&dolmans"
tene ?eval entertain "dolmans"
evalbot_r15213 Error: No compatible subroutine found: "&entertain"
tene ?eval dance 08:52
evalbot_r15213 Error: No compatible subroutine found: "&dance"
tene looks like evalbot isn't going to help
jisom weird, is dolmans supposed to fail before entertain?
? say "do some svn commits, dolmans"
eh, you know what it means 08:53
moritz ?eval say "do some svn commits, dolmans"
evalbot_r15213 OUTPUT[do some svn commits, dolmansā¤] Bool::True
tene See? The "Bool::True" means that evalbot agrees.
moritz ;)
tene ?eval die Bool::True
evalbot_r15213 Error: 1
dolmans i'd like to do that. ok guys, i know there are so many people, so go on be quiet. 08:54
tene dolmans: we're just having a little fun. :)
dolmans tene: so go on hack, perl6, not me. :), but who is a doctor? i coughed a lot. 08:57
08:59 mjk joined 09:00 buetow joined, mjk joined 09:04 nipra joined 09:05 pfarmer joined 09:12 nipra joined 09:14 elmex joined 09:15 trym_ joined 09:22 foo\ joined, Aankh|Clone joined 09:37 JYC joined 09:44 nipra joined 09:58 Psyche^ joined 10:09 Psyche^_ joined 10:12 Psyche^_ is now known as Patterner 10:36 trym_ joined 10:44 trym__ joined 10:52 xinming joined 10:55 trym___ joined 11:02 ruoso joined 11:08 trym_ joined 11:15 lumi joined 11:24 nipotan is now known as nipotaway 11:27 nipra joined 11:28 Caelum_ joined 11:39 lambdabot joined 12:01 chris2 joined, ayrnieu joined 12:05 cnhackTNT joined 12:44 mjk joined 12:48 ofer1 joined, iblechbot joined 12:50 IllvilJa joined 12:53 theorb joined 12:58 theorb is now known as theorbtwo 13:14 jamhed joined 13:32 diakopter joined
audreyt TimToady: =<>.map:{.say} -- should it work lazily as "for"? 14:15
also, is it okay if we make =<>.>>say strict, that is for all hyper operators to operate only on eager data? because "lazy lists" and data parallelism doesn't, generally, mix 14:16
NewCoke is lambdabot source in pugs? 14:17
audreyt NewCoke: no, it's over there in #haskell
TimToady: or perhaps =<>.>>say is still lazy, and we only do true data parallelism when the data type is a native dense type (e.g. "seq of int")? 14:19
(S03 says nothing explicit about hyper vs laziness; Junction, on the other hand, is probably eager-only, so it's cool) 14:21
[particle] =<>.>>say may print lines out of order 14:23
audreyt yes, that part I know :) 14:24
the question is, does it wait for you to hit EOF
or not
to start printing 14:25
[particle] i think not
what if the handle is infinite?
audreyt but hypers are designed for data parralism
namely
[1..1000]>>.sqrt
can be handy if your cpu has SSE
[particle] yes 14:26
audreyt but if we say that we must preserve laziness
then it's essentially sequential
[particle] is hoping to have a multi-cpu multi-core soon
audreyt for both the range generator and the readline generator
and so SSE instructions are useless
as you only demand one piece of data at a time
[particle] any generators where laziness is not preserved? 14:27
audreyt no, I mean the hyper consumer
[particle] yes
audreyt we already know that "for" consumer preserves laziness
because it is sequential in nature
but the hyper consumer, for it to be parallel, must obtain multiple chunks of data in order to be effective
[particle] this could be controlled by pragmata, but i think that's too far from the code 14:28
default to parallel -- have ability to specify serial ?
audreyt well, you can special serial using "map"... 14:29
*specify
audreyt ponders
[particle] i didn't think map specified serial, but it's been a while since i read that synopsis 14:30
audreyt =<>.>>.say # it's not really far removed from code
whether it blocks for EOF or not is plainly visible :)
well, map must preserve order of side effects 14:31
and so can't really use parallelism instructions
[particle] so, the p6 equiv of $. would be the last line in the file using map
but not true using hyper? 14:32
that's fine. hyper means parallel to me
s/means/implies/
audreyt cool.
[particle] heck, they could be called 'parallel operators' 14:33
moritz how do I read from stdin in pugs? 14:34
audreyt =<>
moritz audreyt: thanks
audreyt =*IN
np :)
14:45 vel joined 14:48 xinming joined 14:50 kolibrie joined 15:32 buetow joined
avar sial.org/pbot/22880 # audreyt ?;) 15:39
lambdabot Title: Paste #22880 from Someone at 85.197.228.236
avar audreyt: see #p5p for what needs to be done for it, but any comment on the general API wrt using P::C::R on it? 15:40
15:42 kanru joined 15:56 thepler joined
audreyt avar++ # yay! 16:08
good enough, I'd say, for PCR integration
$::pattern is magick? 16:09
avar $::pattern = $main::pattern
nope
audreyt can I access the private use area to hold one SV then?
TimToady mornin'
audreyt that is all we need to store compiled regexes
avar anyway, I'm going to change thee interface, it sucks atm:)
it's going to be:
TimToady backlogging...
avar comp => sub { my $re = shift; if ($re->flags & FOLD) { .. } }, exec => sub { my ($re, $str) = @_; if ($str =~ $re->pattern (or just $re)) ... 16:10
$::pattern is just a nasty hack to pass data between the two:)
16:11 Dr_Pi joined
avar audreyt: wrt private use area, sure, I'm going to be passing a blessed SV* around in the ->pprivate structure, I could add a $re->stash( $anything ); to it, sound neat? 16:13
16:15 VanilleBert joined
audreyt yup. 16:15
and $re->stash as the read accessor
and init to undef. that makes GC easier 16:16
(we can use InsideOut to sidestep, but in this case a simple stash is easier)
16:18 justatheory joined
avar mm 16:18
you'll always be able to do: 16:19
my $stash;
audreyt hm?
avar use re::engine::Plugin (comp => \&comp, exec => \&exec);
or, hrm
that isn't going to work if you have my ($a, $b) = (qr//, qr//); 16:20
audreyt :)
avar ignore me:)
TimToady hypers are eager but declaratively parallelizable because they imply the operator runs till completion 16:21
audreyt TimToady: so "for" runs till completion, but "map" does not? 16:22
avar ponders what the best quote character to use for embedding rules in p5 regexen is
TimToady: stop taking up metacharacters already!:)
audreyt and a hyperop is an eager map?
16:22 statico joined
TimToady I'm not sure junctions have to be eager: any(=<>) == 1 can stop as soon as it see one that equals one, and doesn't imply =<> is read serially, though it probably is 16:22
avar my $re = qr<<< >>>: # I wish
audreyt can we write the differences down in the Hyper section of syn?
TimToady we need a "paramap"
avar hrm, since the quotes are balanced that might not be an issue
avar wanders of 16:23
f
TimToady I'm trying to make map and for isomorphic
so we ned a "parafor" too
s:2nd/e/ee/
audreyt for =<>.map:{ .sqrt } { .say } 16:24
for =<> { .sqrt.say }
same thing?
TimToady yes
audreyt so it's just the void context that forces consumption?
i.e., void context is an eager consumer
TimToady hmm, I guess 16:25
seems odd
audreyt but essential to get the for.say working
otherwise it'll not consume anything
TimToady I wonder how many faqs we'll get about accidental non-void context... 16:26
moritz many ;)
audreyt $x = =<>.map:{.say}; # nothing is read
=<>.map:{.say}; # everything is read
(according to this interpretation)
16:27 trym_ joined
TimToady I wouldn't say "nothing" 16:27
audreyt or maybe
TimToady at least one value is read
cognominal audreyt, are you going to the hackathon? conferences.yapceurope.org/hack2007nl/stats
audreyt @x = =<>.map:{.say}; # nothing is read
lambdabot Maybe you meant: . v
Title: European Perl Hackathon 2007 - The Netherlands - European Perl Hackathon 2007 St ...
audreyt and $x= forces the length. not sure
shay hi
audreyt shay: greetings 16:28
moritz hey shay ;)
TimToady I'd think @x= would be "everything"
shay :)
a pleasure to meet you all
TimToady @x := would just bind in the lazy list and read nothing (yet) 16:29
lambdabot Maybe you meant: . v
audreyt ok. ditto for $x:=, surely
but what about $x=?
conceptually it allocs a mutable array always
svnbot6 r15214 | audreyt++ | * Switch arrays from Data.Sequence to GHC's native parallel arrays
r15214 | audreyt++ | (no user-visible changes). For now this merely gives us a slight
r15214 | audreyt++ | speed/memory boost (both <5% generally), but will become useful later
r15214 | audreyt++ | with a first-class Seq object implemented in MO.
r15214 | audreyt++ | Also, when GHC 6.8 is released with data parallelism that natively makes
r15214 | audreyt++ | use SSE/GPU for hyper operations -- even for nested boxed objects --
TimToady looks kinda like a list in scalar context 16:30
svnbot6 r15214 | audreyt++ | this will make hyperops _extremely_ fast.
audreyt so perhaps it's also "everything"
@x = 1..99999999; # also forced? or is Range somehow special?
lambdabot Maybe you meant: . v
TimToady I think that's least surprise; the scalar context doesn't propagate through to the = 16:31
audreyt k. so also everything
16:32 trym__ joined
TimToady I think it'd be dwimmy if @x = 1..* worked at least, and 99999999 is pretty close to * 16:32
audreyt so Array recognize "unboxed range" as one of its specs
sure 16:33
cognominal: no, 'mafraid not.
cognominal too bad :( 16:34
audreyt TimToady: the lambdaheads over there figured out ways to automagically make $tree.>>?sqrt use GPU, even if it contains sparse heterogenous nodes, in which some are sqrt'able and some are not
and the good thing is we don't need to change a line in pugs :)
16:35 bonesss joined
audreyt (relevant paper: "Data Parallel Haskell: a status report") 16:35
TimToady wow
audreyt and also automagically SMP-linearly-scaled like everything else :) 16:36
TimToady well, it's sorta parallel booleans interspersed with numerics 16:37
audreyt right. the idea is just to allocate one dense storage for each distinct type found in the tree
this however means we can't promise order even across levels.
TimToady maybe I can use $tree.>>.?subst to fix my heredoc whitespace in the GPU. :)
audreyt but spec currently says it's okay (only conjecturally not-ok) 16:38
so perhaps keep it at okay :)
(S03:2685)
TimToady conjectures are lazy feedback receptors. :)
audreyt :)
so I'm giving the pugs talk next monday to google.tw, focusing on metaprogramming, concurrency and parallelism 16:39
16:39 Taral joined
audreyt going to make slides (the one that I should've worked on for POPL) over the weekend 16:39
and maybe make the code match the slides :)
Taral audrey, did you get my /msg? 16:40
audreyt Taral: just replied
Taral you did?
audreyt anyway, sleep, be back in ~8hrs :)
Taral don't see reply :<
audreyt Taral: $job switched to SuSE
so no AIX GHC builds (for now) from me
Taral So no AIX?
bah.
ok, I guess I'll try to port over the apple powerpc stuff
audreyt k. sorry about that 16:41
Taral np
nini
audreyt will still be interested as it can boost performance of already-deployed-in-field code
but not enough of a $job priority atm
g'nite :)
16:41 Taral left
TimToady night 16:42
16:43 ofer0 joined 17:33 GabrielVieira joined 17:37 amnesiac joined 17:46 bernhard joined 17:51 trym__ joined, hexmode joined 17:55 nipra joined 17:57 xinming_ joined 17:58 trym_ joined 17:59 chris2 joined
NewCoke already deployed: people are using pugs *in production*? =-) 18:00
moritz NewCoke: who? 18:01
NewCoke 11:42 < audreyt> will still be interested as it can boost performance of already-deployed-in-field code
[particle] audreyt and timtoady, for example 18:03
NewCoke ... those two, specifically, don't count. =-)
NewCoke stares at the perl6-on-parrot code...
18:04 mr_ank joined 18:12 cjeris joined 18:22 VanilleBert left 18:23 rashakil_ joined 18:38 justatheory joined 18:50 marmic joined 19:08 bonesss is now known as bonesss`away 19:11 Caelum_ is now known as Caelum 19:20 neonse joined 19:56 Dr_Pi joined 20:03 nipra joined 20:06 Caelum joined 20:08 larsen_ joined 20:11 justatheory_ joined 20:21 IllvilJa joined 20:24 nipra joined 20:52 stevan__ joined 21:03 bonesss`away is now known as bonesss
svnbot6 r15215 | lwall++ | more sublanguage support 21:03
r15215 | lwall++ | categories are now declared with the newly unified proto modifier
21:07 justatheory joined 21:11 buetow joined 21:17 ashleyb joined 21:18 wilx` joined 21:23 sri_ joined 21:26 Aankhen`` joined 21:30 mako132 joined 21:31 meppl joined 21:32 pdcawley joined 21:40 coke_ joined 21:41 coke_ is now known as NewCoke 21:48 ashleyb left
svnbot6 r15216 | lwall++ | random cleanup 22:04
22:06 Dr_Pi_ joined
broquaint TimToady++ # Perl-6.0.0-STD.pm is groovy. 22:07
[particle] i don't think parrot will be able to parse it for a while yet :) 22:08
moritz hu? is parrot supposed to parse perl6 code? 22:10
I thought that was perl6's task ;)
allbery_b not likepugs can parse it yet either :)
[particle] the perl6 implementation that runs on parrot 22:11
allbery_b: it's good to have a clear target, though :) 22:12
moritz [particle]: how advanced is that, eg compared to pugs?
[particle] moritz: it's in it's infancy
moritz [particle]: ok ;)
[particle] currently missing END blocks and iterators (for for loops)
but will *soon* be passing pugs's 01-sanity tests 22:13
moritz sounds like a whole lot of work ;)
[particle] then it can run Test.pm (written in perl6)
then we can import the entire pugs test suite
then the real work begins :)
moritz and how far is parrot? 22:14
[particle] many subsystems still have only reference implementations
but design and implementation continues
moritz so there is still hope ;)
[particle] we should have a near-final object model soon
i have hope, anyway 22:15
moritz (I know there is, otherwise I wouldn't be here ;)
I'm currently writing a perl6 summary for (non-perl) programmers on my homepage, and the longer I write the more features I discover that should be included... 22:16
and I'm nowhere near the _real_ fancy stuff right now ;) 22:17
[particle] looking less like a summary every day :)
moritz s/summary/tutorial,introduction/ 22:18
yes, that#s right
22:18 wilx` is now known as wilx 22:21 buetow joined 22:25 Limbic_Region joined
Limbic_Region TimToady - just saw the "recent changes" note to the list. Sounds exciting ;-) 22:33
22:33 Psyche^ joined 22:40 spoopithy joined 22:42 vel joined 22:45 cls_bsd joined 22:47 pjcj joined
moritz print $fh "something"; doesn't seem to be implemented in pugs.. or am I just to stupid? 22:48
22:48 Psyche^ is now known as Patterner
[particle] try $fh.print("foo") 22:50
wolverian moritz, that would be print $fh: "foo"; I think.
moritz wolverian: yes, that's fine, thank you 22:51
wolverian: I justed look in the specs, and it just says print FILEHANDLE LIST 22:52
so is : part of the FILEHANDLE?
or is doc/Perl6/Spec/IO.pm just outdated?
Limbic_Region which spec? presumably S29 ?
moritz doc/Perl6/Spec/IO.pm
S29 doesn't even mention print ;) 22:54
wolverian because you're supposed to use say ;)
Limbic_Region moritz - I had brief discussion with $larry the other day regarding the synopses 22:55
mortiz - it was tangently related
moritz - I would not necessarily think that *that* synopsis was correct and the pugs implementation wrong
mortiz - but the reason why I think that is fuzzy 22:56
moritz - OTOH, if the pugs test suite regarding IO to filehandles is lacking 22:57
write plenty of failing test cases to the spec
that will get someone's attention
22:57 neonse left
Limbic_Region either the test case or the spec (or both) will be updated 22:57
22:57 ashleyb joined
Limbic_Region moritz - and more tests are always better 22:58
moritz Limbic_Region: so just ignore the current status of pugs and write failing testcases that fit with the specs? 22:59
Limbic_Region yes
even if it is wrong, it will draw attention to it
moritz Limbic_Region: ok, I'll do that 23:00
but not today, I'm too tired ;)
time for bed ;)
[particle] only the spec and the testsuite are official perl 6
moritz [particle]: you're write, but both are propably not free of errors 23:01
[particle] indeed
...but with your help... ;)
Limbic_Region is currently grep'ing "print" from all the specs to see if they say contradictory things
23:02 spoopithy is now known as spoop
Limbic_Region possibly something in syntax.pod but need more context to know for sure 23:02
moritz real life sucks because I can't grep my room ;) 23:03
ashleyb moritz: NewCoke: I use pugs in production too. 23:04
moritz ashleyb: how? 23:05
ashleyb specifically Pugs::Compiler::Regex
audreyt well, svnbot6 is deployed in #parrot and here 23:06
Limbic_Region moritz - AFAICT, there is no contradiction in the specs so definately write failing test cases against IO.pod
audreyt and that is considered "production" I think :)
Limbic_Region audreyt - are you awake or talking in your sleep again?
audreyt talking in my sleep mostly.
TimToady's STD.pm just parses with pugs. 23:07
running smoke and if nothing breaks horribly, commit+sleep a bit more
Limbic_Region ok, won't bother you but can I ask if you have return mostly to full time?
s/return/returned/
audreyt well, full-time sanity
Limbic_Region ok, good
audreyt still only part-time pugs; jifty claims the other half of my hacking attention
(the better half, for the moment) 23:08
Limbic_Region extends his well wishes again and reminds audreyt that she has virtual shoulders if she needs or wants them
well - back to full time hackery is good even if we have to share you
;-)
audreyt thanks :) I think I finally unscrambled my brain sufficiently
this brain-sudoku thing is hard to play 23:09
moritz ashleyb: brain-sudoku?
um, audreyt, sorry ;)
23:09 sri_ joined
Limbic_Region audreyt - well duh, it's hyperdimensional 23:09
audreyt moritz: trying to restore a cognitive system back to homeostasis, using only (very partial!) high-level introspection and no analysis tools
moritz audreyt: ok ;) 23:10
audreyt well, there are theoretically analysis tools
but I don't have spare EEG machines at home...
Limbic_Region notes the hunger pangs and wanders off for food 23:11
moritz audreyt: even if you had, I've heard EEGs are rather hard to parse ;) 23:12
audreyt well, but it's much better than this verbal cortex thing... 23:13
more finely grained and less prone to nonlinear feedback 23:14
*feedback loop
svnbot6 r15217 | audreyt++ | * STD.pm - Various syntax errors and typos catched by
r15217 | audreyt++ | actually parsing this thing with "pugs -c".
r15218 | audreyt++ | Pugs.Parser.Literal - Factor out regularAdverbPair for 23:17
r15218 | audreyt++ | generalized "is" parsing.
r15219 | audreyt++ | * Pugs.Parser: Parse (but not actually recognize) parameterized 23:20
r15219 | audreyt++ | regex/token/rule with traits as well as routine modifiers.
r15219 | audreyt++ | proto token foo ($some_param) is Moose[Int];
[particle] where's the pugs equivalent of 'perlrun'? 23:22
where do i look for pugs runtime flags?
eh, i should probably just compile the thing and invoke it
audreyt [particle]: Pugs::Doc::Run 23:24
[particle] thx, i'll have a look
chromatic hacked up a pbc to c translator
soon we'll be able to portably create perl.exe
based on perl6.pbc
TimToady moritz: a lot of IO.pod is just copied willy nilly out of Perl 5 docs and is not canonical
audreyt [particle]: aha, you mean the ahead-of-time compiler is revived 23:25
[particle] yep
audreyt cool.
[particle] aot++
TimToady audreyt: thanks for the parse fixes! 23:26
[particle] how is gc done in pugs? does haskell take care of it?
audreyt [particle]: yes, GHC has this incremental nonstopping threaded GC
with weak, stable and foreign pointers which we use heavily for e.g. non-leaky perl5 integration 23:27
[particle] just read about Metronome, and is thinking about realtime parrot
audreyt TimToady: np :) now to make it _run_...
TimToady er, yeah...
audreyt but, some more napping... & 23:28
Limbic_Region TimToady - was my advice ill advised? 23:29
Limbic_Region isn't sure he said that correctly but hopes his point was made
23:33 meppl joined
svnbot6 r15220 | lwall++ | IO.pod: translated some p5 docs for print. 23:56