»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by Juerd on 28 August 2009.
00:00 syntheticore joined
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
s1n Guest15284: it's okay, there are plenty of lurkers :) 00:01
TimToady and lurkees 00:03
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
00:04 Guest15284 is now known as S
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."
*searching
00:05 S is now known as Sorensen
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.
s1n sounds like me
Sorensen Seems like a benefit
pmichaud so yes, we get faster "not found exceptions" when she's there with me.
jnthn I'd count that as a plus. :-)
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 :-)
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 :)
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 :)
jnthn EBORED
pmichaud (and it's important enough that it can't wait)
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 :)
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:09
TimToady generic means "decided by the types involved" in this case 00:11
00:11 ihrd joined
PerlJam I don't want generic division, I want name-brand division. 00:11
TimToady whereas the / and % are name-brand :) 00:12
pmichaud PerlJam: you have to pay extra for that.
TimToady and it limits your choices
actually, it's kind the other way around, for that definition of generic
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?
TimToady and / means pretend they're reals
not unless someone defines Str div Int
that's not a built-in
Sorensen But you couldn't define your own Str / Int, right? 00:14
syntheticore Hello everybody
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?
PerlJam Sorensen: "couldn't"? I don't think perl knows that word.
TimToady yes, you could do that too, but it would be going against the spirit of / a bit more
syntheticore I would like to write a vector/matrix class for rakudo
where would that go?
the setting?
PerlJam deja vu
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"?
jnthn syntheticore: hi! 00:16
syntheticore hi :)
jnthn syntheticore: If it's something that is in the synopses, it belongs in the setting.
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.)
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. :-)
TimToady you're not doing a very good job of lurking, Sorensen :P
pmichaud syntheticore: you might also be intrested in lastofthecarelessmen.blogspot.com/2...-done.html
jnthn syntheticore: I think lastofthecarelessmen.blogspot.com/ may be working on something similar-ish too.
gah, pm beats me again. :-P 00:18
pmichaud "the beatings will continue until morale improves!"
00:19 ihrd1 joined
Sorensen (I got distracted from not-lurking and am looking over this beast: 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".
jnthn pmichaud: I was pondering that, but I'm sorta packing too. :-)
pmichaud I wonder if Mark Lentczner is thinking of doing an update to that table anytime soon :) 00:20
we need to come up with a "poster release cycle" that can track changes to the synopsis :)
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
TimToady is one, I think
Sorensen That's how I got there :P
pmichaud D'oh!
If it's not in the first three places I look, it doesn't exist. 00:22
Hey, look, there's a download button on that page, too!!! :)
sjohnson yep. a happy Toady is a productive Toady
s1n indirectly off topic: anyone own a netbook with a factory ssd? i'm curious what the performance is like
00:22 ihrd1 left
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.
sjohnson s1n: my bro bought an intel SSD so not stock, but he said it was awesome
TimToady my favorite chemical is periodic acid
no, not LSD
00:23 ihrd left
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
(I don't know if that's what they use in their netbooks... very unlikely given the price)
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
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?
pmichaud syntheticore: just write a module for it
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.
pmichaud most people have been maintaining their modules on github
gah, jnthn beats me again. :-P 00:27
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!"
;-)
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
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!
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
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
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".
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
pmichaud s1n: I've used laptops in vehicles like cars, trucks, and planes for years without any real problems.
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
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)
s1n this will be used almost exclusively in a car (rakudo carrides :) ) 00:33
pmichaud well, here's the math
TimToady just install linux on the car's computer
pmichaud if you get a laptop with a traditional hdd, you'll save a couple hundred at the outset
if it lasts two weeks and fails, you can then buy an ssd and you'll still break about even 00:34
if it lasts a year and fails, you're way ahead
all that said, I _really_ like my ssd :) 00:36
00:45 nbrown joined
jnthn OK, sleep time...night all 00:47
01:03 Sorensen left 01:04 payload joined 01:06 rfordinal left 01:07 syntheticore left 01:14 rbaumer left 01:28 frew__ joined 01:33 carlin joined 01:41 justatheory left 01:49 felipe joined
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␤»
..rakudo c9a930: OUTPUT«12␤»
..pugs: OUTPUT«12.34␤»
spinclad perl6: say :16<dead.beef>
p6eval rakudo c9a930: OUTPUT«57005␤»
..elf 28174: OUTPUT«Unknown rule: rad_number␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
..pugs: OUTPUT«57005.7458343505859375␤»
spinclad pugs++ 01:54
01:55 alanhaggai joined
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␤»
..pugs, rakudo c9a930: OUTPUT«12.34␤»
spinclad perl6: say :16<dead_beef>/:16<10000>
p6eval elf 28174: OUTPUT«Unknown rule: rad_number␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
..rakudo c9a930: OUTPUT«-32768␤»
..pugs: OUTPUT«57005.7458343505859375␤»
spinclad rakudo: say :16<dead_beef> 01:57
p6eval rakudo c9a930: OUTPUT«3735928559␤»
spinclad rakudo: say :16<10000>
p6eval rakudo c9a930: OUTPUT«65536␤»
spinclad rakudo: say 3735928559/65536 01:58
p6eval rakudo c9a930: OUTPUT«-32768␤»
spinclad rakudo: say 373592855/6553 01:59
p6eval rakudo c9a930: OUTPUT«57010.9652067755␤»
spinclad rakudo: say 1/65536 02:00
p6eval rakudo c9a930: OUTPUT«1.52587890625e-05␤»
spinclad rakudo: say 37359/65536
p6eval rakudo c9a930: ( no output )
spinclad rakudo: say 37359/65536
p6eval rakudo c9a930: OUTPUT«0.570053100585938␤»
spinclad rakudo: say 37359285/65536 02:01
p6eval rakudo c9a930: OUTPUT«570.05744934082␤»
spinclad rakudo: say 373592855/65536
p6eval rakudo c9a930: OUTPUT«5700.57456970215␤»
spinclad well, enough spam. time to rakudobug...
02:08 justatheory joined, justatheory left, sharada left 02:09 Whiteknight left 02:14 agentzh joined 02:15 jhuni joined 02:33 hercynium left 02:34 satrac joined 02:40 satrac left, satrac joined 02:43 sri_kraih left, sri_kraih joined 02:47 colomon left 02:55 colomon joined 02:57 nbrown_ joined 02:59 jaldhar joined 03:06 alanhaggai left 03:11 satrac left, nbrown left 03:14 rbaumer joined
pmichaud TimToady: ping 03:19
stephenlb pong
03:20 donaldh left, donaldh joined
pmichaud TimToady: I'm working on contextual variables could use a confirmation/clarification -- what would be output by gist.github.com/180109 ? 03:21
03:21 stephenlb left
pmichaud *and could 03:22
I'm thinking the output would be 'outer'
spinclad .oO{ stephenlb does TimToady has left }
pmichaud .oO{ yes I noticed }
diakopter I can't think of a reason it wouldn't be 'caller'... isn't the 'my' redundant? 03:23
the inner 'my'
pmichaud no
the inner my is creating a new contextual variable
imagine it this way... 03:24
actually, just imagine it without the *'s being present
ruoso pmichaud, I think it is "outer"
pmichaud if the *'s aren't present, it's fairly certain to be 'outer'
ruoso somewhere in the spec changes, there's a CALLER::<$*VAR>
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>
diakopter I thought contextual variables were just "dynamically scoped" by another name
pmichaud ruoso: it does say that... however, I'm not sure how some parts of STD can work then
ruoso I think STD doesn't try to do anything about $*VAR ... 03:26
it assumes it is dynamic
but I might be wrong
pmichaud right, but it also has lexically scoped contextuals at the top
and so all of the places that use those lexically scoped contextuals would never "see" the dynamic ones
ruoso except if you ask for it 03:27
pmichaud ...but they don't
ruoso CALLER::<$*VAR>
ah...
I see what you mean....
thinking a bit, 03:28
it actually is a good idea
because it means the variables initialized on top of STD
actually need to be initialized by the code calling STD
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
ruoso diakopter, I think TimToady haven't realized this side-effect
03:29 jauaor left
diakopter that's not inconsistent with my guess... 03:30
pmichaud diakopter: yes, but your guess doesn't match the description in S02 03:31
03:31 nihiliad left
pmichaud S02:2112 03:32
"If after scanning all the lexical scopes of each dynamic scope,
there is no variable of that name, it looks in the C<GLOBAL> package followed
by the C<PROCESS> package.
"all the lexical scopes" sounds to me like it looks in the outers of each dynamic scope 03:33
(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
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...
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:37
spinclad: then it would look up the caller's scopes 03:38
the other alternative would be to start changing alot of $*FOO in STD.pm to be CALLER::<$*FOO>
spinclad (sorry, haven't seen your gist, trying to compile setting on an undermemmed machine)
pmichaud oh
it makes much more sense with the gist :-) 03:39
spinclad (bbut i think i may have the picture)
03:39 satrac joined
pmichaud it also makes more sense if I stick with $*VAR (from the gist) instead of $*FOO . ETOOMANYFOO :-) 03:39
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:41
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
pmichaud gist.github.com/180119 03:44
diakopter spinclad: I think "1"
otherwise it's just normal closure behavior...?
spinclad one returns two with a lexical $*FOO; caller calls two with a dynamic $*FOO. 03:45
i agree
pmichaud look at gist 180119
spinclad i don't see a use case for scanning any lexical scope, as yet 03:46
i try looking with links...
*i'll
03:47 dukeleto left
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
I can come up with strange effects in that one too, but at least those strange effects don't contradict STD.pm
(or don't contradict my reading of STD.pm, which can be flawed also)
03:48 hcchien left, hcchien joined
diakopter maybe it means "scan the outer scopes when direct callstack resolution fails"? 03:49
03:49 tak11 joined, mepplock joined
pmichaud that doesn't seem to match my reading of S02:2112 03:49
The C<CONTEXT> pseudo-package is just like C<CALLER> except that
it starts in the current dynamic scope and from there
scans outward through all dynamic scopes until it finds a
contextual variable of that name in that context's lexical scope.
diakopter "that context's *immediate* lexical scope", right? 03:50
pmichaud it doesn't say that
diakopter oh 03:51
pmichaud and the sentence that follows contains the "all the lexical scopes of each dynamic scope"
diakopter that's how I was reading it (obviously) :P
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"
either way, it's unclear, yeah
pmichaud yeah 03:53
spinclad (for both gists i favor 'caller') (more)
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) 03:54
03:54 meppl left, mepplock is now known as meppl, ruoso left 04:00 alanhaggai joined
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:02
(sorry for incoherencee) 04:03
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:06
and perhaps it's thinking of this local dynamic chain as the lexical chain that has led to the spec's current language. 04:07
04:08 SmokeMachine joined
diakopter it enables some very interesting dynamic/meta-programming... e.g. passing around references/aliases to contextuals that were bound to routines 04:09
actually... one could model the symbol resolution fairly straightforward[ly] using javascript 04:10
spinclad anyway, agreed on needing clarification 04:11
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
or a particular named argument
or whatever
)
and that injected object can contain exclusively properties that contain an * after the sigil 04:14
and so forth.
spinclad so it carries its lexical env around explicitly then?
diakopter sure... it's like a little separate callstack
spinclad a nice way of implementing closures, with room for *-tweaks, as you say 04:16
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:17
04:20 dukeleto joined 04:24 alanhaggai left 04:38 ssandv left, nbrown_ left, [particle] left, charsbar left, dalek left, leedo left, jrockway left, akl left, jaldhar left, REPLeffect left, Woody2143 left, mtve left 04:39 frew_ left, meteorjay left, Tene left, s1n left, krakan left, psychoschlumpf left, cj left, pioto left, betterwosld left, diakopter left, chipdude left, hatseflats left, KatrinaTheLamia left, frodwith left, PacoLinux left, c9s left, lambdabot left, Maddingue left, patmat_ left, Matt-W left, JarJarBinks left, athomason left, nothingmuch left, buu left, PerlJam left, dukeleto left, SmokeMachine left, hcchien left, satrac left, sri_kraih left, tylerni7 left, xomas left, jrtayloriv left, hugme left, drbean left, araujo left, cls_bsd left, moritz_ left, michaelr left, allbery_b left, larsen left, Lorn left, c1sung left, avar left, pnu left, clkao left, ilbot2 left, sjohnson left, huf left, RonOreck left, PZt left, cono left, nsh left, lisppaste3 left, xalbo left, breinbaas left, ewilhelm left, zaphar_ps left, gbacon left, krunen left, rbaumer left, Jedai left, cotto left, jan_ left, cognominal left, ruz_ left, pjcj left, arthur-- left, kent\n left, donaldh left, kst left, Eevee left, Khisanth left, bionoid left, frettled left, integral left, omega left, renormalist left, Juerd left, kolibrie left, Aisling left, yahooooo left, ascent left, broquaint left, obra_ left, ingy left, reqamst left, japhb left, arnsholt left, Trey left, jnthn left, mee left, christine left, nicomen left, andreasg_ left, spinclad left, eldragon2 left, zamolxes left, alester left, p6eval left, awwaiid left, Grrrr left, szbalint left, Rint left, cblaptop left, he_ left, literal left, tarbo2_ left, Patterner left, rhr left, r0bby left, xinming left, Ryan52 left, TimToady left, mattp_ left, eiro left, Caelum left, tomaw` left, zol left, bloonix_ left, z left, edenc left, cookys left, sjn left, wolverian left, cosimo left, sunnavy left, bigpresh_ left, cxreg left, yves left, shachaf left, BinGOs left, quietfanatic left, meppl left, felipe left, Gothmog_ left, jantore left, [particle] joined, ssandv joined, nbrown_ joined, leedo joined, jrockway joined, jjore joined, akl joined, irc.freenode.net sets mode: +o [particle], tak11 left, colomon left, carlin left, frew__ left, jeekobu left, elmex left, ezra left, buubot left, pugs_svn left, simcop2387 left, phenny left, sbp left, pmichaud left, silug left, jaldhar joined, REPLeffect joined, Woody2143 joined, mtve joined 04:40 pmichaud joined, tak11 joined, colomon joined, carlin joined, frew__ joined, jeekobu joined, ezra joined, elmex joined, buubot joined, pugs_svn joined, simcop2387 joined, phenny joined, sbp joined, silug joined, irc.freenode.net sets mode: +o pmichaud, s1n joined, frew_ joined, meteorjay joined, Tene joined, psychoschlumpf joined, betterwosld joined, krakan joined, cj joined, pioto joined, diakopter joined, hatseflats joined, chipdude joined, irc.freenode.net sets mode: +o s1n 04:41 Matt-W joined, KatrinaTheLamia joined, frodwith joined, PacoLinux joined, c9s joined, lambdabot joined, Maddingue joined, patmat_ joined, PerlJam joined, athomason joined, JarJarBinks joined, buu joined, nothingmuch joined, irc.freenode.net sets mode: +o Matt-W, japhb joined, donaldh joined, rbaumer joined, felipe joined, Jedai joined, kent\n joined, huf joined, zaphar_ps joined, zamolxes joined, cotto joined, jan_ joined, RonOreck joined, kst joined, gbacon joined, alester joined, Patterner joined, cognominal joined, PZt joined, cono joined, reqamst joined, rhr joined, Eevee joined, r0bby joined, Khisanth joined, krunen joined, quietfanatic joined, xinming joined, nsh joined, xalbo joined, lisppaste3 joined, breinbaas joined, ewilhelm joined, Ryan52 joined, p6eval joined, bionoid joined, awwaiid joined, frettled joined, Grrrr joined, integral joined, szbalint joined, Rint joined, omega joined, renormalist joined, arnsholt joined, ruz_ joined, Juerd joined, irc.freenode.net sets mode: +oooo japhb frettled szbalint Juerd, TimToady joined, Trey joined, pjcj joined, kolibrie joined, sjn joined, irc.freenode.net sets mode: +o TimToady, mattp_ joined, cblaptop joined, arthur-- joined, cxreg joined, yves joined, Gothmog_ joined, Aisling joined, eiro joined, z joined, yahooooo joined, ingy joined, ascent joined, broquaint joined, obra_ joined, christine joined, andreasg_ joined, nicomen joined, spinclad joined, mee joined, eldragon2 joined, jnthn joined, Caelum joined, he_ joined, tarbo2_ joined, literal joined, tomaw` joined, wolverian joined, BinGOs joined, jantore joined, shachaf joined, cosimo joined, edenc joined, bigpresh_ joined, bloonix_ joined, sunnavy joined, zol joined, cookys joined, irc.freenode.net sets mode: +oo spinclad jnthn, araujo joined, [particle]1 joined, d4l3k_ joined, charsbar_ joined, dukeleto joined, SmokeMachine joined, hcchien joined, satrac joined, sri_kraih joined, tylerni7 joined, xomas joined, jrtayloriv joined, hugme joined, drbean joined, cls_bsd joined, moritz_ joined, larsen joined, Lorn joined, ilbot2 joined, c1sung joined, clkao joined, pnu joined, sjohnson joined, allbery_b joined, avar joined, michaelr joined, irc.freenode.net sets mode: +ooo araujo moritz_ sjohnson, d4l3k_ is now known as dalek 04:43 xomas left 04:44 agentzh left 04:47 xomas joined 04:53 christine left, christine joined, Confield left 04:54 [particle] left
TimToady the intent is to follow only the dynamic chain, not the lexical chain 04:57
diakopter fall back to looking in each caller's lexical chain if the dynamic chain fails? 05:02
05:04 lambdabot left
diakopter @messages 05:04
05:07 lambdabot joined 05:10 drybowser6 joined
pmichaud so, something like... gist.github.com/180138 ? 05:13
oops, rewriting 05:14
gist.github.com/180140
(better)
TimToady returns caller 05:17
pmichaud in the first call to $a(), returns caller
in the second call to $a() ... ?
TimToady not found
pmichaud okay.
wfm
thanks 05:18
(unfortunately I now have to deal with Parrot deprecations again... but we'll make that work out somehow)
pugs_svn r28175 | lwall++ | [S02] some clarification of $*foo searching
diakopter Parrot-kabob
pmichaud TimToady++ # MUCH clearer, thanks 05:19
05:20 frew__ left
diakopter TimToady: what about binding a contextual to a symbol in a caller's scope... that's another contextual 05:21
05:21 Confield joined
pmichaud that's just my $*contextual := CALLER::<$*foo> # I think 05:22
diakopter that's what I mean... but then the leaf calls its caller... 05:23
pmichaud I don't quite understand.
"leaf" in particular
diakopter sorry; :) I'm tilting at windmills
05:23 meppl joined
diakopter the leaf block 05:23
the deepest stack frame 05:24
pmichaud then I don't understand "calls its caller" :-)
(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.
pmichaud as in a recursive call?
diakopter I'm trying to explore the cases that might need trapping 05:26
pmichaud good idea :)
anyway, if it's a recursive call then the recursive call ends up with a new lexpad
and a new $*foo
TimToady correct
pmichaud and that doesn't affect the "leaf" binding to its caller
*its caller's $*foo 05:27
TimToady so $*contextual gets the outer, and $*foo gets the inner
pmichaud right.
05:29 dukeleto left
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
diakopter quickly meaning typing-wise 05:31
TimToady if we allow aliasing of a caller's contextual
that is
pmichaud TimToady++ # another karma point simply because the spec changes this past week have made things much clearer and more straightforward 05:33
cognominal p6eval in #perlfr is a big success. Go viral! 05:35
moritz_++
05:35 drybowser6 left
cognominal the only complaint is that it does not print the result by default 05:38
...like say was to long to type :)
pmichaud that's a (known) problem with rakudo's REPL in general 05:39
it's on the boards to get fixed soon
05:41 tak11 left
cognominal they did not YET notice that it wraps a conceptual block so that lexical declaration are lost... 05:41
05:42 satrac left
pmichaud that's on the boards to be fixed also 05:43
cognominal I did not go to YAPC::EU, people on #perlfr appreciated everything Perl 6 at that event 05:45
pmichaud merci!
cognominal :)
05:48 krakan left, s1n left, frew_ left, betterwosld left, diakopter left, chipdude left, hatseflats left, meteorjay left, psychoschlumpf left, cj left, pioto left, Tene left, lambdabot left, Matt-W left, patmat_ left, JarJarBinks left, athomason left, nothingmuch left, frodwith left, buu left, KatrinaTheLamia left, PerlJam left, Maddingue left, PacoLinux left, c9s left 05:50 ihrd left, Confield left, michaelr left, sjohnson left, hugme left, jrtayloriv left, tylerni7 left, sri_kraih left, [particle]1 left, allbery_b left, larsen left, Lorn left, c1sung left, pnu left, clkao left, ilbot2 left, avar left, SmokeMachine left, hcchien left, moritz_ left, cls_bsd left, drbean left, araujo left, dalek left, charsbar_ left 05:52 akl left, araujo joined, ihrd joined, Confield joined, [particle]1 joined, dalek joined, charsbar_ joined, SmokeMachine joined, hcchien joined, sri_kraih joined, tylerni7 joined, jrtayloriv joined, hugme joined, drbean joined, cls_bsd joined, moritz_ joined, larsen joined, Lorn joined, ilbot2 joined, c1sung joined, clkao joined, pnu joined, sjohnson joined, allbery_b joined, avar joined, michaelr joined, irc.freenode.net sets mode: +ooo araujo moritz_ sjohnson, s1n joined, frew_ joined, meteorjay joined, Tene joined, psychoschlumpf joined, betterwosld joined, krakan joined, cj joined, pioto joined, diakopter joined, hatseflats joined, chipdude joined, irc.freenode.net sets mode: +o s1n, Matt-W joined, lambdabot joined, KatrinaTheLamia joined, frodwith joined, PacoLinux joined, c9s joined, Maddingue joined, patmat_ joined, PerlJam joined, athomason joined, JarJarBinks joined, buu joined, nothingmuch joined, irc.freenode.net sets mode: +o Matt-W 05:53 akl joined 05:54 zamolxes left 05:58 rfordinal joined 05:59 rfordinal left 06:12 krakan left, s1n left, frew_ left, betterwosld left, diakopter left, chipdude left, hatseflats left, meteorjay left, psychoschlumpf left, cj left, pioto left, Tene left 06:13 michaelr left, sjohnson left, hugme left, jrtayloriv left, tylerni7 left, sri_kraih left, [particle]1 left, Confield left, ihrd left, allbery_b left, larsen left, Lorn left, c1sung left, pnu left, clkao left, ilbot2 left, avar left, SmokeMachine left, hcchien left, moritz_ left, cls_bsd left, drbean left, araujo left, dalek left, charsbar_ left, akl left, Matt-W left, patmat_ left, JarJarBinks left, athomason left, nothingmuch left, frodwith left, buu left, KatrinaTheLamia left, PerlJam left, Maddingue left, PacoLinux left, c9s left, lambdabot left 06:18 dukeleto joined 06:20 jan_ left 06:23 dukeleto left 06:25 araujo joined, ihrd joined, Confield joined, [particle]1 joined, dalek joined, charsbar_ joined, SmokeMachine joined, hcchien joined, sri_kraih joined, tylerni7 joined, jrtayloriv joined, hugme joined, drbean joined, cls_bsd joined, moritz_ joined, larsen joined, Lorn joined, ilbot2 joined, c1sung joined, clkao joined, pnu joined, sjohnson joined, allbery_b joined, avar joined, michaelr joined, irc.freenode.net sets mode: +ooo araujo moritz_ sjohnson, s1n joined, jan joined, frew_ joined, meteorjay joined, Tene joined, psychoschlumpf joined, betterwosld joined, krakan joined, cj joined, pioto joined, diakopter joined, hatseflats joined, chipdude joined, irc.freenode.net sets mode: +o s1n, Matt-W joined, akl joined, lambdabot joined, KatrinaTheLamia joined, frodwith joined, PacoLinux joined, c9s joined, Maddingue joined, patmat_ joined, PerlJam joined, athomason joined, JarJarBinks joined, buu joined, nothingmuch joined, irc.freenode.net sets mode: +o Matt-W 06:26 jan is now known as Guest34212 06:32 Matt-W left, patmat_ left, JarJarBinks left, athomason left, nothingmuch left, frodwith left, akl left, buu left, KatrinaTheLamia left, PerlJam left, Maddingue left, PacoLinux left, c9s left, lambdabot left, krakan left, s1n left, frew_ left, betterwosld left, Guest34212 left, diakopter left, chipdude left, hatseflats left, meteorjay left, psychoschlumpf left, cj left, pioto left, Tene left, michaelr left, sjohnson left, hugme left, jrtayloriv left, tylerni7 left, sri_kraih left, [particle]1 left, Confield left, ihrd left, allbery_b left, larsen left, Lorn left, c1sung left, pnu left, clkao left, ilbot2 left, avar left, SmokeMachine left, hcchien left, moritz_ left, cls_bsd left, drbean left, araujo left, dalek left, charsbar_ left 06:39 araujo joined, zloyrusskiy joined, ihrd joined, Confield joined, [particle]1 joined, dalek joined, charsbar_ joined, SmokeMachine joined, hcchien joined, sri_kraih joined, tylerni7 joined, jrtayloriv joined, hugme joined, drbean joined, cls_bsd joined, moritz_ joined, larsen joined, Lorn joined, ilbot2 joined, c1sung joined, clkao joined, pnu joined, sjohnson joined, allbery_b joined, avar joined, michaelr joined, irc.freenode.net sets mode: +ooo araujo moritz_ sjohnson, s1n joined, Guest34212 joined, frew_ joined, meteorjay joined, Tene joined, psychoschlumpf joined, betterwosld joined, krakan joined, cj joined, pioto joined, diakopter joined, hatseflats joined, chipdude joined, irc.freenode.net sets mode: +o s1n, Matt-W joined, akl joined, lambdabot joined, KatrinaTheLamia joined, frodwith joined, PacoLinux joined, c9s joined, Maddingue joined, patmat_ joined, PerlJam joined, athomason joined, JarJarBinks joined, buu joined, nothingmuch joined, irc.freenode.net sets mode: +o Matt-W, zloyrusskiy left 06:41 elmex left, elmex joined 06:47 zamolxes joined 06:56 ihrd left 07:04 Su-Shee joined
Su-Shee good morning. :) 07:04
07:05 abra joined 07:06 rfordinal joined 07:10 zloyrusskiy joined 07:13 rgrau joined 07:20 donaldh left 07:21 ssandv left, donaldh joined
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)␤»
spinclad hi, Su-Shee 07:26
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
spinclad rakudo: eval q{print "foo\n"}, :lang<perl5> 07:32
p6eval rakudo c9a930: OUTPUT«foo␤»
spinclad blizkost++ # behind the curtain 07:33
07:33 zloyrusskiy left
spinclad jnthn++ ## blizkost 07:35
cognominal probably need a :lang<perl5.10> to do an implicit use ':5.10'
Matt-W Good morning 07:36
spinclad god moanin' 07:38
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.␤»
spinclad rakudo: eval q{use 5.010; say 'foo'}, :lang<perl5>
p6eval rakudo c9a930: OUTPUT«foo␤»
spinclad rakudo: eval q{use 5.10.0; say 'foo'}, :lang<perl5> 07:41
p6eval rakudo c9a930: OUTPUT«foo␤»
Matt-W I always muck up those use version lines in Perl 5 :)
spinclad perl version syntax has *so* much baggage 07:42
07:44 zloyrusskiy joined
spinclad 'sure, blame the victim!' ## wait, who's the victim here, anyway? 07:44
07:45 ssm joined 07:49 iblechbot joined 07:51 abra left 07:55 mberends joined 07:57 JimmyZ joined
cognominal what is the auto_attrs flag in a pmc? 08:03
JimmyZ cognominal: It's not #parrot. 08:05
08:05 eMaX joined 08:08 jhuni left
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 08:32 sjohnson sets mode: +oo cognominal mberends, sjohnson sets mode: +v p6eval, JimmyZ left
jnthn morning 08:39
spinclad ohaiitzjnthn!!! 08:41
Matt-W jnthn!! 08:43
sjohnson happiness is ours
Matt-W basks in the presence 08:44
sjohnson dances 08:45
spinclad basks, generally 08:46
jnthn Sheesh, calm down. :-) 08:47
Matt-W Sorry, it's the post-holiday headrush
cognominal hugme, hug jnthn
hugme hugs jnthn
Matt-W I'm suffering from a sudden drop in the fish and chips level in my bloodstream
It makes me erratic
08:48 zloyrusskiy left
jnthn Mmm...English chippie. :-) 08:49
When I was a kid, my local one did battered black pudding, of all things.
08:49 cotto left 08:51 zloyrusskiy joined
sjohnson i was thinking about having fish 'n chips todayt 08:51
i'm going to visit india in 2 days 08:52
sjohnson is excited
Matt-W jnthn: there's one I like to go to in Keswick which does great battered haggis
jnthn sjohnson: Heh, between you and me we're about to shift the average location of people on this channel east a bit. :-)
jnthn flies to Tokyo tomorrow.
Matt-W ooh
anything fun?
jnthn Travel, YAPC::Asia... 08:53
Matt-W ahah
is there a location for next year's YAPC::EU yet?
08:53 zloyrusskiy left, rfordinal3643 joined, payload left
BinGOs Pisa, Italy. 08:55
08:57 agentzh joined, zloyrusskiy joined
mikehh rakudo (c9a9300) builds on parrot r40950 - make test / make spectest (up to r28175) PASS - Ubuntu 9.04 amd64 (gcc) 08:58
jnthn Pisa may be do-able by train. :-) 09:02
09:03 dbrock left 09:08 masak joined
masak ahoj! 09:08
phenny masak: 08:12Z <mberends> tell masak proto TODO has a few more changes
masak git-pulls
jnthn masak: ahoj!
masak: ako sa mas?
masak now, let's see... "dobrze", perhaps? 09:09
jnthn "dobre" :-)
masak right. :)
and if I put it in a whole phrase... "mam sa dobre"?
jnthn Correct.
masak \o/
a ty? ako sa mas? 09:10
jnthn Dobre tiez...idem do Japonska zajtra. :-)
09:10 rfordinal left
masak ooh, Japonska. 09:11
09:16 Whiteknight joined 09:21 cognomore joined
masak this tweet highlights the strangeness of the butterflyphobia: twitter.com/Strichpunkte/status/3719251674 09:23
i.e. "I know the features are good, but I don't like the colours on the site, so forget it". o_O
jnthn .. 09:25
There's nowt queer as folk.
masak forsooth.
I might give him the hugging treatment, but I'm thinking what my options are first. 09:26
09:30 BooK joined
masak ended up doing this instead: twitter.com/carlmasak/status/3730593011 09:30
jnthn BooK: Bonjour :-) 09:31
BooK TimToady++ # the Perl 6 logo
it moved the main argument against Perl 6 from "it's vaporware" to "it's gay/childish/feminine" thus making them easier to discard :-)
hi jonathan
cognominal jnthn, it pays to install p6eval in #perlfr
jnthn Hey...BooK and cognominal are here...ou est la Chartreuse? ;-) 09:32
masak BooK: good point.
cognominal jnthn++
BooK I have a bottle ready for OSDC.fr (trying to lure you there ;-)
cognominal any publicity is good. perl6 is back on collective consciousness
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
cognominal you will drink sake?
BooK er, ubiquity
I guess I should unsubscribe from the Collège de 'Pataphysique's review 09:34
cognominal ubiquity means "Ubu gidouille über the world"
ubuquity!
jnthn cognominal: Aye, no doubt I'll drink some of that. :-) 09:35
cognominal BooK, I guess you can see a gidouille i camelia if you squint enough 09:38
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 masak left
BooK on the web site 09:40
09:40 zloyrusskiy left
cognominal it should be searchable at least... 09:41
I hate when the download is a gif and I can't search it 09:42
jnthn (download button higher up) I agree with this one. 09:43
BooK the TODO says: * download button should NOT be moved up top; would be missing the (visual) point, hehe :) 09:48
so I guess there's a reason for it
09:49 zloyrusskiy joined
jnthn Not sure I get the reason from that... 09:51
09:52 payload joined
Matt-W it's butterfly shaped, I think 09:53
09:53 frederico joined
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?
jnthn *rimshot*
spinclad thank you, thank you, i'm here one day every while 09:55
09:56 payload left, payload joined
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
lambdabot krunen: You have 2 new messages. '/msg lambdabot @messages' to read them.
phenny krunen: 31 Jul 02:27Z <wayland76> tell krunen I've been modifying your XML grammar: paste.lisp.org/display/84480
09:59 zloyrusskiy left 10:05 zloyrusskiy joined 10:06 Whiteknight left
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:10
10:12 zamolxes_ joined
jnthn 7 hours sounds...excessive. 10:12
spinclad parrot is 287M and very slowly growing... this is an old Athlon box with 1/4GB 10:13
10:13 sharada joined 10:15 zamolxes left 10:21 krunen left, zloyrusskiy left, rgrau left, Jedai left, pjcj left, ruz_ left, cognominal left, rbaumer left, arthur-- left, cxreg left, yves left, shachaf left, BinGOs left, meppl left, jantore left, Gothmog_ left, felipe left, cognomore left, Su-Shee left, zaphar_ps left, gbacon left, he_ left, cblaptop left, szbalint left, Grrrr left, Rint left, literal left, p6eval left, alester left, tarbo2_ left, awwaiid left, xomas left, zol left, bloonix_ left, mattp_ left, rhr left, Patterner left, eiro left, edenc left, cookys left, sjn left, z left, wolverian left, TimToady left, xinming left, cosimo left, sunnavy left, Ryan52 left, tomaw` left, Caelum left, bigpresh_ left, r0bby left, zamolxes_ left, donaldh left, cono left, RonOreck left, huf left, PZt left, nsh left, breinbaas left, ewilhelm left, lisppaste3 left, xalbo left, jnthn left, mee left, arnsholt left, japhb left, nicomen left, eldragon2 left, Trey left, andreasg_ left, reqamst left, spinclad left, quietfanatic left, kent\n left, obra_ left, ascent left, renormalist left, frettled left, Eevee left, yahooooo left, bionoid left, omega left, kolibrie left, Aisling left, Khisanth left, kst left, broquaint left, Juerd left, integral left, ingy left, frettled joined, shachaf joined, BinGOs joined, yves joined, cxreg joined, kent\n joined, kst joined, Eevee joined, Khisanth joined, bionoid joined, integral joined, omega joined, renormalist joined, Juerd joined, kolibrie joined, Aisling joined, yahooooo joined, ingy joined, ascent joined, broquaint joined, obra_ joined, irc.freenode.net sets mode: +oo frettled Juerd 10:27 quietfanatic joined, meppl joined, felipe joined, Gothmog_ joined, jantore joined, krunen joined, cognominal joined, zloyrusskiy joined, rgrau joined, rbaumer joined, Jedai joined, ruz_ joined, pjcj joined, arthur-- joined, irc.freenode.net sets mode: +o cognominal, cognomore joined, Su-Shee joined, zaphar_ps joined, gbacon joined, zamolxes_ joined, donaldh joined, huf joined, RonOreck joined, PZt joined, cono joined, ewilhelm joined, breinbaas joined, lisppaste3 joined, xalbo joined, nsh joined 10:28 szbalint joined, alester joined, p6eval joined, awwaiid joined, Grrrr joined, Rint joined, cblaptop joined, literal joined, tarbo2_ joined, he_ joined, irc.freenode.net sets mode: +ov szbalint p6eval, TimToady joined, xomas joined, Patterner joined, rhr joined, r0bby joined, xinming joined, Ryan52 joined, sjn joined, mattp_ joined, eiro joined, z joined, Caelum joined, tomaw` joined, wolverian joined, cookys joined, zol joined, sunnavy joined, bloonix_ joined, bigpresh_ joined, edenc joined, cosimo joined, irc.freenode.net sets mode: +o TimToady, japhb joined, reqamst joined, arnsholt joined, Trey joined, eldragon2 joined, jnthn joined, mee joined, spinclad joined, nicomen joined, andreasg_ joined, irc.freenode.net sets mode: +ooo japhb jnthn spinclad, r0bby left 10:32 r0bby joined
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
just wondering if it makes sense that it mulls long over the setting before writing anything. suppose so, will check perl6_s1.
10:39 agentzh left 10:43 xalbo_ joined 10:44 xalbo left 10:46 masak joined 10:49 PZt left
mberends masak, did you eat well? 10:50
pugs_svn r28176 | moritz++ | test sin(Rat)
Matt-W oooh nearly lunchtime
we had a fun fire drill at work earlier
moritz_ all the trigonometric functions were broken with Rats
Matt-W the fire brigade came, because nobody remembered to tell them our alarm going off was a drill
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 masak left
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
Matt-W moritz_: does that mean we actually have a Rat type now? 10:51
moritz_ Matt-W: we do.
Matt-W wooooooooooooo
moritz_ rakudo: say (2/6).perl
p6eval rakudo c9a930: OUTPUT«1/3␤»
dalek kudo: 2f22b87 | moritz++ | src/setting/Any-num.pm:
use Nums instead of Rats in !to-radians
Matt-W Shouldn't that be rats instead of nums?
and isn't Rat a kind of Num? 10:52
confused...
moritz_ not atm
(which is rather weird, I confess)
masak mberends: yes, I ate very well, thank you. pancake wraps with cheese, sunflower seeds and chunky salsa inside.
Matt-W that is rather weird
I got totally lost in a big p6l thread about numbers a few days back
I was sitting on a cliff in norfolk with my phone, trying to read it over dodgy GPRS
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'
moritz_ because they are transcendental anyway, most of the time
10:53 xalbo_ left
mberends masak: Installer.pm:44-69 is so similar to lines 70-100 10:54
er, lines 76-100 10:55
mberends eats another succulent peach 10:57
Matt-W mmm peach 10:58
Matt-W has to go and get his sister a birthday present
10:58 arthur-- left
Matt-W and then eat! hah! & 10:58
11:01 payload left
masak mberends: oh, true. 11:01
mberends: ...with small differences springkled through those two methods. :) 11:02
but yes, they're very similar in structure.
mberends yes, a parameter saying install or update would be nice
masak: what do you think of a projects.state file? 11:04
mberends has mixed feelings
masak mberends: well, we need to indicate project installedness somewhere. 11:05
mberends perhaps an added file in each project subfolder is safer.
project.state 11:06
masak hm, we might be talking across purposes...
what would such a file do?
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.
mberends oh. yes. :)
masak s/ed ness/edness/
I would like to put it in the .ecosystem folder. 11:08
that might solve anothe problem we will have: module collisions.
specifically, all manner of projects contain Test.pm right now.
I think we want to symlink Rakudo's and then complain bitterly when other projects attempt to overwrite it. 11:09
11:09 lisppaste3 left
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
11:09 lisppaste3 joined
mberends it won't totally solve it if we have only one state per project. yes, one Test rulez'em all. 11:09
masak what won't totally solve what? I'm not sure I understand 'one state per project'. 11:10
mberends a project contains multiple module files, installed as a group 11:11
we download and install projects, not modules
masak nod.
mberends but module files collide in the tree
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:12 szabgab left
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 :(
masak (either .pm or .pir versions)
hm, maybe.
mberends it's not the simplest thing that could possibly work 11:14
masak indeed not.
mberends shift that work onto the project developer writing Makefile.in
masak hm, good idea. 11:15
mberends is there a cp option --do-not-overwrite ?
masak but will we be able to provide a way to install the modules that plays nice with earlier installed modules?
mberends yes
masak mberends: that would only create the other type of havoc... :/
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
masak what would 'uninstall' mean in this case?
becuase such an operation would not be allowed to touch collisioned modules either. 11:17
mberends make uninstall as defined by the project author
masak boggles at the future chaos we're creating
mberends still havoc :/
look, do want this job or don't you? 11:18
masak 哈哈
11:20 donaldh left
masak hm, using only Unix tools it should be possible to check the .ecosystem directory for collisions. 11:20
11:20 KyleHa joined
masak someone better schooled in authoring Makefiles than me could write that... 11:20
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.
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.
mberends yes, project state would take care of that 11:23
11:23 donaldh joined
mberends the only state currently implemented is $project ~~ :d 11:24
that will provide is-fetched( $project ) in future 11:25
it's probably overkill to store is_built($project) -- just call make and be sure 11:27
masak aye.
both testing and installing can be done anyway.
mberends test before every install?
masak hm, though call. 11:28
mberends hm,
masak s/h//
CPAN does that, and people get sad.
it can be argued that failing tests are developer punishment hitting the user.
something like "don't shoot the recipient" 11:29
mberends testing should be ok, it won't be spectesting
spinclad debian test-and-installs at package build time, and captures the result 11:30
masak mberends: what do you mean?
spinclad so the end user doesn't rerun tests at dpkg-install time
mberends spinclad: yes, but proto does building after downloading
masak: just that it should be a quick sanity check only 11:31
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?
mberends there may be integration failures when modules depend on each other, the testing should detect that
masak oh, indeed.
mberends masak: no, t/ can be big but 'make test' should pick a subset
masak how? 11:33
mberends similar to Rakudo's Makefile
masak interesting. 11:34
mberends this does put more workload onto the make utility
masak and on the module writer. 11:35
mberends meaning project authors will have ... yes
spinclad: you got it, although proto is *not* trying to be cpan 11:36
11:37 szabgab joined
masak proto is trying to relieve some pain, and then self-destruct. 11:37
mberends \o szabgab
masak o/ szbalint
11:37 agentzh joined
masak oops, szabgab. :/ 11:38
szabgab shall I ping all the m* people ?
mberends tab != dwim any more. sigh.
szabgab and hi :-)
masak :)
Su-Shee hi szabgab :) 11:39
masak I'm sure I can write a tab completer that reads my mind at least a little...
mberends szabgab: wildcard * is probably best
szabgab Su-Shee, hi
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:42
masak me too. 11:43
mberends ok, let's clobber some files then ;)
Matt-W pfft
you need cp.pm 11:44
it looks like this
if $filename.IO ~~ :e { die horribly; } else { system 'cp $source $filename'; }
mberends Matt-W: good point, one can be *too* lazy 11:45
jnthn oh noes...
unportable 11:46
szabgab oh finally someone who does not start with m
11:46 iblechbot left, jnthn is now known as mmm-its-jnthn
szabgab crap 11:46
mmm-its-jnthn ;-)
Matt-W mmm-its-jnthn: yes I know it's unportable, I was just making a point :)
11:47 mmm-its-jnthn is now known as jnthn, rbaumer left
Matt-W you need a platform-neutral copy interface 11:47
mberends mmm-its-jnthn: there is proto fork targeting Windows
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:48
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
masak mberends: care to put that into the TODO list? 11:52
mberends masak: ok, and will renumber the points 11:53
masak mberends++
11:56 SmokeMachine left
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
moritz_ :/
mberends the twitsphere is too fast for its own good 11:59
Matt-W bots
Matt-W spits
also, boring meeting
&
12:04 rgrau left
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:06
masak perhaps we just ditch 'update', then. 12:07
it made more sense when we didn't have a cache where we built things for installation.
mberends o noes!
12:08 abra joined
mberends update could become old uninstall + new install 12:08
12:08 payload joined
masak I must say it's beginning to feel as if we're missing something -- some overriding simplifying principle... 12:08
mberends your labyrinth is entering proto... 12:09
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.
entities: remote repositories, the cache, the ecosystem lib folder. 12:11
pugs_svn r28177 | moritz++ | [irclog] color 'hugme' as a bot
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:12
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.
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?
That is, all the stuff relating to the module goes in one place? 12:15
mberends jnthn: it stretches PERL6LIB
jnthn So nuke the module = nuke one folder.
masak jnthn: that's the model we're moving away from...
jnthn Ah.
12:16 rbaumer joined, takadonet joined
takadonet morning all 12:16
mberends let's not allow problems that occur quite seldom stop this redesign
proto is flawed, and will be ok 97% of the time 12:17
masak ack.
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:18
'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
masak we could even check specifically for (2) after the 'make install' step in proto :) 12:20
or that. either.
mberends (1) is normal for barefoot programming
masak guess so. 12:21
mberends S11 solves it with :auth, but that's another story
masak as I mentioned before, proto itself should show the way by naming Ecosystem.pm and Installer.pm something else.
mberends Ecosystem is also vocabulary in Plumage 12:22
bikeshed time?
jnthn YELLOW! 12:23
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
moritz_ it builds fine, and spectests are clean so far (up to S05-mass right now))
masak mberends: I don't mind 'ecosystem' being a term both in the Perl 6 and Parrot world. we mean approximately the same thing.
that, and I was first. :)
mberends lol 12:25
japhb++ is waiting to steal whatever possible from proto
masak urgh. :) 12:26
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.
.perl6lib is perhaps a bit more self-explanatory 12:28
mberends likes ~/.perl6lib and even want to sneak it into Rakudo
(without PERL6LIB) 12:29
masak :)
jnthn afk for a while
moritz_ mberends: that might be quite possible
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
mberends payload: good point. sometimes it's directory permissions. 12:32
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/
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
moritz_ mberends: right. 'make install' should install Test.p{m,ir} and Safe.p{m,ir} 12:35
and set @*INC, too 12:36
oh BTW SVG::Plot now has basic support for point and line plots 12:37
12:37 ruoso joined, Whiteknight joined
mberends moritz_: do you mean Rakudo's 'make install' only? 12:38
moritz_ mberends: that's the one I'm talking about right now
mberends ok
ruoso didn't quite understand the last change in the $*foo lookup 12:39
masak this might be a fun project to port: ditaa.sourceforge.net/ 12:40
and useful!
mberends Rakudo's @*INC could be initialized with the contents of PERL6LIB, followed by rakudo/lib and ~/.perl6lib 12:41
even with an empty PERL6LIB, life would be fine
moritz_ mberends: if by 'rakudo/lib' you mean the install location of rakudo ~ '/lib', then yes
mberends moritz_: yes 12:42
either someone with the right PIR-fu can beat me to it, or I'll try later today, under forgiveness/permission 12:43
ruoso TimToady, so, in gist.github.com/180140, I can still use $VAR to lexically find my own version of $*VAR? 12:44
13:00 KyleHa left 13:01 zamolxes_ left, zamolxes joined 13:03 sri_kraih_ joined
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
moritz_ will it automagically install my *.pm files even though I have no Makefile? 13:08
masak moritz_: aye.
it will have a system of fallback methods for installation.
mberends yes, that's the default ... what mas++ said ;) 13:09
moritz_ mas++ mberen++ ;-)
masak if the Makefile had a 'make' target which succeeded, it'll install the .pir files.
mberends (rewriting that very paragraph right now)
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?
then your slogan could be "Got Milk?" 13:12
masak :P
pmichaud (good morning, #perl6)
mberends if there is a .pir file to install, can the .pm file be left behind?
masak mberends: I think so.
mberends good morning pm
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.
mberends I was wondering about Pod 13:13
13:13 frew__ joined
masak what about it? 13:13
moritz_ people might want to read the documentation of the modules they have installed
mberends the .pm files will have Pod, the .pir files won't
moritz_ and that's typically in the .pm files
masak hm. 13:14
mberends copy them both
masak can't we leave that up to the Makefile as well?
uh, or just copy both .pir and .pm files, it's not much more work...
mberends yes, but without a Makefile copy both
masak nod.
mberends ok
masak sounds like a sane default. 13:15
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.
mberends use a Makefile to copy less than all of lib/
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:17
13:17 sri_kraih left, sri_kraih_ is now known as sri_kraih
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:18
(ooo, but if you added it to rat.t, no major problems there!) 13:19
13:19 jferrero left
moritz_ colomon: I think that sin($rat) should just be the same as sin($rat.Num)... 13:19
colomon: which the current definition somewhat implies
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
rakudo: say (1/2).sin
p6eval rakudo 2f22b8: OUTPUT«Method 'sin' not found for invocant of class 'Rat'␤»
colomon Wait, so all you had to do was fix up to-radians? That's a huge win. 13:21
moritz_ aye
colomon moritz__++ 13:22
pugs_svn r28178 | colomon++ | [t/spec] Another note for future tests.
colomon moritz_++
pmichaud I suspect that Rat.sin should really be Any.sin
colomon My point was more thinking along the Rat.sin lines.
moritz_ pmichaud: aye
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
Would Any.sin just map to sin(Any)?
pmichaud no, that's backwards
in general, operators map to methods, not vice-versa
my guess is that Any.sin would be self.Num.sin
moritz_ colomon: it would coerce self to Num, and call .sin on it
colomon Ah. Two issues there: 13:24
13:24 SmokeMachine joined
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
moritz_ spectesting bacek's rakudo patch now so that we can track parrot HEAD again (after the context_pmc3 merge)
pmichaud rakudo: say (1/2).Num.sin
colomon Really?
p6eval rakudo 2f22b8: OUTPUT«0.479425538604203␤»
colomon rakudo: say 360.Num.sin 13:25
p6eval rakudo 2f22b8: OUTPUT«0.958915723414307␤»
colomon Sweet!
moritz_ rakudo: say '300'.Num.sin
p6eval rakudo 2f22b8: OUTPUT«Method 'Num' not found for invocant of class 'Str'␤»
colomon As long as we can have Any.sin and Complex.sin, I'm all in favor.
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:27
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 ;-)
pmichaud I'm timing the spectests on my machine also, to see what sort of speed impacts we have
colomon: was a CLA sent in? 13:29
moritz_ rakudo: say (+(3/5)).perl
p6eval rakudo 2f22b8: OUTPUT«0.6␤»
moritz_ +3/5 should still be a Rat, no? 13:30
pmichaud yes.
moritz_ I'll add another op then.
pmichaud prefix:<+> needs some changing
13:30 agentzh left
pmichaud for some reason I haven't been able to move prefix:<+> into the setting yet -- I get very bizarre build failures 13:30
13:31 frew__ left, hello_ joined
hello_ hello, moritz_ 13:31
moritz_ oh hai
colomon pmichaud: Mailed my CLA yesterday. 13:32
pmichaud colomon: github id?
moritz_ pmichaud: 'make spectest' certainly *feels* slow - no idea if it actually is
hello_ github.com/rakudo/rakudo/commit/2f2...f63705aa7, Is it 2.o or 2.0?
moritz_ it should be 2.0, certainly
pmichaud 0
+ when Num { self * 2.o * pi } # Convert from revolutions.
it works if one defines method o() { self } :-P 13:33
colomon pmichaud: If it's user id, it's colomon there, too.
pmichaud colomon: you now have commit privs
hello_ that's a typo ;)
moritz_ hello_: thanks for notifying me! 13:34
colomon pmichaud++ # it's a great privilege, thank you.
hello_ You're welcome.
I'm Jimmy
13:35 hello_ left
colomon pmichaud, moritz_: Actually, there are two other trig issues I know of at the moment. 13:35
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
moritz_ that's changed in the specs anyway
colomon Second, all those "degrees" are supposed to be an enum instead, according to the spec.
moritz_ right
pmichaud the spec changed since the implementation
it happens a fair bit
rakudo implements something, then the spec changes
colomon Right, just hoping for permission to match the spec at some point. :) 13:37
pmichaud converting to match the spec is always allowed
moritz_ feel free!
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
colomon I've got to go afk for an hour or two now, alas. 13:37
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
s/says/is/
moritz_ we have a deprecation policy? ;-)
pmichaud we should probably make two.
one for now, and a draft of what we expect/hope to have in Rakudo* 13:39
moritz_ somehow I hosed my local rakudo checkout by doing to many interactive rebases and aborting them midways 13:40
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:41
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 :)
just visually watching the spectest run, I don't think I'm seeing major speed hits
we'll know for sure in another 20 mins or so 13:43
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!␤»
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 )
dalek kudo: 1cb71e4 | moritz++ | src/setting/Any-num.pm:
fix typo found by Jimmy++, moritz--
13:46
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...
rakudo: multi infix:<%>(Str $fmt, *@args) { sprintf($fmt, |@args) }; say "Look %s, no %03d!" % <ma 7>
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)␤»
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?
mberends the installed Rakudo dir, where Test.pm and Safe.pm reside
moritz_ masak: note that 1) slurpies default to Object and 2) slurpies bind less tight than fixed number signatures
PerlJam gutenMorgen
moritz_ masak: maybe these effects cancel out, resulting in a tie 13:49
masak moritz_: ok, that explains it, I think.
moritz_: yes, because Str is more specific than Any.
pmichaud mberends: so, that would be <parrot>/lib/<version>/languages/perl6/ ?
13:49 agentzh joined
pmichaud I'm not entirely sure how time binding is supposed to work with slurpies 13:49
*type binding 13:50
mberends pmichaud: yes, even <parrot>/lib/<version>/languages/perl6/lib/ 13:51
pmichaud is there an expectation that Test.pm will move to lib/ in the repository? 13:52
moritz_ expects that
pmichaud (I skimmed the backscroll a bit earlier)
if so, I'm not sure how to get "make spectest" to work, unless we also set RAKUDO_DIR somewhere
(e.g., in the Makefile before calling the harness)
moritz_ there are several ways 13:53
one is to make @*INC default to 'lib' instead of '.'
pmichaud I'm not sure that's a good choice.
always searching 'lib' in the working path sounds like a recipe for problems.
moritz_ probably
the other is to compile the full path into rakudo 13:54
don't know how hard that is
pmichaud we don't want to compile the build path into rakudo, though
install path, perhaps. build path, no.
mberends if @*INC is suitably primed at startup?
install path 13:55
moritz_ we could set PERL6LIB in the harness
pmichaud I might be able to accept PERL6LIB in the harness
thinking
moritz_ but it disables ./perl6 $path_to_file
pmichaud yes, it would.
diakopter q5wrgnt4k140 13:56
Oops
PerlJam diakopter: that *was* a great password :)
diakopter heh\
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?
mberends yes
moritz_ afk
pmichaud initial spectest shows about a 20% speed loss after context_pmc3 branch merge 14:01
I'll do a more precise set of runs to get a better estimate
('make testable') hmmmm
14:01 agentzh left
pmichaud currently now if I do 'make' and then run one of the test programs directly (./perl6) it works 14:02
requiring the 'make testable' step to build Test.pir before running a test program would halt that
I do like this approach better than mucking with @*INC, though.
perhaps the basic 'make perl6' target should also build Test.pir 14:03
(we've speculated on this before)
mberends is the only downside the compile time? 14:04
masak moritz_: by the way, what does it mean that I'm a bronze man? how are the categories decided? 14:05
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
but only a little
I'm less uncomforted by that than by the other alternatives we've mentioned already
14:06 pmurias joined
pmichaud masak: see the original ironman postings 14:07
(looking up linky)
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
www.enlightenedperl.org/ironman.html
I can't find a reference as to what "further" means.
masak ok; thanks anyway. 14:10
I should be close to five months, since NPW was in April.
pmichaud appears there are also "Copper Man" and "Man of Steel" badges, too. www.shadowcat.co.uk/blog/mark-keati...an-badges/ 14:12
ironman.enlightenedperl.org/munger/...masak_.csv # your specific posting stats 14:13
Arrived there from www.shadowcat.co.uk/blog/matt-s-tro...munger-up/ 14:14
masak nice! thanks. 14:15
pmichaud looks like your postings from last year are also in the .csv
14:16 M_o_C joined
masak yah, bit strange order there too. 14:17
14:20 Psyche^ joined, jauaor joined
pmichaud well, the ordering could just be how it came out of a hash/database 14:21
masak oh, true. 14:22
mberends masak: proto TODO updated. shower & 14:23
14:26 rdice joined 14:31 Patterner left, Psyche^ is now known as Patterner 14:33 justatheory joined 14:35 xalbo joined
jnthn back 14:35
Matt-W doesn't hear a heavenly chorus, so refuses to believe it 14:37
masak turns on heavenly chorus soundtrack 14:39
aaaaaAAAAAAAAAHH!
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.
masak not sure the air would add very much value. 14:40
Matt-W It'd pop
jnthn Pop? Meh. Low quality second-hand egos...
masak what do you expect, buying it on eBay? :) 14:41
pmurias ruoso: hi 14:44
ruoso hi pmurias 14:45
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");
p6eval rakudo 1cb71e: OUTPUT«-2.44921270764475e-16␤»
14:46 agentzh joined
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:47
ruoso pmurias, we do need to do some extra magic for it to fully work from XS 14:48
14:49 sri_kraih left 14:50 sri_kraih joined, sri_kraih left
pmurias ruoso: do we now what the magic will be like? 14:53
* know
ruoso pmurias, it's not much different then the magic need for tie to work
14:54 rfordinal3643 left 14:55 rfordinal joined
pmurias explain 14:55
ruoso pmurias, I don't have the full knowledge on how it works...
but when I was explaining the plan to p5p people
they said it's doable 14:56
and that it, in fact, look a lot like the original ponie's plan
ruoso .oO(is it ponie?)
Matt-W Perl On New Internal Engine 14:57
not sure if that was a backronym or not, but it was mentioned at the time
14:58 jferrero joined
ruoso yeah... it's ponie indeed 14:59
it failed on Parrot,
but the impedance between SMOP and P5 is considerably smaller than the impedance between Parrot and P5 15:00
15:02 szabgab left 15:03 iblechbot joined 15:04 jaldhar left 15:07 sri_kraih joined
colomon Okay, why does Num.sin("degrees") work in p6eval but fail in the trig.t test.suite? 15:13
15:14 rfordinal left
colomon "too many arguments passed (2) - 1 param expected" 15:16
15:20 donaldh left 15:22 donaldh joined
colomon afk for about an hour... 15:22
15:25 KyleHa joined, Su-Shee left
masak quite a few spectest failures over here: gist.github.com/180352 15:26
15:30 justatheory left 15:31 RonOreck left
pmichaud Looks like context_pmc3 gives ~ 13% slowdown over what we had previously 15:31
15:31 RonOreck joined
pmichaud I get no failures on my context_pmc3 branch 15:31
TimToady is that the overhead of emulating the old macro, or pmc overhead? 15:32
pmichaud pmc overhead, likely 15:33
I suspect it puts more pressure on memory allocation (gc) 15:34
because now contexts are gc-ables instead of having their own dedicated memory management
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
so we can get better access to callers, lexpads, etc.
afk
jnthn Aye.
15:36 dukeleto joined
japhb masak, mberends: my IRC client is lit up like a christmas tree. What's up? 15:37
pmichaud christmas tree? "Perl 6 has arrived at japhb's terminal!!!!!" 15:38
japhb pmichaud, Nice! Well played. 15:39
.oO( "Well played, Thing! You're really on the ball!" )
Juerd The "download" button on perl6.org is perfect.
Some people really needed to see that in order to believe that it's actually getting somewhere.
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.
TimToady that is what S11 is saying ain't the case anymore
Juerd japhb: We just need getperl6.org like getfirefox.org with a big green button and precompiled binaries and and and
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 ;)
pmichaud It's not just about the code
Juerd It's still on the first screenful on my screen by the way
juerd.nl/i/eb4026184596b6cbaa9360464d59a66e.png # screenshot 15:42
japhb Juerd, it's not even partially visible on the first page for me.
Juerd japhb: I'm not saying it is. Just pointing out that "the fold" is different for everyone :)
pmichaud I'm also wondering if there's a good place for an "about perl6.org" page, to explain the site
Juerd pmichaud: Footer text
pmichaud Juerd: I mean something more higher-level 15:43
Juerd pmichaud: I meant, link it from the footer text
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
it's not just about the code
it's about the community
and someday it will hopefully be "downloads" (plural)
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.
pmichaud download(s) really belongs in the "Compilers" box
15:46 perl_babe joined
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.
japhb Juerd has a point again. :-?)
pmichaud why too technical?
Juerd pmichaud: To many people, perl6 is one thing, not layered at all.
pmichaud putting it in the box would put it "above the fold", and it would make it clearer what you're downloading
Juerd: and we have to start breaking that perception, not reinforcing it 15:47
15:47 perl_babe left
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
it'll be a Perl 6 distribution
(which we don't have yet)
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
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 ...
Juerd Personally I would even like the binary to be called rakudo, with perl6 being a symlink or wrapper script.
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
Juerd: I've thought about doing that, yes.
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.
TimToady Maybe we'll end up with a Distributions box
pmichaud I suspect yes.
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
TimToady, do both!
pmichaud I'm saying have a shiny button in the compilers box
I think that reinforces things nicely 15:51
(1) the button is "above the fold"
(2) it reinforces that there's not just one compiler
(which shows that Perl 6 is in fact much stronger than having only one compiler, re: credibility)
15:51 frederico left
japhb pmichaud, OK, that makes sense, and I can see. 15:51
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:52 jferrero left
japhb OK ... so what about the box for links to cafe press (and whatever similar stuff we create)? 15:53
Juerd TimToady: Click?
moritz_ japhb: we'll have subpages soon
japhb: so don't only think in boxes, but also in pages 15:54
PerlJam japhb: Change the "Whatever" box to "Stuff" :)
pmichaud I gotta run-- bbl
moritz_ japhb: see sushee.no-ip.org/p6p/ for a preview
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
or just 'Fun' or so
japhb moritz_, hmmm. That preview is a little *too* simplified for my tastes.
moritz_ japhb: yes, for mine too 15:56
japhb I want to balance the clicks versus density see-saw
15:56 zamolxes left
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:56
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
er "was suggesting"
Damn lack of sleep is really annoying me. :-)
moritz_ there's an easy cure for that ;-)
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:58
japhb pulls up backlog to figure out what the little elves were saying about me in the middle of the night 15:59
16:00 M_o_C left 16:02 molaf joined 16:07 abra left 16:08 reqamst left 16:09 justatheory joined 16:12 molaf left 16:14 leobm joined
lisppaste3 leobm pasted "6 params expected ?" at paste.lisp.org/display/86504 16:16
masak leobm: known bug. Parrot-related. 16:17
leobm masak: ok
jnthn leobm: What masak said - the error message generationg sucks.
*generation 16:18
16:18 masak left
jnthn Fix should be forthcoming in Oct or latest Nov. 16:18
16:19 agentzh left
leobm jnthn: ok, get along with perlbug 16:20
jnthn: ok, find the bug #60570 16:21
TimToady ruoso: no, $*foo is no longer aliased to $foo 16:22
16:22 szabgab joined, nbrown_ left
TimToady having aliases makes it harder to do the mutability analysis that will make threading run fast(er) 16:24
ruoso TimToady, so now I'm confused 16:37
how do $*foo doesn't find the $*foo in the outer scope 16:38
?
pmichaud moritz_: sorry, I missed your note earlier -- +1 on pushing patch and bumping PARROT_REVISION
ruoso hmmm... 16:39
I was assuming dynamic lookup would look into the lexical scope of the caller
TimToady ruoso: by not looking in the outer scope unless it also happens to be a dynamic scope
ruoso maybe that means it is a different namespace at all
pmichaud it looks into the lexpad of the caller
if the lexpad contains entries for all of the outer scopes, then yes, that makes it more difficult 16:40
in Parrot, the lexpad contains links to the outer lexpads
ruoso pmichaud, well it doesn't have it by itself,
TimToady $*foo shouldn't be aliased in from OUTER, but from CALLER
pmichaud well, link
colomon rakudo: say 1.0.Num
16:40 M_o_C joined
p6eval rakudo 1cb71e: OUTPUT«Method 'Num' not found for invocant of class 'Num'␤» 16:40
ruoso hmm...
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
pmichaud correct
(at least, "correct for Parrot" :)
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
pmichaud yes 16:42
ruoso but does it do a full lookup in the caller's scope?
pmichaud except I'd say that it looks in the caller's lexpad
not the caller's scope
ruoso hmm...
pmichaud instead of a chain of outer lexpads, it follows a chain of caller lexpads
ruoso { my $*foo = 1; { dosomething() }; }; sub dosomething { say $*foo } 16:43
pmurias TimToady: how is MAD supposed to be used?
ruoso $*foo is not in the caller lexpad in that case
pmichaud ruoso: that still works
it's in the caller's caller's lexpad
ruoso right
ruoso forgot that part
ok... 16:44
now it makes sense
pmichaud ruoso++
16:44 stephenlb joined
ruoso it's actually a neat way of eliminating the need to check for routine barriers 16:45
dalek kudo: c6bf7b8 | moritz++ | (3 files):
make Rakudo build on parrot after context_pmc3 branch merge
16:52
16:53 rdice left, dukeleto left 16:56 cdarroch joined, alester left 16:57 kidd_ joined
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:57
16:59 cahek joined
TimToady it falls out of "everything is a closure" :) 17:00
17:02 alester joined
ruoso sure, it does... it's just that sometimes people forget the ramifications 17:11
17:20 iblechbot left, iblechbot joined 17:21 flavioglock joined 17:25 rbaumer left 17:31 stephenlb left 17:32 stephenlb joined 17:33 cotto joined
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:37
and that saying "use Foo" is really a search through an API, not the name of a file 17:38
17:39 abra joined
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.
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
TimToady well, do your best :)
mberends quite. please somebody, make proto obsolete!
17:44 synth joined
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:47
17:49 Chillance joined, jauaor left
flavioglock hi 17:49
ruoso flavioglock, heya! 17:50
TimToady there's probably some grand simplification waiting to happen, much as happened when relational databases were invented
ruoso is probably a pessimist, but binary dependency is older than rdbms and nobody solved that yet
TimToady the databases before that were all full of dependency pointers 17:51
flavioglock ola ruoso :)
ruoso quanto tempo, flavioglock ;)
17:54 flavioglock left, leobm left 17:56 flavioglock joined
flavioglock hmm - chatzilla crashed 17:56
ruoso flavioglock, have you been following #perl6 as a listener? 17:57
flavioglock sometimes, yes - but $work doesn't help much 17:58
I'm mostly developing off-line
ruoso off-line development is a strange concept 18:00
flavioglock, in smopland we're already working on p5 integration 18:01
flavioglock how is speed like?
I've been trying out some optimizations, also reading a lot about it 18:02
mp6-lisp is 6x faster than mp6-perl5
ruoso we're not yet really looking at speed 18:03
but by p5 integration I mean interpreter co-operation 18:04
not generating p5 bytecode from P6 code
18:04 eMaX left
flavioglock like, calling methods in p5 objects in p6 land 18:05
ruoso and vice-versa
mildew already calls p5 methods from p6 land
18:06 rfordinal left, rfordinal joined
ruoso but the target right now is more p5-oriented then p6 18:06
*than 18:07
basically, we're working towards implementing "Representation Polymorphism" and "Polymorphic Eval" in p5
flavioglock do you also have p6 objects in p5? 18:09
ruoso pmurias implemented a mechanism of wrapping p6 objects inside SV* 18:10
so the callback works
flavioglock pmurias++
ruoso we kinda halted implemeting new features in SMOP before we have the p5 integration 18:11
I actually think we're going to have some #p5p help after we have the smopp5 working 18:12
18:16 PZt joined 18:18 M_o_C left
ruoso flavioglock, v6/re-mildew/t/p5*.t 18:19
flavioglock (looking) 18:20
18:22 zamolxes joined 18:23 silug left
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
..http-equiv…
jnthn wow. 18:26
mildew++
flavioglock ruoso++: amazing :) 18:27
ruoso pmurias++ # he's the one who implemented that part :)
18:28 Chillance left
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
pugs_svn r28180 | ruoso++ | [re-mildew] someone ate a , 18:32
ruoso it still doesn't use higher-level casts yet... 18:35
mildew: knowhow Foo {method Str {return "YAY"}};use CGI:from<perl5>;my $q = ::CGI.new();say $q.h1(Foo);
p6eval mildew: OUTPUT«Calling SMOP::NATIVE::idconst::fetch on a non idconst.␤<h1></h1>␤» 18:36
18:36 rbaumer joined 18:37 justatheory left 18:38 Guest34212 left, silug joined
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:40
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
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;
ah
p6eval std 28180: OUTPUT«Potential difficulties:␤ Can't locate module CGI:from<perl5> at /tmp/bsYAvRd386 line 1:␤------> use CGI:from<perl5>⏏; my $q = CGI.new(); say $q.header('-cha␤Undeclared name:␤ CGI used at 1␤ok 00:03 39m␤»
18:41 Lorn left
TimToady not that current STD handles :from right yet... 18:42
ruoso yep, but shouldn't be too hard
TimToady just needs an alias
18:42 jan__ joined
ruoso I guess it would always install a local alias by that name... 18:42
(which is what mildew does currently)
TimToady should be standard behavior 18:43
ruoso mildew is still wrong when dealing with p5 long names, like SDL::App
it's storing the string SDL::App in the lexpad
instead of creating an SDL package
and installing App inside it
TimToady I think STD doesn that one right 18:44
18:44 Lorn joined 18:46 ejs joined 18:51 flavioglock_ joined
ruoso considers implementing proper "use SDL::App:from<perl5>" 18:52
flavioglock_ ruoso: how about PDL 18:54
ruoso flavioglock, er... I meant it as any module with a long name... 18:55
but that raises the issue about exports from perl5
18:56 abra left
ruoso TimToady, should we allow p5 to export to p6 namespace? 18:56
(is that even possible?)
cognominal what is mildew? I don't see that on perl6.org 18:57
ruoso cognominal, good point... mildew is a compiler that uses STD as parser and SMOP as runtime 18:58
19:00 justatheory joined
cognominal I can't remember all this perl 6 related projects... 19:00
19:00 reqamst joined
TimToady we should at least allow p6 to import from p5 :) 19:00
[particle]1 www.perlfoundation.org/perl6/index.cgi?smop
19:00 [particle]1 is now known as [particle]
flavioglock_ cognominal: there are some secret old p6 projects 19:01
ruoso TimToady, while I see the smile, I think you mean: "need CGI:from<perl5>; CGI defines h1; h1('Hello')" 19:02
is it?
cognominal, I'm putting together a mildew-specific wiki page and then I'll put a link in perl6.org
19:03 flavioglock left
cognominal STD generates perl 5 code? so in what language is written mildew? 19:03
ho, thx ruoso
ruoso cognominal, STD generates a parse tree using p5 data 19:04
flavioglock_ what is this ironperl in v6/README ?
19:04 jaffa8 joined
jaffa8 hi 19:04
ruoso cognominal, mildew transforms that parse tree into m0ld/yeast code
which are two of the smop interpreters
cognominal the parse tree is in yaml, json... ? 19:06
ruoso p5 objects/hashes/arrays 19:07
www.perlfoundation.org/perl6/index.cgi?mildew 19:08
pugs_svn r28181 | ruoso++ | [perl6.org] adds mildew reference 19:12
19:20 donaldh left, donaldh joined 19:31 japhb left 19:38 icwiener joined
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:38
sjohnson morning all 19:39
19:39 sjohnson sets mode: +v pugs_svn
moritz_ rakudo: say pi / 2 19:39
colomon morning.
moritz_ oh hai
p6eval rakudo c6bf7b: OUTPUT«1.5707963267949␤»
jaffa8 I just read 19:40
the rakudo will be release in spring 201􏿽xF6
the rakudo will be release in spring 2010
19:40 synth^2 joined
jaffa8 anyway, hi 19:40
moritz_,
pmichaud jaffa8: there will be *a* Rakudo distribution release in spring 2010, yes. 19:43
jaffa8 there are already releases. 19:46
What will be the difference?
pmichaud Rakudo Star is meant to be a more complete distribution instead of just a compiler
jaffa8 Will it contain perl 5 too?
pmichaud probably not.
although it might, depending on how well jnthn++'s project progresses 19:47
(I still have to learn how to spell it properly :-)
moritz_ rakudo: say 1 + eval('2 + 3', :lang<perl5>)
Blizkost
p6eval rakudo c6bf7b: OUTPUT«Use of uninitialized value␤1␤»
moritz_ uhm.
pmichaud yeah, that's the one
moritz_ it's easy for me. In German Blitz = lightning (sometimes used as "fast" too), just leave out the t 19:48
and kost = food
I just have to think of ultra fast food ;-)
jaffa8 kost 19:49
I know that word
jnthn Trust me to pick a name with amusing meanings in other languages. 19:50
:-)
flavioglock_ moritz_: thanks for adding mp6 in 'Perl 6 Tidings' 19:51
jaffa8 jnthn, how is perl 5 integration going?
moritz_ flavioglock_: you're welcome
flavioglock_: speaking of which, do you have future plans for it? 19:52
flavioglock_ moritz_++ # it's nice to have a perl6 journal
hmm
I'm studying a lot of options 19:53
19:53 synth left
flavioglock_ there are several things I'm testing 19:54
jaffa8 Can someone explain if there is a difference between perl 5 c switch and perl 6 c modifier? 19:55
Similarly, between g switch and g modifier?
moritz_ I think the main difference is that :g doesn't behave magically in scalar context in Perl 6 19:57
and that the position is not stored in pos($str) but in the match object
jaffa8 What is behaving magically? 19:58
moritz_ well, m/../g behaves very different in scalar and list context (p5) 19:59
in perl 6 m:g/.../ just returns a (lazy) list of Match objects.
jnthn jaffa8: I've given it personally about 15 hours so far. 20:00
jaffa8: Others have chipped in lots of work on the build stuff and other bits here and there.
jaffa8: So far, only minor achievements, but a decent start relative to the time investment.
jaffa8 "chipped in" Is it informal? 20:01
jnthn, ok I see
jnthn jaffa8: sorry, eys, informal. "contributed" works fine too :-) 20:02
jaffa8 Where is it used?
20:02 rbaumer left
jaffa8 Is American or British? 20:02
Is => Is It? 20:03
20:03 rbaumer joined
literal any vimmers here that have an opinion on this? groups.google.com/group/vim-perl/br...d7ed2d164f 20:03
pmurias flavioglock_: hi
flavioglock_ pmurias: hi!
20:05 alester left
jnthn jaffa8: Well, I'm British, so probably it's British. :-) 20:05
jaffa8 I do not watch too many British series, only Dr. Who. 20:08
pmurias flavioglock_: so are you planning on reviving mp6?
moritz_ literal: talk to azawawi, he did some autodetection for padre 20:21
literal ah
flavioglock_ pmurias: I'm doing some fixes here and there 20:23
20:31 Karthz joined, Karthz left 20:34 Whiteknight left 20:42 ejs left
flavioglock_ pmurias: I don't have much free time, but I'm motivated :) 20:43
20:43 rbaumer left 20:48 rbaumer joined 20:51 ruoso left 20:54 icwiener left 20:59 takadonet left 21:02 KyleHa1 joined
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:08
though of course allowing multiple versions may make it easier, by putting every project in its own lib-dir 21:10
21:16 cahek left, pmurias left, frew_ left
pugs_svn r28183 | colomon++ | [spec/t] Un-skip tests for Complex.sin. 21:17
dalek kudo: b51d94c | (Solomon Foster)++ | src/setting/Complex.pm:
Add Complex.sin and Complex.cos functions.
21:18
21:19 KyleHa left
pmichaud colomon++ 21:19
colomon Checked in the functions I'd been sitting on for days just to see if the process worked okay. :)
pmichaud instead of 1i * ... it might be better to use .i (if it works) 21:20
colomon Really? Like
rakudo: say (10).i;
pmichaud rakudo: say (3+4).i
colomon racing examples! ;0
p6eval rakudo c6bf7b: ( no output ) 21:21
pmichaud doh!
rakudo: say (3+4).i
p6eval rakudo c6bf7b: OUTPUT«Method 'i' not found for invocant of class 'Integer'␤»
pmichaud rakudo: say (3.0).i
p6eval rakudo c6bf7b: OUTPUT«Method 'i' not found for invocant of class 'Num'␤»
pmichaud hmm
rakudo: say (3.0)i
colomon afk, dinnertime
p6eval rakudo c6bf7b: OUTPUT«0+3i␤» 21:22
pmichaud okay, a postfix:<i> then :-) 21:23
regardless, it looks good to me
21:25 bionoid_ joined 21:26 frew_ joined, bionoid left 21:27 tak11 joined 21:29 kidd_ left 21:33 flavioglock_ left 21:39 nErVe joined 21:40 Whiteknight joined
cognominal rakudo : say e ** -(i*pi) 21:41
rakudo : say e ** -(1i*pi) 21:42
rakudo: say e ** -(1i*pi)
p6eval rakudo c6bf7b: OUTPUT«** (HyperWhatever) is not yet implemented at line 2, near " -(1i*pi)"␤in Main (src/gen_setting.pm:2534)␤»
21:43 KyleHa1 left
cognominal rakudo: say 2**2 21:43
p6eval rakudo c6bf7b: OUTPUT«4␤»
cognominal rakudo: say e**(1i*pi) 21:44
p6eval rakudo c6bf7b: OUTPUT«-1+0i␤»
cognominal rakudo: say e**-(1i*pi)
p6eval rakudo c6bf7b: OUTPUT«-1-1.22461e-16i␤»
cognominal rakudo: say e**(-(1i*pi))
p6eval rakudo c6bf7b: OUTPUT«-1-1.22461e-16i␤»
cognominal rakudo: say e**(i*pi)) 21:45
p6eval rakudo c6bf7b: ( no output )
21:47 sharada left
TimToady seems like 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:51
21:56 japhb joined
jaffa8 Where can I get a description of Perl 6 command line arguments? 21:57
Where can I get a description of Perl6.exe command line arguments?
21:59 SmokeMachine left
colomon rakudo: say e**(1i*pi) 22:00
p6eval rakudo b51d94: OUTPUT«-1+0i␤»
colomon rakudo: say e**(i*pi) 22:07
p6eval rakudo b51d94: OUTPUT«Could not find non-existent sub i␤»
22:09 jaffa8 left
pugs_svn r28184 | lwall++ | [camelia.txt] more clarication of what Camelia is and is not for. 22:16
pmichaud the text file doesn't appear utf-8 in my browser :( 22:17
TimToady ah, hmm
I suppose it needs a mime-type
22:18 syntheticore joined
pugs_svn r28185 | lwall++ | [camelia.txt] add props 22:18
TimToady should be better now 22:19
pmichaud yes, much
thanks
TimToady rakudo: say (e) ** -(1i*pi)
p6eval rakudo b51d94: OUTPUT«-1-1.22461e-16i␤» 22:20
TimToady rakudo: say -(e) ** -(1i*pi)
p6eval rakudo b51d94: OUTPUT«1+1.22461e-16i␤»
TimToady cognominal: see ^^^
e is still a listop in rakudo 22:21
so (e) is another way to suppress that, in addition to omitting space
I don't recomment e() however 22:24
*recommend
since:
colomon I had just been just been using exp()...
TimToady e is a term that does not respond to () 22:25
(in std)
but (e) will continue to work
colomon What about i? That seems a logical choice if we have e and pi running around... 22:27
syntheticore hello everybody
TimToady yeah, maybe
eventually you want to avoid possible user-defined sub names 22:28
22:28 payload left 22:29 nihiliad left
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
would it be a good idea to work in that right now?
TimToady maybe we should recognize MATHEMATICAL ITALIC SMALL I instead :)
sure, you might be able to find prior work under pugs 22:30
syntheticore nice
is the other information available, other than it should be " Unordered collection of values that allows no duplicates
"?
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
and we explicitly say you can convert at least a one() junction to a Set to get the eigenstates 22:32
22:32 nErVe left
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
well, that's why it's in the "immutable" section, and the others in the mutable section 22:33
syntheticore ok
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. :-)
TimToady there's some stuff in S03 about smartmatching against Set 22:34
and S32-setting-library/Containers.pod has some KeySet data
one way to implement Set would just be with readonly KeySet
syntheticore when it implements the Associative role, it means it should respond do postcircumfix<{}>
TimToady yes, and returns a Bool 22:35
syntheticore thanks for the infos so far, didn't find that information when I was looking
TimToady since that is what a Set implicitly associates to
"is it a member?"
syntheticore ah, now I understand
because I was wondering what the key to that would be ;)
TimToady S02 describes KeySet and KeyBag 22:36
syntheticore so I need to implement postcircumfix<{}> myself and including the role does the rest?
TimToady in theory :) 22:37
syntheticore :)
justatheory coughs
TimToady we sincerely hope it is now out of theory
syntheticore yeah, when you play a little longer with rakudo, it's not that hard to produce some segfaults ;)
TimToady think of them as opportunities 22:38
to harass someone else :)
jnthn runs away 22:39
syntheticore hehe, wish I could help on more core things
TimToady is a syntheticore kinda like a manticore?
syntheticore don't know, thought it sound kinda techy 22:40
22:40 rbaumer left
syntheticore ;) 22:40
TimToady works for me
syntheticore I'm glad! :)
22:42 payload joined
syntheticore just had to look up what that is, can assure you I don't look like that ;9 en.wikipedia.org/wiki/Manticore 22:42
22:43 iblechbot left
TimToady ich bin recht gern! 22:44
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:46
22:46 payload left 22:47 payload joined
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
flying into Narita?
jnthn TimToady: Yeah 22:48
TimToady 'bout a 40 minute train ride in
jnthn Ah, I'll cope.
TimToady after a redeye, Glo and I find walking in the sunshine the best thing
syntheticore TimToady: Found out my mothertonge pretty quickly :) 22:49
jnthn I'm staying near Oeno for the first couple of days (which is happily on the train ride from Narita)... 22:50
...so I guess that means I've got at least one park close at hand.
TimToady well, your isp pops up in Deutsch :)
is a nice park
syntheticore ;)
jnthn yay :-)
I like parks. We don't have enough in central BA. 22:51
(Granted there's plenty around the outside of the city...)
TimToady syntheticore: was just wondering your timezone, really, since that tends to be germaine here (no pun intended)
syntheticore well, its 0:51 here right now
should be in bed already :) 22:52
TimToady I have that problem too, just not yet :)
syntheticore what time is it in your state right now?
TimToady 1553 22:53
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. :-)
syntheticore wondering what timezone that would have ;)
TimToady probably has a W for Wonderland
or maybe RHNT, for rabbit hole non-standard time 22:55
syntheticore jnthn: same with me, but I always curse in the mornings :)
jnthn syntheticore: yeah same
:-)
syntheticore night's the best time for hacking anyway 22:56
TimToady scripturetext.com/proverbs/27-14.htm
one of the funniest verses in the bible 22:59
pmichaud TIMTOADY IZ TEH AWESOME!!!!!!111!!!!! LOL 23:01
jnthn :-D
LOL!!
jnthn will remember that one... 23:02
pmichaud fortunately it's not morning here :-) :-)
23:02 andy_ joined
cognominal thx timtoady. Good night 23:02
good localtime anyway
23:04 ruoso joined 23:09 ihrd joined
sjohnson i had a dream i met TimToady last night heh 23:15
23:16 bionoid_ left
pugs_svn r28186 | lwall++ | [perl6.org] delete redundant and distracting link from "butterflies" 23:19
TimToady I assure you, it was someone else. 23:20
23:20 donaldh left
sjohnson it was a DreamToady 23:21
23:21 donaldh joined 23:32 Limbic_Region joined 23:33 frew__ joined 23:36 SmokeMachine joined 23:37 satrac joined, bionoid joined 23:38 bionoid is now known as Guest1515 23:41 satrac_ joined
syntheticore rakudo: say 4 === 4; 23:41
p6eval rakudo b51d94: OUTPUT«1␤»
syntheticore rakudo: say 4 === any(3,4); 23:42
p6eval rakudo b51d94: OUTPUT«0␤»
syntheticore why is that?
23:42 satrac_ left 23:43 satrac left 23:44 japhb left
syntheticore jnthn: shouldn't the last statement give back a Junction? 23:45
jnthn syntheticore: iirc === doesn't auto-thread
syntheticore ic
jnthn Additionally
23:46 Karthz joined
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.
In fact I guess that's why it won't auto-thread.
syntheticore ok, say I wanted to check if an object is in a collection
sjohnson rakudo: say 4 == any(3,4);
p6eval rakudo b51d94: ( no output )
23:47 Karthz left
sjohnson rakudo: say (4 == any(3,4)); 23:47
p6eval rakudo b51d94: OUTPUT«any(Bool::False, Bool::True)␤»
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?
pmichaud syntheticore: cmp 23:48
or eqv if you're wanting equivalence
syntheticore because in a set, "4" is not the same as 4, right?
pmichaud although eqv might not autothread either
syntheticore ah, ok
pmichaud perhaps any( 4 <<==<< (3,4) ) 23:49
or any( 4 <<===<< (3,4) )
rakudo: say ?any( 4 <<===<< (3,4) );
p6eval rakudo b51d94: OUTPUT«1␤» 23:50
syntheticore nice :)
so that is like making a list of the junction, iterating through it and comparing each element using ===, right?
pmichaud yes 23:52
S03 says the better way to do it is
rakudo: say 4 ~~ any(3,4)
p6eval rakudo b51d94: OUTPUT«1␤»
pmichaud I don't know if that will work for all types, though.
syntheticore rakudo: say "4" ~~ any(3,4) 23:53
p6eval rakudo b51d94: OUTPUT«1␤»
syntheticore so should 4 and "4" be considered equal in a set?
pmichaud My guess would be no (having not read the spec)
I think set is based on eqv semantics
syntheticore ok, I'll search a bit 23:54
23:58 Whiteknight left, Whiteknight joined