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 lumi on 8 November 2006.
00:17 diakopter joined 00:21 vel6608 joined
diakopter ?seen TimToady 00:30
lambdabot TimToady is in #perl6. I last heard TimToady speak 2h 7m 5s ago.
TimToady diakopter: you lookin' fer me? 00:48
diakopter yes, a friend of mine would like a commit bit for pugs 00:49
audreyt TimToady: (1,"x",1.5).HOW is currently the same as (1,"x").HOW, even though they can also be different.
lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
audreyt TimToady: the spec seems to think one can parameterize them as needed, but treat it as a generic "Seq" when possible 00:51
TimToady: is it true that the two (allegedly competing, irreconcilable) are explicit design goals? 00:52
00:52 penk joined
audreyt i.e. if someone say 00:52
Seq[Int, Str]
one should get what they want
but Seq itself is both Any on member type, and _also_ Any on length, as long as it's finite. 00:53
same for Array, Hash, etc.
if that's the case, then I'll research for some way to reconcile the irreconcilable as usual :)
00:56 eggzeck joined
TimToady diakopter: have sent your friend a commit bit. please tell them it is customary to add yourself to AUTHORS as first checkin. 00:56
diakopter TimToady: thanks 00:57
TimToady however, if they want to post incognito, I can understand why some people might be in that position.
audreyt: that's an interesting question that I don't really have an answer to. 00:59
audreyt nods.
TimToady we have * on signatures, and I've mumbled a bit about putting * on the end of a short list to lengthen it. Maybe Seq defaults to Seq[*] somehow. and we distinguish Seq[Int,Str] from Seq[Int,Str,*] 01:01
svnbot6 r14721 | fglock++ | MP6 - fixed nodes s/Op:*/Apply/ (no name mangling yet)
r14721 | fglock++ | - Grammar.parse() compiles 'CompUnit's
r14721 | fglock++ | - 'grammar' compiles to CompUnit
r14721 | fglock++ | - method signature is optional
r14721 | fglock++ | - more prefix ops\n- 'sub'
r14721 | fglock++ | - 'for' emitter
TimToady dunno
the type passed to Seq[] is sort of an inside out Sig 01:02
audreyt because Seq[] is really a tyfun
i.e. a type function that you feed in some type params
to get back an type instance from a type family
i.e. exactly as normal functions, but happens at typespace
it's not Sig... it's a Capture as well 01:03
Scalar[of => Int]
the thing with Seq is that it has (potentially a large number) of subtypes within it 01:04
and because our Array are of Scalar
you can also place constraints on individual Scalar elements
i.e. have
Array[Int, Str, *]
passthru it into the first two Scalar it allocs 01:05
so they receive Int and Str constraints
there are ways to make all this work; I just want to make sure it's worthwhile to make them work :)
TimToady seems worthwhile, but I'm not a type theorist... 01:06
audreyt type theorists generally think what Perl6 is doing is 1)very cutting edge and 2)crazy
oh btw. what's ~Str?
TimToady the other question is whether it'll slow things down, either performance or in getting P6 out the door. 01:07
audreyt (that's more immediate as I'm coding that part.)
oh, that's two milestones from now, so it won't affect either
it's just for my brainsync purpose :)
TimToady ~Str? Do you mean ^Str?
audreyt ~Str.
~::Str
+::Int
?::Bool
lambdabot Unknown command, try @list
audreyt etc. 01:08
TimToady ?eval ~Str
audreyt i.e. what is their prototypical payload?
01:08 evalbot_r14720 is now known as evalbot_r14721
evalbot_r14721 "Str" 01:08
audreyt yeah, I know what I've implemented :) and it's modelled after p5
where it's coerced asif it's a string
of the name of the class
TimToady seems sane
01:09 crythia1 joined
audreyt k. 01:09
TimToady need to go help cook dinner before mother-in-law pitches a fit...
audreyt sure. have fun!
TimToady well think about Seq a little. &
audreyt and I'll fly tomorrow after waking up
TimToady *will
audreyt so see you in ~2day actually
airport lounge notwithstanding 01:10
TimToady have the appropriate amount of fun...
audreyt :)
which is likely optimized.
hopefully not optimized away...
TimToady have a smooth sequence...
&
smash_ good evening 01:15
01:17 polettix joined 01:25 dmq joined 01:30 araujo joined
svnbot6 r14722 | audreyt++ | * MO: Beginning of autoboxing, Str.reverse, and related 01:30
r14722 | audreyt++ | metastructure, prototyped in si.hs, but will soon move
r14722 | audreyt++ | into Pugs.Val.
01:32 Pomin joined, vell joined 01:36 vell joined, dgo joined 01:37 vell joined 01:51 weinig is now known as weinig|zZz 01:52 duend joined 01:54 dduncan joined
svnbot6 r14723 | audreyt++ | * MO: Normalize the Method class. 02:09
r14723 | audreyt++ | * Make autoboxing and invocation really easy via some sugars;
r14723 | audreyt++ | prototyped the Str and Int classes.
02:23 genjix joined 02:32 cls_bsd joined 02:48 cjeris left, eggzeck joined 03:01 dduncan left 03:04 kanru joined 03:25 crythia1 left 03:35 araujo joined 03:42 stevan joined 04:05 brent[] joined 04:15 bluefoxicy joined
bluefoxicy someone told me to ask TimToady about interpreter design? 04:15
cj raises his hand 04:17
cj turns on his logger 04:18
bluefoxicy hi cj :P 04:19
cj hey there bluefoxicy
he's a busy guy. I recommend idling
bluefoxicy kay
TimToady I know several good ways not to write an interpreter... 04:23
bluefoxicy haha 04:24
I've only really got one simple question for now, because I know too little to actually ask useful questions.
If you don't mind anyway? :) 04:25
TimToady there's no harm in asking
bluefoxicy ok well :)
I was thinking about interpreters the other day, mostly I've just recently become interested in the design of such, and have been considering why they're slow. 04:26
After all, emulators for things like gameboy or SNES are also interpreters and can be very slow, and the original Java interpreter was loudly proclaimed to be slow, and JIT has really taken off.
SamB but, apparantly not very well 04:27
I mean, not for JVM...
that is, even with JIT, the JVM still doesn't run Java programs very fast
bluefoxicy SamB: Well, Mono uses it, as well as like every Java engine I've seen; Adobe Flash uses JIT to compile ECMA script, and there was talk about JIT to native for JavaScript in Mozilla.
04:27 thepler joined, dgo left
bluefoxicy Anyway 04:28
SamB sorry to be unclear
I think JVM is maybe not a very good bytecode
bluefoxicy This lead me to thoughts about out-of-order execution, and parallel execution. Both of these looked like dead-ends to me; threading in an interpreter at that level is slow and stupid isn't it...
But it did bring one interesting thought to my mind: What about reordering instructions such that chunks of instructions of a similar 'class' fall in line, where possible; and having a single function for each set of instructions that can continue interpreting in a tight loop? 04:29
SamB ???
bluefoxicy Consider if you have instructions like, say, ADD, SUB, DIV, and MUL (x86 instructions that do basic integer math) 04:30
cj SamB: keep quiet. you're making it difficult to read
SamB k
bluefoxicy My guess is the most naive inerpreter will follow a process of 1) Read the next opcode; 2) Pick an interpreter function; 3) Pass operands to the function; 4) goto 1
This means that you have 1) Read data; 2) look up in table of functions; 3) Call a function (set up a call stack, store registers, set up argument passing, execute a prologue...) and return from a function (same, in reverse); 4) Continue at 1 04:31
Step (3) is tens or hundreds of instructions; step (2) is maybe a dozen or so. 04:32
Now, what if instead you optimized the bytecode so that similar classes of instructions (say ADD, SUB, MUL, DIV) that could be executed out of order from the surrounding instructions were grouped 04:33
and then passed the address of the instruction to an interpreter function that could continue interpreting-- with the asumption that all following instructions are interperable by it-- the bytecode instructions?
04:34 thepler joined
bluefoxicy so instead you would have, say, 1) Check prefix (if wrong, return to the interpreter loop); 2) Check type (it's only one of a few basic types, ADD DIV MUL SUB in our case); 3) execute operation; 4) goto 1 04:34
Now if you encounter that kind of stream you only need a few instructions. Not really a huge speed-up, but it's a basic idea. 04:35
TimToady I think whether it's a win would depend on how the data is structured. 04:36
SamB hmm.
bluefoxicy I actually wrote that out a bit more in kerneltrap.org/node/7350 starting at paragraph... 9
TimToady: yes, of course; also it would depend on how instructions were grouped
TimToady you could lose all your performance gain just trying to get all your data lined up to feed to ADD or whatever
SamB thinks the Python VM has some kind of shortcut jumps in it for instructions that common follow eachother...
TimToady unless the data structure was already conducive to vectorizing on some level 04:37
bluefoxicy TimToady: further, it is in reality just a more complex way of saying, "Write ALL interpreter functions in one GIANT function," except not in one giant function
TimToady Samb: well, so does Perl 5...
you can spend a lot of time trying to optimize function calls away, and then discover that that's not really what's slowing you down in a modern processor. 04:38
SamB oh, well, isn't the code for Perl 5 a horrible mess?
TimToady usually cache behavior is the overriding factor these days
SamB anyway, it wasn't the function calls, I'm pretty sure...
I think it was within a function
maybe to avoid the switch tables or something 04:39
bluefoxicy TimToady: function calls don't slow you down?
TimToady it's architecture dependent how much they slow you down.
they were very slow on a Vax, and a lot of the design of Perl 5 reflects that. 04:40
bluefoxicy TimToady: doesn't it take a large number of instructions to enter/exit a function?
TimToady again, highly architecture dependent.
SamB bluefoxicy: don't you suppose the CPUs are good at JITting those?
(only if needed, of course) 04:41
TimToady often "leaf" calls can be very fast if they can just switch to a throwaway register set and avoid all the save/restore
On a vax you try to avoid lots of little functions, but on some modern architectures you actually try to maximize that...
bluefoxicy hmm.
SamB thinks it is a good thing they didn't tell ken the truth about function calls 04:42
TimToady especially if a heavy factorization manages to get all your common instructions in cache
the differences between in-cache and out-of-cache performance tend to dominate these days. 04:43
bluefoxicy interesting.
SamB RAM is so slow in these GHz days
TimToady for Perl 6 we're looking more toward explicit forms of parallism, using GPUs and cell processors and such 04:44
SamB ... I would think SMP would be a better place to start...
TimToady some of that syntactic information would help with a setup like you're proposing, even on a single-thread machine 04:45
bluefoxicy functions seem to be 5 ... 7 if I add a parameter... interesting, my understanding of the problem was incorrect! :)
04:46 FuzzyLogic joined
SamB cell processors seem to have rather odd bandwidth... and GPUs are mostly good for dealing with big arrays, aren't they? 04:46
bluefoxicy TimToady: is it correct to assume that reducing the number of bytecode instructions is the most important factor of interpreter speed?
TimToady because we're introducing syntax for explicitly saying you don't care about the side effects or interactions between parallelizable operations, such as hyperops
bluefoxicy TimToady: rather, the length of code paths
04:47 FuzzyLogic is now known as IAmFuzzyLogic
TimToady the problem with saying anything general about interpreters is it's so highly dependent on what kind of programs and data you feed them. 04:48
04:48 IAmFuzzyLogic is now known as pva-UF
TimToady the usual dictum of "profile first" doesn't really help. 04:48
because you don't know which parts of your interpreter will be in the middle of someone's tight loop.
bluefoxicy mm o.o 04:49
TimToady about the best you can do is design things not to rely on any one particular model, so you can substitute in a different model under different circumstances. 04:50
but that tends to work against having a consistent semantic model, such as universal continuations and such
bluefoxicy so are you saying that the rules of designing a CPU are different than the rules of designing an interpreter?
SamB bluefoxicy: a little bit 04:51
bluefoxicy Not that I'm particularly good at either, mind you; I'm approaching them as similar problems.
SamB if you are designing a CPU, you can actually decide what hardware to put on it.
TimToady at least with a CPU you pretty much know what you're working with down to the metal.
but an interpeter is likely to be ported to other architectures. 04:52
bluefoxicy mmm
TimToady it also really depends heavily on what kind of programming you're going to do on top of it.
functional programming puts an entirely different set of stress on your interpreter than OO does. 04:53
bluefoxicy that's interesting
I thought OO would be "fifty times more instructions"
like C++ is
TimToady depends on your model.
bluefoxicy but I suppose the interpreter can have its own OO functions with its own OO support and have itself tied to a specific language
like Java
a language AND an interpreter
SamB Java ain't an interpreter 04:54
for instance, I have this here Java program
bluefoxicy java has its own VM written to handle Java... heh.
SamB gestures towards trang
bluefoxicy SamB: you know what I mean, quit nitpicking over semantics :>
SamB that is in a native x86 ELF binary
no interpreter or anything 04:55
bluefoxicy TimToady: so summerically, this isn't a problem with a solution; it's a problem seeking another problem to get solved with? 04:56
TimToady there's probably an ecological niche for such an interpreter. don't know how big it is though.
bluefoxicy such an interpreter? 04:57
you lost me.
TimToady such as you are proposing
bluefoxicy oh 04:58
I'm just trying to gather information; I have some obsessive compulsive knowledge thing where I try to learn everything :)
I'm not proposing anything ;) (yet) 04:59
TimToady old-time biologists tended to think of ecological niches as continent sized, but most ecological nices are limited by other factors than geography
bluefoxicy you are losing me hard
this is why I need to know everything.
TimToady some of which are not predictable, such as other species' development
you can't know everything. at least, I've been trying for more than 50 years, and haven't got there yet... 05:00
at the end of the day, most of your knowledge won't tell you how to trade off all the facts you know 05:01
bluefoxicy TimToady: actually
TimToady you try something, and it either helps, or doesn't
bluefoxicy the universe holds a finite amount of information.
TimToady then you try something else
that finite amount of information is provably a superset of your brain
bluefoxicy There are a limited number of subatomic particles in the universe, which each can store a piece of information (three, actually)
to store all that information you need the entire universe; to know everything, you need to be the universe :) 05:02
cj bluefoxicy: heh. theorhetically, at least, eh?
bluefoxicy cj: yes theoretically. The hole is that information about the past is encoded in the present state of the universe and thus there seems to be more information stored than is possible. 05:03
TimToady it's not clear that the state-space of the universe is encoded primarily in what we think of as particles. nevertheless, we think we know how much information can be encoded in a particular volume without turning into a black hole. :) 05:04
Kattana Well then theoretically you would not need to be the universe, only understand its rules and be able to calculate the current value of the section of the universe containing the information you want.
bluefoxicy Kattana: technicality. 05:05
Kattana: I was never that good, ever; and I never will be.
is that even possible? 05:06
TimToady course, it's kind of an interesting question whether someone is thinking of our universe as an experimental interpreter...
Kattana bluefoxicy, its a mere implimentation problem, anything is possible.
bluefoxicy I mean, I can do 52.5/2/180 easy, I know some people that can break 80/5/300 but that's not enough to get the state of any particular particle in the universe
oh God my stat teacher hated me 05:07
TimToady God was your stat teacher? 05:08
bluefoxicy TimToady: no, that's not it.
05:08 rlb3 joined
bluefoxicy TimToady: The theory is that if anyone ever discovers what the universe is here for, it will immediately become something more absurd and complex. 05:08
and anyway my stat teacher gave us the task of flipping a coin 100 times and predicting the outcome 05:09
I did 98/2/100 that day, only missed 2 of them.
05:09 thepler joined
bluefoxicy The coolest thing you can do in a stat class is predict outcomes to a statistically significant level above what should be possible 05:10
TimToady we only did ten flips, but I flipped all heads. thought I was in R+G are dead...
bluefoxicy hehe
TimToady except he hadn't written that play yet...
bluefoxicy lol 05:11
Kattana TimToady, if you have not already I suggest reading en.wikipedia.org/wiki/Ender's_Game these questions about the universe made me think of it. It also has language playing some part if I recall. 05:13
TimToady well, Scott Card thinks about a lot of things, including drama. 05:14
bluefoxicy I'm out of thoughts
and dr who is on
Kattana mhmm, and it might have been one of the following books actually, I read them in series so...
TimToady seems a lot like a Friday night... 05:15
Kattana What a coincidence. 05:17
05:24 eggzeck joined
cj ah, Ender's Game. I was thinking about that tonight, too. 05:26
my dad bought me a copy of the set a couple years ago. I had already read most of them twice by then. It's nice to have them to re-read, though :) 05:27
bluefoxicy I hate all fiction for some reason. 05:29
Reading fiction is the most boring, irritating experience ever o.o
I think it's because I can't read a page a second, so the information flow is far too slow.
Technical reading is ok because the information is thicker and it takes longer to process, so my brain is occupied. 05:30
05:31 kisu joined
cj bluefoxicy: yes? 05:36
bluefoxicy: don't most fiction pieces have something to say about fact?
aren't most "fact" pieces just theories and guesses anyway?
bluefoxicy nevermind :) 05:37
huh 05:39
this commercial shows a chick using the internet
I call false advertisement
05:47 penk joined 05:53 bluefoxicy left, duend is now known as duend`sleeping 05:59 SubStack joined 06:10 Southen_ joined 06:15 BooK_ joined 06:16 justatheory joined 06:36 miyagawa_ joined 06:41 penk joined 06:51 Schwern joined, wolverian joined 07:16 Southen joined 07:28 eggzeck joined
cognominal how do I get the type of an object? 07:59
gotit: .WHAT 08:03
08:10 kanru joined 08:23 synth joined, synth left 08:40 kanru joined 08:47 iblechbot joined 09:13 pjmm joined 09:27 larsen_ joined 10:14 crem joined 10:16 ludan joined 10:18 elmex joined 10:20 buetow joined 10:27 chris2 joined 10:38 araujo joined 11:19 xinming_ joined 11:41 BooK joined 11:42 BrendaSexy joined 12:10 Psyche^ joined 12:12 rodi joined
meppl guten morgen 12:16
12:22 elmex joined 12:24 camenix joined 12:27 BrendaSexy left, Psyche^ is now known as Patterner 12:32 DHGE joined 12:41 anatolyv joined 12:47 eggzeck joined
prism see you all sunday night! mini holiday time 12:56
13:24 penk joined 13:39 weinig joined 13:51 rodi joined 13:53 xinming_ is now known as xinming 14:03 thepler joined 14:30 trym_ joined 14:32 Limbic_Region joined 14:39 eggzeck joined 14:59 jferrero joined 15:16 mako132 joined 15:27 camenix left 15:51 miyagawa_ joined 15:53 seano joined 16:15 mako132 joined
nothingmuch 3morning 16:19
16:33 cm joined
anatolyv hey nothingmuch 16:53
nothingmuch yo homie 16:54
16:55 BooK joined
anatolyv nothingmuch: i'm reading the unicode standard. it's a blast. they really should make a movie out of it. 16:56
avar haha
SamB hah
nothingmuch anatolyv: that's what the animation primitives are for 16:57
anatolyv like, Harrison Ford could be 29DE INFINITY NEGATED WITH VERTICAL BAR
nothingmuch totally 16:58
Tom cruise could be HEXAGRAM FOR DIFFICULTY AT THE BEGINNING 16:59
anatolyv i need a female lead for the cute little 325C;CIRCLED NUMBER THIRTY TWO though. 17:00
17:00 miyagawa_ joined
nothingmuch what about her assistant, DIGIT FIVE FULL STOP ? 17:00
17:01 vel joined
anatolyv yeah, that too. 17:02
17:02 trym_ is now known as trym
nothingmuch oh! we can have kisrtie alley as CJK RADICAL COW 17:02
17:03 turrepurre joined
nothingmuch HEAVY EXCLAMATIONMARK ORNAMENT! a BLACK LEFTWARDS BULLET just ricoched RIGHTWARDS WHITE ARROW FROM WALL 17:03
anatolyv hmm, CJK radicals give us a lot of leeway. 17:04
nothingmuch true that
anatolyv they could be terrorists trying to blow up the standard. 17:05
nothingmuch but i couldn't resist
anatolyv i know what you mean
nothingmuch audreyt: you realily should get creative control over this
of course, we require the cameo appearance of a CANADIAN SYLLABICS MOOSE-CREE SK 17:07
right next to it, in 150C-150F there are various batman effects 17:08
including SPWA and SKWA
and ofcourse what's a good movie without a $2 million INTORROBANG in the climactic scene 17:09
w 16 17:12
17:24 crem joined 17:30 pva-UF is now known as IAmFuzzyLogic, IAmFuzzyLogic is now known as pva-UF 17:33 miyagawa_ joined 17:40 mako132 joined 17:41 Southen joined 17:58 nperez joined 18:04 pva-UF joined 18:05 pva-UF is now known as IAmFuzzyLogic, IAmFuzzyLogic is now known as pva-UF 18:20 iblechbot joined 18:25 elmex joined 18:28 Limbic_Region joined 18:33 rodi joined 18:42 avar joined 19:00 ruoso joined 19:03 revdiablo joined 19:26 [particle] joined 19:37 rodi joined
smash_ good evening 19:38
19:40 dolmen joined 19:48 cmarcelo joined
svnbot6 r14724 | audreyt++ | * Pugs.Internals: Refactor all Pugs.Internals functions into 19:55
r14724 | audreyt++ | five modules; Pugs.Internals now no longer exports anything
r14724 | audreyt++ | by itself; it merely re-exports from:
r14724 | audreyt++ | Pugs.Internals.Cast
r14724 | audreyt++ | Pugs.Internals.Global
r14724 | audreyt++ | Pugs.Internals.ID
r14724 | audreyt++ | Pugs.Internals.Monads
r14724 | audreyt++ | Pugs.Internals.String
r14724 | audreyt++ | The plan is to move MO.Util into Pugs.Internals space to
r14724 | audreyt++ | avoid code duplication, and move Eval-monad-specific parts
r14724 | audreyt++ | of MO into Pugs.Class space. Stay tuned. :-)
wolverian whoa! 19:57
cmarcelo yay
svnbot6 r14725 | audreyt++ | * MO.C3 is no more; it's now just Pugs.Class.C3. 19:58
r14726 | audreyt++ | * si.hs - random scribbling. Not going to happen in this 20:00
r14726 | audreyt++ | space -- more likely, the entire Pugs.Val will be converted
r14726 | audreyt++ | to Pugs.Class-style autoboxers instead. More work toward
r14726 | audreyt++ | that direction on the plane...
cmarcelo audreyt: any "groundwork" task left? 20:02
audreyt oh, it's all groundwork ;)
you can look at docs/Perl6/Spec/Functions.pod and src/Pugs/Prim
and try to figure out all methods (instead of subroutines) within builtin classes
e.g. sqrt() will probably become Num.sqrt 20:03
etc; and list them in a big table of some kind (see si.hs:36)
you don't have to fill in the body
just the method names
for list of builtin classes see S06 20:04
warning: there are _many_ holes. all wee need at this stage is to convert Pugs.Prim ones
basic principle: if it's unary function it's very likely a method
if it's binary but arg0 dominates (i.e. exp()) then it's method, otherwise it's multisub (i.e. infix:<+>) 20:05
other than that... improvise :) I'd like the Pugs.Prim table at the bottom of it be deleted down to subs-only
ask around when you get stuck or see ambiguity. but most of the time just improvise. 20:06
once I land to Taipei I can hook the new Pugs.Class/Pugs.Val system with that big table
and we'll go from there
you can safely ignore container types (Scalar, Array, Hash) as they require special treatment from Pugs.Types.*
I'll do that part. 20:07
cmarcelo ok.. i'll work on that then. just a question: monadic funcs like operating on Sockets etc, will work fine only demanding a different mkBoxMethod function, right?
audreyt correct
the idea is to make 20:08
mkBoxMethod
a full polymorphic thing
based on e.g. a typeclass
so you can feed it whatever function type
and it finds a way to promote it into a ResponderInterface entr
you can work on that also. it's a fun puzzle
meanwhile I'll continue merging Pugs.Val with MO, and promote newland vals into MO objects
20:09 araujo joined
audreyt my plane will take off soon... see you in maybe 3hr (sao paolo), maybe 16hr (houston), or maybe 24+hr (taipei) 20:09
depending on lounge connectivity again
cmarcelo oka 20:10
audreyt adeus
cmarcelo tchau :)
[particle] bon voyage 20:11
cmarcelo audreyt: 'adeus' has a very strong meaning IMHO, as in "i'm going and probably will never come back or see you folks again", which hopefully is false :o).. but I'm just another pt_BR speaker hehe. 20:13
audreyt oh. :) 20:14
babelfish--
tchau :)
20:21 araujo joined 20:33 Aankhen`` joined, justatheory joined 20:35 BooK_ joined 20:38 duend joined
nothingmuch oh woot! 20:40
if i understand correctly Pugs.Prim is becoming really OO?
audreyt++
cmarcelo++
cmarcelo nothingmuch: that's the idea 20:47
svnbot6 r14727 | fglock++ | MP6 - parses Emitter.pm 20:55
20:56 weinig is now known as weinig|bbl 21:02 cjeris joined 21:07 thepler joined
anatolyv ?seen TimToady 21:10
lambdabot TimToady is in #perl6. I last heard TimToady speak 15h 55m 9s ago.
21:20 scsibug joined 21:28 thepler joined 21:30 dduncan joined 21:38 justatheory joined 21:39 wilx joined 21:41 lichtkind joined 21:42 hexmode joined 21:56 weinig|bbl is now known as weinig 22:01 cm joined 22:08 gnuvince joined 22:23 ivas left 22:25 araujo joined 22:35 jferrero joined
dolmen ?seen audreyt 22:41
lambdabot audreyt is in #perl6, #haskell and #ghc. I last heard audreyt speak 2h 26m 6s ago.
22:53 rdice joined 23:14 crem_ joined 23:36 SubStack joined