pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ Set by mncharity on 5 January 2009. |
|||
ovid | Whee! I've now submitted a patch for adding the .trim method: use.perl.org/~Ovid/journal/38261 That was frustrating and fun at the same time. | 00:21 | |
jnthn | ovid: It tends to get more fun and less frustrating as time passes. :-) | ||
ovid | I hope so :) | ||
OK, time for bed. Head hurt. Need pillow. | 00:22 | ||
jnthn | Sleep well | ||
00:22
ovid left
00:48
riffraff left
00:50
kleve left
00:57
cspencer left
01:05
cspencer joined,
elmex left
01:06
icwiener_ joined,
icwiener left,
DemoFreak left,
Blasi left,
athenot left,
yahooooo left,
nothingmuch left,
dmpk2k left,
edenc left,
c1sung left,
Matt-W left,
drbean_ left,
gbacon left,
simcop2387 left,
meteorjay left,
DemoFreak joined,
Blasi joined,
athenot joined,
gbacon joined,
simcop2387 joined,
c1sung joined,
yahooooo joined,
Matt-W joined,
dmpk2k joined,
drbean_ joined,
nothingmuch joined,
edenc joined,
cspencer left
01:18
icwiener_ left
01:42
DemoFreak left
02:06
eternaleye_ left
02:31
agentzh left
02:49
jiing joined,
_jedai_ joined
02:50
meteorjay joined
02:51
alester joined
03:01
alanhaggai joined
03:02
wknight8111 left
03:19
agentzh joined
|
|||
rakudo_svn | r35431 | pmichaud++ | [rakudo]: Throw an exception for bare "say" or "print" (RT #62028). | 03:20 | |
03:25
eternaleye joined
|
|||
pmichaud | rakudo: say; | 03:34 | |
p6eval | rakudo 35431: OUTPUT«say requires an argument at line 1, near ";"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
pmichaud | rakudo: say for 1..3; | ||
p6eval | rakudo 35431: OUTPUT«» | ||
pmichaud | oops. | ||
03:35
meppl joined
|
|||
meppl | good morning | 03:36 | |
rakudo_svn | r35432 | pmichaud++ | [rakudo]: Missed a bare say in r35431 -- this fixes it (RT #62028). | 04:00 | |
04:08
stephens joined
04:25
alester left
|
|||
pmichaud | rt slow. | 04:31 | |
rakudo: say for 1..3; | 04:38 | ||
p6eval | rakudo 35432: OUTPUT«say requires an argument at line 1, near "for 1..3;"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
pmichaud | better. | ||
04:39
_jedai_ left
04:40
_jedai_ joined
04:46
araujo left
05:26
_jedai_ left
05:27
_jedai_ joined
05:29
meppl left
05:38
xuser left
05:39
xuser joined
05:43
xuser left,
xuser joined
05:45
cotto joined,
cotto is now known as cott0
05:46
xuser left,
xuser joined
05:48
xuser left
05:53
jhuni left
05:55
lumi_ joined
06:04
ejs joined
06:09
_jedai_ left
06:10
_jedai_ joined
06:21
hudnix left,
hudnix joined
06:39
azawawi left
07:00
_jedai_ left,
_jedai_ joined
07:06
maerzhase joined
07:09
unobe left
07:17
stephens left
07:23
eternaleye_ joined,
eternaleye left
07:27
maerzhase left
07:46
namenlos joined
07:51
meppl joined
08:01
_jedai_ left,
_jedai_ joined
08:10
krunen joined
08:11
elmex joined
08:19
pbuetow joined
08:21
iblechbot joined
08:34
maerzhase joined
08:36
DemoFreak joined,
felipe joined
08:44
brunoV joined
08:52
vixey joined
08:58
pbuetow left
09:16
vixey left
09:22
araujo joined
09:23
masak joined
09:28
maerzhase left,
maerzhase joined
09:36
|jedai| joined
09:37
_jedai_ left
09:38
spx2_ joined
|
|||
moritz_ | perl6: sub e(@a) { print @a.elems; }; e([1, 2, 3]) | 09:38 | |
p6eval | elf 24885, pugs, rakudo 35432: OUTPUT«3» | ||
09:39
spx2 left
|
|||
moritz_ | currently perl6.vim is too slow for real-world usage | 09:48 | |
I think we should sacrifice exactness for more speed | 09:49 | ||
any objections? (espeically from literal) | |||
literal | yeah, I was intending to do that | 09:50 | |
basically, have some perl6_extended_foo options when you want slow, but exact highlighting | |||
moritz_ | +1 | 09:51 | |
literal | but use something fast which covers only the common cases, by default | ||
Matt-W | speed would be nice | 09:53 | |
10:00
|jedai| left
10:01
|jedai| joined
10:02
Southen_ joined
10:10
riffraff joined
10:13
alanhaggai left
10:17
alexn_org joined
10:20
Southen left
10:37
jhuni joined
10:39
ruoso left
11:04
ludan joined
11:13
ruoso joined
11:14
knewt_ joined,
knewt_ left
11:16
jhuni left
11:17
plainhao joined
11:34
donaldh joined
11:53
DemoFreak left
11:59
|jedai| left
12:00
|jedai| joined
12:01
Lorn joined
12:17
riffraff left
12:25
|jedai| left
12:26
|jedai| joined
12:28
maerzhase left
12:30
Lorn_ joined
12:33
Lorn left
12:34
eternaleye_ left
12:35
Cantacuzenus joined,
eternaleye joined
12:45
Southen joined
12:46
awwaiid left
12:47
eternaleye left,
ludan left,
Southen_ left,
Ehtyar left,
lisppaste3 left
13:00
ludan joined
13:06
eternaleye joined
13:07
elmex left
13:08
pmurias joined
|
|||
masak | ovid++ # trim | 13:11 | |
pugs_svn | r24886 | pmurias++ | [smop] merged has_next/eval/next into eval | 13:16 | |
13:18
elmex joined
|
|||
masak | so, do I just add trim() to S29? any opinions? | 13:19 | |
moritz_ | as a method in Str, I wouldn't object | 13:22 | |
masak | moritz_: and 'is export', yes. I saw that some adaptions needed to be made from ovid's pod doc suggestion. | 13:23 | |
also the named params, if we decide to throw those in. | |||
.perl only exists in method form, right? there's no 'perl($var)'? | 13:37 | ||
13:37
pmurias left
|
|||
moritz_ | afaict yes | 13:38 | |
perl6: say perl [1, 2, 3] | 13:39 | ||
p6eval | rakudo 35436: OUTPUT«Could not find non-existent sub perlcurrent instr.: '_block14' pc 96 (EVAL_16:46)» | ||
..elf 24886: OUTPUT«Undefined subroutine &GLOBAL::perl called at (eval 119) line 3. at ./elf_f line 3861» | |||
..pugs: OUTPUT«\(1, 2, 3)» | |||
moritz_ | and as usual, pugs permits nearly everything :-) | ||
Matt-W | In Perl 6, is there any difference between (1, 2, 3) and [1, 2, 3]? | 13:41 | |
moritz_ | yes | 13:42 | |
the former will flatten in list context | |||
perl6: my @a = 1, (2, 3, 4), [5, 6, 7]; say @a.perl | 13:43 | ||
p6eval | pugs: OUTPUT«\(1, 2, 3, 4, \(5, 6, 7))» | ||
..rakudo 35436: OUTPUT«[1, 2, 3, 4, [5, 6, 7]]» | |||
..elf 24886: OUTPUT«[1,2,3,4,[5,6,7]]» | |||
moritz_ | note that rakudo and elf say the same thing, elf just omits the whitespaces | ||
masak | Matt-W: (1,2,3) is a List, [1,2,3] is an Array. | 13:49 | |
Matt-W | aaaah | ||
masak | moritz_: that's a bug in Elf, I'd say. | ||
moritz_ | yet a List also .perl'ifies ilke an array | ||
masak: why is it a bug? | |||
masak | Matt-W: List objects are immutable, Arrays are mutable. | 13:50 | |
Matt-W | so [1, 2, 3] gives you a single object, which can then be stuck into a list as an element | ||
rather like an anonymous array reference in perl 5, in some situations | |||
masak | moritz_: um, now that I think about it, it isn't... | ||
Matt-W | how convenient :) | ||
masak | moritz_: I was confusing .perl with stringification. | ||
moritz_ | neither S02 nor S29 define a format for the output | ||
masak | moritz_: you're right. | ||
should they? | |||
I mean, is there a good reason to? | 13:51 | ||
moritz_ | not really | ||
for things as complicated as subroutines I'm sure the implementations will differ | |||
masak | maybe warn people not to depend on implementation specifics in .perl methods? | 13:52 | |
13:52
maerzhase joined
|
|||
moritz_ | that's a topic for user-level documentation, not design documents | 13:52 | |
Matt-W | I'd have thought it was acceptable to provide any alternative that parses back to the original structure | 13:53 | |
moritz_ | aye, that's the current spec | ||
masak | moritz_: I see S29 as user-level documentation. | 13:54 | |
I think that's why I care about it the way I do. | |||
moritz_ | masak: compare it to perlfunc in verbosity, and you'll see that it's not nearly there | 13:55 | |
masak | I know. :/ | 13:56 | |
13:56
jimmy_ joined
|
|||
masak | I prefer to compare it to Ruby's ri. | 13:56 | |
jimmy_ | hello masak. | ||
Matt-W | well it might be one day | ||
we're still in early days here when it comes to docs | 13:57 | ||
jimmy_ | rakudo: say self; | ||
p6eval | rakudo 35436: OUTPUT«Lexical 'self' not foundcurrent instr.: '_block14' pc 51 (EVAL_15:38)» | ||
moritz_ | I think that's something we should discuss with @Larry when we get to it | ||
masak | 你好, jimmy_ | 13:58 | |
moritz_ | but I don't see anybody complaining about too much user-level documentation in any of the synopsis documents | ||
so that topic can wait | 13:59 | ||
Matt-W | There isn't any user-level documentation in most of the synopses :) | ||
jimmy_ is going to game. | 14:00 | ||
moritz_ | there are occasional "to achieve $perl5_feature do $this instead" comments | ||
Matt-W | it's not really a comprehensive attempt at user-level documentation | 14:02 | |
14:02
riffraff joined
|
|||
Matt-W | I've made a couple of abortive attempts at a Perl 6 tutorial thingy | 14:02 | |
masak | I think having a good REPL and ri/perldoc-like thing ready for Rakudo 1.0 would be a worthwhile goal. | ||
Matt-W | yes | ||
masak | sometimes I think Envy should be one of the Perl virtues. | ||
look at what Ruby has :) | 14:03 | ||
poignantguide.net/ruby/expansion-pak-1.html | |||
Matt-W | there needs to be Perl 6 for Perl 5 Hackers too | ||
masak | aye, definitely. | ||
if you want the O'Reilly contract, start writing the manuscript now. | |||
Matt-W | I did have a chapter published once in someone else's book | 14:04 | |
moritz_ | Matt-W: Perl6::Perl6::Differences and my 5-to-6 blog both aim in that direction | ||
Matt-W | moritz_: excellent | ||
I was sure I wasn't the only person thinking about it | |||
moritz_ | speaking if writing... if all goes well I'll write an article about Perl 6 Regexes for one of Germanies most reputable IT magazines | 14:05 | |
Matt-W | Excellent | 14:06 | |
I shall have to brush up on my German | |||
moritz_ | s/if/of/ | ||
sadly I have to assign them the copyright, so I can't publish it freely | 14:07 | ||
masak | moritz_++ | ||
I guess there's not much room for negotiation there. | |||
Matt-W | You just have to live with that sometimes | 14:08 | |
At least you'll be getting the word out | |||
moritz_ | and on the bright side it'll also bring me some money | ||
not very much, but perhaps half of my tuition fees for the semester :-) | 14:09 | ||
Matt-W | That's not to be scoffed at | ||
The only thing I've made serious headway on with regard to Perl 6 documentation is a set of slides loosely based on some Perl 5 ones I did for work | |||
but about Perl 6 instead | |||
the trouble is I keep being tempted to compare to Perl 5, whereas I just want to present it as its own thing | 14:10 | ||
donaldh | moritz_: where does your 5 to 6 blog reside? | ||
moritz_ | donaldh: perlgeek.de/blog-en/perl-5-to-6/ | ||
Matt-W | Also I need to do more coding in Perl 6 to get the depth of knowledge to write the thing accurately | ||
moritz_ | it's not been very active lately | ||
donaldh | some useful examples all the same | 14:12 | |
14:12
ejs left
|
|||
moritz_ | they are not tailored to work with present day rakudo | 14:12 | |
more to show off, and generate some interest | |||
Matt-W | It's good stuff though | 14:14 | |
moritz_ | thanks | 14:16 | |
mdxi | seconded. very good stuff :) | 14:18 | |
masak | thirded. kudos. | ||
moritz_ | OH NOEZ, I'VE BEEN THIRDED :-) | ||
masak | were the traffic higher here today, you'd surely have been fourthed and fifthed :P | 14:20 | |
moritz_ | OMG | ||
people use quite a lot RSS these days | 14:21 | ||
masak | brave new world. | ||
moritz_ | the rss feed got 90k hits, the most popular HTML page (the link above) has about 1/10 hits | ||
even though many people use google reader, which caches the feed internally | 14:22 | ||
avar | moritz_: does the perlgeek.de/blog-en/ rss feed cover perl 6 and perl6-to-5 ? | 14:23 | |
mm, 5-to-6 | |||
donaldh | moritz_++ | ||
avar | evidently so | 14:25 | |
14:26
jimmy_ left
|
|||
avar | moritz_: your rss needs a date for each entry | 14:26 | |
moritz_ | avar: perlgeek.de/blog-en/index.rss covers all the blog, including non-perl6-stuff | ||
avar saw | 14:27 | ||
moritz_ | avar: aye, but that freakin' blog system isn't easy :( | ||
avar | rakudo.de/ <- has the test suite really grown this much since last year or is it only t/spec ? | 14:28 | |
moritz_ | avar: mostly t/spec has grown | 14:29 | |
aka moved from rest of t/ | |||
14:36
ruoso left
14:37
riffraff left
14:43
elmex left
14:46
elmex joined
14:59
smtms left
15:04
|jedai| left
15:05
|jedai| joined
15:12
icwiener joined
15:13
Exodist joined
15:22
ejs joined
15:23
maerzhase left
15:25
orafu left
15:26
orafu joined
|
|||
masak ♥ Rakudo | 15:49 | ||
15:56
maerzhase joined
15:57
barney joined
15:59
riffraff joined,
eternaleye left
16:00
stephens joined
16:02
alester joined
|
|||
pugs_svn | r24887 | moritz++ | [t/spec] unfudge a passing smartmatch test (NaN ~~ NaN) for rakudo | 16:04 | |
16:05
vixey joined
16:08
ejs1 joined
16:11
|jedai| left
16:12
|jedai| joined
16:15
riffraff left
16:17
rindolf joined
16:19
ejs left
16:22
jferrero joined
16:24
PZt joined
16:26
Lorn joined
|
|||
rakudo_svn | r35442 | pmichaud++ | [rakudo]: Adjust reference/NCI semantics of IO. Fixes RT #62166. | 16:30 | |
16:35
alexn_or1 joined
16:39
Lorn_ left
|
|||
rakudo_svn | r35443 | jonathan++ | [rakudo] Fix role composition regression from rvar branch merge; methods in the class now resolve conflicts again. | 16:40 | |
16:40
ludan left
|
|||
pugs_svn | r24888 | moritz++ | [t/spec] unfudge test for role composition | 16:41 | |
jnthn | moritz_: Ooh, damm, I had a local patch for that and forgot to apply it! :-) | 16:42 | |
16:42
awwaiid joined
16:43
awwaiid left
|
|||
moritz_ | jnthn: same here, but after 5min I remembered :-) | 16:43 | |
16:43
awwaiid joined
|
|||
masak | probably no harm done :) | 16:43 | |
jnthn | Nope. :-) | ||
16:46
alexn_org left,
pdcawley joined
16:53
justatheory joined
16:59
|jedai| left
17:00
|jedai| joined
17:03
hercynium joined
17:08
alexn_org joined
|
|||
namenlos | masak: here i am | 17:20 | |
masak | namenlos: there you are. welcome. | ||
17:21
ruoso joined
17:24
|jedai| left
17:25
|jedai| joined
17:27
tomyan joined
|
|||
tomyan | std: say [*] < 1 2 3 >; | 17:27 | |
p6eval | std 24888: OUTPUT«00:07 120m» | 17:28 | |
17:28
masak left
|
|||
rakudo_svn | r35444 | jonathan++ | [rakudo] Add more type registry implementation. For now it's not enabled, as it causes us to regress two sanity tests and 20ish spectests; follow up commits will deal with this. | 17:30 | |
17:30
donaldh left
17:36
eric256 joined
|
|||
eric256 wades in through 6 inches of snow ;) | 17:36 | ||
17:38
Lorn_ joined
17:39
azawawi joined
17:43
jferrero left
|
|||
rakudo_svn | r35445 | jonathan++ | [rakudo] Mark Bool and Order as enums, so they are seen as types during the parse. | 17:50 | |
17:50
Lorn left
17:51
pbuetow joined
17:56
namenlos left
17:59
sjn left,
kolibrie left,
shachaf left,
cookys left,
charsbar left,
sjn joined,
charsbar joined,
cookys joined,
kolibrie joined,
shachaf joined
|
|||
rakudo_svn | r35446 | jonathan++ | [rakudo] Fix up type variable declaration handling in is_type. | 18:00 | |
18:00
sjn left,
kolibrie left,
shachaf left,
cookys left,
charsbar left,
shachaf joined,
sjn joined,
kolibrie joined
18:01
perl6examples joined
|
|||
eric256 | mberends++ | 18:01 | |
18:10
Psyche^ joined
|
|||
rakudo_svn | r35447 | jonathan++ | [rakudo] The term action was emitting sub calls incorrectly (not doing namespace lookups), however we didn't notice in a couple of tests because of the typename hack. The type registry picks this up. This patch is from rakudoreg branch, with updates to follow other changes to | 18:20 | |
..this action method. | |||
r35448 | jonathan++ | [rakudo] Make enums declare the types they introduce in the block symbol table. | |||
18:26
Patterner left,
Psyche^ is now known as Patterner
|
|||
meppl | good night | 18:27 | |
18:28
meppl left
|
|||
rakudo_svn | r35449 | jonathan++ | [rakudo] Refinement types need to do the Abstraction role. | 18:30 | |
18:31
[particle]1 joined
18:34
ruoso left
18:36
|jedai| left,
|jedai| joined
18:38
[particle] left
18:45
ryanc joined
18:48
charsbar joined,
[particle]1 is now known as [particle]
|
|||
jnthn | moritz_: ping | 18:48 | |
oh, don't worry actually...misread a fudge directive | 18:49 | ||
pugs_svn | r24889 | jnthn++ | [t/spec] Change a todo to a skip, since Rakudo will barf on it once it starts caring that types have been declared (e.g. soon). | 18:52 | |
PerlJam | jnthn: oh! How soon is soon? Does that mean that my $x = Foo.new will barf if it hasn't seen Foo ? | 18:53 | |
jnthn | PerlJam: Yes. | 18:55 | |
PerlJam | cool. | ||
jnthn | > my $x = Foo.new; | 18:56 | |
Could not find non-existent sub Foo | |||
lambdabot | <no location info>: parse error on input `=' | ||
PerlJam | So ... soon like in the next day or so? or the next week? or ... ? | ||
jnthn | (For now. But I've got some other bits to STD.pm to try and pull in also.) | ||
PerlJam: I'm down to one failing spectest. | |||
So maybe even today. | |||
PerlJam | jnthn++ | 18:57 | |
[particle] | jnthn: you may regress the one test, if you can't figure it out soon | ||
jnthn | However, the one that fails reveals something kinda...interesting...that I wanna discuss with pmichaud. | ||
[particle]: I know what it is now. | |||
[particle] | ah, nice. what is it? | ||
jnthn | It's a lexical vs package scoping confusion. | 18:58 | |
It's only been thrown up by one test. But it hurts. | |||
Writing class foo {} and sub Bar {} will have correct behaviour once I put in the grammar.pg patch. Just checked that one. :-) | 19:01 | ||
19:01
mberends joined
19:08
maerzhase left,
ejs1 left
19:16
alexn_org left
19:26
|jedai| left,
|jedai| joined
|
|||
Matt-W | jnthn++ # fixing the bug I found yesterday | 19:27 | |
jnthn | Matt-W: Thanks for reporting and writing the test. :-) | ||
Matt-W | Least I can do | 19:28 | |
Since I don't understand the compiler :) | |||
19:28
riffraff joined
19:33
alexn_or1 left
19:35
estrabd joined
19:39
rindolf left
19:40
maerzhase joined
19:52
vixey left
19:59
vixey joined
20:01
|jedai| left
20:03
|jedai| joined
20:05
orafu left,
OuLouFu joined
|
|||
rakudo_svn | r35454 | infinoid++ | [cage] Fix a t/codingstd/cuddled_else.t failure. | 20:10 | |
20:30
brunoV left
20:32
DemoFreak joined
20:35
|jedai| left,
|jedai| joined
20:42
azawawi left,
_dh left
20:45
Cantacuzenus left
20:53
[particle]1 joined
20:57
riffraff left
21:00
plainhao left
|
|||
mberends | Hi everyone, you're welcome to browse a new Rakudo HTTP::Daemon running at autoexec.demon.nl:8888/ , the source code is within github.com/eric256/perl6-examples/tree/master | 21:09 | |
eric256 | mberends++ ;) | ||
i get a can't establish connection at that address btw | 21:10 | ||
ohh and its up ;) | |||
nice | |||
21:10
[particle] left
|
|||
mberends | I'm being #perl6-bombed and #parrot-bombed! | 21:10 | |
eric256 | nothing like a little stress testing | 21:11 | |
now we just need to hack in a working Net IO ;) so you don't have to fork out to netcat | |||
mberends | holding up though, about 2 seconds to render each page. Nice visitor log on the console. | 21:12 | |
eric256 | is there a perl6 CGI module ;) | ||
[particle]1 | yes, in pugs repo | ||
don't know if it compiles on rakudo, though | |||
mberends | a bit of one in November... | ||
21:12
[particle]1 is now known as [particle]
|
|||
eric256 | i get a failed to connect 2 out of 3 tries | 21:13 | |
mberends | quite a few others are getting through, still a page every 2 seconds | ||
eric256 | oh cool. i wanted to write a DVD/Blue Ray collection managment website. might be fun to build in perl6 | ||
21:14
icwiener left
21:15
perl6examples left,
perl6examples joined
21:22
mberends left,
mberends joined
21:26
|jedai| left
|
|||
pugs_svn | r24890 | Ovid++ | Tests for the 'trim' builtin. | 21:26 | |
r24890 | Ovid++ | | |||
r24890 | Ovid++ | This is not currently specced, but it's being discussed and I've implemented | |||
r24890 | Ovid++ | the core feature (the bit apparently agreed upon). | |||
r24890 | Ovid++ | | |||
r24890 | Ovid++ | Not sure what to say about trimming lists. | |||
21:26
|jedai| joined
21:27
justatheory left
21:30
pdcawley left,
DemoFreak left
21:31
Lorn_ left
|
|||
eric256 sees talk about moving rakudo to git and is excited ;) | 21:32 | ||
mberends | now a Googlebot has asked for my robots.txt file. no such luck, Google. | 21:33 | |
eric256 | wow taht was fast... google hit the IRC log already i'm guessing? | 21:34 | |
mberends | I have no idea how those messages travel | ||
moritz_ | eric256: the irc log has enough backlings (in the order of 1k) and changes daily, so google sees reason to re-crawl it daily | 21:35 | |
21:39
DemoFreak joined
21:41
AzureStone_ left
21:42
AzureStone joined
|
|||
mberends | is someone here browsing from ournaturalcompanions.com ? | 21:55 | |
21:59
c9s_ joined
22:00
kisu_ joined
22:10
|jedai| left
22:11
|jedai| joined
22:16
c9s left
22:17
Whiteknight joined
22:19
donaldh joined,
kisu left
22:24
ovid joined
|
|||
pasteling | "ovid" at 82.152.164.233 pasted "Bug? Method 'perl' not found for invocant of class 'Match'" (11 lines, 667B) at sial.org/pbot/34406 | 22:26 | |
22:26
barney left
|
|||
ovid | That's breaking my new version of Test.pm. | 22:26 | |
moritz_ | ovid: that's a sad, known "feature" | 22:27 | |
ovid | :( | ||
Crud. I'll need to work around it. Most of the spectests pass with the new Test.pm (the biggest difference is the have/want diagnostics) | |||
mdxi | is it ok to be stoked about finally stumbling on the synopses yesterday morning, and thinking they are full of awesome? or should i just be ashamed of somehow not being aware of them for this long? | 22:31 | |
moritz_ | mdxi: I'm constantly amazed when I discover a new section that I never understood before | 22:34 | |
22:35
|jedai| left
22:36
|jedai| joined
22:37
_dh joined
|
|||
pugs_svn | r24891 | moritz++ | [t/spec] more tests for initializing parent attributes | 22:38 | |
ovid | mdxi: That's perfectly fine. Plenty of people are going to be astonished when they see what Perl 6 can pull off. | 22:39 | |
pasteling | "ovid" at 82.152.164.233 pasted "Known bug? Method '!.^' not found for invocant of class 'Exception'" (10 lines, 641B) at sial.org/pbot/34407 | 22:40 | |
moritz_ | rakudo: try { die "Goodbye cruel world!" };say $! ~~ Exception | ||
p6eval | rakudo 35458: OUTPUT«1» | ||
moritz_ | ovid: looks like a (to me unknown) parse bug | 22:41 | |
ovid | OK. I'll file it. Test.pm is going to take a while :) | ||
eric256 | whats does .^ do? (/me assumes it has something to do with inheritance...dunno) | 22:43 | |
moritz_ | eric256: it calls a method on the meta class, or proto object or whatever it's called | 22:44 | |
eric256 | moritz_: hmmm well that sounds as if i was in the right ball park | ||
is that something like $!.HOW.isa("Exception") then? | 22:45 | ||
moritz_ | eric256: yes | ||
[particle] | my class Array is instead { ... }; # can take care of lexically replacing Array | 22:46 | |
eric256 | rakudo: try { die "Goodbye cruel world!" };say $!.HOW.isa("Exception") | ||
p6eval | rakudo 35458: OUTPUT«too few arguments passed (2) - 3 params expectedcurrent instr.: 'parrot;P6metaclass;isa' pc 107 (runtime/parrot/library/P6object.pir:155)» | ||
eric256 | rakudo: try { die "Goodbye cruel world!" };say $!.HOW | 22:47 | |
p6eval | rakudo 35458: OUTPUT«get_string() not implemented in class 'P6metaclass'current instr.: 'print' pc 18303 (src/builtins/io.pir:26)» | ||
ovid | rakudo: my $foo = "asdf";say $foo.HOW.isa("Exception") | 22:49 | |
p6eval | rakudo 35458: OUTPUT«too few arguments passed (2) - 3 params expectedcurrent instr.: 'parrot;P6metaclass;isa' pc 107 (runtime/parrot/library/P6object.pir:155)» | ||
moritz_ | rakudo: say "abc".isa(Exception) | ||
p6eval | rakudo 35458: OUTPUT«0» | ||
moritz_ | for real world code .isa (inheritance) or ~~ (type conformance) is usally enough | 22:50 | |
jnthn | ovid: When calling methods on the metaclass, you also need to pass along the invocant. | ||
rakudo: my $foo = "asdf";say $foo.HOW.isa($foo, "Exception") | |||
p6eval | rakudo 35458: OUTPUT«0» | ||
jnthn | But there's a special syntax for that. | 22:51 | |
rakudo: my $foo = "asdf";say $foo.^isa("Exception") | |||
p6eval | rakudo 35458: OUTPUT«0» | ||
jnthn | Which calls it on HOW and passes $foo along as well. | ||
pugs_svn | r24892 | moritz++ | [t/spec] svn props on trim.t (use util/add-svn-props.{pl,sh}) | ||
ovid | jnthn: I'm not sure I understand. I mean, I *know* what you're saying is right, but how does that relate to the bug with try { die "Goodbye cruel world!" };say $!.^isa("Exception")? | 22:52 | |
jnthn | ovid: I hadn't read *that* bit. ;-) | 22:53 | |
Oh | |||
moritz_ | jnthn: that's a parse error, it complains about not being able to call method !.^isa | ||
erm, !.^ | |||
but that ! actually belongs to $! | 22:54 | ||
missing LTM fail? | |||
ovid | Yeah, it looks like a parse error, but ... | ||
rakudo: try { die "Goodbye cruel world!" };say $!.HOW.isa("Exception") | |||
p6eval | rakudo 35458: OUTPUT«too few arguments passed (2) - 3 params expectedcurrent instr.: 'parrot;P6metaclass;isa' pc 107 (runtime/parrot/library/P6object.pir:155)» | ||
jnthn | rakudo: try { die "OMGWTFBBQ" }; say $!.WHAT; | ||
p6eval | rakudo 35458: OUTPUT«Exception» | ||
moritz_ | rakudo: try { die "Goodbye cruel world!" };say$!.HOW.isa($!, "Exception") | ||
p6eval | rakudo 35458: OUTPUT«say requires an argument at line 1, near "$!.HOW.isa"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
ovid | That also fails. My new Test.pm is failing a few tests is failing because of that. | ||
moritz_ | rakudo: try { die "Goodbye cruel world!" };say $!.HOW.isa($!, "Exception") | ||
p6eval | rakudo 35458: OUTPUT«1» | ||
jnthn | rakudo: try { die "OMGWTFBBQ" }; say $!.^isa(Exception); | 22:55 | |
moritz_ | ovid: if you use .HOW, you have to duplicate the $! | ||
p6eval | rakudo 35458: OUTPUT«Method '!.^' not found for invocant of class 'Exception'current instr.: '_block14' pc 99 (EVAL_20:55)» | ||
ovid | Ah! That's the workaround :) | ||
jnthn | rakudo: try { die "OMGWTFBBQ" }; say ($!).^isa(Exception); | ||
p6eval | rakudo 35458: OUTPUT«Method '!.^' not found for invocant of class 'Exception'current instr.: '_block14' pc 99 (EVAL_20:55)» | ||
ovid | rakudo: try { die "Goodbye cruel world!" };say $!.WHAT eq "Exception" | ||
p6eval | rakudo 35458: OUTPUT«1» | ||
moritz_ | ovid: no, it's specced that way | ||
ovid | It's not great, but it might do for now. | ||
jnthn is consused | |||
moritz_ | .HOW doesn't give you enough information for introspection | ||
ovid | jnthn: I'm consused, too ;) | 22:56 | |
jnthn | Well, it's more than one metaclass may represent many classes, so you have to say which one you mean. :-) | ||
moritz_ | the only thing wrong in Rakudo is the parse error | ||
jnthn | I'm confused why ($!).^isa is also broke though. | ||
rakudo: eval '$!.^isa(Exception)'; say $!; | 22:57 | ||
p6eval | rakudo 35458: OUTPUT«Use of uninitialized value» | ||
jnthn was expecting the parse error... | |||
22:57
justatheory joined
|
|||
eric256 | rakudo: try { die "Goodbye cruel world!" };my $x = $!; say $x.^isa("Exception") | 22:58 | |
p6eval | rakudo 35458: OUTPUT«Method '!.^' not found for invocant of class 'Exception'current instr.: '_block14' pc 119 (EVAL_20:60)» | ||
eric256 | doesn't appear to be a parse error. | ||
well maybe, is that a compiler optimization + parse error? lol | |||
jnthn | say $!.^isa(Exception); | 22:59 | |
rakudo: say $!.^isa(Exception); | |||
p6eval | rakudo 35458: OUTPUT«0» | ||
moritz_ | eric256: the ! in the error mesasge shouldn't be there | ||
jnthn | Oh! | ||
moritz_ | erm | ||
wait | |||
jnthn | Why did it work there. :-| | ||
23:00
vixey left
|
|||
jnthn | rakudo: $! = Exception.new; say $!.^isa(Exception); | 23:00 | |
p6eval | rakudo 35458: OUTPUT«1» | ||
eric256 | see not a parse error | ||
moritz_ | right | ||
23:00
|jedai| left
|
|||
jnthn | rakudo: $! = Exception.new; say $!.PARROT; try { die "seriously wtf?" }; say $!.PARROT | 23:01 | |
p6eval | rakudo 35458: OUTPUT«Perl6Scalar->Perl6ExceptionMethod 'PARROT' not found for invocant of class 'Exception'current instr.: '_block14' pc 142 (EVAL_19:61)» | ||
jnthn | Aha. | ||
23:01
|jedai| joined
|
|||
jnthn | Type mapping issue. Somehow. | 23:02 | |
23:04
Whiteknight left
|
|||
moritz_ | rakudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new(:y<2>, B{ :x<1> } ); say $o.y.perl; say $o.x.perl; | 23:04 | |
p6eval | rakudo 35458: OUTPUT«undef"1"» | ||
moritz_ | jnthn: that's a nice bug I just submitted | ||
ironically the initialization of the parent attribute (the more complicated thing) worked, the :y<2> did not | 23:05 | ||
jnthn | Maybe introduced in rvar which refactored class construction, or maybe dates back before then. | 23:06 | |
eric256 | akudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new(A{ :y<2> }, :x<1> ); say $o.y.perl; say $o.x.perl; | ||
rakudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new(A{ :y<2> }, :x<1> ); say $o.y.perl; say $o.x.perl; | |||
rakudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new(A{ :y<2> }, :x<1> ); say $o.y.perl; say $o.x.perl; | 23:07 | ||
p6eval | rakudo 35458: OUTPUT«"2"undef» | ||
eric256 | unicode hates me | ||
rakudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new(A{ :y<2> }, A{ :x<1> ); say $o.y.perl; say $o.x.perl; | |||
p6eval | rakudo 35458: OUTPUT«Statement not terminated properly at line 1, near "(A{ :y<2> "current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
eric256 | ]arg | ||
rakudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new( :y<2> , A{ :x<1> }); say $o.y.perl; say $o.x.perl; | |||
unicode and my keyboard both hate me | |||
moritz_ | forgot at } | ||
p6eval | rakudo 35458: OUTPUT«undef"1"» | ||
eric256 gives up and goes to sleep | |||
moritz_ | good idea, actually | 23:08 | |
it's already tomorrow | |||
eric256 | yea the } and the Enter are too close | ||
jnthn | Hmm. Don't have any immediate fix for that Exception issue. | ||
moritz_ | it can be really annoying that on German keyboards ~ and Enter are too close | ||
sometimes I want to write 'rm *~' to get rid of the vim backup files | |||
23:09
donaldh left
|
|||
moritz_ | and you know what happens when I hti the Enter key instead of ~ ;-) | 23:09 | |
eric256 | thank goodnees your using revision control ;) | ||
moritz_ | not for my home dir :/ | 23:10 | |
I probably should :) | |||
rakudo_svn | r35459 | moritz++ | [rakudo] implement Str.trim, patch courtesy by Ovid++ | ||
ovid | Yay :) My first "real" Perl 6 patch. I'm so proud :) | ||
jnthn | ovid++ # nice work! | 23:11 | |
23:11
|jedai| left
|
|||
jnthn | S29 needs a patching too, to add trim, if that didn't already happen. :-) | 23:11 | |
jnthn should really get around to working on S14 at some point soonish too. | 23:12 | ||
ovid | Thanks. It wasn't an impressive task, but it was a nice introduction to pir. | ||
eric256 | looks like try creates a Failure not an exception? but the Failure pir has a !exception method...whats the ! mean in parrot? | ||
23:12
[particle]1 joined
|
|||
jnthn | We use ! for "private" usually. eric256: The problem is that somehow the Parrot Exception doesn't get given various methods it would normally inherit from Object, though, it seems. | 23:13 | |
23:13
|jedai| joined
|
|||
jnthn | As in, Parrot's Exception class and Rakudo's Object class. So much mapping "fun"! | 23:14 | |
ovid | Known? Method 'perl' not found for invocant of class 'Iterator' | 23:15 | |
eric256 | well the !exception method in Failure.pir creatse an Exception object if it doesn't already have an exception... i think pir might hurt my head at this point | ||
moritz_ | ovid: not to me | ||
ovid | Sigh. Another one to reduce to a minimal test case :) | ||
moritz_ | ovid: masak would be so proud ;-) | ||
ovid | Now to figure out what the goldbach conjecture is doing :) | 23:16 | |
Who is masak? | |||
moritz_ | our chief bug reporter | ||
and developer of a Perl 6 wiki engine | |||
jnthn | Probably half of the RT queue is his reports. :-) masak++ | 23:17 | |
(If not more...) | |||
moritz_ | half of the RT tickets in the perl6 queue are his, I think | ||
ovid | Oops! I should pay more attention. | ||
23:17
aindilis joined
|
|||
eric256 forgets to check the volume nob on his radio before cursing at it for not working | 23:18 | ||
23:19
Limbic_Region joined
|
|||
moritz_ *really* goes to bed now | 23:23 | ||
23:25
iblechbot left
|
|||
ovid | Larry says that @array.trim should die with 'no such method' because of @array >> .=trim. How would I implement that? | 23:25 | |
[particle]1 | check that the param does Scalar? | 23:26 | |
wait, won't the sig already check for that? | 23:27 | ||
ovid | Is it sub 'trim' :method :multi('Str')? | ||
I have sub 'trim' :method :multi(_) | |||
[particle]1 | likely, yes | ||
ovid | I'll try that. | 23:28 | |
[particle]1 | it might be (['Str']) | ||
23:28
aindilis left
|
|||
[particle]1 | that bit of syntax has recently been discussed, not sure what's current | 23:28 | |
23:28
aindilis joined
23:29
[particle] left,
maerzhase left
|
|||
jnthn | Does this mean that maybe it's just a method on Str, not on Any? | 23:31 | |
ovid | It looks like "sub 'trim' :method :multi('Str')" works just fine. | ||
jnth: Yeah, that's what it would mean. Hmm ... I'm not sure if that's what would be intended. | 23:34 | ||
I also asked "Won't that fail with 'No such method' on an array of hashes? Or are hyperops applied recursively?" | 23:36 | ||
[particle]1 | you can do >> .keys.trim | 23:37 | |
hrmm, maybe it'd be @array>>.values.keys.trim; | 23:38 | ||
if you want to trim the keys of the hash | |||
>> is probably going to iterate over @array.values, so it's probably just .keys.trim | 23:39 | ||
jnthn | I think it's recursively. | ||
I think hyperops also work over hashes. | |||
I didn't implement that bit though. | |||
[particle]1 | i guess i have some re-reading to do :) | ||
jnthn | I looked at the hashes bit and thought...OK, another day. :-) | 23:40 | |
eric256 | wouldn't that be @array>>.key.trim ? i was thinking >> would be like .key.trim for @array (but that might not be the case) | 23:41 | |
ovid | Wow! It's astonishing how many bugs my new Test.pm has exposed! :( | ||
[particle]1 | what is Pair.trim going to do? that's the question. | 23:42 | |
23:42
kane_ joined
|
|||
jnthn | ovid: Look forward to the tickets. ;-) | 23:44 | |
ovid | jnthn: far too many right now. I'm going to send my new Test.pm as an attachment (not a patch) to perl6-compiler to see if I've just screwed up royally. | 23:46 | |
jnthn | ovid: It's also possible you're touching on stuff that's not implemented yet. | 23:47 | |
eric256 | ovid: you can put it up in github.com/eric256/perl6-examples/t...master/lib if you want a place where other people can hack on it outside the official repo | 23:48 | |
[particle]1 | where is test.pl in the perl 5 source? | 23:54 | |
i'm just looking online at the repo, don't have a checkout | |||
ah, found it in t/ | |||
pasteling | "ovid" at 82.152.164.233 pasted "Sample Test.pm" (257 lines, 7.3K) at sial.org/pbot/34409 | 23:55 | |
23:55
|jedai| left
23:56
eric256 left
|
|||
ovid | eric256: I'm tired and need to go to bed, so if you want to see what I did for languages/perl6/Test.pm, just check that paste. | 23:56 | |
23:56
aindilis` joined,
|jedai| joined
|
|||
ovid | Great timing :) | 23:56 |