»ö« 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. |
|||
timotimo | masak: why not <tiny small medium large huge> >>~>> " disk"; instead of map { "$_ disk" }, <tiny small medium large huge>;? | 00:06 | |
sorear | gah, I missed masak | 00:07 | |
pmichaud | r: say <tiny small medium large huge> X~ ' disk' | 00:10 | |
p6eval | rakudo 1edbd3: OUTPUT«tiny disk small disk medium disk large disk huge disk» | ||
00:14
DeltaZero joined
|
|||
pmichaud | although I suspect that »~» ought to be more idiomatic for this example. | 00:14 | |
00:30
tokuhirom joined
00:41
UncleFester6 joined
|
|||
UncleFester6 | r: (our ($a)) | 00:43 | |
p6eval | rakudo 1edbd3: OUTPUT«use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104===SORRY!===error:imcc:Multiple declarations of lexical '$a' i… | ||
UncleFester6 | r: our ($a) = 1 | 00:58 | |
p6eval | rakudo 1edbd3: OUTPUT«use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104===SORRY!===error:imcc:Multiple declarations of lexical '$a' i… | ||
sorear | that's an interesting bug | 01:02 | |
01:05
scott_ joined,
scott_ is now known as Guest48448
01:07
Guest12592 left
|
|||
UncleFester6 | sorear: ok - thx. tomorrow I'll try to file it if I can't find a duplicate. | 01:19 | |
01:26
aloha left
01:30
tokuhirom left
01:34
sudokode joined
01:46
UncleFester6 left
01:54
spaceships joined
02:06
aloha joined
02:08
sftp left
02:12
sftp joined
|
|||
colomon is trying to install the Mono Framework MDK to see if that helps with his Gtk#/Glib# problems. | 02:13 | ||
02:13
spaceships left,
spaceships joined
|
|||
colomon | argh | 02:14 | |
02:24
spaceships left
02:34
araujo left
|
|||
colomon | argh | 02:34 | |
02:34
aindilis joined
02:50
araujo joined
03:01
araujo is now known as Guest73198
03:03
jaldhar left
03:17
jaldhar joined
03:21
Guest73198 left
03:22
araujo joined
03:23
araujo left,
araujo joined,
araujo left,
araujo joined
03:33
adu joined
04:07
skids left
04:14
kaare_ joined,
adu left
04:26
adu joined
04:32
jaldhar left
04:33
jaldhar joined
04:39
sisar left
04:42
japhb joined
|
|||
moritz | masak: I'd add an X::Hanoi type (role or class) and have all other X::Hanoi::* classes do it or inherit from it | 04:46 | |
masak: just so that you can catch any hanoi-related errors easily | |||
04:56
adu left
05:03
adu joined
|
|||
japhb | Does Rakudo have write-to-pipe IO yet? All I can find is read-from-pipe in sub QX(), and even then that's only all-at-once reading. | 05:05 | |
If not, is there a deep reason, or is it LHF? | |||
05:07
birdwindupbird joined
|
|||
moritz | japhb: well, either it needs to be supported by parrot, or you'd have to take care of cross-platform portability yourself | 05:10 | |
adu | hi all | 05:13 | |
japhb | moritz, it appears supported by parrot, as seen in .../parrot/t/dynoplibs/io.t | 05:15 | |
Also, are heredocs available? A quick test indicates "q:to'END'" gives a compile-time error, but perhaps the implementation and synopsis aren't using identical syntax? | 05:24 | ||
05:37
DeltaZero left
05:40
kaleem joined
|
|||
sorear | japhb: afaik rakudo does not currently have heredocs at all | 05:57 | |
dalek | ast: d80a990 | pmichaud++ | S02-names-vars/perl.t: Add test for Str.perl with unicode characters. |
06:01 | |
kudo/nom: 16db643 | pmichaud++ | src/core/Str.pm: Add fix for Str.perl to be more robust when ICU isn't present (RT #113886). |
06:02 | ||
06:06
wtw joined
06:09
gesh joined
06:12
fhelmberger joined
06:28
adu left
|
|||
moritz | japhb: then it's just NYI | 06:29 | |
japhb: and probably a LHF | |||
06:30
sftp_ joined,
sftp left
06:35
adu joined
06:36
fridim_ joined
|
|||
japhb | moritz, That's what I'd figured. I need to get some sleep tonight, but maybe sometime this week. | 06:39 | |
06:54
fridim_ left
06:58
Khisanth left
07:00
GlitchMr joined
07:11
brrt joined
07:13
adu left
07:31
spider-mario joined
07:41
kaleem left,
kaleem joined
07:42
kaleem left
07:43
kaleem joined
|
|||
masak | moritz: X::Hanoi -- makes sense. will do. | 07:45 | |
timotimo, pmichaud: <tiny small medium large huge> >>~>> " disk" is nicer, yes. I have no basis to choose between X~ and »~» :) | 07:46 | ||
07:47
Khisanth joined
|
|||
moritz | masak: it also has the benefit that you can easily suppress backtraces for all your exceptions if/when you deem that a good idea :-) | 07:47 | |
masak | heh. | ||
moritz: well, I found that most of the times when I got exceptions in my development with this TDD style, I was already in a throws_exception call path, it soaked up the exception, and showed Actual/Expected. | 07:48 | ||
sorear | masak! | ||
masak | sorear! \o/ | ||
moritz: a *vast* improvement. if I can get line number in there somehow too it will have all I need. | 07:49 | ||
moritz | r: class X::Custom is Exception { method message() { 'Ooops' }; multi method gist(X::Custom:D) { self.message } }; X::Custom.new.throw | ||
p6eval | rakudo 16db64: OUTPUT«Ooops in block <anon> at /tmp/CXTY79qjJs:1» | ||
masak | well, and file name, I guess. | ||
moritz | r: class X::Custom is Exception { method message() { 'Ooops' }; multi method gist(X::Custom:D:) { self.message } }; X::Custom.new.throw | ||
p6eval | rakudo 16db64: OUTPUT«Ooops» | ||
moritz | masak: I guess we should ship Test::Util from t/spec/packages as a pandable module | 07:52 | |
then you can use throws_like | |||
masak | hm. I *think* it makes more sense to make X::Hanoi a class, since it needs to 'is Exception'. we're "already" in the class hierarchy, so to speak. | ||
moritz | you can also have a role X::Hanoi is Exception { } | ||
masak | moritz: I copy+pasted throws_like, but I prefer my changes. you might want to merge them back, actually. | ||
moritz: I know I can have that, but it feels harder to motivate even if it works. | 07:53 | ||
moritz | masak: URL? | ||
masak | to what? | ||
moritz | masak: your changed throws_like or whatever you call it | ||
masak | hold on. | ||
github.com/masak/crypt/blob/2fecc9...pt.pl#L218 | 07:54 | ||
I'd say &followup? is the big change. | |||
it felt insufficiently flexible with a hash of tests. | 07:55 | ||
moritz | and yet all of your uses so far would have been just fine with a hash | 07:59 | |
... except for the test message, which you further customize | |||
masak | if you're fine with your current code, then that's fine. | 08:00 | |
08:00
gesh left
|
|||
jnthn | Good morning o/ | 08:00 | |
masak | I felt I wanted a code block there, to run arbitrary code. idea courtesy of jnthn++/nqp. | 08:01 | |
jnthn! \o/ | |||
moritz | \o japhb | 08:02 | |
erm | |||
\o jnthn :-) | |||
masak: well, if people modify copies of throws_like because they feel it's not general enough, I should at least investigate what can/should be done | 08:03 | ||
masak | I confess it wasn't because I felt an immediate need, it was more on the order of "obviously this hash needs to be liberated into a callable the way I've seen it done elsewhere". | 08:05 | |
moritz tries to suppress the urge to comment on the specced IO subsystem, design astronautism and "obviously this [needs to be generalized]" | 08:07 | ||
masak | :) | ||
moritz stops at the meta comment | |||
masak | yeah, I don't have any good rationale. except that I think that my tests *look* nice, and nicer than they would with the hash. | 08:08 | |
I think some of what Lisp and Smalltalk weenies are constantly trying to tell us is the following: Don't sell away the ability to do general computation too early in the running process. | 08:09 | ||
in other words, pass closures (and similarly powerful constructs). | |||
moritz | in that sense, my solution is even more general -- you can pass a hash with closures as values, so you can pass *multiple* closures :-) *SCNR* | 08:10 | |
masak | :P | 08:11 | |
walk & | 08:13 | ||
08:18
thou left
08:23
fgomez left
08:24
sporous left
08:27
kresike joined
|
|||
kresike | hello all you happy perl6 people | 08:28 | |
08:29
sporous joined,
preflex joined
|
|||
moritz | \o kresike | 08:29 | |
sorear | o/ kresike | 08:34 | |
kresike | moritz, sorear, o/ | ||
sorear | masak: this week's problems: finishing the non-bootstrap parser design, and motivating myself to actually finish the branch D: | ||
08:35
dakkar joined
|
|||
jnthn | hi, kresike | 08:36 | |
Ahh...the temperature back here in Sweden. It's so nicer :) | |||
kresike | jnthn, o/ | 08:37 | |
moritz | oh noez | 08:43 | |
building URI.pm OOMs | |||
I've limited the process to 2G of virtual memory | |||
Compiling lib/URI.pm | |||
Failed allocation of 98336 bytes | |||
Parrot VM: PANIC: Out of mem! | |||
C file src/gc/alloc_memory.c, line 142 | |||
that's new, isn't it? | 08:44 | ||
jnthn | Sounds like... :S | 08:47 | |
kresike | it's 35C in the shade here, much nicer than Sweden I believe :) | 08:50 | |
jnthn | 35C in the shade is nice?! | 08:51 | |
kresike | well, nicer than the 50C in the sun :) | ||
bonsaikitten | kresike: hrm, here it's also close to 35C, but not much sun | 08:52 | |
summer at last :) | 08:53 | ||
kresike | here the summer has passed, the oven has come ... and will stay like this for a week at least ! | ||
moritz | can anybody reproduce the hang while compiling URI.pm? | 08:54 | |
and if yes, maybe even bisect which rakudo revision caused it? | 08:55 | ||
star: use URI; say 'alive' | |||
p6eval | star 2012.06: OUTPUT«(signal SEGV)» | ||
moritz | oh noez | ||
I thought we'd fixed that :( | 08:56 | ||
maybe the star installer doesn't copy stuff in the correct order | |||
oh | 09:04 | ||
I wonder if the problem is that --setting=RESTRICTED and precompilation doesn't mix well\ | |||
at least for star in p6eval | 09:07 | ||
09:08
cognominal joined
|
|||
moritz | NOOO | 09:09 | |
it's not the compilation that hangs | 09:10 | ||
panda hangs after copiling the last module | |||
i broked it :( | |||
09:12
domidumont joined,
domidumont left
09:13
domidumont joined
09:14
bbkr joined
09:17
sisar joined
|
|||
dalek | c: 0ba2375 | moritz++ | lib/ (2 files): [Any, Code] move signatures out of headlines eventually I want to link to methods in a class like doc.perl6.org/type/Code#signature so it makes sense to have only the method name as a heading |
09:17 | |
moritz | moritz.faui2k3.org/tmp/p6doc-html/List.html#roll | 09:20 | |
jnthn | omg there's p6doc as html now?! | 09:22 | |
Nice! | |||
The Items, Flattening and Sigils link doesn't work, fwiw. | 09:23 | ||
09:24
wamba joined
|
|||
moritz | well, it's a very early draft :-) | 09:25 | |
and that's a Pod::To::HTML bug I suspect | |||
jnthn | Aye | ||
I'm just very happy to see it; I didn't realize it was being worked on by anyone yet :) | |||
moritz | my plan for an URL schema so far is: | 09:26 | |
jnthn | I should have tuits for more doc commits this week :) | ||
moritz | doc.perl6.org/foo -> list of everything named "foo" (tutorial with that name, method, sub, constant, enum, type, ...) | ||
doc.perl6.org/type/IO::Socket::INET # for types | 09:27 | ||
doc.perl6.org/routine/split # subs or methods named split | |||
jnthn ponders if a function vs method distinction in the URL structure there is worth it | 09:28 | ||
Maybe not | |||
moritz | currently we have the same body text for sub and method split | 09:29 | |
09:29
lrnperl joined
09:32
lrnperl left
09:33
lrnperl joined
09:37
lrnperl left
09:44
daxim joined
|
|||
masak | I opine that's a good thing. | 09:47 | |
mix them together as a name, but be clear in the article body that it's different things. | 09:48 | ||
sisar gets fail for both tests in spec/S32-io/dir.t | 09:50 | ||
I guess it is expected, given the recent IO changes. | |||
moritz | sisar: right, I guess I have to fix them | 09:51 | |
n: dir() | |||
p6eval | niecza v19-7-g5e25209: ( no output ) | ||
moritz | n: say dir() | 09:52 | |
p6eval | niecza v19-7-g5e25209: OUTPUT«.fetch-stamp .git .gitignore FETCH_URL LICENSE License-MS-PL.txt Makefile README.pod TODO VERSION boot docs examples lib main.pl obj p5test perf perl5 run simple-tests src t test.pl test2.pl test3.pl tools» | ||
sisar | moritz++ | ||
moritz | oh, and update the spec so that niecza can follow | ||
might take a day or two | |||
masak | ++moritz | ||
moritz | oh, niecza doesn't run that file anymore | 09:54 | |
that makes things easier | |||
09:55
GlitchMr left,
birdwindupbird left,
Patterner left,
telex left,
drbean left,
baest left,
yves_ left,
Ex left,
apejens_ left,
erkan left,
nuba left,
nuba joined,
drbean joined,
telex joined
09:56
GlitchMr joined,
birdwindupbird joined,
Patterner joined,
baest joined,
yves_ joined,
apejens_ joined,
erkan joined,
Tene joined,
pnu joined
09:58
wamba left
|
|||
dalek | ast: 4d11076 | moritz++ | S32-io/dir.t: update &dir tests to current spec |
10:00 | |
10:00
Ex joined
|
|||
masak | wow, such divided opinions about Schwern's YAPC::NA keynote. seems there's an insider/outside gradient involved. | 10:12 | |
outsider* | |||
10:13
Guest48448 left
|
|||
daxim | url? | 10:17 | |
(to the gossip, not the keynote) | |||
masak | blog.nu42.com/2012/06/dont-box-me-i...sions.html | ||
including comments. | |||
via szabgab's newsletter as of a week or so ago. | |||
daxim | ah oh | 10:20 | |
10:21
Patterner left
|
|||
bbkr | hi. is non-deterministic compilation issue (for example with URI segfaulting) solved in 2012.06? | 10:38 | |
star: use URI; | |||
p6eval | star 2012.06: OUTPUT«(signal SEGV)» | ||
bbkr | nvm :) | 10:39 | |
10:51
Psyche^ joined,
Psyche^ is now known as Patterner
10:55
snearch joined
11:15
fridim_ joined
|
|||
moritz | bbkr: curiously URI.pm seems to work reliably when installed with panda or ufo | 11:21 | |
bbkr | moritz: I want to switch JSON::RPC from own inline grammar to URI, and since it is included in Star it has to wait. | 11:23 | |
moritz | bbkr: ok | 11:24 | |
r: do { LEAVE die 'foo' } | 11:28 | ||
p6eval | rakudo 16db64: OUTPUT«foo in block <anon> at /tmp/2ppwj8ywg4:1 in block <anon> at /tmp/2ppwj8ywg4:1» | ||
moritz | tadzik: is there a way to get more debug output out of panda? | 11:29 | |
tadzik: it seems I (or rakudo, or so) broke panda to loop infinitely after finishing to build a module, and I'd like to find out where it loops | 11:31 | ||
wanted: a feature that produces a backtrace when I send a signal to a perl6 process | |||
I guess after building comes testing | 11:32 | ||
but I've reverted to a panda revision (b97cf9f3) before I touched the tester, and it still loops :( | 11:33 | ||
dalek | ast: 2f0e76a | (Solomon Foster)++ | S12-construction/new.t: Fudge for niecza. |
11:37 | |
11:46
spider-mario left
11:47
spider-mario joined
12:03
fridim_ left
12:17
xdbr__ joined
|
|||
masak | r: do { die "A"; LEAVE die "B" } # which die should win here? | 12:49 | |
p6eval | rakudo 16db64: OUTPUT«A in block <anon> at /tmp/wuuXE7vFze:1» | ||
12:50
mucker joined
|
|||
jnthn | masak: Now exceptions are just pushed onto the end of a queue. | 12:50 | |
masak | so the answer is [A, B]? | 12:51 | |
jnthn | Oh, wait a moment... | ||
It's a bit more subtle. | |||
We fail to handle A | 12:52 | ||
So we end up in the global catcher | |||
Which spits out an exception | |||
masak | oh, because we haven't left the block yet at that point. | ||
jnthn | So we never get around to unwinding. | ||
masak | right. | ||
but shouldn't we unwind before exiting the program? | |||
I mean, shouldn't LEAVE guarantee that it gets run, even in the presence of `die`? | 12:53 | ||
jnthn | masak: You...want multiple backtraces? | 12:55 | |
masak: Generally, if you exit with an uncaught exception you're kinda screwed anyway. | |||
r: do { die "A"; LEAVE die "B" }; CATCH { default { } } | 12:56 | ||
p6eval | rakudo 16db64: ( no output ) | ||
jnthn | r: do { die "A"; LEAVE die "B" }; CATCH { when "A" { } } | 12:57 | |
p6eval | rakudo 16db64: OUTPUT«B in block <anon> at /tmp/Npfus_PpDj:1 in block <anon> at /tmp/Npfus_PpDj:1» | ||
jnthn | Works as wanted if you actually do handle it. | ||
12:57
GlitchMr left
13:00
sisar left
13:02
PacoAir joined
13:03
sisar joined,
atrodo joined
|
|||
masak | jnthn: LEAVE is our closest thing to the refcount going to 0, that's why it feels important. | 13:10 | |
buubot_backup: eval 42 | |||
buubot_backup | masak: 42 | ||
jnthn | masak: What does Perl 5 promise in terms of destruction if you have an exceptional exit, ooc? | 13:11 | |
masak | buubot_backup: use 5.010; package Foo; sub DESTROY { say "cleaning up..." }; { my $foo = Foo->new() die "argh!" }; | ||
buubot_backup | masak: Couldn't match input. | ||
masak | buubot_backup: eval use 5.010; package Foo; sub DESTROY { say "cleaning up..." }; { my $foo = Foo->new() die "argh!" }; | ||
buubot_backup | masak: ERROR: syntax error at (eval 20) line 1, near ") die" | ||
masak | buubot_backup: eval use 5.010; package Foo; sub DESTROY { say "cleaning up..." }; { my $foo = Foo->new(); die "argh!" }; | ||
buubot_backup | masak: ERROR: Can't locate object method "new" via package "Foo" at (eval 20) line 1. | ||
masak | oh, right :) | ||
buubot_backup: eval use 5.010; package Foo; sub new { bless {} }; sub DESTROY { say "cleaning up..." }; { my $foo = Foo->new(); die "argh!" }; | 13:12 | ||
buubot_backup | masak: cleaning up... ERROR: argh! at (eval 20) line 1. | ||
masak | that's what I'm talking about. the DESTROY runs even when the block dies. | ||
jnthn | buubot_backup: eval use 5.010; package Foo; sub new { bless {} }; sub DESTROY { die "mwaha" }; { my $foo = Foo->new(); die "argh!" }; | 13:13 | |
buubot_backup | jnthn: ERROR: argh! at (eval 20) line 1. | ||
masak | well, | ||
r: do { die "A"; LEAVE say "oh!" } | 13:14 | ||
p6eval | rakudo 16db64: OUTPUT«A in block <anon> at /tmp/2r5k_9ugGv:1» | ||
masak | so in Rakudo it's not a question of whether the LEAVE dies or not. it simply doesn't run. | ||
jnthn | Right. | 13:17 | |
masak | TimToady: I was wrong, you were right. we once had a conversation about "" in {} in "", and I was squarely against it for parsing/highlighter reasons. I didn't think I'd ever nest things that way. | 13:18 | |
TimToady: yesterday I wrote line 9 of github.com/masak/crypt/commit/3543...48a7593ed6 and I didn't even blink. | |||
13:25
atrodo left
13:31
skids joined
|
|||
TimToady | "It is a comfort not to be mistaken on all points." --Gandalf | 13:32 | |
13:33
kaleem left
|
|||
masak | well, Gandalf would say that. obviously instead of the plan that obviously didn't contain any weaknesses, he was aiming for the plan that didn't contain any obvious weaknesses :P | 13:33 | |
daxim | Facts: masak is a mammal. masak codes ALL the time. The purpose of the masak is to flip out and advance Perl 6. Testimonial: masak codes "{event}[{map { ":{name $_}<{value $_}>" }, self.^attributes}]" ALL the time and don't even blink. | 13:34 | |
TimToady | masak: security through obscurity... | ||
masak | exactly. | 13:35 | |
I think MoR:Dumbledore mentions Gandalf at some point, pointing out exactly this. | |||
hm, MoR!Dumbledore* | |||
daxim: it's a bit of a mouthful, but it's not really that complicated. the subs help extract out the inessentialities. | 13:36 | ||
daxim: I could go one sub more and make it "{event}[{attributes}]"... | 13:37 | ||
flussence | the output format looks a bit squished, but that's just my personal preference :) | ||
masak should stop saying "extract out" like *right now* | |||
by the way, I'm about to write a CLI mode for that code, so you can all play Hanoi and play "Devastate The Adventure Game" ;) | 13:38 | ||
13:39
bluescreen10 joined
|
|||
masak | flussence: fwiw, how would you have the format? for something like 'DiskRemoved[:disk<tiny disk>, :source<left>]' ? | 13:40 | |
masak is back, and babbling as usual :) | |||
at least I'm on topic! | |||
flussence | is that a line of actual output? | 13:41 | |
masak | from Event.Str, yes. | 13:42 | |
if you stringify a DiskRemoved object with those values, you get that. | 13:43 | ||
flussence | hm, I mis-ran the code in my head and it came out with no commas :) | ||
masak | oh! | ||
sorry. yeah, comma should not be there. | |||
w'DiskRemoved[:disk<tiny disk> :source<left>]' | 13:44 | ||
s/w// | |||
I considered putting them in, and then didn't feel they were essential. | |||
it's more of a .gist output than a .perl output :) | |||
timotimo | perlcabal.org/syn/S03.html#Cross_operators <- how strange. on my rakudo, (<a b>; 1, 2) seems to evaluate to only 1, 2 and parcels don't have a .cross method. seems like the syn should be changed or tests added, because those desugarizations aren't tested, or at least not near that link to the test file | ||
masak | timotimo: NYI | 13:46 | |
timotimo: it treats the () as a statement list and runs through them all, evaluating to the last statement. | 13:47 | ||
13:47
imarcusthis left
|
|||
timotimo | OK. what should it be instead, though? | 13:48 | |
13:48
imarcusthis joined
|
|||
masak | r: say (<a b>, (1, 2)).tree | 13:49 | |
p6eval | rakudo 16db64: OUTPUT«a b 1 2» | ||
masak | r: say (<a b>, (1, 2)).tree.perl | ||
p6eval | rakudo 16db64: OUTPUT«LoL.new($("a", "b"), $(1, 2))» | ||
masak | that enough? | ||
dalek | p: f16f2c5 | jnthn++ | src/how/NQPModuleHOW.pm: Stop nqp::can(EXPORTHOW, 'foo') from exploding by adding some missing bits to NQPModuleHOW. |
||
timotimo | well, what i was wnodering about was: what does a ; mean in this case? | ||
[Coke] | how many stringy forms do we have now? 3? (String, Perl, Gist) ? | 13:50 | |
flussence | Cat? | ||
masak | [Coke]: to be fair, .Str is more of a type than a format, and it defaults to one of .perl/.gist, I forget which. | 13:51 | |
[Coke] | meow. | ||
flussence | .Str is .perl iirc, and say calls .gist directly. | ||
[Coke] | masak; yes, but, to be fair, all three types can be distinct and don't have to rely on each other. | ||
s/types/methods/ | |||
masak | granted. | 13:53 | |
and yes, it's a conceptual burden in some sense. | |||
just as the print/say distinction (beyond "\n") is a conceptual burden. | 13:54 | ||
r: loop { last; LEAVE say "bye!" }; say "outside" | 13:56 | ||
p6eval | rakudo 16db64: OUTPUT«outside» | ||
masak | do we have this one on file? | ||
closest I find is rt.perl.org/rt3/Ticket/Display.html?id=113548 | 13:58 | ||
masak submits rakudobug | |||
r: for ^10 { next; LEAVE say "yay!" }; say "outside" | |||
p6eval | rakudo 16db64: OUTPUT«outside» | ||
masak | that, too. | ||
n: loop { last; LEAVE say "bye!" }; say "outside" | |||
p6eval | niecza v19-7-g5e25209: OUTPUT«bye!outside» | ||
masak | n: for ^10 { next; LEAVE say "yay!" }; say "outside" | 13:59 | |
p6eval | niecza v19-7-g5e25209: OUTPUT«yay!yay!yay!yay!yay!yay!yay!yay!yay!yay!outside» | ||
14:02
wtw left
14:03
tyatpi joined
14:04
mucker left
|
|||
masak | r: class A { method x {} }; say A.^methods | 14:16 | |
p6eval | rakudo 16db64: OUTPUT«x» | ||
masak | r: class A { method x {} }; say A.^methods[0] | ||
p6eval | rakudo 16db64: OUTPUT«x» | ||
masak | r: class A { method x {} }; say A.^methods[0].^methods | ||
p6eval | rakudo 16db64: OUTPUT«No such method 'gist' for invocant of type 'Sub' in method gist at src/gen/CORE.setting:4624 in sub say at src/gen/CORE.setting:7009 in block <anon> at /tmp/RFeFlR_m7o:1» | ||
masak submits rakudobug | |||
r: class A { method x {} }; say A.^methods[0].WHAT | 14:17 | ||
p6eval | rakudo 16db64: OUTPUT«Method()» | ||
masak | r: say Method.^methods | ||
p6eval | rakudo 16db64: OUTPUT«No such method 'gist' for invocant of type 'Sub' in method gist at src/gen/CORE.setting:4624 in sub say at src/gen/CORE.setting:7009 in block <anon> at /tmp/7yJoa9AMwf:1» | ||
masak | r: sub foo {}; say &foo.WHAT | 14:18 | |
p6eval | rakudo 16db64: OUTPUT«Sub()» | ||
masak | r: sub foo {}; say &foo.WHAT.gist | ||
p6eval | rakudo 16db64: OUTPUT«Sub()» | ||
masak | so, obviously that Sub() *has* a 'gist' method. | ||
therefore, I probably hit an nqp Sub() or something. | |||
14:18
sisar left
|
|||
jnthn | masak: Yes, and I think that's been known and RT'd for a while. | 14:25 | |
14:32
colomon joined
14:36
snearch left
|
|||
masak | if anyone finds the dupe, I'll happily merge it. | 14:37 | |
r: say Signature.^methods | 14:44 | ||
p6eval | rakudo 16db64: OUTPUT«No such method 'gist' for invocant of type 'Sub' in method gist at src/gen/CORE.setting:4624 in sub say at src/gen/CORE.setting:7009 in block <anon> at /tmp/yIy7zAoMmt:1» | ||
masak | oh hm. | ||
r: say .name for Signature.^methods | |||
p6eval | rakudo 16db64: OUTPUT«Unmarshallable foreign language value passed for parameter '$_' in block <anon> at /tmp/3I6XNT09ux:1» | ||
masak | r: for Signature.^methods { try .say } | ||
p6eval | rakudo 16db64: OUTPUT«Unmarshallable foreign language value passed for parameter '$_' in block <anon> at /tmp/UsVIALGx6B:1» | ||
masak | this is a problem. | 14:45 | |
those unmarshallable foreign elements infecting the purity of our French nation^W^W Chinese sovereignity^W^W programming language! | |||
at least Signature is in core... | 14:47 | ||
...but it still detracts from the affordances/discovery process for newbies... | |||
oh, .params is what I want. | 14:48 | ||
jnthn | I agree it should be fixed. It's just some way down my "things that should be fixed" list. :) | ||
14:48
tokuhiro_ joined
|
|||
masak | argh the invocant is a positional. of course. | 14:55 | |
I was wondering why my .substr(1) calls (to remove the sigils) went out of bounds :) | 14:56 | ||
harmil1 | I think that's, "arg, the invocant..." | ||
14:56
harmil1 is now known as harmil
|
|||
harmil | there we go | 14:57 | |
colomon | harmil++ | 14:58 | |
14:59
alester joined
|
|||
masak | ;) | 14:59 | |
15:02
atrodo joined
15:04
thou joined
|
|||
kresike | bye all | 15:09 | |
15:09
kresike left
15:14
GlitchMr joined
|
|||
spider-mario | .u ◌̧ | 15:16 | |
phenny | U+25CC DOTTED CIRCLE (◌) | ||
U+0327 COMBINING CEDILLA (◌̧) | |||
GlitchMr | .u || | 15:17 | |
phenny | U+007C VERTICAL LINE (|) | ||
GlitchMr | .u test | 15:18 | |
phenny | GlitchMr: U+0074 U+0065 U+00AD U+0073 U+0074 | ||
15:19
thelazydeveloper joined
|
|||
GlitchMr | .u 𐀀 | 15:24 | |
phenny | U+10000 LINEAR B SYLLABLE B008 A (𐀀) | ||
GlitchMr | .u | 15:26 | |
phenny | U+10FFFF (No name found) | ||
15:26
groky left
|
|||
GlitchMr | exception what? | 15:27 | |
15:28
mucker joined
|
|||
masak | GlitchMr: you seem lost. can I help you with anything? | 15:31 | |
GlitchMr | Nothing | ||
masak | (the 'Exiting due to an exception' quit message is most likely just a joke.) | ||
GlitchMr | Probably | ||
masak | ok, let me know if there's anything you need. | 15:32 | |
GlitchMr | Whatever | ||
I thought it crashed because of high UTF-8 character | |||
But that would be silly | |||
masak | no, it wasn't the same nick. | ||
15:32
birdwindupbird left
|
|||
GlitchMr | I know | 15:33 | |
perl6: print "\x10FFFF" | |||
p6eval | niecza v19-7-g5e25209: OUTPUT«\x{10FFFF}» | ||
..rakudo 16db64: OUTPUT«===SORRY!===Invalid character for UTF-8 encoding» | |||
GlitchMr | perl6: print "\x110000" | ||
p6eval | niecza v19-7-g5e25209: OUTPUT«\x110000» | ||
..rakudo 16db64: OUTPUT«===SORRY!===Invalid character for UTF-8 encoding» | |||
GlitchMr | But in UTF-8 U+10FFFF is valid (technically) | 15:34 | |
masak | please submit a bug report, then. | ||
GlitchMr | I don't know where to send rakudo bug reports | 15:35 | |
jnthn | Valid in what sense? | ||
masak | [email@hidden.address] | ||
jnthn | Please be specific (e.g. reference something) | ||
(If filing a bug, that is. Handwaving on #perl6 is fine :)) | |||
masak | it is!? :P | ||
\o/ |\o/| o< /o\ | 15:36 | ||
jnthn | :P | ||
[Coke] | aw... "learning perl, 6e" is not about perl 6. | ||
masak | you noticed too, eh? | ||
[Coke] | I'm all like, "OOH, what's this E about..."... nada. | ||
GlitchMr | rakudo: print "\x100000" | 15:37 | |
p6eval | rakudo 16db64: OUTPUT«» | ||
GlitchMr | rakudo: print "\x10FFFF" | ||
p6eval | rakudo 16db64: OUTPUT«===SORRY!===Invalid character for UTF-8 encoding» | ||
masak does a given { when { when { } } for the first time in a program | |||
GlitchMr | rakudo: print "\x100001" | ||
p6eval | rakudo 16db64: OUTPUT«» | ||
masak | er, plus an additional } | ||
GlitchMr | rakudo: print "\x10F000" | ||
p6eval | rakudo 16db64: OUTPUT«» | ||
GlitchMr | rakudo: print "\x10FFFE" | ||
p6eval | rakudo 16db64: OUTPUT«===SORRY!===Invalid character for UTF-8 encoding» | ||
GlitchMr | what? | ||
masak | GlitchMr: please be more specific than "what?" | ||
GlitchMr: we cannot have a constructive discussion if you don't supply your expectations. | 15:38 | ||
supplying surprise is a good start, but not enough. | |||
GlitchMr | So, Rakudo expects that UTF-8 ends on U+10FFFD | ||
Weird... | |||
masak | something like "I expected this code to shoot monkeys out my nose." | ||
if you say that, we can go on to explain why Rakudo doesn't do it that way. | |||
jnthn | So, here's what the Unicode spec syas. | ||
*says | |||
10FFFE <not a character> * the value 10FFFE is guaranteed not to be a Unicode character at all | 15:39 | ||
unicode.org/charts/PDF/U10FF80.pdf | |||
GlitchMr | Oh, then sorry | 15:40 | |
masak | no need to apologise. :) | ||
jnthn | No problems. I didn't know it without looking it up. :) | ||
masak | except for being unclear with what you expected :P | ||
15:41
gesh joined
|
|||
[Coke] | wow, jnthn, you could make a nice plaid shirt with those glyphs. | 15:41 | |
masak | GlitchMr: if you didn't know that \x10FFFE wasn't a character at all, what in the world made you try it out!? | ||
jnthn | [Coke]: If you include the bottom right hand corner, you can just claim its a fasionable brand name too. "What? You don't know about 10FFFE 10FFFF Shirt Company? They're famous, y'know!" ;-) | 15:42 | |
masak | GlitchMr: did you just wake up this morning and go "I wonder how Rakudo will react to this particular codepoint?" :P | 15:44 | |
GlitchMr | no | ||
bbkr | star: say "aaabb" ~~ m:2nd/.|../ | ||
p6eval | star 2012.06: OUTPUT«q[ab]» | ||
[Coke] | jnthn: *snrk* | ||
bbkr | \o/ LTM FTW! | ||
[Coke] | masak: I think you, of all people, might be accepting of "seeing how to make rakudo blow up.". ;) | ||
masak | of course, that's not the point. | 15:45 | |
I'm wondering by what divine insight GlitchMr found this particular codepoint. | |||
GlitchMr | perl6: print "" | ||
p6eval | rakudo 16db64: OUTPUT«Unicode non-character U+10FFFF is illegal for open interchange at lib/EvalbotExecuter.pm line 195."\x{10ffff}" does not map to utf8 at lib/EvalbotExecuter.pm line 196.===SORRY!===Unrecognized backslash sequence: '\x' at line 2, near "{10FFFF}\""» | 15:46 | |
..niecza v19-7-g5e25209: OUTPUT«Unicode non-character U+10FFFF is illegal for open interchange at lib/EvalbotExecuter.pm line 195."\x{10ffff}" does not map to utf8 at lib/EvalbotExecuter.pm line 196.===SORRY!===Unrecognized backslash sequence: '\x' at /tmp/QfSe2zNE7T… | |||
masak | given that he didn't seem to be aware of the Unicode spec explicitly excluding it from the set of legal characters. | ||
GlitchMr | ... so Perl 5 catched it... | ||
15:46
majrmovies joined
|
|||
masak | in what sense did Perl 5 catch it? | 15:46 | |
15:46
MayDaniel joined
|
|||
masak | if you do a 'perl6' evaluation, and then go '... so Perl 5...', there is some causal link missing. | 15:46 | |
jnthn | masak: See the EvalbotExecuter.pm warning | 15:47 | |
masak: The Evalbot is written in Perl 5 | |||
masak | oh! | ||
indeed. GlitchMr++ | |||
interesting error message, too. | 15:48 | ||
GlitchMr | And it converted it to print "\x{10FFFF}" | ||
Except Perl 6 uses [] instead of {} | |||
15:50
tokuhiro_ left
15:53
fgomez joined
|
|||
spider-mario | .u ☕ | 15:54 | |
phenny | U+2615 HOT BEVERAGE (☕) | ||
spider-mario | .u 🐪 | ||
phenny | U+1F42A (No name found) | ||
masak | yes, Perl 6 thinks {} is for code blocks (and hashes). | 15:55 | |
bbkr | where was the option to mark RT ticket as testneeded? cannot find it. | 15:56 | |
jnthn | On the Jumbo page, in tags | ||
bbkr | weird, I don't see it there... | 15:58 | |
masak | maybe you're not logged in. | 15:59 | |
[Coke] | bbkr: "Custom Fields" | ||
masak | it's also under "Basics". I never use the "Jumbo" page. | ||
16:01
brrt left
16:02
MayDaniel left
|
|||
bbkr | bbkr.org/~bbkr/testneeded.png - no tags selection... | 16:04 | |
and I'm logged in | 16:05 | ||
I'm sure I was able to add tags in the past. maybe some additional permissions are required today? | 16:06 | ||
16:07
xinming_ joined
16:09
xinming left
|
|||
masak | looks like. | 16:14 | |
dalek | p/toqast: e5cccaa | jnthn++ | src/QAST/Compiler.nqp: Provide a way to handle loadlibs. |
16:15 | |
sorear | good * #perl6 | 16:18 | |
dalek | kudo/toqast: a9770e0 | jnthn++ | src/QPerl6/Actions.pm: Translate GLOBAL installation (still something vm-specific for now). |
16:19 | |
kudo/toqast: 6e0b080 | jnthn++ | src/QPerl6/World.pm: Some QAST translation of setting loading; still will need some generalizing by VM. |
|||
kudo/toqast: f62e3e3 | jnthn++ | src/QPerl6/World.pm: Update loadlibs handling to QAST::VM approach. |
|||
16:21
sporous left
|
|||
jnthn | o/ sorear | 16:22 | |
16:22
sporous joined
|
|||
dalek | p/toqast: 2e6ad4a | jnthn++ | src/HLL/Compiler.pm: Make HLL::Compiler more aware of QAST. |
16:26 | |
bbkr | std: / $. / # I think I found STD regression - error message is messy. back in 2010 it warned about unsupported $. variable, see rt.perl.org/rt3/Ticket/Display.html?id=77550 | 16:27 | |
p6eval | std fd2647b: OUTPUT«Use of uninitialized value $x in pattern match (m//) at STD.pm line 66584.Use of uninitialized value $x in concatenation (.) or string at STD.pm line 66623.===SORRY!===Unsupported use of $. variable; in Perl 6 please use the filehandle's .line me… | ||
moritz | bbkr: it still does | 16:28 | |
bbkr: it simply spits out some warnings before | |||
masak | sorear! \o/ moritz! \o/ | 16:29 | |
16:29
sisar joined
16:32
kaleem_ joined
16:33
REPLeffect joined
|
|||
bbkr | moritz: is it OK that STD error leaks? The part about "Unsupported use of $. variable" is meant to be seen by user, not some internal $x variables failures. | 16:33 | |
moritz | bbkr: it's less than awesome | 16:34 | |
16:37
fridim_ joined
|
|||
dalek | c: 3274031 | moritz++ | htmlify.pl: script for making HTML files very basic and very much a work in progress |
16:39 | |
masak | r: sub foo { .subst("a", "b") }; my $s = "abc"; $s .= &foo; say $s | 16:42 | |
p6eval | rakudo 16db64: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in sub foo at /tmp/tecVI7RLpd:1 in method dispatch:<.=> at src/gen/CORE.setting:835 in block <anon> at /tmp/tecVI7RLpd:1» | ||
masak | r: sub foo { $_.subst("a", "b") }; my $s = "abc"; $s .= &foo; say $s | 16:43 | |
p6eval | rakudo 16db64: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in sub foo at /tmp/Hj4eRtse43:1 in method dispatch:<.=> at src/gen/CORE.setting:835 in block <anon> at /tmp/Hj4eRtse43:1» | ||
masak | r: sub foo { $^s.subst("a", "b") }; my $s = "abc"; $s .= &foo; say $s | ||
p6eval | rakudo 16db64: OUTPUT«bbc» | ||
masak | \o/ | ||
oh, it's only blocks that get an implicit $_? | |||
jnthn | aye | ||
well | |||
an implcit $_ parameter | |||
masak | aye. | 16:44 | |
dalek | p/toqast: a39b82e | jnthn++ | src/QAST/Compiler.nqp: Improve error reporting when we find a PAST node inside a QAST tree. |
16:45 | |
ar: 8fb57ac | ronaldxs++ | skel/tools/build/module-install.pl: I think this is why URI is seg faulting. I have not fully tested this with respect to its overall effect on rakudo star but it seems safe and appropriate enough. I think similar changes were made not long ago to ufo and maybe panda. |
|||
ar: 7e48e51 | moritz++ | skel/tools/build/module-install.pl: Merge pull request #8 from ronaldxs/patch-1 I think this is why URI is seg faulting. I have not fully tested this w... |
|||
16:45
wooden left
|
|||
bbkr | phenny: tell TimToady that / $. / regexp parsing using STD has some internal error "Use of uninitialized value $x in concatenation in line 66623" leaking and shown before "Unsupported use of $. variable" message (meant to be seen by user). RT 77550 shows that it did not happen in the past, so this is an regression in awesomness :) | 16:46 | |
phenny | bbkr: I'll pass that on when TimToady is around. | ||
[Coke] | moritz++ for your help in winproving panda. | ||
oh. I just thought of something. should we have an std run of roast to insure that all the code we're trying to run is valid perl 6? | |||
masak | could I please ask people to review and stress-test github.com/masak/crypt/commit/72ef...43ea3f4802 ? | 16:47 | |
it goes into today's blog post. | |||
[Coke] | not to check tap output, but just to see if the test file itself would generate any errors in compilation. | ||
masak | I'm really proud if this bit of code. Perl 6 is so nice nowadays. | ||
oh, I see something to fix immediately. | 16:48 | ||
[Coke] | on feather, perl6 is This is Rakudo Perl 6, version 2010.08 built on parrot 2.7.0 | 16:50 | |
16:51
seldon joined
|
|||
[Coke] | masak: everyone knows what hanoi is, but perhaps stating the goal in the help? | 16:52 | |
masak | [Coke]: oh! sure. | 16:53 | |
[Coke]: strangelyconsistent.org/blog/anothe...ere-i-come | |||
[Coke]: strangelyconsistent.org/blog/july-1...-black-box | |||
16:53
dakkar left,
wamba joined
|
|||
bbkr | can someone please mark RT 77522 and RT 77524 as testneeded? for some unknown reason I cannot see tags assignment. | 16:53 | |
masak | [Coke]: ...today, I've built a CLI client for the game. it seems to work. I'll be happy to see people wreck it by doing things I hadn't thought of :) | ||
16:55
wamba left,
wamba joined
|
|||
[Coke] | > remove masakian disk | 16:56 | |
Cannot remove the masakian disk because it has been removed | |||
masak | oh! | ||
looks like a bug. [Coke]++ | |||
reproduced here. | |||
investigating. | |||
16:57
wamba left
|
|||
[Coke] | also, having a "show" command would be nice, so I can see where I am after filling the screen with errors. | 16:57 | |
16:57
gesh left
|
|||
masak | yeah, I've simply missed writing a test case for that and implementing that. | 16:57 | |
[Coke]: ok, I'm giving you a "show" command, and then I'll implement the missing functionality. | 16:58 | ||
thank you very much for the feedback. | |||
[Coke]++ | |||
there's more free karma for other people with suggestions :) | |||
[Coke]: 'show' implemented; pushed. it was a one-line change. :) | 17:00 | ||
[Coke] | masak: so, if the goal is to remove the tiny disk, ... I can win pretty quickly. | ||
masak | I'm sorry? where did you get the impression that the goal is to remove the tiny disk? | 17:02 | |
it's an essential part of the adventure game to be able to remove the tiny disk, yes. | |||
but the winning condition in the hanoi game is the usual one. | |||
pmichaud | good morning, #perl6 | ||
[Coke] | masak: help should mention show. | 17:03 | |
masak: from the lack of docs. ;) | |||
masak | [Coke]: help mentioning show coming up. | ||
[Coke]: by the way, you're the first contestant in "Devastate The Adventure Game", as outlined in strangelyconsistent.org/blog/anothe...ere-i-come :) | 17:04 | ||
17:04
spider-mario left
|
|||
[Coke] | masak: so, the goal is to move the tower to the right, aye? | 17:04 | |
17:05
spider-mario joined
|
|||
[Coke] | does the game let me know I've won | 17:05 | |
? | |||
masak | oh! | ||
spider-mario | .u 😈 | ||
phenny | U+1F608 (No name found) | ||
masak | [Coke]: no, the CLI does not let you know you've won... but now that you've pointed it out, it's bloody obvious it should! :D | 17:06 | |
[Coke]++ | |||
[Coke] | well, that was probably the most enjoyable lunch break I'll have this week. ;) | 17:07 | |
masak | yay | ||
timotimo | r: gist.github.com/3034309 | ||
p6eval | rakudo 16db64: OUTPUT«===SORRY!===Confusedat /tmp/9zoH4wflws:1» | ||
timotimo | whoops. | ||
masak | note to self: drop enjoyable Perl 6 apps on #perl6 people during their lunch breaks | ||
timotimo | r: gist.github.com/3034309 | 17:08 | |
p6eval | rakudo 16db64: OUTPUT«1..2ok 1 - ok 2 - » | ||
timotimo | i'm confuse. | ||
17:09
PerlJam joined
|
|||
masak | timotimo: there's a known scoping bug in that area :/ | 17:09 | |
timotimo | OK | ||
masak | it's not *fun* to run into, but it *is* confusing. | ||
so that might be what you're experiencing. | |||
timotimo | i thought it was fun | ||
masak | if you want I can dig out RT. | ||
timotimo | i didn't really run into it | ||
pmichaud | ...scoping bug? /me doesn't see it | ||
timotimo | i kind of provoked it :) | ||
masak | hm, pmichaud is right. | 17:10 | |
it looks correct. | |||
timotimo: please un-confuse us by stating your expectations :) | 17:11 | ||
timotimo | oh? i thought it would save the value of $a at the time the block for the where clause is created | ||
masak | timotimo: why did you think that? | 17:12 | |
timotimo | i don't know actually | ||
masak | that's not how closures work. | ||
[Coke]: fixed. github.com/masak/crypt/commit/45fb...7e25328f6c | |||
[Coke] | masak: danke. | 17:15 | |
[Coke] writes down the list of winning steps so he can more quickly test the win condition later. ;) | 17:17 | ||
masak | and now it tells you when you've won; pushed. | 17:18 | |
adding things to this game tells me the design is *very* right. | |||
timotimo | i'm quite fond of the multi MAIN('test', 'hanoi') "pattern" | 17:20 | |
17:20
fhelmberger left
|
|||
PerlJam | masak: Your throws_exception sub is interesting. | 17:25 | |
it's almost the beginning of a "subtest DSL" :) | 17:26 | ||
masak | I kinda like that factoring too. it feels right. | ||
PerlJam | yep | 17:27 | |
masak goes hunting for food | |||
[Coke] | masak one last bug for you. ;) | ||
masak | keep the bug reports coming, people :) | ||
masak creates a gist of incidents of people breaking the adventure game | 17:28 | ||
[Coke] | you can't seem to unlock with "add", but only with "move" | ||
so my trick of pocketing the small one while I finish the small puzzle doesn't work. ;) | |||
er, the *tiny* one, the *smaller* puzzle | |||
masak | hrm. | 17:29 | |
I'm not sure I consider that a bug. | 17:30 | ||
you mean taking the tiny rod, and then finishing the hanoi game with the remaining disks? | |||
yeah; feature, not bug. :) | 17:31 | ||
the physical explanation is that the floor needs all the disks in place to tip over ;) | |||
[Coke] | masak: but when I add the tiny back to the tower on the right, I don't win | ||
masak | oh! | ||
yes, *that's* a bug. | |||
[Coke] | I have to add it back, then use the "move" command to win. | ||
masak | [Coke]++ | ||
will fix, when I get back from getting food. | |||
[Coke] | \o/ . o O (SCORE!) | ||
masak | people, [Coke] is now two bugs ahead! | ||
where's the rest of you? :P | 17:32 | ||
17:32
GlitchMr left
|
|||
[Coke] | hee! | 17:32 | |
17:32
GlitchMr joined
|
|||
masak | the help now states the goal of the game, and the in-game limitation. [Coke]++ | 17:33 | |
pmichaud | seeing all of the X:: class declarations makes me sad somehow... like we've suddenly recreated some of the most annoying pieces of Java | 17:34 | |
masak | they don't bug me in the least. | 17:35 | |
in fact, I like the X:: namespace. | |||
it's user-extensible, and it being one letter long means I feel like I come out ahead every time I refer to it :) | |||
pmichaud | it just feels like an awful lot of code to write to define an exception; especially when the pattern is so similar | ||
masak | I disagree. | 17:36 | |
[Coke] | it is very javaesque yes. | ||
masak | each one is a few 'has' declarations and a very simple 'message' method. it's very fit for purpose. | ||
[Coke] | rakudo: class barf is Exception; | ||
p6eval | rakudo 16db64: ( no output ) | ||
masak | adventure game bugs so far: gist.github.com/3034482 -- I will try to keep that one up-to-date. | 17:37 | |
[Coke] | masak: I don't get a bug for not letting you know you've won? | ||
*sadfae* | |||
masak | actually, that was a really good feature request. | 17:38 | |
I didn't classify it as "things that didn't behave as they obviously should". maybe I should've. | 17:39 | ||
masak adds it | |||
[Coke] | no worries. | ||
or, fine, worry then! | |||
masak | added. | 17:40 | |
PerlJam | .oO( Is masak the unhappy fairy? ) |
||
masak away, really this time | |||
17:45
felher left
17:46
Kivutar joined
17:47
felher joined
|
|||
Kivutar | hi, what would be better, PIR or zavolaj to write an SDL binding? | 17:48 | |
17:49
pyrimidine joined
|
|||
Kivutar | I found this github.com/PerlGameDev/SDL6 and this github.com/quietfanatic/gamebase | 17:49 | |
PerlJam | Kivutar: Zavolaj IMHO, but it's kind of an apples-to-orange comparison. | 17:50 | |
[Coke] | is your goal to get something usable in perl6, or something usable by any language targetting parrot? | 17:51 | |
17:51
zipf joined
17:52
zipf left
|
|||
Kivutar | having something usable by any language targetting parrot may be more usefull, except if bindings made with zavolaj also works with niea | 17:52 | |
niecza | |||
is it the case? | 17:53 | ||
eiro | hello from Kivutar's home (marseille) | ||
[Coke] | I think that zavolaj only works from rakudo. niecza has its own C# interop you could use. | ||
eiro | masak, jnthn i read you enjoyed your trip: i'm really happy about that | 17:54 | |
[Coke] | the thing about the parrot interop is that the main language you have access to is... rakudo. at which point you might as well use zavolah. | ||
eiro | and mst is awesome! 11h of perl6 code payed back all his fees :) | ||
Kivutar | ok thanks, I'll try zavolaj then (also because it seams a lot easier to use) | 17:55 | |
17:57
xdbr__ left
17:58
adam7504 joined
18:03
mtk left,
adam7504 left
|
|||
masak | eiro: hehe, #perl6 doesn't know about mst's deal yet. :) | 18:05 | |
feel free to tell. | |||
18:06
am0c left
|
|||
pmichaud | I know about it. :) | 18:06 | |
I saw the tweets. | |||
eiro | ok! at fpw, mst sold 40€ a hour to do whatever masak jnthn and tadzik wants for perl6. the credit is 11h :) | 18:07 | |
pmichaud | mst++ fpw++ | ||
eiro | he's awesome! and it was a really pleasant moment! | 18:08 | |
masak | talking to mst++ in the evenings made the trip worth it on its own. but so many other things did, too. | ||
18:09
adam7504 joined
|
|||
eiro | i didn't have time to share with masak and jnthn and hack on perl6... | 18:09 | |
hehe sure! everyone told me having a lot of good time. Strasboourg is a pleasant city and i really think it helps | 18:10 | ||
jnthn | Yes, the city was a great place for a workshop. | ||
eiro | jnthn, or a yapc, as some said so ... but i don't have enougth of courage for that | 18:11 | |
(i'd really love, btw ...) | |||
jnthn | It'd be great for a yapc too, yes. ;-) | 18:12 | |
But that is a lot more work. | |||
eiro | yep.. and now i really know i'm not made for this job. Parhaps we have to convince delphine and alex :) | 18:13 | |
(i'll help for sure) | |||
18:17
kaleem_ left
|
|||
sisar | masak++ #hanoi | 18:17 | |
masak | well, stand by for today's post ;) | 18:18 | |
(but thanks) | |||
masak goes on to fix [Coke]++'s bug | 18:19 | ||
that bug is currently easily the winning one, by the way. | |||
18:19
adam7504 left
|
|||
masak | it has exactly the kind of out-of-the-box sneaky thinking I'm after. | 18:19 | |
"the winning one so far", I should say ;) | |||
18:20
vmspb joined
|
|||
sisar wants l, m , r short forms for left middle and right. Lazy sisar ! | 18:21 | ||
18:23
mucker left
|
|||
sisar | (fwiw, "add <disk> <target>" and "remove <disk>" make you think that you can put anything in place of <disk>, but only by trying you find out that it only accepts "small disk") | 18:25 | |
masak | sisar: I task you with implementing such functionality and to show us the patch :) | ||
sisar: how can we make it clearer what is accepted? concrete examples of commands? | 18:26 | ||
sisar | masak: did you not read? "Lazy sisar!" ;-) | ||
masak | sisar: well, you may still reject the task, of course. :) | ||
sisar | masak: um, not sure. Adding that only the small disk can be removed or added is one way | 18:27 | |
masak: :-) | |||
masak | the tiny disk. | ||
sisar | s/Adding/Mentioning | ||
masak: yes, the tiny disk | |||
masak | I will mention that. good idea. | ||
18:29
GlitchMr left
|
|||
sisar | "> remove large disk ... Cannot move the large disk: it is covered by the medium disk, the small disk, and the tiny disk" Is that the real reason ? No. One might be led to believe that once the medium, small, and tiny disk are out of the way, one can remove the large disk. | 18:31 | |
.oO( damn you bikeshedding, why are you so easy? ) :-) |
|||
masak | sisar: I did that on purpose :) | 18:32 | |
I have a few tests that make sure you first get the 'covered by' exception, and then the 'cannot remove' exception. | |||
yes, I'm sadistic. I know. | |||
masak .oO( masak is supposed to be a masakist! ) | 18:33 | ||
sisar | autopun(?): "I don't grok the word grok". Or... "I don't understand the word understand". Once can go on with synonyms of understand... | 18:34 | |
masak | not really autopuns. | ||
maybe you don't grok the word "autopun" :P | |||
sisar | masak: it does involve use and .. wha's the second part of an autopun ? | 18:35 | |
masak | [Coke]: bug fixed -- github.com/masak/crypt/commit/9f9b...26a09b4331 -- [Coke]++ | ||
isn't it a wonderfully simple fix? :) | |||
sisar: mention. | |||
sisar: yes, but it's supposed to irreverently *confuse* use and mention. | 18:36 | ||
sisar | ah | ||
masak | or at least connect them somehow. | ||
like, "There are two types of people those who write run-on sentences..." | 18:37 | ||
the "there are two types of people" snowclone seems to be a fecund autopun generator, by the way. | 18:38 | ||
as is "now you have 2 problems". | |||
18:38
sudokode left
|
|||
harmil | Hmm… tried to turn my little parser program into an exe (p6->pir->pbc->exe) and executing the binary now exhausts system RAM and does nothing. | 18:39 | |
masak .oO( don't do that, then ) | 18:40 | ||
harmil: srsly, it's hard to say why that happens. I don't think people tend to do the last step to exe. | 18:42 | ||
maybe there's something in there that doesn't work so well. | |||
it's usually considered a bit of a fools-gold activity to try to wrap the whole perl (5 or 6) interpreter in an exe file ;) | 18:43 | ||
18:44
daxim left
|
|||
harmil | Is the output of perl6 —target=pir/parrot (the pbc file, that is) pre-loaded with required modules or does it perform additional load steps at run time? | 18:44 | |
masak | what the heck is that dash character before 'target'? | 18:45 | |
.u — | |||
phenny | U+2014 EM DASH (—) | ||
masak | o.O | ||
oh! you're on a client that... | |||
harmil | That's what my cruddy IRC client turns - followed by - into | ||
masak | ...turns -- into —. heh. | ||
(autocorrection: because the computer knows better than you) | |||
harmil | it's almost—you know—useful.. | 18:46 | |
masak | meh. | ||
harmil | anywhoo, I guess I'l do testing | 18:47 | |
urg… nope, running the pbc through parrot causes the same problem, it's not an exe issue | 18:48 | ||
masak | ok. | 18:49 | |
that's good to know, though. | |||
I believe running a pbc worked at some point. | |||
main reason people didn't run from .pbc files was that apparently, parsing the .pir was basically not slower. | 18:50 | ||
geekosaur | masak: could be set for tex, where -- is en-dash and --- is em-dash, both of which are distinct from hyphen | ||
masak | geekosaur: right, but harmil's very helpful client turned -- into U+2014 EM DASH. | 18:51 | |
harmil | the pir gives the same result. There's something fundamentally different between "perl6 x.p6" and "perl6 - -target=PIR - -output=x.pir x.p6 && parrot x.pir" | 18:52 | |
geekosaur | yeh, I'm suggesting that's nt the most broken autocorrect ) | ||
[Coke] | masak++: verified, fixed. | 18:58 | |
masak | \o/ | ||
[Coke]: knowing about the 'take tiny disk' thing essentially halves the hanoi problem. | 18:59 | ||
[Coke] | masak: i'm lazy! | ||
masak | maybe I should only allow taking the disk when the achievement is unlocked. but that feels a bit arbitrary. | ||
no, I think the lazy-but-creative people basically deserve the shortcut :) | 19:00 | ||
[Coke] | masak: leave it for the clever kids to find. ;) | ||
right. ;) | |||
19:00
brrt joined
|
|||
[Coke] | from tom on p5p: This, I think, is the take-home message from all this. It is ridiculously | 19:01 | |
difficult to describe the spec for a Perl variable by name. It shouldn't be. | |||
19:02
plobsing joined
|
|||
sisar | "...Hanoi game doesn't shut down or finish just because you unlock its achievement. So it's actually possible to un-unlock the achievement too." Is it possible to un-un-unlock it ? | 19:04 | |
masak | yes. | ||
sisar | If yes, after finishing, "remove tiny disk", "add tiny disk right" does not say that the achievement has been (re) unlocked. | 19:05 | |
harmil | I've created a trivial reproducer for the "pir output runs out of memory" problem: gist.github.com/3035007 | ||
can someone verify that they see the same brokenness before I go rebuilding everything obsessively? | |||
masak | sisar: no, due to considerations in the larger adventure game, you have to get "far enough" from the end configuration to actually re-lock the achievement. | 19:06 | |
sisar: namely, you have to move or remove a disk larger than the tiny disk. | |||
sisar | ok, that's fine then. | 19:07 | |
masak | I could perhaps make that condition clearer in yesterday's post. | 19:08 | |
19:13
plobsing left
|
|||
vmspb | rn: my $x=0; $x++ for 1..4; say $x | 19:15 | |
p6eval | rakudo 16db64, niecza v19-7-g5e25209: OUTPUT«4» | 19:16 | |
vmspb | rn: my $x=0; ($x++ for 1..4); say $x | ||
p6eval | rakudo 16db64: OUTPUT«4» | ||
..niecza v19-7-g5e25209: OUTPUT«0» | |||
vmspb | rn: my $x=0; +($x++ for 1..4); say $x | ||
p6eval | rakudo 16db64, niecza v19-7-g5e25209: OUTPUT«4» | ||
masak | vmspb: looks like you're trying to do something. | 19:18 | |
vmspb | this nieczabug? | 19:19 | |
flussence | rn: my $x = 0; eager ($x++ for 1..4); say $x; | ||
p6eval | rakudo 16db64: OUTPUT«4» | ||
..niecza v19-7-g5e25209: OUTPUT«===SORRY!===Undeclared routine: 'eager' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1402 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /hom… | |||
masak | vmspb: oh, I see now. | ||
yes, I believe so. | |||
19:20
cog_ joined
|
|||
sorear | insofar as niecza lacks a 'sink' which eagerizes stuff, it is a nieczabug | 19:21 | |
19:21
brrt1 joined,
brrt left
19:23
cognominal left
19:24
brrt1 left
|
|||
pmichaud | harmil: I don't think we have executing .pir files directly functioning yet. | 19:25 | |
i.e., it's more NYI than anything else. | |||
19:26
brrt joined
|
|||
pmichaud | although the failure mode is indeed truly interesting. | 19:26 | |
jnthn | What is it, ooc? | 19:27 | |
19:27
brrt1 joined
|
|||
pmichaud | it seems to hang and eat up lots of memory | 19:27 | |
A little over 1GB/sec | 19:28 | ||
harmil | yep, that's what I see | ||
I propose we rename the target from PIR to MEMSTRESSTEST and call it a day ;-) | 19:29 | ||
pmichaud | well, we *do* use target=pir for other stuff, such as precompiling modules | ||
we just don't have the PIR smart enough to be used as a standalone program yet. | 19:30 | ||
19:31
brrt left,
birdwindupbird joined
|
|||
pmichaud | gist.github.com/3035176 # in order to have parrot run precompiled .pir code directly -- this would likely have to be made working first | 19:34 | |
afk, lunch | |||
19:38
brrt1 left,
brrt joined
|
|||
harmil | sad to see perl6-log didn't make it into rakudo-star 2012.06. Oh well | 19:40 | |
19:42
seldon left
19:44
kaare_ left
|
|||
sorear narrowly avoids posting a vitriolic reply to bug#132 | 19:45 | ||
diakopter | do the parentheses defer the innards? | 19:46 | |
sorear | yes | ||
masak | ah, indeed. the splice bug that I found yesterday was submitted November 2011: rt.perl.org/rt3/Ticket/Display.html?id=104026 | 19:47 | |
[Coke] doesn't see any need for any vitriol here | |||
19:48
stephenlb joined
|
|||
sorear | There is never need for vitriol. | 19:49 | |
flussence | aww crap, I thought URI.pm would be a 1-char fix in niecza. Then I get a NYI on something else :( | 19:54 | |
colomon | sorear: why do parentheses defer the innards? | 19:59 | |
20:00
snearch joined
|
|||
sorear | colomon: nasty hack to simulate sink context | 20:01 | |
colomon | sorear: ah | ||
sorear | for loops that are direct children of statementlist are run immediately | ||
masak | today's autopun: twitter.com/GaryDelaney/status/25756204076630017 | 20:03 | |
harmil | When you say, "autopun", do you mean that you have something that goes and finds these, masak? | 20:20 | |
diakopter | autopuns are utterances that make mention of some activity/state while also embodying the activity/state. | 20:22 | |
huf | i always try to explain why autopuns are awesome to people | ||
and then i can never remember any examples | 20:23 | ||
literally *none* | |||
(also i suck at making them up on the spot) | |||
20:24
brrt left
|
|||
harmil | So, a meta autopun wouldn't be repundent at all? | 20:29 | |
moritz | the meta the better | 20:30 | |
masak | huf: masak.org/carl/gpw-2012-autopuns/talk.pdf | 20:36 | |
20:39
spider-mario left,
spider-mario joined
20:41
MayDaniel joined
|
|||
colomon never meta autopun he didn't like. | 20:41 | ||
colomon is hating computers with a deep passion today | |||
flussence | rakudo's horribly broken for me today. Parrot OOM errors doing normal stuff :( | 20:42 | |
(that makes two computers it won't work on now...) | |||
diakopter | blame the leap second | 20:43 | |
flussence | gist.github.com/3035588 ...that's an amazingly uninformative error. | 20:45 | |
sorear | 'failed allocation of 2738176 bytes' seems informative enough | 20:48 | |
harmil | I do like the final line, there, though | 20:49 | |
Grammar.pm's inconsistent use of ~ (e.g. between circumfix:sym<sigil> and circumfix:sym<[ ]>) makes me worry. I fear I'm missing subtle implications of ~'s use... | 20:51 | ||
flussence | sorear: yeah, but this *used* to work fine and I have at least 5 gigs free... | ||
jnthn | flussence: When is "used to work" exactly? | 20:52 | |
flussence: Hours? Days? Weeks? | |||
flussence | days at most | ||
jnthn | OK, that bounds what could be to blame. | 20:53 | |
harmil | flussence there's something odd going on in parrot land, methinks. I'm having a hard time getting a trivial program to execute all of a sudden (sudden being defined in days, since I was on vaca for the 2nd half of last week) | ||
flussence | it's not limited to installing nativecall either, I was getting it trying to run the URI module tests | ||
harmil | r: for (1,2) -> $i { say $i } | 20:55 | |
p6eval | rakudo 16db64: OUTPUT«12» | ||
harmil | hmmm... | ||
locally, I get: | |||
Undefined routine '&for' called (line 1) | 20:56 | ||
-v says: This is perl6 version 2012.06 built on parrot 4.5.0 revision 0 | |||
flussence | r: for(1,2) -> $i { say $i } | ||
p6eval | rakudo 16db64: OUTPUT«===SORRY!===Confusedat /tmp/Occ8wCUhLL:1» | ||
flussence | works here, but I'm on 16db64 | 20:57 | |
masak | lol! I blogged! again! \o/ strangelyconsistent.org/blog/july-2...ting-hanoi | ||
flussence | is that removing-a-disk thing part of the normal Hanoi, or did you just add it so you can write more perl6? :) | 21:01 | |
masak | I did add it so that the Hanoi game will plug in well into the bigger adventure game. see previous posts :) | 21:02 | |
(the tiny disk plays a vital role in finishing the quest) | |||
flussence | ooh, that's clever | ||
masak | yeah, I always like that part :) | 21:03 | |
flussence: if you have time, consider playing the game. it's quite fun. the tag is 2011 in the crypt repo. | 21:04 | ||
hm, did I push that tag? :) | |||
tag pushed. | 21:05 | ||
21:09
birdwindupbird left
|
|||
masak | I again encourage people to crash my stuff. a prize has been announced. | 21:10 | |
21:10
snearch left,
skids left
|
|||
harmil | doh. my problem with for not being defined turns out to be a shell alias problem. I was doing a bash "perl6() { …setupenv… \perl6 $* }" I changed $* to "$@" and it works fine. Turns out the one-word program "for" doesn't work so well... | 21:12 | |
masak | that explains it. | 21:13 | |
tadzik | hello #perl6 | 21:35 | |
masak | tadzik! \o/ | 21:36 | |
jnthn | evenin', tadzik | 21:37 | |
tadzik | hello hello | 21:46 | |
that was quite an adventurous day | |||
and FRA is absolutely HORRIBLE | |||
sorear | tadzik! | ||
tadzik | sorear! | 21:47 | |
harmil | r: my %h = <a b c>.map:{$_ => 1} | 21:49 | |
p6eval | rakudo 16db64: OUTPUT«use of uninitialized variable $!key of type Any in string context in block <anon> at /tmp/7yd9m5PocN:1No such method 'count' for invocant of type 'Hash' in method reify at src/gen/CORE.setting:5062 in method reify at src/gen/CORE.setting:4984 in method rei… | ||
21:49
stephenlb left
|
|||
harmil | am I spelling that wrong? | 21:49 | |
tadzik | I think it confuses the block with a hash | ||
my %h = <a b c>.map: {; $_ => 1} | |||
r: my %h = <a b c>.map: {; $_ => 1} | 21:50 | ||
p6eval | rakudo 16db64: ( no output ) | ||
tadzik | yep | ||
';' helps | |||
harmil | freaky, thanks | ||
21:55
stephenlb joined
21:58
MayDaniel left
|
|||
harmil | r: my %x = ("a" => 1, "b" => 2); say %x<a> | 22:00 | |
p6eval | rakudo 16db64: OUTPUT«1» | ||
harmil | r: our %x = ("a" => 1, "b" => 2); say %x<a> | ||
p6eval | rakudo 16db64: OUTPUT«No such method 'STORE' for invocant of type 'Any' in block <anon> at /tmp/95LvfBVWjx:1» | ||
harmil | Why would changing my to our make that break? | ||
tadzik | I don't have any idea | 22:01 | |
jnthn | Because Rakudo's hanlding of non-scalar our scoped things is weird. | ||
harmil | Oh, I think I ran into this before…. our on %ish things is known not working | ||
jnthn | (As in, not really implemented.) | 22:02 | |
harmil | yeah, I ran into that last week… bad memory | ||
sorry | |||
jnthn | bad rakudo too... | ||
harmil | I do think that if something is known not working it would be nice to raise an error instead of failing in odd ways, especially for the star releases. But for now, I'm happy enough just knowing what the breakage is | 22:03 | |
22:11
vmspb left,
PacoAir left
|
|||
harmil | r: try { my $foo = spoon; CATCH { say "There is no spoon"; return; } } | 22:12 | |
p6eval | rakudo 16db64: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&spoon' called (line 1)» | ||
harmil | interesting | ||
22:12
drbean left
|
|||
harmil | n: try { my $foo = spoon; CATCH { say "There is no spoon"; return; } } | 22:13 | |
p6eval | niecza v19-7-g5e25209: OUTPUT«===SORRY!===Undeclared routine: 'spoon' used at line 1Potential difficulties: $foo is declared but not used at /tmp/GgNTO57bus line 1:------> try { my ⏏$foo = spoon; CATCH { say "There is no sUnhandled exceptio… | ||
jnthn | harmil: That's caught at compile time. | 22:14 | |
CHECK time to be specific. | |||
22:15
drbean joined
|
|||
sorear | b: try { my $foo = spoon; CATCH { say "There is no spoon"; return; } } | 22:15 | |
p6eval | b 922500: OUTPUT«There is no spoon» | ||
sorear | harmil: ^^^ previous versions of rakudo behaved differently | ||
alpha: say "Alpha still runs in p6eval" | |||
harmil | hmm… I'm trying to use it in code like so: "use Utensils; try { $spoon = spoon(); CATCH { … what to do if Utensils didn't export a spoon … }" | 22:16 | |
not sure how to do that if it's being trapped at compile-time… how does that even work? | |||
22:17
whiteknight joined
|
|||
harmil | what's b? | 22:17 | |
22:18
whiteknight is now known as Guest62534
|
|||
flussence | b is 'back one rewrite before nom' | 22:18 | |
harmil | nice | ||
sorear | harmil: Conditioning on the exports of a module is a major design smell | ||
It could be done, but I'd want to know why | |||
geekosaur | version skew is the usual reason I find myself needing such things | 22:19 | |
then again that kinda comes from years managing an installation where the baseline was perl5.00503 | 22:20 | ||
harmil | Yep, but in this case I was building up to trying to find a way to define a stub for a module if it didn't exist. | 22:21 | |
I was starting with detecting missing interfaces, then I was going to tackle the whole "how do you catch a failed use in a useful way" thing. | |||
sorear | "how do you catch a failed use" | ||
by using 'require' instead. | |||
harmil | fair enough | 22:22 | |
sorear | r: try { require Moo <&moo>; CATCH { default { say "can't require Moo" } } } | ||
p6eval | rakudo 16db64: OUTPUT«can't require Moo» | ||
sorear | r: try { require Test <&plan>; plan 5 CATCH { default { say "can't require Moo" } } } | ||
p6eval | rakudo 16db64: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 2, near "plan 5 CAT"» | ||
sorear | r: try { require Test <&plan>; plan 5; CATCH { default { say "can't require Moo" } } } | ||
p6eval | rakudo 16db64: OUTPUT«1..5# Looks like you planned 5 tests, but ran 0» | ||
harmil | but that's not terribly useful is the problem. It's that whole "in a useful way" thing that I was building up to. | ||
sorear | how is that not useful | ||
harmil | users get cranky when their programs exit without doing work ;-) | 22:23 | |
sorear | where am I suggesting 'exit'? | ||
harmil | Right now, my stack is about 20 levels deep. What I started out trying to do was cope with the fact that rstar 06 doesn't have my Log module or my IO buffering patch… | 22:25 | |
anyway, not the time for me to debate the finer points of correct error recovery. I'll cobble something together | |||
eiro | jnthn, Kivutar uses zavojakasomething | 22:26 | |
(running sdl code) | |||
22:26
bluescreen10 left
|
|||
Kivutar | jnthn: i'm trying with zavolaj to bind a function that takes OpaquePointers, and call them with the value 0 (to emulate NULL in C), but zavolaj complains about type mismatch | 22:27 | |
Nominal type check failed for parameter ''; expected OpaquePointer but got Int instead | 22:28 | ||
sorear | harmil: I'm not trying to debate error recovery. Why do you think I am? | ||
Require should be perfect for your needs | |||
well, if rstar 06 has require. | 22:29 | ||
if it doesn't, you've got a slightly bigger problem :| | |||
tadzik | Kivutar: the readme says: Note that a null string can be passed by passing the Str type object; a null return will also be represented by the type object | 22:30 | |
Kivutar | thanks | ||
jnthn | Kivutar: Just pass OpaquePointer itself | 22:31 | |
Kivutar: ah, tadzik++ beat me to saying it. But basically, a type object represents null. | 22:32 | ||
Kivutar | thanks, it worked | ||
tadzik | jnthn: so what happened to your laptop? | 22:33 | |
Kivutar | time to go to sleep | ||
jnthn | tadzik: Nothing spectaculor. | ||
Kivutar | zavolaj is a great tool | ||
jnthn | tadzik: It BSOD'd, and then when I rebooted it did the same right away. | 22:34 | |
tadzik | odd | ||
jnthn | tadzik: No disabling of stuff helped | ||
Kivutar | got a small sdl binding in 30min | ||
jnthn | Kivutar: Nice! | ||
tadzik: yeah, odd indeed :( | 22:35 | ||
tadzik: It's hard to guess where the failure really lies... I think it may be new laptop time, though. | |||
22:36
Kivutar left
22:37
plobsing joined
|
|||
harmil | "Can only use nqp_set_sc_for_object with a SixModelObject" — why would "BEGIN { require A }" throw that, given that A contains a single, empty class definition that loads just fine with "use"? | 22:40 | |
tadzik | oh wait | ||
what are you trying to achieve? | |||
"is that symbol exported?" | 22:41 | ||
harmil | at this point in debugging, I don't care if I get anything useful out of the require. | ||
tadzik | My experience with require is "yes, it works" | ||
jnthn | What does require return, ooc? | 22:42 | |
pmichaud | back again | ||
jnthn | I suspect it's leaking a Parrot value into Perl 6 space given that error. | ||
tadzik | r: use Test; say so eval 'my $a = &is' | ||
p6eval | rakudo 16db64: OUTPUT«True» | ||
tadzik | r: say so eval 'my $a = &is' | ||
p6eval | rakudo 16db64: OUTPUT«False» | ||
tadzik | there you are | ||
jnthn | BEGIN { require A; 1 } # will get around this | 22:43 | |
harmil | r: BEGIN { require Test } | ||
p6eval | rakudo 16db64: OUTPUT«===SORRY!===Can only use nqp_set_sc_for_object with a SixModelObject» | ||
harmil | r: BEGIN { require Test;1 } | ||
p6eval | rakudo 16db64: ( no output ) | 22:44 | |
harmil | ok | ||
22:44
thelazydeveloper left
|
|||
jnthn | masak may file a Rakudo bug about it too ;) | 22:44 | |
masak submits rakudobug | 22:45 | ||
tadzik | automagic | 22:46 | |
harmil | p6eval should probably file a bug for any input that results in output containing "SixModelObject" ;-) | ||
tadzik | so, no feedback about Typed::Subroutines? | ||
masak | harmil: people have been trying to automate me for years :P | ||
tadzik | I personally find it quite awesome, but obviously I'm biased | ||
harmil | tadzik: I think subroutines should be typed, though I don't have a preference with respect to touch-typing vs. hunt-and-peck | 22:47 | |
tadzik | :) | ||
masak | :P | ||
tadzik | (github.com/tadzik/Typed-Subroutine...er/README) | ||
masak | harmil: after a while you won't even notice the weird language in here, it will just seem normal to you. :) | 22:48 | |
harmil: rt.perl.org/rt3/Ticket/Display.html?id=113956 | 22:49 | ||
22:50
adu joined
|
|||
harmil | masak: oh, I wasn't suggesting that the language was odd, just that any time a SixModelObject is referenced in an error, it's almost certainly a bug. | 22:50 | |
masak | harmil: oh, I was referring to the "touch-typing" response. | 22:51 | |
harmil | oh, he | ||
heh | |||
pmichaud | for RT #113956, I suspect the problem is the return value of the 'load_module' method in ModuleLoader. In particular: | 22:57 | |
r: BEGIN { require Test <&is>; } # works fine | 22:58 | ||
p6eval | rakudo 16db64: ( no output ) | ||
pmichaud | r: say BEGIN { require Test <&is>; } # works fine | ||
p6eval | rakudo 16db64: OUTPUT«Test()» | ||
23:00
fridim_ left,
sudokode joined
|
|||
pmichaud | perhaps &REQUIRE_IMPORT should be called on all 'required' modules, and it knows what to do with an empty or non-existent import list. | 23:01 | |
harmil | S04 says, "The exception thrower looks up the call stack for a catch lambda that returns () to indicate all exceptions are handled, and then it is happy" … what does "returns ()" mean in that context and how do I make that happen? | ||
pmichaud tries that. | 23:02 | ||
harmil | r: try { require Bogosity; CATCH { say "it was bogus" } } | ||
p6eval | rakudo 16db64: OUTPUT«it was bogusCould not find Bogosity in any of: /home/p6eval/.perl6/lib, /home/p6eval/nom-inst2/lib/parrot/4.5.0-devel/languages/perl6/lib in any load_module at src/Perl6/ModuleLoader.pm:108 in block <anon> at /tmp/I4RNfhHmxV:1» | ||
sorear | harmil: it means you have to treat the exception as handled, using CATCH { default { *your code goes here* } } | 23:03 | |
harmil: or more generally, CATCH { succeed } | |||
harmil | ah, ok | ||
sorear | harmil: the inside of a CATCH is like a given block, and there is a catch-all case that rethrows the exception | 23:04 | |
harmil | it's the default I wasn't doing | ||
r: try { require Bogosity; CATCH { default { say "it was bogus" } } } | |||
flussence | I think my OOM problem was something to do with stale .perl6 and/or rakudo build dir contents, it seems to have gone away on its own... | ||
p6eval | rakudo 16db64: OUTPUT«it was bogus» | ||
harmil | yay | ||
sorear | it's possible for more than one exception to be pending at once, if a previous CATCH died | ||
harmil | according to s05 it's an arbitrary list | 23:05 | |
sorear | the 'catch lambda' is a munged version of your CATCH block which returns the unthrown exceptions | ||
uncaught | |||
flussence | whoa, I don't think this is fixed after all... NativeCall shouldn't take >2.5 gigs of RAM. | 23:22 | |
(still climbing) | 23:23 | ||
yeah, URI's tests pass but this exploded again :( | |||
masak | good night, #perl6 | 23:27 | |
23:42
majrmovies left
23:44
mokko joined
23:46
tokuhiro_ joined
23:48
tyatpi left
23:50
Vlavv_ joined
23:59
preflex left,
atrodo left
|