The topic for #perl6 is: pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/ Set by TimToady on 25 November 2008. |
|||
00:03
alanhaggai left,
alanhaggai joined
|
|||
Juerd_ | ATTN feather users: please clean homedirs | 00:04 | |
(use "ncdu" to visualise disk usage) | 00:07 | ||
00:07
cspencer joined,
cspencer left,
cspencer joined
00:08
eternaleye_ left
00:10
DemoFreak left
|
|||
cspencer | pugs: (1..10).reverse.WHAT.say | 00:14 | |
lambdabot | cspencer: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
p6eval | pugs: OUTPUT«Array» | ||
00:15
eternaleye joined
|
|||
pugs_svn | r24592 | hinrik++ | [util/perl6.vim] timestamp | 00:18 | |
00:21
vixey left
00:22
alc joined
|
|||
cspencer | pugs: (1..10).reverse.perl.say | 00:25 | |
p6eval | pugs: OUTPUT«(10, 9, 8, 7, 6, 5, 4, 3, 2, 1)» | ||
cspencer | should a Range reversed return another Range object? | 00:26 | |
i would think yes, since it should be lazily evaluated and not flattened to a list before reversal | 00:27 | ||
00:30
lumi left
|
|||
TimToady | yes | 00:32 | |
cspencer | timtoady: thanks :) | ||
00:35
alanhaggai_ joined
00:37
azawawi_ joined
|
|||
pmichaud | reversing a range also reverses its :by value, iirc. | 00:39 | |
cspencer | right, that would make sense too :) | 00:42 | |
pmichaud: was the Inf you'd added the other day destined to become its own class at some point? | |||
pmichaud | I'm waiting to see how Parrot decides to handle it. | ||
cspencer | ok | ||
pmichaud | at this point it's not likely to become a separate class, unless the spec says it has to be one. | 00:43 | |
00:43
azawawi left
|
|||
cspencer | ah ok | 00:43 | |
i imagine the parrot implementors will be weighing in on that prior to the 1.0 release in the spring? | 00:44 | ||
pmichaud | it's slated to be address before the Jan release. | ||
*addressed | |||
cspencer | oh, that's soon, great | 00:45 | |
00:52
alanhaggai left
01:05
stephens left
|
|||
meppl | good night | 01:12 | |
01:13
meppl left
01:18
alanhaggai_ is now known as alanhaggai
|
|||
rakudo_svn | r34305 | pmichaud++ | [rakudo]: Merge 'last' and 'redo' functions from pctloop2 branch. | 01:20 | |
01:25
jferrero left
|
|||
cspencer | rakudo: (1..10).list.say | 01:39 | |
p6eval | rakudo 34306: OUTPUT«12345678910» | ||
rakudo_svn | r34309 | pmichaud++ | [rakudo]: Correct loop_statement to execute iteration expression on 'next'. | 01:40 | |
01:44
[particle]1 joined
01:54
alc left
|
|||
cspencer | Inf.perl.say | 02:00 | |
rakudo: Inf.perl.say | |||
p6eval | rakudo 34310: OUTPUT«inf» | 02:02 | |
02:04
lambdabot left
02:07
lambdabot joined
|
|||
cspencer | rakudo: 1..10:by(2) | 02:15 | |
p6eval | rakudo 34310: OUTPUT«Statement not terminated properly at line 1, near ":by(2)"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
cspencer | rakudo: ('A'..12).perl.say | 02:38 | |
p6eval | rakudo 34312: OUTPUT«"A"..12» | ||
cspencer | pugs: .say for ('A'..10) | 02:39 | |
p6eval | pugs: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ» | ||
cspencer | is the Range ('A'..10) valid? if so, how should it iterate over its elements? | 02:40 | |
rakudo: .say for ('A'..12) | |||
p6eval | rakudo 34312: RESULT«Method 'perl' not found for invocant of class 'Iterator'current instr.: '_block14' pc 64 (EVAL_15:39)» | ||
02:41
simcop2387 joined
02:42
alanhaggai left
02:43
kisu__ joined
02:44
japhb left
02:45
kisu_ left
02:47
Eevee left
|
|||
pugs_svn | r24593 | pmichaud++ | [t/spec] Unfudge some redo tests. | 02:48 | |
eternaleye | rakudo: say [+] ( split( "", 4150 ).map( { $_ ** 5 } ) ) | 02:50 | |
p6eval | rakudo 34312: OUTPUT«4150» | ||
eternaleye | rakudo: subset Valid of Int where { [+] ( split( "", $_ ).map( { $_ ** 5 } ) ) == $num }; my Valid $val = 4150 | ||
p6eval | rakudo 34312: OUTPUT«Scope not found for PAST::Var '$num'current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
eternaleye | Are subset types implemented yet? | ||
oh wait, pasted the wrong code | 02:51 | ||
rakudo: subset Valid of Int where { [+] ( split( "", $_ ).map( { $_ ** 5 } ) ) == $_ }; my Valid $val = 4150 | |||
p6eval | rakudo 34312: OUTPUT«Type mismatch in assignment.current instr.: 'die' pc 14790 (src/builtins/control.pir:204)» | ||
03:01
Whiteknight left
|
|||
eternaleye | Oh, that's non-intuitive | 03:02 | |
rakudo: subset Valid of Int where { ( [+] ( split( "", $_ ).map( { $_ ** 5 } ) ) ) == $_ }; my Valid $val = 4150 | |||
p6eval | rakudo 34312: RESULT«4150» | ||
eternaleye | Is [+] supposed to associate more weakly than == ? | 03:03 | |
03:19
azawawi joined
|
|||
eternaleye | @tell eric256 I found a solution for Euler #30 | 03:20 | |
lambdabot | Consider it noted. | ||
eternaleye | @tell eric256 `sub isValid { if ( ( [+] split( "", @_[0] ).map( { $_ ** 5 } ) ) == @_[0] ) { return 1; } else { return 0; } }; say [+] map( { $_ if isValid( $_ ); } , 2 .. 100000 );` | ||
lambdabot | Consider it noted. | ||
eternaleye | @tell eric256 ( 9 ** 5 * 7 is 6 digits, so a solution must be < 100000 ) | 03:21 | |
lambdabot | Consider it noted. | ||
03:22
azawawi_ left
03:24
bacek__ left
|
|||
TimToady | [+] is a list operator, so you need [+](...) == or ([+] ...) == | 03:27 | |
but you don't need the parens on the conditional | 03:28 | ||
'if (' is usually wrongish in p6 | |||
and completely wrong if you omit the space | 03:29 | ||
azawawi | TimToady: hi | ||
eternaleye | rakudo: subset Valid of Int where { [+]( split( "", $_ ).map( { $_ ** 5 } ) ) == $_ }; my Valid $val = 4150 | 03:30 | |
p6eval | rakudo 34313: OUTPUT«Type mismatch in assignment.current instr.: 'die' pc 14790 (src/builtins/control.pir:204)» | ||
eternaleye | I think it's parsing as [+] ( ( split( "", $_ ).map( { $_ ** 5 } ) ) == $_ ) | 03:31 | |
azawawi | TimToady: any plans to make STD.pm pass my 'make test' soon? | 03:33 | |
03:34
alanhaggai joined
|
|||
diakopter | TimToady: ping? | 03:42 | |
03:43
dpuu joined
|
|||
dpuu | rakudo: 1 X 4 | 03:43 | |
p6eval | rakudo 34313: RESULT«[1, 4]» | ||
dpuu | rakudo: (1 X 4).elems | 03:44 | |
p6eval | rakudo 34313: RESULT«2» | ||
diakopter | syntacticosemantic and morphophonemic | ||
03:52
alanhaggai left
03:56
jhorwitz left
04:02
elmex_ joined
04:04
alanhaggai joined
|
|||
eternaleye | @tell eric256 Euler 29: my %nums; for map( { my $x = $_; map( { $x ** $_ }, 2 .. 100 ) }, 2 .. 100 ) -> $num { %nums{ $num } = 1; }; say %nums.keys.elems; | 04:05 | |
lambdabot | Consider it noted. | ||
04:06
Limbic_Region joined
04:15
elmex left,
elmex_ is now known as elmex
04:23
dpuu left
04:28
kisu_ joined
04:29
bacek joined
|
|||
bacek | perl6: say elems [1,2,3,4] | 04:30 | |
p6eval | pugs: OUTPUT«4» | ||
..rakudo 34313: OUTPUT«1» | |||
..elf 24593: OUTPUT«Undefined subroutine &GLOBAL::elems called at (eval 119) line 3. at ./elf_f line 3861» | |||
04:31
Limbic_Region left
04:33
Limbic_Region joined
04:35
azawawi left
04:36
azawawi joined
04:39
kisu__ left
|
|||
cspencer | rakudo: loop($i=0; $i < 10; $i++) { say "i: $i" } | 04:42 | |
p6eval | rakudo 34313: OUTPUT«Scope not found for PAST::Var '$i'current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
cspencer | rakudo: loop(my $i=0; $i < 10; $i++) { say "i: $i" } | 04:43 | |
p6eval | rakudo 34313: OUTPUT«i: 0i: 1i: 2i: 3i: 4i: 5i: 6i: 7i: 8i: 9» | ||
bacek | pugs: my %h; ++%h<$_> for <1 2 2 4 4>; say %h.perl | 04:45 | |
p6eval | pugs: OUTPUT«\(\("\$_", 5),)» | ||
bacek | pugs: my %h; ++%h{$_} for <1 2 2 4 4>; say %h.perl | ||
p6eval | pugs: OUTPUT«\(\("1", 1), \("2", 2), \("4", 2))» | ||
04:53
afterburn joined
|
|||
afterburn | moritz_: I'm trying to use your irclog code and the cgi portion is giving me some trouble | 04:53 | |
05:00
[particle]1 left,
Limbic_Region left,
[particle] joined
05:03
afterburn left
05:05
[particle]1 joined
05:17
alanhaggai left
05:21
[particle] left
05:33
Chillance left
05:39
cspencer left
|
|||
dukeleto_ | perl6: say NaN | 05:56 | |
p6eval | elf 24593, pugs: OUTPUT«NaN» | ||
..rakudo 34313: OUTPUT«nan» | |||
dukeleto_ | that's not quite right, is it? | ||
05:57
r0bby joined
06:00
Minthe joined
06:01
kisu__ joined
06:05
azawawi left
06:06
kisu_ left
|
|||
dukeleto_ | perl6: printf "%d", NaN; | 06:11 | |
06:11
justatheory joined
|
|||
dukeleto_ | perl6: printf "%d", NaN | 06:11 | |
p6eval | rakudo 34313: OUTPUT«-2147483648» | 06:12 | |
..pugs: No output (you need to produce output to STDOUT) | |||
..elf 24593: OUTPUT«Undefined subroutine &GLOBAL::printf called at (eval 117) line 3. at ./elf_f line 3861» | |||
rakudo 34313: OUTPUT«-2147483648» | |||
..pugs: No output (you need to produce output to STDOUT) | |||
..elf 24593: OUTPUT«Undefined subroutine &GLOBAL::printf called at (eval 117) line 3. at ./elf_f line 3861» | |||
06:13
kisu_ joined
06:15
masak joined
06:17
kisu__ left
|
|||
rakudo_svn | r34314 | pmichaud++ | [rakudo]: Make sure infix:<~> and prefix:<~> return Str. | 06:20 | |
r34314 | pmichaud++ | We hopefully can get rid of this when we have HLL support, but | |||
r34314 | pmichaud++ | let's at least get them right for now. | |||
06:33
ChrisDavaz left
06:56
ashizawa joined
|
|||
pugs_svn | r24594 | leto++ | Tests for sprintf %s handling of NaN and Inf | 07:03 | |
07:04
Jonanin joined
07:09
Minthe left
|
|||
rakudo_svn | r34316 | pmichaud++ | [rakudo]: List methods are already in Any, no need to have them in List also. | 07:10 | |
masak | rakudo: loop { last }; say "still alive" | 07:20 | |
p6eval | rakudo 34317: OUTPUT«still alive» | ||
07:23
alexn_org joined
07:25
Jonanin left
|
|||
Tene | perl6: my @list = [] xx 10; @list[0] = 'a'; say @list.perl; | 07:32 | |
p6eval | pugs: OUTPUT«\("a",)» | ||
..elf 24594: OUTPUT«["a",[],[],[],[],[],[],[],[],[]]» | |||
..rakudo 34317: OUTPUT«["a", [], [], [], [], [], [], [], [], []]» | |||
Tene | perl6: my @list = [] xx 10; @list[0].push('a'); say @list.perl; | ||
p6eval | elf 24594: OUTPUT«[["a"],["a"],["a"],["a"],["a"],["a"],["a"],["a"],["a"],["a"]]» | ||
..rakudo 34317: OUTPUT«[["a"], ["a"], ["a"], ["a"], ["a"], ["a"], ["a"], ["a"], ["a"], ["a"]]» | |||
..pugs: OUTPUT«\(\("a",),)» | |||
masak | rakudo: my @a = 1..5; shift @a; pop @a; say @a | 07:33 | |
p6eval | rakudo 34317: OUTPUT«234» | 07:34 | |
masak | rakudo: my @a = 1..5; $_(@a) for &shift, &pop; say @a | ||
p6eval | rakudo 34317: OUTPUT«234» | ||
masak | Rakudo++ | ||
rakudo: my @a = [&shift, &shift, &pop, &say, &say]; @a[0](@a) while @a; | 07:40 | ||
p6eval | rakudo 34317: OUTPUT«invoke() not implemented in class 'ResizablePMCArray'current instr.: '_block14' pc 202 (EVAL_12:83)» | ||
masak | rakudo: my @a = &shift, &shift, &pop, &say, &say; @a[0](@a) while @a; | 07:41 | |
p6eval | rakudo 34317: RESULT«[]» | ||
07:48
japhb joined
|
|||
pmichaud | it is truly scary to see some of the code snippets you all write. | 07:55 | |
masak | :D | ||
actually, I'm not quite sure why that last one terminates. | 08:09 | ||
pmichaud | me neither. | ||
masak | seems to me it _should_ get stuck on the last &say. | ||
08:09
alech joined
|
|||
rakudo_svn | r34319 | pmichaud++ | [rakudo]: Matches now produce Rakudo Match objects instead of PGE::Match. | 08:10 | |
masak | rakudo: my @a = &say; @a[0](@a) while @a; # sorry, p6eval! | ||
p6eval | rakudo 34317: | 08:11 | |
..OUTPUT«saysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysaysayxE2 | |||
08:13
justatheory left
|
|||
Tene | masak: the one you were confused about loops on &pop three times. | 08:29 | |
popping off &say twice and then itself. | |||
masak | oh, right. | ||
writing self-modifying code is hard! | 08:30 | ||
Tene | hehe | ||
08:39
alexn_org left
08:40
alech left
08:47
km2 left
08:49
alech joined
|
|||
rakudo_svn | r34321 | pmichaud++ | [rakudo]: Clean up reverse methods and functions. | 08:50 | |
pmichaud | glad to see rakudo got it right, though. | ||
I'm getting to the point where I trust rakudo about such things more and more. :-) | 08:51 | ||
masak | me too. :) | ||
pmichaud | the eval "sub x { say <OMG> }" example had me concerned until I saw TimToady++'s reply. :-) | ||
masak | :) | ||
pmichaud: do you think it'd be possible to add a warning against that mistake. it might become quite common. | 08:52 | ||
s/\./?/ | |||
08:53
ChrisDavaz joined
|
|||
pmichaud | it might be possible... but it'd also be fairly difficult unless done at the parser level. | 08:53 | |
masak | ok. | 08:54 | |
well, no big deal really. I just thought it'd be a nice touch, in case it turned out to be easy. | |||
something like "Warning: Curly block inside interpolating string argument to eval. Probably not what you meant." | 08:55 | ||
08:55
justatheory joined
08:59
ChrisDavaz left
09:16
pmurias joined
09:18
ejs joined,
ejs left
09:30
alech_ joined
09:35
alech_ left
09:38
justatheory left,
alech_ joined
|
|||
rakudo_svn | r34322 | pmichaud++ | [rakudo]: spectest-progress.csv update: 264 files, 5837 passing, 0 failing | 09:40 | |
09:43
alech left
09:44
iblechbot joined
09:54
pdcawley joined
09:55
adc_penner joined
09:58
alech joined
09:59
barney joined,
alech_ left
|
|||
rakudo_svn | r34323 | pmichaud++ | [rakudo]: Refactor to simplify returning Match object from regexes. | 10:00 | |
r34324 | pmichaud++ | [rakudo]: Clean up some bugs in .subst reported by skids1++ . | |||
r34324 | pmichaud++ | There's still a lot more that needs fixing here, though. | |||
10:18
ejs joined
10:28
cspencer joined
|
|||
masak | rakudo: for 1..10 { continue if $_ % 2; .say } | 10:29 | |
p6eval | rakudo 34324: OUTPUT«Warning12Warning34Warning56Warning78Warning910» | ||
masak | hm. | ||
whence the warnings? | 10:30 | ||
10:30
meppl joined
10:32
alech left
10:34
alanhaggai joined
|
|||
masak realizes that continue does not mean the same in Perl 6 as in Java | 10:47 | ||
ah. | |||
rakudo: for 1..10 { next if $_ % 2; .say } | |||
p6eval | rakudo 34325: OUTPUT«246810» | ||
masak | rakudo: continue | ||
p6eval | rakudo 34325: OUTPUT«Warning» | ||
rakudo_svn | r34327 | bernhard++ | [codingstd] remove trailing spaces | 10:50 | |
10:51
iblechbot left
11:11
alanhaggai_ joined
11:12
iblechbot joined
11:21
Minthe joined,
Minthe left
11:25
hudnix_ left
11:26
alanhaggai left
|
|||
pmurias | masak: re warning i don't think such a warnning is desirable,eval is/should be uncommon | 11:28 | |
11:49
alanhaggai_ left
12:05
ChrisDavaz joined
|
|||
masak | pmurias: if a tiny proportion of Perl 6 users use eval, and a high percentage of them fall into the eval/interpol-string/block trap, might not a warning be worthwhile? (at least if it's easy to implement, which pmichaud hinted it's not) | 12:11 | |
pmurias | masak: it's hard to know upfront if that use case will be problematic | 12:14 | |
masak | aye. all I know is I fell into the trap, and I consider myself a fairly seasoned Perl 6 user. | 12:15 | |
pmurias | it's also depends if people will want to use {} interpolation legitimately | ||
masak | that's true. they might actually know what they want, and then the warning will need to be quiesced somehow. | 12:17 | |
12:18
iblechbot_ joined
|
|||
pmurias | masak: what do you expect the .Str method to do on a SV*? | 12:22 | |
masak | what's a SV*? | ||
pmurias | a perl5 scalar | 12:23 | |
masak | hm. | ||
is there a good reason to single it out as such? otherwise I'd expect it to simply be stringified. | 12:24 | ||
pmurias | the perl5 object stored in that scalar might have a Str method | 12:25 | |
masak | that's true. | ||
maybe that should take precedence, then. | 12:26 | ||
I'm having a hard time thinking of a sensible use case that could shed light on what a programmer expects in this case. | 12:27 | ||
12:33
kisu__ joined
|
|||
masak | rakudo: say (1..8).reverse.WHAT | 12:33 | |
p6eval | rakudo 34331: OUTPUT«Str» | ||
masak submits rakudobug | |||
12:33
kisu_ left
12:34
iblechbot left
|
|||
masak | rakudo: say (1, 2, 3, 4).reverse.WHAT | 12:35 | |
p6eval | rakudo 34331: OUTPUT«List» | ||
12:40
bacek left
|
|||
masak | rakudo: say (1..8).list.reverse.WHAT # temporary workaround | 12:45 | |
p6eval | rakudo 34332: OUTPUT«List» | ||
12:48
masak left
12:52
alanhaggai joined
|
|||
pmurias | @tell ruoso git clone [email@hidden.address] asks be for a password? | 12:58 | |
lambdabot | Consider it noted. | ||
13:05
alech joined
13:11
alech left
13:22
alanhaggai_ joined
13:30
alanhaggai left,
alanhaggai_ is now known as alanhaggai
13:36
alanhaggai left
13:39
SamB joined
|
|||
literal | www.reddit.com/r/programming/commen..._sublists/ | 13:39 | |
so, what's the shortest way to do this in Perl 6? | 13:40 | ||
13:44
ashizawa left
14:02
alech joined
14:08
alech left,
alech joined
14:15
justatheory joined
14:17
pdcawley left
14:25
barney left
14:30
ruoso joined
|
|||
ruoso | hi pmurias | 14:32 | |
lambdabot | ruoso: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
ruoso | pmurias, gitorious use ssh key auth | 14:33 | |
pmurias | ruoso: hi | ||
ruoso: so i have to get an account on gitorious? | 14:34 | ||
ruoso | yes | ||
pmurias | registered there | 14:36 | |
ruoso | I presume you're going to register with pmurias as username | ||
pmurias | yes | 14:37 | |
ruoso | you're a committer alread | 14:38 | |
you might want to sync with the p5 git repo also, | 14:39 | ||
so you can keep the branch up-to-date | |||
14:50
alech left
|
|||
pmurias | ruoso: dSP;ENTER; causes a valgrind warning any idea why? | 14:55 | |
with my_perl storing the perl5 interpreter i initialised ealier | 14:56 | ||
ruoso | hmm... I don't know if p5 is valgrind-clean | ||
pmurias, my internet connection is specially slow today, would you mind sync-ing gitorious and blead? | 14:57 | ||
14:58
Limbic_Region joined
|
|||
pmurias | ENTER does a segfault too | 14:59 | |
ruoso: ok i'll do it | |||
ruoso | pmurias, ok, segfault means you're doing something wrong | 15:00 | |
pmurias | ruoso: how should i do the sync? | 15:02 | |
15:02
alech joined
|
|||
ruoso | you can add a remote to .git/config | 15:03 | |
[remote "blead"] | 15:04 | ||
url = git://perl5.git.perl.org/perl.git | |||
fetch = +refs/heads/*:refs/remotes/origin/* | |||
actually it's not exactly that | |||
in the last line, it's refs/remotes/blead | |||
not origin | |||
then you can just git pull blead | 15:05 | ||
and git push | |||
15:08
awwaiid left
15:10
iblechbot_ left,
vixey joined
|
|||
ruoso | is there any spec on the exceptions API? | 15:12 | |
pmurias, how is the .ri language defined? I'd like to add a %has $foo that would provide the storage and accessors for a Scalar | 15:13 | ||
hmm... wait... %attr and %getter does that already... nevermind | 15:16 | ||
15:19
alech left
|
|||
dwhipp | rakudo: sub x ($x where "x") { say "X" }; x("x") | 15:22 | |
p6eval | rakudo 34337: OUTPUT«Parameter type check failed in call to xcurrent instr.: 'die' pc 14690 (src/builtins/control.pir:204)» | ||
dwhipp | rakudo: sub x ($x where /x/) { say "X" }; x("x") | ||
p6eval | rakudo 34337: OUTPUT«Method 'push' not found for invocant of class 'Perl6;Grammar'current instr.: 'parrot;Perl6;Grammar;Actions;_block6895' pc 157512 (src/gen_actions.pir:19785)» | ||
dwhipp | rakudo: sub x ($x where { $^x eq "x" }) { say "X" }; x("x") | ||
p6eval | rakudo 34337: OUTPUT«X» | ||
dwhipp | seems that "where" clauses don't do smart-matching | 15:23 | |
sub x (where {/x/} $x) { say "X" }; x("x") | 15:26 | ||
rakudo: sub x (where {/x/} $x) { say "X" }; x("x") | |||
p6eval | rakudo 34337: No output (you need to produce output to STDOUT) | ||
dwhipp | (that one gives a segv) | 15:27 | |
rakudo: sub x (Any where {/x/} $x) { say "X" }; x("x") | 15:28 | ||
p6eval | rakudo 34337: No output (you need to produce output to STDOUT) | ||
ruoso points [email@hidden.address] to dwhipp | |||
dwhipp | thx | ||
pugs_svn | r24595 | ruoso++ | [smop] start to document how exceptions will work in SMOP | 15:33 | |
ruoso | pmurias, take a look at lowdoc/04 | 15:34 | |
15:36
maerzhase joined
|
|||
pmichaud | pugs: my $p = a => 2; say $p.perl; | 15:45 | |
p6eval | pugs: OUTPUT«\\("a", 2)» | ||
pmichaud | pugs: my @a = (a => 1, b=>2, c=>3); say @a.perl; | 15:46 | |
p6eval | pugs: OUTPUT«\(\("a", 1), \("b", 2), \("c", 3))» | ||
pmurias | ruoso: seems ok | 16:05 | |
ruoso: the ri language is defined by it's implementation in tool/ri | 16:07 | ||
* tools/ri | |||
16:07
ejs left
16:14
stephens joined
16:15
aindilis joined
16:16
iblechbot joined
|
|||
dwhipp | simple question: does Rakudo do coercion yet -- i.e. "5" as Int ... obviously that doesn't work, but maybe I'm getting the syntax wrong | 16:18 | |
16:21
alc joined
|
|||
pmichaud | +"5" works :-) | 16:26 | |
we don't implement 'as' yet, no. | 16:27 | ||
dwhipp | rakudo: my Int $a = +"5" | ||
p6eval | rakudo 34337: OUTPUT«Type mismatch in assignment.current instr.: 'die' pc 14690 (src/builtins/control.pir:204)» | 16:28 | |
pmichaud | hmm. | ||
it must think that +"5" is a Num. | |||
dwhipp | rakudo: my Num $a = +"5" | ||
p6eval | rakudo 34337: RESULT«5» | ||
dwhipp | rakudo: my Int $a = int +"5" | ||
p6eval | rakudo 34337: RESULT«5» | ||
pmichaud | we still have some work to do to get the Int/Num mapping straight. | ||
my Int $a = int "5" | |||
rakudo: my Int $a = int "5" | |||
p6eval | rakudo 34337: RESULT«5» | 16:29 | |
dwhipp | rakudo: my @values = <1 2 a b 3 c>.map: { /\D/ ?? ~$_ !! +$_ }; say @values.perl | 16:34 | |
p6eval | rakudo 34337: OUTPUT«["1", "2", "a", "b", "3", "c"]» | ||
pmichaud | I don't think rakudo recognizes /\D/ as an "immediate match" yet. | 16:35 | |
and it might need to be m/\D/ (but I still don't think rakudo recognizes that.) | |||
dwhipp | rakudo: my @values = <1 2 a b 3 c>.map: { $_ ~~ /\D/ ?? ~$_ !! +$_ }; say @values.perl | 16:36 | |
p6eval | rakudo 34337: OUTPUT«[1, 2, "a", "b", 3, "c"]» | ||
dwhipp | :-) | ||
pugs_svn | r24596 | pmichaud++ | [t/spec]: Remove a suspicious test. | 16:37 | |
rakudo_svn | r34338 | pmichaud++ | [rakudo]: Adjust Pair.perl . | 16:40 | |
16:47
pdcawley joined
17:09
ejs joined
17:18
alexn_org joined
|
|||
pugs_svn | r24597 | pmichaud++ | [t/spec]: Add test for list context and infix:<Z> | 17:25 | |
kidd | hi. I've just installed parrot feliz loro for first time. Is there any REPL to start messing with it? | ||
cspencer | kidd: as in a perl 6 REPL? | 17:26 | |
kidd | yup, or something like parrot -e 'say "foo"' | 17:28 | |
cspencer | sure | ||
switch into languages/perl6 | 17:29 | ||
and run "make perl6" | |||
kidd | ah, great. thanks | ||
cspencer | (assuming you've already built parrot) | ||
that should generate a perl6 binary that you can run as ./perl6 for a REPL or you can pass it a file to run | 17:32 | ||
kidd | I'm building it now. Thanks cspencer | 17:35 | |
cspencer | no problem :) | ||
17:36
ChrisDavaz left
17:37
ChrisDavaz joined
|
|||
dwhipp | rakudo: .say for <A B>.map: { [ .split("") ] } | 17:43 | |
p6eval | rakudo 34338: OUTPUT«AB» | ||
dwhipp | rakudo: .say for <A>.map: { [ .split("") ] } | ||
p6eval | rakudo 34338: OUTPUT«Method 'iterator' not found for invocant of class 'Str'current instr.: 'parrot;Any;map' pc 9625 (src/builtins/any-list.pir:228)» | ||
17:43
apeiron left
|
|||
pmichaud | dwhipp: there are a number of people (and some tests) that claim that .map should not work on scalars. (I disagree.) | 17:44 | |
in this instance, the complaint is essentially that Str doesn't have a .map method. | |||
dwhipp | actually, my complaint would be that <...> is a list constructor -- so shouldn't behave differently when quoting only one ele, | 17:46 | |
pmichaud | <...> is *not* a list constructor. | ||
<A> is same as ('A') | |||
which is a Str | |||
17:47
apeiron joined
|
|||
cspencer | should S05-substitution/[match | subst].t spec tests be failing at the moment? | 17:47 | |
pmichaud | cspencer: I don't think they should no. | ||
cspencer | hmmm, maybe i need a parrot rebuild then | ||
dwhipp | OK ... but it still causes a nasty edge case when passed one elem -- reduces scalability of code | 17:48 | |
pmichaud | dwhipp: which is why I think .map should treat a scalar as a list of one element. | ||
.join already does this. | |||
rakudo: say <A>.join('x'); | |||
p6eval | rakudo 34338: OUTPUT«A» | ||
pmichaud | rakudo: say <A B>.join('x'); | ||
p6eval | rakudo 34338: OUTPUT«AxB» | ||
pmichaud | rakudo: say <A B>.WHAT; | 17:49 | |
p6eval | rakudo 34338: OUTPUT«List» | ||
pmichaud | rakudo: say <A>.WHAT; | ||
p6eval | rakudo 34338: OUTPUT«Str» | ||
dwhipp | rakudo: say <A>.elems | 17:50 | |
p6eval | rakudo 34338: OUTPUT«1» | ||
pmichaud | I think I'll just go ahead and modify Rakudo's .map (and .grep and other list operators) to work that way, and adjust the tests to match. | ||
dwhipp | yup, I vote that it's a list of one elem | ||
pmichaud | I'm pretty sure that's the way TimToady was leaning | ||
but it'll come after lunch. | |||
18:02
alc left
18:03
icwiener joined
|
|||
cspencer | do patches to spectests get sent to a different address than perl6 patches? | 18:16 | |
or can they be bundled up into the same diff? | |||
dwhipp | rakudo: my @primes; for 2 .. 20 -> $n { @primes.push($n) unless $n % any(@primes)==0 }; .say for @primes | 18:18 | |
p6eval | rakudo 34338: OUTPUT«235711131719» | ||
dwhipp | sometimes p6 makes things too easy! | ||
18:21
azawawi joined
|
|||
azawawi | hi | 18:21 | |
cspencer | dwhipp: that's really nice! | ||
hi azawawi | 18:22 | ||
18:32
Psyche^ joined
18:47
araujo left,
Limbic_Region left,
azawawi left
|
|||
[particle]1 | cspenser: do you have a pugs commit bit? | 18:48 | |
18:48
Patterner left,
Psyche^ is now known as Patterner,
ejs left
|
|||
[particle]1 | you can commit the spectest changes directly | 18:48 | |
cspencer | particle: i don't, no | 18:49 | |
how does one apply for one of those? :) | |||
[particle]1 | give me your email address, and i give you one now :) | 18:51 | |
cspencer | sure: [email@hidden.address] | 18:53 | |
thanks! :) | |||
[particle]1 | the invite is on its way! | ||
cspencer | thank you very much! | ||
19:00
DemoFreak joined
|
|||
icwiener | Haha, I just head somebody talking about this "we don't accept patches, we grant commit access" thing. :D | 19:13 | |
TimToady | would you like a commit bit? | 19:14 | |
vixey | ♥ pugs | ||
TimToady | but do you ♥ Haskell? :D | ||
vixey | a little bit :) | ||
icwiener | No, I do not want a commit bit. It would make me one of those zero committers because I have no clue about language design... ;) | 19:16 | |
I could fix typos in comments though. :D | |||
19:16
iblechbot left
|
|||
TimToady | you don't need to have a clue about language design to write tests; you just need to know how to put the language through unexpected contortions, for which it's beneficial *not* to be a language designer | 19:17 | |
icwiener thinks ... | 19:20 | ||
Is there a little tutorial something that explains how to write tests? Or is looking at the existing tests the way to go? | 19:21 | ||
vixey | hm there's no way to reset your password for pugscode? | 19:22 | |
TimToady | vixey: we just send a new invite to do that | ||
you want that? | |||
vixey | yeah please | ||
.. again :(, I had to reset it before | |||
TimToady | what was your nick? | 19:23 | |
vixey | fax | ||
TimToady | still v.s@gmail? | 19:24 | |
vixey | yes | ||
TimToady | okay, sent, I suspect | 19:25 | |
vixey | that's it! thank you :) | ||
TimToady | icwiener: I'd just watch masak for a while, and then do the same thing. :) | 19:26 | |
icwiener | TimToady: Sounds good. :) | 19:27 | |
TimToady | but it's also valuable to point out places that are difficult to get into due to lack of docs | 19:28 | |
and everyone who documents their way in is helpful to the next person trying to get in | |||
anyway, if you /msg me an email address and a preferred nick, I can send you a commit bit | 19:29 | ||
then we can at least get any administrative obstructions out of the way... :) | 19:30 | ||
and there's a HOWTO doc in t/ | 19:31 | ||
19:33
bacek joined
|
|||
ruoso | TimToady, btw... I agree it's a little weird that we CATCH but don't throw | 19:34 | |
TimToady | so maybe just go with throw for now, esp if it's only a method | 19:35 | |
ruoso | right... but that doesn't solve the problem for control exceptions | 19:36 | |
because I presume we need two different functions to that, | |||
TimToady | throw can be generic | ||
ruoso | and it checks if $_ ~~ Failure? | ||
sounds a little bit boring to do that everytime | 19:37 | ||
when you have so clear difference between the scenarios | |||
TimToady | point | 19:38 | |
ruoso | 'abnormal flow' in one word? | ||
TimToady | well, .throwcontrol is dehuffmanized then | 19:40 | |
ruoso | well, it certainly is dehuffmanized, it's even de-pretty-ized | 19:41 | |
not to say ugly-ized | |||
:) | |||
TimToady | we want to encourage people to use goto instead :) | ||
ruoso | heh | ||
what about loose ?? | |||
heh | 19:42 | ||
TimToady | maybe even .throw_control_exception | ||
slightly less ugly | |||
ruoso | indeed | ||
well | |||
TimToady | I was thinking we try to avoid _ in builtins, but there's prefix_circumfix_meta_operator | 19:43 | |
ruoso | I was considering those as functions, not methods | ||
if we consider as methods, we can just use throw | |||
TimToady | THROW_CONTROL_EXCEPTION is really hard to type without capslock | ||
so maybe just give the CONTROL exceptions long names :) | 19:44 | ||
ruoso | I was assuming ControlException to be part of their name | ||
like ReturnControlException | |||
TimToady | something to be said for ControlException in front instead | ||
then you can line them up nicer | |||
ruoso | hm? | 19:45 | |
TimToady | ControlExceptionReturn | ||
ControlExceptionNext | |||
ControlExceptionLast | |||
ControlExceptionGoto | |||
ruoso | ok, got it... makes sense... | ||
so there's no fail()-like function for control exceptions | |||
and .throw is how you raise an exception by using its object | 19:46 | ||
(being Failure or Control Exception) | |||
pmichaud | .throw was my first thought when this came up. | ||
ruoso | I had my mind looking for functions, for some reason | ||
but making it as methods only makes much sense | 19:48 | ||
fail is a conveninence function, just like return | |||
ruoso later & (now I have no excuse to postpone implementing return in SMOP) | 19:52 | ||
pugs_svn | r24598 | schwarzer++ | first customary add yourself to the AUTHORS file test commit :) | 19:55 | |
TimToady | welcome aboard, icwiener++ | ||
19:57
dukeleto joined
19:59
dukeleto_ left
|
|||
pmurias finds it confusing when people have a different irc nick and svn user name | 20:06 | ||
TimToady makes a noise like a turnip | 20:08 | ||
20:10
pdcawley left
20:11
Eevee joined
|
|||
ruoso | pmurias, better for us, who get more karma ;) | 20:16 | |
20:22
azawawi joined
|
|||
pmichaud | turnips make noise? | 20:23 | |
azawawi | yeah turnips' noise ;-) | 20:24 | |
20:24
justatheory left
20:25
dukeleto_ joined
|
|||
azawawi thinks about getting a more cool nickname ;-) | 20:26 | ||
20:29
stephens left
|
|||
cspencer | if one creates a range as in: "$r = 1..10:by(2)", the the increment value available via: "$r.by" ? | 20:30 | |
pmichaud | I would think so. | 20:31 | |
pugs_svn | r24599 | pmurias++ | [smop] calling a argumentless perl5 subroutine works | ||
cspencer | ok | ||
pmichaud: i saw you'd noted that the vtable('get_string') method was wrong in Mapping.pir - do you recall what was wrong with it? | 20:32 | ||
pmichaud | it will cause .Str to not work for any subclasses of Mapping | ||
20:32
dukeleto left
|
|||
pmichaud | (that choose to override it) | 20:33 | |
cspencer | oh ok | ||
pmichaud | It's just a note to come back and fix it up later. | ||
cspencer | alright | ||
pmichaud | (also so that people don't blindly copy it to other classes w/o asking about it :-) | 20:34 | |
afk, shopping | |||
cspencer | later :) | 20:35 | |
icwiener | TimToady: Thank you. :) (a bit late due to a telephone call) | 20:38 | |
20:48
alexn_org left
20:50
adc_penner left
|
|||
dwhipp | rakudo: say "improper collapse" if 10 < (5|25) < 20 | 20:58 | |
p6eval | rakudo 34339: OUTPUT«improper collapse» | ||
21:21
mberends left,
mberends joined
|
|||
ruoso | Merry Christmas to you all, even if we didn't get the present we wanted this year, I'm pretty confident we're having christmass earlier next year... ;P | 21:23 | |
pmurias | merry christmas | 21:24 | |
vixey | hehe | 21:25 | |
pmurias relised he forgot to remove printf("DESTROY ALL HUMANS!!!n"); from P5Interpreter.DESTROYALL when commiting... ;) | 21:29 | ||
vixey | haha | ||
I don't think you are the only one writing things like this when testing :) | |||
pugs_svn | r24600 | hinrik++ | [util/perl6.vim] add Q[wx], q[wx] and qq[wx] | 21:30 | |
21:35
ejs joined
|
|||
rakudo_svn | r34340 | chromatic++ | [Rakudo] Fixed some compilation warnings in MultiSub PMC. | 21:40 | |
pugs_svn | r24601 | hinrik++ | [util/perl6.vim] recognize one adverb with Q[wx], q[wx] and qq[wx] | 21:44 | |
cspencer | should stringifying or calling .perl on a Range output the :by increment value? ie) "$r = 1..10; $r.perl.say" would produce "1..10:by(1)" Or should that only be output in cases where the :by isn't the default value? | 22:10 | |
pmichaud | I'd prefer to see it output :by only when not the default. | 22:16 | |
technically as long as it produces something that evals back to the same range, it's valid. | 22:17 | ||
pmurias | ruoso: what are the magic warn if refcounts are incorrect options? | ||
22:19
icwiener left
|
|||
cspencer | pmurias: good point | 22:22 | |
pugs_svn | r24602 | pmichaud++ | [t/spec]: Update map/grep/reduce/kv tests to work with scalar invocants. | ||
22:28
pmurias left
22:29
dwhipp left
|
|||
rakudo_svn | r34342 | pmichaud++ | [rakudo]: Fix $x.map to work as list of 1 element. | 22:30 | |
22:32
mberends left
|
|||
cspencer | pmichaud: i resubmitted that Range patch for infinite ranges | 22:34 | |
pugs_svn | r24603 | hinrik++ | [util/perl6.vim] allow any number of ignored adverbs after the first significant one | 22:52 | |
22:53
pdcawley joined
22:59
DemoFreak left
23:01
DemoFreak joined
23:02
lambdabot left
23:05
lambdabot joined
23:15
araujo joined
23:19
ejs left
23:27
pdcawley left
23:29
alech joined
23:32
plash_ joined,
plash_ left
23:36
DemoFreak left,
DemoFreak joined
23:47
ewilhelm_ left,
ewilhelm joined
23:56
vixey left
|