»ö« 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 insteadcurrent 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 contextcurrent 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«12» | ||
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 &promptcurrent 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
|