»ö« | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 25 June 2010. |
|||
00:00
sftp left
00:01
Psyche^ joined
00:02
Patterner left,
Psyche^ is now known as Patterner
00:11
masonkramer left
00:12
masonkramer joined
|
|||
pugssvn | r32106 | lwall++ | [S05] add explicit definitions of \h and \v | 00:13 | |
00:20
lest_away is now known as lestrrat,
hercynium left
|
|||
gfldex | std: sub i\ has\ a\ \space(){ say 'flap ' xx 3 }; i\ has\ a\ \space; | 00:21 | |
p6eval | std 32105: OUTPUT«===SORRY!===Malformed block at /tmp/ibthVZEnLa line 1:------> sub i\ ⏏has\ a\ \space(){ say 'flap ' xx 3 }; i\ expecting any of: new name to be defined routine_def traitParse failedFAILED 00:01 114m» | ||
gfldex | std: sub i\ has\ a\ space(){ say 'flap ' xx 3 }; i\ has\ a\ \space; | ||
TimToady | you can't just use unspace any old where; only where the difference between '' and ' ' is significant | 00:22 | |
p6eval | std 32105: OUTPUT«===SORRY!===Malformed block at /tmp/nkEgeJ913C line 1:------> sub i\ ⏏has\ a\ space(){ say 'flap ' xx 3 }; i\  expecting any of: new name to be defined routine_def traitParse failedFAILED 00:01 114m» | ||
gfldex | i c | ||
TimToady | such as before postfixes | ||
00:22
lichtkind left
|
|||
TimToady | and it won't glue tokens together for you | 00:22 | |
gfldex | how about uncommon unicode space(-likes)? | 00:25 | |
TimToady | all whitespace is equivalent that way, except for things explicitly tied to line transitions | ||
gfldex | I was thinking about poems. A space that isn't would be handy. :) | 00:27 | |
00:45
rgrau_ left
00:46
ruoso joined
00:47
sftp joined
00:56
dduncan joined,
dduncan left
01:11
_macdaddy left,
zeyata joined
01:23
hudnix left
01:36
azert0x left,
masonkramer left
01:39
meppl left
01:48
drbean joined
|
|||
colomon | phenny: tell patrickas See gist.github.com/550633 for a sketch more along the lines of what I was thinking. WARNING: code is untested, and almost certainly contains off-by-one errors and possibly boolean logic errors. | 01:48 | |
phenny | colomon: I'll pass that on when patrickas is around. | ||
01:50
calin left
01:53
petdance joined
02:07
whiteknight left
|
|||
colomon | rakudo: my $a = "this is a test"; say $a.trans("t" => "z"); | 02:13 | |
p6eval | rakudo 3a339e: OUTPUT«zhis is a zesz» | ||
colomon | rakudo: my $a = "this is a test"; $a .= chomp; say $a.trans("t" => "z"); | ||
p6eval | rakudo 3a339e: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected in main program body at line 22:/tmp/hF6jBkpSbt» | ||
colomon | bingo. | ||
rakudo: my $a = "this is a test"; $a .= chomp; say $a.PARROT | 02:15 | ||
p6eval | rakudo 3a339e: OUTPUT«String» | ||
colomon | rakudo: my $a = "this is a test"; say $a.PARROT | ||
p6eval | rakudo 3a339e: OUTPUT«Perl6Scalar->Str» | ||
colomon | rakudo: my $a = "this is a test"; $a .= chomp; say (~$a).PARROT | 02:16 | |
p6eval | rakudo 3a339e: OUTPUT«Str» | ||
02:18
s_mosher joined
|
|||
s_mosher | rakudo: [+] 1, 1|1, 1, 1|1, 1 | 02:19 | |
p6eval | rakudo 3a339e: ( no output ) | ||
s_mosher | rakudo: say([+] 1, 1|1, 1, 1|1, 1) | ||
p6eval | rakudo 3a339e: OUTPUT«any(any(5))» | ||
s_mosher | seems... suboptimal | 02:20 | |
does that create a penalty later? | |||
colomon | I'm sad to say I have no clue. | 02:24 | |
not sure anyone does, we're still trying to figure out what takes time / memory in Rakudo. | 02:25 | ||
s_mosher | yeah, I have no idea whether any(any(foo)) is much slower than any(foo) | 02:39 | |
I'm just afraid of the case where the reduction creates a very complicated junction to express something very simple | 02:40 | ||
ideally, should that even reduce to a junction at all? | 02:41 | ||
02:43
agentzh joined
|
|||
colomon | I'm not well-versed enough in junctions to say. It looks silly to me, but I don't know if there's a good reason for it. | 02:45 | |
plobsing | s_mosher: sure it costs a bit, but is it worth the effort to detect the special 1 element case, or the effort to detect the same-junction-within-a-junction case, or whether it is even allowed at all? If junctions become a big part of perl 6 programming (beyond simple checks, short expressions, etc), probably; otherwise probably not. | 02:47 | |
colomon | star: say 1|1 | ||
p6eval | star 2010.07: OUTPUT«any(1)» | ||
plobsing | rakudo: say ([+] 1, (2|1), 1, (1^2), 1) | ||
s_mosher | somehow I bet that's a common situation | ||
p6eval | rakudo 3a339e: OUTPUT«any(one(6, 7), one(5, 6))» | ||
s_mosher | plobsing, yes.. pragmatics with respect to junctions is sort of bewildering to me | 02:49 | |
plobsing | do junctions have an equivalent to .eager maybe? | ||
s_mosher | rakudo: my $a = sub ($a) {say $a}; $a(any(any(5,5), any(5,5))) | ||
p6eval | rakudo 3a339e: OUTPUT«55» | ||
tylercurtis | rakudo: say any(1, 2).list.perl # I wonder if you can do this. | 02:50 | |
s_mosher | that gets me every time, semantically it's flattened, but only once | ||
p6eval | rakudo 3a339e: OUTPUT«any(1, 2)» | ||
tylercurtis | It's supposed to autothread multiple times, if I correctly understand the spec. | 02:51 | |
So $a(any(any(5, 5), any(5, 5))) should be the same as any(any($a(5), $a(5)), any($a(5), $a(5))), I think. | 02:52 | ||
tylercurtis looks for the part of the spec that convinced him of that. | |||
s_mosher | I wouldn't be surprised if that's the case, but it looks like rakudo at least does some optimization there | 02:53 | |
I'm already convinced that junctions+side effects is madness | |||
oh I see what's going on | 02:54 | ||
rakudo: my $z = any(5,5) ; my $a = sub ($a) {say $a}; $a(any($z,$z)) | 02:55 | ||
p6eval | rakudo 3a339e: OUTPUT«5» | 02:56 | |
s_mosher | wait, nvm, $z is already any(5) by then | 02:58 | |
tylercurtis | rakudo: say any(any(1, 2), any(3, 4)) | 02:59 | |
p6eval | rakudo 3a339e: OUTPUT«any(any(1, 2), any(3, 4))» | ||
s_mosher | rakudo: my $z = any(5,6) ; my $a = sub ($a) {say $a}; $a(any($z,$z)) | ||
p6eval | rakudo 3a339e: OUTPUT«56» | 03:00 | |
tylercurtis | rakudo: &say(any(any(1, 2), any(3, 4))) | ||
p6eval | rakudo 3a339e: OUTPUT«any(any(1, 2), any(3, 4))» | ||
tylercurtis | rakudo: say.(any(any(1, 2), any(3, 4))) | ||
p6eval | rakudo 3a339e: OUTPUT«invoke() not implemented in class 'Boolean' in main program body at line 22:/tmp/AIpBLPIlZr» | ||
tylercurtis | rakudo: &say.(any(any(1, 2), any(3, 4))) | ||
p6eval | rakudo 3a339e: OUTPUT«any(any(1, 2), any(3, 4))» | ||
tylercurtis | rakudo: my &a = -> $a { say $a }; a any(any(1, 2), any(3, 4)) | 03:01 | |
p6eval | rakudo 3a339e: OUTPUT«any(any(1, 2), any(3, 4))» | ||
tylercurtis | rakudo: my &a = sub ($a) { say $a }; a any(any(1, 2), any(3, 4)) | ||
p6eval | rakudo 3a339e: OUTPUT«1234» | ||
tylercurtis understands now. | 03:02 | ||
Sorry about the p6eval spam everyone. | 03:03 | ||
03:07
justatheory joined
03:12
jaldhar joined
|
|||
colomon | tylercurtis++ | 03:13 | |
tylercurtis | colomon? | ||
colomon | I approve heartily of working things out with p6eval. | 03:14 | |
particularly when nothing much else is going on around here. | |||
03:14
zeyata left
03:19
sekimur__ joined
|
|||
tylercurtis | rakudo: multi foo(:$a) { say (:$a) }; multi foo(:$b) { say (:$b) }; foo :a<1>; foo :b<2> | 03:19 | |
p6eval | rakudo 3a339e: OUTPUT«a 1b 2» | ||
tylercurtis | That is very nice. | ||
03:20
sekimura_ left
03:31
shade\ left
03:32
jferrero left
03:36
shade\ joined
|
|||
tylercurtis | Is there a way to, given a Method, object, find the class? | 03:40 | |
I'm pretty sure it would be trivial to do trait_mod:<handles>(Method $m, $expr) if so. | 03:42 | ||
03:46
jferrero joined
03:47
\xF0 joined
|
|||
lue | how does Test.pm update that "status bar" at the bottom of the output when you run things like 'make spectest'? | 03:47 | |
03:48
bjarneh left
03:52
agentzh left,
agentzh joined
03:55
mikehh__ joined,
mikehh_ left
03:56
meppel joined
03:57
meppel is now known as meppl
|
|||
tylercurtis | TimToady: are the "class traits" referred to in S12:2170 actually traits or are they attributes of ClassHOW? E.g., can I do "class A is author('Tyler Curtis') { }" or "class A is parents([B]) is roles(E, F, G) { }" | 04:10 | |
04:10
jferrero left
|
|||
TimToady | a trait is just a declaration syntax. it can send its info anywhere that makes sense | 04:19 | |
04:20
molaf joined
|
|||
Tene | int is the native type of Int, so therefore any must be the native type of Any. ;) | 04:21 | |
tylercurtis | So, "is parents(...)" is valid? | ||
04:24
plobsing left
|
|||
tylercurtis | And if so, does it add or replace existing parents? | 04:24 | |
TimToady | that's up to whoever defines the trait | 04:25 | |
tylercurtis | With the standard Perl 6 MOP, should it add or replace existing parents? | 04:27 | |
TimToady | if the standard Perl 6 MOP, there is no such trait, as far as I know. | ||
only a method | |||
there is no standard behavior for traits. they can do anything they jolly well please | 04:28 | ||
tylercurtis | It's one of the "class traits" mentioned in S12 I was asking about. | ||
TimToady | that's not using traits in the 'is foo' sense, I think | 04:29 | |
tylercurtis | I didn't think so. :) Thanks for clearing that up for me. | 04:30 | |
TimToady | a lot of 'is foo' traits do end up setting an attribute .foo somewhere, but there's no guarantee | 04:31 | |
and certainly that list of "traits" predates most of the MOP work in Perl, including Moose | 04:32 | ||
that was in there pretty much that way in, say, 2004 | 04:33 | ||
or so | |||
04:34
molaf left
|
|||
tylercurtis | Good to know. | 04:35 | |
04:45
am0c^ joined
04:49
Sarten-X left
04:57
Sarten-X joined
|
|||
TimToady | Hah! Look at the second Perl 6 solution in rosettacode.org/wiki/Find_the_missi...ermutation | 04:59 | |
tylercurtis | Wow. | 05:03 | |
TimToady | 'course, it wouldn't work if they wanted two missing permutations... | 05:04 | |
05:11
kaare joined,
kaare is now known as Guest10032
05:13
petdance left
05:16
wolverian left
05:17
meppl left
05:28
ppant joined
05:34
hercynium joined
05:46
justatheory left
05:59
guidj0s joined
06:03
Su-Shee joined
06:04
drbean left
06:05
uniejo joined,
snearch joined
06:10
wtw joined
|
|||
sorear | hello #perl6 | 06:27 | |
s_mosher: IMO, junctions don't actually exist at runtime. They're still in the "not 100% understood" bracket, though they work fairly well in rakudo | 06:29 | ||
tylercurtis: Did you have some specific context in "wow niecza has threads" in mind? | 06:30 | ||
tylercurtis | sorear: Not really. I just saw Threads.pm6 and played with it a bit. | 06:31 | |
sorear | It would probably be a lot better with bindings to Monitor.pulse and Monitor.wait | 06:32 | |
guidj0s | .part | ||
06:32
guidj0s left
06:33
dju_ left
06:51
mberends left
|
|||
sorear | linux-- # typo in niecza caused infinite recursion and firefox-bin got the short end of the overcommit | 06:57 | |
07:09
tylercurtis left
07:11
drbean joined
07:13
zag joined
|
|||
sorear | std: my $foo; &$foo; | 07:14 | |
p6eval | std 32106: OUTPUT«ok 00:03 119m» | ||
sorear | TimToady: What does the coercion &$foo do? | ||
07:15
synth left
|
|||
sorear | yay! I finally found the "Unicode white space" definition | 07:35 | |
moritz_ | good morning | 07:36 | |
TiMBuS | rakudo: say defined my @a | 07:43 | |
p6eval | rakudo 3a339e: OUTPUT«1» | 07:44 | |
TiMBuS | rakudo: say defined my Array $a | 07:45 | |
p6eval | rakudo 3a339e: OUTPUT«0» | ||
moritz_ | (830 out of 1001 lines of mandelbrot rendered. still below 200M virt. mem.) | 07:46 | |
sorear | moritz_: how many hours? | ||
moritz_ | sorear: 13 elapsed | 07:47 | |
07:50
jedai_ joined
07:53
jedai left
08:06
cls_bsd left
08:07
cls_bsd joined
|
|||
moritz_ | wow, www.selfseo.com/check_google_pagerank.php says that www.perl6.org has a pagerank of 7 | 08:10 | |
sorear | out of? | 08:11 | |
moritz_ | 10 (log scale) | ||
sorear isn't suprised | |||
moritz_ | www.perl.org has 8 | 08:12 | |
08:13
ejs joined,
mikehh__ is now known as mikehh
|
|||
pugssvn | r32107 | azawawi++ | [std_hilite] Fixed broken STD highlighter | 08:14 | |
dalek | ecza: 198aa14 | sorear++ | src/RxOp.pm: Fix infinite recursion in || in methods |
08:15 | |
ecza: 4d0f5db | sorear++ | / (2 files): Implement contextualizing @$foo syntax |
|||
08:23
tadzik joined
|
|||
tadzik | g'morning | 08:23 | |
moritz_ | niecza now has another feature that rakudo lacks | ||
@$foo | |||
08:27
HarryS left
08:31
redicaps joined
08:32
thebird joined
08:34
dakkar joined
08:36
snearch left
08:38
HarryS joined
|
|||
sorear | rakudo lacks that? | 08:41 | |
it took like 10 minutes to add | |||
moritz_ | I kinda guess jnthn++ could add it in 10 minutes too | 08:42 | |
sorear | why only jnthn? | 08:43 | |
it's nothing more than funny syntax for a method call | |||
moritz_ | because I alwys screw up PAST :-) | 08:44 | |
08:47
redicaps left
08:53
Khisanth left
08:54
Khisanth joined
|
|||
sorear | colomon: what is 'SF'? | 08:57 | |
08:58
tadzik left
09:01
HarryS left
09:02
HarryS joined
09:03
am0c^ left
09:05
am0c^ joined
09:11
tadzik joined,
timbunce joined
|
|||
dalek | p-rx: 83747bd | bacek++ | / (2 files): Don't put named (slurpy) parameters into multi-signature. Closes TT #1736 |
09:15 | |
09:19
ppant left,
drbean left
|
|||
smash_ | mornin' | 09:22 | |
09:33
wolverian joined
|
|||
tadzik | oh hai | 09:37 | |
09:40
redicaps joined
09:41
redicaps left
|
|||
dalek | ecza: ebb3fc7 | sorear++ | src/RxOp.pm: Fix sharing bug in SeqAlt |
09:44 | |
ecza: a8f84cb | sorear++ | / (6 files): Implement <before> and family |
|||
09:47
am0c^ left
|
|||
sorear | Is there any difference between my $x = foo; and my ($x) = foo; in perl 6? | 09:48 | |
sorear out. | 09:49 | ||
09:56
azert0x joined
09:59
masak joined
|
|||
tadzik | yayitsmasak! | 09:59 | |
masak | \o/ | ||
snarkyboojum | masak o/ | ||
moritz_ | ohlol | ||
masak | hi, snarkyboojum, tadzik, moritz_ | ||
10:00
dakkar left
|
|||
snarkyboojum is chatting on his n900 #w00t | 10:00 | ||
10:01
dakkar joined
|
|||
moritz_ | (928/1001 rows mandelbrot calculated, 15h elapsed) | 10:02 | |
snarkyboojum | woah :) | 10:03 | |
tadzik | that's a hell of a benchmark :) | 10:05 | |
snarkyboojum | or benchmark hell :) | ||
moritz_ | more of a celebration that The Big Memory Leak is gone | 10:08 | |
afk | |||
snarkyboojum | moritz_, which codebase? | ||
moritz_ | snarkyboojum: rakudo | 10:09 | |
snarkyboojum | i.e. mandlebrot code? | ||
moritz_ | github/colomon/mandelbrot | ||
snarkyboojum | thanks | 10:10 | |
moritz_ | really afk | ||
10:27
zulon joined
10:31
lestrrat is now known as lest_away
|
|||
colomon | I've been meaning to sit down and write a version of mandelbrot which uses C-style loops, just to see how much faster it is. | 10:38 | |
masak | as in loop (my $i = 0; $i < MAX; ++$i) ? | 10:43 | |
colomon | yes | 10:45 | |
10:45
ruoso left
10:47
agentzh left
|
|||
masak | it will be much faster. | 10:55 | |
as I understand it, there's a slowdown exponential on the depth of iterator loops. | |||
bbkr | rakudo: $_ = ""; say s:g/{ $_ = 1 }/X/ # another weird case. code is doing nothing useful. but assigning to $_ in {} block multiplies substitutions. why? a bug? | 10:58 | |
p6eval | rakudo 3a339e: OUTPUT«X1X» | 10:59 | |
colomon | "slowdown exponential"? | ||
for sure, iterators are slower than they should be. | |||
masak | colomon: 'slowdown (which is) exponential' | ||
colomon: tried to cram too much into that sentence | 11:00 | ||
colomon | literally exponential on the depth? | ||
masak | colomon: well, consider what happens. | ||
colomon: each single iteration causes a slowdown. | |||
colomon: the inner loops are iterated some N times for each outer loop iteration. | 11:01 | ||
ad nauseam. | |||
colomon | ah, I see what you're saying, I think. | 11:02 | |
masak | rakudo: for 1..4 { print "X"; for 1..4 { print "Y" } } | ||
p6eval | rakudo 3a339e: OUTPUT«XYYYYXYYYYXYYYYXYYYY» | ||
masak | that's all I'm saying, really. | ||
11:09
wamba joined
11:10
barika left,
timbunce_ joined
11:11
BaggioKwok joined
11:12
shade\ left
11:13
timbunce left,
timbunce_ is now known as timbunce
|
|||
masak | rakudo: for 1..4 { print "X"; for 1..4 { print "Y"; for 1..4 { print "Z" } } } | 11:16 | |
p6eval | rakudo 3a339e: OUTPUT«XYZZZZYZZZZYZZZZYZZZZXYZZZZYZZZZYZZZZYZZZZXYZZZZYZZZZYZZZZYZZZZXYZZZZYZZZZYZZZZYZZZZ» | ||
masak | since the slowdown occurs right before a letter is printed (in the iteration of the loop), it's exponential compared to the depth of nested loops. | ||
11:16
shade\ joined
11:22
daxim joined
|
|||
masak | TimToady: in that rosettacode solution with the missing permutation, you do infix:<~^> on Str. doesn't that presuppose that these Str objects know their byte encoding? in which situations can this be assumed? | 11:27 | |
rakudo: say "ABC" ~^ "BCC" | 11:28 | ||
p6eval | rakudo 3a339e: OUTPUT« | ||
masak notices that ~| ~& ~^ are defined for arbitrary scalars in Rakudo | 11:30 | ||
I didn't see this during my GSoC grant. | |||
I think we need to define more clearly here what's allowed and what's not. | |||
11:32
arnsholt joined
|
|||
x3nU | there's still no r*? ;f | 11:33 | |
masak | x3nU: there's one from last month. | 11:34 | |
11:34
BaggioKwok left
11:35
envi^home joined
|
|||
x3nU | yeah, i know but i was thinking about 2010.08 | 11:35 | |
masak | aye. I think we're all expectantly waiting for that one. | 11:36 | |
11:36
shade\ left
11:38
shade\ joined
|
|||
moritz_ | \o/ mandelbrot finished | 11:44 | |
masak | \o/ | 11:46 | |
gfldex | \o/ | ||
masak | what would the following script print? sub x($y) { class A { method foo { say $y } } }; A.foo; x(1); A.foo; x(2); A.foo | 11:47 | |
11:48
envi^home left
|
|||
moritz_ | Any\nAny\nAny\n | 11:48 | |
masak | in other words, a class doesn't rebind when its surrounding lexpad is renewed. | ||
moritz_ | at the time A.foo is called, the outer $y never has a defined value | 11:49 | |
masak | huh? so putting the A.foo call inside &x changes the picture? | ||
moritz_ | I'd think so | 11:50 | |
masak | that's... insane. | ||
moritz_ | not quite | ||
hm | |||
or maybe it is | |||
masak | I maintain that it is. | ||
moritz_ | rakudo: sub x($y) { class A { method foo { say $y } } }; A.foo; x(1); A.foo; x(2); A.foo | ||
p6eval | rakudo 3a339e: OUTPUT«Lexical '$y' not found in 'A::foo' at line 22:/tmp/1Y0Vldqy4T in main program body at line 22:/tmp/1Y0Vldqy4T» | ||
moritz_ | I haven't spent as much thought on it as you | ||
masak | Rakudo is most certainly wrong in this respect. | 11:51 | |
moritz_ | it is | ||
perlgeek.de/images/blog/mandel-color.png btw | |||
11:51
envi^home joined
|
|||
masak | pretty. | 11:51 | |
tadzik | Perl 6 did this? | 11:53 | |
masak | as a contrast, I think this would print "Any()\n1\n2": sub x($y) { our sub a { say $y } }; a; x(1); a; x(2); a | ||
moritz_ | tadzik: yes | ||
tadzik: blog post will be up soon | 11:54 | ||
masak | moritz_++ | ||
rakudo: sub x($y) { our sub a { say $y } }; a; x(1); a; x(2); a | |||
tadzik | awesome! | ||
p6eval | rakudo 3a339e: OUTPUT«Null PMC access in type() in 'a' at line 22:/tmp/QS_20Kzh4v in main program body at line 22:/tmp/QS_20Kzh4v» | ||
tadzik | moritz_++ colomon++ | ||
masak | 's been RT's already. | ||
pugs: sub x($y) { our sub a { say $y } }; a; x(1); a; x(2); a | |||
11:54
lest_away is now known as lestrrat
|
|||
p6eval | pugs: OUTPUT«» | 11:54 | |
masak | Pugs-- | ||
niecza: sub x($y) { our sub a { say $y } }; a; x(1); a; x(2); a | |||
p6eval | niecza a8f84cb: OUTPUT«===SORRY!===Package subs NYI at /tmp/QleWs2xAZJ line 1:------> sub x($y) { our sub a { say $y } ⏏}; a; x(1); a; x(2); aPotential difficulties: &a is declared but not used at /tmp/QleWs2xAZJ line 1:------> sub x($y) { our sub | ||
..a⏏[… | |||
moritz_ | lollipop... erm.. you know, github.com/colomon/mandelbrot/ | 11:55 | |
niecza++ | |||
masak | I'm thinking about how to add this to Yapsi. | ||
moritz_ | erm, wrong url | 11:56 | |
perlgeek.de/blog-en/perl-6/rakudo-m....writeback | |||
masak | \o/ moritz_++ | ||
this looks like a nice read: lamp.epfl.ch/~odersky/blogs/isscalacomplex.html | 11:57 | ||
tadzik | this blog post is awesome | 11:59 | |
szbalint | it has shiny pictures | 12:00 | |
of course it's awesome! | |||
masak | if there's something I've learned while blogging, it's that shiny pictures make people pay attention. | 12:01 | |
tadzik | the point is aweseome. Once I saw the duplo and technik at the end, I was like "I see what you did there" | ||
moritz_ | we could s:ii/scala/perl 6/ in there, and be happy | ||
tadzik | maybe no one will notice | ||
moritz_ | s:g:ii/scala/perl 6/ actually | ||
masak | :) | 12:02 | |
tadzik | I wonder how keyword number comparison will come out | ||
moritz_ | well, perl 6... 1 | ||
TimToady usually says that Perl 6 has no keywords, but I disagree | |||
rakudo: my $x = sub() { say 2 }; $xx() | 12:03 | ||
rakudo: my $x = sub() { say 2 }; $x() | |||
p6eval | rakudo 3a339e: OUTPUT«===SORRY!===Confused at line 22, near "my $x = su"» | ||
moritz_ | rakudo: my $x = sub () { say 2 }; $x() | ||
p6eval | rakudo 3a339e: OUTPUT«2» | ||
moritz_ | hm, I'm kinda sure that used to work | ||
anyway, counting keywords in Perl 6 is rather hard/pointless | |||
for example return() is simle function | 12:04 | ||
masak | Perl 6 has no keywords :P | ||
moritz_ | I guess it kinda depends on how you define "keyword" | ||
if you mean in the sense of "reserved word", I agree | 12:05 | ||
if you mean in the sense "the parser has to know about this word", then we do have keywords | |||
masak | nod. | 12:06 | |
rakudo: sub() {} | 12:08 | ||
p6eval | rakudo 3a339e: OUTPUT«===SORRY!===Confused at line 22, near "sub() {}"» | ||
masak submits rakudobug | |||
std: sub() {} | 12:09 | ||
p6eval | std 32107: OUTPUT«===SORRY!===Word 'sub' interpreted as 'sub()' function call; please use whitespace around the parens at /tmp/GKUb3wpUVi line 1:------> sub⏏() {}Unexpected block in infix position (two terms in a row) at /tmp/GKUb3wpUVi line 1:------> | ||
..su… | |||
masak | oh. | ||
12:10
drake1 joined
|
|||
moritz_ | if we already know what the user means, why don't we just parse it tha way? | 12:11 | |
(yes, I know, consistency...) | |||
still it feels a bit smartass | |||
masak | I agree. | ||
also, sub foo() is allowed. | 12:12 | ||
drake1 | hi again, when you hash substitute in a perl6 here-doc like pastebin.ca/1925830 in perl5, then whats the parse modes? | ||
moritz_ | rakudo: sub foo() { }; sub sub(&a) { a() }; sub foo { say 42 } | 12:13 | |
p6eval | rakudo 3a339e: OUTPUT«===SORRY!===Can not re-declare sub &foo without declaring it multi at line 22, near ""» | ||
moritz_ | rakudo: sub foo(&a) {a() }; sub sub() { a() }; sub foo { say 42 } | 12:14 | |
p6eval | rakudo 3a339e: OUTPUT«===SORRY!===Can not re-declare sub &foo without declaring it multi at line 22, near ""» | ||
moritz_ | std: sub foo(&a) {a() }; sub sub() { a() }; sub foo { say 42 } | ||
p6eval | std 32107: OUTPUT«===SORRY!===Illegal redeclaration of routine 'foo' (see line 1) at /tmp/Ypa2dXni5p line 1:------> o(&a) {a() }; sub sub() { a() }; sub foo⏏ { say 42 }Undeclared routine: 'a' used at line 1Check failedFAILED 00:03 120m» | ||
masak | drake1: in a qq string, all $ variables are interpolated, and all other variables if they end in () or [] or {} or <> | ||
moritz_ | hey, it's a perfectly valid call to sub(foo({say 42})) | ||
12:14
plainhao joined
|
|||
masak | :) | 12:14 | |
moritz_: actually, I agree with Rakudo there. | 12:15 | ||
moritz_: if you use 'sub' without parens, you mean sub declaration. | |||
or should mean it, at least :) | |||
moritz_ | yes, I know | ||
drake1 | masak: naturally | 12:16 | |
moritz_ | fwiw, perlgeek.de/en/article/5-to-6 also explains the difference in interpolation | 12:17 | |
</advertise> | |||
masak | drake1: so, for example, the '@' in [email@hidden.address] is not interpolated. | ||
12:18
barika joined
|
|||
pmichaud | good morning, #perl6 | 12:18 | |
masak | morning, pm | ||
pmichaud: there are people asking about R*+1 | |||
pmichaud | it's coming. I lost computer access yesterday evening. | ||
masak | ok. | ||
12:19
bluescreen joined
|
|||
moritz_ wonders how much spam example.com would get, if they had an MX record :-) | 12:20 | ||
12:20
bluescreen is now known as Guest15482
|
|||
drake1 | a bit woman alike to use 44 fds, better get back to 4 | 12:22 | |
perl6 supports $cmd{title} in heredocs? | 12:25 | ||
masak | no barewords in {} | ||
use <> for that. | 12:26 | ||
but yes, it does. | |||
12:26
drbean joined
|
|||
masak | though Rakudo doesn't support heredocs. | 12:26 | |
drake1 | ok | ||
12:27
drake1 left
|
|||
masak | ooh, S06 says that you can do 'is dynamic' on subs, and lose the &* twigil. | 12:28 | |
I honestly don't see how that'd work. | |||
oh, ah. you still have to invoke it with the twigil. never mind. | 12:29 | ||
12:29
drake1 joined
|
|||
drake1 | just had to kill the king . so in perl6 it's $<title> for the title of $_ ? | 12:30 | |
pmichaud | that'd be $_<title> | ||
masak | no, the short form of $_<title> is .<title> | ||
drake1 | ok | ||
oh | |||
pmichaud | or .<title>, yes. | ||
drake1 | nice | ||
masak | it *is* nice :) | 12:31 | |
drake1 | very | ||
masak | drake1: $<title> is when you start doing grammar stuff. | ||
drake1 | ok | ||
12:31
drake1 left
12:35
drake1 joined
|
|||
drake1 | then I needed a shell an pushed the Halt! button instead | 12:35 | |
moritz_ | halt: must be superuser. | ||
12:36
cjk101010 joined
|
|||
drake1 | this halt command can be used by any user | 12:36 | |
{ title=>"Halt!", cmd => "shutdown -s -t 00" }, | 12:37 | ||
); # it's windows | |||
pmichaud | weird | ||
drake1 | yes | 12:38 | |
pmichaud | the tarballs for the 2010.08 release end up being 2x the size of the 2010.07 release | ||
masak | why? | ||
pmichaud | I don't know. | 12:39 | |
looking into that now...I just noticed it. | |||
12:40
javs joined
|
|||
pmichaud | oh, looks like the .git dirs are making it into the tarball somehow. | 12:40 | |
moritz_ | do we include all those .git dirsß | ||
pmichaud | normally, no. | ||
moritz_ | s/ß/?/ but too slow :-) | ||
pmichaud | something isn't eliminating them properly, I guess. | ||
drake1 | something like pastebin.ca/1925851 in perl6 ? | ||
moritz_ | find -name .git | xargs rm -rf | ||
I like the ` | xargs rm -rf` pattern :-) | 12:41 | ||
masak | drake1: no, $.<title> means yet another thing :) | ||
huf | and then it breaks hard if any dir has a space in the name ;) | ||
masak | drake1: it means 'self.title' | ||
moritz_ | drake1: are you mixing shell and perl syntax? | ||
std: $.<foo> | 12:42 | ||
p6eval | std 32107: OUTPUT«===SORRY!===Bogus statement at /tmp/irtwZJkJvc line 1:------> <BOL>⏏$.<foo>Parse failedFAILED 00:01 117m» | ||
moritz_ | masak: not allowed with <> | ||
masak | oh wait. right. | ||
drake1 | moritz_: yes of course | ||
moritz_: or else how would perl get ideas | |||
masak | drake1: simplest is probably to write $_<title> there | ||
moritz_ | drake1: by writing perl code | ||
drake1 | ok | ||
sometimes it's way too hard to work with parallel processes in perl | 12:43 | ||
12:43
macroron joined
|
|||
drake1 | then it's good with a shell | 12:43 | |
moritz_ | but then you just start a program | ||
which itself is pure perl or $other_prgoramming_language | |||
drake1 | it's one of the @cmd bins | 12:44 | |
then what about pastebin.ca/1925854 ? | 12:45 | ||
pmichaud | Aha. Someone patched star's makefile such that it's now including the .git dirs. | ||
Fixing. | |||
moritz_ | drake1: that's still not valid syntax in any programming language I knwo | ||
masak | drake1: how about actually running the program to see if it works? | ||
drake1 | pastebin.ca/1925855 sry, forgot the first `dot' dereference | ||
pmichaud | yay, back down to 5.3MB | 12:46 | |
drake1 | masak: it runs with some other languages | ||
masak | drake1: I'm no longer sure what it is you want to accomplish. | ||
drake1: I thought you were writing a Perl 6 program. now it seems you're not. | 12:47 | ||
moritz_ | drake1: I'm firmly convinced that the only way to learn a language is to write programs in it, run the programs, debug and extend them | ||
colomon | moritz_: you should have said how long it took to do that mandelbrot. (Or perhaps not, for P.R.'s sake!) | 12:48 | |
masak | to his credit, drake1++ is actually doing the first step :) | ||
takadonet | morning all | ||
moritz_ | colomon: perhaps not :-) | ||
drake1 | moritz_: usually I make the drawing and write it with no mistakes | ||
huf | drawing? | ||
drake1 | except in perl . perl has too many features to get right the first time | ||
masak | drake1: with all due respect, that's not how programming works. | ||
moritz_ | drake1: that's impressive, and highly unsual, for any non-trivial program | ||
drake1 | huf: you know like mental reasoning | ||
masak | drake1: the goal isn't to write it the dirst time with no mistakes. | 12:49 | |
huf | drake1: as opposed to what kind of reasoning? | ||
masak | drake1: the goal is to get the code to do what you want. that's usually an iterative process. | ||
drake1 | masak: yes | ||
masak | glad we agree :) | ||
huf | i rarely know what my code will want when it's done | ||
at best i have a vague idea | |||
drake1 | this time around Im much better at C, because it's a lot more simple | 12:50 | |
easy to generate with grammar scripts etc | |||
huf | the difficulty is pushed elsewhere | ||
you can never get rid of it | |||
drake1 | when working with strange libraries, however, I prefer a language like perl to "package" them | 12:51 | |
and to play with them | |||
smash_ | pmichaud: hi, any easy way to look at nqp-rx ocnfiguration while running 'make test' ? | 12:52 | |
pmichaud | ...nqp-rx configuration? | ||
12:52
masonkramer joined,
kcwu joined
|
|||
pmichaud | what exactly is that? | 12:52 | |
(what are you wanting to look for?) | 12:53 | ||
smash_ | let me re·phrase that, i want to look at the makefile that was used to build nqp-rx | ||
moritz_ | why? | ||
smash_ | because i want to skip a test if i _don't_have ICU | 12:54 | |
instead of a having a test failure | |||
moritz_ | rakudo: say $*VM<config><has_icu> | ||
p6eval | rakudo 3a339e: OUTPUT«1» | ||
moritz_ | you can get that information from PIR too | 12:55 | |
pmichaud | I'm guessing this has to do with the p6regex tests moving into the standard "make test" target. | ||
moritz_ | see src/cheats/process.pm lines 18 etc. in rakudo | ||
pmichaud | smash_: which test(s) are failing? | 12:56 | |
smash_ | i get the test fail in nqp-rx testing !! not rakudo | ||
(probably this is not the correctly irc channel for this discussion) | |||
(my bad) | 12:57 | ||
pmichaud | smash_: no, it's the correct channel | ||
moritz_ | smash_: the code I pointed you to in Rakudo works in nqp-rx too | ||
pmichaud | .oO(why am I being ignored?) |
||
moritz_ | pmichaud: you're just the pumpking; why should you have something to say? :-) | 12:58 | |
smash_ | t/nqp/46-charspec.t fails | ||
pmichaud | ah yes, that one would fail. | ||
masak | moritz_: [Coke] says on #parrot that jnthn should've gotten credit too for the memory leak fix. :) | ||
drake1 | the working perl5 version is pastebin.ca/1925862 | 12:59 | |
pmichaud | smash_: instead of looking at the Makefile, it would be better to check the parrot configuration directly | ||
smash_ | pmichaud: yes yes, true | ||
moritz_ | which I've been trying to explain | ||
13:01
ejs left,
Guest10032 left
|
|||
smash_ | moritz_: yeap, looking at what you pointed out, thank you | 13:01 | |
drake1 | pastebin.ca/1925867 has some more of it | 13:02 | |
pmichaud | I've uploaded the R*+1 tarball to github... but I have to leave now and don't have time to post the announcement. :-( | 13:03 | |
If someone else gets to it before me, great -- otherwise it'll be ~3h before I can do it. | |||
13:03
PZt left
|
|||
pmichaud | (the announcement is in the star repo as well as in the tarball) | 13:05 | |
13:05
Holy_Cow joined,
mtrg left
|
|||
drake1 | when all the IPC messages are good in strings for perl, they're easy to specify in a binary form instead | 13:06 | |
13:08
orafu left
13:09
orafu joined
13:11
go|dfish left
13:17
zulon left
|
|||
pmichaud | wow, temp here finally dropped below 25C in August | 13:17 | |
smash_ | pmichaud: 'All tests successful.' for the rakudo-star-2010.08 tarball | 13:20 | |
pmichaud | \o/ thanks | ||
13:27
PZt joined
|
|||
drake1 | ah it's perfect weather today, better get trippin' :-) . Keep up great work. Bye | 13:28 | |
13:28
drake1 left
13:29
tadzik left
|
|||
PerlJam | today is weird. | 13:29 | |
Ordinarily I see "perl 6" tweets via google reader. Every. Day. | 13:30 | ||
Today -- none | |||
masak | PerlJam: I see them in my client. | 13:32 | |
PerlJam | Hrm. clearly there are new tweets, my client must be having some sort of hiccup because it doesn't show that there are any new ones since I checked last night. | 13:33 | |
13:35
zulon joined
13:44
uniejo left
|
|||
smash_ | ahh, i need to skip the test before actually loading it :) | 13:52 | |
13:53
zag left
13:56
ruoso joined
13:59
Mowah joined,
zulon left
14:00
drbean left
14:01
tadzik joined
|
|||
tadzik | hello again | 14:01 | |
moritz_ | www.reddit.com/r/programming/commen...uage_wars/ wow, people really have problems accepting the truth in there | 14:03 | |
huf | it's reddit, and hib0u has already turned up | 14:04 | |
what do you expect? :D | |||
tadzik | There was 7 upvotes/0 downvotes for the first half an hour, turned out to what you see in another one | ||
my suspicion is that it took more time for pythoners to read, as the text did not contain too many useless whitespace | 14:05 | ||
huf | now now, let's not sink to their level | ||
fud and uninformed flaming is for python users :D | 14:06 | ||
tadzik | (: | 14:07 | |
masak | more likely is that it was linked here and upvoted first, and that later a more general (and less receptive) audience found it and downvoted. | 14:08 | |
slavik | GIL is silly and retarded | ||
14:09
risou joined,
Guest23195 joined
|
|||
tadzik | GIL? | 14:10 | |
PerlJam | Global Interpreter Lock | 14:12 | |
moritz_ | Golymorphic Inline Lache | ||
masak | Gloop Intervening Leach | ||
moritz_ | Gree Itter Lacronyme | 14:13 | |
masak | obviously, we're running out of Gree Itter Lacronyms. | ||
PerlJam | Glycol Imbibed Loftily | 14:14 | |
Garbage Incinerated Lazily | |||
huf | GIL Is Lame | 14:15 | |
PerlJam | huf++ | ||
dalek | kudo: df38ac1 | moritz++ | build/PARROT_REVISION: bump PARROT_REVISION for testing, and to get some few parrot speedups |
||
moritz_ | btw perl6.org/page-stats shows an impressive R* peak :-) | ||
huf | PerlJam: does that work nice and lazy in perl6 btw? :) | ||
szbalint | Guard It Lazily | ||
moritz_ | szbalint++ # /me likes it | 14:16 | |
PerlJam | Guido Is Laconic | ||
tadzik | are there any funny new speedups? | 14:17 | |
masak | I don't think "funny" is the word you're looking for. :) | 14:23 | |
"badly needed", perhaps. | |||
tadzik | so what are those? :) | 14:25 | |
masak | his HIB0U fellow on proggit is one of the few people whose troll attempts have an effect on me. guy's good. | 14:30 | |
tadzik | he claims being a Perlist, even sits on r/perl and trolling there | 14:31 | |
14:31
wtw left
|
|||
masak | love the comeback www.reddit.com/r/programming/commen...rs/c0xqlcm -- tadzik++ | 14:31 | |
moritz_ | masak: he also trolls ruby folks, fwiw | 14:32 | |
masak | moritz_: doesn't make me like him more. | ||
tadzik | masak: that'd probably cause him to troll even more, but I could not resist | ||
masak | tadzik: from a moral high-ground perspective, it's a good reply. | 14:33 | |
huf | if you look at his comment history, he's not a very nice person in any subreddit | ||
masak | it's more directed to people who listen in than to him. | ||
tadzik | we should write an awesome Cardinal, work together on parrot and teach this bastards some respect ];> | ||
huf | but his trolling efforts are concentrated in proggit ;) | ||
tadzik | the most traffic is there | ||
araujo | any idea for a nice name for a "function composition" name ? | 14:37 | |
moritz_ | compose() ? | ||
=>> | 14:39 | ||
masak | ~~>>!!~~ | 14:41 | |
14:42
envi^home left,
ruoso left
|
|||
masak | araujo: o | 14:42 | |
as in, f o g | |||
smash_ | masak: excelent :) | 14:45 | |
masak | module-ending '1;' is gone from Perl 6, right? :) | ||
moritz_ | infix:<o> | ||
masak: right | |||
masak | because I just told someone on Twitter that it is. | ||
tadzik | fedoraproject.org/wiki/Releases/14/FeatureList -- Rakudo Star on the list :) | 14:46 | |
masak | I don't remember ever writing it :P | ||
14:46
envi^home joined,
colomon left
|
|||
tadzik | fedoraproject.org/wiki/Features/Rakudo_Star -- more info | 14:47 | |
maybe it's worth taking a look at Fedore | |||
it'll be good to poke them and show Rakudo Star releases happen quite often | 14:48 | ||
oh ok, they know | |||
14:52
hudnix joined
14:53
plobsing joined
|
|||
daxim | build.opensuse.org/package/binarie...nSUSE_11.3 | 14:55 | |
the specfile was a heroic effort without destdir | |||
moritz_ | gerd pokorra, who also did some parrot relases, takes care of the Fedora packages | 14:56 | |
araujo | masak, mmm o ... mm.. nice | 15:00 | |
:) | |||
15:01
colomon joined
15:03
ash_ joined
15:06
masak left
15:07
bjarneh joined
|
|||
tadzik | why does Rakudo generate so much PIR? Hello world is 109 lines, I found 4 which are actually printing a String | 15:11 | |
szbalint | A hello world is probably a bad example. | 15:13 | |
moritz_ | tadzik: because it doesn't optimize away the things that general Perl 6 program needs | 15:14 | |
tadzik | I see something about phasers | ||
moritz_ | tadzik: like $_, $/ and $! in every block, hooks to start phasers (if any) etc. | ||
15:15
ash_ left
15:16
ash_ joined
|
|||
tadzik | www.reddit.com/r/programming/commen...operators/ -- another thing doomed to be furiously downvoted. Sadly | 15:21 | |
huf | tons of functions = good. tons of operators = suddenly bad, for no reason at all | 15:24 | |
i never could wrap my head around that kind of thinking | |||
tadzik | speking of functions, I'd really like rand(5) as a sugar for 5.rand :) | 15:26 | |
rakudo: say rand(5) | |||
p6eval | rakudo df38ac: OUTPUT«===SORRY!===Unsupported use of rand(N); in Perl 6 please use N.rand or (1..N).pick at line 22, near "(5)"» | ||
tadzik | pugs: say rand(5) | ||
p6eval | pugs: OUTPUT«3.9687930330328625» | ||
tadzik | pugs++ | ||
moritz_ | rakudo++ | 15:27 | |
huf | randy bugger | 15:28 | |
szbalint | why was rand(N) outlawed? | ||
tadzik | why 'say "asd"' is ok and 'rand 5' is not? | ||
moritz_ | because people are used to say rand * 5 | 15:29 | |
and that blows up rand is a listop that expects an argument | |||
15:30
molaf joined
15:31
justatheory joined
|
|||
TimToady | because people keep saying rand < .5 | 15:32 | |
yes, the problem is people want it both as 0-ary and 1-ary | 15:33 | ||
and rand*5 is shorter than rand(5) | |||
pugs: say rand < .5 | 15:35 | ||
p6eval | pugs: OUTPUT«***  Unexpected end of input expecting "\\", variable name, ">" or "<" at /tmp/dzd0S3l7ZB line 2, column 1» | ||
tadzik | rakudo: say rand*5 | ||
p6eval | rakudo df38ac: OUTPUT«1.13567848967918» | ||
tadzik | now how does this one parse? | ||
TimToady | * is not a postfix, so it must be an infix | 15:36 | |
std: say | |||
p6eval | std 32107: OUTPUT«Potential difficulties: Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/mWmrUAIsyL line 1:------> say⏏<EOL>ok 00:01 114m» | ||
TimToady | you'll note we drove say the other direction | ||
15:37
espadrine` joined
|
|||
tadzik | but why does rand*5 become 5.rand? Or it does not, but it works like this | 15:37 | |
huf | std: say: | ||
p6eval | std 32107: OUTPUT«===SORRY!===Bogus statement at /tmp/xLB_k1xPi9 line 1 (EOF):------> say:⏏<EOL>Parse failedFAILED 00:01 115m» | ||
huf | whee ;) | ||
TimToady | I also note that in nearly all the toy examples you ever see on, say, rosettacode, you very nearly always want (1..$n).pick | ||
tadzik | that's correct | 15:38 | |
TimToady | which is much clearer on intent and less error prone | ||
15:39
macroron left
|
|||
tadzik | but how does this rand*5 work? It keeps bugging me | 15:40 | |
zostay | % perl6 -e 'class A{}; my A @x = [A.new]; my $x = @x[0];' | ||
maximum recursion depth exceeded | |||
am i doing something wrong or is rakudo*? | |||
TimToady | it's just rand * 5 | ||
moritz_ | zostay: typed arrays don't work yet properly | ||
TimToady | same as 5 * rand | ||
zostay | moritz_: great, thx | 15:41 | |
moritz_ | zostay: and if they did, my A @x = [A.new]; wouldn't work, because the array on the RHS is not typed with A | ||
[particle] | std: say: 5 | ||
p6eval | std 32107: OUTPUT«ok 00:02 114m» | ||
[particle] | rakudo: say: 5 | ||
p6eval | rakudo df38ac: OUTPUT«===SORRY!===Confused at line 22, near "say: 5"» | ||
TimToady | that's a label | ||
[particle] | i wonder... that's what i thought | ||
huf | TimToady: the : thing only works on method calls? | 15:42 | |
moritz_ | std: more: than: one: label: 1 | ||
TimToady | : only works on methods, not listops | ||
p6eval | std 32107: OUTPUT«ok 00:01 114m» | ||
tadzik | oh, sure | ||
zostay | how do you get the rhs typed correctly? | ||
tadzik | www.perlmonks.org/index.pl?node_id=384100 poor, lonely Pythoners :( | ||
[particle] | i saw the 'bogus statement' error above for 'say:' and thought... shouldn't that be a label? yes, it is, but a statement is required after a label. | ||
TimToady | leave off teh [] | ||
[particle] | still, think the error message could reflect that... "label without a trailing statement at ..." | ||
trailing/associated, whatever | 15:43 | ||
TimToady | it'll be a "Useless use of 5" | ||
but 5 is a statement | |||
15:43
tadzik left
|
|||
[particle] | std: say: | 15:43 | |
p6eval | std 32107: OUTPUT«===SORRY!===Bogus statement at /tmp/JXqmJPhOaA line 1 (EOF):------> say:⏏<EOL>Parse failedFAILED 00:01 115m» | ||
[particle] | Bogus statement is too generic an error there imo | 15:44 | |
TimToady | well, the other alternative is to say "Missing statement", which doesn't read well if there *is* something there. :) | ||
std: say: ` | 15:45 | ||
p6eval | std 32107: OUTPUT«===SORRY!===Bogus statement at /tmp/m8tJJJQMqg line 1:------> say: ⏏`Parse failedFAILED 00:01 116m» | ||
TimToady | and the chances of it being at $ in a real program is quite small | ||
slavik | TimToady: best error message evar: something error happened | 15:47 | |
huf | "error: Success" is my personal favorite | ||
moritz_ | ERROR E000000081 | ||
TimToady | std: my $x = | 15:49 | |
p6eval | std 32107: OUTPUT«===SORRY!===Bogus term at /tmp/v9xllAfRXz line 1 (EOF):------> my $x =⏏<EOL>Parse failedFAILED 00:01 117m» | ||
15:57
Ross joined
16:02
tylercurtis joined
16:04
Eevee left
16:07
justatheory left
16:11
Eevee joined
|
|||
ash_ | it always amuses me when programs just die with no message and return a number, like 3 | 16:11 | |
16:12
shade\ left
16:13
shade\ joined
|
|||
pmichaud | hugme tweet rakudoperl Rakudo Star 2010.08 released bit.ly/cA783F #perl6 #rakudo | 16:13 | |
hugme hugs pmichaud; tweet delivered | |||
16:13
espadrine` left
16:14
espadrine` joined,
espadrine` left
|
|||
moritz_ | pmichaud++ # release | 16:14 | |
pmichaud++ # getting the twitter tags right :-) | |||
takadonet | pmichaud: just got the twite on my phone at the same time that I saw it in my gmail | 16:16 | |
pmichaud | takadonet: I have a sekret perl 6 script that runs at the various communications providers to make sure you get everything at exactly the same time. :-) | 16:18 | |
smash_ | pmichaud++ # release | 16:19 | |
TimToady | hmm, instead of 2010.08 I've been using 2010-08 in the version tags on rosettacode. Hope that doesn't confuse anyone... :) | 16:21 | |
2010-08 feels more ISOy | |||
pmichaud | I agree, and Rakudo used yyyy-mm in its early releases | ||
but the linux packagers universally complained, because they can't handle hyphens in version numbers | 16:22 | ||
16:22
daxim left
|
|||
TimToady wonders if they consider 2010.08 to be the same as 2010.8 | 16:22 | ||
smash_ | pmichaud: i have a question regarding the test fail in nqp-rx if you don't have ICU | ||
pmichaud | smash_: answers available now | 16:23 | |
TimToady | pmichaud++ too btw | ||
pmichaud | I have some ideas for improving the star release process next go-around | 16:24 | |
in particular, I think I'll do a candidate tarball immediately following the compiler release, and invite module maintainers to verify that the module still works (and get updates in) | |||
a few other things here-and-there that I didn't get to in August :-) | 16:25 | ||
smash_ | pmichaud: the thing is that i can correctly detect if the has_icu is set in the VM, but i think the test fails when nqp-rx reads the test file (before actually any has_icu test can be made) | ||
(but i might be missing something) | |||
pmichaud | smash_: I think you're correct. | ||
what failure are you getting? | |||
smash_ | pmichaud: nopaste.snit.ch/23150 | 16:30 | |
pmichaud | yeah. | ||
I'm not sure how that should be avoided, now that I think about it a bit more. | |||
we could move the various unicode-related tests into their own test file | |||
16:31
Mowah left
|
|||
smash_ | i was trying to have a test file that first checks the has_icu and then calls the actually test file | 16:31 | |
pmichaud | too complex | ||
I'd like nqp to remain a bit more simple | |||
we could potentially put it inside of an evail | 16:32 | ||
*eval | |||
smash_ | move the tests to another file ? and then pull the tests from there ? (similar to t/p6regex/01-regex.t) | ||
TimToady | sorear: I'm of two minds, &$noncode should either fail or produce -> { $noncode } | 16:38 | |
sorear: I believe colomon++ uses "SF" to refer to a close acquaintance with which he shares an identity relationship :) | 16:42 | ||
16:43
justatheory joined
|
|||
[particle] | can the parser detect codepoints outside ascii range? | 16:44 | |
TimToady | who are you asking, and which "the parser" are you referring to? | ||
colomon | sorear: "SF" is the anonymous blogger at lastofthecarelessmen.blogspot.com | 16:45 | |
[particle] | sorry, pmichaud, smash: ^^ | ||
pmichaud | [particle]: the source is ASCII | ||
the problem is something like \c[LINE FEED] | |||
colomon | sorear: though he (?) and I do seem to have a lot of interests in common. ;) | ||
TimToady | sorear: regarding the identity of SF, I could be wrong, of course... :) | ||
pmichaud | the compiler tries to convert that to its equivalent string representation, and uses ICU to translate "LINE FEED" into the appropriate codepoint. | 16:46 | |
so it's not the parser that's having difficulty, it's the string constant conversion. | |||
16:46
justatheory left
|
|||
[particle] | ah, ok, well then... that's where the has_icu check belongs, isn't it? | 16:47 | |
pmichaud | [particle]: and what should it do if ICU isn't present? | ||
smash_ | can't parse source without icu warning ? | ||
pmichaud | currently it throws an exception, which I think is exactly the correct behavior | ||
16:47
am0c joined
|
|||
pmichaud | substituting another codepoint would feel very wrong. | 16:48 | |
16:48
bjarneh left
|
|||
[particle] | pmichaud: and now i'm fully caught up in the discussion. harumph. | 16:48 | |
it's something the test harness should deal with, then | |||
unless has_icu, skip 46-charspec.t | 16:49 | ||
pmichaud | how does one do that with, say, 'prove' ? | ||
I'm not sure it's worth all that much trouble. Just switch the test to use an eval() instead. | |||
[particle] | prove --harness=foo ? | ||
pmichaud | writing a separate harness just to handle this one case definitely feels like overkill. | 16:50 | |
[particle] | this ought to be fun when you start fudging nqp-rx tests for multiple backends | ||
pmichaud | I don't plan to fudge nqp-rx tests for multiple backends. | 16:51 | |
we might have to ultimately do that, but I'd prefer to avoid it. | |||
more likely is that backend-specific tests will simply appear in their own test files | |||
[particle] | at that point, you'll probably want a harness. until then, eval is a smaller hammer | ||
pmichaud | and the Makefile will select the appropriate backend-specific tests to run | 16:52 | |
e.g., t/nqp-parrot/ | |||
t/nqp-net/ | |||
etc. | |||
[particle] | t/nqp-nqp/ ! | ||
:) | |||
16:53
bjarneh joined
|
|||
[particle] | my rakudo rebuilds every time i make test | 16:54 | |
msvc | |||
pmichaud | most likely an incorrect dependency | ||
could be that something is omitting the .exe | |||
[particle] | yeah. ok i'll look into that | ||
16:54
envi^home left
16:55
patrickas joined
16:57
lichtkind joined
|
|||
itz | stupid questions whats the perl6 equivalent of "ref $foo"? | 16:57 | |
[particle] | $foo | 16:58 | |
oops, finger slip | |||
$foo.WHAT | |||
smash_ | pmichaud: i just brought this up because most distros don't include ICU | 16:59 | |
(by default) | |||
[particle] | itz: that will give you the type object | ||
TimToady | or more precisely, perhaps $foo.WHAT.Str | ||
pmichaud | smash_: sure, make sense to me. | ||
[particle] | ah, yes. .Str | ||
TimToady | and maybe a .subst(/'()'/, '') | ||
itz | .WHAT? | ||
tylercurtis | itz: but you probably shouldn't do $foo.WHAT for type-checking in Perl 6. You want $foo ~~ SomeType, most likely. | ||
itz | ok | ||
TimToady | itz: as in, WHAT IS THIS?!?! | ||
but usually if you're using WHAT it means you didn't need to | 17:00 | ||
patrickas | rakudo: ([1,2,3] , :foo<bar> , 'a' , 1)>>.WHAT.say; | ||
phenny | patrickas: 01:48Z <colomon> tell patrickas See gist.github.com/550633 for a sketch more along the lines of what I was thinking. WARNING: code is untested, and almost certainly contains off-by-one errors and possibly boolean logic errors. | ||
p6eval | rakudo df38ac: OUTPUT«Array()Pair()Str()Int()» | ||
17:08
jferrero joined
|
|||
jferrero | Hi! Who is the responsable of rakudo.org web site? | 17:08 | |
PerlJam | jferrero: why? | 17:09 | |
jferrero | rakudo.org/rss.xml dont work... | ||
pmichaud | I've mentioned it several times to the maintainer, but no response. | ||
PerlJam | pmichaud: you don't have admin rights? | 17:10 | |
jferrero | Ok... | ||
pmichaud | PerlJam: I think this requires access to the shell, not just drupal admin. | ||
at any rate, I don't think I have rights/knowledge to be able to fix it, no. | |||
rss.xml has been broken since at least March 2009. | 17:11 | ||
jferrero | and the link is at rakudo web page, below Syndicate section. | ||
Is better comment-it | 17:12 | ||
pmichaud | jferrero: anyway, Andy Lester is the one who probably needs to fix it, or take it off if it's never going to work. | ||
TimToady | sorear: re irclog.perlgeek.de/perl6/2010-08-26#i_2749488 yes, those are different when foo returns a list; my $x = will assign the whole parcel; my ($x) = will only pull the first and discard the rest as a list assignment | ||
phenny: tell masak re irclog.perlgeek.de/perl6/2010-08-26#i_2749612 literals in the ASCII range should be considered to allomorphic to both Buf and Str; it's only when you get out of ASCII that the types really diverge | 17:17 | ||
phenny | TimToady: I'll pass that on when masak is around. | ||
17:19
justatheory joined
17:24
risou_ joined
17:26
risou left
17:27
pyrimidine joined
17:37
thebird left
17:38
dakkar left
17:40
Ross left
17:49
thebird joined,
hercynium left
18:01
thebird left
18:03
bjarneh left
|
|||
alester | fix what | 18:07 | |
I didn't know the RSS wasn't working. :-( | |||
it's added to my to-do list. | 18:08 | ||
what does "doesn't work" mean in this case? What's the symptom? | |||
18:09
cjk101010 left
|
|||
alester | Just not getting updated? | 18:09 | |
smash_ | most recent item in rss.xml is from 02/27/2009 | 18:11 | |
alester | So, yes, not getting updated. | 18:12 | |
Don't know why, will check. | |||
18:12
tadzik joined
|
|||
tadzik | oh hai | 18:13 | |
smash_ | hi | 18:14 | |
alester | If anyone is up on Drupal, I'd be glad to know what to look for. | ||
PerlJam | drupal has a cron entry for that sort of stuff IIRC | 18:16 | |
(haven't touched drupal in a couple of years though) | 18:17 | ||
smash_ | i would start looking at admin/content/rss-publishing | ||
rakudo.org/admin/content/rss-publishing i mean | |||
and then yes, check cron | 18:18 | ||
alester | well, I ran cron | 18:19 | |
smash_ | xomething wrong with cron the i guess :) | ||
TimToady | obviously, composition should use infix:<⎄> | 18:22 | |
.u ⎄ | 18:24 | ||
phenny | U+2384 COMPOSITION SYMBOL (⎄) | ||
PerlJam | I thought it would be more like infix:<o> | 18:25 | |
18:25
risou_ left,
risou joined
|
|||
TimToady | the example on risottocode, er, rosettacode, uses ∘ | 18:26 | |
18:26
Italian_Plumber joined
|
|||
TimToady | f ∘ g | 18:26 | |
I wonder what ⎄ is really used for... | 18:27 | ||
"your search did not match any documents" | 18:28 | ||
PerlJam | perhaps it's english composition :) | ||
s/english/writing/ | |||
TimToady | the circle and square lead me to think it's probably something in graphical design | 18:29 | |
18:29
plobsing left
|
|||
alester | well, I dunno how it updates rss.xml | 18:29 | |
it's not even a real file. | |||
tadzik | www.youtube.com/user/yapceu2010#p/u...OiGF9eRUWY -- am I the only one who is missing voice in here, or was masak just silent? | 18:30 | |
18:31
mberends joined
|
|||
PerlJam | tadzik: the audio it just white-noise for me. | 18:31 | |
s/it/is/ | |||
tadzik | same here | ||
TimToady | but it's mixed in with some other editing symbols, so PerlJam++ is probably right | ||
jferrero | tadzik, Yes... noise | ||
18:32
mikehh_ joined
18:33
mikehh left
18:35
patrickas left
18:37
sundar joined
18:40
masak joined
|
|||
masak | ahoy, #perl6! | 18:40 | |
phenny | masak: 17:17Z <TimToady> tell masak re irclog.perlgeek.de/perl6/2010-08-26#i_2749612 literals in the ASCII range should be considered to allomorphic to both Buf and Str; it's only when you get out of ASCII that the types really diverge | ||
18:41
Su-Shee left
|
|||
masak | oh dear. oh well. | 18:41 | |
as long as it's literals... :) | |||
alester | I'm in #drupal and I'm gettin' nowhere. :-( | 18:42 | |
TimToady | masak: but also see, for instance, S05:4285 | 18:43 | |
18:43
mantovani left
|
|||
TimToady | masak: also for you: irclog.perlgeek.de/perl6/2010-08-26#i_2751029 | 18:44 | |
masak checks one, then the other | |||
TimToady: that part of S05 has always seemed suspect to me. I get a "let me see it implemented first" feeling from it. | 18:45 | ||
in fact, I get that about the Cat type in general. | |||
18:46
am0c left
|
|||
masak | TimToady: re composition: ☺ | 18:46 | |
TimToady | ö | 18:47 | |
tadzik | »ö« | ||
TimToady | then camelia is hyper function composition | ||
18:47
Sanitoeter joined
|
|||
tadzik | Maybe we should vote for inclusion of Camelia in Unicode? | 18:47 | |
TimToady | then it couldn't be a trademark :) | 18:48 | |
tylercurtis | Is there a more concise way to specify a signature expecting a named parameter :$a that is True than (Bool :$a where ?*) or similar? | 18:52 | |
tadzik | then we should also push a Camelia With A TradeMark | ||
masak | tylercurtis: True | 18:53 | |
oh wait. named. | |||
18:53
pyrimidine left
|
|||
tylercurtis wonders if :a(True) would work. | 18:53 | ||
masak | no. | ||
Bool :$a where 1 | |||
18:53
pyrimidine joined
|
|||
PerlJam | If it's always True, why make it a parameter? | 18:54 | |
masak | PerlJam: multis | ||
PerlJam | or are you differentiating for multis ... | ||
PerlJam <-- slow typer today | |||
(:$a where True) reads better than your original though (IMHO) | 18:55 | ||
tylercurtis | PerlJam: if that worked. | ||
rakudo: say False ~~ True | |||
18:55
pyrimidine_ joined
|
|||
p6eval | rakudo df38ac: OUTPUT«===SORRY!===Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead at line 22, near " True"» | 18:55 | |
PerlJam | oh, right. I forgot about that | ||
tadzik | ...what if you _do_ want it to always match? | 18:56 | |
That's unfair | |||
tylercurtis | tadzik: eventually, Rakudo will support compiler warnings as well as errors. | ||
tadzik | sounds sane | ||
tylercurtis | rakudo: say False ~~ * | ||
p6eval | rakudo df38ac: OUTPUT«1» | 18:57 | |
tylercurtis | tadzik: until then, ^^ | ||
masak | tadzik: oh, you're here. good. | ||
18:58
pyrimidine left,
pyrimidine_ is now known as pyrimidine
|
|||
tadzik | duh, no one reddited Rakudo Star yet | 18:58 | |
tylercurtis finally understands why * can't just be Whatever. | 19:00 | ||
ash_ | rakudo: say 123.so | 19:03 | |
p6eval | rakudo df38ac: OUTPUT«Method 'so' not found for invocant of class 'Int' in main program body at line 22:/tmp/XV6XgmD4ts» | ||
ash_ | rakudo: say 123 ~~ *.so | 19:04 | |
p6eval | rakudo df38ac: OUTPUT«Method 'so' not found for invocant of class 'Int' in <anon> at line 22:/tmp/fcIyV7BOdg in 'Block::ACCEPTS' at line 5769:CORE.setting in main program body at line 22:/tmp/fcIyV7BOdg» | ||
ash_ | rakudo: say False ~~ True | ||
p6eval | rakudo df38ac: OUTPUT«===SORRY!===Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead at line 22, near " True"» | ||
ash_ | rakudo: say 123 ~~ :so | ||
p6eval | rakudo df38ac: OUTPUT«Method 'so' not found for invocant of class 'Int' in 'Enum::ACCEPTS' at line 5070:CORE.setting in main program body at line 22:/tmp/VxA_PwW8bo» | ||
TimToady | rakudobug | ||
masak | which one? | 19:05 | |
tylercurtis | rakudo: say True.so | ||
p6eval | rakudo df38ac: OUTPUT«Method 'so' not found for invocant of class 'Bool' in main program body at line 22:/tmp/3FybvCrH3A» | ||
19:05
jferrero left
|
|||
masak | looks like a TODO to me. | 19:05 | |
ash_ | ah, i was wondering why it was advertising to use :so or *.so but those don't work | ||
TimToady | cargo culted the error message from STD :) | ||
masak | oh well. | 19:06 | |
masak submits TODO rakudobug | |||
TimToady | rakudo: say True.true | ||
p6eval | rakudo df38ac: OUTPUT«Method 'true' not found for invocant of class 'Bool' in main program body at line 22:/tmp/2aqWn3pBXj» | ||
ash_ | ah, so, 'the right way' is to use .so in the future? | ||
TimToady | rakudo: say True.not | ||
p6eval | rakudo df38ac: OUTPUT«Method 'not' not found for invocant of class 'Bool' in main program body at line 22:/tmp/87wjXIXaMv» | ||
tadzik | what does .so mean? | ||
TimToady | rakudo: say True.¬ | ||
p6eval | rakudo df38ac: OUTPUT«Could not find sub ¬ in main program body at line 22:/tmp/wPgjm3Cv5Y» | ||
TimToady | humph | 19:07 | |
rakudo: say True.&prefix:<not> | |||
masak | rakudo: say not True | ||
p6eval | rakudo df38ac: OUTPUT«0» | ||
TimToady | rakudo: say True.&prefix:<not>.&prefix:<not> | ||
p6eval | rakudo df38ac: OUTPUT«1» | ||
TimToady | there you go | ||
ash_ | rakudo: say !!true # ? | ||
TimToady | just use that :) | ||
p6eval | rakudo df38ac: OUTPUT«Could not find sub &true in main program body at line 22:/tmp/1Z7QsU4_uA» | 19:08 | |
ash_ | rakudo: say !! True | ||
p6eval | rakudo df38ac: OUTPUT«1» | ||
TimToady | rakudo: say True.&prefix:<?> | ||
p6eval | rakudo df38ac: OUTPUT«1» | ||
tadzik | rakudo: say !!True | ||
p6eval | rakudo df38ac: OUTPUT«1» | 19:09 | |
tadzik | rakudo: say !!!True!!! # curiouos | ||
p6eval | rakudo df38ac: OUTPUT«===SORRY!===Confused at line 22, near "say !!!Tru"» | ||
ash_ | sub true { True }; # should be part of settings :P | ||
tadzik | ! is only a prefix? | ||
TimToady | std: say !!!True!!! | ||
p6eval | std 32107: OUTPUT«===SORRY!===Two terms in a row at /tmp/xWm3sjVz8D line 1:------> say !!!⏏True!!! expecting any of: POST argument list bracketed infix infix or meta-infix postfix postfix_prefix_meta_operator statement | ||
..modifier loopParse failedFAIL… | |||
TimToady | parsing !!! as listop | 19:10 | |
as a form of yada | |||
but no, there's no postfix:<!> unless you define it | 19:11 | ||
std: 42 !! 43 | |||
p6eval | std 32107: OUTPUT«===SORRY!===Ternary !! seems to be missing its ?? at /tmp/WOTM33aSKe line 1:------> 42 !!⏏ 43Parse failedFAILED 00:01 116m» | ||
tadzik | rakudo: multi postfix:<!> ($a) { !$a }; say !!True!! | 19:12 | |
p6eval | rakudo df38ac: OUTPUT«1» | ||
tylercurtis | tadzik: you're making the mathematicians cry. | ||
tadzik | rakudo: multi postfix:<!> ($a) { !$a }; say !!False!! # just in case | ||
(: | |||
p6eval | rakudo df38ac: OUTPUT«0» | ||
rokoteko | rakudo: say +^+^0 ~ "/" +^+^False | ||
p6eval | rakudo df38ac: OUTPUT«01» | ||
rokoteko | rakudo: say +^+^0 ~ "/" ~ +^+^False | ||
p6eval | rakudo df38ac: OUTPUT«0/1» | ||
tylercurtis | rakudo multi postfix:<!>($n) { [*] 1..$n }; say 5!; | ||
rakudo: multi postfix:<!>($n) { [*] 1..$n }; say 5!; | 19:13 | ||
p6eval | rakudo df38ac: OUTPUT«120» | ||
19:14
sftp left
|
|||
rokoteko | rakudo: say !!0 === !!False | 19:14 | |
p6eval | rakudo df38ac: OUTPUT«1» | ||
rokoteko | rakudo: say 0 === False ... what does === really do? I must've missed something. | 19:18 | |
p6eval | rakudo df38ac: OUTPUT«===SORRY!===Confused at line 22, near "say 0 === "» | ||
19:18
pyrimidine left
|
|||
rokoteko | rakudo: say 0 === False # ... | 19:18 | |
p6eval | rakudo df38ac: OUTPUT«1» | ||
19:18
pyrimidine joined
|
|||
tadzik | masak: are we doing some pls hacking tonight? | 19:19 | |
masak | tadzik: ok, I've started going through projects now. first obstacle: json, which used to install fine, doesn't install fine. | ||
19:19
pyrimidine_ joined
|
|||
masak | tadzik: I'll set up a list of projects that install, and we'll just go through it until everything works. ok? :) | 19:19 | |
tadzik | sure thing :0 | ||
: | |||
:) | 19:20 | ||
I'd like to gain some knowledge about Pls though | |||
masak | that is permitted according to the rules. :) | ||
how may I help you? | 19:21 | ||
tadzik | hold on a sec | 19:22 | |
19:22
pyrimidine left,
pyrimidine_ is now known as pyrimidine
|
|||
frettled | masak: waitasec. We have rules of engagement regarding learning? :D | 19:22 | |
masak | frettled: if you have to ask... | 19:23 | |
frettled | masak: darnit, I lost the game. | ||
masak | thanks for playing. | ||
tadzik | masak: so where do I start reading? :) | 19:24 | |
19:24
risou left
|
|||
masak | tadzik: lack of documentation is one of the shortcomings on pls. I also haven't written one single blog post on the topic. the whole design is, unfortunately, in here right now. | 19:24 | |
masak tocks head | |||
tadzik | hmm | 19:25 | |
masak | but I think I can get you started pretty quickly. | ||
outwardly, it's very much like proto. | |||
19:25
bjarneh joined
|
|||
masak | the insides are all changed. | 19:25 | |
there's a test suite. it might help. then again, it might not. | |||
tadzik | I didn't know proto either :) | ||
masak | but you cloned it... :) | ||
tadzik | :D | 19:26 | |
!!! is the new yada-yada? | |||
19:27
sftp joined
|
|||
masak | tadzik: ... ??? !!! | 19:28 | |
tadzik: fails, warns, errs | |||
tadzik | oh, cute | ||
masak | exceedingly so. | ||
TimToady | S03:2270 | ||
masak | it's part of the whole "strangely consistent" thing. | ||
tadzik: see if you can access 123.writeboard.com/d3d47bc9b2b3159ca | |||
tadzik | enter the password for this camelia | 19:29 | |
masak | password is 'OH PLS' | ||
19:29
_macdaddy joined
|
|||
tadzik | oh funny thing :) | 19:29 | |
masak | can it haz working? | 19:30 | |
tadzik | yep | ||
masak | \o/ | ||
then we have a common writing area. | |||
now, | |||
we hack. | |||
19:30
molaf left
|
|||
masak | first quest: why doesn't json install? the build looks fine, but it's marked as FAIL. | 19:30 | |
tadzik | holdonholdonholdon | ||
I can has questions? | 19:31 | ||
masak holds on | |||
at any time, you may ask at most one question :) | |||
colomon | but he certainly can have many questions, if he can hold them all in his head at once. | ||
TimToady | more ammo for the perl6 haters: rosettacode.org/wiki/Happy_numbers#Perl_6 | ||
tadzik | I'm reading the App::Pls sauce codes. I see many / fetch.* / methods, but none of them seem to actually fetch anything. Where does the funny stuff happen? | ||
masak | TimToady: the tricks version is disappointingly long :) | 19:32 | |
tadzik: you've reached level 1 of enlightenment. | |||
tadzik: App::Pls tells what to do, but not how. | |||
tadzik | oh | 19:33 | |
masak | tadzik: that's the reason it's testable. | ||
tadzik | proof-of-concept implements it? | ||
masak | for now, yes. | ||
TimToady | masak: it would be shorter if rakudo implemented state | ||
masak misses state | |||
TimToady | I would argue, though, that this inner loop is easier to understand | ||
masak | tadzik: I'm thinking most of what poc does might end up in a module too. | ||
tadzik | oh I get it! | 19:34 | |
You actually write the roles, which in App::Pls do nothing, right? | |||
masak | that sounds like level 2 enlightenment to me :) | ||
19:34
pyrimidine left
|
|||
tadzik powerleveling | 19:34 | ||
masak | right. | ||
it's a bit like interfaces in Java. but nice. | |||
tadzik | yep, sounded so | 19:35 | |
ash_ | roles are different from interfaces though, in that they can contain an implementation | ||
19:35
dju joined
|
|||
masak | App::Pls says "this is the order in which you do things when you install a module". poc says "this is the actuall stuff you do when you do what App::Pls wants" | 19:35 | |
ash_: aye. that's the nice part :) | 19:36 | ||
tadzik | masak: pls lies :( | 19:38 | |
You'll find a log file `build-json.log` in the current directory, with output from the failing step. | |||
NOEZ I CANT :( | |||
moritz_ | what does .so gives us that .Bool doesn't give us? | ||
masak | should probably do two things here. | ||
(1) make sure it never says that if the file isn't there | |||
(2) make sure it produces the file as often as it can | 19:39 | ||
19:39
dju left
|
|||
masak | moritz_: it's the method form of &so | 19:39 | |
moritz_ | masak: ... so? | ||
:-) | |||
19:39
mantovani joined,
dju joined
|
|||
moritz_ | I can add | 19:40 | |
multi method so() { self.Bool } | |||
to Mu.pm | |||
but I fail to see the real benefit | |||
masak | completeness. | 19:41 | |
19:41
sftp left
|
|||
tadzik | maybe it should be removed from specs then | 19:41 | |
19:42
plainhao left
|
|||
tadzik | masak: poc needs some profiling love :) | 19:43 | |
19:43
mberends left
|
|||
masak | tadzik: it's a good idea to precompile to PIR. | 19:43 | |
I do. | |||
tadzik: I just pushed a fix for (1) above. | |||
tadzik: are you trying to install json? | |||
tadzik | masak: ywis | 19:44 | |
masak: where is this file actually being created? | |||
masak | depends on what goes wrong with the build. | ||
tadzik | masak: and about the enlightenment, App::Pls is like the spec and poc is like the implementation? | 19:45 | |
masak | confirmed; I'm also getting no build log file. | ||
tadzik: well, it's more like a brain and arms/legs. | |||
tadzik | line 64 in poc | ||
masak | aye, but sometimes things abort through other paths than that line. | 19:46 | |
this case is probably one of those. | |||
here's my guess: last time I changed poc, I probably destroyed the build mechanism. | |||
it's outdated anyway. let's remake it from scratch. | |||
masak gets some water | |||
tadzik | hrm. Maybe rather something like $res = qqx/make/? So we can stderr it when being verbose in addition to being filestored | 19:47 | |
duh, but no error code then | 19:48 | ||
masak | ok, here's the plan. | 19:49 | |
tadzik | is there some nice way to handle this? | ||
masak | currently, poc creates a Makefile and then runs the Makefile. | ||
tadzik | yes | ||
masak | if there was none before. | ||
this is error prone and brittle and unnecessary. | |||
19:49
mberends joined
|
|||
tadzik | (I think it'd be nice to embed ufo in a cleaner way, also to use system ufo if available) | 19:49 | |
masak | I have another idea. :) | 19:50 | |
tadzik | please speak on :) | ||
masak | let's emulate the necessary parts of make in pure Perl 6. | ||
it's not that much. | |||
we already find out the most likely optimal build order to write to the Makefile. | |||
let's just take that build order and build the modules ourselves. | 19:51 | ||
tadzik | well, that can be done | ||
masak | in the testing step, let's just run prove ourselves. | ||
tadzik takes a glance at ufo-generated makefile | |||
masak | in the install step, let's just copy the files ourselves. | ||
as a side bonus, things will work on Windows. | |||
ash_ | how is App::Pls coming along? (been out of the loop on some of the rakudo stuff, just started grad school and been busy with that) | ||
tadzik | ash_: we are just moving it along :) | 19:52 | |
arnsholt | masak: I would not be hostile to such an idea | ||
masak | ash_: you sound like you're willing to help :) | ||
tadzik | masak: I have another temporary idea. Let's make it run, then we'll make it right. I feel like something else is failing atm | ||
19:52
frettled joined
|
|||
ash_ | masak: after i finish try.rakudo.org's backend (which is long over due) i'll take a look at it | 19:53 | |
19:53
unlimitopen joined
|
|||
tadzik | ash_: piping to REPL being worked on? | 19:53 | |
masak | tadzik: it runs, it just runs wrong. let's split up: you figure out what's currently wrong; I rip everything out and try to rebuild it properly. :) | ||
19:53
unlimitopen left
|
|||
ash_ | i want to integrate rakudo into ros (the one by willow garage), a module installer/package manager would be really helpful for that | 19:53 | |
tadzik | a'right | 19:54 | |
ash_ | masak, tadzik it now has a deamon service running in the back end that stores sessions and uses the real REPL | ||
tadzik | great! | ||
masak | ash_++ | ||
19:55
Italian_Plumber left
|
|||
ash_ | 2 problems though, 1) its not secure (i haven't figured out how to get the REPL to let me change some of the functions in settings and disable pir) and B) it never actually destroys sessions currently, so they last forever, but that should be easier to fix and is what i am working on right now | 19:55 | |
tadzik | oh, compiling poc to PIR failed miserably here | 19:56 | |
No applicable candidates found to dispatch to for 'infix:<eq>'., Segfault later | |||
19:56
jaldhar left
|
|||
masak | tadzik: I meant compiling App::Pls to PIR. | 19:56 | |
tadzik | but that's another thing | ||
look: pb.rbfh.de/2C7uxaZ9VqwIY | 19:57 | ||
masak looks | |||
ash_ | basically i need github.com/moritz/try.rakudo.org/bl...try.pl#L43 to line 63 to be usable in the REPL but it has't be as easy as i thought it would be | 19:58 | |
masak | I don't think you can compile a Perl 6 script to PIR and then run it with Parrot. | ||
you used to, but no more. | |||
tadzik | ...again? :( | ||
masak | but never mind that. compile App::Pls to PIR and be content with that. :) | ||
ash_ | don't you have to tell it where the perl6 pbc is? | ||
tadzik | I don't think so | 19:59 | |
masak looks at making the build step work | |||
tadzik | Looks like run-logged is not doing anything | 20:00 | |
masak | I have no reason to believe run-logged doesn't do anything. | ||
20:00
timbunce left
|
|||
tadzik | I do: pb.rbfh.de/emkiNNC3ofbK | 20:00 | |
It even should be cwd | 20:01 | ||
masak | please don't take that as evidence that run-logged doesn't do anything. | ||
most likely it never reaches that step. | |||
also, your poc is out-of-date :) | |||
tadzik | oh you :) | ||
masak: I still believe run-logged doesn't do anything | 20:04 | ||
(I also love git stash) | |||
masak | git stash loves you :) | 20:05 | |
I've seen run-logged work before. | |||
tadzik | pb.rbfh.de/HS8DTA1heLBi | 20:06 | |
looks like it doesn't reach any step | |||
tadzik tracks back | |||
20:07
timbunce joined
|
|||
tadzik | POC::Builder doesn't reach a step when it's ought to run-logged | 20:07 | |
masak | right. | 20:08 | |
that's because it's broken. I broke it. | |||
see the git log. | |||
commit 1ae552 | 20:09 | ||
20:09
rokoteko left
|
|||
tadzik | gitcha | 20:09 | |
masak | :) | ||
tadzik | oh wow, accidental pun! | ||
so what are we doing with this? | 20:10 | ||
masak | oi, good news! ufo installs! | ||
masak updates the writeboard | |||
tadzik | I'd go for using the system ufo (temporarily) and make stuff work, then try to make stuff sane | 20:11 | |
masak looks at what he broke in that commit | |||
tadzik | Acme::Meow doesn't install too :( No kittehz :( | 20:12 | |
masak | fixing up the current code looks doable. but it'll be a bit of wasted work, since we want to replace that code anyway. | ||
tadzik: are you interested in finding out the exact cause for json not building? | |||
it'll mean a bit of debugging; inserting print statements in the code to find out what's going on. | 20:13 | ||
tadzik | I think it might be good to work out some separate solution for a pureperl ufo/make replacement, and maybe to use it in Pls later | ||
masak: can wander around | |||
masak | I agree. I just think "later" might be "later tonight" :) | ||
tadzik | Tonight sounds good anyway :) | 20:14 | |
so what, a separate module with pureperl ufo&&make and using that in Pls later? | |||
and until that, using ufo in Pls to withdraw it later and have a Ponie? | |||
ash_ | wait, are you saying your going to have a build system that is not make? | 20:15 | |
masak | I'm rewriting POC::Builder now. | ||
ash_: yes. | |||
ash_ | cool, i don't mind make, but i think you could make something more powerful with out to much headache | ||
tadzik | oh, so I'll sit and watch | ||
masak | tadzik: or you could find what's wrong with the current POC::Builder. | 20:16 | |
tadzik: specifically, why doesn't it install json? | |||
tadzik | masak: but you're rewriting it anyway. I can though | ||
ash_ | when using ruby, i alway use rake for things, rake and ruby go together very well, it would be cool to see something perl6 oriented though | ||
masak | tadzik: another thing you could do is pick a random module in the writeboard list and see if it works. | ||
ash_: I've been thinking the same thing. this is a much smaller solution than rake, though. | 20:17 | ||
ash_ | thats fine, its still nice that your doing it, i have thought about starting something like that, but i haven't had the need to drive me to build it yet | ||
20:19
nwellnhof joined
20:21
sundar left
|
|||
nwellnhof | masak: I think I found a fix for parrot TT #1746 | 20:21 | |
masak | nwellnhof: I just saw that. I think I owe you a beer now. | 20:22 | |
hugme: nwellnhof | |||
hugme: hug nwellnhof | |||
hugme hugs nwellnhof | |||
masak | \o/ | ||
20:22
ash_ left
|
|||
nwellnhof | masak: I didn't get around to write a real fix | 20:22 | |
tadzik | the Enum patch segfault? | ||
masak | aye | ||
nwellnhof | masak: I leave that to the Perl6 guys | 20:23 | |
20:23
bjarneh left
|
|||
masak | nwellnhof: but that's just a SMOP now, right? | 20:23 | |
20:23
eternaleye left
|
|||
nwellnhof | masak: Yes, should be | 20:23 | |
20:23
eternaleye joined
20:25
justatheory left
20:26
sftp joined
|
|||
nwellnhof | masak: I assume you can tell the right people | 20:26 | |
tadzik | masak: perl6-Acme-Meow installed. | ||
but you won't like it | |||
it's a bit like... neutro | |||
masak | :) | ||
nwellnhof: sure! again, thanks. | |||
rakudo: say $*VM.perl | 20:27 | ||
p6eval | rakudo df38ac: OUTPUT«Cannot substr on a null string in 'Pair::perl' at line 1 in <anon> at line 4850:CORE.setting in 'Any::join' at line 1 in 'EnumMap::perl' at line 4850:CORE.setting in 'Pair::perl' at line 4572:CORE.setting in <anon> at line 4850:CORE.setting in 'Any::join' at line | ||
..1 … | |||
masak submits rakudobug | |||
nwellnhof | masak: pas de quoi, bye | ||
20:28
nwellnhof left
|
|||
tadzik | masak: perl6-File-Tools installed. Everything works :) | 20:28 | |
moritz_ | rakudo: %*ENV.perl | 20:29 | |
masak | rakudo: say $*VM<config><osname> | ||
p6eval | rakudo df38ac: OUTPUT«Method 'key' not found for invocant of class 'String' in <anon> at line 4844:CORE.setting in 'Any::join' at line 1 in 'EnumMap::perl' at line 4850:CORE.setting in main program body at line 22:/tmp/x5oqEYq1iJ» | ||
rakudo df38ac: OUTPUT«linux» | |||
masak | could somebody tell me what $*VM<config><osname> gives on a Windows box? | ||
tadzik | and Term::ANSIColor. Separating ufo does the job | ||
masak | tadzik: so poc shells out to ufo? | 20:30 | |
tadzik | masak: will show | ||
pb.rbfh.de/2zqUBTqhj1tze | |||
scroll down :) | |||
duh, it's actually not checking the result | 20:31 | ||
sorear | good * #perl6 | ||
masak | sorear! \o/ | ||
tadzik: please use that fix to test as many projects as possible and mark your findings in the writeboard under a separate section. kthx. | 20:32 | ||
you may commit the fix if you want, but I will supersede it in a little while :) | |||
tadzik | I don't mind :) | ||
szbalint | moritz_: I need to stop reading the abstruse goose archives. It would be like eating too much excellent chocolate in one day. | ||
:S | 20:33 | ||
masak is almost out of excellent chocolate | |||
smash_ | submitted a perl6 talk to codebits (an international event in portugal all about new technologies) 4lyz.sl.pt | ||
tadzik | masak: how about a branch? | ||
masak | tadzik: sure, if you like. | 20:34 | |
tadzik: I don't want pls to be dependent on ufo in the long run. that's why I inlined ufo. | |||
tadzik: it's also not dependent on json, despite using JSON::Tiny. it has its own. | |||
tadzik | Yeah, I know that | 20:35 | |
masak | I'd like for the module installer to be dependency-free :) | 20:36 | |
tadzik | I like the idea too, that's how neutro was (is) rolling :) | ||
20:37
Guest15482 left
|
|||
masak | I'm glad I have the main neutro developer helping me with pls tonight :) | 20:37 | |
tadzik | :D | ||
I can't decrypt that code, is run-logged changing the directory back and forth? | |||
20:38
Ross joined
|
|||
tadzik | okay, it doesn't | 20:38 | |
masak | no. because it's a subshell, it doesn't need to. | ||
ok, seems the answer to my above question is 'MSWin32' | |||
20:39
bjarneh joined
|
|||
masak | at least according to the Rakudo sources. | 20:39 | |
sorear | TimToady: how does my ($x) = expr; fit together? | ||
TimToady | as a pseudo assignment that forces the sig to turn into a list of lvalues | 20:40 | |
tadzik | masak: gitpushed | ||
TimToady | so needs to be handled in the = node, like most pseudoassign decisions | 20:41 | |
masak | tadzik: looks good. | 20:42 | |
tadzik | masak: looks bad for me, but it works :) Also updated some info on the writeboard | ||
sorear | TimToady: what sort of runtime operation does it do? | ||
masak | tadzik++ | 20:43 | |
sorear | it doesn't seem like a list assignment, unless that's really parsing as my $x; ($x,) = expr | ||
TimToady | ($x) = is always list assignment, as in Perl 5 | ||
whether or not there's a my in front | 20:44 | ||
sorear | I am not thinking I understand list assignment | 20:45 | |
What does that look like in terms of &infix:<=>? | 20:46 | ||
tadzik | masak: what is the policy against a module with no tests? | ||
masak | tadzik: no tests: all tests vacuously pass. | 20:47 | |
that is assuming there's no Makefile or we're on Windows :) | |||
tadzik | hmm | 20:48 | |
fixed that then | 20:49 | ||
oh crap, you use spaces for indentation too? | |||
masak | always. | 20:50 | |
tadzik | I'd like some vim comment | ||
masak | the one usually appearing at the bottom of a script? sure, no prob. | 20:51 | |
tadzik | thanks | ||
I got used to tabs | |||
masak | I use spaces for indentation in all my code nowadays. | 20:52 | |
[particle] | tabs are teh suck | ||
tadzik | [particle]: reason? | ||
[particle] | everybody has a different idea of how wide a tab should be | ||
tadzik | that's why you can adjust it in your editor | 20:53 | |
[particle] | and if not everyone uses the same editor? | ||
tadzik | so when everyone uses tabs, everyone sets his own tabwidth and everyone sees what he wants | ||
why should they? | |||
20:53
Mowah joined
|
|||
[particle] | sometimes my "editor" is cat. | 20:53 | |
when it's not vim. it's *never* emacs... mainly because i don't even know how to exit emacs. | 20:54 | ||
tadzik | then you see the tabs as your shell defines | ||
20:54
shade\ left
|
|||
tadzik | I don't see the poing | 20:54 | |
[particle] | yes, and sometimes it's not my shell, i'm ssh'd to some random user. | ||
masak | tadzik: your last commit is fine, but we need to tweak it after my commit goes in and Makefile is no longer assumed to exist at the testing stage. | 20:55 | |
[particle] | tabs are env-specific, spaces never are. | ||
tadzik | when you use spaces as tabs, everyone looking at the code or working on it is forced to use your specific preference | ||
masak: sure thing | |||
that's why I like tabs. I can adjust them | |||
[particle] | i used to like tabs because it made files smaller, but then google said "disk is cheap, everybody can have XXGB for email" (although my employer hasn't caught up, we get a 30MB!! limit) | 20:57 | |
masak | tadzik: I like having code that looks the same on everyone's screen. | ||
tadzik: specifically, I tend to code with a self-imposed 80-column limit. | |||
[particle] | 80-col++ | ||
though i've agreed to use 100-col at my current job. that hasn't changed my 80-col style at all :) | 20:58 | ||
20:59
shade\ joined
|
|||
tadzik | masak: on the other hand, I like 8 spaces, you like 4. I open pls, I see 8 spaces. You open, you see 4. You code, I code, effect is the same, no one needs to adjust | 20:59 | |
masak | tadzik: I hear you. | 21:00 | |
tadzik: just saying that 80-cols is more important to me than that tabs-based flexibility. | |||
tadzik | I see | 21:03 | |
masak | heh. found a bug: github.com/masak/proto/commit/c1030...ee7#L0R167 should have a set of parentheses. :) | 21:07 | |
21:08
ejs joined
|
|||
itz | hmm I have to say as a naive perl6 user typing one liners in that it all seems to make sense | 21:10 | |
tadzik | what all? | 21:11 | |
sorear | I would like a nice benchmarking grammar | ||
masak | itz: glad to hear it. | 21:12 | |
sorear | Not too complicated, it should compile quickly, and not use any features much beyond strings, char classes, subrules, LTM, and quantifiers | ||
anyone have one? (masak?) | |||
masak | I only have one in Perl 6. | 21:13 | |
and it doesn't do LTM. | |||
sorear | masak: grammar, not grammar engine | ||
masak | ohohoh | ||
sorear | I want something like STD or Perl6::Grammar but 10 (5) times smaller | ||
masak | how about JSON::Tiny? | ||
tylercurtis | github.com/ekiru/toylisp/blob/maste...Grammar.pm is pretty simple. Even simpler if you go back a commit. | ||
masak | dunno if it uses LTM, though. probably not, since nqp-rx doesn't have it. | ||
sorear | masak: link? | 21:14 | |
masak | hugme: show json | ||
hugme | masak: the following people have power over 'json': colomon, masak, moritz_, viklund. URL: github.com/moritz/json/ | ||
sorear | hugme++ | 21:15 | |
21:18
Ross left
|
|||
masak | wait, scratch that. there should be no .IO at all on that line. moritz_ is just confusing me :) | 21:19 | |
21:20
Ross joined,
mikehh_ is now known as mikehh
|
|||
tadzik | masak: I'm going to sleep for today, don't mind some hacking tomorrow | 21:29 | |
masak | sounds good. | ||
tadzik | see you then! o/ | ||
masak | I'll commit this thing I'm working on, then I'm heading to bed as well. | ||
thanks for tonight. it was fun :) | |||
21:29
tylercurtis left
|
|||
tadzik | same here :) | 21:29 | |
g.night() | |||
21:29
tadzik left
21:34
Mowah left
21:36
javs left,
ash_ joined
21:37
_macdaddy left
21:38
plobsing joined
21:39
Ross left
21:43
timbunce left
21:45
wamba left
21:46
Guest23195 left,
patspam joined
21:47
lichtkind left
21:52
Holy_Cow left
|
|||
sorear fudges the JSON Tiny grammar to not use ^, $, **, or ~ | 21:53 | ||
arnsholt | sorear: Parrotlog's grammar might work as well | 21:59 | |
The operator parsing is a bit fiddly though | |||
masak | how does one fudge ^ and $ ? | ||
sorear | masak: I removed them entirely, since they were redundant | 22:01 | |
masak | huh. | ||
masak looks | |||
sorear currently can't get the grammar to match anything at all | 22:02 | ||
masak | right, TOP is a rule, so it will never backtrack. but it seems to me that without the $ it might match less than the whole target string. | 22:03 | |
sorear | more to the point, it's a grammar | 22:05 | |
Regex.ACCEPTS loops to find a valid start point even if the regex itself doesn't backtrack | |||
Grammar.parse doesn't | |||
masak | S05 mentions this? | 22:06 | |
sorear | S05-grammar/parse_and_parsefile.t does | 22:08 | |
22:08
sjohnson left,
sftp left
|
|||
sorear | aha! | 22:13 | |
niecza: say "{}" ~~ / \{ <.ws> \} / | |||
22:13
shade\ left
|
|||
sorear | niecza: say '{}' ~~ / \{ <.ws> \} / | 22:13 | |
p6eval | niecza a8f84cb: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type. at Niecza.Kernel.UnboxAny (Niecza.IP6 o) [0x00000] in <filename unknown>:0  at SAFE.New_197C (Niecza.Frame th) [0x00000] in <filename unknown>:0  at Niecza.Frame.Continue | ||
..() [0… | |||
niecza a8f84cb: OUTPUT«0» | |||
masak | rakudo: say "{}" | ||
p6eval | rakudo df38ac: OUTPUT«Nil()» | 22:14 | |
ingy | POSTing upload for Mousse-0.01.tar.gz | ||
PAUSE add message sent ok [200] | |||
sorear | rakudo: say '{}' ~~ / \{ <.ws> \} / | ||
p6eval | rakudo df38ac: OUTPUT«{}» | ||
22:15
shade\ joined
|
|||
ingy just made OO for CPAN modules trivial | 22:15 | ||
ingy expects to catch a lot of grief for it :) | 22:16 | ||
TimToady throws ingy some grief :) | |||
ingy | actually I made OO trivial a couple weeks ago, but today I made Moose OO trivial | 22:19 | |
sorear | TimToady: how does ($x) = foo; desugar into function calls differently from $x = foo; -> &infix:<=>($x, foo); ? | ||
ingy catches TimToady's grief and raises it. | |||
22:21
ejs left
|
|||
sorear now has an 883K working JsonTiny.exe | 22:21 | ||
[particle] | what does it emit? | 22:22 | |
dalek | ecza: 56edb23 | sorear++ | lib/Cursor.cs: add a NIECZA_RX_TRACE flag |
22:23 | |
ecza: 1d65d67 | sorear++ | / (2 files): <.ws> should match next to \W, not just \S |
|||
sorear | [particle]: "parsed X characters" | 22:24 | |
I'm trying to benchmark parser improvements, mostly | |||
22:25
mikehh left
|
|||
sorear | of that 883K, about 400K is a copy of the setting and runtime system (3000 LOC of C# and Perl6), and the other 400K are the 44 line JSON::Tiny grammar itself | 22:25 | |
the regex compiler needs work. :/ | |||
masak | someone has written to p6c complaining that one cannot run parrot on a .pir file generated by perl6. | 22:32 | |
www.nntp.perl.org/group/perl.perl6....g6693.html | 22:33 | ||
json installs again! \o/ | 22:45 | ||
sorear | running the niecza-compiled JSON::Tiny grammar against the largest single test in the JSON::Tiny suite now... | 22:46 | |
601 chars in 35 seconds | |||
masak | that sounds like a benchmark that could be improved. | 22:47 | |
phenny: tell tadzik that I got json to install again with the latest changes to pls/poc :) | 22:52 | ||
phenny | masak: I'll pass that on when tadzik is around. | ||
lue | ohai o/ | 22:56 | |
22:58
whiteknight joined
|
|||
lue | how do you change a line of text on the terminal? [like make spectest does with its status bar] | 22:58 | |
22:58
kid51 joined
|
|||
masak | lue: there's a control character called 'carriage return'. | 22:59 | |
en.wikipedia.org/wiki/Carriage_return | |||
ingy | masak: I'm free to work on yaml-pm6 in about 38 hours :) | 23:00 | |
23:01
fod joined
|
|||
ingy | make that 41 :P | 23:01 | |
masak | hm... it's more like 58 hours here. | ||
ingy forgot he was on the east coast | |||
masak | :) | ||
TimToady | here's a cool one, fsdo "cool": rosettacode.org/wiki/Monte_Carlo_methods#Perl_6 | 23:02 | |
ingy heads off to the beach | |||
o/ | |||
TimToady | \o | ||
.oO(Life's a beach, and then you dry...) |
|||
masak | TimToady: ooh, nice use of R/ | 23:03 | |
lue wonders how long it is until he starts using P6 phrases in daily writing/conversation. He already wants to use ! for 'not'. | 23:05 | ||
kid51 | Question about July release of Rakudo Star | ||
Let's assume that I unwrapped the tarball into directory rakudo-star-2010.08/ and built rakudo there. | 23:06 | ||
So my perl6 executable is found in rakudo-star-2010.08/ | |||
Now suppose I have limited disk space. | |||
What parts of what I just downloaded and build can I throw away and still have perl6 work? | 23:07 | ||
(Note: I'm going to face this situation every month, and I doubt I'm alone here. So whatever the answer is, it should be added to the README or to a file pointed at by the README.) | 23:08 | ||
Tene | A reasonable installation should let you install to a different directory, and then delete all the build directories. | 23:09 | |
I don't know whether that's the case or not yet. | 23:10 | ||
kid51 | I want to build rakudo star on a monthly basis solely so that I can learn perl6 (via the Using Perl6 PDF). So I want the *least complicated instructions possible*. | 23:11 | |
I want those instructions so that anyone in my local Perl6 study group can get the results right away. | |||
s_mosher | kid51, won't you want to keep that space reserved for the build process anyway? | 23:12 | |
kid51 | But I already have it built. I have gotten to hello world. | ||
But I'm at 95% disk full -- on the same disk on which I do all my Parrot testing. | 23:13 | ||
s_mosher | right, but you'll be needing it again in a month, and so on, won't you? | ||
kid51 | I don't want to approach Perl 6 or Rakudo Star *as one of their developers*. I want to approach them strictly *as a user*. | ||
s_mosher | I'm just trying to offer a non-solution by solving a different problem instead :P | 23:14 | |
kid51 | In the course of a month, I have to build and test multiple Parrot branches -- which I can't do with 95% disk full. | ||
s_mosher | ah. it seems to work here with just the contents of the bin directory. I have no idea whether that's a sustainable option. I'm really not in a position to offer advice. | 23:20 | |
23:25
mberends left
|
|||
masak | rakudo: my @a = 1; for 1..10 { my $last = @a[*-1]; say $last; push @a, (sub ($s) { $s + 1 })($last) }; say @a.perl | 23:27 | |
p6eval | rakudo df38ac: OUTPUT«[1]» | ||
masak | could somebody confirm to me that this is not expected behaviour? | ||
I expect [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | 23:28 | ||
sorear | what's with the say $last? | 23:29 | |
masak | it doesn't print. | ||
it's as if the loop doesn't run. | |||
rakudo: my @a = 1; for 1..10 { my $last = @a[*-1]; say $last; push @a, $last + 1 }; say @a.perl | 23:30 | ||
p6eval | rakudo df38ac: OUTPUT«12345678910[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]» | ||
masak submits rakudobug | |||
23:34
alester left
|
|||
Tene | masak: I wonder if it's calling 'last' somewhere, and therefore finishing the loop. | 23:38 | |
try it with s/last/lolcats/g or something, I'm curious | 23:39 | ||
masak | huh :) | ||
rakudo: my @a = 1; for 1..10 { my $lolcats = @a[*-1]; say $last; push @a, (sub ($s) { $s + 1 })($lolcats) }; say @a.perl | |||
p6eval | rakudo df38ac: OUTPUT«===SORRY!===Symbol '$last' not predeclared in <anonymous> (/tmp/DiXfFApHqA:22)» | ||
masak | rakudo: my @a = 1; for 1..10 { my $lolcats = @a[*-1]; say $lolcats; push @a, (sub ($s) { $s + 1 })($lolcats) }; say @a.perl | ||
p6eval | rakudo df38ac: OUTPUT«[1]» | ||
masak | good guess. but no. | ||
23:40
mberends joined
|
|||
masak | rakudo: my @pascal := [1], -> @p { [0, @p Z+ @p, 0] } ... *; say @pascal[^10].perl | 23:41 | |
p6eval | rakudo df38ac: OUTPUT«(1, Any, Any, Any, Any, Any, Any, Any, Any, Any)» | ||
masak | also, this should work, should it not? | ||
rakudo: my @pascal = [1], -> @p { [0, @p Z+ @p, 0] } ... *; say @pascal[^10].perl | 23:42 | ||
p6eval | rakudo df38ac: OUTPUT«(timeout)» | ||
masak | does '(timeout)' have to be inside the OUTPUT«...» block? :) | 23:43 | |
masak submits rakudobug for the binding thing | 23:44 | ||
lue | oh, does evalbot now say (timeout) for timeouts? [In which case I vote you replace the whole OUTPUT«...» with (timeout)] | 23:45 | |
masak | oh! it's because := thinks it binds an item, not a list. | 23:48 | |
23:48
ash_ left
|
|||
lue hides | 23:48 | ||
23:50
ash_ joined
|
|||
TimToady | rakudo hasn't caught up with recent spec change on := | 23:51 | |
my @pascal := do [1], -> @p { [0, @p Z+ @p, 0] } ... *; say @pascal[^10].perl | 23:52 | ||
rakudo: my @pascal := do [1], -> @p { [0, @p Z+ @p, 0] } ... *; say @pascal[^10].perl | |||
masak | ...and I don't see a rakudobug for it, so submitting one anyway. | ||
p6eval | rakudo df38ac: OUTPUT«([1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1], [1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 9, 36, 84, 126, 126, 84, 36, 9, 1])» | ||
masak | TimToady++ # nice workaround | ||
I'll use that in my blog post. | |||
lue: well, sometimes it gives output *and* times out. :) | 23:54 | ||
23:56
[Coke] joined
|
|||
[Coke] | masak: 77462 starts with p6eval /reply/, not the send that generated it. | 23:58 | |
phenny | [Coke]: 25 Aug 21:00Z <moritz_> tell [Coke] could you please add ttjjss.wordpress.com/category/perl/feed/ (nick tadzik, realname Tadeusz Sośnierz) to planetsix? thank you | ||
masak | [Coke]: oops. fixing. |