»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
dalek | kudo/nom: 6e78299 | tadzik++ | src/ (3 files): Apply the doc trait only for the documented objects |
00:05 | |
tadzik | jnthn: there :) | 00:06 | |
jnthn | yay :) | 00:07 | |
pmichaud | \o/ | 00:08 | |
jnthn | Grr. Getting a GC-ish segfault. | ||
00:11
mkramer1 joined
00:13
mkramer left
00:20
huf joined
|
|||
jnthn | oh...darn it. | 00:22 | |
Parrot hashes deep clone, don't they... | |||
00:24
huf left
00:25
thou left
|
|||
pmichaud | yes, they do. a shallow clone requires a manual binding | 00:25 | |
afk, dinner | |||
jnthn | Guess a bit of bloody consistency with RPA is too much to ask for :/ | 00:27 | |
But no, I have to waste more time on stupid decisions. | |||
dalek | kudo/nom: b1c1886 | jonathan++ | src/binder/bind.c: Unlike arrays, Parrot Hashes deep clone, which does the very wrong thing if you just want shallow. Fixes nested signatures involving nameds. |
00:38 | |
kudo/nom: 0d9382f | jonathan++ | src/core/Mu.pm: Mu.Capture, which coerces to a Capture based on the public attributes. |
|||
kudo/nom: 65f9068 | jonathan++ | t/spectest.data: Run S06-signature/tree-node-parameters.t |
|||
kudo/nom: 5972bb9 | jonathan++ | src/core/Any.pm: Add eqv case for Capture. Oddly, if you try and eqv the same Capture with itself it comes back as False; I fear some list nommage is going on somewhere. |
|||
sorear | jnthn: welcome to my experience with Parrot | 00:39 | |
TimToady: what's non-simple about try's catch? | |||
jnthn | sorear: Yeah. Well, I kinda don't have time to write a VM at the moment too. :) | 00:40 | |
Though I look forward to getting Rakudo running on more places :) | |||
git st | |||
oops | |||
dalek | kudo/nom: 3aafdc9 | jonathan++ | NOMMAP.markdown: Update nommap. |
00:42 | |
tadzik | oh, pmichaud, I see you're assigned to Buf. You may want to check the nom-buf branch | 00:44 | |
[Coke] | argh. I keep running a check out t/spectest.data, and before it finishes, more commits roll in. ;) | 00:45 | |
s/out/of/ | |||
jnthn | I promise to sleep soon. But that still leaves night-owls and those in other timezones ;-) | 00:47 | |
dalek | kudo/nom: e084f6a | jonathan++ | .gitignore: Add Pod/To/Text.pir to .gitignore. |
||
00:49
whiteknight joined
|
|||
dalek | kudo/nom: 46c05e2 | jonathan++ | src/binder/bind.c: Unbust hash part of |$c binding in signatures. |
00:55 | |
kudo/nom: e606577 | jonathan++ | NOMMAP.markdown: Another nommap update. |
|||
00:55
tokuhirom joined
00:58
PacoLinux left
|
|||
jnthn | sleep & | 01:03 | |
01:04
noganex joined
01:07
colomon joined,
noganex_ left
|
|||
sorear | o/ colomon | 01:14 | |
01:16
revdiablo joined
01:46
thou joined
01:47
Moukeddar joined
01:51
Moukeddar left
01:55
ranott left
01:56
Woodi left
01:57
whiteknight left
02:13
jaldhar left,
jaldhar joined
02:14
tokuhirom left,
tokuhirom joined
02:18
huf joined
02:19
tokuhirom left
02:46
envi joined
|
|||
colomon | \o | 02:46 | |
pmichaud | 00:44 <tadzik> oh, pmichaud, I see you're assigned to Buf. You may want to check the nom-buf branch | 02:51 | |
I'm only the current listed responsible party... if you want to list yourself, that's fine. | |||
basically I'm just committing to do it if nobody else does :) | 02:53 | ||
02:58
perlet joined
02:59
perlet left
|
|||
sorear | o/ colomon | 03:01 | |
colomon | \o sorear | ||
sorear | so I'm thinking about how to make general 'CATCH' work in niecza | 03:02 | |
and I'm a little bogged down in subtleties of SIMPLECATCH and co | |||
implementing CATCH using the spec's rewrite seems quite insane | 03:03 | ||
I'm thinking it needs to use a helper function, perhaps largely in C# land | |||
03:05
thou left
03:23
Su-Shee_ joined
03:26
wolfman2000 left
03:27
Su-Shee left
|
|||
sorear | What happens if a control exception is generated when there is an exception pending, or vice versa? | 03:50 | |
e.g. LEAVE { next; } | |||
Where is everyone? | 03:56 | ||
jasonmay | boston | ||
sorear | :( | 03:59 | |
I can't get anything done like this :p | 04:00 | ||
04:01
thou joined
|
|||
TimToady | you'd think it was a Friday night or somethin' | 04:14 | |
04:14
envi left
|
|||
TimToady | LEAVE is not inside an exception | 04:14 | |
it's a stack unwind thing | 04:15 | ||
sorear | what happens if LEAVE { next } is reached while unwinding after a CATCH? | 04:16 | |
TimToady | but in general, I think control exceptions probably trump pending exceptions | ||
on the assumption that someone knows what they're doing | |||
the point of unwinding the stack on an exception is to get to a stable state | 04:17 | ||
and maybe they know which stable state they want better than we do | |||
doubtless it can also be abused | |||
that's just my gut reaction | |||
open to arguments the other way | |||
sorear | if a control exception is reached during unwind, should that abort the unwind? | 04:20 | |
TimToady | that's what I thought I just said | 04:21 | |
sorear | there are a lot of confusing interactions here | ||
TimToady: sorry, I didn't understand that | |||
now I do | |||
TimToady | but the viewpoint of the current unwind state is more likely to know where the control target is than if we complete the unwind and then try to do the control | ||
sorear | what if the user has a control operator in a CATCH? | ||
TimToady | same deal, I think, except that the stack may be more deeply wound at that point | 04:22 | |
since the unwind hasn't happened yet | |||
but a CATCH with a goto in it is no worse really than a try that throws away all exceptions | 04:23 | ||
04:23
kaare_ joined
|
|||
TimToady | that is, CATCH { goto Label } is no different from try {} goto Label if $! | 04:24 | |
assuming the label is lexotically known | |||
it's possible, that there should be some controls on it to keep people from hurting themselves, but it's not clear what nature those controls would be | 04:26 | ||
other than just saying, "You tried to do a control while unwinding, and now I'll unwind harder" | |||
which seems...a bit stiff | |||
sorear | TimToady: what dynamic scope are LEAVE blocks executed from? | 04:28 | |
TimToady | they are in the dynamic scope of their OUTER | 04:29 | |
that scope is not officially left until after LEAVE, and probably POST as well | |||
just the flipside of what we were talking about with PRE and ENTER | 04:30 | ||
04:32
Moukeddar joined
04:35
uvtc joined
|
|||
TimToady | it would probably be very bad style to go back into that dynamic scope with a control exception though, without reentering from the top | 04:36 | |
04:40
TiffanyAngel87 is now known as sili
|
|||
sorear | TimToady: what if a regular or control exception is generated from a CONTROL block? | 04:44 | |
sorear ponders how to implement LEAVE blocks with re-entry capability. | |||
pmichaud | nom developers: Please don't push commits that leave new spectest regressions for others to have to find + deal with. Or, if you do, at least leave a note about it in the commit log. Otherwise the rest of us (i.e., me) spend hours trying to track down spectest failures that have nothing to do with the patch we just applied. kthxbye | 04:47 | |
sorear | pmichaud: what about developers of other compilers who occasionally push changes to roast? | 04:48 | |
pmichaud | changes to roast I can deal with. | ||
I don't expect people making modifications to roast to have to test them against rakudo. | 04:49 | ||
TimToady | sorear: in that case the new exception takes precedence over the old one | 05:00 | |
dalek | kudo/nom: 11d46b3 | pmichaud++ | src/Perl6/Actions.pm: More hyper metaop code, still not complete. |
05:04 | |
TimToady | sorear: As my father used to say, "It's not what you do, it's what you do next." | 05:14 | |
05:15
george_z0rwell joined,
kjeldahl left,
jdhore left
05:16
cooper left,
p6eval left,
Reaganomicon left,
p6eval joined,
ChanServ sets mode: +v p6eval
05:17
kjeldahl joined,
jdhore joined,
kemono left,
cooper joined,
kemono joined
05:18
jnthn left,
jnthn joined
|
|||
lue | > use Numbers::Ordinal; | 05:27 | |
"load_bytecode" couldn't find file 'Numbers/Ordinal.pbc' | |||
does anyone know of this? [Numbers::Ordinal is install in ./perl6/lib/Numbers/ as Ordinal.pm6 and Ordinal.pir] | 05:28 | ||
*installed | |||
*~/perl6/lib ... | 05:30 | ||
05:33
Moukeddar left
05:34
Chillance left
|
|||
mberends | lue: If you made the directories by hand, you may need ~/.perl6 instead of ~/perl6 | 05:40 | |
lue: unsure, but try copying Ordinal.pir to ~/.perl6/lib/Numbers/Ordinal.pir | |||
and some versions of Rakudo would not open the .pir file unless the .pm file was also present in the same dir | 05:41 | ||
lue | I'm sorry, I just realized I mean ~/.perl6 , but type ./perl6 instead :/ | 05:56 | |
[I'm using nom by the way] | |||
.oO(why am I not typing the past tense today? *meant *typed) |
|||
06:11
uvtc left
06:21
Mowah joined
06:34
Trashlord joined
06:41
lue left
|
|||
mberends | .oO( lue and time - always a risky proposition ;) |
06:47 | |
06:55
woosley joined
06:57
noganex_ joined
07:00
noganex left
07:02
noganex_ left,
noganex joined
07:04
donri left
07:17
Jackneill joined
07:23
masak joined
|
|||
masak | good morning, #perl6. | 07:23 | |
07:23
moritz joined
|
|||
sorear | o/ masak | 07:31 | |
o/ moritz!! | |||
07:35
Jackneill left
07:36
envi joined
|
|||
moritz | \o | 07:40 | |
phenny | moritz: 05 Aug 22:55Z <tadzik> tell moritz given github.com/rakudo/rakudo/commit/71df76fa1f and gist.github.com/1128691 do you see any better way to solve this but to sort the block according to their $/.from? | ||
sorear | moritz: it seems like I'm going to start playing with exceptions, X::Base, CATCH, and CONTROL in niecza Real Soon Now | 07:42 | |
moritz: I'm wondering if exceptions should be considered immutable, and when the backtrace is added. | 07:43 | ||
for instance is the backtrace available at CATCH time? | |||
07:49
tokuhirom joined
07:50
kboga left
07:51
Su-Shee_ is now known as Su-Shee
|
|||
mberends | o/ masak sorear moritz Su-Shee | 08:00 | |
masak | Su-Shee moritz sorear mberends \o | ||
sorear | o/ | ||
masak | it's the weekend, and I have no excuse for not being very active with YAPC::EU talk preparations. | 08:01 | |
mberends | masak: \o/ | 08:02 | |
masak | need to implement an airport. | ||
mberends | how hard can it be? ;) | ||
masak | it's not exactly rocket science. | 08:03 | |
mberends | heh. spaceports, now that's more of a challenge | 08:04 | |
masak | I wanted something that people are a bit familiar with, while also avoiding the almost-clichéd example of an E-commerce site. | 08:05 | |
08:08
mj41 joined
|
|||
moritz | sorear: sure it is available at CATCH time ... when else would it make sense? | 08:13 | |
dalek | ecza: 7e257a0 | sorear++ | / (3 files): Refactor unwinding through nested runloops; allows "last" in defaults, etc to work. |
08:14 | |
moritz | sorear: and while it makes sense to make some of the built-in exceptions immutable, I don't think you should prevent the user from throwing mutable exceptions | ||
sorear | moritz: what I'm really asking is whether die() does $exn.backtrace = ... or $exn .= clone(backtrace => ...) | 08:15 | |
08:15
kanishka joined
|
|||
dalek | ast: 9b9d276 | sorear++ | S04-exceptions/control_across_runloop.t: Here is a test for last in an inferior runloop. May not be general enough. |
08:16 | |
moritz | sorear: I guess it does $exn.add-backtrace($bt) | ||
sorear: so that the exception can decide what do with multiple BTs | |||
replace the old one, or add to a stack | |||
sorear | that last commit will break a couple of spectests, since it fixes a bug that my eval_dies_ok relies on | 08:17 | |
tomorrow I'll redo it correctly, using CONTROL and CATCH, which I'll add | 08:18 | ||
sorear -> sleep | |||
kanishka | I am trying to build a module .. how to test it with out installing it | 08:20 | |
mberends | kanishka: saving the module file in the same directory as the test script should work | 08:22 | |
moritz | make test | 08:28 | |
08:29
Jackneill joined,
Jackneill left,
Jackneill joined
|
|||
kanishka | got it | 08:31 | |
08:33
Jackneill left
08:34
Jackneill joined
08:38
kanishka left
08:43
wooden left
|
|||
masak | 'make test' works, but only if you have made yourself a Makefile for your project. | 08:54 | |
yay, IRC logs are back! | 08:58 | ||
moritz++ | |||
08:58
im2ee joined
09:00
SHODAN joined
09:22
thou left
09:25
tokuhirom left,
tokuhirom joined
|
|||
tadzik | hello #perl6 | 09:29 | |
09:29
tokuhirom left
09:32
whiteknight joined
|
|||
jnthn | morning, #perl6 | 09:36 | |
sorear | o/ jnthn | ||
sorear cannot sleep | |||
tadzik | oh, I had this today too | ||
09:41
kboga joined
|
|||
dalek | kudo/nom: 3853e1b | jonathan++ | t/spectest.data: Disabling S02-builtin_data_types/instants-and-durations.t - it reliably hangs for me during the spectest run. |
09:48 | |
masak | morning, jnthn. hello, tadzik. | ||
masak wishes the sun were less prominent | |||
jnthn | huh, what, they forecast rain todya | 09:49 | |
masak hopes that comes true | 09:51 | ||
10:03
wamba joined
|
|||
tadzik | oh, here too | 10:04 | |
masak | .WHEREFORE, I think, represents the pinnacle of trying to strain question words to fit on top of behind-the-scenes relations in the language. | 10:07 | |
mberends | hello tadzik, jnthn | ||
mberends is unhappy that in Win32, int is 32 bits and long is 32 bits also :( | |||
10:07
meteorjay left
|
|||
tadzik | masak: can you translate that to me to some Slavik language? :) | 10:08 | |
sorear | masak: you noticed that too? | ||
10:08
meteorjay joined
|
|||
mux | most unices are the same on x86 | 10:08 | |
masak | reasons it's bad, in no particular order: (1) "wherefore" means the same as "why". | ||
(2) no-one uses the word, except for Juliette. | |||
(3) it's exactly the kind of thing that Damian thinks is cute today. | |||
(4) there's no *reason* for it to be named that. | 10:09 | ||
I think I could almost make a better case for .WHOSE | |||
it's that bad :P | |||
10:09
Mowah left
|
|||
mux | .HENCEFORTH | 10:09 | |
masak | .HITHERTO | 10:10 | |
tadzik | .BECAUSE | ||
masak | o.O | ||
tadzik | it's the opposite of .WHY, if viewed right :) | ||
masak | .WHYNOT | ||
tadzik | (or viewed wrong) | ||
mberends | .SOTHERE | 10:11 | |
tadzik | .DOCUMENTEE | ||
mux | .INSOFAR | ||
masak | .NONWITHSTANDING | 10:12 | |
tadzik | .THUS | ||
mberends | .DONTARGUE | 10:13 | |
masak | .FURTHERMORE | ||
tadzik | .ILIKECHOCOLATEMILK | ||
10:13
wamba left
|
|||
masak is reminded of bash.org/?23396 | 10:13 | ||
TimToady: I like your thoughts about the PLAN phaser, but I'd like to bikeshed the name to EMPTY or DEPLETE or FINISH, to rhyme better with gather/take. | 10:19 | ||
sjn | .WTF # lists error messages related to the object | 10:20 | |
:-P | 10:21 | ||
masak | "What's The Failure" :) | 10:23 | |
tadzik | makes sense | ||
masak | <sorear> Where is everyone? | 10:24 | |
<jasonmay> boston | |||
*lol* | |||
10:26
wamba joined
10:31
woosley left,
Jackneill left
10:33
Jackneill joined
|
|||
dalek | kudo/nom: 614236f | jonathan++ | src/core/Capture.pm: Avoid usage of $capture.list eating the $!list in Capture by shallow cloning (pmichaud, please review). |
10:39 | |
odel: ed14a43 | (Martin Berends)++ | c/t (5 files): odel/c] get current time to microsecond resolution on unix and win32 |
10:46 | ||
11:17
Jackneill left
|
|||
moritz | Ronja just ate her first grapes -- she complained when the supply wasn't fast enough :-) | 11:29 | |
jnthn | :-) | 11:30 | |
11:30
Jackneill joined,
Jackneill left,
Jackneill joined
|
|||
gfldex | that aint no suprise: de.wikipedia.org/wiki/Ronja_R%C3%A4ubertochter | 11:31 | |
or better: en.wikipedia.org/wiki/Ronia_the_Rob...s_Daughter | 11:32 | ||
11:33
SHODAN left
|
|||
masak | gfldex: not sure I see the connection between that book and grapes :) | 11:40 | |
moritz | the connection is ronja :-) | 11:45 | |
gfldex | well, one could argue that being a robber is a complain against lacking supply | 11:46 | |
moritz | :-) | ||
gfldex | and ronja knows no fear, not even of grapes | ||
moritz | it does sounds a bit far fetched though :-) | 11:47 | |
gfldex | quite frankly, it is | ||
dalek | ast: b869db3 | moritz++ | S32-hash/pairs.t: rakudo unfudges in pairs.t |
11:48 | |
mberends | afaik the only thing moritz steals is code ;) | 11:53 | |
moritz | and ideas :-) | ||
sometimes karma, too | |||
masak | it's true. | 11:54 | |
no-one has de-karma'd me as much as moritz has ;) | |||
moritz | masak: actually you have de-karma'd yourself much more often than I have :-) | 11:56 | |
masak | oh, that's true. didn't consider that. | ||
masak-- # too de-karma-y | 11:57 | ||
oh wait :) | |||
moritz | gist.github.com/1129286 | ||
11:58
MayDaniel left
|
|||
masak | oh, and jonalv :) | 11:58 | |
and egonw. | |||
people from a different universe. | |||
wow, there will now forever be a gist of "people who have taken karma from masak, and how much" :P | 11:59 | ||
12:04
SHODAN joined
12:05
SHODAN left
12:16
noam left
|
|||
pmichaud | good morning, #perl6 | 12:36 | |
jnthn | morning, pmichaud | ||
pmichaud is proud to not be on the list of people who have de-karma'd masak++. | |||
tadzik | good morning pmichaud | ||
pmichaud | jnthn: 614236f looks fine -- you're correct, the $!list needs cloning there. | 12:37 | |
jnthn | pmichaud: Yeah, sorry about that. | ||
pmichaud: I noted the problem in the commit message, though didn't really draw much attention to it...I'd planned to deal with it last night, then got sucked into the hash clone mess. :/ | |||
(The eqv commit message, that is.) | 12:38 | ||
Turns out the Parcel.Capture hack was being relied on quite heavily. | |||
pmichaud | I'm surprised, actually. | ||
jnthn | So was I | 12:39 | |
pmichaud | I suspect there were a lot of bogus Capture tests. | ||
jnthn | There were | ||
Also, we didn't run most of autoref.t on master | |||
At least, not the bits that were unfudged for nom. | |||
pmichaud | I've long felt they were likely bogus, but couldn't find any specs to prove it. | ||
jnthn | No, I ended up asking TimToady++ | ||
pmichaud | Yes, I saw. | 12:40 | |
jnthn | After an unsuccessful spec trawl. | ||
I'm working on installable nom and modules. | |||
pmichaud | +1 | ||
jnthn | Need to fix up nqp's own install and module search first. | ||
(It pokes a bunch of stuff into the Parrot library directory, rather than the nqp language directory.) | 12:41 | ||
Nested sigs are pretty much done now. We fail two tests in array-unpack.t but it's not nested signature's fault. | 12:42 | ||
12:44
JimmyZ joined
|
|||
dalek | ast: fc2707f | kboga++ | S (7 files): (un)fudge tests |
12:49 | |
kboga | does tree-node-parameters.t fail for anyone else? | 12:50 | |
pmichaud | kboga: yes, it fails for me. | ||
jnthn | Works here | 12:51 | |
(the .rakudo) | |||
pmichaud | .rakudo fails here. | ||
jnthn | (the .t fails, but it works when fudged) | ||
oh. | |||
pmichaud | Not enough positional parameters passed; got 0 but expected 2 in sub-signature of parameter %top | ||
jnthn | hm | ||
aha! | |||
kboga | without that test running spectest now passes (here) | 12:52 | |
jnthn | forgot to push | ||
dalek | ast: 83243d7 | jonathan++ | S06-signature/tree-node-parameters.t: Fix signatures now positional named fallback stuff changed. |
||
kboga | yep it now passes, jnthn++ | 12:54 | |
jnthn | sorry 'bout that | ||
kboga | no need :) | 12:58 | |
12:59
ranott joined
13:01
PacoLinux joined
|
|||
JimmyZ wonders how many tests nom passed. | 13:02 | ||
tadzik | I think it's close to 9000 | 13:03 | |
flussence | github.com/flussence/specgraphs/ra...-tests.png | 13:05 | |
that answer your question? :) | |||
tadzik | oh, the graph is better and better! flussence++ | 13:07 | |
JimmyZ | a little old | ||
flussence | (does anyone know why those numbers are lower than the ones on smolder.parrot.org/app/projects/smoke_reports/5 ?) | 13:08 | |
13:21
JimmyZ left,
Jackneill left
|
|||
tadzik | the birth of nom looks really nice in gource :) | 13:26 | |
flussence | I was looking at that the other day, it seems like rakudo gets a huge increase in activity around November each year | 13:28 | |
tadzik | . o O ( No one's hacking on November ) | ||
13:31
PacoLinux left
13:32
PacoLinux joined
|
|||
moritz | flussence: the smoke reports includes skipped tests ass PASS, iirc | 13:35 | |
flussence | ah | ||
dalek | ast: 9d302d9 | kboga++ | S09-subscript_slice/slice.t: rakudo fudge in slice.t |
13:37 | |
13:38
JimmyZ joined
13:40
im2ee left
|
|||
moritz | masak: fwiw those de-karma numbers are slightly bogus | 13:51 | |
13:52
JimmyZ left
|
|||
moritz | masak: mysql's "like" search also counted lines with a whitespace between your nick and the '--' | 13:52 | |
masak | moritz: oh! | 13:53 | |
I didn't know that about mysql's "like" operator. wonder what the use case is for that? | 13:54 | ||
jnthn | masak -- he didn't get de-karma'd so much after all! | ||
flussence | (people who don't use unicode em-dashes)-- # :) | ||
moritz | masak: pseudo-but-not-quite fulltext search | ||
for example I searched for when pmichaud++ down-karamd me, and I found | 13:55 | ||
<pmichaud> great job this week, moritz -- see you Sunday! | |||
(that's from 2009-08-27) | |||
:-) | |||
masak .oO( passive-aggressive downvoting ) | 13:56 | ||
moritz | oh, and flussence++ for the nom spectest graph | ||
14:01
molaf left
14:09
drbean left
|
|||
masak | nom: role A { method foo { say "A" } }; role B { method foo { say "B" } }; role C does A does B {}; say "alive" | 14:09 | |
p6eval | nom: OUTPUT«alive» | ||
masak | nom: role A { method foo { say "A" } }; role B { method foo { say "B" } }; role C does A does B {}; class D does C {}; say "alive" | ||
p6eval | nom: OUTPUT«Method 'foo' must be resolved by class D because it exists in multiple roles (A, B)current instr.: '_block3066' pc 48729 (src/gen/perl6-metamodel.pir:15135) (src/gen/Metamodel.pm:1432)» | ||
masak | nom: role A { method foo { say "A" } }; role B { method foo { say "B" } }; role C does A does B { method foo { say "resolving collision" } }; class D does C {}; say "alive" | 14:10 | |
p6eval | nom: OUTPUT«alive» | ||
masak | and now in the master branch... :) | ||
rakudo: role A { method foo { say "A" } }; role B { method foo { say "B" } }; role C does A does B { method foo { say "resolving collision" } }; class D does C {}; say "alive" | |||
p6eval | rakudo 922500: OUTPUT«alive» | ||
masak | huh! | ||
rakudo: role A { method foo { say "A" } }; role B { method foo { say "B" } }; role C does A does B { method foo { say "resolving collision" } }; class D does C {}; D.new.foo | 14:11 | ||
jnthn | Not *everything* was broken in master :P | ||
p6eval | rakudo 922500: OUTPUT«resolving collision» | ||
masak | jnthn: I got the impression that the difference was between master and nom. | ||
perhaps I misunderstood. :) | |||
no matter. it's great. jnthn++ | |||
jnthn | masak: tbh, I couldn't remember what master did. :) | 14:12 | |
masak | hah! | ||
spent too much time in perfect nommy-nom land. :P | |||
nom really is already here, just unevenly distributed... | |||
jnthn hopes he can beat NQP module loading into submission soon so that nom can distribute itself into install directories. | 14:16 | ||
14:25
whiteknight left
14:26
fhelmberger left
|
|||
tadzik | yay | 14:26 | |
jnthn | Well, I didn't manage it yet. :P | 14:27 | |
tadzik | END { yay } | ||
14:28
fhelmberger joined
|
|||
masak | KEEP { yay } # masak shows his innate pessimism :) | 14:33 | |
people, what is your favorite phaser? | 14:39 | ||
tadzik | #phasers :) | ||
masak | mine is either LEAVE or POST, I think. | ||
tadzik | oh | ||
DOC INIT of course :) | 14:40 | ||
moritz | before I BEGIN, let me CHECK if my INITial KEEPers have arrived by POST | ||
masak | tadzik: :P | ||
moritz answers with a junction of some sort. | |||
jnthn | BEGIN, because it means I can screw with the compiler internals. :) | 14:41 | |
tadzik | nom: BEGIN { /\d/ } #hi hi | ||
p6eval | nom: OUTPUT«error:imcc:syntax error, unexpected DOT ('.') in file '(file unknown)' line 68149218error:imcc:syntax error ... somewhere in file '(file unknown)' line 68149254syntax error ... somewhere» | ||
jnthn | tadzik: you screwed it :P | ||
nom: BEGIN { /./ } #hi hi | |||
p6eval | nom: ( no output ) | ||
[Coke] drinks koohii. | 14:42 | ||
jnthn | hm | ||
It's char classes that bust it, huh. | |||
tadzik | not really | 14:43 | |
nom: BEGIN { <[0..9]> } | |||
p6eval | nom: ( no output ) | ||
moritz | nom: BEGIN { /\s/ } | ||
p6eval | nom: OUTPUT«error:imcc:syntax error, unexpected DOT ('.') in file '(file unknown)' line 450error:imcc:syntax error ... somewhere in file '(file unknown)' line 486syntax error ... somewhere» | ||
jnthn | achievement! I broke NQP make install too | 14:44 | |
masak | [Coke]: it took me a while to catch on to the fact that that's just "coffee" in Japanese. | 14:45 | |
tadzik | yay, now both nom and nqp work the same way | ||
now we just need to change the state of workingness :) | |||
masak | phenny: jp en "kohii"? | ||
phenny | masak: The jp to en translation failed, sorry! | ||
masak | phenny: jp en "koohii"? | ||
phenny | masak: The jp to en translation failed, sorry! | ||
moritz | phenny: "kohii"? | 14:46 | |
phenny | moritz: Language guessing failed, so try suggesting one! | ||
masak | phenny: jp en "コーヒー"? | ||
phenny | masak: The jp to en translation failed, sorry! | ||
moritz | phenny: one "kohii"? | ||
masak | :P | ||
14:59
JimmyZ joined
15:01
molaf joined
15:04
Chillance joined
|
|||
[Coke] | phenny: en jp "coffee" | 15:08 | |
moritz | [Coke]: need a trailing '?' | ||
[Coke] | phenny: en jp "coffee"? | ||
phenny | [Coke]: The en to jp translation failed, sorry! | ||
[Coke] | but, yes, those kana look right. | 15:09 | |
masak | rakudo: say [+] 1..10 | ||
p6eval | rakudo 922500: OUTPUT«55» | ||
masak .oO( that kana be right ) | 15:10 | ||
jnthn | :P | ||
jnthn drinks a kana ビール :P | 15:11 | ||
[Coke] | you'll rune the day you made that pun. | ||
masak | rakudo: say sum 1..10 | ||
p6eval | rakudo 922500: OUTPUT«Could not find sub &sum in main program body at line 22:/tmp/SbtEzz7O61» | ||
masak | maybe we should provide 'sum' and 'product' in the setting? :) | 15:12 | |
jnthn | [+] and [*] are provided :) | ||
[Coke] only knows one biiru. (sapporo) | |||
masak | jnthn: yes, I know. but it costs nothing to have the words there, too. | 15:13 | |
jnthn: Haskell has both foldr (+) and sum. | |||
jnthn | masak: It doesn't cost much, no. But what does it pay? :) | 15:19 | |
masak | that's a motivated question. | ||
jnthn: fac n = foldr (*) 1 [1..n] | 15:20 | ||
jnthn: fac n = product [1..n] | |||
jnthn: which one do you find easier to read? | |||
JimmyZ | I guess [*] 1..n ? | 15:21 | |
masak | JimmyZ: right, that would correspond to the foldr one. | 15:22 | |
JimmyZ: Perl 6 provides the 1 as a default for * | |||
jnthn | masak: I don't find them all that different. The first means that if I know what foldr does then it's immediately clear what's going to happen. With product I could probably guess correctly if I didn't know. | ||
masak | jnthn: right. | ||
jnthn: it's not a strong point but that's my point. | |||
jnthn | I suspect after a bit you memorize [*] as a word rather than as its pieces, though. :) | 15:24 | |
masak | right. but with [*], the reader always has to do the chunking/unchunking herself, even when it's rote. | 15:25 | |
with 'product', you've abstracted away the chunking. | |||
jnthn | aye, it's just where to end | 15:26 | |
masak | aye. | ||
jnthn | [==] could be all-numerically-equally | 15:27 | |
[<=] could be sorted | |||
etc | |||
:) | |||
masak | Perl 6 wishes to provide a "very big sweet spot". 'sum' and 'product' are very natural words from maths. | ||
jnthn | Yeah, they feel quite natural. | ||
There's not much room to guess wrong. | |||
masak | rakudo: say [1..10].sum | ||
p6eval | rakudo 922500: OUTPUT«Method 'sum' not found for invocant of class 'Array' in main program body at line 22:/tmp/CiqLyP3udv» | ||
masak | that could be useful, too. | 15:28 | |
as could .product | |||
jnthn | Well, yeah, if we're going to have a sub form we should have a method one too. | ||
masak | though my case for them is weaker, as they clutter the List class. | ||
things in the Setting don't really clutter. | |||
JimmyZ | rakudo: say [1..10].[*] | ||
p6eval | rakudo 922500: OUTPUT«12345678910» | ||
JimmyZ | rakudo: say [1..10].[+] | ||
p6eval | rakudo 922500: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22» | ||
masak | JimmyZ: that's a slice, good fellow :) | ||
rakudo: say [1..10].reduce(infix:<*>) | 15:29 | ||
p6eval | rakudo 922500: OUTPUT«No candidates found to invoke for method 'reduce' on object of type 'Array'; available candidates have signatures::(Mu : Code $expression;; *%_) in main program body at line 22:/tmp/aE7gZuaB9Q» | ||
jnthn | rakudo: say [1..10].&prefix:<[*]>() | ||
p6eval | rakudo 922500: OUTPUT«Could not find sub &prefix:<[*]> in main program body at line 22:/tmp/Sa3BVitzS_» | ||
masak | rakudo: say (1..10).reduce(infix:<*>) | ||
p6eval | rakudo 922500: OUTPUT«No candidates found to invoke for method 'reduce' on object of type 'Range'; available candidates have signatures::(Mu : Code $expression;; *%_) in main program body at line 22:/tmp/m9f2wHXW32» | ||
masak | grr | ||
rakudo: say (1..10).list.reduce(infix:<*>) | |||
p6eval | rakudo 922500: OUTPUT«No applicable candidates found to dispatch to for 'reduce'. Available candidates are::(Mu : Code $expression;; *%_) in main program body at line 22:/tmp/oxHd2suJq4» | ||
jnthn | rakudo: say (1..10).reduce(&infix:<*>) | ||
p6eval | rakudo 922500: OUTPUT«3628800» | ||
jnthn | You missed the nounizer :) | ||
masak | oh, 'course | ||
jnthn++ | 15:30 | ||
rakudo++ | |||
JimmyZ | well, I'd like to say since we have a sub [*], we shoulde a [*] method ;) | ||
jnthn | OK, I now have installation to the point where it starts up. | ||
:) | |||
JimmyZ | yes, we have, but different result | ||
jnthn | Only thing it doesn't do yet is locate its setting, but I didn't get to that bit yet. | ||
The bad news is...that nqp builds are broken if you installed nqp. :/ | 15:31 | ||
Darn bootstrap staging fun. | |||
jnthn is once again happy that Rakudo is not a bootstrapping compiler, and builds on a smaller bootstrapped one instead. | 15:32 | ||
[Coke] | ooh, more tests passing. | 15:33 | |
JimmyZ | but the goal is a bootstrapping compiler? | ||
masak | JimmyZ: method names have to be identifiers, and [*] isn't an identifier. | ||
JimmyZ | well, that's joke | 15:34 | |
jnthn | JimmyZ: No, Rakudo being a bootstrapping compiler is not a goal. | ||
Or at least, it's not a goal for me. | |||
15:34
SHODAN joined
|
|||
JimmyZ | that's the Perl6 project goal , iirc | 15:34 | |
jnthn | No. | 15:35 | |
JimmyZ | maybe I missunderstand | ||
jnthn | Perl 6 project goal is to create an awesome language. ;-) | ||
[Coke] | someone is working on a perl6 in perl6, but that's their goal. (ETOOMANYPERLS) | ||
jnthn | Right. :) | ||
Of course I'm fine with people working on it. I just don't think it's the direction Rakudo should go in. NQP being bootstrapped, otoh, is a good thing. | 15:36 | ||
masak | [Coke]: I'm working on a Perl 6 in Perl 6. | ||
[Coke]: for some value of "working"... :/ | |||
TimToady | it's not awesome unless it's *possible* to write a bootstrapping compiler | ||
that doesn't mean it has to be done that way | 15:37 | ||
jnthn | TimToady: I wasn't commenting on whether it's possible, just on whether I'd consider it desirable. :) | ||
Yes, it absolutely should be possible. :) | |||
And niecza++ seems to be demonstrating that it is. :) | |||
TimToady | where "possible" is defined as "easy" :) | 15:38 | |
not just Turing-possible | |||
JimmyZ read some articles that said Perl 6 want to compile itself so Perl 6 can adapt to the theory of evolution :) | |||
TimToady | that's primarily talking about the parser | 15:39 | |
masak | JimmyZ: yes, that's basically it. you can extend Perl 5, but not in all ways we'd like. Perl 6 is the "second try", in a sense, making things more extensible. | 15:41 | |
15:43
bluescreen10 left
|
|||
dalek | ast: 7672eb3 | Coke++ | S06-signature/unpack-array.t: fudge for nom |
15:45 | |
JimmyZ | well, I am not that ambitious, I just hope some java project like solr/Lucene/mahout will be rewritten in Perl6, and in the future most people will use Perl 6 instead of PHP :) | ||
JimmyZ washes | |||
masak | just saying the word "PHP" made you need to go wash? :P | 15:46 | |
[Coke] | Does anyone require tools/test_summary to show work in progress, or would a dump at the end work? | ||
dalek | kudo/nom: b3a247b | Coke++ | t/spectest.data: passed some tests, update failure modes |
15:47 | |
JimmyZ | well, it's 23:50 here :) | ||
[Coke] | (it would be nice if that test file ran tests in ||) | ||
flussence | [Coke]: I'm only using it for the last few lines of output, don't care what it does in the middle | 15:48 | |
[Coke] | hurm. it does a LOT, though. ah well. | ||
flussence: ah, so something like that that just gave you the summary would work? | |||
that would be easier than redoing all of test_summary.pl | |||
flussence | more specifically, I'm using it for the $ENV{REV} thing | 15:49 | |
[Coke] | can you gist the part of the output you care about? | ||
masak | [Coke]: I looked at '||' and was confused. '|' is more parallel than '||' nowadays :) | ||
[Coke] is old school. | 15:50 | ||
[Coke] thinks, geometrically, that you need at least 2 | to show parallel. | 15:51 | ||
flussence | it'll take a while to get that output, but it's just the thing starting at line 250 which outputs a line for docs/spectest-progress.csv | ||
15:52
PacoLinux left
|
|||
[Coke] | oh, I don't think I'm running that by default. never saw it. :) | 15:53 | |
15:54
PacoLinux joined
15:56
Mowah joined
15:57
woosley joined
15:59
dual left
16:00
donri joined
|
|||
JimmyZ is back | 16:05 | ||
16:05
dual joined
16:07
whiteknight joined
|
|||
[Coke] just ran a spec test (not with test_summary): | 16:07 | ||
Files=369, Tests=10387, 908 wallclock secs ( 5.74 usr 2.69 sys + 1315.37 cusr 117.04 csys = 1440.84 CPU) | |||
JimmyZ | :D | 16:08 | |
kboga | does this look sane? gist.github.com/1129444 | ||
masak | kboga: yes. | 16:09 | |
kboga | so that +$0 et al work | ||
masak | that's how I think of Match numification, at least. | ||
16:10
PacoLinux left
16:11
im2ee joined,
MayDaniel joined
|
|||
flussence | huh, "Bad file descriptor at tools/test_summary.pl line 401." | 16:13 | |
JimmyZ thinks $!to >= $!from; in the Bool method should be $!to > $!from; | |||
dalek | p: 1f94461 | jonathan++ | src/ModuleLoader.pm: Start to re-work module loading a bit in preparation for changing install approach. |
16:17 | |
p: 7392f50 | jonathan++ | tools/build/Makefile.in: Sketch out how make install should probably look once he changes all work. |
|||
p: c82c723 | jonathan++ | tools/build/Makefile.in: Need NQP_LANG_DIR defined, of course. |
|||
masak | JimmyZ: nope. | ||
dalek | p: 2ae55b1 | jonathan++ | tools/build/Makefile.in: PAST library still needs to go in Parrot library directory. |
||
p: 314b2df | jonathan++ | src/ModuleLoader.pm: Remove debugging output. |
|||
p: 2bd6964 | jonathan++ | src/ModuleLoader.pm: Unbust build after make install has been run. Essentially, the updated module loader dropped any --library far too eagerly - we use it for the bootstrapping rounds, so it needs careful attention. |
|||
p: 06b6cfc | jonathan++ | src/stage0/ (7 files): Update bootstrap with updated module laoder; all seems well. |
|||
masak | JimmyZ: think of /^$/ | ||
JimmyZ | masak, then Match.Str.Numeric.Bool will not equal Match.Boll | 16:18 | |
masak, then Match.Str.Bool will not equal Match.Boll | 16:19 | ||
s/Boll/Bool/ | |||
masak | correct. | ||
jnthn | I don't think I'd expect them to | ||
masak | also, Match.elems.Num will not equal Match.Num | ||
it's all fine. | |||
jnthn | Match.Bool is really "did the match successful" | ||
dalek | kudo/nom: 9bec8df | jonathan++ | tools/build/Makefile.in: Start getting the install target more in shape - certainly not finished yet, and relies on NQP updates. |
16:20 | |
kudo/nom: b4c471b | jonathan++ | tools/build/NQP_REVISION: Get NQP installation and module loading improvements. With this, we now have a 'make install' that installs a Rakudo that will start up, though the setting and module installation is still to do. Nuking your install directory is recommended. |
|||
masak | jnthn: in English, it's "WAS the match successful" :P | ||
or "did the match SUCCEED" | |||
jnthn | oh my :) | ||
masak is such a tease | |||
jnthn | Told you your English is better than mine :P | ||
masak | stick to lolspeak! :P | ||
jnthn | Match.Bool is like "CAN HAZ MATCHED!" | 16:21 | |
masak nods approvingly | |||
JimmyZ don't like sometimes they are equal, sometime they are not | 16:22 | ||
masak | JimmyZ: I don't have a problem with it. | ||
JimmyZ: that's what having several different aspects of a complex enough object will give you. | |||
and Match objects are nothing if not complex. | |||
they're Bools, they're Strs, they're Nums, they're Lists, they're Hashes... | |||
or at least they have aspects of all of these. | 16:23 | ||
flussence | you can't expect type conversion to perfectly preserve all semantics, that's why we have types at all | ||
JimmyZ | well, maybe I just need time to like it :) | ||
masak | one could say that it's because they don't exactly *are* all these objects that there can be differences when you convert. | ||
that sentence feels odd, but I believe it's correct. | |||
jnthn | masak: I...wtf. :) | 16:24 | |
masak | ...maybe not :) | ||
jnthn | don't exactly are? :) | ||
aren't exactly :) | |||
masak | oh! | ||
right. | |||
that doesn't put the emphasis on the copula, though. | 16:25 | ||
jnthn | No, true | ||
masak | I guess my sentence can't be expressed in contemporary English. | ||
this happens to me a lot :P | |||
jnthn | Wherefore? | ||
:) | |||
JimmyZ | well, you guys read my poor english too much, so you are following my poor english out of your control | 16:27 | |
masak | JimmyZ: I admire your grasp at English. I know how much work it is for a 中国人 to learn to write that well. | 16:28 | |
JimmyZ | well, the max english level is eight, I am only in the three level :( | 16:29 | |
most times I use dictionary | |||
masak | heh, who doesn't these days? :) | 16:30 | |
I need a dictionary for English too, it's so tricky. | |||
JimmyZ | well, actually, I can't speak in english and listen in english | 16:31 | |
masak | at the same time, you mean? | ||
or you mean as opposed to reading/writing? | |||
16:32
birdwindupbird joined
|
|||
JimmyZ | as opposed to reading/writing :) | 16:32 | |
16:32
SHODAN left
|
|||
masak | well, my spoken Mandarin really sucks. but give me a few days and even I can write an email in it. :) | 16:32 | |
JimmyZ didn't use any chinese-to-chinese dictionay ;) | 16:35 | ||
for many years | |||
pmichaud | re-good morning, #perl6 | 16:36 | |
16:37
wolfman2000 joined
|
|||
jnthn | re-o/, pmichaud | 16:37 | |
woosley | good morning #perl6 #english&chinese:) | ||
masak | good re-morning, pmichaud | 16:38 | |
JimmyZ sleeps | |||
night 'all | |||
jnthn | o/ JimmyZ | ||
16:38
JimmyZ left
|
|||
kboga | there: github.com/rakudo/rakudo/pull/34 | 16:42 | |
masak | kboga: merged. | 16:43 | |
kboga | thx masak :) | ||
pmichaud | I think that method needs a "multi" | ||
masak | thank *you*. | ||
pmichaud: oh, good point. | |||
I can add it. | |||
kboga | well | 16:44 | |
it didn't compile with a multi | |||
dalek | kudo/nom: 66e0e4e | kboga++ | src/core/Match.pm: add Numeric method for Match objects |
||
kudo/nom: 6d7af58 | (Carl Mäsak)++ | src/core/Match.pm: Merge pull request #34 from kboga/match-numeric Match numeric |
|||
kboga | Capture's Numeric doesn't have one either | ||
pmichaud | then there's a bug somewhere. | ||
masak | kboga: it didn't *compile* with a multi? | ||
kboga | uhu | ||
masak | kboga: did you write 'multi method'? | ||
kboga | yes | ||
masak is surprised and confused at this | 16:45 | ||
jnthn | There's something up with proto auto-gen. | ||
masak | ah. | ||
pmichaud | there shouldn't be an autogen'd proto. | ||
jnthn | If there's an only somewhere in the hierarchy it gets upset. | ||
pmichaud | oh, then the problem is that Capture is missing its multi also. | ||
kboga | "Could not find a proto for multi 'Numeric' in package 'Match' (it may exist, but an only is hiding it if so)" | ||
16:45
SHODAN joined
|
|||
jnthn | Yeah, that's the one | 16:45 | |
pmichaud | oh, then the problem is that Capture is missing its multi also. | ||
kboga | yes | ||
pmichaud | also, in general I prefer for methods of the same 'category' (like Bool/Numeric/Str) be alphabetized within that grouping | 16:46 | |
kboga | grep 'method Numeric' -r * | ||
looks like there are other non multi Numeric's | 16:47 | ||
intentionally? | 16:48 | ||
pmichaud | I only see the one for Capture and Numeric | ||
do you see more? | |||
kboga | Ennumeration also | 16:49 | |
and Numeric? | 16:50 | ||
pmichaud | I tried putting a multi there but ran into problems because Enumeration is a role. | ||
(or something). So Enumeration is "intentional", at least for now. | |||
kboga | ah | ||
ic | |||
pmichaud | Numeric.Numeric should probably be multi. | ||
(and yes, I didn't see Enumeration in my list... thanks for catching that.) | 16:51 | ||
kboga | np, I was wondering if this was intentional, so thanks for the clarification =) | ||
16:58
mj41 left
|
|||
kboga | Should all "Enumeration:D:" be "::?CLASS:D:" in the Enumeration role? And if not, why not? | 17:14 | |
pmichaud | the CLASS version seems like it would be lots better. | 17:15 | |
jnthn | Should be the lcass version | 17:17 | |
Or it'll multi-sort weirdly. | |||
kboga | ok, thx, spectesting now | 17:18 | |
dalek | ast: bb1b10f | kboga++ | S03-operators/range.t: (un)fudge range.t |
17:20 | |
kudo/nom: 033e420 | pmichaud++ | src/core/metaops.pm: Initial version of hyper metaop. Mostly works -- doesn't support hyperop on hashes yet. |
17:23 | ||
jnthn | \o/ | 17:24 | |
Down to (I think) one last issue before I have working installable nom. | |||
dalek | ast: 90755e2 | pmichaud++ | S02-names_and_variables/list_array_perl.t: Unfudge test relying on hyperops. |
17:28 | |
ast: 8ee25b9 | pmichaud++ | S03-operators/range.t: Merge branch 'master' of github.com:perl6/roast |
|||
pmichaud | do we really want to just be fudging tests (e.g., range.t) that used to work in master? | 17:29 | |
seems to me that we'd rather get nom to pass those tests than to fudge them out entirely | 17:31 | ||
jnthn | Yeah, these days as we work towards master we want to be doing that less, imo. | 17:32 | |
kboga | oh, feel free to revert that commit | ||
pmichaud | as long as the fudge message contains "nom" I might be okay with it. | ||
jnthn wonders if we'll somehow be able to get a diff of "tests nom fudges that ng runs and does not" | |||
pmichaud | then we could quickly ack for "nom" | ||
jnthn: that diff is likely going to be difficult to get. | 17:33 | ||
kboga | if it was not the right thing to do | ||
jnthn | pmichaud: OK | ||
pmichaud | niecza: say RangeIter | 17:34 | |
p6eval | niecza v8-38-g7e257a0: OUTPUT«RangeIter()» | ||
jnthn | Then we shouldn't rely on doing so :) | ||
pmichaud | hmmm | ||
jnthn | std: RangeIter | ||
p6eval | std 516268a: OUTPUT«ok 00:01 117m» | ||
pmichaud | nom: say RangeIter | ||
p6eval | nom: OUTPUT«Could not find sub &RangeItercurrent instr.: '_block1002' pc 74 ((file unknown):108) (/tmp/ytLX8YEXof:1)» | ||
pmichaud | nom doesn't have (or need) a RangeIter class. | ||
jnthn | There's only one mention in S02: | 17:35 | |
RangeIter Iterator over a Range | |||
pmichaud | right, and a couple of mentions in S03 | ||
ok '1 3' ~~ /(\d) . (\d)/, 'regex sanity'; | 17:37 | ||
is ($0..$1).join('|'), '1|2|3', 'range from $0..$1'; | |||
I think this last test is bogus. Anyone want to disagree? | |||
jnthn | That'd be a string range, no? | ||
If anything at all. | |||
pmichaud | I'm thinking it's a range of Match objects. | ||
and Match doesn't define a .succ | 17:38 | ||
jnthn | *nod* | ||
ah | |||
Yeah | |||
We could have an .. that's Any $a as Numeric, Any $b as Numeric I guess. | |||
But maybe better to make people be clear about what they want. | |||
pmichaud | the spec is pretty clear about it already | 17:39 | |
sorear | good * #perl6 | ||
pmichaud | there's not a default conversion to Numeric -- it all depends on .succ | ||
jnthn | aha | ||
OK, then the test is bogus. | |||
o/ sorear | |||
pmichaud | o/ sorear | ||
sorear | niecza has RangeIter because I copied the Range implementation from master | ||
pmichaud | I started nom with a RangeIter, then realized that it made a lot more sense as Range. | 17:40 | |
sorear | masak: the language code for Japanese is "ja" | ||
masak | d'oh | ||
thanks. | |||
phenny: ja en "koohii"? | |||
phenny | masak: "koohii" (ja to en, translate.google.com) | ||
masak | phenny: ja en "コーヒー"? | 17:41 | |
phenny | masak: "Coffee" (ja to en, translate.google.com) | ||
masak | \o/ | ||
pmichaud | \o/ masak++ sorear++ | ||
17:41
benabik left
|
|||
pmichaud | nom: my @one = 1; say ~(@one..3); | 17:43 | |
p6eval | nom: OUTPUT«Method 'succ' not found for invocant of class 'Array'current instr.: 'postfix:<++>' pc 634027 (src/gen/CORE.setting.pir:149648) (src/gen/CORE.setting:847)» | ||
pmichaud | also looks correct to me, per the spec. | ||
masak | I'm guessing @one should numify through .elems in that case. | 17:44 | |
pmichaud | the spec only talks about numifying if the lhs is numeric. | ||
actually, I suppose it should die with a multidispatch error (mismatched types) | 17:45 | ||
oh, wait, I missed a section. | 17:46 | ||
"Smart matching against a Range object does comparisons (by coercion, if necessary) in the Real domain if either endpoint does Real. | |||
17:46
benabik joined
|
|||
masak | \o/ | 17:47 | |
pmichaud | although there it's only talking about smartmatching, not about iterating. | 17:48 | |
so, reading the spec strictly, @a .. 4 would smartmatch as if it's @a.Real .. 4, but would fail to iterate. | 17:49 | ||
17:50
woosley left,
woosley joined
|
|||
pmichaud | TimToady: my $range = @a .. 4; say $range.min.WHAT; # what gets output here? | 17:51 | |
masak | my vote is on Int. | ||
pmichaud | masak: in other words, the Range coerces when it's created? | 17:52 | |
(and we also coerce based on "either endpoint does Real"?) | |||
I'm fine with that... just stating the outcome of your vote :) | 17:53 | ||
tadzik | masak: any ideas on the .WHEREFORE and misordering? | ||
pmichaud | tadzik: .WHAT is this ".WHEREFORE misordering" of .WHICH you continually speak? | 17:54 | |
pmichaud hasn't been following the .WHEREFORE issue closely. | |||
tadzik | pmichaud: take a look at github.com/rakudo/rakudo/commit/71df76fa1f346 | ||
and gist.github.com/1128691 | 17:55 | ||
17:55
Alias left
|
|||
jnthn | tadzik: It's just that you apply the doc trait in package_def, whihc runs after all ofthe things inside of the package. | 17:56 | |
tadzik: But you have $*PACKAGE and the doc string to hand way earlier than that :) | 17:57 | ||
tadzik | yes | ||
jnthn | So you just need to trigger something to attach the docs earlier. | ||
tadzik | yes, but I don't have a constructed object to put into WHEREFORE | ||
jnthn | Oh? | ||
I thought that'd just have the package? | |||
tadzik | hmm | ||
jnthn | e.g. .WHEREFORE is jsut the module in this case? | ||
tadzik | mebbe | ||
jnthn | What have you got it as now? | 17:58 | |
tadzik | yes, it's what you say, of course | ||
jnthn | OK | ||
So that's what is in $*PACKAGE :) | |||
See package_def in the grammar for when you have it. :) | |||
17:59
soupified2011 joined
|
|||
tadzik | hmm | 18:00 | |
pmichaud | ouch, there's a lot of code in package_def | ||
tadzik | subs can have a sub-subs, right? | ||
jnthn | tadzik: yes, that'll be a bigger problem. | ||
pmichaud | I would think that documentation would tend to get applied right around the same time the traits are applied. | ||
18:00
PacoLinux joined
|
|||
jnthn | pmichaud: Yeah, but debatably we apply them too late at the moment. | 18:00 | |
(In some cases.) | |||
tadzik | that's what makes me wonder if your fix is worthwhile, if we'll have to fix it again anyway | 18:01 | |
pmichaud | as long as the documentation is applied before any blockoid, we should be pretty safe. | ||
jnthn | Well, putting it in the package_def action method is always going to be too late. | ||
tadzik | pmichaud: due to how parser and action methods work, docs for methods get there before docs for the class | ||
pmichaud | tadzik: it's the same issue there as well. | ||
you want the docs for the class to take place before its blockoid. | |||
and not in its action method. | 18:02 | ||
tadzik | the only thing that comes to my mind is sorting declarator blocks by their $/.from | ||
pmichaud | tadzik: you're not following what jnthn++ and I are saying, then. :) | ||
tadzik | hmm | 18:03 | |
tadzik rereads | |||
jnthn | A <.attach_docs> in package_def an appropraite point could be all that's needed | ||
pmichaud | correct. | ||
tadzik | okay, I see the point. But is it always possible? | ||
dalek | ecza: 1ce800e | sorear++ | / (2 files): Properly handle exceptions generated from LEAVE, including those that re-enter the associated block. |
||
jnthn | Not in routine_def and method_def yet. | ||
Because we don't create the code object until the action method. | |||
I'm pondering changing that though. | 18:04 | ||
pmichaud | I wonder if it could/should be attached to <.newpad> somehow. | ||
sorear | note that in niecza currently, foo: say "hi"; die pi; LEAVE { goto foo } prints hi twice | ||
pmichaud | that always seems to be a fairly appropriate point. | ||
jnthn | pads are all about PAST::Block though | ||
sorear | because a given LEAVE block is never invoked more than once for a given frame | ||
jnthn | We don't have an object yet. | ||
sorear wonders if this is sane | |||
pmichaud | yes, but when we create the object, we could look at its PAD | ||
jnthn | True. | 18:05 | |
There may not always be a pad though. | |||
#= thingy | |||
has $!thing; | |||
pmichaud | actually, I suspect that the $*POD_BLOCKS.push should be separated from its attachment | ||
i.e., we always push a $*POD_BLOCK when it's created (in its action method), but attach it later. | 18:06 | ||
a dynvar could be used to keep track of the current pod block to be attached. | |||
tadzik | possibly | ||
jnthn | oh, so things declare a :my $*POD_BLOCK; if they themselves may get one? | ||
pmichaud | yeah, something like that. | ||
jnthn | And then take care of doing stuff to the "outer" one in the right order? | ||
pmichaud | the problem isn't in the attaching, it's in the order of the push. and the order of push should always be the order of declaration, iiuc. | 18:07 | |
jnthn | It either should just be that, or needs to have the equivalent result. And of course, finding a way to Just Do It is generally better. | ||
pmichaud | yeah, sorting on $/.from is too much like "fix it up later" | 18:08 | |
tadzik | abit | ||
18:08
im2ee left
18:09
im2ee joined
|
|||
pmichaud | what creates/sets $*DOC, ooc? | 18:10 | |
dalek | ecs: f0be5f1 | larry++ | S03-operators.pod: prohibit only Range as endpoint of a Range Used to prohibit Iterable, with the sad result that we couldn't't use an array for its size. |
||
tadzik | pmichaud: package_def for example | 18:11 | |
pmichaud | it's just a string? | 18:12 | |
tadzik | yes | ||
(so far) | |||
let me check if formatting codes may appear there | |||
18:13
bbkr1 joined
|
|||
tadzik | declarator Pod blocks are syntactically like ordinary Perl 6 | 18:13 | |
pmichaud | what is $*POD_BLOCKS an array of? | ||
tadzik | single-line comments and embedded comments | ||
that's a no I think | |||
pmichaud: Pod::Blocks serialized | |||
pmichaud | can the Pod::Block be created by the action method for comment:sym<#=> ? | 18:14 | |
jnthn | tadzik: I presume the actual objects, not the serialization code? | ||
pmichaud | instead of doing it in the document() sub? | ||
tadzik | pmichaud: possibly, but then the Pod::Block::Declarator needs a method to fill in the .WHEREFORE later | 18:15 | |
pmichaud | if so, then that action method can also push it into $*POD_BLOCKS | ||
tadzik | yes | ||
pmichaud | and they'll be pretty much guaranteed to appear in $*POD_BLOCKS in the order parsed | ||
tadzik | jnthn: <compile_time_value> | 18:16 | |
bbkr1 | is anyone working on BSON converter? if not I will try it (it will make MongoDB library implementation possible) | ||
tadzik | yes | ||
sorear | let's bikeshed. What should be the type and API of $_ in a CONTROL block? | ||
pmichaud | anyway, that's the approach I'd aim for. | ||
it would also mean that unattached #='s still end up in $*POD_BLOCKS | 18:17 | ||
(if such a thing is possible) | |||
jnthn | tadzik: That later attachment shouldn't be a problem. | ||
So pmichaud++'s idea seems a good one. | |||
pmichaud | is .WHEREFORE the reverse mapping of .WHY? | ||
tadzik | yes | 18:18 | |
pmichaud | ah. | ||
jnthn | ffs, Parrot's NameSpace PMC is a real POS. | ||
tadzik | pmichaud: my idea to rename that to .BECAUSE didn't find any understanding, suprisingly :) | ||
pmichaud | tadzik: .WHYNOT? ;-) | 18:19 | |
tadzik | probably because it didn't start with .W :) | ||
sorear | .say for rx/Delete a file/.WHEREFORE; | ||
tadzik | Any() | 18:20 | |
pmichaud | I think it should be called .JEOPARDY :) | ||
(possibly obscure?) | |||
although easiest would simply to say that a Pod::Block .documents something | 18:21 | ||
i.e., given a Pod::Block in $_, .documents returns whatever it's documenting | |||
tadzik | so, to summarize: the document() sub finds the $*IMSOLONELY Pod::Block and sets its .WHEREFORE? | ||
jnthn | tadzik: Sounds sane. | 18:22 | |
pmichaud | and also applies it to the declaration | ||
18:22
woosley left
|
|||
pmichaud | (the thing being declared) | 18:22 | |
jnthn | Aye | ||
tadzik | does the dynamic-variableness guarantee us that it'd be the right one? | ||
yes, of course | |||
pmichaud | it should be at least as guaranteed as what you have now :) | ||
I'm simply saying to keep track of the Pod::Block instead of its content string :) | |||
jnthn | tadzik: Tip: set the .WHEREFORE in the trait_mod handler that applies the doc. | 18:23 | |
pmichaud | ooooh, even better! | ||
tadzik | yes, that's what I want | ||
pmichaud | jnthn++ | ||
jnthn | tadzik: That is, it already makes the association in one direction, so just make it wire the other one too :) | ||
tadzik | oh, but wait | ||
nono | |||
.WHEREFORE is the Pod::Block::Declarator object | |||
the class' .WHY is not a Pod::Block::Declarator, it's a string | 18:24 | ||
jnthn | oh | ||
Why? :) | |||
pmichaud | classes have a block | ||
tadzik | my $chainsaw; #= This text stored in C<$chainsaw.WHY> | 18:25 | |
jnthn | I'd kinda expect that for a docuemtned thing, $thing.WHY.WHEREFORE =:= $thing or so | ||
well, maybe === | |||
pmichaud | yeah, same here. | ||
tadzik | we can change that | ||
then Pod::Block::Declarator can have an .Str or even be Cool | |||
pmichaud | I think I've pushed this a little better direction, hopefully. tadzik++ jnthn++ | 18:26 | |
now to reward myself with lunch | |||
tadzik | pmichaud++ # evenly distributed karma | ||
pmichaud | TimToady: (S03 Range change) ... should we also update the text to say that if any endpoint is Real, the Range is Real? | 18:27 | |
(the Range is a range of Reals?) | |||
currently it's tied to the left endpoint. | 18:28 | ||
TimToady | yes, in fact this policy is already stated under smartmatching, so it'd be consistent | ||
pmichaud | right | ||
just confirming that we're consistifying there :) | |||
okay, lunch, then hacking | 18:29 | ||
bbiaw | |||
18:31
noganex_ joined
|
|||
sorear | TimToady: what would you like to see in $_ in a CONTROL block? | 18:32 | |
18:33
HarryS left
18:34
HarryS joined
18:35
noganex left
18:36
mj41 joined
|
|||
dalek | ecza: 83bb53b | sorear++ | src/niecza: Fix CATCH/CONTROL action methods; they are actually statement_control, not _prefix, oops. |
18:36 | |
18:43
PacoLinux left
|
|||
dalek | ecza: 3421bd8 | sorear++ | src/niecza: Fix duplicate CATCH detection |
18:45 | |
diakopter | sorear: btw, niecza built without a hitch on Windows under cygwin; I did have to do simple things like make sure git and mono were in $PATH | 19:05 | |
mberends | diakopter++ | 19:15 | |
sorear | yay | 19:16 | |
diakopter | sorear: mono run/Niecza.exe -e 'say "Makefile".IO ~~ :z' # returns Bool::False... shouldn't it complain z method not found | 19:19 | |
sorear: actually IO ~~ :e seems to always return false | 19:24 | ||
say "Makefile".IO.e # works though | 19:26 | ||
19:28
noam joined
|
|||
diakopter | ah well, I won't explicitly target the spec tests which all use the ~~ form; I'll test with the . form | 19:29 | |
niecza: say "Makefile".IO.e | 19:31 | ||
p6eval | niecza v8-41-g3421bd8: OUTPUT«Unhandled exception: CORE IO.e may not be used in safe mode at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE IO.e @ 0)  at /tmp/XU9eY3XiXM line 1 (MAIN mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 1983 (CORE C930_ANON @ 2)  at /ho… | ||
diakopter | oh; heh | ||
sorear | diakopter: I guess ~~ :e is being treated as ~~ Pair | 19:36 | |
diakopter was stuck at DFW airport for 8 hours yesterday; had to be deplaned from two different planes because of mechanical problems. all for a 40 minute flight. | 19:38 | ||
sorear: how to fix the ~~ :e thing | |||
sorear | check if Pair defines ACCEPT | 19:42 | |
if not, add it | |||
19:42
envi left
|
|||
sorear | look at what Rakudo does to see what it should do | 19:42 | |
probably something like method ACCEPTS(\$what) { defined(self) ?? ($what."$.key"() ~~ $.value) !! nextsame } | 19:43 | ||
except that's not quite right, since it would make :e always true | |||
19:43
kaare_ left
|
|||
kboga | github.com/rakudo/rakudo/pull/35 | 19:52 | |
19:53
dorlamm joined
19:56
betterworld joined
|
|||
dalek | kudo/nom: f1de2a8 | jonathan++ | src/Perl6/ModuleLoader.pm: Start to flesh out module loading a bit; make it pay attention to @*INC at least, and even failing that (due to no setting loaded yet) at least check installed locations. |
20:00 | |
kudo/nom: e37f879 | jonathan++ | tools/build/Makefile.in: Install CORE.setting.pbc, so we now at least find this when running from an installed version. Not quite there yet - we struggle with loading the module loader. |
|||
kudo/nom: 1119188 | jonathan++ | src/Perl6/SymbolTable.pm: Make sure we can locate the Perl 6 module loader from the installation. |
|||
kudo/nom: e48d487 | jonathan++ | src/Perl6/ModuleLoader.pm: Quick cheat for loading NQP::Metamodel in the setting; will un-cheat it in forthcoming modules work. |
|||
kudo/nom: d70d16a | jonathan++ | NOMMAP.markdown: nom is now installable; update nommap. Again, nuking your current install directory is recommended if you didn't already do so with the NQP upgrade. |
|||
20:09
dorlamm left
|
|||
masak | pmichaud: yes, I'd vote for the array coercing going in rather than going out. | 20:10 | |
20:13
soupified2011 left
|
|||
TimToady | sorear: I'd think a control exception shouldn't be much heavier than a small integer; they don't have to be easily extensible by the user, and they want to be fast. So that's what I'd expect in $_. | 20:18 | |
just enough to run a switch | |||
(assuming the control exception doesn't have to carry the return value) | 20:19 | ||
nap & | 20:20 | ||
20:20
im2ee left
|
|||
[Coke] | nom from earlier this morning: "total", 9385, 0, 392, 1090, 10867, 36394 | 20:20 | |
20:21
im2ee joined
|
|||
[Coke] | (nom fudging) I have been using the string "nom regression" on those. | 20:21 | |
(to make them easier to find and fix later. in the meantime, better to /run/ the tests than to skip them entirely.) | 20:22 | ||
20:22
wolfman2000 left
|
|||
bbkr1 | how 2 Buf objects can be joined? | 20:23 | |
moritz suspects there could or should be an infix:<~> for that | |||
jnthn++ # making rakudo installable | 20:24 | ||
20:24
mj41 left
|
|||
jnthn | moritz: plz test :) | 20:24 | |
moritz | jnthn: a say "foo" worked from outside the build dir | 20:25 | |
jnthn | nom: say "I survived what jnthn did so far!" | ||
p6eval | nom: OUTPUT«I survived what jnthn did so far!» | ||
bbkr1 | rakudo: my $x = Buf.new([:16<02>]) ~ Buf.new([:16<00>]); $x.WHAT.say # does not work. | ||
p6eval | rakudo 922500: OUTPUT«Str()» | ||
jnthn | moritz: yay :) | ||
moritz | bbkr1: that's worth a bug report | ||
bbkr1 | can I append some values then to already created buf? I will report the bug of course but lack of workaround will stop my BSON project. | 20:27 | |
tadzik | wow, what did I miss! | 20:28 | |
tadzik starts porting modules and panda | |||
masak | \o/ | ||
jnthn | tadzik: er | ||
Installable | |||
Didn't do the non-pre-compiled case yet :) | |||
sorear | bbkr1: Buf in Rakudo is a thin wrapper around my Int @x | 20:29 | |
jnthn | tadzik: Feel free to start porting modules. I'd hold off a little on Panda (more) | ||
tadzik | that's a good excuse to do the proper order of compiling stuff in panda ;) | ||
masak | diakopter: I just got my Sudoku solver to do a bit of solving: gist.github.com/1129521 | ||
(not committed yet. coming right up.) | |||
jnthn | tadzik: I'm still working out exactly how it will look, but I'm thinking the installer will just install the .pm files | ||
tadzik: And we'll leave Rakudo itself to take care of the PIR cache. | 20:30 | ||
20:30
molaf left
|
|||
diakopter | masak: cool! | 20:30 | |
[Coke] | jnthn++ | ||
pmichaud++ | |||
jnthn | tadzik: Otherwise people end up with pre-compiled files all over that are out of date with their current Rakudo install. | 20:31 | |
tadzik | jnthn++ # this jonathan guy stealing all the karma | 20:33 | |
20:33
awwaiid joined
|
|||
moritz | $ ls blib/lib/XML/Writer.pir | 20:33 | |
blib/lib/XML/Writer.pir | |||
$ PERL6LIB=blib/lib perl6 -e 'use XML::Writer' | |||
"load_bytecode" couldn't find file 'XML/Writer.pbc' | |||
shouldn't that work? | |||
jnthn | moritz: In nom? | 20:34 | |
moritz | jnthn: yes | 20:35 | |
jnthn | moritz: May do if you turn it into a PBC | ||
moritz | the PERL6LIB is correctly added to @*INC | ||
jnthn | moritz: It goes through @*INC looking for .pbc | ||
moritz: In theory at least. | |||
moritz: I'm still heavily working on the whole module loading thing. | 20:36 | ||
moritz: It's quite feasible we don't detect .pir stuff now | |||
moritz | doesn't work with .pbc either | ||
ah well, will try tomorrow | 20:37 | ||
20:37
kboga left
|
|||
jnthn | ok | 20:37 | |
jnthn takes a little break...bbs | 20:38 | ||
sorear | phenny: tell TimToady an unreified control exception in niecza contains an int, an optional Frame (for lexotic throws), and an optional string (label). Pass a tuple to CONTROL? | ||
phenny | sorear: I'll pass that on when TimToady is around. | ||
20:38
birdwindupbird left
20:40
mj41 joined
|
|||
moritz | jnthn: strace shows that nom never looks into directories that I add to @*INC or PERL6LIB | 20:41 | |
moritz -> sleep | 20:53 | ||
20:53
moritz left
|
|||
masak | 'night, moritz. | 20:55 | |
dream of visits to the @*INC and PERL6LIB directories. | |||
20:58
soh_cah_toa joined
21:01
SHODAN left
|
|||
bbkr1 | what is the most proper way in P6 to express "defined $foo" from P5? | 21:01 | |
masak | rakudo: my $foo; say defined $foo | 21:02 | |
p6eval | rakudo 922500: OUTPUT«Bool::False» | ||
masak | dunno about 'most proper', but it gets you a Bool :) | ||
bbkr1: by the way, welcome back. :) | |||
21:03
huf left
|
|||
bbkr1 | indeed, defined works like in old school ... | 21:03 | |
masak | we kept the parts that work well. | 21:04 | |
bbkr1 | i'm also glad to get back to P6 | ||
masak | P6 holds you in a soft embrace. | 21:05 | |
21:05
Mowah left
21:07
huf joined
21:09
noganex joined
21:10
Sarten-X left
21:11
dorlamm joined
21:13
noganex_ left
|
|||
bbkr1 | oh, defined also works properly as a topic variable attribute now. given $x { when .defined { say "OK" } } works \o/ | 21:15 | |
tadzik | jnthn: shouldn't we maybe install Test.pir in addition to Test.pm? | ||
jnthn | no | ||
tadzik | mhm | ||
I just patched the Makefile to install Pod/To/Text.pm too, but shame it won't work :) | |||
jnthn | tadzik: Yeah, I'm working on modules thing | 21:16 | |
Though probably won't really land it until tomorrow. | |||
tadzik | no hurry | ||
masak is glad tadzik went with a capital 'T' in 'To' | 21:17 | ||
bbkr1: it's a method, yes. | 21:18 | ||
rakudo: my $foo; say $foo.defined | 21:19 | ||
p6eval | rakudo 922500: OUTPUT«Bool::False» | ||
21:19
lue joined
|
|||
masak | lue! \o/ | 21:19 | |
lue | hello world! o/ | ||
masak turns on the groovy music | |||
21:20
amkrankruleuen left,
Sarten-X joined
|
|||
lue | I just saw the git log, nom is installable! \o/ | 21:20 | |
tadzik | jnthn: compiling the setting seems to segfault randomly to me :/ | ||
21:21
amkrankruleuen joined
|
|||
jnthn | tadzik: huh? :/ | 21:22 | |
tadzik: Got local patches? | |||
tadzik | jnthn: no that I know of | ||
21:23
molaf joined
|
|||
lue | I noticed MAIN doesn't work yet (at least I did last night), the error complains about a nonexistent MAIN_HELPER routine. | 21:24 | |
tadzik | yeah, I almost brought that to work | ||
21:26
soupified2011 joined
|
|||
tadzik | make: *** [CORE.setting.pbc] Bus error | 21:26 | |
wtf | |||
jnthn | :/ | ||
tadzik | maybe I should stop recompiling Parrot | ||
bleh, it failed for like 4th time in a row. I'll try in a gdb | 21:34 | ||
21:37
bbkr1 left
21:38
bbkr1 joined
|
|||
tadzik | jnthn: gist.github.com/1129777 | 21:38 | |
21:39
kboga joined
|
|||
jnthn | Holy shit! | 21:39 | |
*sigh* | 21:40 | ||
tadzik: Is it random? | 21:41 | ||
tadzik | jnthn: I'll rerun | ||
dunno what caused that, the nom changes, the nqp changes or the parrot changes :/ | 21:42 | ||
bbkr1 | does anyone need Mac OS X environment? I just set up shiny Lion 10.7 server so if you need free shell to test your modules compatibility leave me message on GitHub (user bbkr). | 21:43 | |
jnthn | tadzik: It bothers me that we're hitting that clone case. | ||
21:44
im2ee left,
Psyche^ joined
|
|||
mberends | bbkr: I'd like to use an OS X shell account for compatibility testing | 21:47 | |
jnthn | tadzik: Do you have the gdb foo to work out what _pmc is in thaw? | ||
*fu | |||
21:47
Patterner left,
Psyche^ is now known as Patterner
|
|||
tadzik | no, I don't think so | 21:48 | |
[Inferior 1 (process 29404) exited normally] | 21:49 | ||
lucky :) | |||
dalek | ast: e0a9375 | Coke++ | S03-operators/range.t: unfudge a bit for nom |
21:51 | |
[Coke] | pmichaud++ hyper meta op bought us back some tests. | 21:52 | |
dalek | kudo/nom: 0c336ba | Coke++ | t/spectest.data: run more spectests, track failure modes |
21:53 | |
jnthn | tadzik: Got something here. | 21:56 | |
tadzik | oh? | ||
bbkr1 | mberends: sure, I'l post you login details on GitHub. 10 minutes. | ||
jnthn | tadzik: Yeah, the trace gave me a good lead. Thanks. | 21:58 | |
tadzik | you're welcome :) | 21:59 | |
22:00
MayDaniel left
|
|||
dalek | kudo/nom: 397cf71 | tadzik++ | tools/build/Makefile.in: Install Pod/To/Text.pm along with Test.pm |
22:00 | |
22:03
soupified2011 left
22:04
soupified2011 joined
22:05
soupified2011 left
|
|||
bbkr1 | mberends: details sent via GitHub, please confirm if login works. | 22:06 | |
22:06
soupified2011 joined
|
|||
jnthn | tadzik: Think it's led me to a performance bug. | 22:06 | |
tadzik | good :) | ||
nom: sub foo(Bool :$alpha) { my $binary = $alpha ?? 'alpha' !! 'perl6'; }; foo() | 22:07 | ||
p6eval | nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'current instr.: 'nqp;Perl6;ModuleLoader;_block1137' pc 3132 (src/gen/perl6-moduleloader.pir:1248) (src/Perl6/ModuleLoader.pm:136)» | ||
tadzik | meh | ||
jnthn | Maybe multiple. SixModelObject's clone v-table should never have really been called. Turns out in some places hashes get deep-cloned when shallow woulda done. | ||
evalbot rebuild nom | |||
p6eval | OK (started asynchronously) | ||
tadzik | > sub foo(Bool :$alpha) { my $binary = $alpha ?? 'alpha' !! 'perl6'; }; foo() | ||
Cannot unbox type object to a native integer | |||
works fine when omitting Bool | 22:08 | ||
how do I fix this? :) | |||
jnthn | Bool.Bool maybe wants :D | ||
tadzik | Boo! | ||
> my $a = True; $a.Bool | 22:09 | ||
True | |||
oh, :D | |||
I thought you were laughing... | |||
jnthn | no, I meant, like, Bool:D as invocant :P | ||
tadzik | multi method Bool(Bool:D:) { self } | ||
looks fine, what is the trailing :? | |||
mberends | bbkr1: thanks, logged in, password changed :-) | ||
jnthn | Means it's the invocant | ||
Oh, that already looks fine. Hm | 22:10 | ||
tadzik | ok | ||
jnthn | tadzik: Way does say ?Bool do? | ||
or if Bool { say 42 } | |||
*What | |||
22:10
dorlamm left
|
|||
tadzik | > say ?Bool | 22:11 | |
Bool::False | |||
> if Bool { say 1} | |||
Cannot unbox type object to a native integer | |||
gotcha | |||
jnthn | aha | ||
oh | |||
lue | blog post! rdstar.wordpress.com/2011/08/06/id...ve-perl-6/ | ||
jnthn | BOOTSTRAP.pm, look for get_bool v-table override in Bool | ||
tadzik | unbox_i | 22:12 | |
rong? | |||
should be nqp::p6bool maybe? | |||
jnthn | It's fine, just not when the thing isn't defined :) | ||
tadzik | oh :) | ||
jnthn | No, this is the low-level thingy that breaks the booleanization circularity. :) | 22:13 | |
tadzik | (: | ||
black magic | |||
jnthn | Yeah | ||
tadzik | how do I fix this? | ||
$self.defined ?? ... !! ... | |||
or so? | |||
jnthn | no | ||
repr::defined__IP($self) ?? unboxi ... !! 0 | 22:14 | ||
gah | |||
tadzik | I get it | ||
jnthn | pir::repr_defined__IP I meant | ||
masak | lue: nice to see you back to blogging. | 22:18 | |
tadzik | lue: nice post :) In addition to the graph, how about documenting the standard methods in a nice way? | ||
[Coke] | if I want to try adding a glob sub, but not put it in the setting to start... where to put it? | 22:19 | |
lue | It's been forever since I've done anything P6, that's likely part of the reason why I'm scared of nom. Just trying to ease into it. | ||
tadzik | [Coke]: File::Glob or so? | 22:20 | |
lue: nom is very friendly :) | |||
lue | tadzik: That's another good idea. I've actually thought of adding a fourth group of documents to the synopses, in addition to the Synopses, Apcolypses, and Exegeses, that explains the S's in easy to understand language | 22:21 | |
(like Exegesis does for Apcolypse) | |||
tadzik | one day it should be possible to do this in the setting :) | ||
and be able to do &sort.WHY and so | 22:22 | ||
[Coke] | er... /global/ | ||
tadzik | oh | ||
jnthn | [Coke]: What do you mean by "global"? | ||
[Coke] | I want to prototype, e.g. "cosh" | ||
tadzik | put it in any module and make it 'is export'? Not sure if I understand correctly | ||
jnthn | .oO( dang, I thought we were getting an implementation of &glob :P ) |
22:23 | |
[Coke] | maybe later. :P | ||
tadzik | nom: module Foo { sub cosh is export { 1 } }; cosh() | ||
p6eval | nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'current instr.: 'nqp;Perl6;ModuleLoader;_block1137' pc 3132 (src/gen/perl6-moduleloader.pir:1248) (src/Perl6/ModuleLoader.pm:136)» | ||
jnthn | [Coke]: Why not just write a sub cosh() { ... }? | ||
lue | I've already figured the type hierarchy isn't documented in one nice little section of a spec, is it? | ||
tadzik | bleh | ||
jnthn | [Coke]: Are you wanting to implement it in order to get some tests passing? | ||
[Coke] | jnthn: yes, where? (I'm trying to avoid having the setting recompile on me) | ||
jnthn: yes. | |||
jnthn | [Coke]: Take a copy of the test file and just write a sub cosh at the top of it? :) | 22:24 | |
[Coke] | the trig tests look like LHF at the moment. | ||
jnthn: ... I'll just put it where I think it goes. :P | |||
jnthn | Or put them in a module, mark them is export, pre-compile the module to PIR | 22:25 | |
And then use ThatModule | |||
tadzik: Think I have a patch towards helping the segfault. | 22:27 | ||
tadzik | yay | ||
jnthn | tadzik: Bad news is that it's to something in the Parrot repo so it'll be version bumps all the way down. | ||
tadzik | no problem :) | 22:28 | |
jnthn | Also adding a sanity check to make sure we don't accidentally run into this kinda thing again. | ||
[Coke] | jnthn++ #fixing parrot b00gs. I appreciate it. | 22:29 | |
jnthn | [Coke]: PAST::Compiler one | 22:30 | |
tadzik | oh, benabik is gonna be happy :P | ||
jnthn | l( | ||
er | |||
;) | |||
[Coke] | kboga: I think I manually applied some of your pull requests without seeing your pull requests. | ||
kboga++ | |||
jnthn | kboga++ | ||
kboga | np, those were just test enable's anyway :) | 22:31 | |
22:31
wamba left
|
|||
kboga | credit goes out to pmichaud++ all the way for his work on the metaops | 22:32 | |
[Coke] | aye. | ||
[Coke] wonders if his newish work laptop (win7) compiles perl6 faster than his older mac osx desktop. | 22:33 | ||
tadzik | heh, I tried to continue my gsoc work when my laptop was broken. My PC needed 30 minutes to compile nom :) | 22:34 | |
[Coke] | yah, that's why I was trying to avoid putting anything in the setting until I was ready. ;) | 22:36 | |
tadzik | nom: say 1 | ||
p6eval | nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'current instr.: 'nqp;Perl6;ModuleLoader;_block1137' pc 3132 (src/gen/perl6-moduleloader.pir:1248) (src/Perl6/ModuleLoader.pm:136)» | ||
tadzik | aroo | ||
kboga | S03-metaops/cross.t passes all but one test that was marked todo for master (but now segfaults), skip with 'nom regression' message? | 22:37 | |
22:37
PacoLinux joined
|
|||
kboga | nom: my @result = [~]«( <a b> X, <1 2> ); | 22:37 | |
p6eval | nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'current instr.: 'nqp;Perl6;ModuleLoader;_block1137' pc 3132 (src/gen/perl6-moduleloader.pir:1248) (src/Perl6/ModuleLoader.pm:136)» | ||
jnthn | kboga: It'd be nice to know the segfaulting code | ||
tadzik | 'bababa $binary foo'.subst('$binary', 'fasada') hangs on nom, it seems | 22:39 | |
rakudo: say 'bababa $binary foo'.subst('$binary', 'fasada') | |||
p6eval | rakudo 922500: OUTPUT«bababa fasada foo» | ||
kboga | oh no, my bad no segfault, mixed it up with something else | 22:40 | |
jnthn | ah, OK :) | ||
tadzik | is there augment in nom? | 22:41 | |
jnthn | no | ||
kboga | anyways the test is currently todo with this message: "Not at all clear if this test is correct or not" | ||
tadzik | I wonder which part of Str.subst hangs | 22:42 | |
rakudo: 'asd $binary foo'.match('$binary'); say 1 | |||
p6eval | rakudo 922500: OUTPUT«1» | ||
tadzik | ok, that was easy :) | ||
that one hangs on nom | 22:43 | ||
kboga | nom: ( <a b> X, <1 2> ).perl | 22:45 | |
p6eval | nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'current instr.: 'nqp;Perl6;ModuleLoader;_block1137' pc 3132 (src/gen/perl6-moduleloader.pir:1248) (src/Perl6/ModuleLoader.pm:136)» | ||
lue | afk | ||
22:46
PacoLinux__ joined,
PacoLinux left,
PacoLinux__ is now known as PacoLinux
|
|||
[Coke] | jnthn: do you find that nmake on windows is rebuilding things it shouldn't? | 22:47 | |
(I just built rakudo, fine. I then immediately ran "nmake spectest" and it started rebuilding again, including the setting. | 22:48 | ||
tadzik | oh the pain | ||
jnthn | [Coke]: Yes :( | ||
[Coke]: I tracked it down to $(DYNOPS) | 22:49 | ||
But no further | |||
:( | |||
Spent a while on it but no joy. | |||
dalek | kudo/nom: 6d7cf62 | tadzik++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Fix Bool.get_bool vtable mapping, jnthn++ |
||
jnthn | hmm. Why does git describe --match RELEASE* fail in Parrot repo? | 22:52 | |
tadzik | dunno | ||
jnthn: any performance wins in the last commit? | |||
jnthn | tadzik: Probably not really | ||
tadzik: It saves enabling/disbling GC a load | |||
May help a bit | |||
Should save some allocations at least | |||
Most importantly, we don't take the segfaulty code path any more :) | 22:57 | ||
tadzik | yay :) | 22:58 | |
jnthn | Seems the issue has been there ages and we just got the memory alignment and bad luck to hit it today | ||
[Coke] | jnthn: think found the problem. | ||
(with namke) | |||
jnthn | [Coke]: Ooh! | ||
++[Coke] | 22:59 | ||
I'd *love* a patch for that :) | |||
[Coke] | working on it. | 23:00 | |
jnthn | huh what... | 23:02 | |
When I configure NQP with latest build Parrot I get "Unrecognized revision specifier 'show'" | |||
[Coke] | testing... dinner time, though | 23:05 | |
masak | jnthn: sounds like bad parsing of git output somewhere. | 23:06 | |
23:13
drbean joined
|
|||
jnthn | masak: seems so, I nuked the repo and cloned afresh and things are better. | 23:14 | |
oh, no | |||
23:15
PacoLinux left
|
|||
jnthn | hmm, and even when Parrot builds and installs and nqp builds, the build fails and the produced nqp executable won't run :/ | 23:15 | |
23:16
PacoLinux joined
23:22
xinming_ left
23:27
molaf left
23:30
Moukeddar joined
|
|||
jnthn | :/ | 23:31 | |
Could somebody else try building nqp on latest Parrot? | |||
Here it does with "Null PMC access in set_integer_native()" towards the end of the build. | |||
tadzik | ooh, spectest all clean | 23:32 | |
jnthn: trying | |||
jnthn | Curiously, running the PBC works, just not the executable. | 23:33 | |
tadzik | jnthn: seems to work fine | 23:35 | |
just did make clean; make | |||
jnthn | tadzik: ah, something musta been dirty here | 23:37 | |
Just finished a successful build. | |||
tadzik: Thanks | |||
tadzik | no problem | ||
my eyes autoclose, sleepytime is near | |||
jnthn | :) | 23:38 | |
same here | |||
Can get the nqp version bump in though first :) | |||
23:40
molaf joined
|
|||
dalek | p: ed093d3 | jonathan++ | tools/build/PARROT_REVISION: Bump PARROT_REVISION to get PAST::Compiler tweak. |
23:47 | |
p: 265a34e | jonathan++ | src/pmc/sixmodelobject.pmc: Throw an exception if the clone vtable is called on a 6model object - it doesn't support it in any sane way (yet) and the default does insane things. |
|||
[Coke] | jnthn: back from dinner. initial attempt buggy, retrying. | 23:48 | |
23:48
bbkr1 left,
bbkr1 joined
|
|||
[Coke] | the nqp version got bumped, but rakudo's nqp version didn't. | 23:57 | |
perl6lexpad.c: In function ‘Parrot_Perl6LexPad_set_pointer_orig’: | |||
perl6lexpad.c:618: warning: request for implicit conversion from ‘void *’ to ‘const struct PMC *’ not permitted in C++ | |||
jnthn | [Coke]: Not pushed yet, just making sure Rakudo builds :) | ||
[Coke]: Ah, one of those errors... | 23:58 | ||
[Coke] | k. I have a fix for the makefile. testing on os x before pushing. | ||
jnthn | [Coke]: I've little idea what to do about those - I trust a C++ hacker can supply a patch some day. :) | ||
23:58
PacoLinux__ joined
23:59
PacoLinux left,
PacoLinux__ is now known as PacoLinux,
Moukeddar left,
sftp left,
sftp joined
|