»ö« | 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_numberIt 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_numberIt 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_numberIt 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_numberIt 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 @*INCin 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 Ratin 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('-chaUndeclared name: CGI used at 1ok 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 201xF6 | |||
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 value1» | ||
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
|