»ö« 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. |
|||
lue | threads as in a computer's, right? (/me only knows them from extensively reading N64 system documentation) | 00:01 | |
00:03
Trashlord joined
00:08
Trashlord left
00:09
Trashlord joined
|
|||
flussence | threads as in "if you segfault here, the rest of it comes crashing down" :) | 00:13 | |
lue | Ooh, then I guess that was a segfault in the most recent Doctor Who episode... | 00:15 | |
sorear | good * #perl6 | 00:18 | |
lue | hello sorear o/ | 00:19 | |
00:26
donri left
|
|||
colomon | \o | 00:27 | |
sorear: it seems declaring the basic arithmetic operators as multi subs is enough to bring niecza to its knees | |||
sorear | I'm not suprised | 00:28 | |
00:28
Trashlord left
|
|||
sorear | so I'm now awake and have no remaining major obligatons today. perl6 time :D | 00:30 | |
00:30
Trashlord joined
|
|||
colomon | \o/ | 00:30 | |
huh. I tried making just infix:<+> and infix:<*> multi, but it still worked. But if you make all of infix:<->, infix:</>, infix:<%>, and infix:<**> multi too, "mono run/Niecza.exe" just hangs. | 00:32 | ||
00:33
Trashlord left
|
|||
sorear | phenny: tell masak to read about --author and --date in git-commit(1) | 00:34 | |
phenny | sorear: I'll pass that on when masak is around. | ||
00:34
Trashlord joined
|
|||
colomon | It's multi sub infix:</> that's the culprit, it seems | 00:39 | |
00:47
cyfi joined
|
|||
colomon | crap. you get the command line with + - * multi, but t/fudgeandrun t/spec/S03-metaops/reduce.t just hangs. sigh. | 00:47 | |
00:51
Trashlord left
|
|||
sorear | colomon: can you actually do any math that way? | 00:54 | |
I'm suprised it works at all | |||
00:54
Trashlord joined
|
|||
sorear | and it'll definitely be very slow - niecza's inlining mechanism doesn't work with multis yet | 00:54 | |
colomon | ah. | 00:55 | |
well, I guess I won't be fixing this bug tonight, then. | |||
the good news: my wife just declared she is too tired to watch the dreary romantic comedy we were just watching, so I'm able to switch to the football game. :) | 00:59 | ||
lue | .oO(You can't be watching it *that* closely if you have time for #perl6) |
01:00 | |
colomon | it wasn't the sort of film that required close watching. | 01:02 | |
in fact, it was the sort of film that was worse the closer you were paying attention, I think. | |||
01:04
Trashlord left
01:06
Trashlord joined
01:08
risou_awy is now known as risou
01:15
wolfman2000 joined,
Trashlord left
01:16
Trashlord joined
01:17
[Coke] left
01:18
[Coke] joined
01:22
daniel-s left
01:23
[Coke] left,
daniel-s joined
01:25
[Coke] joined
01:26
Trashlord left
01:27
Trashlord joined,
masonkramer joined,
tokuhiro_ joined
|
|||
sorear | heh, the issue was I broke C3 | 01:28 | |
or did I? | 01:29 | ||
01:32
[Coke] left
01:34
[Coke] joined
|
|||
sorear | ...yes, I did. | 01:36 | |
disagrees with Perl5's C3 | 01:37 | ||
01:37
Trashlord left
01:38
mtk left
01:39
[Coke] left
01:40
Trashlord joined,
[Coke] joined
|
|||
dalek | ecza/serialize: 049b617 | sorear++ | lib/ObjModel.cs: Fix misreimplementation of C3 MRO |
01:43 | |
01:46
[Coke] left
01:48
[Coke] joined
01:51
Trashlord left
01:52
[Coke] left
01:54
[Coke] joined,
Trashlord joined
02:00
[Coke] left
02:02
[Coke] joined
02:06
Trashlord left
02:10
Trashlord joined
|
|||
dalek | ecza/serialize: a3850e3 | sorear++ | lib/Cursor.cs: Reimplement LTM handling for parametric role variables |
02:11 | |
sorear | \o/ All tests successful. | ||
now for the things that test.pl (deliberately) doesn't test.. | |||
02:15
masonkramer left,
Transformer joined
02:18
Transformer left
02:20
Trashlord left
02:25
Trashlord joined
02:27
risou is now known as risou_awy
|
|||
colomon | sorear: If you're there at the moment, any idea how to get access to msdn.microsoft.com/en-us/library/mi....110).aspx (FileSystem class) from mono? | 02:32 | |
I'm trying to get at a mkdir command (like FileSystem.MkDir) | 02:33 | ||
hmmm, maybe System.IO.Directory.CreateDirectory instead? | 02:34 | ||
sorear | yes, use System.IO.Directory | 02:35 | |
sorear wanders back | |||
02:35
Trashlord left
|
|||
colomon | sorear++ | 02:36 | |
02:36
Trashlord joined
02:42
benabik joined
|
|||
dalek | ecza: 8b9e1af | (Solomon Foster)++ | lib/ (2 files): Add simple form of mkdir. |
02:44 | |
02:47
Trashlord left
02:49
tokuhiro_ left,
Trashlord joined
03:01
Trashlord left
03:05
Trashlord joined
03:11
Chillance left
03:17
uasi joined
03:18
Trashlord left,
abercrombie left
03:20
Trashlord joined
03:32
uasi left
03:35
Trashlord left
03:37
Trashlord joined
03:45
skangas joined
03:53
Trashlord left
03:55
Trashlord joined
|
|||
dalek | ast: 02c1b47 | Coke++ | S0 (5 files): rakudo fudging |
04:06 | |
04:06
skangas left
04:12
Trashlord left
04:15
Trashlord joined
04:20
cyfi left
04:24
cyfi joined
04:28
Trashlord left
|
|||
dalek | kudo/nom: 1937529 | Coke++ | t/spectest.data: run fudged tests |
04:29 | |
04:35
bluescreen10 left,
aindilis left
04:36
aindilis joined
04:42
Trashlord joined
04:44
thou left,
Trashlord left
04:45
thou joined
04:46
Trashlord joined,
wolfman2000 left
04:48
skangas joined
04:59
soh_cah_toa left
05:00
uasi joined
05:02
Trashlord left
05:04
Trashlord joined
05:16
orafu left
05:17
orafu joined
05:19
Trashlord left
05:20
Trashlord joined
05:23
Trashlord left
05:24
Trashlord joined
05:34
alvis left
05:45
Trashlord left
05:47
Trashlord joined
|
|||
sorear | perl6: say 5 || 2 ?? 1 !! 0; | 05:51 | |
p6eval | pugs b927740, rakudo 193752, niecza v10-60-g8b9e1af: OUTPUT«1» | ||
05:51
F00LI5H is now known as f00li5h
05:56
cognominal___ joined
05:58
Trashlord left,
cognominal___ left,
cognominal___ joined
05:59
cognominal_ left
06:00
Trashlord joined
06:04
GlitchMr joined
06:12
drbean left
06:15
kaare_ joined
06:16
djanatyn is now known as djanatyn|afk
|
|||
dalek | ecza/serialize: d0a95e5 | sorear++ | / (6 files): Reimplement eval. Currently breaks stash merging when used |
06:23 | |
06:29
drbean joined
06:31
dukeleto left,
dukeleto joined
06:33
Trashlord left
06:34
Trashlord joined
06:38
Trashlord left
06:39
Trashlord joined
06:40
uasi left,
thou left
06:42
wamba joined
06:58
Trashlord left
07:01
Trashlord joined
07:11
Trashlord left
07:15
Trashlord joined
07:20
SHODAN joined
07:31
kfo_ joined
07:35
kfo left
07:52
araujo left
08:04
wk joined
|
|||
snarkyboojum | what's the time line for current master to get back to the kind of regex support that ng enjoyed? | 08:05 | |
I ask, because this lack of regex goodness is blocking most of my private projects currently - and nom rocks, so I want to use it ;) | 08:07 | ||
08:08
cognominal___ left
08:09
cognominal___ joined
|
|||
tadzik | we're blocking on pmichaud++ | 08:10 | |
08:12
im2ee joined,
drbean left
|
|||
Woodi | Hi today :) | 08:23 | |
again about git/rakudo/nqp... cat rakudo/tools/build/NQP_REVISION -> 2011.09-31-gd2d759f | 08:24 | ||
cd nqp ; git log | grep gd2d759f -> null | |||
it means: git log do not look enough long in back ? or other branch or something ? | 08:25 | ||
08:26
uasi joined
|
|||
moritz | Woodi: the leading 'g' is not part of the sha1 | 08:26 | |
08:27
drbean joined
|
|||
Woodi | oops :) didn't know that... | 08:28 | |
now works :) thanx | 08:30 | ||
08:32
grondilu joined
|
|||
grondilu | I wrote four sentences to help remember operator precedence in Perl6 | 08:32 | |
s0.barwen.ch/~grondilu/methodist.txt | 08:34 | ||
sirmacik | s0.barwen.ch/~grondilu/methodist.txt | 08:35 | |
ops, sorry ;x | |||
grondilu | (that was weird) | ||
moritz | nice :-) | ||
grondilu | it almost sound like a poem, doesn't it? :) | 08:36 | |
sirmacik | grondilu: I'm not used to putty :/ | ||
08:45
Gothmog_ left,
jfried left
08:47
grondilu left
08:51
cognominal_ joined
08:54
cognominal___ left
08:57
SHODAN left
|
|||
snarkyboojum | sirmacik: enjoyable read :D | 09:08 | |
"tights" == "tightens"? | 09:09 | ||
09:15
PacoLinux left
09:16
PacoLinux joined
09:17
manildomin joined
|
|||
manildomin | hi everyone | 09:17 | |
tadzik | hi manildomin | 09:18 | |
manildomin | I am reading Using Perl6 but I've got a few issues with the first example | ||
can you give me some help? | 09:19 | ||
snarkyboojum | manildomin: I reckon you should just ask ;) | 09:21 | |
manildomin | ok, I have tried to run the first example in the book "Using Perl6", which is about parsing a file containing scores of a table tennis tournament | 09:22 | |
when I try to run it with "perl6 test.pl", I get: | |||
Use of uninitialized value in numeric contextUse of uninitialized value in numeric context | |||
and the code I strive to run is exactly the same as the code given in the book | 09:23 | ||
tadzik | it appears that the book examples need some review, ney? We should probably turn them into tests or such | ||
manildomin: it may be that the code did not follow the latest compiler changes, sorry for that | 09:24 | ||
I'll take a look at it now | |||
manildomin | ok thanks | ||
I'm using rakudo 2011.09 | |||
tadzik | manildomin: I just tried it and it works fine for me | 09:25 | |
09:25
Kivutarrr joined
|
|||
tadzik | the code starting with my $file = open 'scores';, right? | 09:25 | |
manildomin | no, mine start with "use v6;" | 09:26 | |
but the next line is the one you put | |||
tadzik | yeah, that's fine | ||
use v6 doesn't really matter | |||
manildomin: gist.github.com/1307166 | |||
I'm using a bit newer Rakudo, but I don't think that matters. Are you sure you're running the same code with the same data? | 09:27 | ||
manildomin | yes | 09:28 | |
I replaced my code with yours and I've got the same result | |||
perl6 --version gives me: | 09:29 | ||
This is perl6 version 2011.09 built on parrot 3.8.0 revision 0 | |||
tadzik | snarkyboojum: do you have 2011.09 in handy, maybe? | ||
sirmacik: or you? | |||
snarkyboojum | tadzik: nope - just latest master | 09:30 | |
tadzik | manildomin: that may be the version issue then, do you haev a possibility to upgrade to 2011.10? | ||
manildomin | I will have to compile the new version manually then | 09:31 | |
colomon | are you sure there's not an extra blank line or two at the end of the data file? | ||
manildomin | there are no extra blank lines | ||
TiMBuS | hey, is there a version of p6eval on github somewhere? i wanna run it on another server.. | ||
also hi | |||
tadzik | TiMBuS: isn't that perl6/evalbot or so? | ||
moritz | it is | 09:32 | |
TiMBuS | probably! | ||
snarkyboojum | we should definitely have tests run as part of 'make'ing the book imo | ||
TiMBuS | is it safe or do i gotta jail it etc | ||
moritz | it's not safe at all. | ||
TiMBuS | :< | ||
moritz | I run it as a separate user in a chroot on a VM that isn't used for important stuff | 09:33 | |
TiMBuS | i guess i might do that | 09:35 | |
09:36
xinming joined,
alvis joined
09:37
MayDaniel joined
|
|||
snarkyboojum | manildomin: fwiw, I get errors trying to run that example too :) | 09:37 | |
manildomin | ah | ||
I will compile the latest rakudo release | 09:38 | ||
snarkyboojum | and my perl 6 isn't that old either | ||
moritz | works on current rakudo | 09:39 | |
what's the error message you get? | 09:40 | ||
snarkyboojum | gist.github.com/1307178 | ||
tadzik | trailing blank lines | ||
oh, it's something different | 09:41 | ||
masak | morron, #perl6 | 09:42 | |
phenny | masak: 00:34Z <sorear> tell masak to read about --author and --date in git-commit(1) | ||
masak | sorear: I did, but decided against that option. | 09:43 | |
snarkyboojum | tadzik: trailing blank lines? | ||
masak | mostly because it felt like I'd have to clear that before TheDamian before making commits in his name. | ||
s:1st/before/with/ | |||
tadzik | snarkyboojum: in scores, maybe? | 09:44 | |
snarkyboojum | tadzik: nope | ||
tadzik: just using space in gist for clarity ;) | |||
tadzik | ok ;) | 09:45 | |
I should probably write a blogpost about MuEvent | |||
09:47
mj41_nb joined,
mj41 joined
|
|||
snarkyboojum | what's MuEvent? :D | 09:48 | |
tadzik | yes, I should :) | ||
this: gist.github.com/1305904 | |||
it's an anyevent lookalike | |||
snarkyboojum | ah - I thought it was a new cool Perl6 conference :D | 09:49 | |
but this is a new cool anyevent lookalike | |||
awesome | |||
masak | we should totally have a MuEvent Perl 6 event ;) | 09:51 | |
tadzik | :) | ||
let's define it. Oh, wait | 09:52 | ||
masak | I object! | ||
snarkyboojum | tadzik: look forward to the post | 10:02 | |
masak | man, Yudkowsky keeps rocking my world. | ||
10:02
manildomin left
|
|||
masak | "If you want to sound deep, you can never say anything that is more than a single step of inferential distance away from your listener's current mental state." :) | 10:06 | |
tadzik | heh | ||
phenny: "mów do głupca mądrze a nazwie cię idiotą"? | |||
phenny | tadzik: "Speak to the wise fool and called you an idiot" (pl to en, translate.google.com) | ||
tadzik | not really | ||
"speak wisely to the fool, and he'll call you an idiot" | |||
masak | maybe "wisely" could be taken as "taking more than a single step of inferential distance away from the fool's current mental state", then. | 10:10 | |
tadzik | probably | 10:11 | |
masak | I see the same things happening in understanding programming and design concepts. | ||
first you need to understand that DRY is everything. | |||
*then* you need to understand that DRY isn't everything. :) | |||
but it's quite important to learn it in that order. | 10:12 | ||
tadzik | like with optimization | ||
masak | how is it like with optimization? | ||
tadzik | "don't do it", is the first rule | 10:13 | |
then, how do I wrap it in words | |||
if you're wise enough to optimize correctly, then you're wise enough to know when to break the first rule | |||
10:14
Mowah_ joined
|
|||
masak | rightright. | 10:15 | |
it's interesting what topics are like that, where people need to be *told* that they aren't competent enough to do a good enough job. | 10:17 | ||
security/encryption seems to be another. | |||
perl6: my $a = 1; my $b = 2; ($a, $b) = $b, $a; say $a; say $b | 10:28 | ||
p6eval | pugs b927740, rakudo 193752, niecza v10-60-g8b9e1af: OUTPUT«21» | ||
masak | \o/ | 10:29 | |
10:37
Grrrr joined
|
|||
masak | perl6: say 1 +^ 2 +^ 3 | 10:46 | |
p6eval | pugs b927740, rakudo 193752, niecza v10-60-g8b9e1af: OUTPUT«0» | ||
masak | perl6: say 1 +^ 4 +^ 5 | ||
p6eval | pugs b927740, rakudo 193752, niecza v10-60-g8b9e1af: OUTPUT«0» | 10:47 | |
masak wonders if it'd be worth it to manually translate his June blogging games into JavaScript, so they can be played online | 10:49 | ||
maybe I should translate them into Dart. ;) | 10:51 | ||
10:52
manildomin joined
|
|||
manildomin | I'm back | 10:52 | |
masak | re-greetings, manildomin | 10:53 | |
manildomin | I compiled an older version of rakudo (This is Rakudo Perl 6, version 2011.04 built on parrot 3.8.0 0) and the source code doesn't work either!! | ||
I get : | |||
Method 'split' not found for invocant of class '' in <anon> at line 12:test.pl in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp | |||
masak | yeah, I saw in the backlog that you had problems with the first example in the book. | ||
allow me to try it out locally to see if I can reproduce your warnings. | 10:54 | ||
manildomin | yes | ||
ok | |||
masak | I'm running Rakudo 2011.06 here, for some reason. | ||
ooc, how did you copy the source code? from the PDF? | 10:55 | ||
manildomin | I wrote it myself | ||
masak | how diligent. :) | ||
manildomin | and I checked for errors | ||
masak | I'll take a shortcut and copy it from the source repository. | ||
manildomin | ok | ||
masak | hm. no warnings here. | 10:57 | |
how about I make a gist of the contents of my two files, and then you can compare at your leisure? | |||
manildomin | which version of parrot and rakudo do you have ? | ||
ok | |||
masak | Rakudo 2011.06, and the Parrot that goes with that release, 3.5.0. | 10:58 | |
manildomin: gist.github.com/1307245 | 10:59 | ||
I didn't even de-indent things, so everything has a four space indentation. but I don't think it much matters one way or another. | 11:00 | ||
manildomin | thanks I try it | 11:01 | |
11:01
wk left
|
|||
masak | the script also works fine on current HEAD revision. no warnings. | 11:02 | |
manildomin | it works with (Rakudo Perl 6, version 2011.04 built on parrot 3.8.0 0) | 11:08 | |
I understood the problem: | |||
I have a blank line at the beginning of the 'scores' files | 11:09 | ||
how stupid i am | |||
masak | not to worry. | ||
you found the problem :) | |||
manildomin | I will try this again with the newer rakudo 2011.09 | ||
thanks | 11:10 | ||
masak | I think it'll work there. it works fine on HEAD. | ||
no problemo. | |||
11:12
cognominal___ joined
|
|||
masak | std: my @names; my @sorted = @names.sort({ %sets{$_} }).sort({ %matches{$_} }).reverse; say @sorted.perl | 11:13 | |
p6eval | std 580b69a: OUTPUT«===SORRY!===Variable %sets is not predeclared at /tmp/6FwKmw6DRP line 1:------> my @names; my @sorted = @names.sort({ ⏏%sets{$_} }).sort({ %matches{$_} }).reveVariable %matches is not predeclared at /tmp/6FwKmw6DRP line 1:----… | ||
masak | std: my (@names, %sets, %matches); my @sorted = @names.sort({ %sets{$_} }).sort({ %matches{$_} }).reverse; say @sorted.perl | 11:14 | |
p6eval | std 580b69a: OUTPUT«ok 00:01 125m» | ||
masak | std: my (@names, %sets, %matches); my @sorted = @names.sort: { %sets{$_} }.sort: { %matches{$_} }.reverse; say @sorted.perl | ||
p6eval | std 580b69a: OUTPUT«ok 00:01 125m» | ||
masak | std: my (@names, %sets, %matches); @names ==> sort: { %sets{$_} } ==> sort: { %matches{$_} } ==> reverse ==> my @sorted; say @sorted.perl | ||
p6eval | std 580b69a: OUTPUT«===SORRY!===Illegal redeclaration of symbol 'sort' (see line 1) at /tmp/YWCtyqEueC line 1:------> names ==> sort: { %sets{$_} } ==> sort: ⏏{ %matches{$_} } ==> reverse ==> my @sorPreceding context expects a term, but found infi… | ||
masak | std: my (@names, %sets, %matches); @names ==> sort { %sets{$_} } ==> sort { %matches{$_} } ==> reverse ==> my @sorted; say @sorted.perl | 11:15 | |
p6eval | std 580b69a: OUTPUT«===SORRY!===Preceding context expects a term, but found infix ==> instead at /tmp/_6mh8ci_7D line 1:------> } ==> sort { %matches{$_} } ==> reverse ⏏==> my @sorted; say @sorted.perlParse failedFAILED 00:01 126m» | ||
masak | std: my (@names, %sets, %matches); @names ==> sort({ %sets{$_} }) ==> sort({ %matches{$_} }) ==> reverse ==> my @sorted; say @sorted.perl | ||
11:15
cognominal_ left
|
|||
p6eval | std 580b69a: OUTPUT«===SORRY!===Preceding context expects a term, but found infix ==> instead at /tmp/OndsN7L2vG line 1:------> ==> sort({ %matches{$_} }) ==> reverse ⏏==> my @sorted; say @sorted.perlParse failedFAILED 00:01 126m» | 11:15 | |
masak | hm. | ||
im2ee | nom: class a { method abc ( @l ) { say @l.perl; }; }; my $a = a.new; $a.abc(<a b c>); | 11:26 | |
p6eval | nom 193752: OUTPUT«("a", "b", "c")» | ||
im2ee | nom: class a { method abc ( @l is rw ) { say @l.perl; }; }; my $a = a.new; $a.abc(<a b c>); | ||
p6eval | nom 193752: OUTPUT«("a", "b", "c")» | ||
11:29
manildomin left
11:30
cognominal___ left,
cognominal___ joined
11:31
SHODAN joined
11:35
whiteknight joined
11:38
Psyche^ joined
11:40
araujo joined
11:41
Patterner left,
Psyche^ is now known as Patterner
11:42
Manildomin joined
|
|||
Manildomin | hi again | 11:42 | |
I confirm that with rakudo 2011.09, the code works too | |||
11:44
cognominal___ left,
cognominal___ joined
|
|||
masak | \o/ | 11:48 | |
11:59
Manildomin left
|
|||
im2ee | masak, that bug, which we found yesterday is repaired? :) | 12:07 | |
flussence | anyone remember that thing TimToady++ said about most of the helpful errors just being TTIAR rephrased in context? Maybe that'd be a good idea for undef errors too... | 12:08 | |
snarkyboojum | I definitely found the first book example breaking on my Rakudo, until I updated to latest nqp, parrot, rakudo | 12:09 | |
fwiw | |||
masak | im2ee: you will have to be more specific :) which bug? | ||
rt.perl.org/rt3/Ticket/Display.html?id=101964 ? | 12:10 | ||
12:10
tokuhiro_ joined,
overrosy left
|
|||
im2ee | masak, yes. This one. :) | 12:11 | |
masak | it hasn't been fixed yet. but I could debug it with you, if you want. | 12:12 | |
12:12
overrosy joined
|
|||
im2ee | masak, it'll be great, if so. :) | 12:12 | |
masak, but.. how? :) | |||
12:13
mj41_nb left,
mj41 left
|
|||
masak | well, we should probably start by generating out the PAST. | 12:14 | |
the interesting question is "why do attribute arrays behave differently when passed to a method?" | |||
im2ee | Right. | ||
masak | nom: class A { has @!c is rw; method foo { self!bar(@!c) }; | ||
p6eval | nom 193752: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 1» | ||
masak | hrm. | 12:15 | |
nom: class A { has @!c is rw; method foo { self!bar(@!c) }; method !bar(@r is rw) { say "OH HAI" } }; A.new.foo | |||
p6eval | nom 193752: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method bar at /tmp/qIZtOSVxUz:1 in method dispatch:<!> at src/gen/CORE.setting:710 in method foo at /tmp/qIZtOSVxUz:1 in block <anon> at /tmp/qIZtOSVxUz:1 in <anon> at /tmp/qIZtOSVxUz:1»… | ||
masak | nom: class A { has @!c is rw; method foo { bar(@!c) } }; sub bar(@r is rw) { say "OH HAI" }; A.new.foo | ||
p6eval | nom 193752: OUTPUT«OH HAI» | ||
masak | so it has to be a method. | ||
nom: class A { has @!c is rw; method foo { self.bar(@!c) }; method bar(@r is rw) { say "OH HAI" } }; A.new.foo | 12:16 | ||
p6eval | nom 193752: OUTPUT«OH HAI» | ||
12:16
Thrawn joined
|
|||
masak | and it has to be a private method. | 12:16 | |
then my hunch is that we'll find the problem somewhere in the code that handles private method invocation. | |||
Thrawn | hey everyone | 12:17 | |
im2ee | Where is it? | ||
masak, will it be rakudo's code? | 12:18 | ||
12:19
Kivutarrr left
12:20
colomon left,
Thrawn left
12:24
cognominal___ left
|
|||
masak | im2ee: the bug is inside Rakudo, most likely, yes. | 12:24 | |
12:25
cognominal joined,
dual left
12:34
tokuhiro_ left
12:46
Manildomin joined
12:50
mj41 joined,
tokuhiro_ joined
12:55
finanalyst joined
|
|||
finanalyst | rakudo: my $x = 1.2345678912 | 12:56 | |
p6eval | rakudo 193752: ( no output ) | ||
finanalyst | rakudo: my $x = 1.234567891 | ||
p6eval | rakudo 193752: ( no output ) | ||
finanalyst | rakudo: my $x = 1.2345678912 ; $x.say | 12:57 | |
p6eval | rakudo 193752: OUTPUT«1.2345678912» | ||
finanalyst | rakudo: my $x = 1.2345678912345 ; $x.say | ||
p6eval | rakudo 193752: OUTPUT«1.2345678912345» | ||
finanalyst | hello. I seem to have a problem on rakudo on my machine that is not happening here | 12:59 | |
I am getting an error message: "no bigint lib loaded" when i assign 1.2345678912 to a variable | 13:00 | ||
masak | that's because you didn't compile Parrot with the biging library. | ||
bigint* | |||
finanalyst | i used the standard perl Configure.pl --gen-parrot | 13:01 | |
what else do i need to add? | |||
masak | which OS/distro are you on? | ||
13:01
kaare_ left
|
|||
finanalyst | linux ubuntu | 13:01 | |
masak | ISTR there's a package you download to get the bigint functionality. | 13:02 | |
but I might be mistaken. | |||
finanalyst | its never happened before | ||
masak | I can't seem to get at the IRC logs right now to confirm this. | ||
finanalyst | and perl6 code that was working stopped working | 13:03 | |
couldnt work out why. seems a simple multiplication failed because there was a number with lots of decimal positions | 13:04 | ||
gfldex | finanalyst: 32 or 64bit? | ||
finanalyst | i dont even need the precision: the data was generated by perl 5 script | ||
flussence | reproducible on 32bit | 13:05 | |
finanalyst | does it matter 32/64 bit? | ||
why should $x=1.234567891 be acceptible, but $x=1.2345678912 not? | |||
flussence | > my $x = 1.2345678912 bigint_get_long: number too big | 13:06 | |
version string here - This is perl6 version 2011.09-173-g5af761e built on parrot 3.9.0 revision RELEASE_3_9_0 | |||
13:07
donri joined
13:08
djanatyn|afk left
|
|||
finanalyst | I have: This is perl6 version 2011.10-7-g142c416 built on parrot 3.9.0 revision RELEASE_3_9_0 | 13:08 | |
flussence | parrot 3.9 bug? | ||
finanalyst | so why do i get it on my computers (both home and work) and not reproducible here? | 13:09 | |
flussence | p6eval runs on x86-64 | ||
Manildomin | I've got another issue with another piece of code from the book "Using Perl6" >< | ||
flussence | there's lots of problems with numeric data on 32bit right now | ||
Manildomin | can someone try to run the piece of code I put there : pastebin.com/PNLUTxvy ? | ||
when I try it I have no error message but the program does nothing and never ends | 13:10 | ||
finanalyst | flussence: I have a samsung laptop. is that 32 or 64 bit? how do i test? | ||
flussence | finanalyst: if this hangs on the REPL, it's 32-bit: | 13:11 | |
Manildomin | uname -m in the terminal to know whether it's 32 or 64 bits | ||
flussence | perl6: say now | ||
p6eval | rakudo 193752: OUTPUT«Instant:1319375514.09358» | ||
..pugs b927740: OUTPUT«*** No such subroutine: "&now" at /tmp/aCbE1Fx9AJ line 1, column 5 - line 2, column 1» | |||
..niecza v10-60-g8b9e1af: OUTPUT«Instant.new(...)» | |||
finanalyst | uname -m => i686 | 13:12 | |
Manildomin | 32 bits | ||
finanalyst | thanx | ||
how far back do i need to go to get a rakudo that starts working again? Lots of problems and I wanted this code to work | 13:13 | ||
that is, working code stopped working fairly recently | 13:14 | ||
flussence | try 2011.07 or 04 from github.com/rakudo/star/downloads | 13:16 | |
Manildomin: on line 8 you have a space between - and ' that shouldn't be there | |||
oh wait, never mind | 13:17 | ||
that code all looks right to me. | |||
Manildomin | ok | 13:18 | |
jnthn | finanalyst: If you are mostly concerned with stuff keeping working, then the star releases are the best bet. There's a reason we haven't done one from nom yet: as you've noticed, there are some areas where things aren't working as well as they should be yet (of note, protoregexes and some numeric bits) | ||
phenny | jnthn: 21 Oct 21:02Z <[Coke]> tell jnthn --gen-parrot is definitely easier with activestate if you're using msvc. | ||
jnthn: 21 Oct 21:08Z <[Coke]> tell jnthn (except that the build failed. hurm.) | |||
jnthn: 22 Oct 01:27Z <[Coke]> tell jnthn there are like 4 tickets that all involve weird issues when defining a sub called "if". | |||
jnthn: 22 Oct 11:21Z <masak> ask jnthn if I read dispatch:<.*> correctly, callsame/nextsame has nothing whatsoever to do with .* dispatch. is that right? | |||
jnthn | phenny: tell masak yes | ||
phenny | jnthn: I'll pass that on when masak is around. | ||
jnthn | masak: The reason being that whether a method chooses to defer is a decision of the method itself - that is, an implementation detail of it. .+ and .* are saying "I want to call all method up the chain". You shouldn't be concerning yourself with their internal implementation details. | 13:19 | |
masak | phenny: you don't need to tell me yes. | 13:21 | |
phenny | masak: 13:18Z <jnthn> tell masak yes | ||
masak | jnthn: makes sense. | ||
jnthn: so there are only two types of dispatchers, then. not three. | 13:22 | ||
the (outer) mro dispatchers, and the (inner) proto dispatchers. | |||
no, wait. there's wrapper dispatchers too, I guess. | |||
flussence | rakudo: my $bar-graph = 'X' x *; say $bar-graph(5) | 13:23 | |
jnthn | .?, .* and .+ are just different outer mro dispatchers really. | ||
p6eval | rakudo 193752: OUTPUT«XXXXX» | ||
finanalyst | jnthn: thanx | ||
13:23
finanalyst left
|
|||
masak | if they're dispatchers, they're dispatchers without any effect on 'nextsame' et al. | 13:23 | |
I always thought all dispatchers had that. | |||
jnthn | masak: I'm not sure what you mean by "without any effect" | 13:24 | |
Oh, I think I see what you might be getting at... | 13:25 | ||
masak | oh phew. | ||
because it's what we were just talking about ;) | |||
13:25
masonkramer joined
|
|||
jnthn | masak: Is there something you'd expect to work that doesn't? | 13:26 | |
I'd not expect nextsame et al to mean you don't visit things in the "top level" list of things .+ and .* work through just because you deferred to them | |||
But the individual methods, when visited, should be able to nextsame as an implementation detail. If they can't, then that's a bug. | 13:27 | ||
13:28
djanatyn|afk joined
|
|||
masak | jnthn: I'm just trying, as I have been for the past three years, to build an accurate model of 'nextsame' et al.'s semantics. without that, I won't feel comfortable using them, or explaining them to others. | 13:32 | |
13:33
mj41 left
|
|||
masak | for some reason I had assumed until now that .* would have something to do with nextsame. I see now that it doesn't. | 13:35 | |
jnthn | masak: Well, generally you should be able to work out what nextsame will do from relatively local context | ||
masak | aye. | ||
jnthn | If you're in a multi, then you know it's going to defer to the next multi candidate. If you're in an only method, you know it's going to defer to the next thing in the MRO. If you're in a wrapper, you know it's going to go to the inner wrapper or original. | 13:36 | |
masak | jnthn: on a different note: im2ee and I are investigating rt.perl.org/rt3/Ticket/Display.html?id=101964 -- we've found so far that in dispatch:<!> in core/Mu.pm, @pos is empty. I suspect that there's something odd with the PAST. | 13:37 | |
care to have a look? | |||
jnthn | The problem with tying it to .* and .+ is that you as the method don't know that you're under a different dispatcher than the one you expected, so it's probably better to leave the two disassociated, and each method call gets a "fresh"dispatcher. | ||
(for the purposes of nextsame) | 13:38 | ||
masak | I agree. | ||
the more predictable, the better. | |||
jnthn | (101964) weird. | 13:39 | |
nom: class A { has @!c is rw; method foo { self!bar(@!c) }; method !bar(@r is rw) { say "OH HAI" } }; A.new.foo | 13:40 | ||
p6eval | nom 193752: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method bar at /tmp/RoP9N2aq9m:1 in method dispatch:<!> at src/gen/CORE.setting:710 in method foo at /tmp/RoP9N2aq9m:1 in block <anon> at /tmp/RoP9N2aq9m:1 in <anon> at /tmp/RoP9N2aq9m:1»… | ||
jnthn | nom: class A { has @!c is rw; method foo { self!bar(@!c) }; method !bar(@r) { say "OH HAI" } }; A.new.foo | ||
p6eval | nom 193752: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method bar at /tmp/0Ac5k5z8qO:1 in method dispatch:<!> at src/gen/CORE.setting:710 in method foo at /tmp/0Ac5k5z8qO:1 in block <anon> at /tmp/0Ac5k5z8qO:1 in <anon> at /tmp/0Ac5k5z8qO:1»… | ||
jnthn | nom: class A { has @!c; method foo { self!bar(@!c) }; method !bar(@r) { say "OH HAI" } }; A.new.foo | ||
p6eval | nom 193752: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method bar at /tmp/nOzwVfg1FQ:1 in method dispatch:<!> at src/gen/CORE.setting:710 in method foo at /tmp/nOzwVfg1FQ:1 in block <anon> at /tmp/nOzwVfg1FQ:1 in <anon> at /tmp/nOzwVfg1FQ:1»… | ||
jnthn | nom: class A { has @!c; method foo { self!A::bar(@!c) }; method !bar(@r) { say "OH HAI" } }; A.new.foo | ||
13:40
Manildomin left
|
|||
p6eval | nom 193752: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method bar at /tmp/eeBSmJQvqW:1 in method dispatch:<!> at src/gen/CORE.setting:710 in method foo at /tmp/eeBSmJQvqW:1 in block <anon> at /tmp/eeBSmJQvqW:1 in <anon> at /tmp/eeBSmJQvqW:1»… | 13:40 | |
masak | we've isolated the necessary ingredients: private method call, array attribute. | 13:41 | |
hm, did I ever check whether't needed to be an array? | |||
yes, I think I did. | |||
jnthn | yeah, think I see it | 13:42 | |
masak | wow. | ||
do explain. | |||
jnthn | nom: sub foo($a, :$b) { say "$a $b" }; sub bar(|$c) { foo(|$c) }; bar(1, :b<2>) | 13:43 | |
p6eval | nom 193752: OUTPUT«1 2» | ||
jnthn | The dispatchers should be using |$c to get the args to pass on | 13:44 | |
But that wasn't implemented when they were written. | |||
Which causes horrible wrongness. | |||
masak | nom: class A { has @!c; method foo { self!bar(@!c) }; method !bar(@r) { say "OH HAI" } }; A.new.foo | 13:45 | |
p6eval | nom 193752: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method bar at /tmp/uX2c_xedpk:1 in method dispatch:<!> at src/gen/CORE.setting:710 in method foo at /tmp/uX2c_xedpk:1 in block <anon> at /tmp/uX2c_xedpk:1 in <anon> at /tmp/uX2c_xedpk:1»… | ||
jnthn | You don't need the attribute. | ||
masak | oh? | ||
I haven't been able to produce it without the attribute. | |||
jnthn | nom: class A { method foo { self!bar([]) }; method !bar(@r) { say "OH HAI" } }; A.new.foo | ||
p6eval | nom 193752: OUTPUT«OH HAI» | ||
jnthn | hm | 13:46 | |
masak | nom: class A { method foo { my @c; self!bar(@c) }; method !bar(@r) { say "OH HAI" } }; A.new.foo | ||
p6eval | nom 193752: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method bar at /tmp/bSxfrTQ8VY:1 in method dispatch:<!> at src/gen/CORE.setting:710 in method foo at /tmp/bSxfrTQ8VY:1 in block <anon> at /tmp/bSxfrTQ8VY:1 in <anon> at /tmp/bSxfrTQ8VY:1»… | ||
masak | oh. | ||
jnthn | Right. | ||
masak | there we go :) | ||
whassedifference? | |||
13:46
whiteknight left
|
|||
masak | between [] and @c, I mean. | 13:46 | |
jnthn | One is marked with flatten | ||
masak | ah. | 13:47 | |
eventually I'll get the hang of flatten, I'm sure. | |||
ok, is there anything I can do to patch this? | |||
change *@pos to |$c ? | 13:48 | ||
jnthn | spectesting a patch now | ||
crap, I mussed it to master, not nom | 13:51 | ||
dalek | kudo: d7f45ff | moritz++ | src/core/Cool.pm: Cool.eval |
||
masak | jnthn: good thing there's cherry-pick. | ||
jnthn | think I stopped it just in time | 13:52 | |
masak | :) | 13:53 | |
13:54
djanatyn|afk left
|
|||
dalek | kudo/nom: ca26563 | jnthn++ | src/core/Mu.pm: Fix various dispatchers. |
13:54 | |
jnthn | ...mussed...messed + pushed :) | ||
13:54
agentzh joined
|
|||
jnthn | .oO( dammit, my fingers pun when my brane is too tired to... ) |
13:55 | |
masak | it's interesting that dalek's reaction to your mussing was to publish the last commit that went into master, one from 19 September. | ||
jnthn | hm, I guess I shoulda tested that the patch actually fixed the bug | 13:56 | |
> class A { has @!c is rw; method foo { self!bar(@!c) }; method !bar(@r is rw) { say "OH HAI" } }; A.new.foo | |||
yes, it does :) | |||
OH HAI | |||
masak | \o/ | 13:57 | |
jnthn++ | |||
ah, so anything empty that flattened turned into 0 positional parameters? | |||
I think I get it now. | |||
13:58
Manildomin joined
|
|||
jnthn | .oO( pushed to wrong branch, didn't actually check my patch fixed the bug...yeah, maybe I shouldn't touch my keyboard much more today :) ) |
13:58 | |
masak: yes, that. | |||
masak | yay | ||
jnthn | ticket updated | ||
oh my | 13:59 | ||
nom: say 699 - 102 | |||
p6eval | nom 193752: OUTPUT«597» | ||
jnthn | Wow. :) | ||
It's also a nice sign that the oldest bug on the final page on RT is from 3 months ago | 14:01 | ||
Put another way, many new bugs getting filed are getting dealt with. | |||
im2ee | jnthn++, what is |$c? :) | 14:02 | |
jnthn | im2ee: It means "put all the arguments not bound yet into a Capture | ||
" | |||
(when ti's in the signature) | |||
When it's in a call it means "take all the arguments from this capture and flatten them into this call's arguments" | 14:03 | ||
14:03
overrosy left
|
|||
im2ee | Thanks jnthn :) | 14:04 | |
Hmm, what means the "proto" keyword before a method? | |||
14:05
overrosy joined
14:06
djanatyn|afk joined
|
|||
jnthn | im2ee: Means that it is a dispatcher; you normally don't write one as writing multi methods causes a proto to be auto-generated for you. | 14:07 | |
masak | im2ee: it means that method dispatches to several 'multi' methods, possibly in subclasses. | ||
jnthn afk for a little bit | |||
im2ee | Thanks ! :) | 14:08 | |
14:19
overrosy left
14:21
overrosy joined
14:23
jfried joined
14:31
wolfman2000 joined
14:33
jaldhar left
14:40
static_perl joined
14:48
jaldhar joined
14:49
overrosy left
14:51
static_perl left,
overrosy joined
14:52
Manildomin left
|
|||
moritz was kinda surprised to see a commit to rakudo/master, and even more surprised who the author was :-) | 14:53 | ||
masak | just a dalek hiccup ;) | 14:54 | |
moritz | my first thought was that maybe somebody had cherry-picked a commit of mine to master | ||
14:57
mj41 joined
|
|||
jnthn | I think it was a jnthn hiccup... :) | 14:59 | |
14:59
tokuhiro_ left
15:08
risou_awy is now known as risou
|
|||
jnthn | grr, I can't reproduce the Buf segfault here | 15:11 | |
I can, it seems, make Buf a bunch faster though... | |||
15:12
jaldhar left
15:13
grondilu joined,
daniel-s left
15:14
_jaldhar joined,
jaldhar joined,
jaldhar left
|
|||
moritz | that would be welcome too :-) | 15:16 | |
jnthn: fwiw I've re-coded the same logic in PIR, and there it didn't segfault | |||
jnthn | moritz: I can't make it segfault on this box :( | 15:17 | |
15:18
Gothmog_ joined
|
|||
moritz | jnthn: nopaste.snit.ch/89845 is the backtrace I get | 15:19 | |
jnthn | wow. | 15:21 | |
15:21
bluescreen10 joined
|
|||
moritz | what's impressive about it? that it's not the GC? | 15:22 | |
masak | ;) | ||
15:22
[Coke] left
|
|||
jnthn | hmm | 15:23 | |
In VTABLE INTVAL get_integer_keyed_int(INTVAL position) it dereferences content without ensuring it's not null. | |||
15:24
mj41 left,
[Coke] joined
|
|||
jnthn | oh, also | 15:24 | |
set_string_native is wrong. | 15:25 | ||
It doesn't zero allocated_size | |||
moritz | it has | 15:26 | |
SET_ATTR_allocated_size(INTERP, SELF, 0); | |||
jnthn | oh, yes | ||
ah, it's not that then. | 15:27 | ||
moritz would love to see mls_++' exception and ENTER/LEAVE work merged | 15:28 | ||
jnthn | moritz: I've got plenty of time in the next couple of days. I'll look at it then. | 15:29 | |
I may look later today, but I'm a little headachey and can't concentrate as much as that patch needs | 15:30 | ||
15:31
dual joined
|
|||
moritz | jnthn: don't hurry, BUT DO IT SOON :-) | 15:35 | |
jnthn | :P | ||
Got a patch that makes that code get up to the first 25 iterations 3 times faster. | |||
spectesting it now | |||
benabik has had a boss tell him "no hurry, but we needed it by the end of today." | 15:36 | ||
jnthn | Runs in 9ish seconds instead of 27 | ||
That's still too slow but it's an improvement. | |||
moritz | \o/ | ||
moritz wonders what stupid things he did | |||
jnthn | .keys | ||
15:36
agentzh left
|
|||
jnthn | Granted this was almost certainly written before we had nice things like native ints so we could do fast lops | 15:37 | |
*loops | 15:38 | ||
dalek | p: 5ed5bc0 | jnthn++ | src/PAST/NQP.pir: Fill out nqp op space a little more. |
||
kudo/nom: 977b33b | jnthn++ | tools/build/NQP_REVISION: Bump NQP revision. |
15:41 | ||
kudo/nom: 7ac6d1e | jnthn++ | src/core/Buf.pm: Improve performance of Buf creation and listification. |
|||
15:42
abercrombie joined
15:43
kemit_khulet joined
|
|||
moritz | jnthn: I just wondered if we have a nice, efficient path for Array.[int] | 16:02 | |
jnthn | moritz: not yet | 16:03 | |
moritz starts with a small benchmark | 16:05 | ||
16:05
_jaldhar left
|
|||
moritz | nom: multi f(Int $x) { 'Int' }; multi f (int $x) { 'int' }; say f 3 | 16:05 | |
p6eval | nom 7ac6d1: OUTPUT«int» | ||
moritz | nom: multi f(Int $x) { 'Int' }; multi f (int $x) { 'int' }; say f 3 + 3 | ||
p6eval | nom 7ac6d1: OUTPUT«int» | ||
moritz | nom: multi f(Int $x) { 'Int' }; multi f (int $x) { 'int' }; say f 3 + 3 * 5 | ||
jnthn | Yes but...it's a method call | ||
p6eval | nom 7ac6d1: OUTPUT«int» | ||
moritz | I know | ||
jnthn | The optimizer can't resolve those | ||
I think at the moment the assumption is "we have to box" | 16:06 | ||
moritz | but the dispatcher can distinguish them, right? | ||
jnthn | Hm | ||
Potentially | |||
It should be doable now | |||
I'll have to check exactly what it's doing with code-gen there. | |||
moritz | I'm thinking of a multi method postcifucmix:<[ ]>(int $pos) is rw { ... } | 16:07 | |
jnthn | *nod* | ||
moritz | in Any | ||
and a List.at_pos(int) | |||
jnthn | Sounds sane. | 16:09 | |
Just need to check the generated code to ensure it's as efficient as we'd actually like it to be. | |||
moritz | well, I'd benchmark :-) | ||
jnthn | sure :) | ||
Well, looking at the generated PIR will probably be telling too :) | 16:10 | ||
Feel free to work on it; I'm happy to help if the code gen side needs tweaks. | |||
I think there's still some bits from the time when the binder and multi dispatcher didn't know how to handle natives. | |||
OK, got some more speedups :) | 16:12 | ||
Got it over 5 times faster getting up to 25 now :) | |||
moritz | it seems we will box eventually, because I'm not going to write native int variants of all the methods involved (exists, gimme) | 16:13 | |
jnthn | *nod* | 16:14 | |
moritz | but we can save a method call to .Int at least | 16:15 | |
jnthn | Well, checking if $!items is already long enough to give us the index we want without having to gimme is probably doable without boxing too | ||
dalek | kudo/nom: fc3d314 | jnthn++ | src/core/Buf.pm: Eliminate unrequired slurpiness. |
16:16 | |
kudo/nom: f7995a5 | jnthn++ | src/core/metaops.pm: Optimize reduction meta-op by avoiding inferior runloop for boolification - just do what .Bool does anyway. |
|||
kudo/nom: f7d3d5d | jnthn++ | src/core/List.pm: Optimize push a little. |
|||
kudo/nom: 81ce668 | jnthn++ | src/core/Buf.pm: Don't use .push in Buf.list when we already know exactly what index we're going to use. |
16:17 | ||
16:20
kemit_khulet left
|
|||
jnthn | ooh, I got the segfault | 16:21 | |
Looks like memory corruption. | 16:22 | ||
abercrombie | Hi, is the lookaround not implemented yet in nom/rakudo? | ||
16:22
tokuhiro_ joined
|
|||
tadzik | lookahead is, methinks | 16:23 | |
abercrombie | Oh, yes, I was tring to use <!before> and <?before> | 16:24 | |
[Coke] | phenny: ask moritz if 5fe92c09 on roast is another example of the eval issue. (had to todo this for niecza.) | ||
phenny | [Coke]: I'll pass that on when moritz is around. | ||
moritz | [Coke]: no, eval_dies_ok needs to catch exceptions, and does | 16:27 | |
phenny | moritz: 16:24Z <[Coke]> ask moritz if 5fe92c09 on roast is another example of the eval issue. (had to todo this for niecza.) | ||
16:29
grondilu left
16:34
risou is now known as risou_awy
16:36
jaldhar joined
16:53
nebuchadnezzar left
16:54
nebuchadnezzar joined
|
|||
moritz | .u plus minus | 16:55 | |
phenny | U+00B1 PLUS-MINUS SIGN (±) | ||
16:55
soh_cah_toa joined
|
|||
dalek | ast: 1c1df5b | Coke++ | S (3 files): niecza fudging |
16:57 | |
16:58
djanatyn|afk is now known as djanatyn
|
|||
dalek | ecza: bacff10 | Coke++ | t/spectest.data: Skip this test. (too many failures, test has platform based skips instead of impl-based) |
16:59 | |
p: d7cec32 | jnthn++ | src/6model/reprs/P6opaque.c: Ensure we don't try to change the type of a type object. |
17:01 | ||
p: bbe37f3 | jnthn++ | src/6model/reprs/P6opaque.c: Ensure that when a type object is cloned, we don't lose the type object flag. |
|||
p: 7bc5fcd | jnthn++ | src/ops/nqp.ops: Add a missing write barrier. |
|||
kudo/nom: ecc293a | jnthn++ | src/ (2 files): Add write barriers in a couple of places they are potentially needed. |
17:06 | ||
kudo/nom: ee65d38 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION to get fix for the mixin to type object segfault issue. |
|||
17:08
Chillance joined
|
|||
arnsholt | masak: Thanks for mentioning MJD's blog yesterday. Even though I probably don't have time to read all the archives =) | 17:11 | |
cognominal | why List.Bool code is not { self.elems.Bool } ? self.gimme(1).Bool does not make any sense to me. | 17:12 | |
sorear | good * #perl6 | ||
cognominal: .elems would hang with an infinite list | |||
moritz | .u sigma | 17:13 | |
phenny | U+03C3 GREEK SMALL LETTER SIGMA (σ) | ||
cognominal | ok, what if the first element has a false value? | 17:14 | |
I suppose List.Bool returns thru if List has a least one element (or can generate one)? | 17:15 | ||
masak | arnsholt: they're worth reading. | ||
when I grow up, I want to be like MJD. | 17:16 | ||
cognominal | ok, I did not understandd what gimme does | ||
jnthn | cognominal: gimme gives you the number of elements it can actually give. | ||
masak | rakudo: my @a = <a b c d e>; say @a.gimme | 17:17 | |
p6eval | rakudo 81ce66: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method gimme at src/gen/CORE.setting:4304 in block <anon> at /tmp/m072rwC3DO:1 in <anon> at /tmp/m072rwC3DO:1» | ||
masak | rakudo: my @a = <a b c d e>; say @a.gimme(5) | ||
p6eval | rakudo 81ce66: OUTPUT«5» | ||
masak | rakudo: my @a = <a b c d e>; say @a.gimme(10) | ||
p6eval | rakudo 81ce66: OUTPUT«5» | ||
masak | rakudo: my @a = <a b c d e>; say @a.gimme(Inf) | ||
p6eval | rakudo 81ce66: OUTPUT«5» | ||
masak | rakudo: my @a = <a b c d e>; say @a.gimme(-5) | ||
p6eval | rakudo 81ce66: OUTPUT«5» | ||
masak | rakudo: my @a = <a b c d e>; say @a.gimme(*) | ||
p6eval | rakudo 81ce66: OUTPUT«5» | ||
masak | rakudo: my @a = <a b c d e>; say @a.gimme(1i) | ||
p6eval | rakudo 81ce66: OUTPUT«5» | ||
masak | what a boring function ;) | ||
jnthn | Is somebody hunting for a rakudobug? :P | ||
masak | I would never...! | 17:18 | |
:P | |||
17:18
plobsing left
|
|||
jnthn | "How boring, I can't make it explode!" | 17:18 | |
arnsholt | masak: That's pretty much one of my thoughts as well. "MJD is really cool. I wouldn't mind being like that." | ||
17:19
Grrrr left
17:20
plobsing joined
17:22
kaare_ joined
17:23
Kivutarrr joined
|
|||
jnthn | moritz: What exactly did your PIR version of the segfaulting program do? | 17:26 | |
(the buf one) | |||
moritz: I can reliably segfault it also in ByteBuffer with my $b = Buf.new(1); for ^5000 { $b~=Buf.new(1..100); } | 17:28 | ||
im2ee | What means *? The same what in unix system? | 17:31 | |
And " | |||
"li"? | |||
From @a.gimme(1i) | |||
oh, its 1 not l. :) | |||
tadzik | 1i, like i, which is sqrt(-1) | ||
moritz | jnthn: nopaste forthcoming | 17:32 | |
tadzik | yes, in school they tell you there can be no sqrt(-1). They lie. I was disappointed too | ||
moritz | jnthn: gist.github.com/1307615 | ||
17:34
tokuhiro_ left
|
|||
sorear | wait, wait, what? gimme takes Complex? | 17:34 | |
moritz | uhm, where? | ||
sorear | 10:31 < im2ee> From @a.gimme(1i) | ||
moritz | yes, but where is that code from? | 17:35 | |
tadzik | masak wrote that | ||
moritz | jnthn: gist.github.com/1307619 | ||
17:36
pmurias joined,
uasi left
17:37
uasi joined
|
|||
moritz | jnthn: so with the patch it seems to be a wee bit faster, erm wait, I may not call it "faster", becaues it's not statistically significant | 17:37 | |
jnthn | moritz: Erm. | ||
I get 5 times faster here with the bunch of patches I've put in for Buf today. | |||
(was testing it up to 25) | 17:38 | ||
moritz | jnthn: that patch is not related to Buf at all | ||
jnthn | moritz: oh, wait | ||
moritz: What are we talking bout? :) | |||
moritz | just postcircumfix:<[ ]> | ||
jnthn | moritz: The array access? | ||
oh! | |||
moritz | the patch is in the gist :-) | ||
jnthn | moritz: oooh! | ||
You gisted me two things | |||
I missed the second one :) | |||
moritz: On gist.github.com/1307615 - byte buffer one | 17:39 | ||
moritz: I can make it segfault here by upping the iteration count. | |||
moritz: Changing it to: | |||
unless $I0 == 10000 goto loop | |||
(e.g. 10 times more iterations) | 17:40 | ||
gets the segfault here | |||
Guess in Rakudo we just have more GC churn going on so it needs less. | |||
17:40
jaldhar left
|
|||
masak | im2ee: 1i is a en.wikipedia.org/wiki/Complex_number | 17:41 | |
sorear: I just wanted to see what .gimme did about a Complex. seems it did pretty OK. | 17:42 | ||
jnthn | moritz: I *think* that you'd need to have an at_pos variant in Array.pm too, not just List.pm | ||
moritz | jnthn: doesn't segfault with 1000 iterations here | ||
jnthn | moritz: 10000 | 17:43 | |
moritz | my OOM killer just shot down thunderbird :-) | ||
tadzik | :P | 17:44 | |
jnthn | ouch | ||
moritz | and before dying, it printed | ||
this should not be happening! arrgggggh! | |||
several times :-) | |||
jnthn | lol | ||
17:45
c9s left
|
|||
jnthn | moritz: I've got a rough guess at what is going on. | 17:45 | |
moritz: It looks like Parrot does string heap compaction. | |||
That means it may move strstart...but ByteBuffer caches that. | |||
masak | very nice "how do I fix my git mess?" flow chart: justinhileman.info/article/git-pret...pretty.png | ||
moritz | nice indeed | 17:48 | |
benabik | masak: Important question there: "Enough to form a lynch mob?" | ||
moritz | I menat to make similar instructions one day, in form of a blog post | ||
*meant | |||
jnthn | The bottom left hand corner is great :) | 17:49 | |
17:49
sftp left
|
|||
jnthn | moritz: Did you manage to get the segfault with 10000 iterations? | 17:50 | |
17:50
dukeleto left
|
|||
jnthn | moritz: I did so I guess I can file a ticket somewhere ;) | 17:50 | |
Where am I meant to file tickets on Parrot things these days? | |||
moritz | jnthn: no, I did not. Aborted before it ate all of my RAM | ||
jnthn: github | |||
17:50
dukeleto joined,
dukeleto left
|
|||
jnthn | moritz: heh. Some days 16 gigs come in handy :) | 17:51 | |
17:51
dukeleto joined,
dukeleto left
|
|||
jnthn | Only ate 2.7 gigs before it explodes :) | 17:51 | |
17:51
dukeleto joined
17:52
dukeleto left
|
|||
jnthn | but wait a moment... | 17:52 | |
17:52
dukeleto joined
|
|||
jnthn | nom: say 100 * 10000 | 17:52 | |
p6eval | nom 81ce66: OUTPUT«1000000» | ||
jnthn | The largest string we get up to should be about a meg in size? | ||
moritz | I think I had another factor of 10 somewhere | 17:53 | |
still, 10M shouldn't be too bad | |||
jnthn | right | ||
something is horribly wrong if it's getting into the gigs range then. | |||
17:55
sftp joined,
dukeleto left,
dukeleto joined
17:56
dukeleto left,
im2ee left,
dukeleto joined,
dukeleto left,
im2ee joined
17:57
Grrrr joined,
dukeleto joined,
dukeleto left,
dukeleto joined,
dukeleto left
17:58
dukeleto joined,
dukeleto left
|
|||
jnthn | Filed github.com/parrot/parrot/issues/182 | 17:58 | |
17:58
dukeleto joined
|
|||
sorear | I s'pose we need a dalek thingie for reporting on github issues | 17:59 | |
17:59
dukeleto left
|
|||
sorear | .oO( luckily, github just added push notification for those ) |
17:59 | |
17:59
dukeleto joined,
dukeleto left
18:00
dukeleto joined
|
|||
tadzik | the more I look at the parameter documenting syntax the more I fell that not many people will like it and use it | 18:00 | |
18:00
dukeleto left
|
|||
sorear | what syntax? | 18:00 | |
18:00
dukeleto joined,
dukeleto left
|
|||
tadzik | sorear: perlcabal.org/syn/S26.html#Declarator+blocks scroll to 'sub fu' | 18:01 | |
18:01
dukeleto joined,
dukeleto left
|
|||
tadzik | I suppose people will just put everything into the sub documentation, it seems easier and more convenient | 18:01 | |
18:01
dukeleto joined
|
|||
tadzik | that's how I fell when documenting MuEvent | 18:02 | |
18:02
dukeleto left
|
|||
masak | tadzik: the advantage of documenting the paramters is that you don't have to repeat their names. | 18:02 | |
18:02
dukeleto joined,
dukeleto left
18:03
dukeleto joined,
dukeleto left,
dukeleto joined
|
|||
tadzik | well, I suppose it's still less typing than #= and whitespace you have to put there to make those things work *and* not look like *&!#^*!$^ | 18:03 | |
18:03
dukeleto left
18:04
dukeleto joined,
dukeleto left,
dukeleto joined
18:05
dukeleto left
|
|||
sorear ponders banning dukeleto | 18:05 | ||
tadzik | I wish Pod and Declarators were convenient enough for people to prefer them to plain old... well, pod | ||
jnthn | afk, shop | ||
tadzik | sorear: ever tried turning off join/part events? | ||
18:05
dukeleto joined,
dukeleto left
|
|||
tadzik | I did that some time ago and I don't think I ever regretted that | 18:05 | |
it still displays those if this person was active a short enough while ago | 18:06 | ||
18:06
dukeleto joined,
dukeleto left
|
|||
sorear | tadzik: I *did* regret it. | 18:06 | |
18:06
dukeleto joined,
dukeleto left
|
|||
tadzik | ok then | 18:07 | |
sorear | tadzik: I beleive in fixing problems at their source, not forcing 100s of downstream users to implement countermeasures | ||
18:07
dukeleto joined
|
|||
masak | dukeleto: hey! you're doin' it again! :( | 18:07 | |
18:07
dukeleto left,
colomon joined,
dukeleto joined
|
|||
colomon | dukeleto!! | 18:08 | |
sorear | o/ colomon | ||
tadzik | sorear: I agree with that | ||
18:08
dukeleto left
|
|||
moritz ignores joins and leaves/quits in #perl6, and consults the IR clogs when he's interested in joins/leaves | 18:08 | ||
18:08
dukeleto joined,
dukeleto left
18:09
dukeleto joined
|
|||
sorear | moritz: the irclogs have reliable join/part data now? | 18:09 | |
moritz | sorear: reliable joins and leaves; not quite^Hs | ||
*quits | |||
18:13
nornagest joined
|
|||
nornagest | Hi | 18:13 | |
moritz | hi nornagest | 18:14 | |
jnthn: added at_pos to List, still not significant (this time 0.4 sigma slower) | |||
sorear | o/ nornagest | 18:17 | |
18:17
pmurias left
18:18
pmurias joined
|
|||
nornagest | \o | 18:19 | |
[Coke] | sorear,colomon: had to comment out an IO test today from niecza spectest. dunno if it was new tests or what. | 18:20 | |
colomon | more details? | ||
sorear, \o | |||
sorear | hmm, nornagest != nornagon | 18:21 | |
welcome, nornagest | |||
nornagest | indeed - thanks | ||
18:29
[Coke] left
18:31
[Coke] joined
|
|||
masak | hi nornagest | 18:32 | |
jnthn | moritz: try this patch: gist.github.com/1307684 | 18:35 | |
moritz: And explicitly write out the postcircumfix call | |||
dalek | ecza/serialize: 8edc022 | sorear++ | / (4 files): Starting inventory of globals that need isolation |
||
jnthn | moritz: e.g. instead of @a[$j] do @a.postcircumfix:<[ ]>($j) | 18:36 | |
(yes, I can fix the other case up too...it's just a tad more involved) | |||
oh, that patch causes issues :( | 18:38 | ||
im2ee | Does "do" exists in p6? :) | 18:41 | |
tadzik | yep | ||
im2ee | And how to include, just like perl5 ? | ||
include some code | |||
masak | im2ee: 'require' or 'use' | 18:42 | |
im2ee | Great. :) | ||
18:42
hanekomu joined
|
|||
masak | but, hm, that's for modules. | 18:42 | |
maybe you mean just a regular script file? | |||
then it's probably eval(slurp("file.pl")) | |||
im2ee | masak++, thanks. :) | 18:44 | |
18:44
wk joined
|
|||
im2ee | do doesn't include the code? (like in p5) | 18:44 | |
moritz | im2ee: there are two 'do's in Perl 5, a do BLOCK and a do EXPR. The former still persists in Perl 6 | 18:45 | |
rakudo: do { say 1 } | |||
p6eval | rakudo ee65d3: OUTPUT«1» | ||
sorear | do EXPR is very strongly deprecated in Perl 5 | ||
im2ee | Where the do functions is declared? | 18:46 | |
function* | |||
moritz | sorear: that's not what perldoc -f do says | ||
18:46
hanekomu_ joined,
hanekomu left,
hanekomu_ left
18:47
hanekomu joined
|
|||
sorear | im2ee: do isn't a function, it's a special syntactic form | 18:48 | |
jnthn | moritz: Here's another patch that doesn't mess up setting compilation and that means you can leave it as @a[$j]: gist.github.com/1307705 | 18:51 | |
GlitchMr | perl6: (*..3).perl.say | 18:52 | |
p6eval | niecza v10-61-gbacff10: OUTPUT«-Infinity..3» | ||
..rakudo ee65d3: OUTPUT«-Infe0..3» | |||
..pugs b927740: OUTPUT«()» | |||
GlitchMr | I know it doesn't make sense :P | ||
masak | im2ee: 'do' in Perl 6 has a different function than in Perl 5. in Perl 6, it's used for turning a statement into (part of) an expression. | ||
why does Rakudo do Infe0? | 18:53 | ||
GlitchMr | Because it's garbage? | ||
There is no way of accessing that 3 which I have specified | 18:54 | ||
perl6: (*..*).perl.say | |||
jnthn | rakudo: say -Inf | ||
p6eval | niecza v10-61-gbacff10: OUTPUT«-Infinity..Infinity» | ||
..pugs b927740: OUTPUT«pugs: out of memory (requested 1048576 bytes)» | |||
..rakudo ee65d3: OUTPUT«Failure.new()» | |||
rakudo ee65d3: OUTPUT«-Inf» | |||
jnthn | rakudo: say ~(-Inf) | ||
benabik | *..* is Failure? | ||
p6eval | rakudo ee65d3: OUTPUT«-Inf» | ||
jnthn | Hmm | ||
Wonder how on earth it ends up with the e0 | 18:55 | ||
benabik | nom: Int.WHAT.say | ||
p6eval | nom ee65d3: OUTPUT«Int()» | ||
benabik | nom: Inf.WHAT.say | ||
p6eval | nom ee65d3: OUTPUT«Num()» | ||
im2ee | Thanks sorear, masak. :) | ||
and moritz too. :) | |||
jnthn | rakudo: say (*..3).from | 18:56 | |
p6eval | rakudo ee65d3: OUTPUT«Method 'from' not found for invocant of class 'Range' in block <anon> at /tmp/Co5C5txBKZ:1 in <anon> at /tmp/Co5C5txBKZ:1» | ||
jnthn | rakudo: say (*..3).min | ||
p6eval | rakudo ee65d3: OUTPUT«-Inf» | ||
GlitchMr | perl6: (0, *+0.1...100).perl.print | ||
jnthn | rakudo: say ~(*..3) | ||
oh, that may take a while... :) | |||
duh. :) | |||
p6eval | niecza v10-61-gbacff10: OUTPUT«Unhandled Exception: Unable to resolve method print in class Str at /tmp/7MOOYyOz5J line 1 (MAIN mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 2181 (CORE C1041_ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 2182 (CORE module-C… | ||
..rakudo ee65d3: OUTPUT«(0, 1/10, 1/5, 3/10, 2/5, 1/2, 3/5, 7/10, 4/5, 9/10, 1/1, 11/10, 6/5, 13/10, 7/5, 3/2, 8/5, 17/10, 9/5, 19/10, 2/1, 21/10, 11/5, 23/10, 12/5, 5/2, 13/5, 27/10, 14/5, 29/10, 3/1, 31/10, 16/5, 33/10, 17/5, 7/2, 18/5, 37/10, 19/5, 39/10, 4/1, 41/10, 21/5, 43/10, 22/5,… | |||
..pugs b927740: OUTPUT«***  Unexpected "100" expecting operator or ")" at /tmp/cIvAuZtnNx line 1, column 13» | |||
rakudo ee65d3: OUTPUT«(timeout)» | 18:57 | ||
GlitchMr | perl6: (2, *+0.05...3).perl.say | ||
p6eval | rakudo ee65d3, niecza v10-61-gbacff10: OUTPUT«(2, 41/20, 21/10, 43/20, 11/5, 9/4, 23/10, 47/20, 12/5, 49/20, 5/2, 51/20, 13/5, 53/20, 27/10, 11/4, 14/5, 57/20, 29/10, 59/20, 3/1).list» | ||
..pugs b927740: OUTPUT«***  Unexpected "3" expecting operator or ")" at /tmp/4NKFB9z28X line 1, column 14» | |||
GlitchMr | perl6: (reverse 1..*).perl.say | 18:59 | |
I'm probably crazy, but whatever | |||
p6eval | niecza v10-61-gbacff10: OUTPUT«(timeout)» | ||
..pugs b927740: OUTPUT«pugs: out of memory (requested 1048576 bytes)» | |||
..rakudo ee65d3: OUTPUT«Failure.new()» | |||
GlitchMr | perl6: 1>2>print('wrong') | 19:00 | |
p6eval | pugs b927740, rakudo ee65d3, niecza v10-61-gbacff10: ( no output ) | 19:01 | |
GlitchMr | perl6: 'a' ==> print() | 19:02 | |
p6eval | niecza v10-61-gbacff10: OUTPUT«Unhandled Exception: Feed ops NYI at /home/p6eval/niecza/lib/CORE.setting line 790 (CORE die @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 1955 (CORE infix:<==>> @ 2)  at /tmp/756_KL3OMT line 1 (MAIN mainline @ 1)  at /home/p6eval/niecza/lib/… | ||
..pugs b927740: OUTPUT«***  Unexpected " print" at /tmp/mQV4bebEZv line 1, column 8» | |||
..rakudo ee65d3: OUTPUT«a» | |||
GlitchMr | perl6: 'a' ==> print | ||
p6eval | niecza v10-61-gbacff10: OUTPUT«===SORRY!===Unsupported use of bare 'print'; in Perl 6 please use .print if you meant $_, or use an explicit invocant or argument at /tmp/EYpE8bKX0S line 1 (EOF):------> 'a' ==> print⏏<EOL>Unhandled Exception: Che… | ||
..pugs b927740: OUTPUT«***  Unexpected " print" at /tmp/2qkwFVA1lc line 1, column 8» | |||
..rakudo ee65d3: OUTPUT«a» | |||
GlitchMr | ... ok... | ||
19:02
wolfman2000 left
|
|||
GlitchMr | perl6: [Z].perl.say | 19:08 | |
p6eval | rakudo ee65d3: OUTPUT«Any» | ||
..niecza v10-61-gbacff10: OUTPUT«(timeout)» | |||
..pugs b927740: OUTPUT«()» | |||
19:11
GlitchMr left
19:18
[Coke] left
19:19
[Coke] joined
19:26
uasi left
19:27
sivoais left,
sivoais joined
19:28
kaare_ left
19:29
ksi joined
19:31
kaare_ joined,
mberends joined
|
|||
sorear | o/ mberends | 19:33 | |
diakopter | . | 19:34 | |
sorear | o/ diakopter | ||
diakopter | o/ | ||
19:36
ab5tract joined
19:37
kaare_ left
|
|||
mberends | o/ (home in .nl after a week in .si) | 19:37 | |
tadzik | hello mberends! | 19:42 | |
masak | welcome home, mberends! | ||
mberends | hi tadzik! hi masak! It's nice to catch up the backlog :) | 19:43 | |
19:44
[Coke] left
19:46
[Coke] joined
19:50
pmurias left,
PacoLinux left
19:51
[Coke] left
19:58
[Coke] joined,
im2ee left
19:59
im2ee joined
20:03
[Coke] left
|
|||
masak | perl6: say 10 ... 0 | 20:04 | |
p6eval | pugs b927740: OUTPUT«***  Unexpected "0" expecting operator, ":" or "," at /tmp/ZzlEHDRKld line 1, column 12» | ||
..rakudo ee65d3, niecza v10-61-gbacff10: OUTPUT«10 9 8 7 6 5 4 3 2 1 0» | |||
20:04
[Coke] joined
20:06
Manildomin joined
|
|||
Manildomin | hi everybody | 20:07 | |
masak | hi Manildomin | 20:11 | |
Manildomin | I said I have an issue with the second example code given in the book "Using Perl6" | ||
I virtualized Debian Wheezy and installed in it its own version of rakudo and parrot, and with these the same code just works fine | 20:12 | ||
20:13
[Coke] left
|
|||
masak | what was your issue? could you perhaps make a gist of the error you get? | 20:14 | |
Manildomin | I had no error messag | ||
message* | |||
the program ran but never output what it was intended to output | 20:15 | ||
and it never stopped | |||
masak | this is interesting to us. | 20:16 | |
Manildomin | this is that piece of code : pastebin.com/rnyutrH2 | ||
20:16
[Coke] joined
|
|||
masak | any idea what might have differed between the two setups? | 20:16 | |
different Rakudo versions? | |||
Manildomin | the one I have on my real system (archlinux) is the most up to date | ||
yes | |||
sorear | Manildomin: which version is it? | ||
Manildomin | rakudo 2011.07 on debian wheezy | 20:17 | |
2011.09 on archlinux | |||
parrot 3.8.0 on archlinux | |||
parrot 3.6.0 on debian wheezy | |||
masak | aha! seems I need a wrap_return_handler for my macros to fix moritz++' bug. | 20:18 | |
Manildomin: I run it locally with no problem on Rakudo HEAD. | 20:20 | ||
20:23
im2ee left,
im2ee joined
20:24
im2ee left
20:28
[Coke] left
20:30
[Coke] joined
|
|||
dalek | kudo/macros: b1c555f | masak++ | src/Perl6/Actions.pm: make it possible to return from macros Kudos to moritz++ for discovering this use case. |
20:31 | |
Manildomin | I am installing an older version of rakudo (rakudo-star 2011.04) and see if it runs the piece of code | ||
wk | Manildomin: i tried your example with rakudo 2011.07 and it worked well (Ubuntu 11.04) | 20:34 | |
Manildomin | yes, I use rakudo 2011.07 on debian wheezy and it works too | 20:35 | |
wk | Manildomin: but igot same behaviour with nom snapshot installed about two month ago | ||
Manildomin | ok | ||
wk | Manildomin: with "same beahaviour" i meant: it runs forever without output | ||
Manildomin | nice, so we seem to encounter the same issue | 20:36 | |
masak | here's the current status of the macros branch: 'my $a = 42; macro foo { quasi { say $a } }; foo' works and prints 42. | ||
'macro foo { my $a = 42; quasi { say $a } }; foo' dies with a Null PMC Access, for fairly obvious reasons. | |||
I feel I should fix the latter before proposing we merge the D1 work. (and I'm going to write tests too, of course) | 20:37 | ||
soh_cah_toa | what's the quasi() subroutine for? never heard of it | ||
masak | it's not a subroutine, it's a syntactic form, like 'while' or 'sub'. | 20:38 | |
wk | Manildomin: i hope it helps to localise period, where it come in, because my nom is installed on YAPC:EU, so around 13th August | ||
20:40
Kivutarrr left
|
|||
Manildomin | I installed rakudo 2011.09 from here : aur.archlinux.org/packages.php?ID=29068 | 20:41 | |
with (Rakudo Perl 6, version 2011.04 built on parrot 3.8.0 0), the same code works fine | 20:50 | ||
on archlinix | |||
archlinux* | 20:51 | ||
20:54
quuxrev joined
20:58
ab5tract left
21:00
fsergot joined
21:04
fsergot left,
fsergot joined,
y3llow_ joined
21:05
pothos_ joined,
SHODAN left
21:06
fsergot left,
pothos left,
y3llow left
21:07
pothos_ is now known as pothos,
y3llow_ is now known as y3llow
21:09
masonkramer left
21:11
ab5tract joined
21:14
whiteknight joined
|
|||
masak | nom: sub foo { my $*a = 42; return { say $*a } }; foo | 21:21 | |
p6eval | nom ee65d3: ( no output ) | ||
masak | nom: sub foo { my $*a = 42; return { say $*a } }; my $c = foo; $c() | ||
p6eval | nom ee65d3: OUTPUT«Failure.new()» | ||
21:21
Mowah_ left
|
|||
dalek | kudo/nom: 18dea93 | jnthn++ | src/ (15 files): Add an nqp::p6decont and eliminate pir::perl6_decontainerize in the setting in favor of it. |
21:25 | |
21:27
MayDaniel left
21:30
Manildomin left
21:34
ab5tract left
21:40
aloha left
21:42
aloha joined,
ksi left
|
|||
masak | good night, #perl6 | 21:48 | |
tadzik | good night masak | ||
jnthn | nom: my $a = 1; my $b = 2; my $c = [$a, $b]; $a++; say $c.perl | 21:49 | |
p6eval | nom ee65d3: OUTPUT«[2, 2]» | ||
jnthn | perl6: my $a = 1; my $b = 2; my $c = [$a, $b]; $a++; say $c.perl | 21:50 | |
p6eval | rakudo ee65d3: OUTPUT«[2, 2]» | ||
..pugs b927740, niecza v10-61-gbacff10: OUTPUT«[1, 2]» | |||
jnthn | b: my $a = 1; my $b = 2; my $c = [$a, $b]; $a++; say $c.perl | ||
p6eval | b 1b7dd1: OUTPUT«[1, 2]» | ||
jnthn | tssk | ||
Turns out that a bug in take and return masked this issue in various tests. | 21:52 | ||
Now I've fixed take and return I have broken tests, seemingly because of the above. | |||
22:02
dorlamm joined
|
|||
jnthn | perl6: sub foo(*@a) { @a[0]++ }; my $a = 1; foo([$a]); say $a; | 22:04 | |
p6eval | pugs b927740: OUTPUT«*** Can't modify constant item: VRef <Array:0x7f7a165a3459> at /tmp/aEdoMWmRdK line 1, column 16-24» | ||
..niecza v10-61-gbacff10: OUTPUT«Unhandled Exception: cannot increment a value of type Array at line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 25 (CORE Mu.succ @ 8)  at line 0 (ExitRunloop @ 0)  at /tmp/tAEBNKPPi_ line 0 (MAIN foo @ 0)  at /tmp/tAEBNKP… | |||
..rakudo 18dea9: OUTPUT«Method 'succ' not found for invocant of class 'Array' in sub postfix:<++> at src/gen/CORE.setting:1065 in sub foo at /tmp/M_C4AkFn8l:1 in block <anon> at /tmp/M_C4AkFn8l:1 in <anon> at /tmp/M_C4AkFn8l:1» | |||
jnthn | perl6: sub foo(*@a) { @a[0]++ }; my $a = 1; foo($a); say $a; | ||
p6eval | niecza v10-61-gbacff10: OUTPUT«2» | ||
..rakudo 18dea9: OUTPUT«1» | |||
..pugs b927740: OUTPUT«*** Can't modify constant item: VInt 1 at /tmp/IiGrqIKufP line 1, column 16-24» | |||
jnthn | b: sub foo(*@a) { @a[0]++ }; my $a = 1; foo($a); say $a; | 22:05 | |
p6eval | b 1b7dd1: OUTPUT«1» | ||
22:06
dual left
22:11
dju left
22:23
donri left,
dju joined
|
|||
nornagest | Good night! | 22:27 | |
22:27
nornagest left
22:37
quuxrev left
22:43
cyfi left
22:48
dorlamm left
23:05
Grrrr left
23:08
molaf_ joined
23:09
molaf__ left
23:22
thou joined
23:25
wamba left
23:40
dukeleto left,
dukeleto joined,
dukeleto left
23:41
dukeleto joined,
dukeleto left,
dukeleto joined
23:42
dukeleto left,
dukeleto joined,
benabik left
|
|||
lue | rakudo: role A { }; role B is A { }; say "alive!"; # I thought roles could only be applied with does. bug? | 23:52 | |
p6eval | rakudo 18dea9: OUTPUT«alive!» | ||
23:53
tokuhiro_ joined
|