»ö« 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.
colomon nom: my $a = 2 => 4; say $a.first; 00:00
p6eval nom: OUTPUT«Method 'first' not found for invocant of class 'Pair'␤current instr.: '_block1002' pc 100 ((file unknown):22264063) (/tmp/U6aZWdGFlk:1)␤»
colomon nom: my $a = 2 => 4; say $a.key; 00:01
p6eval nom: OUTPUT«2␤»
colomon stupid brain
00:02 Chillance left
PerlJam nom: my $a = 2 => 4; say $a.list.first 00:03
p6eval nom: OUTPUT«Method 'first' not found for invocant of class 'List'␤current instr.: '_block1002' pc 112 ((file unknown):145) (/tmp/xNqmtuayj6:1)␤»
pmichaud I just use "git commit ."
PerlJam (just randomly curious)
dalek href="https://perl6.org:">perl6.org: 542f5c6 | (John Gabriele)++ | source/compilers/index.html:
Removed broken link.
00:05
[Coke] need to get him in the CREDITS, ja? 00:13
PerlJam he has a commit bit ;) 00:14
dalek atures: f26cba7 | larry++ | features.json:
stub-in empty code and spec lines
00:15 tokuhir__ joined 00:16 smash left 00:18 cryptographrix joined
cryptographrix indeed 00:19
dalek href="https://perl6.org:">perl6.org: 4cfe2d5 | (John Gabriele)++ | source/compilers/index.html:
added text to go with link to features matrix
00:24
atures: 8c2a768 | (John Gabriele)++ | template.html:
Added Camelia logo to the page.
00:30
00:30 sivoais joined 00:34 uvtc left 00:35 cryptographrix left 00:42 uvtc joined
uvtc Hopefully that (last commit) doesn't look too bad. Perhaps someone with more html/css chops can position it better. I though the page deserved to have the logo somewhere in it though. 00:45
00:46 uvtc left
pmichaud image is broken locally... fixing. 00:48
dalek atures: b7d3183 | pmichaud++ | template.html:
Use a full url for camelia image (so that locally generated

even with the page title, instead of slightly below it.
00:50
00:54 thundergnat joined
thundergnat Hi #perl6 00:55
00:55 cryptographrix joined
thundergnat Added my first Niecza only Perl 6 task to rosettacode. \o/ rosettacode.org/wiki/Linear_congrue...tor#Perl_6 00:56
TimToady looks like it works in nom too :) 01:00
01:01 noganex joined
dalek atures: d1d76b6 | larry++ | features.json:
more code entries, add MAIN, mention gather/take
01:03
atures: 441a0d0 | larry++ | features.json:
move feed ops to concurrency
01:05
01:05 noganex_ left 01:06 daniel-s joined
felher thundergnat++ 01:07
sleep &
01:11 daniel-s left, daniel-s_ joined 01:15 daniel-s__ joined 01:16 daniel-s_ left 01:18 thou left 01:19 daniel-s__ left, daniel-s__ joined 01:24 daniel-s__ left, _daniel-s__ joined
dalek atures: 841ed85 | larry++ | features.json:
grammar, sig, phaser features
01:27
sorear good * #perl6
TimToady++ taking up features slack 01:28
TimToady well, desperate for soto material :)
01:28 _daniel-s__ left, daniel-s joined
sorear mmm soto 01:28
google -> 4 different uses 01:29
01:33 daniel-s_ joined, daniel-s left 01:34 tyatpi_ left, tyatpi_ joined 01:37 daniel-s_ left, daniel-s__ joined
colomon rakudo: my @a = <a b c>; my @b = eval('@a'); say :@b.perl 01:41
p6eval rakudo 922500: OUTPUT«"b" => ["a", "b", "c"]␤»
01:41 woosley joined, daniel-s__ left 01:42 _daniel-s__ joined, lichtkind left 01:46 _daniel-s__ left, _daniel-s__ joined
colomon rakudo: my @a = <a b c>; my @b = '@a'.eval(); say :@b.perl 01:48
p6eval rakudo 922500: OUTPUT«"b" => [undef]␤»
colomon :\
pmichaud istr we were thinking of eliminating Str.eval, or something like that.
01:50 _daniel-s__ left, daniel-s joined 01:52 whiteknight left
sorear +1 01:54
01:55 pl31415 joined, daniel-s_ joined, daniel-s left 01:59 daniel-s__ joined, daniel-s_ left 02:04 _daniel-s__ joined, daniel-s__ left 02:07 thundergnat left 02:08 daniel-s joined, _daniel-s__ left 02:09 quietfanatic joined
quietfanatic TimToady: ping 02:09
02:12 tokuhir__ left, daniel-s_ joined, daniel-s left 02:13 tokuhir__ joined
sorear o/ quietfanatic 02:13
quietfanatic hi
02:17 daniel-s__ joined, daniel-s_ left
TimToady quietfanatic: pong 02:18
dalek atures: d4aa6d4 | larry++ | features.json:
more features, codes
02:19
02:20 bluescreen10 left
TimToady quietfanatic: nm, got your email 02:21
02:21 daniel-s__ left, daniel-s__ joined
colomon urk. so "make spectest" just lost all my changes today in the dark reaches of git. 02:25
02:25 daniel-s__ left 02:26 daniel-s__ joined
moritz colomon: changes in t/spec/? 02:26
colomon moritz: yes
moritz colomon: did you commit?
colomon yes
I presume they're still in there somewhere
just don't know how to get back to them
moritz git reflog # will tell you their SHA1s
once you have the sha1s, you can cherry-pick them onto whatever branch you want 02:27
or merge or rebase
moritz tries to sleep again
colomon I don't see them in reflog? 02:28
02:28 quietfanatic left
colomon oh, wrong git 02:29
moritz++ # reflog worked great in the proper directory, and git checkout master got my code back 02:30
02:30 _daniel-s__ joined, daniel-s__ left 02:33 aloha joined 02:34 daniel-s joined 02:35 _daniel-s__ left 02:39 daniel-s left, daniel-s_ joined 02:43 daniel-s_ left, daniel-s_ joined, donri left 02:47 daniel-s_ left 02:48 daniel-s_ joined 02:52 daniel-s__ joined 02:53 daniel-s_ left 02:56 _daniel-s__ joined 02:57 daniel-s__ left 03:00 pl31415 left 03:01 daniel-s joined, _daniel-s__ left 03:05 daniel-s left, daniel-s joined 03:09 daniel-s left 03:10 daniel-s joined 03:14 daniel-s left, daniel-s joined 03:18 tokuhir__ left, daniel-s_ joined, kaare_ joined 03:19 daniel-s left 03:23 daniel-s__ joined, Su-Shee_ joined, daniel-s_ left 03:24 Su-Shee left 03:27 _daniel-s__ joined, daniel-s__ left 03:32 _daniel-s__ left, daniel-s joined
dalek atures: f6212c0 | larry++ | features.json:
typo
03:32
03:36 daniel-s left 03:38 tyatpi_ left
sorear Who is planning to rely to Rajeev on p6l? (*wants to avoid doubling work*) 03:58
dalek atures: ae64160 | larry++ | features.json:
tweaks, various classes of operators
03:59
04:01 tyatpi_ joined 04:12 thou joined
dalek ast: 9243ea1 | Coke++ | S02-builtin_data_types/nan.t:
track nom regressions.
04:13
kudo/nom: 0b097fd | Coke++ | t/spectest.data:
track error conditions (pass some tests)
04:21
atures: 1954b50 | larry++ | features.json:
dynvars, trig, filetests; more codes
04:31
04:32 molaf joined 04:49 thou left
sorear TimToady: what do you think of adding deader implementations (Rakudo-Alpha, Pugs, Mildew/SMOP)? 04:52
04:55 birdwindupbird joined
pmichaud I'd be disinclined to include rakudo-alpha; the spec has changed a lot since it was last worked on. 04:56
I don't think it's helpful to include details about compilers targeting out-of-date specs.
TimToady long term I think the matrix will be more interesting wrt alternate backends 05:03
dalek atures: c29629b | larry++ | features.json:
more codes, features
05:07
sorear niecza: say %*ENV<HOME> 05:08
p6eval niecza v8-3-g838bc38: OUTPUT«/home/p6eval␤»
sorear that's a +- or maybe a +
niecza can't set environment variables (%*ENV is like a copy of __environ), but without working qx[] this is unobservable :) 05:09
also, I hope you realize I'm going to use the blanks on the chart to prioritize what to work on :D 05:10
TimToady ah, I typed $*ENV, I see 05:20
dalek atures: fc1a2dc | larry++ | features.json:
niecza does envvars; more codes
05:21
pmichaud file:// urls would seem to be almost guaranteed not to work :-( 05:22
05:24 Jackneill joined
dalek atures: fa5cf1c | larry++ | features.json:
fix some file: entries
05:26
sorear hah 05:27
05:31 molaf left 05:36 DABY0RC joined
dalek kudo/nom: ad8d7a6 | pmichaud++ | src/core/terms.pm:
Add %*ENV.
05:37
kudo/nom: 251c5b3 | pmichaud++ | src/ (2 files):
Add run(), qx operator.
05:55
atures: 6cec1c8 | pmichaud++ | features.json:
Mark nom as having 'run', 'qx, '%*ENV'.
05:57 tyatpi_ left
dalek atures: b14ce20 | larry++ | features.json:
more features, codes
05:58
06:03 cooper left
dalek atures: 3975bdf | pmichaud++ | features.json:
rosettacode.org pages don't have .html extensions
06:05
moritz good morning 06:08
06:08 koban joined 06:09 koban left, koban joined, koban left
pmichaud moritz: I'm running a benchmark of --optimize versus non --optimize for posting on parrot-dev. 06:09
(good morning, btw)
moritz good morningpmichaud++
good morning pmichaud++
pmichaud it'll be a bit before the results are finished, so I'll post them in approx 5 hrs after I sleep :) 06:10
preliminary results are that running without --optimize causes the core.pm compile to take 2x longer
dalek atures: 9d14625 | larry++ | features.json:
more codes, done with RC a..f tasks
06:15
moritz checks to see if he still recognizes perl6/features... 06:17
nope
everyone++
TimToady++
pmichaud moritz++ for getting something started 06:18
dalek atures: b3769fd | moritz++ | features.json:
eval
06:20
06:21 wtw joined
dalek atures: f2b5fc0 | moritz++ | process.pl:
remove redundant conditional
06:24
atures: e90eb68 | moritz++ | template.html:
hilight the footnote when soembody clicks on it
06:29
06:30 Trashlord joined
dalek atures: 17f9ed6 | larry++ | features.json:
more codes
06:32
06:35 Su-Shee_ is now known as Su-Shee
dalek atures: a4407ac | pmichaud++ | features.json:
Note that rakudo currently promotes bigints to nums.
06:36
moritz niecza: try { die "foo"; CATCH { say $! } } 06:38
p6eval niecza v8-3-g838bc38: OUTPUT«===SORRY!===␤␤Action method statement_control:CATCH not yet implemented at /tmp/82y0DLE9Gc line 1:␤------> try { die "foo"; CATCH { say $! } ⏏}␤␤Unhandled exception: Unable to resolve method statement_level in class Str␤ …
06:39 tokuhir__ joined
dalek atures: e3be408 | pmichaud++ | features.json:
Add missing required comma in list of code urls.
06:40
06:40 kjeldahlw left
pmichaud time for sleep -- bbl 06:44
dalek atures: bbce12f | larry++ | features.json:
more codes
06:48
atures: d8d0398 | larry++ | features.json:
format codes better
06:52
06:53 kjeldahlw joined
sorear Are we targetting only RC? 07:07
moritz other links are fine too
07:10 Mowah joined
dalek atures: c36e5de | larry++ | features.json:
add triangle, more codes
07:19
TimToady is giving up for the night, so feel free to play with it 07:20
zzz &
07:22 mj41_nb joined 07:28 koban joined, koban left
dalek href="https://perl6.org:">perl6.org: 5e68a99 | moritz++ | source/compilers/index.html:
[compilers] remove mildew and elf (not developed anymore), note last pugs release
07:29
07:40 ab5tract joined
dalek kudo/nom: b45401d | moritz++ | t/spectest.data:
two more passing test files
07:59
08:05 daniel-s joined 08:07 cosimo left 08:09 daniel-s_ joined, daniel-s left 08:14 daniel-s__ joined, daniel-s_ left 08:18 _daniel-s__ joined, daniel-s__ left 08:22 daniel-s joined, _daniel-s__ left 08:27 daniel-s_ joined, daniel-s left 08:31 wamba joined, daniel-s__ joined, daniel-s_ left 08:36 _daniel-s__ joined, daniel-s__ left 08:40 daniel-s joined 08:41 _daniel-s__ left 08:43 dakkar joined 08:45 daniel-s_ joined, daniel-s left 08:49 daniel-s__ joined 08:50 daniel-s_ left
Trashlord wtf 08:50
08:53 daniel-s__ left, daniel-s__ joined
sorear Trashlord: ?? 08:54
sorear out 08:55
08:58 _daniel-s__ joined, daniel-s__ left 09:02 daniel-s joined, _daniel-s__ left 09:04 daxim joined 09:06 daniel-s left 09:07 daniel-s joined 09:11 daniel-s left, daniel-s joined 09:14 envi joined 09:15 daniel-s left, daniel-s_ joined 09:20 daniel-s__ joined, daniel-s_ left 09:24 daniel-s__ left, daniel-s__ joined 09:28 daniel-s__ left, daniel-s__ joined 09:30 hatseflats left
kboga hello perl6 09:32
09:33 _daniel-s__ joined, daniel-s__ left
jnthn o/ #perl6 09:42
moritz \o * 09:44
09:50 _twitch joined
kboga could someone be bugged to take a look at this pull request please? github.com/rakudo/rakudo/pull/27/files 09:52
09:53 hatseflats joined
moritz wonders why "turn on subset.t" appears twice in the commit list 10:03
and "Remove the now obsolete regex anchors used in the samecase method after ..." appears three times 10:04
kboga: if you cherry-pick the still relevant commits into a clean branch made from rakudo/nom I'll merge it
kboga ok, will try to do so 10:07
10:09 timbunce joined
mathw jnthn: How do you find git works for you on Windows? 10:12
10:13 woosley left 10:16 kfo left
jnthn mathw: I'm very happy with it - it's extremely rare it gets in my way. 10:16
mathw: The most I've run into is the odd weird line-ending issue. 10:17
And that's been rare.
Bizzarely, it works better for me than TFS, which is designed for Windows. ;) 10:18
kboga++ # hacking on Rakudo 10:19
mathw Excellent 10:29
I ask just because my new job is all Windows and one of the first things I need to sort out is source code management, which is currently a subversion repo hosted on the only coder's laptop
And they're definitely willing to consider moving to something else, so obviously I was wondering how well git would work :) 10:30
I've had so much pain with SVN at my current job that I'm determined to not use it.
jnthn Yeah, I've found git a big improvement. 10:31
10:34 _daniel-s__ left
mathw I love how it tracks commits across branches 10:34
The other day I merged a big pile of stuff across branches in SVN, and now anybody viewing the history of the target branch will think I wrote all that code, but half of it was me merging someone else's commits
because SVN just thinks oh look, it's a patch 10:35
moritz git also does magic like merging changes in renamed files 10:36
branch a renames foo to bar, branch b changes contents of file foo
you merge b in a, you get file bar with the content changes of branch b
no manual intervening necessary 10:37
10:39 tokuhir__ left
mathw awesome 10:39
10:39 tokuhir__ joined
mathw I think I'm going to push for that, the Windows behaviour was the thing I was least certain about 10:40
I'm sure we can find a way to host the server on a Windows machine
(who'd've thought, me taking a Windows job!)
But it's all .NET so maybe one day I can get them using Niecza :)
10:44 tokuhir__ left
jnthn does a lot of .Net at $dayjob too :) 10:45
10:45 ab5tract left
mathw I thought you might, seeing as how 6model seems to have started out in C# 10:46
I'll be pretty much forming a proper dev team from scratch, and we're talking about using at least some F#, which should be fun :) 10:47
jnthn Nice! :)
VB.NET too? ;-)
mathw not if I have any say in the matter! 10:48
10:48 Jackneill left
jnthn :-) 10:49
Yeah, it's...horrible.
mathw That's one way of putting it 10:54
This is very exciting though, I get the chance to lay down some good working methods and ideas and have a real say in choosing the right languages and tools
11:11 Jackneill joined
tadzik good morning #perl6 11:19
jnthn hi, tadzik 11:20
11:31 sili joined
sili haiii 11:31
moritz hello sili
where is argument coercion in signatures speciified? 'as' is not an easy word to grep for :-) 11:32
jnthn moritz: Specified as in, in the spec?
S06 I'd guess
coercion is probably easier to search for :)
Or just "coerce" 11:33
moritz ack '\$\w+ as ' finds only three things, one example in S32
and two false hits
jnthn hm
flussence moritz: try "trait_mod:sym<as>", that might be it
moritz flussence: no hit in the specs
flussence oh, in the spec 11:34
hm
(well I found it in the code, at least :)
moritz ah, S02:1557 11:35
jnthn++
at least for the return type
jnthn nom: sub foo($x as Int) { say $x.WHAT; say $x; }; foo('42') 11:37
p6eval nom: OUTPUT«Str()␤42␤»
jnthn meh.
NYI or some such, I guess.
flussence ok, I give up. I can't seem to find anything about the parameter type coercion "as" in the spec... :/ 11:42
there's not even an example line of code for it, besides one use at S32/Numeric:245 11:44
moritz is glad he isn't the only one who can't find it
I've opened a ticket in the github issue tracker for perl6/specs
dalek atures: 51c6bee | moritz++ | features.json:
add a few spec links
11:47
pmichaud good morning, #perl6 11:53
kboga moritz: done cherry picking the commits in a clean branch: github.com/rakudo/rakudo/pull/28
jnthn morning, pmichaud 11:54
kboga good morning, pm 11:55
moritz kboga: looks great, merging 11:57
kboga moritz: thanks
moritz kboga: thank you for the patches and the effort
dalek kudo/nom: bb9b16a | kboga++ | src/core/Str.pm:
Remove the now obsolete regex anchors.

