Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-09-03

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:00 syntheticore joined #perl6
00:01 pugs_svn r28174 | lwall++ | [S01] generalize .p6 slightly as suggested by dduncan++
00:01 TimToady you're a welcome Guest15284 here
00:01 rbaumer joined #perl6
00:01 s1n Guest15284: it's okay, there are plenty of lurkers :)
00:03 TimToady and lurkees
00:04 pmichaud I always find myself getting hung up when my wife sends me to the store and I can't find what she requested.
00:04 jnthn Hanging is a cruel punishment.
00:04 pmichaud I end up taking a long time search for what she requested, and then she eventually calls with "where are you?" and I have to say "I can't find the foowidget you asked for" and she says "oh, maybe they don't have those there."
00:04 pmichaud *searching
00:05 PerlJam pmichaud: perhaps the two of you should shop together
00:05 pmichaud Paula is definitely not a shopper -- she wants to get out of stores as quickly as possible.
00:05 s1n sounds like me
00:05 Sorensen Seems like a benefit
00:05 pmichaud so yes, we get faster "not found exceptions" when she's there with me.
00:05 jnthn I'd count that as a plus. :-)
00:06 pmichaud in my case it's that I don't want to return empty-handed from her request only to later discover that the foowidget she requested was in fact there but clueless me didn't know where to look.  :)
00:06 jnthn :-)
00:07 s1n pmichaud: you'd get the fastest 404's if she went alone
00:07 pmichaud "Foowidget not found on Aisle 42" or something like that :)
00:07 pmichaud s1n: if she's sending me to the store for something, it's nearly always because she's unable to do it herself for some reason :)
00:07 jnthn EBORED
00:07 pmichaud (and it's important enough that it can't wait)
00:08 s1n all the more reason for her to hurry :)
00:08 pmichaud so, anyway, perhaps my algorithm is like firefox's search algorithm.  Both probably should be fixed :)
00:09 Sorensen Hey wait a second.  What does "generic" mean in "generic division" and "generic modulus"?  How do "div" and "/" or "mod" and "%" behave differently?
00:11 TimToady generic means "decided by the types involved" in this case
00:11 ihrd joined #perl6
00:11 PerlJam I don't want generic division, I want name-brand division.
00:12 TimToady whereas the / and % are name-brand :)
00:12 pmichaud PerlJam: you have to pay extra for that.
00:12 TimToady and it limits your choices
00:12 TimToady actually, it's kind the other way around, for that definition of generic
00:13 TimToady I want "Int" brand division
00:13 Sorensen So you could do a "my @thirds = $string div 3" ... or something?  Since it's not numerical, name-brand division?
00:13 TimToady and / means pretend they're reals
00:13 TimToady not unless someone defines Str div Int
00:13 TimToady that's not a built-in
00:14 Sorensen But you couldn't define your own Str / Int, right?
00:14 syntheticore Hello everybody
00:14 jnthn pmichaud: I did half a Rakudo day (well, bit over a half) and spent it hacking Blizkost to make it have a small chance of being useful for something. I'll do the other just-under-half tomorrow. Anything you want me to look at, given I'm going to be rather distracted in general over the next month?
00:14 PerlJam Sorensen: "couldn't"?  I don't think perl knows that word.
00:14 TimToady yes, you could do that too, but it would be going against the spirit of / a bit more
00:14 syntheticore I would like to write a vector/matrix class for rakudo
00:14 syntheticore where would that go?
00:14 syntheticore the setting?
00:14 PerlJam deja vu
00:15 TimToady and in fact that's more or less what we do with Int / Int to force it to return a Rat
00:15 syntheticore or is there something like a planned "standrd library"?
00:16 jnthn syntheticore: hi!
00:16 syntheticore hi :)
00:16 jnthn syntheticore: If it's something that is in the synopses, it belongs in the setting.
00:16 Sorensen (A few weeks ago I had deja vu about having deja vu about what I was doing.  First time I ever had recusive deja vu before.)
00:17 syntheticore jnthn: ok, thanks I'm gonna check those
00:17 jnthn Otherwise it doesn't belong there, but that shouldn't stop you working on a module. :-)
00:17 TimToady you're not doing a very good job of lurking, Sorensen :P
00:17 pmichaud syntheticore: you might also be intrested in http://lastofthecarelessmen.blogspot.com/2009/08/vector-well-i-had-thought-i-was-done.html
00:17 jnthn syntheticore: I think http://lastofthecarelessmen.blogspot.com/ may be working on something similar-ish too.
00:18 jnthn gah, pm beats me again. :-P
00:18 pmichaud "the beatings will continue until morale improves!"
00:19 ihrd1 joined #perl6
00:19 Sorensen (I got distracted from not-lurking and am looking over this beast: http://www.ozonehouse.com/mark/periodic/ ...  Too bad it's not hyperlinked (yet))
00:19 pmichaud I need to write an article detailing the difference between "standard in the language" versus "standard in a distribution".
00:19 jnthn pmichaud: I was pondering that, but I'm sorta packing too. :-)
00:20 pmichaud I wonder if Mark Lentczner is thinking of doing an update to that table anytime soon :)
00:20 pmichaud we need to come up with a "poster release cycle" that can track changes to the synopsis :)
00:21 TimToady well, an errata list would be a start
00:21 pmichaud perhaps we should also post a link from perl6.org to the periodic table
00:21 TimToady is one, I think
00:21 Sorensen That's how I got there :P
00:21 pmichaud D'oh!
00:22 pmichaud If it's not in the first three places I look, it doesn't exist.
00:22 pmichaud Hey, look, there's a download button on that page, too!!! :)
00:22 sjohnson yep.  a happy Toady is a productive Toady
00:22 s1n indirectly off topic: anyone own a netbook with a factory ssd? i'm curious what the performance is like
00:22 ihrd1 left #perl6
00:22 Sorensen Although this now inspires me to Google for "periodtic table" and some other thing that I like.    Let's see if there's a periodic table of languages....
00:22 pmichaud Periodic table of language mascots.
00:22 sjohnson s1n: my bro bought an intel SSD so not stock, but he said it was awesome
00:22 TimToady my favorite chemical is periodic acid
00:22 TimToady no, not LSD
00:23 pmichaud s1n: my SSD is an intel SSD, it wasn't "factory ssd" but that's the ssd that hp uses in their notebooks
00:23 pmichaud (I don't know if that's what they use in their netbooks... very unlikely given the price)
00:24 syntheticore jnthn: Ok, so I found no Vector type in the Synopses
00:24 pmichaud syntheticore: the closest thing at present would be synopsis 9
00:25 pmichaud there's not a vector type explicitly but there are ways to make things act matrix-y
00:25 syntheticore jnthn: so where would the guy developing the vector class put it? Not in Rakudo itself at all?
00:25 pmichaud syntheticore: just write a module for it
00:26 pmichaud effectively that's all I did with the Rat implementation -- I wrote it as a module and didn't really need to modify existing Rakudo much at all to get it to work (at least not until we started changing operator definitions :)
00:26 jnthn syntheticore: A lot of people are putting stuff on github, and there's a very basic "installer" called proto that is currently being worked on/expanded etc.
00:26 pmichaud most people have been maintaining their modules on github
00:27 pmichaud gah, jnthn beats me again. :-P
00:28 s1n pmichaud: i can't decide which laptop to buy, one with factory ssd or postpone the ssd until reasonable performance is cheaper
00:28 jnthn "the beatings will continue until PGE is improved!"
00:28 jnthn ;-)
00:28 pmichaud eventually (e.g., for Rakudo Star) we'll get around to the notion of combining the compiler with various library modules to produce a distribution -- at that point we'll probably start pulling modules in from github or wherever we find them
00:28 nihiliad joined #perl6
00:29 pmichaud s1n: I essentially decided to buy the factory ssd aftermarket after the prices came down.  It worked okay for me.
00:29 syntheticore pmichaud: ah ok, so rakudo itself only host stuff thats part of the core language and in the spec!
00:29 pmichaud but prices on my laptop also went down, so if I were buying the same laptop today I'd buy it with the factory ssd because the price points changed a bit
00:30 pmichaud s1n: so I think either way it's a close call, and there aren't really wrong answers :)
00:30 s1n pmichaud: well, i'm using it in a car, so i'm worried about a failing drive
00:30 pmichaud syntheticore: yes.  I'm trying to see if I can make the pivot so that we can distinguish "the Rakudo compiler" from "Rakudo distributions".
00:31 pmichaud we know that in general we want to distinguish "language", "compiler", and "distro"
00:31 s1n pmichaud: i could buy aftermarket, just curious how long i could expect a hdd to last in a car
00:31 pmichaud s1n: I've used laptops in vehicles like cars, trucks, and planes for years without any real problems.
00:32 pmichaud the only time I lost a hd was when my laptop fell from a chair (approx 15") while it was doing a compile
00:32 pmichaud even then I didn't "lose the hd" completely -- I just lost a few sectors (but had to reinstall to get it to work at all)
00:33 s1n this will be used almost exclusively in a car (rakudo carrides :) )
00:33 pmichaud well, here's the math
00:33 TimToady just install linux on the car's computer
00:33 pmichaud if you get a laptop with a traditional hdd, you'll save a couple hundred at the outset
00:34 pmichaud if it lasts two weeks and fails, you can then buy an ssd and you'll still break about even
00:34 pmichaud if it lasts a year and fails, you're way ahead
00:36 pmichaud all that said, I _really_ like my ssd :)
00:45 nbrown joined #perl6
00:47 jnthn OK, sleep time...night all
01:04 payload joined #perl6
01:28 frew__ joined #perl6
01:33 carlin joined #perl6
01:49 felipe joined #perl6
01:53 spinclad perl6: say :10<12.34>
01:53 p6eval elf 28174: OUTPUT«Unknown rule: rad_number␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
01:53 p6eval ..rakudo c9a930: OUTPUT«12␤»
01:53 p6eval ..pugs: OUTPUT«12.34␤»
01:53 spinclad perl6: say :16<dead.beef>
01:53 p6eval rakudo c9a930: OUTPUT«57005␤»
01:53 p6eval ..elf 28174: OUTPUT«Unknown rule: rad_number␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
01:53 p6eval ..pugs: OUTPUT«57005.7458343505859375␤»
01:54 spinclad pugs++
01:55 alanhaggai joined #perl6
01:56 spinclad perl6: say :10<1234>/:10<100>
01:56 p6eval elf 28174: OUTPUT«Unknown rule: rad_number␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
01:56 p6eval ..pugs, rakudo c9a930: OUTPUT«12.34␤»
01:56 spinclad perl6: say :16<dead_beef>/:16<10000>
01:56 p6eval elf 28174: OUTPUT«Unknown rule: rad_number␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
01:56 p6eval ..rakudo c9a930: OUTPUT«-32768␤»
01:56 p6eval ..pugs: OUTPUT«57005.7458343505859375␤»
01:57 spinclad rakudo: say :16<dead_beef>
01:57 p6eval rakudo c9a930: OUTPUT«3735928559␤»
01:57 spinclad rakudo: say :16<10000>
01:57 p6eval rakudo c9a930: OUTPUT«65536␤»
01:58 spinclad rakudo: say 3735928559/65536
01:58 p6eval rakudo c9a930: OUTPUT«-32768␤»
01:59 spinclad rakudo: say 373592855/6553
01:59 p6eval rakudo c9a930: OUTPUT«57010.9652067755␤»
02:00 spinclad rakudo: say 1/65536
02:00 p6eval rakudo c9a930: OUTPUT«1.52587890625e-05␤»
02:00 spinclad rakudo: say 37359/65536
02:00 p6eval rakudo c9a930:  ( no output )
02:00 spinclad rakudo: say 37359/65536
02:00 p6eval rakudo c9a930: OUTPUT«0.570053100585938␤»
02:01 spinclad rakudo: say 37359285/65536
02:01 p6eval rakudo c9a930: OUTPUT«570.05744934082␤»
02:01 spinclad rakudo: say 373592855/65536
02:01 p6eval rakudo c9a930: OUTPUT«5700.57456970215␤»
02:01 spinclad well, enough spam.  time to rakudobug...
02:08 justatheory joined #perl6
02:14 agentzh joined #perl6
02:15 jhuni joined #perl6
02:34 satrac joined #perl6
02:40 satrac joined #perl6
02:43 sri_kraih joined #perl6
02:55 colomon joined #perl6
02:57 nbrown_ joined #perl6
02:59 jaldhar joined #perl6
03:14 rbaumer joined #perl6
03:19 pmichaud TimToady: ping
03:19 stephenlb pong
03:20 donaldh joined #perl6
03:21 pmichaud TimToady: I'm working on contextual variables could use a confirmation/clarification -- what would be output by http://gist.github.com/180109 ?
03:21 stephenlb left #perl6
03:22 pmichaud *and could
03:22 pmichaud I'm thinking the output would be 'outer'
03:22 spinclad .oO{ stephenlb does TimToady has left }
03:22 pmichaud .oO{ yes I noticed }
03:23 diakopter I can't think of a reason it wouldn't be 'caller'... isn't the 'my' redundant?
03:23 diakopter the inner 'my'
03:23 pmichaud no
03:23 pmichaud the inner my is creating a new contextual variable
03:24 pmichaud imagine it this way...
03:24 pmichaud actually, just imagine it without the *'s being present
03:24 ruoso pmichaud, I think it is "outer"
03:24 pmichaud if the *'s aren't present, it's fairly certain to be 'outer'
03:24 ruoso somewhere in the spec changes, there's a CALLER::<$*VAR>
03:25 pmichaud well, the whole point of the * twigil is to say "look up the dynamic scope"
03:25 ruoso I think the spec says "if you want it to avoid the lexically scoped $*VAR, use CALLER<$*VAR>
03:25 diakopter I thought contextual variables were just "dynamically scoped" by another name
03:25 pmichaud ruoso: it does say that... however, I'm not sure how some parts of STD can work then
03:26 ruoso I think STD doesn't try to do anything about $*VAR ...
03:26 ruoso it assumes it is dynamic
03:26 ruoso but I might be wrong
03:26 pmichaud right, but it also has lexically scoped contextuals at the top
03:26 pmichaud and so all of the places that use those lexically scoped contextuals would never "see" the dynamic ones
03:27 ruoso except if you ask for it
03:27 pmichaud ...but they don't
03:27 ruoso CALLER::<$*VAR>
03:27 ruoso ah...
03:27 ruoso I see what you mean....
03:28 ruoso thinking a bit,
03:28 ruoso it actually is a good idea
03:28 ruoso because it means the variables initialized on top of STD
03:28 ruoso actually need to be initialized by the code calling STD
03:29 diakopter perhaps STD (and viv and such) hasn't been updated for the new semantics..?
03:29 pmichaud I don't think this is a change in semantics in that respect
03:29 ruoso diakopter, I think TimToady haven't realized this side-effect
03:30 diakopter that's not inconsistent with my guess...
03:31 pmichaud diakopter: yes, but your guess doesn't match the description in S02
03:32 pmichaud S02:2112
03:32 pmichaud "If after scanning all the lexical scopes of each dynamic scope,
03:32 pmichaud there is no variable of that name, it looks in the C<GLOBAL> package followed
03:32 pmichaud by the C<PROCESS> package.
03:33 pmichaud "all the lexical scopes" sounds to me like it looks in the outers of each dynamic scope
03:34 pmichaud (which I would interpret to mean the outer of the current scope also; in sub foo's case this means that $*FOO sees its outer $*FOO before it sees its caller's $*FOO
03:34 * spinclad 2
03:36 pmichaud the alternative would seem to be to have contextuals strictly look up the dynamic scopes, but not any of their outer scopes
03:36 spinclad if a 'my $*FOO' governs this place, it would never see the caller's.  doesn't sound quite like i think of a dynamic var...
03:37 pmichaud spinclad: sure; I think the original thinking is that subroutines like foo would be defined in a scope where there is no outer contextual of the same name
03:38 pmichaud spinclad: then it would look up the caller's scopes
03:38 pmichaud the other alternative would be to start changing alot of $*FOO in STD.pm to be CALLER::<$*FOO>
03:38 spinclad (sorry, haven't seen your gist, trying to compile setting on an undermemmed machine)
03:38 pmichaud oh
03:39 pmichaud it makes much more sense with the gist :-)
03:39 spinclad (bbut i think i may have the picture)
03:39 satrac joined #perl6
03:39 pmichaud it also makes more sense if I stick with $*VAR (from the gist) instead of $*FOO .  ETOOMANYFOO :-)
03:41 diakopter I disagree; since the block with 'caller' is "between" the scope chains of the inside of foo() and where $*VAR ::= 'outer', it will override it.
03:42 pmichaud I'll rewrite it then
03:42 spinclad $*FOO = 1;  sub one { my $*FOO = 42; sub two {  $*FOO    #[ which one? ] }; };  say one()();
03:43 ssandv joined #perl6
03:44 pmichaud http://gist.github.com/180119
03:44 diakopter spinclad: I think "1"
03:44 diakopter otherwise it's just normal closure behavior...?
03:45 spinclad one returns two with a lexical $*FOO; caller calls two with a dynamic $*FOO.
03:45 spinclad i agree
03:45 pmichaud look at gist 180119
03:46 spinclad i don't see a use case for scanning any lexical scope, as yet
03:46 spinclad i try looking with links...
03:46 spinclad *i'll
03:48 pmichaud at the moment I think I'm okay if we say that we strictly scan the dynamic scopes but not their outer scopes; I just needed a clarification if that's indeed to be the case.
03:48 pmichaud I can come up with strange effects in that one too, but at least those strange effects don't contradict STD.pm
03:48 pmichaud (or don't contradict my reading of STD.pm, which can be flawed also)
03:48 hcchien joined #perl6
03:49 diakopter maybe it means "scan the outer scopes when direct callstack resolution fails"?
03:49 tak11 joined #perl6
03:49 mepplock joined #perl6
03:49 pmichaud that doesn't seem to match my reading of S02:2112
03:49 pmichaud The C<CONTEXT> pseudo-package is just like C<CALLER> except that
03:49 pmichaud it starts in the current dynamic scope and from there
03:49 pmichaud scans outward through all dynamic scopes until it finds a
03:49 pmichaud contextual variable of that name in that context's lexical scope.
03:50 diakopter "that context's *immediate* lexical scope", right?
03:50 pmichaud it doesn't say that
03:51 diakopter oh
03:51 pmichaud and the sentence that follows contains the "all the lexical scopes of each dynamic scope"
03:51 diakopter that's how I was reading it (obviously) :P
03:52 pmichaud anyway, I have some household chores to take care of; hopefully TimToady++ will find this in the backscroll and be able to answer
03:52 diakopter I was reading that as redundant discourse; in other words "all the lexical scopes, namely each _dynamic_ lexical scope"
03:52 diakopter either way, it's unclear, yeah
03:53 pmichaud yeah
03:53 spinclad (for both gists  i favor 'caller') (more)
03:54 pmichaud spinclad: I favor 'caller' too, but need a spec clarification to confirm that.  Especially since this will mean changing a Parrot opcode (which will require a deprecation cycle and blah-blah-blah)
04:00 alanhaggai joined #perl6
04:02 spinclad i want to say that what the spec should say should amount to $*FOO's dynamic visibility (immediate, then CALLER, etc), and immediate visibility ... does not use the lexical chain at all, but the chain of active local callers, so it's all just CALLER chain.
04:03 spinclad (sorry for incoherencee)
04:06 spinclad so within a sub you have a finer-grained dynamic chain which often parallels the lexical chain, except when it doesn't (returning and invoking closures, for example).
04:07 spinclad and perhaps it's thinking of this local dynamic chain as the lexical chain that has led to the spec's current language.
04:08 SmokeMachine joined #perl6
04:09 diakopter it enables some very interesting dynamic/meta-programming... e.g. passing around references/aliases to contextuals that were bound to routines
04:10 diakopter actually... one could model the symbol resolution fairly straightforward[ly] using javascript
04:11 spinclad anyway, agreed on needing clarification
04:12 diakopter (in this little restricted JS dialect/API, each function would always contain a with(){} wrapper around all its contents, where the value in the with() (the object whose properties' prototype chain is injected in front of the normal closure/declaration scope chain) is always some particular property of the function object
04:12 diakopter or a particular named argument
04:12 diakopter or whatever
04:12 diakopter )
04:14 diakopter and that injected object can contain exclusively properties that contain an * after the sigil
04:14 diakopter and so forth.
04:14 spinclad so it carries its lexical env around explicitly  then?
04:14 diakopter sure... it's like a little separate callstack
04:16 spinclad a nice way of implementing closures, with room for *-tweaks, as you say
04:17 diakopter it's how I implemented closures (and JS scope chains and JS prototype chains) in my little JS implementation in C#... well, using the same principles
04:20 dukeleto joined #perl6
04:37 charsbar_ joined #perl6
04:38 d4l3k_ joined #perl6
04:39 [particle]1 joined #perl6
04:41 jnthn joined #perl6
04:41 cookys joined #perl6
04:41 zol joined #perl6
04:41 sunnavy joined #perl6
04:41 bloonix_ joined #perl6
04:41 bigpresh_ joined #perl6
04:41 edenc joined #perl6
04:41 cosimo joined #perl6
04:41 shachaf joined #perl6
04:41 jantore joined #perl6
04:41 BinGOs joined #perl6
04:41 wolverian joined #perl6
04:41 tomaw` joined #perl6
04:41 literal joined #perl6
04:41 tarbo2_ joined #perl6
04:41 he_ joined #perl6
04:41 Caelum joined #perl6
04:41 eldragon2 joined #perl6
04:41 mee joined #perl6
04:41 spinclad joined #perl6
04:41 nicomen joined #perl6
04:41 andreasg_ joined #perl6
04:41 christine joined #perl6
04:41 obra_ joined #perl6
04:41 broquaint joined #perl6
04:41 ascent joined #perl6
04:41 ingy joined #perl6
04:41 yahooooo joined #perl6
04:41 z joined #perl6
04:41 eiro joined #perl6
04:41 Aisling joined #perl6
04:41 Gothmog_ joined #perl6
04:41 yves joined #perl6
04:41 cxreg joined #perl6
04:41 arthur-- joined #perl6
04:41 cblaptop joined #perl6
04:41 mattp_ joined #perl6
04:41 sjn joined #perl6
04:41 kolibrie joined #perl6
04:41 pjcj joined #perl6
04:41 Trey joined #perl6
04:41 TimToady joined #perl6
04:41 Juerd joined #perl6
04:41 ruz_ joined #perl6
04:41 arnsholt joined #perl6
04:41 renormalist joined #perl6
04:41 omega joined #perl6
04:41 Rint joined #perl6
04:41 szbalint joined #perl6
04:41 integral joined #perl6
04:41 Grrrr joined #perl6
04:41 frettled joined #perl6
04:41 awwaiid joined #perl6
04:41 bionoid joined #perl6
04:41 p6eval joined #perl6
04:41 Ryan52 joined #perl6
04:41 ewilhelm joined #perl6
04:41 breinbaas joined #perl6
04:41 lisppaste3 joined #perl6
04:41 xalbo joined #perl6
04:41 nsh joined #perl6
04:41 xinming joined #perl6
04:41 quietfanatic joined #perl6
04:41 krunen joined #perl6
04:41 Khisanth joined #perl6
04:41 r0bby joined #perl6
04:41 Eevee joined #perl6
04:41 rhr joined #perl6
04:41 reqamst joined #perl6
04:41 cono joined #perl6
04:41 PZt joined #perl6
04:41 cognominal joined #perl6
04:41 Patterner joined #perl6
04:41 alester joined #perl6
04:41 gbacon joined #perl6
04:41 kst joined #perl6
04:41 RonOreck joined #perl6
04:41 jan_ joined #perl6
04:41 cotto joined #perl6
04:41 zamolxes joined #perl6
04:41 zaphar_ps joined #perl6
04:41 huf joined #perl6
04:41 kent\n joined #perl6
04:41 Jedai joined #perl6
04:41 felipe joined #perl6
04:41 rbaumer joined #perl6
04:41 donaldh joined #perl6
04:41 japhb joined #perl6
04:41 nothingmuch joined #perl6
04:41 buu joined #perl6
04:41 JarJarBinks joined #perl6
04:41 athomason joined #perl6
04:41 PerlJam joined #perl6
04:41 patmat_ joined #perl6
04:41 Maddingue joined #perl6
04:41 lambdabot joined #perl6
04:41 c9s joined #perl6
04:41 PacoLinux joined #perl6
04:41 frodwith joined #perl6
04:41 KatrinaTheLamia joined #perl6
04:41 Matt-W joined #perl6
04:41 chipdude joined #perl6
04:41 hatseflats joined #perl6
04:41 diakopter joined #perl6
04:41 pioto joined #perl6
04:41 cj joined #perl6
04:41 krakan joined #perl6
04:41 betterwosld joined #perl6
04:41 psychoschlumpf joined #perl6
04:41 Tene joined #perl6
04:41 meteorjay joined #perl6
04:41 frew_ joined #perl6
04:41 s1n joined #perl6
04:41 silug joined #perl6
04:41 sbp joined #perl6
04:41 phenny joined #perl6
04:41 simcop2387 joined #perl6
04:41 pugs_svn joined #perl6
04:41 buubot joined #perl6
04:41 elmex joined #perl6
04:41 ezra joined #perl6
04:41 jeekobu joined #perl6
04:41 frew__ joined #perl6
04:41 carlin joined #perl6
04:41 colomon joined #perl6
04:41 tak11 joined #perl6
04:41 pmichaud joined #perl6
04:41 mtve joined #perl6
04:41 Woody2143 joined #perl6
04:41 REPLeffect joined #perl6
04:41 jaldhar joined #perl6
04:41 akl joined #perl6
04:41 jjore joined #perl6
04:41 jrockway joined #perl6
04:41 leedo joined #perl6
04:41 nbrown_ joined #perl6
04:41 ssandv joined #perl6
04:41 [particle] joined #perl6
04:41 jhuni joined #perl6
04:41 agentzh joined #perl6
04:41 payload joined #perl6
04:41 solarion joined #perl6
04:41 mikehh joined #perl6
04:41 szabgab joined #perl6
04:41 rjh joined #perl6
04:41 baest joined #perl6
04:41 Confield joined #perl6
04:41 dbrock joined #perl6
04:41 gfldex joined #perl6
04:41 rafl joined #perl6
04:41 mj41 joined #perl6
04:41 Infinoid joined #perl6
04:41 ilogger2 joined #perl6
04:41 dmpk2k joined #perl6
04:47 xomas joined #perl6
04:53 christine joined #perl6
04:57 TimToady the intent is to follow only the dynamic chain, not the lexical chain
05:02 diakopter fall back to looking in each caller's lexical chain if the dynamic chain fails?
05:04 diakopter @messages
05:07 lambdabot joined #perl6
05:10 drybowser6 joined #perl6
05:13 pmichaud so, something like... http://gist.github.com/180138 ?
05:14 pmichaud oops, rewriting
05:14 pmichaud http://gist.github.com/180140
05:14 pmichaud (better)
05:17 TimToady returns caller
05:17 pmichaud in the first call to $a(), returns caller
05:17 pmichaud in the second call to $a() ... ?
05:17 TimToady not found
05:17 pmichaud okay.
05:17 pmichaud wfm
05:18 pmichaud thanks
05:18 pmichaud (unfortunately I now have to deal with Parrot deprecations again... but we'll make that work out somehow)
05:18 pugs_svn r28175 | lwall++ | [S02] some clarification of $*foo searching
05:18 diakopter Parrot-kabob
05:19 pmichaud TimToady++  # MUCH clearer, thanks
05:21 diakopter TimToady: what about binding a contextual to a symbol in a caller's scope... that's another contextual
05:21 Confield joined #perl6
05:22 pmichaud that's just   my $*contextual := CALLER::<$*foo>   # I think
05:23 diakopter that's what I mean... but then the leaf calls its caller...
05:23 pmichaud I don't quite understand.
05:23 pmichaud "leaf" in particular
05:23 diakopter sorry; :) I'm tilting at windmills
05:23 meppl joined #perl6
05:23 diakopter the leaf block
05:24 diakopter the deepest stack frame
05:24 pmichaud then I don't understand "calls its caller"  :-)
05:25 pmichaud (sorry if I'm seeming dense... I'm just not following the words here.  It's a bit late here, too)
05:25 diakopter calls the block that was its caller.  but not necessarily in a non-terminating way.
05:25 pmichaud as in a recursive call?
05:26 diakopter I'm trying to explore the cases that might need trapping
05:26 pmichaud good idea :)
05:26 pmichaud anyway, if it's a recursive call then the recursive call ends up with a new lexpad
05:26 pmichaud and a new $*foo
05:26 TimToady correct
05:26 pmichaud and that doesn't affect the "leaf" binding to its caller
05:27 pmichaud *its caller's $*foo
05:27 TimToady so $*contextual gets the outer, and $*foo gets the inner
05:27 pmichaud right.
05:30 TimToady it's likely that declaration of a contextual disables tail-call optimization though
05:30 diakopter ok. that makes me suspect that it would be extremely handy to be able to quickly iterate up through recursive CALLERs
05:30 ihrd joined #perl6
05:31 diakopter quickly meaning typing-wise
05:31 TimToady if we allow aliasing of a caller's contextual
05:31 TimToady that is
05:33 pmichaud TimToady++ # another karma point simply because the spec changes this past week have made things much clearer and more straightforward
05:35 cognominal p6eval in #perlfr is a big success. Go viral!
05:35 cognominal moritz_++
05:38 cognominal the only complaint is that it does not print the result  by default
05:38 cognominal ...like say was to long to type :)
05:39 pmichaud that's a (known) problem with rakudo's REPL in general
05:39 pmichaud it's on the boards to get fixed soon
05:41 cognominal they did not YET notice that it wraps a conceptual block so that lexical declaration are lost...
05:43 pmichaud that's on the boards to be fixed also
05:45 cognominal I did not go to YAPC::EU, people on #perlfr appreciated everything Perl 6 at that event
05:52 jnthn joined #perl6
05:52 meppl joined #perl6
05:52 christine joined #perl6
05:52 xomas joined #perl6
05:52 cookys joined #perl6
05:52 zol joined #perl6
05:52 sunnavy joined #perl6
05:52 bloonix_ joined #perl6
05:52 bigpresh_ joined #perl6
05:52 edenc joined #perl6
05:52 cosimo joined #perl6
05:52 shachaf joined #perl6
05:52 jantore joined #perl6
05:52 BinGOs joined #perl6
05:52 wolverian joined #perl6
05:52 tomaw` joined #perl6
05:52 literal joined #perl6
05:52 tarbo2_ joined #perl6
05:52 he_ joined #perl6
05:52 Caelum joined #perl6
05:52 eldragon2 joined #perl6
05:52 mee joined #perl6
05:52 spinclad joined #perl6
05:52 nicomen joined #perl6
05:52 andreasg_ joined #perl6
05:52 obra_ joined #perl6
05:52 broquaint joined #perl6
05:52 ascent joined #perl6
05:52 ingy joined #perl6
05:52 yahooooo joined #perl6
05:52 z joined #perl6
05:52 eiro joined #perl6
05:52 Aisling joined #perl6
05:52 Gothmog_ joined #perl6
05:52 yves joined #perl6
05:52 cxreg joined #perl6
05:52 arthur-- joined #perl6
05:52 cblaptop joined #perl6
05:52 mattp_ joined #perl6
05:52 sjn joined #perl6
05:52 kolibrie joined #perl6
05:52 pjcj joined #perl6
05:52 Trey joined #perl6
05:52 TimToady joined #perl6
05:52 Juerd joined #perl6
05:52 ruz_ joined #perl6
05:52 arnsholt joined #perl6
05:52 renormalist joined #perl6
05:52 omega joined #perl6
05:52 Rint joined #perl6
05:52 szbalint joined #perl6
05:52 integral joined #perl6
05:52 Grrrr joined #perl6
05:52 frettled joined #perl6
05:52 awwaiid joined #perl6
05:52 bionoid joined #perl6
05:52 p6eval joined #perl6
05:52 Ryan52 joined #perl6
05:52 ewilhelm joined #perl6
05:52 breinbaas joined #perl6
05:52 lisppaste3 joined #perl6
05:52 xalbo joined #perl6
05:52 nsh joined #perl6
05:52 xinming joined #perl6
05:52 quietfanatic joined #perl6
05:52 krunen joined #perl6
05:52 Khisanth joined #perl6
05:52 r0bby joined #perl6
05:52 Eevee joined #perl6
05:52 rhr joined #perl6
05:52 reqamst joined #perl6
05:52 cono joined #perl6
05:52 PZt joined #perl6
05:52 cognominal joined #perl6
05:52 Patterner joined #perl6
05:52 alester joined #perl6
05:52 gbacon joined #perl6
05:52 kst joined #perl6
05:52 RonOreck joined #perl6
05:52 jan_ joined #perl6
05:52 cotto joined #perl6
05:52 zamolxes joined #perl6
05:52 zaphar_ps joined #perl6
05:52 huf joined #perl6
05:52 kent\n joined #perl6
05:52 Jedai joined #perl6
05:52 felipe joined #perl6
05:52 rbaumer joined #perl6
05:52 donaldh joined #perl6
05:52 japhb joined #perl6
05:52 silug joined #perl6
05:52 sbp joined #perl6
05:52 phenny joined #perl6
05:52 simcop2387 joined #perl6
05:52 pugs_svn joined #perl6
05:52 buubot joined #perl6
05:52 elmex joined #perl6
05:52 ezra joined #perl6
05:52 jeekobu joined #perl6
05:52 carlin joined #perl6
05:52 colomon joined #perl6
05:52 pmichaud joined #perl6
05:52 mtve joined #perl6
05:52 Woody2143 joined #perl6
05:52 REPLeffect joined #perl6
05:52 jaldhar joined #perl6
05:52 akl joined #perl6
05:52 jjore joined #perl6
05:52 jrockway joined #perl6
05:52 leedo joined #perl6
05:52 nbrown_ joined #perl6
05:52 ssandv joined #perl6
05:52 jhuni joined #perl6
05:52 payload joined #perl6
05:52 solarion joined #perl6
05:52 mikehh joined #perl6
05:52 szabgab joined #perl6
05:52 rjh joined #perl6
05:52 baest joined #perl6
05:52 dbrock joined #perl6
05:52 gfldex joined #perl6
05:52 rafl joined #perl6
05:52 mj41 joined #perl6
05:52 Infinoid joined #perl6
05:52 ilogger2 joined #perl6
05:52 dmpk2k joined #perl6
05:53 s1n joined #perl6
05:53 frew_ joined #perl6
05:53 meteorjay joined #perl6
05:53 Tene joined #perl6
05:53 psychoschlumpf joined #perl6
05:53 betterwosld joined #perl6
05:53 krakan joined #perl6
05:53 cj joined #perl6
05:53 pioto joined #perl6
05:53 diakopter joined #perl6
05:53 hatseflats joined #perl6
05:53 chipdude joined #perl6
05:53 Matt-W joined #perl6
05:53 lambdabot joined #perl6
05:53 KatrinaTheLamia joined #perl6
05:53 frodwith joined #perl6
05:53 PacoLinux joined #perl6
05:53 c9s joined #perl6
05:53 Maddingue joined #perl6
05:53 patmat_ joined #perl6
05:53 PerlJam joined #perl6
05:53 athomason joined #perl6
05:53 JarJarBinks joined #perl6
05:53 buu joined #perl6
05:53 nothingmuch joined #perl6
05:53 akl joined #perl6
05:58 rfordinal joined #perl6
05:59 rfordinal left #perl6
06:25 jnthn joined #perl6
06:25 meppl joined #perl6
06:25 christine joined #perl6
06:25 xomas joined #perl6
06:25 cookys joined #perl6
06:25 zol joined #perl6
06:25 sunnavy joined #perl6
06:25 bloonix_ joined #perl6
06:25 bigpresh_ joined #perl6
06:25 edenc joined #perl6
06:25 cosimo joined #perl6
06:25 shachaf joined #perl6
06:25 jantore joined #perl6
06:25 BinGOs joined #perl6
06:25 wolverian joined #perl6
06:25 tomaw` joined #perl6
06:25 literal joined #perl6
06:25 tarbo2_ joined #perl6
06:25 he_ joined #perl6
06:25 Caelum joined #perl6
06:25 eldragon2 joined #perl6
06:25 mee joined #perl6
06:25 spinclad joined #perl6
06:25 nicomen joined #perl6
06:25 andreasg_ joined #perl6
06:25 obra_ joined #perl6
06:25 broquaint joined #perl6
06:25 ascent joined #perl6
06:25 ingy joined #perl6
06:25 yahooooo joined #perl6
06:25 z joined #perl6
06:25 eiro joined #perl6
06:25 Aisling joined #perl6
06:25 Gothmog_ joined #perl6
06:25 yves joined #perl6
06:25 cxreg joined #perl6
06:25 arthur-- joined #perl6
06:25 cblaptop joined #perl6
06:25 mattp_ joined #perl6
06:25 sjn joined #perl6
06:25 kolibrie joined #perl6
06:25 pjcj joined #perl6
06:25 Trey joined #perl6
06:25 TimToady joined #perl6
06:25 Juerd joined #perl6
06:25 ruz_ joined #perl6
06:25 arnsholt joined #perl6
06:25 renormalist joined #perl6
06:25 omega joined #perl6
06:25 Rint joined #perl6
06:25 szbalint joined #perl6
06:25 integral joined #perl6
06:25 Grrrr joined #perl6
06:25 frettled joined #perl6
06:25 awwaiid joined #perl6
06:25 bionoid joined #perl6
06:25 p6eval joined #perl6
06:25 Ryan52 joined #perl6
06:25 ewilhelm joined #perl6
06:25 breinbaas joined #perl6
06:25 lisppaste3 joined #perl6
06:25 xalbo joined #perl6
06:25 nsh joined #perl6
06:25 xinming joined #perl6
06:25 quietfanatic joined #perl6
06:25 krunen joined #perl6
06:25 Khisanth joined #perl6
06:25 r0bby joined #perl6
06:25 Eevee joined #perl6
06:25 rhr joined #perl6
06:25 reqamst joined #perl6
06:25 cono joined #perl6
06:25 PZt joined #perl6
06:25 cognominal joined #perl6
06:25 Patterner joined #perl6
06:25 alester joined #perl6
06:25 gbacon joined #perl6
06:25 kst joined #perl6
06:25 RonOreck joined #perl6
06:25 cotto joined #perl6
06:25 zaphar_ps joined #perl6
06:25 huf joined #perl6
06:25 kent\n joined #perl6
06:25 Jedai joined #perl6
06:25 felipe joined #perl6
06:25 rbaumer joined #perl6
06:25 donaldh joined #perl6
06:25 japhb joined #perl6
06:25 silug joined #perl6
06:25 sbp joined #perl6
06:25 phenny joined #perl6
06:25 simcop2387 joined #perl6
06:25 pugs_svn joined #perl6
06:25 buubot joined #perl6
06:25 elmex joined #perl6
06:25 ezra joined #perl6
06:25 jeekobu joined #perl6
06:25 carlin joined #perl6
06:25 colomon joined #perl6
06:25 pmichaud joined #perl6
06:25 mtve joined #perl6
06:25 Woody2143 joined #perl6
06:25 REPLeffect joined #perl6
06:25 jaldhar joined #perl6
06:25 jjore joined #perl6
06:25 jrockway joined #perl6
06:25 leedo joined #perl6
06:25 nbrown_ joined #perl6
06:25 ssandv joined #perl6
06:25 jhuni joined #perl6
06:25 payload joined #perl6
06:25 solarion joined #perl6
06:25 mikehh joined #perl6
06:25 szabgab joined #perl6
06:25 rjh joined #perl6
06:25 baest joined #perl6
06:25 dbrock joined #perl6
06:25 gfldex joined #perl6
06:25 rafl joined #perl6
06:25 mj41 joined #perl6
06:25 Infinoid joined #perl6
06:25 ilogger2 joined #perl6
06:25 dmpk2k joined #perl6
06:26 s1n joined #perl6
06:26 jan joined #perl6
06:26 frew_ joined #perl6
06:26 meteorjay joined #perl6
06:26 Tene joined #perl6
06:26 psychoschlumpf joined #perl6
06:26 betterwosld joined #perl6
06:26 krakan joined #perl6
06:26 cj joined #perl6
06:26 pioto joined #perl6
06:26 diakopter joined #perl6
06:26 hatseflats joined #perl6
06:26 chipdude joined #perl6
06:26 Matt-W joined #perl6
06:26 akl joined #perl6
06:26 lambdabot joined #perl6
06:26 KatrinaTheLamia joined #perl6
06:26 frodwith joined #perl6
06:26 PacoLinux joined #perl6
06:26 c9s joined #perl6
06:26 Maddingue joined #perl6
06:26 patmat_ joined #perl6
06:26 PerlJam joined #perl6
06:26 athomason joined #perl6
06:26 JarJarBinks joined #perl6
06:26 buu joined #perl6
06:26 nothingmuch joined #perl6
06:33 zloyrusskiy joined #perl6
06:39 jnthn joined #perl6
06:39 meppl joined #perl6
06:39 christine joined #perl6
06:39 xomas joined #perl6
06:39 cookys joined #perl6
06:39 zol joined #perl6
06:39 sunnavy joined #perl6
06:39 bloonix_ joined #perl6
06:39 bigpresh_ joined #perl6
06:39 edenc joined #perl6
06:39 cosimo joined #perl6
06:39 shachaf joined #perl6
06:39 jantore joined #perl6
06:39 BinGOs joined #perl6
06:39 wolverian joined #perl6
06:39 tomaw` joined #perl6
06:39 literal joined #perl6
06:39 tarbo2_ joined #perl6
06:39 he_ joined #perl6
06:39 Caelum joined #perl6
06:39 eldragon2 joined #perl6
06:39 mee joined #perl6
06:39 spinclad joined #perl6
06:39 nicomen joined #perl6
06:39 andreasg_ joined #perl6
06:39 obra_ joined #perl6
06:39 broquaint joined #perl6
06:39 ascent joined #perl6
06:39 ingy joined #perl6
06:39 yahooooo joined #perl6
06:39 z joined #perl6
06:39 eiro joined #perl6
06:39 Aisling joined #perl6
06:39 Gothmog_ joined #perl6
06:39 yves joined #perl6
06:39 cxreg joined #perl6
06:39 arthur-- joined #perl6
06:39 cblaptop joined #perl6
06:39 mattp_ joined #perl6
06:39 sjn joined #perl6
06:39 kolibrie joined #perl6
06:39 pjcj joined #perl6
06:39 Trey joined #perl6
06:39 TimToady joined #perl6
06:39 Juerd joined #perl6
06:39 ruz_ joined #perl6
06:39 arnsholt joined #perl6
06:39 renormalist joined #perl6
06:39 omega joined #perl6
06:39 Rint joined #perl6
06:39 szbalint joined #perl6
06:39 integral joined #perl6
06:39 Grrrr joined #perl6
06:39 frettled joined #perl6
06:39 awwaiid joined #perl6
06:39 bionoid joined #perl6
06:39 p6eval joined #perl6
06:39 Ryan52 joined #perl6
06:39 ewilhelm joined #perl6
06:39 breinbaas joined #perl6
06:39 lisppaste3 joined #perl6
06:39 xalbo joined #perl6
06:39 nsh joined #perl6
06:39 xinming joined #perl6
06:39 quietfanatic joined #perl6
06:39 krunen joined #perl6
06:39 Khisanth joined #perl6
06:39 r0bby joined #perl6
06:39 Eevee joined #perl6
06:39 rhr joined #perl6
06:39 reqamst joined #perl6
06:39 cono joined #perl6
06:39 PZt joined #perl6
06:39 cognominal joined #perl6
06:39 Patterner joined #perl6
06:39 alester joined #perl6
06:39 gbacon joined #perl6
06:39 kst joined #perl6
06:39 RonOreck joined #perl6
06:39 cotto joined #perl6
06:39 zaphar_ps joined #perl6
06:39 huf joined #perl6
06:39 kent\n joined #perl6
06:39 Jedai joined #perl6
06:39 felipe joined #perl6
06:39 rbaumer joined #perl6
06:39 donaldh joined #perl6
06:39 japhb joined #perl6
06:39 silug joined #perl6
06:39 sbp joined #perl6
06:39 phenny joined #perl6
06:39 simcop2387 joined #perl6
06:39 pugs_svn joined #perl6
06:39 buubot joined #perl6
06:39 elmex joined #perl6
06:39 ezra joined #perl6
06:39 jeekobu joined #perl6
06:39 carlin joined #perl6
06:39 colomon joined #perl6
06:39 pmichaud joined #perl6
06:39 mtve joined #perl6
06:39 Woody2143 joined #perl6
06:39 REPLeffect joined #perl6
06:39 jaldhar joined #perl6
06:39 jjore joined #perl6
06:39 jrockway joined #perl6
06:39 leedo joined #perl6
06:39 nbrown_ joined #perl6
06:39 ssandv joined #perl6
06:39 jhuni joined #perl6
06:39 payload joined #perl6
06:39 solarion joined #perl6
06:39 mikehh joined #perl6
06:39 szabgab joined #perl6
06:39 rjh joined #perl6
06:39 baest joined #perl6
06:39 dbrock joined #perl6
06:39 gfldex joined #perl6
06:39 rafl joined #perl6
06:39 mj41 joined #perl6
06:39 Infinoid joined #perl6
06:39 ilogger2 joined #perl6
06:39 dmpk2k joined #perl6
06:40 s1n joined #perl6
06:40 Guest34212 joined #perl6
06:40 frew_ joined #perl6
06:40 meteorjay joined #perl6
06:40 Tene joined #perl6
06:40 psychoschlumpf joined #perl6
06:40 betterwosld joined #perl6
06:40 krakan joined #perl6
06:40 cj joined #perl6
06:40 pioto joined #perl6
06:40 diakopter joined #perl6
06:40 hatseflats joined #perl6
06:40 chipdude joined #perl6
06:40 Matt-W joined #perl6
06:40 akl joined #perl6
06:40 lambdabot joined #perl6
06:40 KatrinaTheLamia joined #perl6
06:40 frodwith joined #perl6
06:40 PacoLinux joined #perl6
06:40 c9s joined #perl6
06:40 Maddingue joined #perl6
06:40 patmat_ joined #perl6
06:40 PerlJam joined #perl6
06:40 athomason joined #perl6
06:40 JarJarBinks joined #perl6
06:40 buu joined #perl6
06:40 nothingmuch joined #perl6
06:41 elmex joined #perl6
06:47 zamolxes joined #perl6
06:56 ihrd left #perl6
07:04 Su-Shee joined #perl6
07:04 Su-Shee good morning. :)
07:05 abra joined #perl6
07:06 rfordinal joined #perl6
07:10 zloyrusskiy joined #perl6
07:13 rgrau joined #perl6
07:21 donaldh joined #perl6
07:25 spinclad rakudo: use blizkost; eval q{say 'foo'}, :lang<perl5>
07:25 p6eval rakudo c9a930: OUTPUT«Can't find ./blizkost in @*INC␤in Main (src/gen_setting.pm:445)␤»
07:26 spinclad hi, Su-Shee
07:29 cognominal rakudo:  eval q{say 'foo'}, :lang<perl5>
07:29 p6eval rakudo c9a930: OUTPUT«String found where operator expected at (eval 2) line 1, near "say 'foo'"␤ (Do you need to predeclare say?)␤»
07:31 Confield left #perl6
07:32 spinclad rakudo: eval q{print "foo\n"}, :lang<perl5>
07:32 p6eval rakudo c9a930: OUTPUT«foo␤»
07:33 spinclad blizkost++  # behind the curtain
07:35 spinclad jnthn++  ## blizkost
07:35 cognominal probably need a :lang<perl5.10> to do an implicit    use ':5.10'
07:36 Matt-W Good morning
07:38 spinclad god moanin'
07:39 spinclad rakudo: eval q{use 5.10; say 'foo'}, :lang<perl5>
07:39 p6eval rakudo c9a930: OUTPUT«Perl v5.100.0 required (did you mean v5.10.0?)--this is only v5.10.0, stopped at (eval 2) line 1.␤BEGIN failed--compilation aborted at (eval 2) line 1.␤»
07:39 spinclad rakudo: eval q{use 5.010; say 'foo'}, :lang<perl5>
07:39 p6eval rakudo c9a930: OUTPUT«foo␤»
07:41 spinclad rakudo: eval q{use 5.10.0; say 'foo'}, :lang<perl5>
07:41 p6eval rakudo c9a930: OUTPUT«foo␤»
07:41 Matt-W I always muck up those use version lines in Perl 5 :)
07:42 spinclad perl version syntax has *so* much baggage
07:44 zloyrusskiy joined #perl6
07:44 spinclad 'sure, blame the victim!'    ## wait, who's the victim here, anyway?
07:45 ssm joined #perl6
07:49 iblechbot joined #perl6
07:55 mberends joined #perl6
07:57 JimmyZ joined #perl6
08:03 cognominal what is the auto_attrs flag in a pmc?
08:05 JimmyZ cognominal: It's not #parrot.
08:05 eMaX joined #perl6
08:12 mberends phenny, tell masak proto TODO has a few more changes
08:12 phenny mberends: I'll pass that on when masak is around.
08:31 jferrero joined #perl6
08:39 jnthn morning
08:41 spinclad ohaiitzjnthn!!!
08:43 Matt-W jnthn!!
08:43 sjohnson happiness is ours
08:44 * Matt-W basks in the presence
08:45 * sjohnson dances
08:46 * spinclad basks, generally
08:47 jnthn Sheesh, calm down. :-)
08:47 Matt-W Sorry, it's the post-holiday headrush
08:47 cognominal hugme, hug jnthn
08:47 * hugme hugs jnthn
08:47 Matt-W I'm suffering from a sudden drop in the fish and chips level in my bloodstream
08:47 Matt-W It makes me erratic
08:49 jnthn Mmm...English chippie. :-)
08:49 jnthn When I was a kid, my local one did battered black pudding, of all things.
08:51 zloyrusskiy joined #perl6
08:51 sjohnson i was thinking about having fish 'n chips todayt
08:52 sjohnson i'm going to visit india in 2 days
08:52 * sjohnson is excited
08:52 Matt-W jnthn: there's one I like to go to in Keswick which does great battered haggis
08:52 jnthn sjohnson: Heh, between you and me we're about to shift the average location of people on this channel east a bit. :-)
08:52 * jnthn flies to Tokyo tomorrow.
08:52 Matt-W ooh
08:52 Matt-W anything fun?
08:53 jnthn Travel, YAPC::Asia...
08:53 Matt-W ahah
08:53 Matt-W is there a location for next year's YAPC::EU yet?
08:53 rfordinal3643 joined #perl6
08:55 BinGOs Pisa, Italy.
08:57 agentzh joined #perl6
08:57 zloyrusskiy joined #perl6
08:58 mikehh rakudo (c9a9300) builds on parrot r40950 - make test / make spectest (up to r28175) PASS - Ubuntu 9.04 amd64 (gcc)
09:02 jnthn Pisa may be do-able by train. :-)
09:08 masak joined #perl6
09:08 masak ahoj!
09:08 phenny masak: 08:12Z <mberends> tell masak proto TODO has a few more changes
09:08 * masak git-pulls
09:08 jnthn masak: ahoj!
09:08 jnthn masak: ako sa mas?
09:09 masak now, let's see... "dobrze", perhaps?
09:09 jnthn "dobre" :-)
09:09 masak right. :)
09:09 masak and if I put it in a whole phrase... "mam sa dobre"?
09:09 jnthn Correct.
09:09 masak \o/
09:10 masak a ty? ako sa mas?
09:10 jnthn Dobre tiez...idem do Japonska zajtra. :-)
09:11 masak ooh, Japonska.
09:16 Whiteknight joined #perl6
09:21 cognomore joined #perl6
09:23 masak this tweet highlights the strangeness of the butterflyphobia: http://twitter.com/Strichpunkte/status/3719251674
09:23 masak i.e. "I know the features are good, but I don't like the colours on the site, so forget it". o_O
09:25 jnthn ..
09:25 jnthn There's nowt queer as folk.
09:25 masak forsooth.
09:26 masak I might give him the hugging treatment, but I'm thinking what my options are first.
09:30 BooK joined #perl6
09:30 * masak ended up doing this instead: http://twitter.com/carlmasak/status/3730593011
09:31 jnthn BooK: Bonjour :-)
09:31 BooK TimToady++ # the Perl 6 logo
09:31 BooK it moved the main argument against Perl 6 from "it's vaporware" to "it's gay/childish/feminine" thus making them easier to discard :-)
09:31 BooK hi jonathan
09:31 cognominal jnthn, it pays to install p6eval in #perlfr
09:32 jnthn Hey...BooK and cognominal are here...ou est la Chartreuse? ;-)
09:32 masak BooK: good point.
09:32 cognominal jnthn++
09:32 BooK I have a bottle ready for OSDC.fr (trying to lure you there ;-)
09:32 cognominal any publicity is good. perl6 is back on collective consciousness
09:33 jnthn BooK: Sadly, I didn't manage to work out how to be in two continents at once yet. :-(
09:33 BooK you need to work on you ubuquity skills
09:33 cognominal you will drink sake?
09:33 BooK er, ubiquity
09:34 BooK I guess I should unsubscribe from the Collège de 'Pataphysique's review
09:34 cognominal ubiquity  means "Ubu gidouille über the world"
09:34 cognominal ubuquity!
09:35 jnthn cognominal: Aye, no doubt I'll drink some of that. :-)
09:38 cognominal BooK, I guess you can see a gidouille i camelia if you squint enough
09:40 masak lunch &
09:40 BooK as someone pointed out (on use perl, I think), the download button should probably be in the top row
09:40 BooK on the web site
09:41 cognominal it should be searchable at least...
09:42 cognominal I hate when the download is a gif and I can't search it
09:43 jnthn (download button higher up) I agree with this one.
09:48 BooK the TODO says: * download button should NOT be moved up top; would be missing the (visual) point, hehe :)
09:48 BooK so I guess there's a reason for it
09:49 zloyrusskiy joined #perl6
09:51 jnthn Not sure I get the reason from that...
09:52 payload joined #perl6
09:53 Matt-W it's butterfly shaped, I think
09:53 frederico joined #perl6
09:53 Matt-W the button doesn't fit into the structure very well anyway
09:53 spinclad cause any higher it would oughta be an upload button?
09:53 jnthn *rimshot*
09:55 spinclad thank you, thank you, i'm here one day every while
09:56 payload joined #perl6
09:56 krunen Hi, all. Head rakudo fails to compile here, at setting/Int.pm line 11, seemingly because class Rat is not defined. Is there something I've missed?
09:56 phenny krunen: 24 Jul 05:54Z <masak> tell krunen We found a "bug" in XML::Grammar::Document -- there's an extra ':' at character 869 (on the last line).  Your test suite turns it up
09:56 lambdabot krunen: You have 2 new messages. '/msg lambdabot @messages' to read them.
09:56 phenny krunen: 31 Jul 02:27Z <wayland76> tell krunen  I've been modifying your XML grammar: http://paste.lisp.org/display/84480
10:05 zloyrusskiy joined #perl6
10:10 spinclad does it make sense that after 7 hours of thrashing, src/gen_setting.pir is still 0 length?  i'm at the '.../rakudo/parrot_install/bin/parrot  perl6_s1.pbc --target=pir src/gen_setting.pm > src/gen_setting.pir' and not budging.
10:12 zamolxes_ joined #perl6
10:12 jnthn 7 hours sounds...excessive.
10:13 spinclad parrot is 287M and very slowly growing...  this is an old Athlon box with 1/4GB
10:13 sharada joined #perl6
10:22 frettled joined #perl6
10:22 shachaf joined #perl6
10:22 BinGOs joined #perl6
10:22 yves joined #perl6
10:22 cxreg joined #perl6
10:22 kent\n joined #perl6
10:22 kst joined #perl6
10:22 Eevee joined #perl6
10:22 Khisanth joined #perl6
10:22 bionoid joined #perl6
10:22 integral joined #perl6
10:22 omega joined #perl6
10:22 renormalist joined #perl6
10:22 Juerd joined #perl6
10:22 kolibrie joined #perl6
10:22 Aisling joined #perl6
10:22 yahooooo joined #perl6
10:22 ingy joined #perl6
10:22 ascent joined #perl6
10:22 broquaint joined #perl6
10:22 obra_ joined #perl6
10:27 quietfanatic joined #perl6
10:27 meppl joined #perl6
10:27 felipe joined #perl6
10:27 Gothmog_ joined #perl6
10:27 jantore joined #perl6
10:27 krunen joined #perl6
10:27 cognominal joined #perl6
10:27 zloyrusskiy joined #perl6
10:27 rgrau joined #perl6
10:27 rbaumer joined #perl6
10:27 Jedai joined #perl6
10:27 ruz_ joined #perl6
10:27 pjcj joined #perl6
10:27 arthur-- joined #perl6
10:27 cognomore joined #perl6
10:27 Su-Shee joined #perl6
10:27 zaphar_ps joined #perl6
10:27 gbacon joined #perl6
10:27 zamolxes_ joined #perl6
10:27 donaldh joined #perl6
10:27 huf joined #perl6
10:27 RonOreck joined #perl6
10:27 PZt joined #perl6
10:27 cono joined #perl6
10:27 ewilhelm joined #perl6
10:27 breinbaas joined #perl6
10:27 lisppaste3 joined #perl6
10:27 xalbo joined #perl6
10:27 nsh joined #perl6
10:28 szbalint joined #perl6
10:28 alester joined #perl6
10:28 p6eval joined #perl6
10:28 awwaiid joined #perl6
10:28 Grrrr joined #perl6
10:28 Rint joined #perl6
10:28 cblaptop joined #perl6
10:28 literal joined #perl6
10:28 tarbo2_ joined #perl6
10:28 he_ joined #perl6
10:28 TimToady joined #perl6
10:28 xomas joined #perl6
10:28 Patterner joined #perl6
10:28 rhr joined #perl6
10:28 r0bby joined #perl6
10:28 xinming joined #perl6
10:28 Ryan52 joined #perl6
10:28 sjn joined #perl6
10:28 mattp_ joined #perl6
10:28 eiro joined #perl6
10:28 z joined #perl6
10:28 Caelum joined #perl6
10:28 tomaw` joined #perl6
10:28 wolverian joined #perl6
10:28 cookys joined #perl6
10:28 zol joined #perl6
10:28 sunnavy joined #perl6
10:28 bloonix_ joined #perl6
10:28 bigpresh_ joined #perl6
10:28 edenc joined #perl6
10:28 cosimo joined #perl6
10:28 japhb joined #perl6
10:28 reqamst joined #perl6
10:28 arnsholt joined #perl6
10:28 Trey joined #perl6
10:28 eldragon2 joined #perl6
10:28 jnthn joined #perl6
10:28 mee joined #perl6
10:28 spinclad joined #perl6
10:28 nicomen joined #perl6
10:28 andreasg_ joined #perl6
10:32 r0bby joined #perl6
10:39 spinclad so it's paging madly already, and i should stop running my silly 2-hourly fchecks that with this don't even finish in 2 hours, so it's been in disk hell too...
10:39 spinclad just wondering if it makes sense that it mulls long over the setting before writing anything.  suppose so, will check perl6_s1.
10:43 xalbo_ joined #perl6
10:46 masak joined #perl6
10:50 mberends masak, did you eat well?
10:50 pugs_svn r28176 | moritz++ | test sin(Rat)
10:50 Matt-W oooh nearly lunchtime
10:50 Matt-W we had a fun fire drill at work earlier
10:50 moritz_ all the trigonometric functions were broken with Rats
10:50 Matt-W the fire brigade came, because nobody remembered to tell them our alarm going off was a drill
10:50 masak mberends: (re step 1.5, "factor out code") I thought the code was already factored out. or did you mean something more than both (current) 'install' and 'update' calling 'fetch-and-build-projects-and-their-deps'?
10:50 moritz_ rakudo: say sin(3/4)
10:50 p6eval rakudo c9a930: OUTPUT«Return value type check failed; expected Num, but got Rat␤in method Any::!to-radians (src/gen_setting.pm:410)␤called from method Num::sin (src/gen_setting.pm:1711)␤called from Main (/tmp/eTDulSwYSI:2)␤»
10:50 masak joined #perl6
10:51 Matt-W moritz_: does that mean we actually have a Rat type now?
10:51 moritz_ Matt-W: we do.
10:51 Matt-W wooooooooooooo
10:51 moritz_ rakudo: say (2/6).perl
10:51 p6eval rakudo c9a930: OUTPUT«1/3␤»
10:51 dalek rakudo: 2f22b87 | moritz++ | src/setting/Any-num.pm:
10:51 dalek rakudo: use Nums instead of Rats in !to-radians
10:51 dalek rakudo: This fixes sin(Rat). Test in t/spec/S32-num/rat.t
10:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2f22b873737bd960322305f5283d1b3f63705aa7
10:51 Matt-W Shouldn't that be rats instead of nums?
10:52 Matt-W and isn't Rat a kind of Num?
10:52 Matt-W confused...
10:52 moritz_ not atm
10:52 moritz_ (which is rather weird, I confess)
10:52 masak mberends: yes, I ate very well, thank you. pancake wraps with cheese, sunflower seeds and chunky salsa inside.
10:52 Matt-W that is rather weird
10:52 Matt-W I got totally lost in a big p6l thread about numbers a few days back
10:52 Matt-W I was sitting on a cliff in norfolk with my phone, trying to read it over dodgy GPRS
10:53 moritz_ but trigonometric functions don't make use of rationals anyway
10:53 Matt-W and thinking 'you know, I'm on holiday, I shouldn't be doing this'
10:53 moritz_ because they are transcendental anyway, most of the time
10:54 mberends masak: Installer.pm:44-69 is so similar to lines 70-100
10:55 mberends er, lines 76-100
10:57 * mberends eats another succulent peach
10:58 Matt-W mmm peach
10:58 * Matt-W has to go and get his sister a birthday present
10:58 Matt-W and then eat! hah! &
11:01 masak mberends: oh, true.
11:02 masak mberends: ...with small differences springkled through those two methods. :)
11:02 masak but yes, they're very similar in structure.
11:02 mberends yes, a parameter saying install or update would be nice
11:04 mberends masak: what do you think of a projects.state file?
11:04 * mberends has mixed feelings
11:05 masak mberends: well, we need to indicate project installedness somewhere.
11:05 mberends perhaps an added file in each project subfolder is safer.
11:06 mberends project.state
11:06 masak hm, we might be talking across purposes...
11:06 masak what would such a file do?
11:07 mberends we need to record at least whether a proper install has been done into the global library tree, per project.
11:07 masak if the cache folder can be removed at any time, by definition it cannot contain a file with information about the project's installed ness.
11:07 mberends oh. yes. :)
11:07 masak s/ed ness/edness/
11:08 masak I would like to put it in the .ecosystem folder.
11:08 masak that might solve anothe problem we will have: module collisions.
11:08 masak specifically, all manner of projects contain Test.pm right now.
11:09 masak I think we want to symlink Rakudo's and then complain bitterly when other projects attempt to overwrite it.
11:09 masak if we then have a file which maps module files to projects, we can tell the user that Rakudo has dibs on Test.pm.
11:09 lisppaste3 joined #perl6
11:09 mberends it won't totally solve it if we have only one state per project. yes, one Test rulez'em all.
11:10 masak what won't totally solve what? I'm not sure I understand 'one state per project'.
11:11 mberends a project contains multiple module files, installed as a group
11:11 mberends we download and install projects, not modules
11:11 masak nod.
11:11 mberends but module files collide in the tree
11:12 masak but we can still maintain a hash of module=>project entries in some sort of file db in .ecosystem.
11:12 mberends I was hoping to leave the copying to an 'install' target in a project Makefile
11:13 masak would such a target be able to detect whether it'll overwrite other projects' module files?
11:13 mberends module=>project is a lot of work to track :(
11:13 masak (either .pm or .pir versions)
11:13 masak hm, maybe.
11:14 mberends it's not the simplest thing that could possibly work
11:14 masak indeed not.
11:14 mberends shift that work onto the project developer writing Makefile.in
11:15 masak hm, good idea.
11:15 mberends is there a cp option --do-not-overwrite ?
11:15 masak but will we be able to provide a way to install the modules that plays nice with earlier installed modules?
11:15 mberends yes
11:15 masak mberends: that would only create the other type of havoc... :/
11:16 masak we need to actually die screaming if the files are there (and different).
11:16 mberends well, if cp errored out you could do an uninstall
11:16 masak what would 'uninstall' mean in this case?
11:17 masak becuase such an operation would not be allowed to touch collisioned modules either.
11:17 mberends make uninstall as defined by the project author
11:17 * masak boggles at the future chaos we're creating
11:17 mberends still havoc :/
11:18 mberends look, do want this job or don't you?
11:18 masak 哈哈
11:20 masak hm, using only Unix tools it should be possible to check the .ecosystem directory for collisions.
11:20 KyleHa joined #perl6
11:20 masak someone better schooled in authoring Makefiles than me could write that...
11:21 mberends making proto collision proof may be impossible
11:21 masak then the Makefile would simply refuse to install until it had acertained that the coast is clear.
11:22 mberends we can try, but not too hard
11:22 masak if we make sure to leave a bit flipped somewhere after a successful install, we also solve the uninstall problem to my satisfaction.
11:23 mberends yes, project state would take care of that
11:23 donaldh joined #perl6
11:24 mberends the only state currently implemented is $project ~~ :d
11:25 mberends that will provide is-fetched( $project ) in future
11:27 mberends it's probably overkill to store is_built($project) -- just call make and be sure
11:27 masak aye.
11:27 masak both testing and installing can be done anyway.
11:27 mberends test before every install?
11:28 masak hm, though call.
11:28 mberends hm,
11:28 masak s/h//
11:28 masak CPAN does that, and people get sad.
11:28 masak it can be argued that failing tests are developer punishment hitting the user.
11:29 masak something like "don't shoot the recipient"
11:29 mberends testing should be ok, it won't be spectesting
11:30 spinclad debian test-and-installs at package build time, and captures the result
11:30 masak mberends: what do you mean?
11:30 spinclad so the end user doesn't rerun tests at dpkg-install time
11:30 mberends spinclad: yes, but proto does building after downloading
11:31 mberends masak: just that it should be a quick sanity check only
11:32 spinclad different use case; sounds like your usage is like cpan's then
11:32 masak mberends: so you're saying that t/ should only contain tests that are meant to be run on the user's machine?
11:32 mberends there may be integration failures when modules depend on each other, the testing should detect that
11:32 masak oh, indeed.
11:32 mberends masak: no, t/ can be big but 'make test' should pick a subset
11:33 masak how?
11:33 mberends similar to Rakudo's Makefile
11:34 masak interesting.
11:34 mberends this does put more workload onto the make utility
11:35 masak and on the module writer.
11:35 mberends meaning project authors will have ... yes
11:36 mberends spinclad: you got it, although proto is *not* trying to be cpan
11:37 szabgab joined #perl6
11:37 masak proto is trying to relieve some pain, and then self-destruct.
11:37 mberends \o szabgab
11:37 masak o/ szbalint
11:37 agentzh joined #perl6
11:38 masak oops, szabgab. :/
11:38 szabgab shall I ping all the m* people ?
11:38 mberends tab != dwim any more. sigh.
11:38 szabgab and hi :-)
11:38 masak :)
11:39 Su-Shee hi szabgab :)
11:39 masak I'm sure I can write a tab completer that reads my mind at least a little...
11:39 mberends szabgab: wildcard * is probably best
11:39 szabgab Su-Shee, hi
11:42 mberends masak: I think proto can only copy files without clobbering if it does it itself, but I'm too lazy to re-invent the cp utility.
11:43 masak me too.
11:43 mberends ok, let's clobber some files then ;)
11:43 Matt-W pfft
11:44 Matt-W you need cp.pm
11:44 Matt-W it looks like this
11:44 Matt-W if $filename.IO ~~ :e { die horribly; } else { system 'cp $source $filename'; }
11:45 mberends Matt-W: good point, one can be *too* lazy
11:45 jnthn oh noes...
11:46 jnthn unportable
11:46 szabgab oh finally someone who does not start with m
11:46 szabgab crap
11:46 mmm-its-jnthn ;-)
11:46 Matt-W mmm-its-jnthn: yes I know it's unportable, I was just making a point :)
11:47 Matt-W you need a platform-neutral copy interface
11:47 mberends mmm-its-jnthn: there is proto fork targeting Windows
11:48 masak mberends: the tradition with proto has always been to encourage, never to enforce. thus the Makefile cannot depend on proto. thus it needs to solve the clobbering problem on its own.
11:51 mberends masak: ok, use of Makefile is at the discrection of the discerning developer. Proto can do an internal non clobbering copy (as Matt-W++ showed) if there is no 'install' target in the Makefile. And we can can use slurp() and squirt() to run on jnthn++'s OS.
11:51 Matt-W and any other weird one
11:52 masak mberends: care to put that into the TODO list?
11:53 mberends masak: ok, and will renumber the points
11:53 masak mberends++
11:58 masak lol, a Twitter account called 'Hot Gay Guys' is now following me. that's what I get for using the word 'gay' in my latest tweet.
11:58 mberends lol
11:58 moritz_ :/
11:59 mberends the twitsphere is too fast for its own good
11:59 Matt-W bots
11:59 * Matt-W spits
11:59 Matt-W also, boring meeting
11:59 Matt-W &
12:06 mberends masak: the 'update' case for an installed project is tricky, if the old version had file names that the new version hasn't :/
12:07 masak perhaps we just ditch 'update', then.
12:07 masak it made more sense when we didn't have a cache where we built things for installation.
12:07 mberends o noes!
12:08 abra joined #perl6
12:08 mberends update could become old uninstall + new install
12:08 payload joined #perl6
12:08 masak I must say it's beginning to feel as if we're missing something -- some overriding simplifying principle...
12:09 mberends your labyrinth is entering proto...
12:10 mberends indeed, that's how I got bogged down yesterday
12:10 masak let's enumerate our entities, and the current problems again. see if something falls out of that.
12:11 masak entities: remote repositories, the cache, the ecosystem lib folder.
12:11 pugs_svn r28177 | moritz++ | [irclog] color 'hugme' as a bot
12:12 masak operations: at least one to download from remote repos to the cache, a few to operate on the cache, and at least one to copy from the cache to the ecosystem lib folder.
12:13 mberends the ecosystem lib folder is our perceived problem. Is P5 any different?
12:13 masak problems: (all of them in the ecosystem lib folder) clobbering old files, removing someone else's files, forgetting files which should be garbage-collected.
12:14 mberends solution: write a successor to proto (we'll live with it for now)
12:14 jnthn Can you manage a folder per module installed?
12:15 jnthn That is, all the stuff relating to the module goes in one place?
12:15 mberends jnthn: it stretches PERL6LIB
12:15 jnthn So nuke the module = nuke one folder.
12:15 masak jnthn: that's the model we're moving away from...
12:15 jnthn Ah.
12:16 rbaumer joined #perl6
12:16 takadonet joined #perl6
12:16 takadonet morning all
12:16 mberends let's not allow problems that occur quite seldom stop this redesign
12:17 mberends proto is flawed, and will be ok 97% of the time
12:17 masak ack.
12:18 masak but two things _will_ become real problems: (1) two projects might have the exact same name for some module somewhere, (2) Rakudo's Test.pm will be the first thing to be overwritten.
12:19 masak 'course, both of these problems can be solved with community resources.
12:19 mberends proto could nuke the project's Test.pm before copying the other files
12:20 masak we could even check specifically for (2) after the 'make install' step in proto :)
12:20 masak or that. either.
12:20 mberends (1) is normal for barefoot programming
12:21 masak guess so.
12:21 mberends S11 solves it with :auth, but that's another story
12:21 masak as I mentioned before, proto itself should show the way by naming Ecosystem.pm and Installer.pm something else.
12:22 mberends Ecosystem is also vocabulary in Plumage
12:22 mberends bikeshed time?
12:23 jnthn YELLOW!
12:24 moritz_ speaking of yelling - I'm testing bacek's patch right now to build rakudo after the context_pmc3 merge
12:24 * mberends doesn't enjoy discussions about naming, when more than 2 people are take part
12:24 moritz_ it builds fine, and spectests are clean so far (up to S05-mass right now))
12:24 masak mberends: I don't mind 'ecosystem' being a term both in the Perl 6 and Parrot world. we mean approximately the same thing.
12:24 masak that, and I was first. :)
12:25 mberends lol
12:25 mberends japhb++ is waiting to steal whatever possible from proto
12:26 masak urgh. :)
12:27 mberends masak, did you also ack on renaming .ecosystem to .perl6lib then?
12:27 masak I don't have a strong opinion either way on that one.
12:28 masak .perl6lib is perhaps a bit more self-explanatory
12:28 * mberends likes ~/.perl6lib and even want to sneak it into Rakudo
12:29 mberends (without PERL6LIB)
12:29 masak :)
12:29 * jnthn afk for a while
12:29 moritz_ mberends: that might be quite possible
12:31 mberends moritz_: yes, and quite appealing :) I think I could work out how...
12:31 payload what is the   rakudo/lib   directory for? there is a Safe.pm inside of it.    i put other libraries in too
12:32 mberends payload: good point. sometimes it's directory permissions.
12:33 masak a bit strange that Test.pm isn't in rakudo/lib...
12:33 moritz_ payload: when I wrote Safe.pm I thought it was a bad idea to put it into the toplevel rakudo dir, so I created lib/
12:34 moritz_ payload: but it's not being searched for automatically
12:34 mberends moritz_: that's the thing I'd like to add to Rakudo, some default lib dirs
12:35 moritz_ mberends: right. 'make install' should install Test.p{m,ir} and Safe.p{m,ir}
12:36 moritz_ and set @*INC, too
12:37 moritz_ oh BTW SVG::Plot now has basic support for point and line plots
12:37 ruoso joined #perl6
12:37 Whiteknight joined #perl6
12:38 mberends moritz_: do you mean Rakudo's 'make install' only?
12:38 moritz_ mberends: that's the one I'm talking about right now
12:38 mberends ok
12:39 * ruoso didn't quite understand the last change in the $*foo lookup
12:40 masak this might be a fun project to port: http://ditaa.sourceforge.net/
12:40 masak and useful!
12:41 mberends Rakudo's @*INC could be initialized with the contents of PERL6LIB, followed by rakudo/lib and ~/.perl6lib
12:41 mberends even with an empty PERL6LIB, life would be fine
12:41 moritz_ mberends: if by 'rakudo/lib' you mean the install location of rakudo ~ '/lib', then yes
12:42 mberends moritz_: yes
12:43 mberends either someone with the right PIR-fu can beat me to it, or I'll try later today, under forgiveness/permission
12:44 ruoso TimToady, so, in http://gist.github.com/180140, I can still use $VAR to lexically find my own version of $*VAR?
13:01 zamolxes joined #perl6
13:03 sri_kraih_ joined #perl6
13:06 masak hm. as soon as the installed-modules branch can actually install things, we should try and install all known projects, to see which ones fail. then we fix the ones we can, and contact the project authors for the rest.
13:06 mberends masak: agreed
13:08 moritz_ will it automagically install my *.pm files even though I have no Makefile?
13:08 masak moritz_: aye.
13:08 masak it will have a system of fallback methods for installation.
13:09 mberends yes, that's the default ... what mas++ said ;)
13:09 moritz_ mas++ mberen++ ;-)
13:09 masak if the Makefile had a 'make' target which succeeded, it'll install the .pir files.
13:09 mberends (rewriting that very paragraph right now)
13:11 masak one could say that proto is a different cheese than Rakudo. and that we're exploring the phase space of module installation and management.
13:11 pmichaud ....a proto cheese?  wouldn't that be just... milk?
13:12 pmichaud then your slogan could be   "Got Milk?"
13:12 masak :P
13:12 pmichaud (good morning, #perl6)
13:12 mberends if there is a .pir file to install, can the .pm file be left behind?
13:12 masak mberends: I think so.
13:12 mberends good morning pm
13:12 masak mberends: because the .pir file contains all the information needed to run the module. and we haven't promised to keep source around for people.
13:13 mberends I was wondering about Pod
13:13 frew__ joined #perl6
13:13 masak what about it?
13:13 moritz_ people might want to read the documentation of the modules they have installed
13:13 mberends the .pm files will have Pod, the .pir files won't
13:13 moritz_ and that's typically in the .pm files
13:14 masak hm.
13:14 mberends copy them both
13:14 masak can't we leave that up to the Makefile as well?
13:14 masak uh, or just copy both .pir and .pm files, it's not much more work...
13:14 mberends yes, but without a Makefile copy both
13:14 masak nod.
13:14 mberends ok
13:15 masak sounds like a sane default.
13:16 mberends it may be better to copy all of lib/ because there might be .pg for grammar or any other kinds of files. lib is for installing.
13:16 masak hm, yes.
13:16 mberends use a Makefile to copy less than all of lib/
13:17 colomon moritz_: Do we really want trig functions for Rats?  I was assuming some big numeric roles refactor would take care of that sort of thing in the future.
13:18 colomon (Mostly very slightly cross because I'm betting when I update SVN I will have contacts -- I started refactoring trig.t even further last night.)
13:19 colomon (ooo, but if you added it to rat.t, no major problems there!)
13:19 moritz_ colomon: I think that sin($rat) should just be the same as sin($rat.Num)...
13:19 moritz_ colomon: which the current definition somewhat implies
13:20 colomon moritz_: Agreed.  What about Rat.sin?
13:20 moritz_ colomon: but there was an "error" in the !to-radians function that cuased a type check failure for Rats
13:20 moritz_ rakudo: say (1/2).sin
13:20 p6eval rakudo 2f22b8: OUTPUT«Method 'sin' not found for invocant of class 'Rat'␤»
13:21 colomon Wait, so all you had to do was fix up to-radians?  That's a huge win.
13:21 moritz_ aye
13:22 colomon moritz__++
13:22 pugs_svn r28178 | colomon++ | [t/spec] Another note for future tests.
13:22 colomon moritz_++
13:22 pmichaud I suspect that Rat.sin should really be Any.sin
13:22 colomon My point was more thinking along the Rat.sin lines.
13:22 moritz_ pmichaud: aye
13:23 colomon You know, I think I tried implementing Any.sin last week at your suggestion, and it failed horribly.  Don't remember why now.
13:23 colomon Would Any.sin just map to sin(Any)?
13:23 pmichaud no, that's backwards
13:23 pmichaud in general, operators map to methods, not vice-versa
13:23 pmichaud my guess is that Any.sin would be   self.Num.sin
13:23 moritz_ colomon: it would coerce self to Num, and call .sin on it
13:24 colomon Ah.  Two issues there:
13:24 SmokeMachine joined #perl6
13:24 colomon First, self.Num doesn't work very well at all yet.  Think that's what I ran into last week.
13:24 pmichaud it works now
13:24 moritz_ spectesting bacek's rakudo patch now so that we can track parrot HEAD again (after the context_pmc3 merge)
13:24 pmichaud rakudo:  say (1/2).Num.sin
13:24 colomon Really?
13:24 p6eval rakudo 2f22b8: OUTPUT«0.479425538604203␤»
13:25 colomon rakudo: say 360.Num.sin
13:25 p6eval rakudo 2f22b8: OUTPUT«0.958915723414307␤»
13:25 colomon Sweet!
13:25 moritz_ rakudo: say '300'.Num.sin
13:25 p6eval rakudo 2f22b8: OUTPUT«Method 'Num' not found for invocant of class 'Str'␤»
13:25 colomon As long as we can have Any.sin and Complex.sin, I'm all in favor.
13:27 colomon As I said, I'm refactoring trig.t pretty heavily at the moment.  I will be happy to see what I can do with Any.sin (etc) in the process.
13:28 colomon Do need to get some $work done today, and will be gone over the weekend with uncertain net access, but ought to be able to get it all done if it is doable by Tuesday or so.
13:28 moritz_ colomon: glad to see your enthusiasm and fine patches. Just proceed at your best -Ofun tempo ;-)
13:28 pmichaud I'm timing the spectests on my machine also, to see what sort of speed impacts we have
13:29 pmichaud colomon: was a CLA sent in?
13:29 moritz_ rakudo: say (+(3/5)).perl
13:29 p6eval rakudo 2f22b8: OUTPUT«0.6␤»
13:30 moritz_ +3/5 should still be a Rat, no?
13:30 pmichaud yes.
13:30 moritz_ I'll add another op then.
13:30 pmichaud prefix:<+> needs some changing
13:30 pmichaud for some reason I haven't been able to move prefix:<+> into the setting yet -- I get very bizarre build failures
13:31 hello_ joined #perl6
13:31 hello_ hello, moritz_
13:31 moritz_ oh hai
13:32 colomon pmichaud: Mailed my CLA yesterday.
13:32 pmichaud colomon: github id?
13:32 moritz_ pmichaud: 'make spectest' certainly *feels* slow - no idea if it actually is
13:32 hello_ http://github.com/rakudo/rakudo/commit/2f22b873737bd960322305f5283d1b3f63705aa7, Is it 2.o or 2.0?
13:32 moritz_ it should be 2.0, certainly
13:32 pmichaud 0
13:32 pmichaud +            when Num     { self * 2.o * pi }    # Convert from revolutions.
13:33 pmichaud it works if one defines    method o() { self }     :-P
13:33 colomon pmichaud: If it's user id, it's colomon there, too.
13:33 pmichaud colomon: you now have commit privs
13:33 hello_ that's a typo ;)
13:34 moritz_ hello_: thanks for notifying me!
13:34 colomon pmichaud++ # it's a great privilege, thank you.
13:34 hello_ You're welcome.
13:34 hello_ I'm Jimmy
13:35 colomon pmichaud, moritz_: Actually, there are two other trig issues I know of at the moment.
13:36 moritz_ do tell
13:36 colomon Num.sin("degrees") doesn't seem to work, check the first skips in the sin section of trig.t
13:36 moritz_ that's changed in the specs anyway
13:36 colomon Second, all those "degrees" are supposed to be an enum instead, according to the spec.
13:36 moritz_ right
13:36 pmichaud the spec changed since the implementation
13:36 pmichaud it happens a fair bit
13:36 pmichaud rakudo implements something, then the spec changes
13:37 colomon Right, just hoping for permission to match the spec at some point.  :)
13:37 pmichaud converting to match the spec is always allowed
13:37 moritz_ feel free!
13:37 colomon But it's a weird error message for Num.sin("degrees"), I think it might be because sin is being parsed as an operator instead of a function or something?  Please try it and see.
13:37 nihiliad joined #perl6
13:37 colomon I've got to go afk for an hour or two now, alas.
13:38 pmichaud right now our deprecation policy says something like  "if the Perl 6 specification changes, Rakudo can change to match the specification at any time without warning"
13:38 pmichaud s/says/is/
13:38 moritz_ we have a deprecation policy? ;-)
13:38 pmichaud we should probably make two.
13:39 pmichaud one for now, and a draft of what we expect/hope to have in Rakudo*
13:40 moritz_ somehow I hosed my local rakudo checkout by doing to many interactive rebases and aborting them midways
13:41 pmichaud however, even after Rakudo* it's very likely that the compiler will have a policy of always being able to change to match the specification  (keeping in mind that there's a part of the specification that says that the compiler needs to be able to preserve the ability to implement previous versions of the spec)
13:42 moritz_ git still works, but I reset the 'master' branch to an earlier point, but doing another rebase shows that it uses the old definition. sigh.
13:42 pmichaud given the extent of the changes involved, I started with a fresh clone :)
13:42 pmichaud just visually watching the spectest run, I don't think I'm seeing major speed hits
13:43 pmichaud we'll know for sure in another 20 mins or so
13:44 masak rakudo: multi infix:<%>(Str $fmt, Any *@args) { sprintf($fmt, |@args) }; say "Look %s, no %03d!" % ("ma", 7)
13:44 p6eval rakudo 2f22b8: OUTPUT«Look ma, no 007!␤»
13:45 masak rakudo: multi infix:<%>(Str $fmt, Any *@args) { sprintf($fmt, |@args) }; say "Look %s, no %03d!" % <ma 7>
13:45 p6eval rakudo 2f22b8:  ( no output )
13:46 dalek rakudo: 1cb71e4 | moritz++ | src/setting/Any-num.pm:
13:46 dalek rakudo: fix typo found by Jimmy++, moritz--
13:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1cb71e4273746dc8e09133abf3f801eafdfd938c
13:47 mberends pmichaud, does preloading $RAKUDO_DIR/lib and $HOME/.perl6lib into @*INC before PERL6LIB seem ok to you? I'm thinking about trying to write that later today.
13:47 masak maybe jnthn can explain it to me, but I didn't immediately understand why I got a type ambig error when I left out the 'Any' typing above...
13:47 masak rakudo: multi infix:<%>(Str $fmt, *@args) { sprintf($fmt, |@args) }; say "Look %s, no %03d!" % <ma 7>
13:47 p6eval rakudo 2f22b8: OUTPUT«Ambiguous dispatch to multi 'infix:%'. Ambiguous candidates had signatures:␤:(Any $a, Any $b)␤:(Str $fmt, Object *@args)␤in Main (/tmp/dIoSFm1jqr:2)␤»
13:48 pmichaud mberends: $HOME/.perl6lib sounds fine.  I'm not sure what $RAKUDO_DIR would default to
13:48 masak is it perhaps because the array is a slurpy, so there are instances of overlap between the two signatures?
13:48 mberends the installed Rakudo dir, where Test.pm and Safe.pm reside
13:48 moritz_ masak: note that 1) slurpies default to Object and 2) slurpies bind less tight than fixed number signatures
13:48 PerlJam gutenMorgen
13:49 moritz_ masak: maybe these effects cancel out, resulting in a tie
13:49 masak moritz_: ok, that explains it, I think.
13:49 masak moritz_: yes, because Str is more specific than Any.
13:49 pmichaud mberends:  so, that would be <parrot>/lib/<version>/languages/perl6/ ?
13:49 agentzh joined #perl6
13:49 pmichaud I'm not entirely sure how time binding is supposed to work with slurpies
13:50 pmichaud *type binding
13:51 mberends pmichaud: yes, even  <parrot>/lib/<version>/languages/perl6/lib/
13:52 pmichaud is there an expectation that Test.pm will move to lib/ in the repository?
13:52 * moritz_ expects that
13:52 pmichaud (I skimmed the backscroll a bit earlier)
13:52 pmichaud if so, I'm not sure how to get "make spectest" to work, unless we also set RAKUDO_DIR somewhere
13:52 pmichaud (e.g., in the Makefile before calling the harness)
13:53 moritz_ there are several ways
13:53 moritz_ one is to make @*INC default to 'lib' instead of '.'
13:53 pmichaud I'm not sure that's a good choice.
13:53 pmichaud always searching 'lib' in the working path sounds like a recipe for problems.
13:53 moritz_ probably
13:54 moritz_ the other is to compile the full path into rakudo
13:54 moritz_ don't know how hard that is
13:54 pmichaud we don't want to compile the build path into rakudo, though
13:54 pmichaud install path, perhaps.  build path, no.
13:54 mberends if @*INC is suitably primed at startup?
13:55 mberends install path
13:55 moritz_ we could set PERL6LIB in the harness
13:55 pmichaud I might be able to accept PERL6LIB in the harness
13:55 pmichaud thinking
13:55 moritz_ but it disables ./perl6 $path_to_file
13:55 pmichaud yes, it would.
13:56 diakopter q5wrgnt4k140
13:56 diakopter Oops
13:56 PerlJam diakopter: that *was* a great password  :)
13:56 diakopter heh\
13:58 mberends moritz_: @*INC can still include . and 'make testable' can put Test.pir there
13:58 PerlJam rakudo first looks for .pir files, then .pm files?
13:58 mberends yes
13:58 moritz_ afk
14:01 pmichaud initial spectest shows about a 20% speed loss after context_pmc3 branch merge
14:01 pmichaud I'll do a more precise set of runs to get a better estimate
14:01 pmichaud ('make testable')    hmmmm
14:02 pmichaud currently now if I do 'make' and then run one of the test programs directly  (./perl6)  it works
14:02 pmichaud requiring the 'make testable' step to build Test.pir before running a test program would halt that
14:02 pmichaud I do like this approach better than mucking with @*INC, though.
14:03 pmichaud perhaps the basic 'make perl6' target should also build Test.pir
14:03 pmichaud (we've speculated on this before)
14:04 mberends is the only downside the compile time?
14:05 masak moritz_: by the way, what does it mean that I'm a bronze man? how are the categories decided?
14:06 pmichaud I'm a little uncomfortable by the idea of Test.pir appearing in a different location from Test.pm at this stage
14:06 pmichaud but only a little
14:06 pmichaud I'm less uncomforted by that than by the other alternatives we've mentioned already
14:06 pmurias joined #perl6
14:07 pmichaud masak: see the original ironman postings
14:07 pmichaud (looking up linky)
14:09 pmichaud Everybody starts off as Paper Man (or Woman). Manage four posts, week on week, and you get to be Stone Man. Get further and you get to be Bronze Man. Six months of straight posting qualifies you as Iron Man.
14:09 pmichaud http://www.enlightenedperl.org/ironman.html
14:09 pmichaud I can't find a reference as to what "further" means.
14:10 masak ok; thanks anyway.
14:10 masak I should be close to five months, since NPW was in April.
14:12 pmichaud appears there are also "Copper Man" and "Man of Steel" badges, too. http://www.shadowcat.co.uk/blog/mark-keating/ironman-badges/
14:13 pmichaud http://ironman.enlightenedperl.org/munger/csv/my_Carl_Masak__masak_.csv   # your specific posting stats
14:14 pmichaud Arrived there from http://www.shadowcat.co.uk/blog/matt-s-trout/iron-munger-up/
14:15 masak nice! thanks.
14:15 pmichaud looks like your postings from last year are also in the .csv
14:16 M_o_C joined #perl6
14:17 masak yah, bit strange order there too.
14:20 Psyche^ joined #perl6
14:20 jauaor joined #perl6
14:21 pmichaud well, the ordering could just be how it came out of a hash/database
14:22 masak oh, true.
14:23 mberends masak: proto TODO updated. shower &
14:26 rdice joined #perl6
14:33 justatheory joined #perl6
14:35 xalbo joined #perl6
14:35 * jnthn back
14:37 * Matt-W doesn't hear a heavenly chorus, so refuses to believe it
14:39 * masak turns on heavenly chorus soundtrack
14:39 masak aaaaaAAAAAAAAAHH!
14:39 * jnthn wonders if he got an inflatable ego on eBay and brought it to #perl6 with him, how much it'd grow and how much more he could sell it for later.
14:40 masak not sure the air would add very much value.
14:40 Matt-W It'd pop
14:40 jnthn Pop? Meh. Low quality second-hand egos...
14:41 masak what do you expect, buying it on eBay? :)
14:44 pmurias ruoso: hi
14:45 ruoso hi pmurias
14:46 pmurias if we went for the polymorphic eval opcode how would it work if a interpreter.goto was called from xs code?
14:46 colomon rakudo: say 360.0.sin("degrees");
14:46 p6eval rakudo 1cb71e: OUTPUT«-2.44921270764475e-16␤»
14:46 agentzh joined #perl6
14:47 pmurias ruoso: in smop we assumbed that from within C code the SMOP_DISPATCH would be the last(ish) thing but i'm not sure we can make such an assumption in XS
14:48 ruoso pmurias, we do need to do some extra magic for it to fully work from XS
14:50 sri_kraih joined #perl6
14:53 pmurias ruoso: do we now what the magic will be like?
14:53 pmurias * know
14:53 ruoso pmurias, it's not much different then the magic need for tie to work
14:55 rfordinal joined #perl6
14:55 pmurias explain
14:55 ruoso pmurias, I don't have the full knowledge on how it works...
14:55 ruoso but when I was explaining the plan to p5p people
14:56 ruoso they said it's doable
14:56 ruoso and that it, in fact, look a lot like the original ponie's plan
14:56 * ruoso .oO(is it ponie?)
14:57 Matt-W Perl On New Internal Engine
14:57 Matt-W not sure if that was a backronym or not, but it was mentioned at the time
14:58 jferrero joined #perl6
14:59 ruoso yeah... it's ponie indeed
14:59 ruoso it failed on Parrot,
15:00 ruoso but the impedance between SMOP and P5 is considerably smaller than the impedance between Parrot and P5
15:03 iblechbot joined #perl6
15:07 sri_kraih joined #perl6
15:13 colomon Okay, why does Num.sin("degrees") work in p6eval but fail in the trig.t test.suite?
15:16 colomon "too many arguments passed (2) - 1 param expected"
15:22 donaldh joined #perl6
15:22 colomon afk for about an hour...
15:25 KyleHa joined #perl6
15:26 masak quite a few spectest failures over here: http://gist.github.com/180352
15:31 RonOreck joined #perl6
15:31 pmichaud Looks like context_pmc3 gives ~ 13% slowdown over what we had previously
15:31 pmichaud I get no failures on my context_pmc3 branch
15:32 TimToady is that the overhead of emulating the old macro, or pmc overhead?
15:33 pmichaud pmc overhead, likely
15:34 pmichaud I suspect it puts more pressure on memory allocation (gc)
15:34 pmichaud because now contexts are gc-ables instead of having their own dedicated memory management
15:35 pmichaud on the plus side, it means we can now start to treat contexts like real objects instead of hidden (to Rakudo) data structures
15:35 pmichaud so we can get better access to callers, lexpads, etc.
15:35 pmichaud afk
15:35 jnthn Aye.
15:36 dukeleto joined #perl6
15:37 japhb masak, mberends: my IRC client is lit up like a christmas tree.  What's up?
15:38 pmichaud christmas tree?  "Perl 6 has arrived at japhb's terminal!!!!!"
15:39 japhb pmichaud, Nice!  Well played.
15:39 japhb .oO( "Well played, Thing!  You're really on the ball!" )
15:39 Juerd The "download" button on perl6.org is perfect.
15:39 Juerd Some people really needed to see that in order to believe that it's actually getting somewhere.
15:40 TimToady this whole business of Test.pm colliding seems to be predicated on the assumption that there is an installed file named Test.pm
15:40 japhb Juerd: except that it should be above the fold.
15:40 TimToady that is what S11 is saying ain't the case anymore
15:40 Juerd japhb: We just need getperl6.org like getfirefox.org with a big green button and precompiled binaries and and and
15:41 pmichaud I'm not sure it should be "above the fold" (more)
15:41 Juerd japhb: Don't tell anyone, but people haven't folded webpages for over a decade now ;)
15:41 pmichaud It's not just about the code
15:41 Juerd It's still on the first screenful on my screen by the way
15:42 Juerd http://juerd.nl/i/eb4026184596b6cbaa9360464d59a66e.png  # screenshot
15:42 japhb Juerd, it's not even partially visible on the first page for me.
15:42 Juerd japhb: I'm not saying it is. Just pointing out that "the fold" is different for everyone :)
15:42 pmichaud I'm also wondering if there's a good place for an "about perl6.org" page, to explain the site
15:42 Juerd pmichaud: Footer text
15:43 pmichaud Juerd: I mean something more higher-level
15:43 Juerd pmichaud: I meant, link it from the footer text
15:44 japhb Juerd, oh sure ... but in order to catch 99% of the people, it should be swapped into the top row ... or my suggestion from a while back, add a "schwag" or "support us" or suchlike block, making six colored blocks, and move the download button to be centered above the entire 3x2 block layout
15:44 pmichaud I don't think download should be primary
15:44 pmichaud it's not just about the code
15:44 pmichaud it's about the community
15:44 pmichaud and someday it will hopefully be "downloads"  (plural)
15:45 Juerd "download" is a verb :)
15:45 japhb pmichaud, I think having "downloads" centered right above "community" and "spec" and such gets the point across nicely.
15:45 pmichaud download(s)  really belongs in the "Compilers" box
15:46 perl_babe joined #perl6
15:46 japhb Juerd has a point ... hence the reason it's a button and not a link (buttons are for verbs, links are for nouns)
15:46 Juerd pmichaud: That's a too technical point of view.
15:46 japhb Juerd has a point again.  :-?)
15:46 pmichaud why too technical?
15:46 Juerd pmichaud: To many people, perl6 is one thing, not layered at all.
15:46 pmichaud putting it in the box would put it "above the fold", and it would make it clearer what you're downloading
15:47 pmichaud Juerd: and we have to start breaking that perception, not reinforcing it
15:47 japhb Because people shouldn't have to think that the "Perl 6" they're looking for is a compiler.  They want to download and get started, they're not thinking "compilers" or "interpreters" or what have you.  They just want to get set up and go.
15:47 pmichaud then what they want won't be a compiler
15:47 pmichaud it'll be a Perl 6 distribution
15:47 pmichaud (which we don't have yet)
15:48 pmichaud but I absolutely think we need to start the process of halting the assumption that "Perl 6" is a compiler or a distribution
15:48 Juerd pmichaud: I think reinforcing it is a good thing at the moment. Perl has already lost a lot of credibility over Perl 6, and implying that Perl 6 can be downloaded can repair that in part (guessing)
15:48 rfordinal joined #perl6
15:48 moritz_ pmichaud: any objections to pushing bacek's patch?
15:48 japhb pmichaud, firefox is not a single entity either, but you still have getfirefox ...
15:48 Juerd Personally I would even like the binary to be called rakudo, with perl6 being a symlink or wrapper script.
15:49 pmichaud Juerd: I'm not saying get rid of the download button entirely -- I'm just saying move it to within the "compilers" box.  There's space there for it
15:49 pmichaud Juerd: I've thought about doing that, yes.
15:49 japhb In effect, a "download" link is a sneaky replacement for "join the borg!", and like the Firefox people, we bring new users into the community over time.
15:49 TimToady Maybe we'll end up with a Distributions box
15:49 pmichaud I suspect yes.
15:50 TimToady Camelia's message could end "Or click me to download now!"
15:50 japhb TimToady, I think that would be fine ... as long as there is still a shiny button within said Distro box
15:50 japhb TimToady, do both!
15:50 pmichaud I'm saying have a shiny button in the compilers box
15:51 pmichaud I think that reinforces things nicely
15:51 pmichaud (1) the button is "above the fold"
15:51 pmichaud (2) it reinforces that there's not just one compiler
15:51 pmichaud (which shows that Perl 6 is in fact much stronger than having only one compiler, re: credibility)
15:51 japhb pmichaud, OK, that makes sense, and I can see.
15:52 pmichaud (3) it indicates (unobviously) that what you're getting today is still a compiler but not a full distribution
15:52 japhb er, I can agree with that
15:53 japhb OK ... so what about the box for links to cafe press (and whatever similar stuff we create)?
15:53 moritz_ japhb: we'll have subpages soon
15:53 Juerd TimToady: Click?
15:54 moritz_ japhb: so don't only think in boxes, but also in pages
15:54 PerlJam japhb: Change the "Whatever" box to "Stuff"  :)
15:54 pmichaud I gotta run-- bbl
15:54 moritz_ japhb: see http://sushee.no-ip.org/p6p/ for a preview
15:55 japhb moritz_, sure, that's fine.  But if our front door is going with a subject box motif, then it's driving my OCD mad to have an empty slot in the layout, and that seemed like a useful addition.
15:55 moritz_ japhb: -Ofun would be the obvious box
15:55 moritz_ or just 'Fun' or so
15:55 japhb moritz_, hmmm.  That preview is a little *too* simplified for my tastes.
15:56 moritz_ japhb: yes, for mine too
15:56 japhb I want to balance the clicks versus density see-saw
15:56 moritz_ japhb: the plan is to include maybe the 3 most important links for each category, and then a link to a sub page
15:57 japhb moritz_, that makes sense.  Similar to the level of detail that designer guy was suggestion for the Perl 5 site sticky bar
15:57 japhb er "was suggesting"
15:57 japhb Damn lack of sleep is really annoying me.  :-)
15:57 moritz_ there's an easy cure for that ;-)
15:58 japhb moritz_, I have three young kids, a $day_job, and a hacking addiction.  There's no cure within the boundaries of my life right now.  ;-)
15:59 * japhb pulls up backlog to figure out what the little elves were saying about me in the middle of the night
16:02 molaf joined #perl6
16:09 justatheory joined #perl6
16:14 leobm joined #perl6
16:16 lisppaste3 leobm pasted "6 params expected ?" at http://paste.lisp.org/display/86504
16:17 masak leobm: known bug. Parrot-related.
16:17 leobm masak: ok
16:17 jnthn leobm: What masak said - the error message generationg sucks.
16:18 jnthn *generation
16:18 jnthn Fix should be forthcoming in Oct or latest Nov.
16:20 leobm jnthn: ok, get along with perlbug
16:21 leobm jnthn: ok, find the bug #60570
16:22 TimToady ruoso: no, $*foo is no longer aliased to $foo
16:22 szabgab joined #perl6
16:24 TimToady having aliases makes it harder to do the mutability analysis that will make threading run fast(er)
16:37 ruoso TimToady, so now I'm confused
16:38 ruoso how do $*foo doesn't find the $*foo in the outer scope
16:38 ruoso ?
16:38 pmichaud moritz_: sorry, I missed your note earlier  -- +1 on pushing patch and bumping PARROT_REVISION
16:39 ruoso hmmm...
16:39 ruoso I was assuming dynamic lookup would look into the lexical scope of the caller
16:39 TimToady ruoso: by not looking in the outer scope unless it also happens to be a dynamic scope
16:39 ruoso maybe that means it is a different namespace at all
16:39 pmichaud it looks into the lexpad of the caller
16:40 pmichaud if the lexpad contains entries for all of the outer scopes, then yes, that makes it more difficult
16:40 pmichaud in Parrot, the lexpad contains links to the outer lexpads
16:40 ruoso pmichaud, well it doesn't have it by itself,
16:40 TimToady $*foo shouldn't be aliased in from OUTER, but from CALLER
16:40 pmichaud well, link
16:40 colomon rakudo: say 1.0.Num
16:40 M_o_C joined #perl6
16:40 p6eval rakudo 1cb71e: OUTPUT«Method 'Num' not found for invocant of class 'Num'␤»
16:40 ruoso hmm...
16:41 ruoso I see what it means now
16:41 TimToady though as a dynamic alias it has to go in the real per context pad, not the name pad
16:41 pmichaud correct
16:41 pmichaud (at least, "correct for Parrot"  :)
16:41 ruoso Ok, so for $*foo, it checks if the current lexpad (and not any outer scope) has $*foo, if it doesn't it starts looking into the caller's scope
16:42 pmichaud yes
16:42 ruoso but does it do a full lookup in the caller's scope?
16:42 pmichaud except I'd say that it looks in the caller's lexpad
16:42 pmichaud not the caller's scope
16:42 ruoso hmm...
16:42 pmichaud instead of a chain of outer lexpads, it follows a chain of caller lexpads
16:43 ruoso { my $*foo = 1; { dosomething() }; }; sub dosomething { say $*foo }
16:43 pmurias TimToady: how is MAD supposed to be used?
16:43 ruoso $*foo is not in the caller lexpad in that case
16:43 pmichaud ruoso:  that still works
16:43 pmichaud it's in the caller's caller's lexpad
16:43 ruoso right
16:43 * ruoso forgot that part
16:44 ruoso ok...
16:44 ruoso now it makes sense
16:44 pmichaud ruoso++
16:44 stephenlb joined #perl6
16:45 ruoso it's actually a neat way of eliminating the need to check for routine barriers
16:52 dalek rakudo: c6bf7b8 | moritz++ |  (3 files):
16:52 dalek rakudo: make Rakudo build on parrot after context_pmc3 branch merge
16:52 dalek rakudo: Patch courtesy by bacek++
16:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c6bf7b8ec867f49907cc1945098db999b02b9d0f
16:56 cdarroch joined #perl6
16:57 kidd_ joined #perl6
16:57 ruoso TimToady, maybe it would be interesting to add an additional explanation to remember that inner bare blocks appear in the caller chain, for the next time I forget it ;)
16:59 cahek joined #perl6
17:00 TimToady it falls out of "everything is a closure" :)
17:02 alester joined #perl6
17:11 ruoso sure, it does... it's just that sometimes people forget the ramifications
17:20 iblechbot joined #perl6
17:21 flavioglock joined #perl6
17:32 stephenlb joined #perl6
17:33 cotto joined #perl6
17:37 TimToady mberends: saying that S11 solves it with :auth is kinda missing the point.  S11 solves it by saying that nothing goes into the official library without a unique name pointing to immutable content.  :auth is just a symptom of that.
17:38 TimToady and that saying "use Foo" is really a search through an API, not the name of a file
17:39 abra joined #perl6
17:39 TimToady if installers are getting collisions, it means that the colliding name is really a search term, not a unique name
17:39 mberends TimToady, thanks. it was not an accurate statement.
17:40 TimToady figgered you know that, but didn't think it would hurt to repeat it :)
17:40 mberends proto is going to fall short when it comes to uniqueness
17:40 TimToady well, do your best :)
17:40 mberends quite. please somebody, make proto obsolete!
17:44 synth joined #perl6
17:47 ruoso multi-versioning install is a tuff issue... I can't even think how hard will it be when we add binary dependencies management
17:49 Chillance joined #perl6
17:49 flavioglock hi
17:50 ruoso flavioglock, heya!
17:50 TimToady there's probably some grand simplification waiting to happen, much as happened when relational databases were invented
17:50 * ruoso is probably a pessimist, but binary dependency is older than rdbms and nobody solved that yet
17:51 TimToady the databases before that were all full of dependency pointers
17:51 flavioglock ola ruoso :)
17:51 ruoso quanto tempo, flavioglock ;)
17:56 flavioglock joined #perl6
17:56 flavioglock hmm - chatzilla crashed
17:57 ruoso flavioglock, have you been following #perl6 as a listener?
17:58 flavioglock sometimes, yes - but $work doesn't help much
17:58 flavioglock I'm mostly developing off-line
18:00 ruoso off-line development is a strange concept
18:01 ruoso flavioglock, in smopland we're already working on p5 integration
18:01 flavioglock how is speed like?
18:02 flavioglock I've been trying out some optimizations, also reading a lot about it
18:02 flavioglock mp6-lisp is 6x faster than mp6-perl5
18:03 ruoso we're not yet really looking at speed
18:04 ruoso but by p5 integration I mean interpreter co-operation
18:04 ruoso not generating p5 bytecode from P6 code
18:05 flavioglock like, calling methods in p5 objects in p6 land
18:05 ruoso and vice-versa
18:05 ruoso mildew already calls p5 methods from p6 land
18:06 rfordinal joined #perl6
18:06 ruoso but the target right now is more p5-oriented then p6
18:07 ruoso *than
18:07 ruoso basically, we're working towards implementing "Representation Polymorphism" and "Polymorphic Eval" in p5
18:09 flavioglock do you also have p6 objects in p5?
18:10 ruoso pmurias implemented a mechanism of wrapping p6 objects inside SV*
18:10 ruoso so the callback works
18:10 flavioglock pmurias++
18:11 ruoso we kinda halted implemeting new features in SMOP before we have the p5 integration
18:12 ruoso I actually think we're going to have some #p5p help after we have the smopp5 working
18:16 PZt joined #perl6
18:19 ruoso flavioglock, v6/re-mildew/t/p5*.t
18:20 flavioglock (looking)
18:22 zamolxes joined #perl6
18:24 ruoso mildew: use CGI:from<perl5>; my $q = ::CGI.new(); say $q.header('-charset', 'utf8'), $q.start_html, $q.h1('Hello World'), $q.end_html;
18:24 p6eval mildew: OUTPUT«Content-Type: text/html
18:24 p6eval ..http-equiv…
18:26 jnthn wow.
18:26 jnthn mildew++
18:27 flavioglock ruoso++: amazing :)
18:27 ruoso pmurias++ # he's the one who implemented that part :)
18:30 pugs_svn r28179 | ruoso++ | [re-mildew] update example/cgi.pl to use the p6land name
18:30 ruoso hmm... interesting... the commit message appeared here before the svn client exitted on my console
18:32 pugs_svn r28180 | ruoso++ | [re-mildew] someone ate a ,
18:35 ruoso it still doesn't use higher-level casts yet...
18:35 ruoso mildew: knowhow Foo {method Str {return "YAY"}};use CGI:from<perl5>;my $q = ::CGI.new();say $q.h1(Foo);
18:36 p6eval mildew: OUTPUT«Calling SMOP::NATIVE::idconst::fetch on a non idconst.␤<h1></h1>␤»
18:36 rbaumer joined #perl6
18:38 silug joined #perl6
18:40 TimToady mildew: use CGI:from<perl5>; my $q = CGI.new(); say $q.header('-charset', 'utf8'), $q.start_html, $q.h1('Hello World'), $q.end_html;
18:41 p6eval mildew: OUTPUT«Undeclared name:␤ CGI used at 1 ␤Could not find variable &CGI in the lexical scope.␤»
18:41 ruoso TimToady, mildew still uses an old STD snapshot
18:41 TimToady std: use CGI:from<perl5>; my $q = CGI.new(); say $q.header('-charset', 'utf8'), $q.start_html, $q.h1('Hello World'), $q.end_html;
18:41 TimToady ah
18:41 p6eval std 28180: OUTPUT«Potential difficulties:␤  Can't locate module CGI:from<perl5> at /tmp/bsYAvRd386 line 1:␤------> [32muse CGI:from<perl5>[33m⏏[31m; my $q = CGI.new(); say $q.header('-cha[0m␤Undeclared name:␤     CGI used at 1␤ok 00:03 39m␤»
18:42 TimToady not that current STD handles :from right yet...
18:42 ruoso yep, but shouldn't be too hard
18:42 TimToady just needs an alias
18:42 jan__ joined #perl6
18:42 ruoso I guess it would always install a local alias by that name...
18:42 ruoso (which is what mildew does currently)
18:43 TimToady should be standard behavior
18:43 ruoso mildew is still wrong when dealing with p5 long names, like SDL::App
18:43 ruoso it's storing the string SDL::App in the lexpad
18:43 ruoso instead of creating an SDL package
18:43 ruoso and installing App inside it
18:44 TimToady I think STD doesn that one right
18:44 Lorn joined #perl6
18:46 ejs joined #perl6
18:51 flavioglock_ joined #perl6
18:52 * ruoso considers implementing proper "use SDL::App:from<perl5>"
18:54 flavioglock_ ruoso: how about PDL
18:55 ruoso flavioglock, er... I meant it as any module with a long name...
18:55 ruoso but that raises the issue about exports from perl5
18:56 ruoso TimToady, should we allow p5 to export to p6 namespace?
18:56 ruoso (is that even possible?)
18:57 cognominal what is mildew? I don't see that on perl6.org
18:58 ruoso cognominal, good point... mildew is a compiler that uses STD as parser and SMOP as runtime
19:00 justatheory joined #perl6
19:00 cognominal I can't remember all this perl 6 related projects...
19:00 reqamst joined #perl6
19:00 TimToady we should at least allow p6 to import from p5 :)
19:00 [particle]1 http://www.perlfoundation.org/perl6/index.cgi?smop
19:01 flavioglock_ cognominal: there are some secret old p6 projects
19:02 ruoso TimToady, while I see the smile, I think you mean: "need CGI:from<perl5>; CGI defines h1; h1('Hello')"
19:02 ruoso is it?
19:02 ruoso cognominal, I'm putting together a mildew-specific wiki page and then I'll put a link in perl6.org
19:03 cognominal STD generates perl 5 code? so in what language is written mildew?
19:03 cognominal ho, thx ruoso
19:04 ruoso cognominal, STD generates a parse tree using p5 data
19:04 flavioglock_ what is this ironperl in v6/README ?
19:04 jaffa8 joined #perl6
19:04 jaffa8 hi
19:04 ruoso cognominal, mildew transforms that parse tree into m0ld/yeast code
19:04 ruoso which are two of the smop interpreters
19:06 cognominal the parse tree is in yaml, json... ?
19:07 ruoso p5 objects/hashes/arrays
19:08 ruoso http://www.perlfoundation.org/perl6/index.cgi?mildew
19:12 pugs_svn r28181 | ruoso++ | [perl6.org] adds mildew reference
19:20 donaldh joined #perl6
19:38 icwiener joined #perl6
19:38 pugs_svn r28182 | colomon++ | [spec/t] Checked in at the mid-way point of a refactor designed to make the tests a lot cleaner.  Everything does test as before at the moment, but there will probably be more large changes for the refactoring over the next week or so.
19:39 sjohnson morning all
19:39 moritz_ rakudo: say pi / 2
19:39 colomon morning.
19:39 moritz_ oh hai
19:39 p6eval rakudo c6bf7b: OUTPUT«1.5707963267949␤»
19:40 jaffa8 I just read
19:40 jaffa8 the rakudo will be release in spring 201�
19:40 jaffa8 the rakudo will be release in spring 2010
19:40 synth^2 joined #perl6
19:40 jaffa8 anyway, hi
19:40 jaffa8 moritz_,
19:43 pmichaud jaffa8: there will be *a* Rakudo distribution release in spring 2010, yes.
19:46 jaffa8 there are already releases.
19:46 jaffa8 What will be the difference?
19:46 pmichaud Rakudo Star is meant to be a more complete distribution instead of just a compiler
19:46 jaffa8 Will it contain perl 5 too?
19:46 pmichaud probably not.
19:47 pmichaud although it might, depending on how well jnthn++'s project progresses
19:47 pmichaud (I still have to learn how to spell it properly :-)
19:47 moritz_ rakudo: say 1 + eval('2 + 3', :lang<perl5>)
19:47 moritz_ Blizkost
19:47 p6eval rakudo c6bf7b: OUTPUT«Use of uninitialized value␤1␤»
19:47 moritz_ uhm.
19:47 pmichaud yeah, that's the one
19:48 moritz_ it's easy for me. In German Blitz = lightning (sometimes used as "fast" too), just leave out the t
19:48 moritz_ and kost = food
19:48 moritz_ I just have to think of ultra fast food ;-)
19:49 jaffa8 kost
19:49 jaffa8 I know that word
19:50 jnthn Trust me to pick a name with amusing meanings in other languages.
19:50 jnthn :-)
19:51 flavioglock_ moritz_: thanks for adding mp6 in 'Perl 6 Tidings'
19:51 jaffa8 jnthn, how is perl 5 integration going?
19:51 moritz_ flavioglock_: you're welcome
19:52 moritz_ flavioglock_: speaking of which, do you have future plans for it?
19:52 flavioglock_ moritz_++ # it's nice to have a perl6 journal
19:52 flavioglock_ hmm
19:53 flavioglock_ I'm studying a lot of options
19:54 flavioglock_ there are several things I'm testing
19:55 jaffa8 Can someone explain if there is a difference between perl 5 c switch and perl 6 c modifier?
19:55 jaffa8 Similarly, between g switch and g modifier?
19:57 moritz_ I think the main difference is that :g doesn't behave magically in scalar context in Perl 6
19:57 moritz_ and that the position is not stored in pos($str) but in the match object
19:58 jaffa8 What is behaving magically?
19:59 moritz_ well, m/../g behaves very different in scalar and list context (p5)
19:59 moritz_ in perl 6 m:g/.../ just returns a (lazy) list of Match objects.
20:00 jnthn jaffa8: I've given it personally about 15 hours so far.
20:00 jnthn jaffa8: Others have chipped in lots of work on the build stuff and other bits here and there.
20:00 jnthn jaffa8: So far, only minor achievements, but a decent start relative to the time investment.
20:01 jaffa8 "chipped in" Is it informal?
20:01 jaffa8 jnthn, ok I see
20:02 jnthn jaffa8: sorry, eys, informal. "contributed" works fine too :-)
20:02 jaffa8 Where is it used?
20:02 jaffa8 Is American or British?
20:03 jaffa8 Is => Is It?
20:03 rbaumer joined #perl6
20:03 literal any vimmers here that have an opinion on this? http://groups.google.com/group/vim-perl/browse_thread/thread/83f230d7ed2d164f
20:03 pmurias flavioglock_: hi
20:03 flavioglock_ pmurias: hi!
20:05 jnthn jaffa8: Well, I'm British, so probably it's British. :-)
20:08 jaffa8 I do not watch too many British series, only Dr. Who.
20:08 pmurias flavioglock_: so are you planning on reviving mp6?
20:21 moritz_ literal: talk to azawawi, he did some autodetection for padre
20:21 literal ah
20:23 flavioglock_ pmurias: I'm doing some fixes here and there
20:31 Karthz joined #perl6
20:43 flavioglock_ pmurias: I don't have much free time, but I'm motivated :)
20:43 rbaumer left #perl6
20:48 rbaumer joined #perl6
20:59 takadonet left #perl6
21:02 KyleHa1 joined #perl6
21:08 spinclad masak, mberends: re listed ecosystem problems: all seem to do with projects keeping track of and owning files.  debian dpkg registers the equivalent of ('package: file' for file in package) and refuses to install on conflicts.  doing this seems the simplest possible answer to me...
21:10 spinclad though of course allowing multiple versions may make it easier, by putting every project in its own lib-dir
21:17 pugs_svn r28183 | colomon++ | [spec/t] Un-skip tests for Complex.sin.
21:18 dalek rakudo: b51d94c | (Solomon Foster)++ | src/setting/Complex.pm:
21:18 dalek rakudo: Add Complex.sin and Complex.cos functions.
21:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b51d94cd574fae1de8a8937122cccc8ceb63301f
21:19 pmichaud colomon++
21:19 colomon Checked in the functions I'd been sitting on for days just to see if the process worked okay.  :)
21:20 pmichaud instead of 1i * ...   it might be better to use .i  (if it works)
21:20 colomon Really?  Like
21:20 colomon rakudo: say (10).i;
21:20 pmichaud rakudo:   say (3+4).i
21:20 colomon racing examples!  ;0
21:21 p6eval rakudo c6bf7b:  ( no output )
21:21 p6eval rakudo c6bf7b:  ( no output )
21:21 pmichaud doh!
21:21 pmichaud rakudo:   say (3+4).i
21:21 p6eval rakudo c6bf7b: OUTPUT«Method 'i' not found for invocant of class 'Integer'␤»
21:21 pmichaud rakudo:   say (3.0).i
21:21 p6eval rakudo c6bf7b: OUTPUT«Method 'i' not found for invocant of class 'Num'␤»
21:21 pmichaud hmm
21:21 pmichaud rakudo:   say (3.0)i
21:21 colomon afk, dinnertime
21:22 p6eval rakudo c6bf7b: OUTPUT«0+3i␤»
21:23 pmichaud okay, a postfix:<i> then :-)
21:23 pmichaud regardless, it looks good to me
21:25 bionoid_ joined #perl6
21:26 frew_ joined #perl6
21:27 tak11 joined #perl6
21:39 nErVe joined #perl6
21:40 Whiteknight joined #perl6
21:41 cognominal rakudo : say  e ** -(i*pi)
21:42 cognominal rakudo : say  e ** -(1i*pi)
21:42 cognominal rakudo: say  e ** -(1i*pi)
21:42 p6eval rakudo c6bf7b: OUTPUT«** (HyperWhatever) is not yet implemented at line 2, near " -(1i*pi)"␤in Main (src/gen_setting.pm:2534)␤»
21:43 cognominal rakudo: say 2**2
21:43 p6eval rakudo c6bf7b: OUTPUT«4␤»
21:44 cognominal rakudo: say  e**(1i*pi)
21:44 p6eval rakudo c6bf7b: OUTPUT«-1+0i␤»
21:44 cognominal rakudo: say  e**-(1i*pi)
21:44 p6eval rakudo c6bf7b: OUTPUT«-1-1.22461e-16i␤»
21:44 cognominal rakudo: say  e**(-(1i*pi))
21:44 p6eval rakudo c6bf7b: OUTPUT«-1-1.22461e-16i␤»
21:45 cognominal rakudo: say  e**(i*pi))
21:45 p6eval rakudo c6bf7b:  ( no output )
21:51 TimToady seems like http://www.perlmonks.org/?node_id=793143 is ripe for a followup explaining how it is all cleaned up in Perl 6, but I haven't the tuits
21:56 japhb joined #perl6
21:57 jaffa8 Where can I get a description of Perl 6 command line arguments?
21:57 jaffa8 Where can I get a description of Perl6.exe command line arguments?
22:00 colomon rakudo: say e**(1i*pi)
22:00 p6eval rakudo b51d94: OUTPUT«-1+0i␤»
22:07 colomon rakudo: say e**(i*pi)
22:07 p6eval rakudo b51d94: OUTPUT«Could not find non-existent sub i␤»
22:16 pugs_svn r28184 | lwall++ | [camelia.txt] more clarication of what Camelia is and is not for.
22:17 pmichaud the text file doesn't appear utf-8 in my browser :(
22:17 TimToady ah, hmm
22:17 TimToady I suppose it needs a mime-type
22:18 syntheticore joined #perl6
22:18 pugs_svn r28185 | lwall++ | [camelia.txt] add props
22:19 TimToady should be better now
22:19 pmichaud yes, much
22:19 pmichaud thanks
22:19 TimToady rakudo: say (e) ** -(1i*pi)
22:20 p6eval rakudo b51d94: OUTPUT«-1-1.22461e-16i␤»
22:20 TimToady rakudo: say -(e) ** -(1i*pi)
22:20 p6eval rakudo b51d94: OUTPUT«1+1.22461e-16i␤»
22:20 TimToady cognominal: see ^^^
22:21 TimToady e is still a listop in rakudo
22:21 TimToady so (e) is another way to suppress that, in addition to omitting space
22:24 TimToady I don't recomment e() however
22:24 TimToady *recommend
22:24 TimToady since:
22:24 colomon I had just been just been using exp()...
22:25 TimToady e is a term that does not respond to ()
22:25 TimToady (in std)
22:25 TimToady but (e) will continue to work
22:27 colomon What about i?  That seems a logical choice if we have e and pi running around...
22:27 syntheticore hello everybody
22:27 TimToady yeah, maybe
22:28 TimToady eventually you want to avoid possible user-defined sub names
22:29 syntheticore I was looking for relatively high-level stuff in rakudo that I could try to implement and found that there's no implementation of the Set type still, although it's mentioned in S02
22:29 syntheticore would it be a good idea to work in that right now?
22:29 TimToady maybe we should recognize MATHEMATICAL ITALIC SMALL I instead :)
22:30 TimToady sure, you might be able to find prior work under pugs
22:30 syntheticore nice
22:30 syntheticore is the other information available, other than it should be " Unordered collection of values that allows no duplicates
22:30 syntheticore "?
22:31 syntheticore and that it does the associative role?
22:31 TimToady well, it has to mesh well with the other types, such as the mutable KeySet/KeyBag types
22:32 TimToady and we explicitly say you can convert at least a one() junction to a Set to get the eigenstates
22:32 syntheticore those don't seem to be implemented or documented very well either...
22:32 TimToady Set itself is supposed to be immutable, since real sets are
22:33 TimToady well, that's why it's in the "immutable" section, and the others in the mutable section
22:33 syntheticore ok
22:33 jnthn syntheticore: There may be some work to do on fleshing out the spec. It's fine to flesh the spec out with the implementation on these things. :-)
22:34 TimToady there's some stuff in S03 about smartmatching against Set
22:34 TimToady and S32-setting-library/Containers.pod has some KeySet data
22:34 TimToady one way to implement Set would just be with readonly KeySet
22:34 syntheticore when it implements the Associative role, it means it should respond do postcircumfix<{}>
22:35 TimToady yes, and returns a Bool
22:35 syntheticore thanks for the infos so far, didn't find that information when I was looking
22:35 TimToady since that is what a Set implicitly associates to
22:35 TimToady "is it a member?"
22:35 syntheticore ah, now I understand
22:35 syntheticore because I was wondering what the key to that would be ;)
22:36 TimToady S02 describes KeySet and KeyBag
22:36 syntheticore so I need to implement postcircumfix<{}> myself and including the role does the rest?
22:37 TimToady in theory :)
22:37 syntheticore :)
22:37 * justatheory coughs
22:37 TimToady we sincerely hope it is now out of theory
22:37 syntheticore yeah, when you play a little longer with rakudo, it's not that hard to produce some segfaults ;)
22:38 TimToady think of them as opportunities
22:38 TimToady to harass someone else :)
22:39 * jnthn runs away
22:39 syntheticore hehe, wish I could help on more core things
22:39 TimToady is a syntheticore kinda like a manticore?
22:40 syntheticore don't know, thought it sound kinda techy
22:40 syntheticore ;)
22:40 TimToady works for me
22:40 syntheticore I'm glad! :)
22:42 payload joined #perl6
22:42 syntheticore just had to look up what that is, can assure you I don't look like that ;9 http://en.wikipedia.org/wiki/Manticore
22:44 TimToady ich bin recht gern!
22:46 jnthn Hmm. So I fly for 12 hours...and will get to Japan at 8:10am. I wonder if  Tokyo has a source of strong coffee...
22:47 payload joined #perl6
22:47 TimToady Tokyo has a source for just about everything, though on the train you would have to buy from the cart lady, and I don't think she has hot coffee
22:47 TimToady flying into Narita?
22:48 jnthn TimToady: Yeah
22:48 TimToady 'bout a 40 minute train ride in
22:48 jnthn Ah, I'll cope.
22:48 TimToady after a redeye, Glo and I find walking in the sunshine the best thing
22:49 syntheticore TimToady: Found out my mothertonge pretty quickly :)
22:50 jnthn I'm staying near Oeno for the first couple of days (which is happily on the train ride from Narita)...
22:50 jnthn ...so I guess that means I've got at least one park close at hand.
22:50 TimToady well, your isp pops up in Deutsch :)
22:50 TimToady is a nice park
22:50 syntheticore ;)
22:50 jnthn yay :-)
22:51 jnthn I like parks. We don't have enough in central BA.
22:51 jnthn (Granted there's plenty around the outside of the city...)
22:51 TimToady syntheticore: was just wondering your timezone, really, since that tends to be germaine here (no pun intended)
22:51 syntheticore well, its 0:51 here right now
22:52 syntheticore should be in bed already :)
22:52 TimToady I have that problem too, just not yet :)
22:52 syntheticore what time is it in your state right now?
22:53 TimToady 1553
22:54 TimToady or did you mean my state of confusion?
22:54 jnthn syntheticore: Heh, I'm in that timezone too, but am rarely gone at this time. :-)
22:54 syntheticore wondering what timezone that would have ;)
22:55 TimToady probably has a W for Wonderland
22:55 TimToady or maybe RHNT, for rabbit hole non-standard time
22:55 syntheticore jnthn: same with me, but I always curse in the mornings :)
22:55 jnthn syntheticore: yeah same
22:55 jnthn :-)
22:56 syntheticore night's the best time for hacking anyway
22:56 TimToady http://scripturetext.com/proverbs/27-14.htm
22:59 TimToady one of the funniest verses in the bible
23:01 pmichaud TIMTOADY IZ TEH AWESOME!!!!!!111!!!!! LOL
23:01 jnthn :-D
23:01 jnthn LOL!!
23:02 * jnthn will remember that one...
23:02 pmichaud fortunately it's not morning here :-) :-)
23:02 andy_ joined #perl6
23:02 cognominal thx timtoady. Good night
23:02 cognominal good localtime anyway
23:04 ruoso joined #perl6
23:09 ihrd joined #perl6
23:15 sjohnson i had a dream i met TimToady last night heh
23:19 pugs_svn r28186 | lwall++ | [perl6.org] delete redundant and distracting link from "butterflies"
23:20 TimToady I assure you, it was someone else.
23:21 sjohnson it was a DreamToady
23:21 donaldh joined #perl6
23:32 Limbic_Region joined #perl6
23:33 frew__ joined #perl6
23:36 SmokeMachine joined #perl6
23:37 satrac joined #perl6
23:37 bionoid joined #perl6
23:41 satrac_ joined #perl6
23:41 syntheticore rakudo: say 4 === 4;
23:41 p6eval rakudo b51d94: OUTPUT«1␤»
23:42 syntheticore rakudo: say 4 === any(3,4);
23:42 p6eval rakudo b51d94: OUTPUT«0␤»
23:42 syntheticore why is that?
23:42 satrac_ left #perl6
23:43 satrac left #perl6
23:45 syntheticore jnthn: shouldn't the last statement give back a Junction?
23:45 jnthn syntheticore: iirc === doesn't auto-thread
23:45 syntheticore ic
23:45 jnthn Additionally
23:46 Karthz joined #perl6
23:46 sjohnson syntheticore: because they aren't the same datatype
23:46 jnthn === can only be used with the same type on the LHS and the RHS.
23:46 jnthn In fact I guess that's why it won't auto-thread.
23:46 syntheticore ok, say I wanted to check if an object is in a collection
23:46 sjohnson rakudo: say 4 == any(3,4);
23:46 p6eval rakudo b51d94:  ( no output )
23:47 sjohnson rakudo: say (4 == any(3,4));
23:47 p6eval rakudo b51d94: OUTPUT«any(Bool::False, Bool::True)␤»
23:47 syntheticore do I have to use == for comparison for all objects but strings and use eq for that, or is there a generic comparison operator?
23:48 pmichaud syntheticore: cmp
23:48 pmichaud or eqv if you're wanting equivalence
23:48 syntheticore because in a set, "4" is not the same as 4, right?
23:48 pmichaud although eqv might not autothread either
23:48 syntheticore ah, ok
23:49 pmichaud perhaps    any( 4 <<==<< (3,4) )
23:49 pmichaud or    any( 4 <<===<< (3,4) )
23:49 pmichaud rakudo:   say ?any( 4 <<===<< (3,4) );
23:50 p6eval rakudo b51d94: OUTPUT«1␤»
23:50 syntheticore nice :)
23:50 syntheticore so that is like making a list of the junction, iterating through it and comparing each element using ===, right?
23:52 pmichaud yes
23:52 pmichaud S03 says the better way to do it is
23:52 pmichaud rakudo:  say 4 ~~ any(3,4)
23:52 p6eval rakudo b51d94: OUTPUT«1␤»
23:52 pmichaud I don't know if that will work for all types, though.
23:53 syntheticore rakudo: say "4" ~~ any(3,4)
23:53 p6eval rakudo b51d94: OUTPUT«1␤»
23:53 syntheticore so should 4 and "4" be considered equal in a set?
23:53 pmichaud My guess would be no (having not read the spec)
23:53 pmichaud I think set is based on eqv semantics
23:54 syntheticore ok, I'll search a bit
23:58 Whiteknight joined #perl6

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

Perl 6 | Reference Documentation | Rakudo