pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~315 days 'til Xmas Set by mncharity on 8 February 2009. |
|||
00:03
alester joined
|
|||
pugs_svn | r25469 | lwall++ | rm some fossils from quasi | 00:04 | |
00:06
Guest52437 left
00:07
Limbic_Region joined
00:12
nihiliad left
00:20
justatheory joined
00:33
SamB joined
00:34
TimToady left
00:35
M_o_C left,
TimToady joined
00:38
justatheory_ left
00:41
fridim_ joined
|
|||
pugs_svn | r25470 | lwall++ | [STD] suppress name checking inside quasi:COMPILING | 00:41 | |
00:45
zostay left,
zostay joined,
alester left
00:47
fridim_ left,
zostay left
|
|||
TimToady | irc should have a /clown directive to put a ☺ in front of your name instead of an @ | 00:49 | |
00:50
eternaleye joined
00:52
zostay joined
00:58
fridim_ joined
01:02
Tene joined
01:04
shinobi-cl joined
01:13
Tene_ left
01:16
eternaleye left
01:17
nihiliad joined
01:36
shinobi-cl left
01:39
samlh_ joined
|
|||
pugs_svn | r25471 | lwall++ | [STD] don't complain on CALLER or CONTEXT; don't complain on vars declared explicitly in import list | 01:40 | |
01:46
samlh left,
fridim_ left
01:49
eternaleye joined
|
|||
skids | in SXX pod, what's the '*' in =item * -- the bullet? -- can't find that documented in S26. | 01:49 | |
in SXX pod, what's the '*' in =item * -- the bullet? -- can't find that documented in S26. | 01:50 | ||
01:50
skids left,
skids joined
|
|||
skids is a gemini, can you tell? | 01:50 | ||
01:53
dukeleto joined
01:57
alester joined
|
|||
TimToady | yes, it's a bullet | 01:57 | |
dukeleto | perl6: say 42 | 01:58 | |
p6eval | elf 25471, pugs, rakudo f23eda: OUTPUT«42» | ||
dukeleto | yay | ||
perl6: say log10(0), log(0) | |||
p6eval | pugs: OUTPUT«-Inf-Inf» | ||
..elf 25471: OUTPUT«Undefined subroutine &GLOBAL::log10 called at (eval 121) line 3. at ./elf_h line 4346» | |||
..rakudo f23eda: OUTPUT«-InfCan't take log of 0» | |||
dukeleto | TimToady: why does perl not return what ieee754 and libm think log(0) is, i.e. -Inf ? | 01:59 | |
i understand that it is somewhat like the "Illegal division by zero" exception, but i think -Inf is more useful because it is easier to catch and do something useful with it | 02:00 | ||
currently rakduo gives log10(0) = -Inf, I guess it is not exported by default or something | |||
TimToady | I'm fine with -Inf for that | 02:01 | |
dukeleto | TimToady: cool, I have the diff in my github | ||
TimToady | looks like pugs has it that way too | ||
dukeleto | TimToady: do I sent a pull request to rakudo? | ||
TimToady: I made the tests that way already :) | |||
Limbic_Region | it is amazing how much of pugs still is correct given how long since it has been actively developed | ||
TimToady | I haven't tried installing either parrot of rakudo after the big move | ||
Limbic_Region | nor have I | 02:02 | |
02:02
aindilis` left
|
|||
dukeleto | TimToady: github.com/leto/rakudo/commit/e68af...04a288c8b2 | 02:02 | |
02:02
aindilis joined
|
|||
skids | does the pod->html generator have a way to spit out unrendered <a name="">'s other than the line number ones? some of those sections are vast. | 02:03 | |
i.e. a pod directive | 02:04 | ||
dukeleto | TimToady: i just submitted that diff (called a pull request on github) to everyone else that has forked Rakudo on github | ||
TimToady | I try to stay out of politics :) | ||
decommuting & | 02:07 | ||
02:10
samlh_ left
02:11
DemoFreak left
02:15
alester left,
samlh joined
02:17
dominiko left
02:19
eternaleye left
|
|||
dukeleto | perl6: say (42).log | 02:20 | |
p6eval | pugs: OUTPUT«3.7376696182833684» | ||
..elf 25471, rakudo f23eda: OUTPUT«3.73766961828337» | |||
dukeleto | perl6: say (42,100).log | ||
p6eval | pugs: OUTPUT«0.6931471805599453» | ||
..rakudo f23eda: OUTPUT«0.693147180559945» | |||
..elf 25471: OUTPUT«Useless use of a constant in void context at (eval 120) line 3.4.60517018598809» | |||
dukeleto | pugs and rakudo are taking the log of the length of the list, is this the desired behavior? | 02:21 | |
it seems that threading over the list would be much more useful | |||
skids | dukeleto: that would be ()>>.log but it's not yet implemented. | 02:22 | |
02:23
WootKit joined
|
|||
dukeleto | skids: interesting, where could I start ? | 02:23 | |
skids | (but that doesn't guarantee order) | ||
dukeleto | what is ">>" called ? | ||
skids | I have no idea, to be honest. | ||
Texas quote. It's actually just longhand for a french quote. | |||
www.perlfoundation.org/perl6/index....ch_lfrench | 02:24 | ||
02:26
WootKit left
|
|||
dukeleto | it's the "unary hyperoperator" in t/spec/S03-operators/hyper.t | 02:26 | |
i think I will call it the threading operator | 02:27 | ||
02:27
eternaleye joined
|
|||
dukeleto | perl6: say (1,2,3) >> log | 02:29 | |
p6eval | elf 25471: OUTPUT«Undefined subroutine &GLOBAL::log called at (eval 122) line 3. at ./elf_h line 4346» | ||
..pugs: OUTPUT«***  Unexpected ">>" expecting operator, ":" or "," at /tmp/OlqIGFcFe9 line 1, column 13» | |||
..rakudo f23eda: OUTPUT«Statement not terminated properly at line 1, near ">> log"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | |||
dukeleto | perl6: say (1,2,3) >>.log | ||
p6eval | rakudo f23eda: OUTPUT«Statement not terminated properly at line 1, near ">>.log"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
..pugs: OUTPUT«***  Unexpected ">>." expecting operator, ":" or "," at /tmp/FJFtqVYq1L line 1, column 13» | |||
..elf 25471: OUTPUT«Use of uninitialized value in concatenation (.) or string at ./elf_h line 3849.Use of uninitialized value in concatenation (.) or string at ./elf_h line 3849.syntax error at (eval 122) line 3, near ",->log" at ./elf_h line 4346» | |||
dukeleto | perl6: say (1,2,3)>>++ | 02:30 | |
p6eval | rakudo f23eda: OUTPUT«Statement not terminated properly at line 1, near ">>++"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
..pugs: OUTPUT«<Error><Error><Error>» | |||
..elf 25471: OUTPUT«Useless use of a constant in void context at (eval 119) line 3.Can't modify constant item in postincrement (++) at (eval 119) line 3, near ")++"Too many arguments for postincrement (++) at (eval 119) line 3, near ")++" at ./elf_h line 4346» | |||
skids | dukeleto: You'll have better luck with the infix hyperoperators. | ||
rakudo: (1,2,3) >>+>> 2 | 02:31 | ||
p6eval | rakudo f23eda: RESULT«[3, 4, 5]» | ||
dukeleto | nice | ||
skids | rakudo: (1,2,3) >>+<< (2,3,4) | 02:32 | |
p6eval | rakudo f23eda: RESULT«[3, 5, 7]» | ||
dukeleto | but I am looking for things to work on, so it seems like unary hyperoperators need some lovin' | ||
skids | My understanding is that is complicated by I think maybe parsing stuff. | 02:33 | |
Do you already know PIR or just want to work in perl6? | 02:34 | ||
dukeleto | skids: I am somewhat comfortable in PIR | ||
skids: I did a bunch of stuff in asmutils (cross platform unix assembly), so PIR reminds me of a friendlier more feature-rich version of that | 02:35 | ||
are there any decent beginner guides for PIR? I usually just read source, but sometimes one well-written example goes a long way | 02:36 | ||
skids | Hrm, well you can look at the RT bugs I guess. IIRC one thing I noticed not working was "div" but that may involve parsing too. | 02:37 | |
There's the parrot docs, and also some guide on using a syntax tree parser. | 02:38 | ||
dukeleto | yes, I have been reading the POD that comes with parrot, it helps a lot | ||
skids | www.parrotblog.org/2008/03/targetin...ot-vm.html | 02:41 | |
and johnathan's posts on rakudo.org blog can give you some inside baseball | 02:42 | ||
dukeleto | sweet | 02:43 | |
02:50
abra joined
02:52
aindilis` joined
03:03
hercynium joined
03:06
aindilis left
03:12
wknight8111 left
03:18
abra left
03:19
abra joined,
abra left
03:23
shinobi-cl joined,
shinobi-cl left
03:25
abra joined
03:27
abra left,
abra joined
|
|||
dukeleto | I get :Null PMC access in isa() | 03:35 | |
current instr.: '!EXPORT' pc 17844 (src/builtins/guts.pir:39) | |||
when I try to add namespacing to math.pir | |||
what exactly does that mean? | |||
03:41
abra left
03:42
Avada joined
03:43
abra joined,
aindilis` left
03:54
justatheory left
04:01
abra left,
abra joined
04:08
Avada left
04:09
justatheory joined
|
|||
skids | dukeleto: you mean what is NULL PMC generically? It's following a null pointer expecting a PMC I think. | 04:20 | |
04:22
Limbic_Region left
|
|||
pugs_svn | r25472 | lwall++ | [thorough.t] an enum may not be used as a listop | 04:23 | |
r25473 | lwall++ | [STD] hack in rudimentary support for enums | |||
04:27
abra left,
abra joined
04:28
abra left
04:37
hercynium left
04:58
samlh left
05:05
justatheory_ joined,
justatheory left
05:14
meppl joined
05:17
samlh joined
05:30
SamB left
05:32
SamB joined
06:05
chrisdolan joined
|
|||
chrisdolan | What's the recommended Parrot for Rakudo today? 0.9.1? Head? | 06:06 | |
06:08
Entonian left
06:09
Entonian joined
06:11
meppl left
06:12
mberends joined
|
|||
pugs_svn | r25474 | lwall++ | [STD] parse anonymous enums correctly | 06:16 | |
06:27
justatheory_ left,
justatheory joined
06:30
mberends left
06:31
masak joined
06:35
Entonian left
06:42
nihiliad left
06:56
meppl joined
07:10
Entonian joined
07:55
sparc_ joined
08:11
Entonian left
|
|||
pugs_svn | r25475 | lwall++ | [CORE] add &make | 08:22 | |
08:26
wayland left
|
|||
masak | interested question: what is time_t, and why must it die? :) | 08:40 | |
ah, I see now. Mark J. Reed gave a summary. | |||
08:41
iblechbot joined
|
|||
masak | it would be interesting if someone would pick five or so popular CPAN modules known to handle time in some way, analyze all the ways time is treated in those modules, and propose a syntax/API for doing it the Perl 6 way. | 08:45 | |
a perfect topic for a blog post, if you ask me. | |||
08:46
frew left
|
|||
pugs_svn | r25476 | masak++ | [u4x/TODO] added Instant/Duration | 08:46 | |
08:46
ejs joined
08:54
frioux joined
08:59
bacek joined
09:00
ZuLuuuuuu joined
09:03
frioux left,
frioux joined
09:04
frioux left
09:06
justatheory left
09:07
frioux joined
09:09
zophy joined
09:14
ZuLuuuuuu left
09:16
barney joined
09:26
iblechbot_ joined
09:33
iblechbot left
09:38
iblechbot_ left
09:41
zophy left
09:43
iblechbot joined
09:44
zophy joined
09:46
zophy left
09:48
zophy joined
09:54
zophy left
09:58
zophy joined,
dukeleto left
10:06
jan_ left
|
|||
bacek | perl6: undef <=> 42 | 10:11 | |
perl6: say undef <=> 42 | |||
p6eval | rakudo f23eda: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp_num', with signature 'PP->I'current instr.: 'infix:<=>' pc 15995 (src/builtins/cmp.pir:74)» | ||
..elf 25476: OUTPUT«Parse error in: /tmp/Do1wfPPQOfpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: undef <=> 42WHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' STD_red/std.rb:210:in | |||
..`... | |||
..pugs: RESULT«-1» | |||
rakudo f23eda: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp_num', with signature 'PP->I'current instr.: 'infix:<=>' pc 15995 (src/builtins/cmp.pir:74)» | |||
..elf 25476: OUTPUT«Parse error in: /tmp/xwdiUNt6Eapanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: say undef <=> 42WHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' | |||
..STD_red/std.rb:210:... | |||
..pugs: OUTPUT«-1» | |||
bacek | perl6: say 42 <=> undef | ||
p6eval | pugs: OUTPUT«1» | ||
..elf 25476: OUTPUT«Use of uninitialized value $b in numeric comparison (<=>) at ./elf_h line 4246.1» | |||
..rakudo f23eda: OUTPUT«Use of uninitialized value1» | |||
10:20
zophy left
10:31
zophy joined
10:41
ejs left
11:04
baest left
11:12
pmurias joined
11:19
DemoFreak joined
|
|||
pmurias | perl6: my @foo;say @foo.shift; | 11:32 | |
p6eval | rakudo f23eda: OUTPUT«Undefined value shifted from empty array» | ||
..elf 25476, pugs: OUTPUT«» | |||
pmurias | rakudo: my @foo;say @foo.shift;say "hello\n"; | 11:33 | |
p6eval | rakudo f23eda: OUTPUT«Undefined value shifted from empty arrayhello» | ||
pugs_svn | r25477 | pmurias++ | [mildew] t/array.t - added tests for shift | 11:45 | |
11:45
pmurias left
|
|||
bacek | good evening | 11:49 | |
11:49
sparc_ left
|
|||
bacek | perl6: my $bool = Bool::False; say ++$bool; say ++$bool; | 11:56 | |
p6eval | rakudo f23eda: OUTPUT«11» | ||
..pugs: OUTPUT«12» | |||
..elf 25477: OUTPUT«No viable candidate for call to multimethod prefix__43_43($) at (eval 122) line 4 at ./elf_h line 4346» | |||
12:01
masak left
|
|||
pugs_svn | r25478 | bacek++ | [t/spec] Add prefix:++ and prefix:-- tests for Bool. | 12:02 | |
12:02
bacek_ joined
|
|||
bacek_ | perl6: my $bool = Bool::False; say --$bool; say $bool == Bool::False; | 12:03 | |
p6eval | pugs: OUTPUT«-1» | ||
..rakudo f23eda: OUTPUT«01» | |||
..elf 25477: OUTPUT«No viable candidate for call to multimethod prefix__45_45($) at (eval 121) line 4 at ./elf_h line 4346» | |||
mikehh | I built rakudo but over half the coretests fail | ||
most of the spectests skip or fail | 12:04 | ||
12:04
bacek left,
fridim_ joined
|
|||
bacek_ | mikehh: dont use parrot after r36866. It's broken... | 12:06 | |
mikehh | parrot seemed to build ok - r36921 - smolder.plusthree.com/app/public_pr...ails/18224 | ||
bacek_ | mikehh: but Rakudo on this version doesn't work. | 12:07 | |
mikehh | ok - will go back to my earlier build | ||
Any idea what has broken - and what needs to be fixed | 12:10 | ||
bacek_ | mikehh: something wrong with parrot's string. | 12:22 | |
perl6: say Bool ~~ Any; say Bool ~~ Object; class A {}; say A ~~ Any; say A ~~ Object; | 12:23 | ||
p6eval | pugs: OUTPUT«111» | ||
..elf 25478: OUTPUT«» | |||
..rakudo f23eda: OUTPUT«1111» | |||
bacek_ | interesting... | ||
12:30
chrisdolan left
12:31
baest joined
|
|||
jnthn | bacek_: Rakudo hsa it right there. | 12:38 | |
bacek_ | jnthn: it is. But I trying to understand what happening when I try to move Bool::succ/pred into Setting. | 12:40 | |
jnthn | bacek_: Ah, that ain't going to work out too well. | ||
Since they are also :vtable'd. | |||
bacek_ | jnthn: they are. But I've implemented succ/pred for Rakudo few month ago :) So I should be able to fix it. | 12:41 | |
jnthn: btw, there are few patches waiting to review :) Do you have spare 15-20 minutes? | 12:43 | ||
jnthn | Not right now, but maybe later... | ||
jnthn has various $real_life chores to do ATM... | 12:44 | ||
bacek_ | jnthn: no worries. All of them in RT. | 12:45 | |
(not your $real_life chores I hope :) | 12:46 | ||
12:46
bacek_ is now known as bacek
|
|||
bacek dreaming about RT for $real_life. And git. | 12:47 | ||
git reset --hard master@{2006-01-01} will be handful | 12:48 | ||
std:my @list; @list.first():{ ($_ == 4) } | 12:50 | ||
std: my @list; @list.first():{ ($_ == 4) } | |||
p6eval | std 25478: OUTPUT«ok 00:02 34m» | ||
bacek | std: my @list; @list.first(): { ($_ == 4) } | ||
p6eval | std 25478: OUTPUT«ok 00:02 34m» | ||
12:56
jan_ joined
12:57
barney left
13:19
akulkis joined,
akulkis left
13:43
pmurias joined
|
|||
pmurias | mildew: say "works" | 13:43 | |
p6eval | mildew: OUTPUT«Use of uninitialized value in numeric gt (>) at ../../src/perl6/Cursor.pm line 189.can't create lex/STD/statementlist_01.store: Permission denied at ../../src/perl6/Cursor.pm line 551» | ||
pmurias | moritz_: shouldn't "and made evalbot run as the user who also own the environment" change fixed all the permission problems? | 13:46 | |
13:46
alanhaggai_ joined
|
|||
pmurias | mildew: say "works" | 13:48 | |
p6eval | mildew: OUTPUT«Use of uninitialized value in numeric gt (>) at ../../src/perl6/Cursor.pm line 189.Loader.load: CORE.mildew.so: cannot open shared object file: No such file or directory» | ||
pmurias | mildew: say "works" | 13:50 | |
p6eval | mildew: OUTPUT«Use of uninitialized value in numeric gt (>) at ../../src/perl6/Cursor.pm line 189.works» | ||
pugs_svn | r25479 | pmurias++ | [STD] hide a use of undefined value warning in Cursor.pmc | 13:54 | |
pmurias | mildew: say "works" | ||
p6eval | mildew: OUTPUT«Use of uninitialized value in numeric gt (>) at ../../src/perl6/Cursor.pm line 189.works» | ||
14:00
Muixirt joined
14:02
WootKit joined
14:08
WootKit left
|
|||
pugs_svn | r25480 | masak++ | [u4x/TODO] added 'texas' and 'french' (quotes) | 14:33 | |
14:35
shinobi-cl joined
14:39
aindilis joined
14:56
meppuru joined
14:58
ZuLuuuuuu joined
|
|||
pmurias | mildew: say "works" | 15:08 | |
p6eval | mildew: OUTPUT«works» | ||
diakopter | pmurias: cool | 15:09 | |
pmurias | diakopter: hi | ||
diakopter | hi | ||
15:09
meppl left
|
|||
pmurias | diakopter: how far did you get in try to get mildew to run on your box? | 15:11 | |
diakopter | pmurias: it ran, sorta kinda | 15:14 | |
let me try to remember | |||
oh yeah, a DLL exported name discrepancy | |||
I gave up | 15:15 | ||
(for then) | |||
the exported function names had some prefix | |||
in smop.dll (if I recall correctly) | |||
pmurias: but anyway, I gave up for windows/strawberry, but I'd be glad to try it on my ubuntu/jaunty VM anytime | 15:18 | ||
15:22
Whiteknight joined,
alanhaggai_ left
15:24
aindilis left,
shinobi-cl left
|
|||
pmurias | diakopter: getting it compile on a debian-like machine should be a matter of apt-get'ing a bunch of packages and installing a bunch of modules from CPAN | 15:24 | |
diakopter | pmurias: what's the status of smop/mildew? is it current on TPF's perl6 wiki? | 15:36 | |
15:41
zophy left
|
|||
pmurias | diakopter: ruoso recently submitted a grant report on the TPF website | 15:41 | |
s/on/, it's avalible somewhere on | |||
diakopter: re status smop development slowed down a bit lately but i plan to spend more time on it in the near future | 15:45 | ||
15:51
shinobi-cl joined
|
|||
diakopter | pmurias: neat. I read the status report. | 15:52 | |
16:03
jeremiah joined
16:05
Tene_ joined
16:11
cspencer joined
|
|||
cspencer | hrmmmm....is anybody else having issues building the latest commit of rakudo on the latest commit of parrot? :) | 16:12 | |
16:14
sparc_ joined
16:16
Limbic_Region joined,
Tene left
16:17
Sepheebear left
|
|||
jnthn | cspencer: I've heard that mentioned by someone else... | 16:23 | |
cspencer | jnthn: i'm re-checking out parrot and rebuilding right now, i'll let you know how it goes | 16:24 | |
jnthn | cspencer: I've got a slightly older Parrot... | ||
Though head Rakudo. | |||
cspencer | it was segfaulting in some of the final compilation steps | ||
jnthn | I'm at Parrot 36866. | ||
cspencer | ok, if this doesn't work, i'll check out that version :) | 16:25 | |
jnthn | Yeah, there is discussion now on #parrot about it... | 16:26 | |
Apparnetly some change in Parrot relating to strings broke it. | |||
cspencer | ok, i'll revert back to 36866 then :) | ||
thanks! | |||
actually, while i've got your attention, how much of p6 is intended to be implemented in the setting? | 16:27 | ||
ie) is the end goal to get a good part of the builtins written in perl6? | |||
jnthn | Yes. | ||
cspencer | ok, great | ||
jnthn | I want for sure Array, List, Mapping and Hash to be entirely in Perl 6. | ||
(That said, they will use Parrot's hash and array PMCs for actual storage.) | 16:28 | ||
16:28
masak joined
|
|||
cspencer | i've got a couple large-ish patches somewhere implementing a bunch of things that were waiting around for the point at which we were bootstrapping | 16:28 | |
jnthn | In fact, getting those ones done in Perl 6 is fairly high priority for me. | ||
cspencer | so i'll pull those out and polish them up | ||
16:28
nihiliad joined
|
|||
jnthn | OK, great! | 16:28 | |
TimToady | in theory we'd like to write all of it as a circular definition and then take a "circularity saw" to it for specific implementations for bootstrapping and efficiency | ||
but different implementations could break the circularity in different places | 16:29 | ||
jnthn | Aye. | ||
TimToady | as long as semantics are preserved | ||
cspencer | alright, that sounds reasonable :) | ||
TimToady | which, of course, they never quite are :) | ||
but the short of it is that there's no reason not to attempt to write any particular part of it | 16:30 | ||
jnthn | cspencer: We also - though we can't do it just yet - want to be implemenitng the operators in Perl 6 too. There may be a little embedded PIR within them, but it'll be inside a normal-looking method/sub definition. | 16:31 | |
16:31
jnthn sets mode: +o TimToady
|
|||
cspencer | i was going to ask about that, i'd noticed that it wasn't quite working yet | 16:32 | |
jnthn | That means our op dispatch will then be using the Perl 6 dispatch algorithm. :-) | ||
cspencer | that's coming soon though, i take it? :) | ||
jnthn | And, since the Rakudo MMD dispatcher has a cache and the Parrot MMD dispatcher doesn't, we *may* even get a minor speed win. | ||
Yes. | |||
cspencer | that sounds great | ||
jnthn | But it's the correct semantics that are the more interesting bit. :-) | 16:33 | |
cspencer | i have to say it will be nice to not have to write a lot of confusing PIR methods anymore :) | ||
jnthn | It was fun moving a few over. The size of the codebase shrunk notably. | ||
cspencer | i imagine so | ||
if i'm going to be sending in a patch for a method (say "grep") that's written in p6, should the patch also remove the previous definition? | 16:34 | ||
though i suppose that might be needed for compilation of some bits in the first stage | |||
jnthn | Yes, that would be best. | ||
Well, there *can* be issues like this. | |||
cspencer | but you'd prefer to add the p6, remove the PIR, and fix any issues that come up? | 16:35 | |
TimToady | depends on which circularity saw you pick, but grep is unlikely to be in the bootstrap | ||
jnthn | Though the real issue is only if you take out something the compiler itself uses. | ||
cspencer | right, ok | ||
jnthn | Right. I would be rather surprised it grep was something that caused such an issue. | ||
TimToady | grep should be fairly trivial though, given it's just a ~~ over a list | 16:36 | |
jnthn | TimToady: While you're around, do you see Callable as a parametric role? So "sub foo(Int $x) of Str { ... }" does Callable[Str]? | ||
Where we define callable as something like role Callable[::T = Object] { ... } | 16:37 | ||
TimToady | It seems likely that we'd want to expose the return type to the optimizer at least | ||
so could well be | |||
but maybe the param is the whole sig including --> | 16:38 | ||
jnthn | Well, it means that things like sub bar(Int &x) { ... } work Just Right. | ||
Ah, hmm. | |||
TimToady | but maybe it should also depend on how generic we want the types to match when we do type matching, dunno | 16:39 | |
I guess we need to see use cases to decide | |||
jnthn | Aye. | ||
Having the return type in there feels at least consistent to me, but useful and consistent are different things. :-) | 16:40 | ||
TimToady | certainly return type is more like the typical array | ||
jnthn | Right. | ||
TimToady | but it seems like the shape of an array is like a sig | ||
and that's part of the parameters, it would seem | 16:41 | ||
jnthn | Yeah, there's a parallel there... | ||
TimToady | for matching purposes, you'd almost like to know how to wildcard the params that were defaulted | ||
jnthn | Really though part of it depends on what we want to matter in multi-dispatch. | ||
TimToady | which also says you want to have wildcards on matching defaulted params | 16:42 | |
ZuLuuuuuu | Hello is there a plan to start a book like Parrot's (/docs/book/), while release date of 1.0 is getting closer? | 16:43 | |
for Perl 6 | |||
TimToady | you'd probably want to ask that on #parrot | ||
oh, for p6, we're certainly thinking about books | 16:44 | ||
jnthn | I meant more like, if you have a Callable[::T] that is parameterized on the return type, then that plays rather differently under multiple dispatch than if we parameterize it on the whole signature. | ||
TimToady | but p6.0.0 happens some time after parrot 1.0 | ||
ZuLuuuuuu | I'm very eager to get my hands on p6 but don't have time to go through synopsises etc :( | ||
jnthn | ZuLuuuuuu: There is already a Wiki book being written on Perl 6... | 16:45 | |
TimToady | well, everyone here is so impatient that they're working on it :) | ||
whether or not they have time... | |||
masak | ZuLuuuuuu: also, you'll find that people on this channel are very helpful and like to answer questions. | ||
ZuLuuuuuu | yeah I see, thanks | ||
jnthn | OH HAI masak | ||
:-) | |||
masak | and we have bots who know Perl 6 here. :) | ||
jnthn: HAI. | |||
TimToady | mind, some of like to answer snidely :) | 16:46 | |
masak | rakudo: say "snide today?" | ||
p6eval | rakudo f23eda: OUTPUT«snide today?» | ||
masak | see? no politeness at all. :) | ||
ZuLuuuuuu | the wikibook is at wikibooks? | ||
jnthn | TimToady: Did you think at all about interaction between parameterized types and candidate ordering? | ||
masak | ZuLuuuuuu: en.wikibooks.org/wiki/Perl_6_Programming | ||
ZuLuuuuuu | I ouldn't find it | ||
TimToady | jnthn: of course not, I'm not that smart :) | 16:47 | |
ZuLuuuuuu | masak: thanks | ||
jnthn | TimToady: Yeah right. :-P | ||
masak | ZuLuuuuuu: np. | ||
TimToady | I thought I'd just wait and read the book :P | ||
jnthn | TimToady: OK, maybe I'll propose some answers in still annoyingly non-existent S14... | ||
Then you can hate^Wcritique them. ;-) | 16:48 | ||
masak | ZuLuuuuuu: be warned that the code examples in that wikibook contain more parentheses than is necessary. | 16:49 | |
jnthn will maybe get around to working a bit on S14 while he's in Odessa and mostly offline and undistracted...apart from by whatever distractions Odessa has to offer. | |||
TimToady | just thinking along the lines that $array ~~ Array[$ret,$shape] can wildcard match when $ref or $shape are defaulted | ||
and maybe Callable works the same | |||
ZuLuuuuuu | masak: thanks, I will keep that in mind | 16:50 | |
jnthn | TimToady: That could work... | ||
masak | I did some edits to remove them, but the edits haven't been approved, it seems. | ||
TimToady | so all code matches Callable, and less matches Callable[Int], and even less mathes Callable[Int,:()] | ||
jnthn | I like that, and it falls out very neatly. | 16:51 | |
TimToady | or maybe we do something explicit with Callable[Int,*] when we want that | ||
anyway, something to thunk about | |||
jnthn | I was thinking that it'd be like role Callable[::T = Ojbect, $sig = *] { } | 16:52 | |
The bigger problem is if this should work: | |||
my @array = 1,2,3; sub foo(Int @x) { say "ok"; }; foo(@array); | |||
Exception, or ok? | |||
TimToady | seems ripe for autocoercion of some sort, but how to define it? | 16:53 | |
jnthn | That's what worries me. I don't know... | ||
Thing is, for different types, we care about different thingies. | 16:54 | ||
So types need a way of saying "you can also if the nominal type-check fails try me this way". | |||
TimToady | this reminds me a bit of the problem of letting a literal remain generic until we see what type it's used as | ||
16:55
M_o_C joined
|
|||
TimToady | and certainly Perl has the notion of Any --> Int autocoercion built in philosophically | 16:55 | |
jnthn | Aye, I agree that it *should* work, it's just deciding on the mechanism. | 16:56 | |
TimToady | but there needs to be some distribution of that notion over composite types, and that depends on the container | ||
jnthn | Right. | ||
So AFAICS the container needs a way of saying how that distribution happens. | |||
And we should make it a mechanism that people can use when writing their own parametric types, rather than it being some magic for Hash and Array, IMO. | 16:57 | ||
TimToady | much like a sig could specify how much latitude there is in matching a parameter that it can handle | ||
certainly | |||
16:57
justatheory joined
|
|||
jnthn will let it all circulate in this brain for a while... | 17:01 | ||
s/this/his/ | |||
TimToady | Array[Any as Int] or some such, but specified in the sig | ||
so you get it automatically when you say Array[Int] | |||
maybe a property attached to Int | 17:02 | ||
17:02
dukeleto joined
|
|||
jnthn | Hmm... | 17:02 | |
TimToady | but I like your idea of noticing it at the point you'd fail the type check otherwise | ||
jnthn | I don't like there being a *coercion* unless you ask for it. | 17:03 | |
TimToady | but maybe that's the wrong way to think of it | ||
17:03
shinobi-cl left
|
|||
TimToady | @a = "1","2","3"? | 17:03 | |
lambdabot | Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v | ||
jnthn | In the case I mentioned, the issue isn't that we need a co-ercion. It's just that the array being passed in is not labeled as being an Array[Int] | 17:04 | |
TimToady: To me that's a different case. | |||
I'd expect my $x = "a"; sub foo(Int $x) { } to fail | |||
Though my $x = "a"; sub foo($x as Int) { } to coerce. | |||
skids re-mentions %h<k1 k2>.delete since folks are now around to tell him to shut up | 17:05 | ||
TimToady | that can't work | ||
not without making .delete a macro | |||
that's why we spell it %h<k1 k2>:delete now | |||
skids | How would that be made to dwim? Some sort of evanescent type that acts like a normal hash value but can remember its source hash and key? | 17:06 | |
TimToady | that's another approach, but we decided to just make it a modifier on the subscripting operation | ||
likewise :exists | |||
skids | Oh Ok a parse-side "fix" :-) | ||
TimToady | is potentially less overhead as well | 17:07 | |
and <k1 k2> is a slice, if you were asking | |||
or even if you weren't... | |||
so it would delete both keys | 17:08 | ||
skids | Yeah that was the intent. | ||
17:10
|MoC| joined,
M_o_C left
17:13
cspencer left
17:18
tejat joined
17:20
justatheory left
|
|||
tejat | evalbot: perl6: say "Howdy"; | 17:22 | |
masak | tejat: howdy. | ||
just 'perl6: ' is enough. | |||
(and necessary, if you want to talk to the evalbots) | |||
tejat | aha. thanks, I'll try again at a later time | 17:23 | |
masak | rakudo: say 'this works too' | 17:24 | |
p6eval | rakudo f23eda: OUTPUT«this works too» | ||
17:24
sri_kraih joined
|
|||
diakopter | (anthropomorphization of p6eval responders)++ | 17:25 | |
17:25
sri_kraih left,
sri_kraih joined
|
|||
masak | anthropomorphization of bots is our only hope. | 17:25 | |
17:27
sri_kraih left,
sri_kraih joined
|
|||
TimToady | someone should write a boticelli | 17:27 | |
jnthn | So we support anthropomorphizationalism? | ||
17:27
sri_kraih left
|
|||
masak | well, I'm certainly an antidisanthropomorphizationism! | 17:27 | |
s/ism/ist/, dang :) | 17:28 | ||
TimToady | the secret is out, you're actually a bot | ||
tejat | misanthropomorphist | ||
masak | TimToady: I am. but so is everyone. | ||
TimToady | I wonder how sort and hypers will suppress "use of undef" exceptions... | 17:30 | |
masak | aye, that's a tricky one. | ||
17:30
tejat left
|
|||
masak | as is the case where for loop values don't add up. | 17:30 | |
rakudo: for 1..10 -> $a, $b, $c { say $c } | 17:31 | ||
p6eval | rakudo f23eda: OUTPUT«369StopIterationcurrent instr.: '_block14' pc 125 (EVAL_19:56)» | ||
masak | the current behavior feels a bit... harsh. | 17:32 | |
17:33
Avada joined
17:34
alester joined
|
|||
TimToady | well, that one we could conceivably handle with -> $a, $b?, $c? {...} | 17:39 | |
masak | rakudo: for 1..10 -> $a, $b?, $c? { say $c } | 17:40 | |
17:40
sri_kraih joined
|
|||
p6eval | rakudo f23eda: OUTPUT«369StopIterationcurrent instr.: '_block14' pc 125 (EVAL_19:56)» | 17:40 | |
17:40
alester left
|
|||
masak submits rakudobug | 17:40 | ||
17:44
sri_kraih left
17:48
sri_kraih joined
17:50
zophy joined
17:52
ejs joined
17:57
eternaleye left
17:58
ZuLuuuuuu left
|
|||
masak | perl.org is down. :( | 17:58 | |
jnthn | use.perl.org also | ||
Guess it's the same servers. | 17:59 | ||
masak | and RT just bounced my bug mail, although rt.perl.org is up... | ||
17:59
Avada left
|
|||
jnthn | widespread fail | 17:59 | |
Limbic_Region | yeah, apparently the domain registrars suspended perl.org with no explanation | ||
at least that's what I am hearing over on #perl | |||
masak | those silly registrars! | 18:00 | |
jnthn | Gah, I need regex foo { }; &foo.perl to work in Rakudo. :-| | ||
Limbic_Region | [12:56] <drforr> ask_> Looks like DirectI/resellerclub (the domain registrar) decided to suspend perl.org! I've no idea why. They're not a communicative bunch. Also, nice touch doing it on a Saturday. | ||
jnthn is actually writing some Perl 6 finally... | 18:01 | ||
masak | jnthn: it's quite a nice language. | ||
jnthn | I figured it was about time I ate the dog food I contribute to making. ;-) | ||
masak | that reminds me, I should try getting November to work locally... | 18:02 | |
18:05
IllvilJa left
18:14
PZt left
18:17
dukeleto left
18:18
dukeleto joined,
Tene joined
|
|||
skids curses the amount of time it takes firefox "find text" to figure out a string is not in a synopsis. And the fact it re-searches on every keystroke when deleting. | 18:22 | ||
18:22
IllvilJa joined
18:23
Psyche^ joined,
eternaleye joined
|
|||
dukeleto | what is the deal with src/gen_setting.pir ? | 18:26 | |
masak | skids: most of us here do local searches of the pod files in the Pugs repository. | 18:27 | |
and when buubot's here, we can query it. | |||
dukeleto | my latest github master branch dies when building perl6 because that file is included but not there. Everything works fine if I comment it out | ||
masak | buu: speaking of which, where's buubot? | ||
dukeleto | it came in on 325cc2e2 (jnthn | ||
skids | Yeah well there's no accounting for taste :-) | ||
masak | skids: just saying there's different ways. :) | 18:28 | |
jnthn | dukeleto: make realclean and re-configure if you did not already - there were makefile changes to generate it. | ||
dukeleto | jnthn: thanks! | ||
jnthn | It's what should hold the PIR result of compiling the things in src/setting/ | 18:29 | |
skids | masak: yeah but firfox is a damn UI and darned if I don;t expect to be interfaced when I use it :-) | ||
masak | apparently you were. | ||
18:30
Tene_ left
18:32
Limbic_Region left
|
|||
jnthn | mwaha...Perl 6 rocks. | 18:34 | |
TimToady | I think of "interface" as a kind of barrier with holes in it, in general | ||
it does? | |||
masak | jnthn: 哈哈 | ||
18:34
Psyche^ left,
Psyche^ joined
|
|||
jnthn is working on his first Perl 6 module | 18:35 | ||
masak | jnthn: wot's it do? | ||
TimToady | darn, now I'll have to figger out how importing is supposed to work... | ||
jnthn | masak: Not much yet ;-) | ||
18:35
Psyche^ is now known as Psyche
|
|||
jnthn | masak: But the aim is to make grammars generative. :-) | 18:35 | |
TimToady | o_O | 18:36 | |
masak | that sounds vaguely pleasant. | ||
jnthn | multi method walk_regex(PGE::Exp::Concat $node) { | ||
return [~] $node.map({ self!walk_regex($^child) }); | |||
} | |||
The awesome. :-) | |||
masak | indeed! | ||
jnthn++ | |||
the number of times I've wanted to walk the regex... | |||
jnthn | masak: I don't know if this is actually gonna work yet... :-) | 18:37 | |
masak | jnthn: I know, I've written Perl 6 modules. :P | ||
jnthn | Though it gets past the parser, which means it recognizes PGE::Exp::Concat as a type... | ||
Which may be a bad thing, but hey... :-) | |||
masak | :) | 18:38 | |
jnthn | Hopefully in the future I work out an implementation-independent way...but that'll only happen if there's an implementation-independent AST for regexes. | ||
Otherwise subtypes and an abstraction layer will do it... | |||
...no, aliasing...not subtypes...they make the dispatch expensive... | 18:39 | ||
masak | I'm scared by the thought of there not being an implementation-independent AST for regexes. | ||
that sounds like a bad thing to make implementation-dependent. :/ | |||
dukeleto | perl6: say (1+i).polar | 18:40 | |
p6eval | rakudo f23eda: OUTPUT«Could not find non-existent sub icurrent instr.: '_block14' pc 59 (EVAL_16:40)» | ||
..pugs: OUTPUT«*** No such subroutine: "&i" at /tmp/fzLr4LcLed line 1, column 6-9» | |||
..elf 25480: OUTPUT«Undefined subroutine &GLOBAL::i called at (eval 121) line 3. at ./elf_h line 4346» | |||
jnthn | masak: It's a desriable thing, I agree. | ||
18:40
Patterner left
|
|||
TimToady | well, viv can spit out regex AST | 18:40 | |
jnthn | Hey, the implementations agree. | ||
dukeleto | perl6: say (1+2*i).polar | ||
p6eval | rakudo f23eda: OUTPUT«Could not find non-existent sub icurrent instr.: '_block14' pc 65 (EVAL_16:42)» | ||
..pugs: OUTPUT«*** No such subroutine: "&i" at /tmp/vz4EmB2o9X line 1, column 6-11» | |||
..elf 25480: OUTPUT«Permission denied at ./elf_h line 315.» | |||
jnthn | TimToady: Do you expect we'll reach some common AST between implementations at some point? | 18:41 | |
TimToady | std: say (1+2*i).polar | ||
p6eval | std 25480: OUTPUT«ok 00:02 33m» | ||
TimToady | I expect that STD will take over the world eventually :) | ||
jnthn | .oO( Beats STDs taking over the world... ) |
18:42 | |
dukeleto | TimToady: polar() should always return an angle between 0 <= theta < 2*pi, correct ? | ||
masak | soon, STD will be endemic! | ||
dukeleto | currently it is using -pi < theta < pi | ||
TimToady | pandemic, we hope | ||
masak | hm, polar isn't in S29 :( | 18:43 | |
TimToady | I'm not enough of a math wonk to have an opinion on that | ||
masak | dukeleto: please file a bug. | ||
18:44
Psyche is now known as Patterner
|
|||
TimToady | most of that stuff has moved to S32 | 18:44 | |
masak | oh, right. | 18:45 | |
dukeleto | masak: I have a patch to src/classes/Complex.pir that I will send to github in a sec | ||
masak | dukeleto: nice. | ||
but it might help to make it a ticket as well. | |||
...I think. | |||
dukeleto | masak: do you have a url? | 18:46 | |
masak | mailto:rakudobug@perl.org | ||
TimToady | dukeleto: it is currently specced to -π ..^ π | 18:47 | |
so it's not a bug until the spec changes | 18:48 | ||
dukeleto | TimToady: ok. so some functions return angles between (-pi,pi) and some (0,2*pi) ? | 18:49 | |
18:49
[particle] joined
|
|||
masak | dukeleto: which ones currently do the latter? | 18:50 | |
18:51
sparc_ left
|
|||
dukeleto | masak: i seem to remember some, but I don't have a concrete example right now. I will look | 18:52 | |
masak | dukeleto: suddenly this sounds like a matter for p6l. | ||
TimToady | it has certainly been discussed there before | 18:53 | |
18:54
shinobi-cl joined
|
|||
masak | oh, it has? and was the conclusion to let some ranges be (-pi,pi) and some (0,2*pi)? | 18:55 | |
that sounds doubleplusungood. | |||
jnthn -> dinner | 18:58 | ||
jeremiah | mmm dinner | ||
TimToady | the point made in the thread was that it becomes easy to find the quadrant if you know the sign of both the real and the imaginary parts | 19:00 | |
masak | there's something to be said for that, I guess. | 19:03 | |
TimToady | and presumably easily normalized the other way with %2*pi | ||
er | |||
%(2*pi) | 19:04 | ||
19:05
[particle]1 left
|
|||
TimToady | 'course, -pi would give you the quadrant in the other case, so it's not a biggie either way, as far as I'm concerned | 19:05 | |
but it seems like something p6l would like to haggle over^W^Wvote on | 19:06 | ||
masak | I'm just asking myself if there's an overwhelming reason to avoid consistency in this case. | ||
TimToady | (again) :) | ||
19:07
eternaleye left
|
|||
TimToady | well, we could always say the funcitons can return whatever they like, and you have to do your own % (2*pi) :) | 19:07 | |
dukeleto | it can generate incorrect answers if developers do not constantly check the returned branch | 19:08 | |
TimToady | I bet everyone would hate that | ||
dukeleto | TimToady: yes | ||
TimToady | the alternative would be to have multiple versions of the function, or a parameter | ||
masak | still, it seems to me the default ought to be the same range everywhere. | 19:09 | |
TimToady | clobber the namespace, or clobber the performance :) | ||
dukeleto | masak: +1 | ||
TimToady | there's something to be said for a foolish consistency | ||
masak | indeed. | ||
TimToady | anyhoo, I don't profess to speak for the mathematicians | 19:10 | |
masak | neither do I, actually. | ||
dukeleto | TimToady: I don't think performance will be clobbered if all underlying functions are changed to return in the same interval, than no interval checking needs to be done | ||
masak | I should review that thread. | ||
TimToady | but somehow I doubt the mathematicians could find a single spokesperson they'd agree on :) | ||
dukeleto | indeed | 19:11 | |
TimToady | the number of opinions on the subject you'll get on p6l will approximate 2*pi, I believe, because there are about pi mathematicians there, and about pi non-mathematicians who will have an opinion anyway. | 19:12 | |
dukeleto | TimToady: but how many submit patches? | 19:13 | |
masak | well, we like patches, but we like to conform to the spec as well. :) | 19:15 | |
dukeleto | which spec defines the trig functions? | 19:17 | |
masak | S32/Numeric, it seems. | ||
dukeleto | masask: thanks! | 19:18 | |
masak | np. | ||
well, time to go home. | |||
masak waves | |||
19:18
masak left
19:33
sri_kraih left
19:56
Sepheebear joined
|
|||
pugs_svn | r25481 | lwall++ | [Cursor] suppress warnings on malformed utf8 | 20:47 | |
20:54
estrabd left
|
|||
bacek | good morning | 21:00 | |
perl6: say ~ [\==] (1,2,2,1) | 21:01 | ||
p6eval | rakudo f23eda: OUTPUT«say requires an argument at line 1, near " ~ [\\==] ("current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
..elf 25481: OUTPUT«pre without a prefix is unimplemented at ./elf_h line 2148» | |||
..pugs: OUTPUT«» | |||
21:02
jan_ left
21:04
jan_ joined
|
|||
bacek | perl6: say ~([\==] (1,2,2,1)) | 21:04 | |
p6eval | elf 25481: OUTPUT«pre without a prefix is unimplemented at ./elf_h line 2148» | ||
..rakudo f23eda: OUTPUT«say requires an argument at line 1, near " ~([\\==] ("current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | |||
..pugs: OUTPUT«» | |||
jnthn | rakudo: ~([\==] (1,2,2,1)) | 21:05 | |
p6eval | rakudo f23eda: OUTPUT«Syntax error at line 1, near "~([\\==] (1"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
jnthn | Hmm. | ||
bacek | jnthn: my patch isn't applied yet :) | 21:06 | |
21:06
zophy left,
zophy joined
|
|||
jnthn | bacek: Aye, I'm leaving that one for pmichaud to review. :-) | 21:07 | |
bacek | jnthn: :) | ||
21:07
|MoC| left
21:08
zophy left
|
|||
bacek | Looks like I've made mistake in triangle version of chained metaops. | 21:08 | |
21:08
zophy joined
|
|||
bacek | TimToady: Last result for [\==] (1,2,2,1) is (False, False, True, False), isn't it? | 21:09 | |
jnthn: But you can review my other patches :) | 21:10 | ||
21:10
zophy left
21:11
zophy joined
21:12
zophy left
21:17
zophy joined
21:18
zophy left,
zophy joined
21:19
zophy left
21:20
zophy joined
21:21
zophy left,
zophy joined
21:24
fridim_ left,
fridim_ joined
21:29
kst joined
21:31
jan_ left
|
|||
pugs_svn | r25482 | rhr++ | [CORE] paste error for make | 21:38 | |
bacek | perl6: sub formalize($text, :case($case), :justify($justify)) {...}; say "hi" | 21:43 | |
p6eval | pugs: OUTPUT«***  Unexpected "case" expecting space or ")" at /tmp/Ejqow2uVrv line 1, column 23» | ||
..elf 25482: OUTPUT«Parse error in: /tmp/OAHiZMHWqMpanic at line 1 column 56 (pos 56): Missing right braceWHERE: ($case), :justify($justify)) {...}; say "hi"WHERE: /\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:255:in `_block_rest' | |||
..STD_red/std.rb:242... | |||
..rakudo f23eda: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 1, near ":case($cas"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | |||
bacek | std: sub formalize($text, :case($case), :justify($justify)) {...}; say "hi" | ||
p6eval | std 25482: OUTPUT«ok 00:04 34m» | 21:44 | |
21:47
Whiteknight left,
araujo left
|
|||
TimToady | bacek: first one should be True | 21:48 | |
bacek | TimToady: ah, ok. | 21:49 | |
TimToady: 'is (~ [\<] 1, 3, 2, 4), "1 1 0 0", "[\\<] works (2)";' looks incorrect for me | 21:52 | ||
True, True, False, True? | |||
21:54
jan__ joined,
zophy left
|
|||
TimToady | I can argue it both ways | 21:56 | |
21:56
burmas joined
21:57
zophy joined
|
|||
TimToady | the fundamental question is whether [\op] treats comparisons as short circuit or as independent tests that are only anded at the end | 21:58 | |
and beyond that, which interpretation is more useful for any purpose at all :) | 21:59 | ||
21:59
dukeleto left
|
|||
pugs_svn | r25483 | bacek++ | [t/spec] Fix reduce metaops tests. TimToady++ for clarification. | 22:00 | |
bacek | TimToady: I suppose that "[op] $a,$b,$c," is shortcut for "[&&] (undef op $a), ($a op $b), ($b op $c)". | 22:01 | |
TimToady | or * op $a | 22:02 | |
bacek | whatever :) | ||
TimToady | by that interpretation, the anding should latch off as soon as it's false | 22:03 | |
22:03
gravity joined
|
|||
TimToady | that's probably what people will expect | 22:03 | |
bacek | yes, but for triangle version it should evaluate full list | ||
TimToady | the list could be infiinte | 22:04 | |
bacek | then it will produce infinite triangle | ||
22:04
viklund joined
|
|||
viklund | @seen masak | 22:04 | |
lambdabot | I saw masak leaving #perl6 2h 46m 4s ago, and . | ||
bacek | [\<] 1..* | ||
TimToady | the question is whether it will always be of the form 1,1,1...0,0,0,0,0.... | ||
I'm thinking of various "find first" algorithms | 22:05 | ||
bacek | TimToady: for triangle version? | ||
TimToady | if we go with the 110000000 interpretation, then what I said earlier about [\!=] is wrong | 22:10 | |
bacek | for ([\<] @list) -> $a{ if ($a[*-1] ff $a[*-1]) { return $a } } | ||
TimToady | because it should use the identity value for &&, not 1= | ||
*!= | 22:11 | ||
22:11
zophy left
|
|||
bacek | I preferably dislike 110000 approach. | 22:11 | |
22:11
zophy joined
|
|||
bacek | It's automatically prohibit multithreaded evaluation. | 22:12 | |
TimToady | chained comparisons are specced to short-circuit | ||
1 > 2 > die("this is never reached"); | 22:13 | ||
bacek | ([\op] @list)[10][*-1] | ||
22:14
Muixirt left
|
|||
TimToady | only for [\,] | 22:14 | |
bacek | I don't understand. What do you mean? | ||
TimToady | you can't subscript a scalar with [*-1] | 22:15 | |
only [\,] returns list or list | |||
*of | |||
bacek | pugs: say ([\==] 1,1,2,2).perl | 22:16 | |
p6eval | pugs: OUTPUT«Bool::False» | ||
bacek | oh. | ||
[\==] should not produce list of list??? | |||
TimToady | it should produce a list of Bool | ||
pugs: say [\+] 1..10 | 22:17 | ||
p6eval | pugs: OUTPUT«13610152128364555» | ||
TimToady | pugs: say ([\+] 1..12)[10] | 22:18 | |
p6eval | pugs: OUTPUT«66» | ||
TimToady | pugs: say ([\+] 1..12)[10][*-1] | ||
p6eval | pugs: OUTPUT«66» | ||
TimToady | pugs: say ([\+] 1..12)[10][*-1][*-1] | ||
p6eval | pugs: OUTPUT«66» | ||
TimToady | pugs: say ([\+] 1..12)[10][*-1][*-1][0] | ||
p6eval | pugs: OUTPUT«66» | ||
TimToady | pugs: say ([\+] 1..12)[10][*-1][*-1][0][0] | ||
p6eval | pugs: OUTPUT«66» | ||
bacek | TimToady vs pugs :) | 22:19 | |
22:19
burmas left
|
|||
TimToady | on the other hand, [op] 1,2,die doesn't short circuit | 22:21 | |
in the sense of suppressing the die | 22:22 | ||
in only short circuits in the sense that it in [==] 1,2,3 it doesn't have to test 2==3 | 22:23 | ||
22:23
pmurias left,
awwaiid left
|
|||
TimToady | I think that still argues that [\==] 1,2,3 should return 1,0,0,0 | 22:24 | |
bacek | how that? | ||
TimToady | and [\!=] 1,2,3 should probably return 1,1,1,1 | ||
22:25
aindilis joined
|
|||
bacek | if I understand you right, than [\==] 1,2,3 should return 1,0,0 | 22:25 | |
and [\!=] 1,2,3 returns 1,1,1 | |||
TimToady | yes, i can't count | ||
bacek | (Bool::True and Bool::False for 1 and 0 of cause) | 22:26 | |
TimToady | *nod* | ||
bacek | :) | ||
TimToady | we need to be careful to return Bool when we mean that so we can multidispatch on it right | ||
bacek | indeed | 22:27 | |
TimToady | that is, +$bool returns 0 and 1, while ?$num returns False and True | ||
bacek | I'm going to revert my last commit in t/spec... | 22:28 | |
Let's stick with 11000. | |||
TimToady | sorry 'bout that, my fault | ||
bacek | no worries :) | ||
TimToady | I'd better go mangle the semantics of my Honda instead before it rains... | 22:30 | |
pugs_svn | r25484 | bacek++ | [t/spec] Revert previous commit for reduce metaops. | ||
bacek | TimToady: I did it with my Honda couple of days ago :) | ||
TimToady | funny thing is there are two completely unrelated things wrong with it that require door panels to be removed | 22:31 | |
unfortunately, different panels... | |||
power windows controller on one side, mirror on the other... | 22:32 | ||
bacek | oh. | ||
TimToady | car hacking & | ||
jnthn | Sometimes I wonder if having sufficiently bad eyesight to be unable to drive - and thus not owning a car - is a kind of blessing... | 22:33 | |
(Does mean I need to live in places with decent public transport, mind...) | |||
bacek | jnthn: I have very bad eyesight. But it doesn't count... Public transport in Sydney suck all the time :( | 22:34 | |
jnthn | Ugh. :-( | 22:37 | |
I got *so* fed up of the UK railway network. | |||
bacek | rakudo: say undef // 1; | 22:44 | |
p6eval | rakudo f23eda: OUTPUT«1» | ||
bacek | rakudo: say 42 // 1; | ||
p6eval | rakudo f23eda: OUTPUT«42» | ||
bacek | rakudo: say undef orelse 1; | 22:45 | |
jnthn | rakudo: sub x { say "awww, we fail it" }; my $x = 42 // x; | ||
p6eval | rakudo f23eda: OUTPUT«Use of uninitialized valueCould not find non-existent sub infix:orelsecurrent instr.: '_block14' pc 82 (EVAL_15:42)» | ||
rakudo f23eda: RESULT«42» | |||
jnthn | rakudo: sub x { say "awww, we fail it" }; my $x = 42; $x //= x; | ||
p6eval | rakudo f23eda: OUTPUT«awww, we fail it» | ||
jnthn | fail | ||
bacek | summon masak? | 22:46 | |
rakudo: say 1 => 2 | 22:48 | ||
p6eval | rakudo f23eda: OUTPUT«1 2» | ||
22:48
M_o_C joined
|
|||
bacek | rakudo: say 1 => 2 => 3 | 22:49 | |
p6eval | rakudo f23eda: OUTPUT«1 2 3» | ||
bacek | rakudo: say (1 => 2 => 3).perl | ||
p6eval | rakudo f23eda: OUTPUT«1 => 2 => 3» | ||
bacek | is => right associative? | 23:00 | |
rakudo: say (1 => (2 => 3)).perl | |||
p6eval | rakudo f23eda: OUTPUT«1 => 2 => 3» | ||
bacek | rakudo: say ((1 => 2) => 3).perl | ||
p6eval | rakudo f23eda: OUTPUT«1 => 2 => 3» | ||
bacek | yak... | ||
pugs: say (1 => 2 => 3).perl | 23:01 | ||
p6eval | pugs: OUTPUT«\(1, \(2, 3))» | ||
bacek | pugs: say ((1 => 2) => 3).perl | ||
p6eval | pugs: OUTPUT«\(\(1, 2), 3)» | ||
23:02
ejs left
23:04
jferrero joined
23:05
viklund left
23:24
dukeleto joined
23:25
zophy left
23:45
DemoFreak left
23:52
Ariens_Hyperion joined
23:53
fridim_ left,
fridim_ joined
|