Made possible by commit dc942fb in the nqp repo (pmichaud++).
11:58
kudo/nom: 163a1f7 | kboga++ | t/spectest.data:
Track error conditions.
kudo/nom: b890384 | moritz++ | / (2 files):
Merge pull request #28 from kboga/nom

Update error conditions, remove workarounds from regexes
sili any chance there's a DBI module? I'm using rakudo 12:01
[Coke] jnthn: (git on windows) the only time line endings have really been an issue for me is with git-svn and a merge of a branch that was created with svn.
[Coke] imagines we're over 8000 spec tests now on nom with recent commits. 12:02
moritz [Coke]: in nom two files appeared with CR line endings only
[Coke] (we were at 7954 yesterday after my commit.)
moritz [Coke]: written by jnthn++ - might have been a git + newlines issue 12:03
flussence goes to verify that number
jnthn moritz: That was my editor picking a really weird default line ending for some reason, rather than git's fault. 12:04
moritz jnthn: ah, good to know
tadzik sili: check out modules.perl6.org 12:07
moritz there's MiniDBI - not sure how well it runs on current rakudo
sili tadzik: thanks. I was hoping there was cpan-ish thing. 12:08
pmichaud general planning note: I'm reserving tomorrow to finish the updates to the regex engine, including switching nqp and rakudo parsing to use the new engine.
moritz it's cpan-ish, the "ish" part is just rather big-ish :-)
moritz looks forward to the updates from pmichaud++
pmichaud okay, have to run some guests to the airport -- bbiah 12:10
well, an hour-ish. :)
moritz hopes the airport isn't too far away, otherwise running might be quite daunting
:-)
jnthn pmichaud: Got an interview and lunch meeting tomorrow, but suspect I'll be back from them by the time you're up tomorrow :)
pmichaud jnthn: sure thing. I suspect my work won't interfere much with others (or vice versa); just wanted to let people know the current plans :) 12:11
nom: say [/+] 1,2,3,4; 12:12
p6eval nom: OUTPUT«Quantifier quantifies nothing at line 1, near "] 1,2,3,4;"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23611 (src/stage2/gen/NQPHLL.pir:6347) (src/stage2/gen/NQPHLL.pm:329)␤»
pmichaud nom: say [\+] 1,2,3,4;
p6eval nom: OUTPUT«Nominal type check failed for parameter '$infinite'; expected Any but got Mu instead␤current instr.: 'GATHER' pc 476383 (src/gen/CORE.setting.pir:120573) (src/gen/CORE.setting:2812)␤»
pmichaud hmmmm
I'll look at that when I get back.
I thought I had triangle reductions implemented. 12:13
bbiaw
dalek kudo/nom: ab97547 | jonathan++ | src/ (4 files):
Implement coercion for parameters. Goes one step better than master - only coerces if the value isn't already of the correctr type.
12:16
12:18 bluescreen10 joined, cryptographrix left
moritz nom: enum A <a b>; say A::b 12:18
p6eval nom: OUTPUT«Object of type 'A' cannot be referenced without having been assigned a serialization context␤current instr.: 'nqp;HLL;Compiler;SerializationContextBuilder;get_object_sc_ref_past' pc 45617 (src/stage2/gen/NQPHLL.pir:15607) (src/stage2/gen/NQPHLL.pm:2099)␤»
jnthn moritz: I only got half way through enums before I went on vacation. Plan to work on them some more later today. 12:19
moritz o/ 12:20
12:20 cosimo joined
jnthn nom: class A { has $.x = 42 }; BEGIN say A.new.x 12:21
p6eval nom: OUTPUT«42␤»
jnthn ah, good...yesterday's thunk fix dealt with that too. 12:22
12:22 pernatiy joined
moritz jnthn: btw I had a nice chat with Stevan Little (of Moose fame) about MOPs, and specifically about nom and the MOP he's designing for p5 core 12:22
jnthn Ah, cool. 12:23
moritz he takes an ocaml-ish approach, where a class is something like a lexpad, and an object is a closury clone of such a pad
jnthn Isn't that similarish to the JavaScript approach also?
Apart from it reifies the class/object difference some more...
(more than JavaScript, I mean...) 12:24
moritz rakudo: class A { has $.x = 42 }; BEGIN say A.new.x # probably can't even find say()?
p6eval rakudo 922500: OUTPUT«===SORRY!===␤too few positional arguments: 1 passed, 2 (or more) expected␤»
jnthn wow :)
moritz jnthn: I never considered that comparison, but at some level it seems appropriate
though lexpads as representation would allow per-class private attributes (even with same attribute names in inherited classes without clashes) 12:26
which I don't think JS allows easily
jnthn ah, I see
Yeah, that is different :)
It's a cute idea. I suspect with the appropriate REPR and a little glue, you could build similar on top of 6model. 12:27
moritz I'm prety sure you could :-)
jnthn nom: my $uid = 0; sub mk_obj($x) { my role Foo[$uid] { method m() { say $x } }; Foo[$uid++].new }; mk_obj(1).m; mk_obj(2).m 12:29
p6eval nom: OUTPUT«Symbol '$x' not predeclared in m (/tmp/B4Qh_LAKmx:1)␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 154 (compilers/pct/src/PCT/HLLCompiler.pir:111)␤»
jnthn ouch
rakudo: my $uid = 0; sub mk_obj($x) { my role Foo[$uid] { method m() { say $x } }; Foo[$uid++].new }; mk_obj(1).m; mk_obj(2).m
p6eval rakudo 922500: OUTPUT«1␤2␤»
jnthn I wonder if that's an easy Perl 6 approximation-ish of the idea...though maybe not. 12:30
flussence nom passes 8039, master has 21359. the gap's getting smaller :)
jnthn nom: my $uid = 0; sub mk_obj($y) { my $x = $y; my role Foo[$uid] { method m() { say $x } }; Foo[$uid++].new }; mk_obj(1).m; mk_obj(2).m
p6eval nom: OUTPUT«Parametric roles not yet implemented at line 1, near ".new }; mk"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23611 (src/stage2/gen/NQPHLL.pir:6347) (src/stage2/gen/NQPHLL.pm:329)␤»
jnthn aha. 12:31
12:33 cryptographrix joined
dalek ast: 2627458 | moritz++ | S02-builtin_data_types/hash.t:
a rakudo fudge in hash.t
12:33
ast: a4a33cd | moritz++ | S03-operators/assign.t:
fudge a nom segfault
12:33 Mowah left
jnthn moritz: Got a golf of that segfault? 12:34
moritz jnthn: I can try
jnthn Thanks. :) 12:35
moritz down to 12 lines 12:36
12:38 wamba left 12:39 wamba joined
moritz jnthn: gist.github.com/1109277 12:41
jnthn: removing some of the is() lines makes the segfault go away
12:45 Holy_Cow joined, Holy_Cow left
jnthn moritz: Thanks, I'm sure I can reproduce that and track it down. 12:48
13:14 MayDaniel joined
[Coke] Tests=8085 13:30
whoops: Files=286, Tests=8085
13:37 noodles__ joined
noodles__ first 13:38
takadonet second? 13:39
PerlJam I couldn't decide whether to respond with "second" or "last" 13:40
flussence nth
moritz the first noodles are the best
noodles__ why?
moritz because they are the freshest 13:41
and I love fresh food
PerlJam When the noodles sit for a while and soak up some broth or sauce, those are the best noodles
13:42 Trashlord left
noodles__ It's hard in English for me ! god 13:43
PerlJam don't you mean, it's al dente?
13:46 noodles__ left, Trashlord joined 13:50 AndroUser2 joined 13:52 cryptographrix left 13:57 drbean left 14:00 AndroUser2 left 14:07 noodles__ joined 14:08 tokuhir__ joined 14:10 wamba left
[Coke] feels a little weird running a .t to verify things are failing as expected. (100% OK (and failing!)) 14:18
dalek ast: d05d08a | (Solomon Foster)++ | / (15 files):
Move classes NotComplex and DifferentReal from TrigTestSupport.pm to each trig test file.
14:28
ast: cd6aeac | (Solomon Foster)++ | / (16 files):
Get rid of a lot of dead weight from the trig test harness.
ast: aea78b8 | (Solomon Foster)++ | / (16 files):
Class AngleAndResult gone completely now.
[Coke] whee. we're getting more test files running (though with nom regressions)
ast: 59b5e94 | (Solomon Foster)++ | / (16 files):
Remove TrigTestSupport.pm.
ast: 3900295 | (Solomon Foster)++ | S32-trig/ (14 files):
Rearrange NotComplex and DifferentReal a bit.
ast: 3d414e0 | (Solomon Foster)++ | S32-trig/ (14 files):
Get rid of some obsolete stuff involving bases.
ast: 0c917fb | (Solomon Foster)++ | S32-trig/ (14 files):
Slightly better formatting.
[Coke] need to fudge those tests and start running them.
dalek kudo/nom: 379f437 | Coke++ | t/spectest.data:
track more test failure updates.
14:29
14:30 wtw left 14:31 birdwindupbird left, noodles__ left 14:32 jaldhar left 14:34 wamba joined 14:37 bluescreen10 left 14:46 soh_cah_toa joined 14:52 bluescreen10 joined, thou joined
pmichaud back again 14:56
kboga wb
TimToady * morning, pmichaud :)
colomon o/ 15:01
15:03 wolfman2000 left 15:05 spq1 joined 15:07 sili left 15:08 tokuhir__ left 15:09 tokuhir__ joined 15:13 tokuhir__ left 15:22 Trashlord left
dalek kudo/nom: 318767a | pmichaud++ | src/core/GatherIter.pm:
Fix triangle reductions.
15:24
kboga yay, think i got @*INC implemented 15:29
now the question is if it is done correctly or not
15:31 tomaw left
[Coke] if anyone wants some low hanging fruit, I can tell you some tests that need fudging for nom. ;) 15:32
15:34 tomaw joined
kboga the @*INC commit: github.com/kboga/rakudo/commit/8c3...fe7459784f 15:35
if anyone wants to review
its based on: github.com/kboga/rakudo/blob/8c370...mpiler.pir # search @*INC 15:38
dalek atures: 23fba0b | larry++ | features.json:
nom now does triangles
15:44
[Coke] spec tests that need nom fudging: gist.github.com/1109649
15:45 soh_cah_toa left
dalek atures: bf84550 | larry++ | features.json:
master does sets partially
15:49
kboga hmm the tests that needed @*INC now complain like this: "load_bytecode" couldn't find file 'Test/Util.pbc' 15:54
15:54 MayDaniel left
kboga the stuff in rakudo/t/spec/packages doesn't get compiled? 15:54
jnthn kboga: Compiling stuff on demand isn't yet implemented. 15:55
kboga and that is what @*INC is for right?
jnthn Well, it's kinda orthogonal.
kboga hmm? 15:56
jnthn @*INC is where to search for modules
They may or may not be pre-compiled
But at the moment nom only handles the pre-compiled case
kboga ic
jnthn When it's made to handle the source case, it'd still look through @*INC
Just for both things
kboga heh, i was hoping to get a few tests passing by adding @*INC but i guess this has deeper roots then? 15:57
15:58 wamba left
jnthn Yeah. There's two issues to solve. By working on @*INC you're solving one of them. Which is good progress, of course. :) 15:58
There's still some thinking to do on module loading and stuff - it ties into the make install stuff too. 15:59
kboga moritz' branch
16:00 thou left, Kivutarrr joined
kboga now idk what to do, is the @*INC code I provided good enough to make it to master? 16:00
pmichaud kboga: looks okay to me 16:02
16:02 cryptographrix joined
jnthn kboga: Looks find, and if pmichaud++ is comfortable with where it's put then I am. 16:03
ah, I see the patch doesn't actually update the code that searches for modules.
pmichaud it just sets up @*INC, I think. 16:04
i.e., it just creates the @*INC dynvar
jnthn yeah
pmichaud it doesn't make anything use it yet
jnthn *nod*
Looks alright to me.
pmichaud I'm not sure how to call core functions from the metamodel code 16:05
kboga yea, thats all it does and it adds the places to look for stuff that master added in src/Compiler.pir
pmichaud (e.g., to call &DYNAMIC to look up @*INC)
kboga yea that gave me an error about the Hash class not having an exists method 16:06
jnthn pmichaud: With difficulty - it's the setting that does a use Perl6::Metamodel.
pmichaud: Though in this case we can find it via PROCESS I suspect. 16:07
16:07 Trashlord joined
pmichaud we can find &DYNAMIC via PROCESS? 16:07
jnthn No
@INC
pmichaud that's not the same as @*INC, though.
jnthn No, true.
Hm
oh 16:08
pmichaud at some point we probably want some sort of "private" namespace where we can put things like &DYNAMIC, &GATHER, etc.
jnthn the module loader isn't actually in Perl6::Metamodel, it seems
But a separate thing
src/Perl6/ModuleLoader.pm
Well, we do now have Parrot namespaces available as our invizible stash. ;)
pmichaud yes, that's what I did for @*ARGS :) 16:09
jnthn And I for GLOBAL :)
16:11 soh_cah_toa joined
TimToady moritz: I'm starting to think perl6.org/compilers/features is frozen; I thought it updated every 15 min 16:12
nevermind
it was a cache issue
(from working offline, I suspect) 16:13
jnthn For features, nom now has argument coercion :) 16:14
16:15 Kivutarrr left, Kivutarrr joined
jnthn What does "Inheritance manipulation" mean in the MOP section? 16:16
TimToady I don't know who put it 16:18
I would guess it means the ability to change your parentage somehow
or maybe changing mro policies, or some such 16:19
jnthn ah 16:20
TimToady maybe it means killing your rich uncle that you thought was leaving you a fortune
16:20 ab5tract joined
jnthn doesn't know whether adding parents post-composition should be supported by the default ClassHOW. 16:20
TimToady certainly such actions would invalidate anything resembling a cache 16:21
jnthn It's the same problem as adding attributes post-composition.
Well, it is if they have attributes anyway...
16:22 _twitch left
jnthn Good performance wants to make assumptions that various things won't happen. 16:22
TimToady in general we try to delay final assumptions till CHECK time though
to give everyone a chance to say what not to assume 16:23
16:23 daniel-s joined
jnthn Kinda, though using something at BEGIN time can force commitments earlier than that. 16:23
The P6opaque I have today commits to object layout for the type at the first instantiation, for example. 16:24
TimToady might be forced into a two-level commitment strategy
but maybe we can get our predeclarations pre enough to avoid that 16:25
jnthn Would be worth a shot.
We already make folks opt in to MONKEY_TYPING, after all. 16:26
Maybe you have to MONKEY_AROUND to get stuff left as dynamic as possible. :)
BTW, when do we view augment as actually having its actions take place? 16:27
16:27 daniel-s left
jnthn is leaning to INIT on that one. 16:27
16:27 daniel-s joined 16:28 pyrimidine left
jnthn Rationale: if you are augmenting a module's stuff, and you're pre-compiled, you expect your changes to stay around. 16:28
Clearly, serialization won't catch these cases, since if the module is pre-compiled, then when you load it, you'll just get the original thingy. 16:29
Separate compilation kinda demands that.
TimToady depends on when you see "link" time
jnthn Hmm 16:31
TimToady the alternate view is that when you use something, it will be serialized along with the user's stuff, so no extra loading is done at INIT
(modulo shared libs and such)
16:32 daniel-s left, daniel-s_ joined, molaf joined
jnthn That seems like a lot of redundant storage of stuff. 16:32
TimToady maybe, but disk is cheap, and linking at INIT time has performance issues that could be moved to compile phase 16:33
16:33 pernatiy left
TimToady and we don't necessarily have to physically include the module 16:34
as long as we have strict identity under versioning, we can refer to immutable compiled objects
jnthn But if we don't do that then we don't really solve the issue we were aiming at.
Which is that augment may cause changed versions of things.
dalek p: b5c4138 | pmichaud++ | src/HLL/Compiler.pm:
Add stat.pasm to list of automatically-included macros.
16:35
TimToady so in the normal case we can still use shared memory
but in the augment case, we can just slurp it in and keep our own view of it
moritz back
jnthn That seems to imply we need to somehow know when changes happen to things we loaded from elsewhere.
augment is a trivial (syntactic) case, but a BEGIN that does a .^add_method is less so. 16:36
And I really wanted to do this without having to implement an object version control system. :P
16:36 daniel-s__ joined, mj41_nb left, daniel-s_ left
kboga wb moritz 16:37
spec S02 has %*PID -> typo? (should be $*PID)
TimToady I can see why so many languages go with a compilation model of "here's my current workspace, just dump it as the runnable image" 16:38
dalek atures: 53bea60 | moritz++ | features.json:
nom has "as" argument coercion
TimToady still hates 'as' for being inside-out 16:39
moritz finds it useful in practice 16:40
16:40 mikehh joined
moritz though it would even make sense if we had nominal types that express "can be coerced to ::Type" 16:40
*make even more sense
16:41 _daniel-s__ joined, daniel-s__ left 16:42 shinobicl joined
TimToady that's still thinking of it inside out 16:43
when you say "can be coerced to", you're talking about the *actual type* of the container 16:44
moritz container?
TimToady my Whatever $x as Int; # means the container actually is restricted to Int
moritz ah
TimToady should be my Int $x from Whatever; # Whatever is just how liberal you're being 16:45
jnthn hm.
16:45 _daniel-s__ left
TimToady and I'd like the liberalness to have a default 16:45
jnthn wonders how to factor such a beast.
TimToady so
16:45 _daniel-s__ joined
TimToady my Int() $x; # contains an Int, but allows whatever the default is...Any? Cool? 16:45
pmichaud afk, lunch
TimToady and it looks like a coercion to Int 16:46
bleah, I should be writing my talk... 16:47
maybe I should be asking you guys what you think the State of the Onion is...
moritz the Onion is growing 16:48
TimToady I think the P5 folks are re-realizing why we had 361 RFCs
16:49 mberends joined, _daniel-s__ left, daniel-s joined
takadonet TimToady: are you writing a new State of the Onion? 16:50
TimToady trying, feebly
takadonet are you presenting the talk anywhere or just posting it online? 16:52
16:53 daniel-s_ joined, daniel-s left
shinobicl hi!!!!! :) 16:54
in this code, from the text-adventure game that masak posted a few days ago
class Flashlight does Takable { has Bool $.is_on = False; method use { if $.is_on { say "It's already switched on."; } my $was_dark = !there_is_light; $!is_on = True; say "You switch on the flashlight."; if $was_dark { say ""; $room.look; } } }
there is two references to the "is_on" variable. One uses $. and the other $! 16:55
why is that?
TimToady takadonet: presenting tomorrow night at OSCON
jnthn I...don't see a good reason.
16:55 wamba joined
jnthn $!is_on woulda been fine both times here 16:55
Dunno why you'd want it polymorphic in one case and not the other. 16:56
So, I suspect thinko on masak++'s part.
shinobicl mmm ok... thanks jnthn!
16:56 daniel-s_ left
kboga anyone working on IO::Stat? 16:57
jnthn kboga: pmichaud++ did some commit that looked stat-ish earlier on today
kboga yea, thats why i asked :)
jnthn kboga: Don't think anyone is working on putting socket stuff back thugh. 16:58
*though
kboga: That'd be a nice to have.
kboga Though its a bit harder I presume? 17:01
17:01 thou joined
jnthn kboga: Not necesarily. 17:01
kboga: The existing code in master is in Perl 6, with some calls down to Parrot.
kboga: It should probably part relatively directly.
s/part/port/ 17:02
17:06 dakkar left 17:10 donri joined 17:14 thou left 17:16 shinobicl left 17:20 thou joined 17:22 thou left, thou joined 17:28 daxim left
[Coke] interesting quotes from Aristotle about p6 vs. 5.10 on p5p. 17:29
//Lexical $_ is Broken 17:30
17:30 risou left 17:31 risou joined 17:37 wamba left 17:39 Instil left
tadzik link? 17:40
17:40 spq1 left 17:43 tokuhir__ joined 17:45 Mowah joined
[Coke] ... my inbox? 17:47
I'm sure there's an archive somewhere, but I don't read it that way.
sorry. :(
17:48 mj41_nb joined
tadzik (: ok 17:48
what's that thread subject? 17:49
17:49 pernatiy joined, soh_cah_toa left
[Coke] 13:30 < [Coke]> //Lexical $_ is Broken 17:53
tadzik :) thanks 17:54
pmichaud 16:57 <jnthn> kboga: pmichaud++ did some commit that looked stat-ish earlier on today 17:58
yes, I'm working on the filetest operators. I'm not doing IO::Stat itself -- thus far it's (1) not spec and (2) the rakudo master implementation is IMO very suspect.
kboga oh 18:02
18:04 Jackneill left
tadzik we'll have to do it anyway it Module Hackathon Weekend, panda uses that ISTR 18:06
18:08 mj41_nb left
kboga how does one flatten a hash in p6? 18:08
pmichaud tadzik: "ack Stat" and "ack '\.stat'" return no instances in panda
kboga: depends on what you mean by "flatten"
tadzik hmm
pmichaud kboga: you're probably looking for .kv 18:09
tadzik pmichaud: right, must've been wrong about that 18:10
kboga or let me rephrase, what exactly happens here in following pir statement? "%r = '&hash'(config :flat)" 18:11
18:11 Jackneill joined, Jackneill left, Jackneill joined
pmichaud that flattens out 'config' when calling &hash 18:11
kboga the hash sub is called on config with :flat option?
pmichaud in p6, it's like say hash(|@config) 18:12
*saying
kboga ah
pmichaud :flat modifies config
18:12 Jackneill left 18:13 Jackneill joined, Jackneill left, Jackneill joined
kboga thanks for your explanation pmichaud++ 18:15
18:25 bluescreen10 left, risou is now known as risou_awy
kboga the weird thing is that config is a parrot Hash 18:30
jnthn You can get it shoved into an EnumMap and it'll probably work out OK. 18:31
oh, actually there's an op 18:32
pir::perl6ize_type__PP($parrot-hash) 18:33
Will give you back an EnumMap based on it.
kboga thanks jnthn
18:34 cryptographrix left 18:40 bluescreen10 joined 18:45 birdwindupbird joined
sorear good * #perl6 18:47
mberends o/ 19:02
19:02 wamba joined
tadzik hello sorear, mberends 19:02
dalek kudo/nom: 7129b21 | pmichaud++ | src/ (5 files):
Add some filetest operators.
19:05
19:05 cryptographrix joined
jnthn back from nomz 19:07
[Coke] OMNOMNOMNOM 19:11
jnthn Exactly. :) 19:12
19:12 cryptographrix left
dalek ast: 389467d | (Kyle Hasselbacher)++ | S02-builtin_data_types/nil.t:
[nil] Test for RT 93980
19:13
19:15 shinobicl joined
kboga is it possible to do something like pir::sysinfo(pir::const::SYSINFO_PARROT_OS)? 19:18
or am I insane? =/ 19:19
19:20 mj41_nb joined
pmichaud it's possible, but you probably have to specify the types of the operands 19:21
I don't think that PAST knows the sysinfo arguments by default
kboga like this? sysinfo_s_i 19:24
jnthn sysinfo__Si
kboga thx
failed to grep that
19:26 cryptographrix joined
kboga pir::sysinfo__Si(pir::const::SYSINFO_PARROT_OS) --> error:imcc:syntax error, unexpected SREG, expecting '(' ('$S100') 19:26
in file '(file unknown)' line 72
hmm
19:26 shinobicl left, Jackneill left 19:30 cryptographrix left 19:32 Trashlord left 19:33 Trashlord joined
pmichaud looks like sys.ops has to be dynloaded in order for sysinfo to work. 19:33
kboga right, didn't consider that =/ 19:34
pmichaud might be simpler to get osname and osvers from PConfig for now.
I'm always a little wary of the dynops
kboga ic 19:35
19:35 ZaphrodZenovka left 19:36 ZaphrodZenovka joined, shinobicl joined, ZaphrodZenovka left
sorear pmichaud: why so wary of dynops? 19:37
[Coke] at one point they exploded if different pbc's dynloaded things different orders. I /think/ that is fixed. 19:40
*in diff...
19:42 fsntation left
kboga hmm, i could swear having read somewhere that the osname in parrot's config could be incorrect but can't remember where 19:43
PerlJam kboga: maybe you're thinking about the osname parrot was compiled under vs. the osname it's running under? 19:44
kboga possibly 19:45
19:52 birdwindupbird left
pmichaud I'm wary of dynops because I don't know how well supported each dynop is likely to be 19:54
some of the apis aren't well designed 19:55
as for the dynops we write ourselves, I'm fine with that -- I can trust them. :)
[Coke] pmichaud: there's really no difference in terms of support from parrot.
it's just that some were deemed "not worth loading every single time parrot is invoked" 19:56
(in fact, most of the dynops now are ones that were just moved over from static ops)
pmichaud I still remain a bit skeptical, if only because there seems to be little rhyme or reason to them at the moment. 19:57
for example, sqrt is a built-in op, but pow is a dynop.
moritz is kinda disappointed that there's no pow__Iii opcode 20:01
pmichaud also, just having gone through the filetest operators, which required the use of the <stat> opcode (dynop), OS pmc (builtin), and File PMC (dynpmc).... it's just.... weird. 20:03
20:05 CAAXR92 joined
kboga hmm IMCC error when building 20:06
moritz got the same thing here
kboga oh, the nqp version needs to be bumped to get that stat thing no?
pmichaud didn't I bump NQP_VERSION?
moritz Configure.pl did not complain 20:07
nope, last NQP_VERSION bump was by jnthn++
20:07 Holy_Cow joined
pmichaud huh, that's weird. 20:08
I wonder why it worked here.
20:08 Holy_Cow left
moritz because you typed 'make install' in nqp? 20:08
pmichaud ...but I didn't.
and my nqp is a completely separate repository from nom
i.e., I always build nom with --gen-nqp
moritz maybe you bumped it locally, and forgot to commit? 20:09
pmichaud no, my local version also has the unbumped value.
Weird.
bumping now. 20:10
afk, grocery run
dalek kudo/nom: 08b94ed | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get stat.pasm.
20:11
ast: 26737fc | (Kyle Hasselbacher)++ | S03-operators/assign.t:
[assign] Tests for RT 77586 and RT 93972
20:14
ast: 5dcf3af | (Kyle Hasselbacher)++ | S02-builtin_data_types/nan.t:
Test for RT 83446
20:15 kaare_ left
sorear I don't follow that logic 20:17
UNIX systems have supported demand paging of libraries for what, 30 years now?
having extra ops in libparrot.so is nearly free; kicking them out should do nothing except slow down the users 20:18
20:29 cryptographrix joined
jnthn nom: my %a = (a => 1, b => 'foo', c => Mu); say %a ~~ b => 'foo' 20:33
p6eval nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'␤current instr.: 'nqp;Perl6;ModuleLoader;_block1140' pc 2998 (src/gen/perl6-moduleloader.pir:1203) (src/Perl6/ModuleLoader.pm:127)␤»
jnthn nom: my %a = (a => 1, b => 'foo', c => Mu); say %a ~~ b => 'foo'
p6eval nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'␤current instr.: 'nqp;Perl6;ModuleLoader;_block1140' pc 2998 (src/gen/perl6-moduleloader.pir:1203) (src/Perl6/ModuleLoader.pm:127)␤»
jnthn evalbot rebuild nom
p6eval OK (started asynchronously)
pmichaud sorear: it's not at all a performance issue. it's a support/api issue. 20:34
sorear: oh, I misread -- you're stating the reverse. 20:35
sorear: right, making them into dynops doesn't seem to be a big win.
I need a nap -- bbl
sorear very little of what #parrot does makes sense to me :(
jnthn nom: my %a = (a => 1, b => 'foo', c => Mu); say %a ~~ b => 'foo' 20:37
p6eval nom: OUTPUT«Rebuild in progress␤»
20:42 wooden left
jnthn nom: my %a = (a => 1, b => 'foo', c => Mu); say %a ~~ b => 'foo' 20:44
p6eval nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'␤current instr.: 'nqp;Perl6;ModuleLoader;_block1140' pc 2998 (src/gen/perl6-moduleloader.pir:1204) (src/Perl6/ModuleLoader.pm:127)␤»
jnthn hm
[Coke] I assumed the reason for pushing them to dynops was to make the core leaner. 20:46
dalek kudo/nom: 81f235a | jonathan++ | src/Perl6/ (3 files):
A little more work on enums so that enum Foo <Bar Baz> at least now gets you a Bar/Baz/Foo::Bar/Foo::Baz that you can say.
kudo/nom: 8b10f1c | jonathan++ | src/Perl6/Actions.pm:
Fix so colonpairs work inside enums also.
20:47 shinobicl left
[Coke] If this is demonstrably not true, perhaps we should ask them nicely to move them back. 20:47
20:51 lichtkind joined
jnthn nom: say Any++ 20:52
p6eval nom: OUTPUT«Rebuild in progress␤»
lichtkind thou: found nothing?
20:54 [Coke] left 20:56 [Coke] joined 20:57 cracker007 joined
cracker007 It seems that rakudo doesn't support the "=:=" operator yet, right? 20:58
sorear rakudo: my $a; say $a =:= $a 20:59
p6eval rakudo 922500: OUTPUT«Bool::True␤»
sorear rakudo: my $a; my $b; say $a =:= $b
p6eval rakudo 922500: OUTPUT«Bool::False␤»
sorear cracker007: it looks like it does
rakudo (master) does *not* have :=, however
21:00 timbunce left
cracker007 I mean if I write this: my $a; my $b; $a:=$b; if $a=:=$b # I got false here 21:00
jnthn rakudo: my $a; my $b; $a := $b; say $a =:= $b
p6eval rakudo 922500: OUTPUT«Bool::False␤»
jnthn nom: my $a; my $b; $a := $b; say $a =:= $b 21:01
p6eval nom: OUTPUT«Bool::True␤»
jnthn cracker007: Binding is really dodgy in the master branch.
sorear perl6: my $a; my $b; $a := $b; say $a =:= $b
jnthn cracker007: We've fixed it up a bunch in the current dev branch, thankfully.
p6eval niecza v8-3-g838bc38: OUTPUT«Bool::True␤»
..pugs: OUTPUT«1␤»
..rakudo 922500: OUTPUT«Bool::False␤»
cracker007 @ sorear and @jnthn my result is Bool:False 21:02
I am using rakudo july release
jnthn cracker007: Yes, July release gives wrong answer. It should be fixed in the next release. 21:04
sorear cracker007: rakudo (released) is broken, rakudo (dev branch), pugs, and niecza are not. what is confusing you?
cracker007 Ok. So I will wait for the next release 21:05
21:05 timbunce joined
sorear or you could use a different implementation for now 21:05
dalek ast: 3d78167 | kboga++ | S03-operators/assign.t:
Avoid segfault in assign.t and fix plan.
21:06 mj41_nb left
sorear alpha: my $a; my $b; $a := $b; say $a =:= $b 21:06
p6eval alpha : OUTPUT«1␤»
21:06 Mowah left
cracker007 I am just learning perl6 with rakudo. When I tried the =:= I got false which should be true, so I'm a little confused. Thanks. 21:07
PerlJam cracker007: are you *sure* it should have been true? :)
sorear as a developer of another implementation, it kind of insults me when people go "ok I'll wait for it to work in Rakudo"
PerlJam sorear: your implementation isn't as well known as rakudo; that's all. 21:08
sorear PerlJam: surely at least pugs is well known
and it works, right now, in pugs too 21:09
PerlJam sorear: pugs is also well known to be outdated
[Coke] ping #parrot. allegedly lower memory use in the case where you don't use it. no change in support level.
sorear: as a user of perl6, all these implementations piss me off. ;)
can't we all just get along? 21:10
cracker007 @PerlJam, $a:=$b so it should be true that $a=:=$b, right? 21:14
@sorear, Sorry I don't mean that pugs is not good. 21:15
21:16 Holy_Cow joined
lichtkind thou: sounds like a clear nothing to me :) 21:17
[Coke] cracker007: sorear's is niecza.
sorear cracker007: $a =:= $b absolutely should be true. It's true in two of the three major implementations, it was true in Rakudo until February 2010, and it will be true again in Rakudo after August 2011. What more do you want? 21:19
[Coke] ... I think he said he'd wait. chill out. ;)
sorear We're having communication difficulties here I think
cracker007 So why it's not true between feb 10 and aug 11?
21:19 sili joined
sorear cracker007: bug 21:20
[Coke] I assume there was a regression. That can happen.
21:20 molaf left
[Coke] You can help avoid that sort of thing by setting up a testbot. 21:21
(though that's a little wonky given that rakudo is undergoing a rewrite at the moment.)
dalek ast: f6e35cb | kboga++ | S06-traits/as.t:
Fix unitialized value in string context and remove todo markers for passing tests.
21:24
21:24 shinobicl joined
thou lichtkind: i am stuck w/ no time at all this week, likely little next..... 21:28
21:32 Holy_Cow left, masak joined
masak good evening, #perl6 21:32
kboga hi masak 21:33
tadzik masak: o/ 21:35
jnthn o/ masak
21:36 bluescreen10 left 21:39 wannatalk joined
kboga jnthn: recently (commit 7129b21) a test regressed, namely S03-smartmatch/any-hash-pair.t --> Ambiguous dispatch to multi 'ACCEPTS'. Ambiguous candidates had signatures: :(Enum, EnumMap $topic, Mu %_) :(Pair, Associative %h, Mu %_) 21:40
jnthn grr
kboga is that because EnumMap does Associative?
jnthn I asked the evalbot about that earlier 'cus I feared I may have busted something with the refactor I did. Hm. 21:41
OK, will try and fix. Thanks.
kboga nope, I don't think it was you, but it doesn't matter who it was 21:42
jnthn oh 21:43
ah, right
phew
kboga just asking if that could be the cause
jnthn :)
Off the hoook :)
kboga :)
21:44 Psyche^ joined 21:45 cryptographrix left
jnthn std: role A { method m(::?CLASS:D:) { } } 21:45
p6eval std 516268a: OUTPUT«ok 00:01 121m␤»
21:46 drbean joined 21:47 Patterner left, Psyche^ is now known as Patterner
jnthn std: role A { method m(::?CLASS:D $x:) { } } 21:48
p6eval std 516268a: OUTPUT«===SORRY!===␤Unable to parse signature at /tmp/vPIwk0YNNl line 1:␤------> role A { method m⏏(::?CLASS:D $x:) { } }␤Couldn't find final ')'; gave up at /tmp/vPIwk0YNNl line 1:␤------> role A { method m(::?CLASS:D ⏏$x…
21:48 wannatalk left
jnthn std: role A { method m(::?CLASS:D :) { } } 21:48
p6eval std 516268a: OUTPUT«ok 00:01 121m␤»
jnthn suspects that STD ain't parsing that how he'd like it to... :) 21:49
21:52 Kivutarrr left
kboga eh, Pair is an Enum that does Associative and EnumMap does Associative 21:55
masak Pair is an Enum!? 21:57
jnthn Yes
But not an Enumeration.
masak I'll never get used to this way of inheriting when types are vaguely alike but not otherwise related...
jnthn Pair is a mutable Enum really. 21:58
Like Hash is a mutable EnumMap.
kboga but Pair is narrower than Enum so the multi should choose that case for the multi ACCEPTS
nom: my %a = (b => 'foo'); (b => 'foo').ACCEPTS(%a) 21:59
p6eval nom: OUTPUT«Ambiguous dispatch to multi 'ACCEPTS'. Ambiguous candidates had signatures:␤:(Enum, EnumMap $topic, Mu %_)␤:(Pair, Associative %h, Mu %_)␤␤current instr.: 'ACCEPTS' pc 496269 (src/gen/CORE.setting.pir:129028) (src/gen/CORE.setting:302)␤»
masak jnthn: but Pairs and Enums are two totally unrelated things. just like, incidentally, Hash and EnumMap...
jnthn kboga: No, in Perl 6 multi-dispatch those are tied. 22:00
masak oh well, I'm clearly bikeshedding. someone who actually Gets Things Done made it that way.
jnthn kboga: As Pair is narrower than Enum, but Associative is NOT narrower than EnumMap (it's the other way around) 22:01
Which makes them overall tied.
kboga oh right
didn't consider the argument
jnthn Yeah, in Perl 6 multi dispatch all args count equally.
There's no leftmost wins kinda thing.
Like in, say, CLOS. 22:02
lichtkind thou: so ihave time to deliver something:)
kboga i see, but what happens or should happen in this case then? 22:03
masak where on perl6.org/ is the features table linked? 22:06
jnthn kboga: Not sure...I guess one of the candidates wants a different signature. Maybe best to wait for pmichaud++ to return from nap :) 22:07
flussence masak: Compilers -> "»More«" -> left hand box, first link
masak thanks. 22:08
flussence btw that list says nom supports run/qx, but my local build definitely doesn't have qx() 22:09
oh, it's got run(). 22:10
and qx//, oddly enough. no qx() though.
masak nonsentimentally suggests removing 'Incomplete "Perl 6 Rigorous Technical Specification"' from perl6.org/specification/
flussence: qx() is always a function call.
flussence: that's to spec. 22:11
flussence now I guess I need to figure out why it dies at the end of "make spectest_smolder"... 22:12
dalek kudo/nom: e0ecb6c | jonathan++ | src/Perl6/ (2 files):
Simplify enum key handling a little.
kudo/nom: a7019da | jonathan++ | src/Perl6/ (2 files):
Make ::?CLASS work, in signatures at least.
kudo/nom: 69069d7 | jonathan++ | src/Perl6/ (2 files):
Get us able to write multi method foo(::?CLASS:D: { ... } in a role and have it work.
kudo/nom: 31cb7bc | jonathan++ | src/core/Enumeration.pm:
A couple more methods in Enumeration/NumericEnumeration.
masak 'night, #perl6 22:14
22:14 masak left
flussence o/ 22:14
huh. it works. 22:15
could've sworn it didn't before...
lichtkind masak is right
22:15 timbunce left
flussence oh, no wonder... qx was added *today* :) 22:15
22:17 wolfman2000 joined 22:32 cracker007 left 23:01 whiteknight joined
dalek kudo/nom: c9a42e9 | jonathan++ | src/ (2 files):
Continue to flesh out methods on enumerations.
23:03
kudo/nom: 15a304e | jonathan++ | src/ (2 files):
Add .enums and .pick for enumerations.
kudo/nom: 59587d1 | jonathan++ | NOMMAP.markdown:
Update nommap.
jnthn OK, enough for today...sleep & 23:05
23:06 Chillance joined 23:08 shinobicl left 23:25 jjore joined 23:32 cryptographrix joined 23:33 orafu left, Holy_Cow joined 23:35 orafu joined 23:40 cryptographrix left 23:42 lue joined
lue nom: my $a = prompt "Enter name:"; say $a; 23:43
p6eval nom: OUTPUT«Could not find sub &prompt␤current instr.: '_block1002' pc 78 ((file unknown):718) (/tmp/GZcSbgMPeC:1)␤»
lue rakudo: my $a = prompt "Enter name:"; say $a;
p6eval rakudo 922500: OUTPUT«Enter name:Land der Berge, Land am Strome,␤»
s1n pmichaud: are you going to makerfair again this year? 23:45
lue is this a known problem?
23:45 cryptographrix joined
tadzik lue: what problem? 23:47
oh, no prompt() in nom? 23:48
lue yes. I would guess it's already known, but you never know :) 23:49
23:49 Holy_Cow left
tadzik (: 23:50
23:52 f00li5h[HireMe] is now known as f00li5h[HIREME]
lue afk 23:53
23:56 cryptographrix left