»ö« | 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. |
|||
masak submits suspected backtrace printer bug RT ticket | 00:01 | ||
00:01
Psyche^ joined
|
|||
masak | two o'clock. time to sleep a tiddle bittle. | 00:03 | |
'night, #perl6! | |||
00:03
masak left
|
|||
TimToady | er, nighty night, belatedly | 00:03 | |
00:04
lest_away is now known as lestrrat
00:05
Patterner left,
Psyche^ is now known as Patterner
00:18
rgrau__ joined
00:19
rgrau_ left
00:25
masonkramer joined
00:26
rgrau__ left
00:27
risou left
00:32
meppl left
00:36
melte left
00:43
drbean joined
00:45
draxil left
00:50
envi^home joined
00:56
Patterner left
00:57
envi^home left
01:02
draxil joined
01:06
Psyche^ joined,
Psyche^ is now known as Patterner
01:11
fod left
01:15
stepnem left
01:18
stepnem joined
01:32
draxil left
01:34
melte joined
01:39
whiteknight left
01:45
thundergnat left
01:47
rurban left
02:06
xinming left
02:07
xinming joined
02:10
agentzh joined
02:17
masonkramer left
02:20
Italian_Plumber left
|
|||
diakopter | oo; who fixed the timout on p6eval | 02:23 | |
02:40
Italian_Plumber joined
02:41
Italian_Plumber left
02:46
guidjos joined
|
|||
colomon | rakudo: say "F2D DAF".trans("D..GA..E" => "GA..B") | 02:46 | |
p6eval | rakudo 82c9e9: OUTPUT«B2G GAB» | ||
02:47
guidjos left
|
|||
colomon | hmmm, something slightly wrong there. | 02:48 | |
rakudo: say "F2D DAF".trans("D..GA..E" => "GA..F") | |||
p6eval | rakudo 82c9e9: OUTPUT«B2G GDB» | ||
colomon | rakudo: say "F2D DAF".trans("C..GABc..gab" => "FGABc..gab") | 02:52 | |
p6eval | rakudo 82c9e9: OUTPUT«B2G GdB» | ||
colomon | :\ | 02:53 | |
rakudo: for $*IN.lines { say $_.trans("C..GABc..gab" => "FGABc..gab"); } | 02:56 | ||
p6eval | rakudo 82c9e9: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected in <anon> at line 22:/tmp/Rc2ejz8lmk in main program body at line 1» | ||
colomon | rakudo: for $*IN.lines { say "F2D DAF".trans("C..GABc..gab" => "FGABc..gab"); } | ||
p6eval | rakudo 82c9e9: OUTPUT«(timeout)2G GdBB2G GdB» | 02:57 | |
colomon | Anyone know if this bug has been reported yet? | 02:58 | |
rakudo: for $*IN.lines { say $_.trans("C..GABc..gab" => "FGABc..f"); } | 03:03 | ||
p6eval | rakudo 82c9e9: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected in <anon> at line 22:/tmp/6YGz39Zqgl in main program body at line 1» | ||
colomon | rakudo: for $*IN.lines { say $_.trans("C..GABc..gab" => "FGABc..g"); } | 03:04 | |
p6eval | rakudo 82c9e9: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected in <anon> at line 22:/tmp/DdFGMFTxKZ in main program body at line 1» | ||
colomon | rakudo: for $*IN.lines { say $_.trans("C" => "F"); } | 03:12 | |
p6eval | rakudo 82c9e9: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected in <anon> at line 22:/tmp/YKbRx1RdKO in main program body at line 1» | 03:13 | |
colomon | rakudo: for $*IN.lines { say $_.trans("C" => "F", "D" => "G"); } | ||
p6eval | rakudo 82c9e9: OUTPUT«Attributes of type 'INTVAL *' cannot be subclassed from a high-level PMC. in <anon> at line 22:/tmp/1s6FRrSI1A in main program body at line 1» | ||
colomon | rakudo: for $*IN.lines { say "F2D DAF".trans("C" => "F", "D" => "G"); } | ||
p6eval | rakudo 82c9e9: OUTPUT«F2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAFF2G GAF» | 03:14 | |
colomon | huh. looks like if I use "djsgfjsk".trans, it calls Cool.trans, but if I use $_.trans, it's calling something else. | 03:22 | |
rakudo: for $*IN.lines { say (~$_).trans("C" => "F", "D" => "G"); } | 03:23 | ||
p6eval | rakudo 82c9e9: OUTPUT«(timeout)Berge, Land am Strome,Land der Äcker, Land der Gome,Land der Hämmer, zukunftsreich!Heimat bist du großer Söhne,Volk, begnadet für das Schöne,vielgerühmtes Österreich,vielgerühmtes Österreich!» | ||
03:31
molaf joined
03:41
ggoebel left
|
|||
colomon | rakudo: say ([+] 1..10) ** 2 - [+] (1..10).map: * ** 2 | 03:44 | |
p6eval | rakudo 82c9e9: OUTPUT«2640» | ||
03:46
leprevost joined
04:03
PZt left
04:04
draxil joined
04:12
awwaiid left
04:21
shade\ left
04:22
shade\ joined
|
|||
jferrero | rss activity of rakudo.org: 02/25/2009 | 04:24 | |
04:28
jferrero left,
leprevost left
04:48
jaldhar left
05:01
molaf left
|
|||
dalek | p-rx: e71d569 | bacek++ | / (2 files): Use @a.push form instead of pir::push |
05:06 | |
05:06
simcop2387 left
05:08
plobsing left
05:16
jaldhar joined
05:17
tylercurtis left
05:20
kaare joined,
kaare is now known as Guest5385
05:22
simcop2387 joined
05:25
tylercurtis joined
05:29
lestrrat is now known as lest_away
06:03
shade\ left
06:04
shade\ joined,
uniejo joined
06:12
wtw joined
06:13
justatheory left
|
|||
TiMBuS | ok so if you make '..' check for Code on either end, you can return -> $z { $min .. $max($z) }, and this solves the @array[1..*-1] issue. @array[0..*] still broken. is this the right solution? | 06:15 | |
06:17
drbean left
06:24
Su-Shee joined
|
|||
Su-Shee | hi everyone. | 06:24 | |
moritz_ | good morning | 06:26 | |
TiMBuS: no; the right solution is to make infix:<..> curry on WhateverCode but not on Whatever | 06:27 | ||
06:32
shade\ left
06:33
shade\ joined
06:40
mberends left
06:47
Mowah joined
|
|||
sorear | rakudo: ([X] (<a b c>),(<1 2 3>),(<x y z>)).perl.say | 06:51 | |
p6eval | rakudo 82c9e9: OUTPUT«(timeout)» | ||
sorear | rakudo: ((<a b c>) X (<1 2 3>) X (<x y z>)).perl.say | 06:53 | |
p6eval | rakudo 82c9e9: OUTPUT«No applicable candidates found to dispatch to for 'infix:<X>'. Available candidates are::(Any $lhs, Any $rhs) in main program body at line 22:/tmp/XnCXnX9FhH» | ||
sorear | rakudo: ([<a b c>] X [<1 2 3>] X [<x y z>]).perl.say | 06:54 | |
p6eval | rakudo 82c9e9: OUTPUT«No applicable candidates found to dispatch to for 'infix:<X>'. Available candidates are::(Any $lhs, Any $rhs) in main program body at line 22:/tmp/M3MFADdCDr» | ||
sorear | rakudo: say (1,2 X 3,4) | ||
p6eval | rakudo 82c9e9: OUTPUT«13142324» | ||
sorear | rakudo: say (1,2 X 3,4 X 5,6) | ||
p6eval | rakudo 82c9e9: OUTPUT«No applicable candidates found to dispatch to for 'infix:<X>'. Available candidates are::(Any $lhs, Any $rhs) in main program body at line 22:/tmp/BcsCRxh1OM» | ||
sorear | rakudo: say (1,2 X (3,4 X 5,6)) | ||
p6eval | rakudo 82c9e9: OUTPUT«13151316141514162325232624252426» | ||
06:55
flatwhatson left
|
|||
sorear | rakudo: say ((1,2) X ((3,4) X (5,6))).perl | 06:55 | |
p6eval | rakudo 82c9e9: OUTPUT«((1, 3), (1, 5), (1, 3), (1, 6), (1, 4), (1, 5), (1, 4), (1, 6), (2, 3), (2, 5), (2, 3), (2, 6), (2, 4), (2, 5), (2, 4), (2, 6))» | ||
sorear | rakudo: say ((1,2) X ((3,4) X (5,6)).map([$^a, $^b])).perl | 06:56 | |
TiMBuS | moritz_, does perl 6 have its own way to curry for that case? | ||
p6eval | rakudo 82c9e9: OUTPUT«Lexical '$a' not found in main program body at line 22:/tmp/v9Y0eDA_0v» | ||
moritz_ | TiMBuS: for which case? | ||
sorear | rakudo hates me | ||
this should just be 1,2 X 3,4 X 5,6 | 06:57 | ||
TiMBuS | er, 1..*-1 | ||
moritz_ | sorear: you need a block around [$^a, $^b] | ||
sorear | anyways, diakopter, ping | ||
moritz_ | TiMBuS: that should curry | ||
06:57
zag joined
|
|||
TiMBuS | is { $min .. $max($^arg) } not the right way to curry that? | 06:57 | |
sorear is back | |||
moritz_ | it is | 06:58 | |
wait | |||
{ $min ... $^arg } | |||
{ $min .. $^arg } | |||
TiMBuS | but the whatevercode is {* - 1} | ||
so you'd need to run it | 06:59 | ||
moritz_ | ah right | 07:00 | |
1..*-1 is supposed to curry exactly like 1+(*-1) does | 07:01 | ||
I'm just not sufficiently awake to explain it correctly :-) | |||
TiMBuS | thats alright then. well then that seems to be what i've done for infix '..', but I still have no idea how to fix [1..*] | 07:02 | |
i think range needs to store a Whatever instead of an Inf | |||
as its $max | |||
moritz_ | I think [1..*] should just curry the [] too | 07:03 | |
not sure though | |||
07:04
zulon joined
|
|||
TiMBuS | uh, i mean .[1..*] | 07:04 | |
if that makes it different | |||
postcircumfix[] is getting given a Range which has 1..Inf at the moment, which is why @a[1..*] will hang | 07:05 | ||
07:08
flatwhatson joined
|
|||
TiMBuS | Range needs to store Whatever instead of Inf (which is why a few days ago I asked if *.Num could just be an Inf) | 07:09 | |
moritz_ | hm | ||
I think there should be postcircumfix accepting a Range, which clips it to the upper index of the arraz | |||
*array | |||
so that @a[1..1000] boils down to @a[1 .. (@a.end min 1000)] | 07:10 | ||
TiMBuS | rakudo: my @a = <1 2>; @a[0..4].perl.say | ||
p6eval | rakudo 82c9e9: OUTPUT«("1", "2", Any, Any, Any)» | ||
tylercurtis | What about assignment? | 07:11 | |
moritz_ | rakudo: my @a = 1..*; say @a[5] | ||
p6eval | rakudo 82c9e9: OUTPUT«6» | ||
TiMBuS | atm rakudo fills in the gaps. is that per the spec? | ||
moritz_ | no | 07:12 | |
tylercurtis | I'd expect "my @a; @a[0..4] = 1, 2, 3, 4, 5;" to be essentially the same as "my @a = 1, 2, 3, 4, 5;" | ||
TiMBuS | oh thats a good point | ||
moritz_ | huh | 07:14 | |
I can't think of a clever way to solve that, and still have the clipping that the spec wants | |||
TiMBuS | parser magic? | 07:15 | |
sorear | It would seem that Fast Boyer-Moore does not play well with 0x10FFFF-character charsets | 07:16 | |
tylercurtis | Maybe the returned slice could keep track of both the explicit range and the clipped version and use the former when assigned to. | 07:19 | |
07:21
Mowah left,
Mowah joined
|
|||
moritz_ | TiMBuS: can't be parser magic, the parser doesn't know if something is an lvalue or not | 07:22 | |
consider | |||
multi f($x is rw) { ... }; f @a[0..4] | |||
there might be other non-rw multis | |||
07:26
Mowah left,
Mowah joined
07:27
Mowah left,
Mowah joined
07:28
Mowah left,
Mowah joined,
zulon left
|
|||
tylercurtis | Good night, #perl6. | 07:32 | |
07:33
tylercurtis left
07:34
Guest96590 joined
07:35
Guest96590 left
|
|||
dalek | ok: 95496c8 | qiuhw++ | README: typo fix of README. |
07:37 | |
07:39
Mowah left
07:40
Mowah joined
07:42
Mowah left
07:44
wamba joined
07:54
zulon joined
07:55
drbean joined,
tadzik joined,
xinming left
08:03
PZt joined
|
|||
tadzik | good morning | 08:04 | |
sorear | hello | 08:07 | |
moritz_ | oh hai | 08:11 | |
08:18
zulon left
|
|||
tadzik | when is Star coming? | 08:20 | |
08:21
pnate joined
|
|||
moritz_ | need to ask pmichaud | 08:30 | |
08:33
dakkar joined
|
|||
mathw | tadzik: just keep paying attention, when you feel the firey warmth on your skin you know it's close | 08:35 | |
08:35
timbunce joined
|
|||
tadzik | :) | 08:35 | |
sorear | tadzik: a month ago | 08:36 | |
tadzik | oh noes | ||
moritz_ | I think the question was when *+1 comes out | 08:37 | |
08:38
daxim joined
08:50
am0c joined
08:57
azert0x joined
08:58
tadzik left
09:11
tadzik joined
|
|||
sorear wonders if he can get away with optimizing /foo/ to /.*?foo/ | 09:15 | ||
moritz_ | more like /.*?<(foo/ | 09:16 | |
and only if no :pos modifier is present | |||
09:16
azawawi joined
|
|||
azawawi | hi | 09:17 | |
is $parser->lineof method in STD broken? i get "Use of uninitialized value $ORIG in split at lib/Cursor.pm line 113." | |||
->lineof($pos) should return a line number but it always returns zero now and that warning | 09:18 | ||
sorear | The fact that you could ever use it like that was a bug, now fixed thankfully | 09:20 | |
You probably appreciate the fix, since it made compiling modules without system() possible | |||
azawawi | so what is the correct usage now? | 09:21 | |
sorear | parser support routines should only ever be used in the dynamic scope of parse | ||
azawawi | sorear: that's what is breaking right now, pastebin.ca/1924975 | 09:23 | |
sorear: i used to do ->lineof in S:H:P6 to get the line number of a position | |||
sorear | assigning the text to $::ORIG in the outer dynamic scope will be needed | 09:25 | |
09:25
ejs joined
|
|||
azawawi | sorear: Thanks it worked. A bit hackish though. | 09:29 | |
sorear: S:H:P6 finally going to be released soon :) | |||
tadzik | what is S::H? | 09:32 | |
azawawi | tadzik: S:H:P6 => Syntax::Highlight::Perl6 | 09:33 | |
tadzik | oh, nice | ||
azawawi | tadzik: search.cpan.org/~azawawi/Syntax-Hig...t/Perl6.pm | ||
09:34
masak joined
|
|||
masak | oh hai, #perl6 | 09:34 | |
moritz_ | phenny: tell pmichaud I've tried to read the code for the operator precedence parser; to me it looks like it would be much cleaner (and more extensible) to store things like %!ohash in actual attributes, and require instantiation for the grammar before parsing; is there a good reason against doing it that way? | 09:35 | |
phenny | moritz_: I'll pass that on when pmichaud is around. | ||
mathw | o/ masak | ||
moritz_ | \o masak | 09:36 | |
masak | \o o/ | ||
sorear | masak: I read your paper thingie | 09:39 | |
masak | the one about searching? | ||
sorear | yea | 09:40 | |
masak | was it any good? | ||
sorear | well, if we were doing this 10 years ago it would be | ||
but most of those algorithms have hidden dependencies on the alphabet size | |||
what's good with 256 or 128 characters is not nearly so good with 0x10FFFE (use codes) or infinity (use graphs) | 09:41 | ||
azawawi | sorear++ #re-compiling modules via STD now works perfectly in Padre | ||
sorear | we might be able to get away with doing (use bytes) searching in many cases, like how you can search English text without knowing about words, it might also be possible to skirt under the encoding | 09:42 | |
note that Perl 5 implemented Fast Boyer-Moore with preprocessing, which is explicitly (but tersely) killed in Perl 6 (S29:884) | 09:43 | ||
moritz_ | right, study() never worked with Unicode | 09:44 | |
sorear | (am I the only one who has ever thought about implementing Karp-Rabin using polynomial fields?) | 09:45 | |
masak | think so. :) | 09:47 | |
moritz_ wonders what it is that Rabin carps about :-) | 09:48 | ||
masak | moritz_: nono, it's Karp that rabins :) | 09:49 | |
09:49
barika left
|
|||
masak | S29:891: "Note: P5's tied() is roughly replaced by P6's variable()." only mention of 'variable()'? | 09:49 | |
moritz_ | fossile | 09:50 | |
masak | ...should be... VAR()? | ||
moritz_ | probably | 09:52 | |
09:52
azawawi left
|
|||
masak doesn't know enough about tied() | 09:54 | ||
jnthn | morning, all | 09:55 | |
Yes, VAR sounds like the thing. | 09:56 | ||
masak | jnthn! \o/ | ||
jnthn | Though it's identity on non-scalars. | ||
masak! \o/ | |||
sorear out | 09:57 | ||
moritz_ spectests tylercurtis++'s memory leak fix | |||
10:06
bythos joined
|
|||
bythos | hello | 10:07 | |
moritz_ | hi | ||
bythos | :D | ||
so silly question but does anyone have any idea if perl6 will ever get to production quality? | 10:08 | ||
tadzik | sure it will | ||
even before christmas | |||
bythos | crazy talk | 10:09 | |
been waiting 10years | |||
:D | |||
moritz_ | don't wait, help | ||
bythos | maybe | ||
moritz_ | there's plenty of stuff to do | ||
tadzik | first to criticise are the last to contribute. No offence | ||
bbkr | how bare arrays behave in regexps now? like literal match? | 10:10 | |
bythos | lol | ||
its all very light | |||
moritz_ | write modules, documentation, blogs, compiler.... | ||
bbkr: @a is supposed to interpolate just like @a[0] | @a[1] | ... | |||
masak | bythos: you could do like some of us. we waited 5 years, and then we did other stuff... we helped bring it along. :) | ||
tadzik | play the Perl 6 mmorpg | ||
moritz_ | bbkr: so the interpolation rules for scalars apply to each item individually | 10:11 | |
tadzik | use.perl.org/~masak/journal/39445 | ||
bbkr | moritz_: but it should interpolate in range only? like /<@a>/ or bare too like /@a/? there is some inconsistency with STD | ||
bythos | i have to get something off my back | 10:12 | |
i'm very angry | |||
masak | hugme: hug bythos | ||
hugme hugs bythos | |||
tadzik | I knew it will happen :) | ||
bythos | i'm been force to programme in php | ||
tadzik | hugme: hug bythos | ||
hugme hugs bythos | |||
bbkr | std: "" ~~ /@t/ # looks like literal match | 10:13 | |
moritz_ | rakudo: my @a = <foo bar>; say 'a gymnast walks to the bar' ~~ / @a / | ||
p6eval | std 32103: OUTPUT«ok 00:01 119m» | ||
rakudo 82c9e9: OUTPUT«» | |||
bbkr | rakudo: "" ~~ /@t/ # looks like it wants @t array to be defined | ||
p6eval | rakudo 82c9e9: OUTPUT«===SORRY!===Symbol '@t' not predeclared in <anonymous> (/tmp/CDKnmoDGGl:22)» | ||
bbkr | moritz_: see? | ||
moritz_ | bbkr: reading S05, I'm pretty sure that STD is wrong here | ||
bbkr: perlcabal.org/syn/S05.html#Variable...erpolation search for @cmds | 10:14 | ||
bythos | i use to programme in perl5 before only started looking at it again after the advent of JSON | ||
moritz_ | though it's a bit inconsistent that arrays should interpolate in double-quoted strings only if followed by a postcircumfix, but always in regexes | ||
bbkr | moritz_: that proves it's not me being sleepy, but there is bug indeed in STD :) show should I report to? RT? | 10:15 | |
s/show/who/ | |||
moritz_ | phenny: tell TimToady std: '' ~~ /@t/ # should complain about @t not being declared. Found by bbkr++ | ||
phenny | moritz_: I'll pass that on when TimToady is around. | ||
moritz_ | bbkr: like this :-) | ||
bythos | it sure takes time to build rakudo | ||
moritz_ | yes; performance is one the areas that will be worked on in the next months | 10:16 | |
bythos | ok | ||
got a very old 600mhz working on it at the moment | 10:17 | ||
tadzik | oh | ||
moritz_ | for rakudo the more interesting question is how much RAM you have available | 10:18 | |
if you have about 1G free, it builds much quicker | |||
bythos | not much on that machine about 192 | ||
lolz | 10:19 | ||
oh it serve as svn server | |||
os is freebsd | 10:20 | ||
yeah its using most of the swap | 10:21 | ||
dalek | kudo: 3a339ee | ++ | src/pmc/objectref_pmc.template: Switch objectref_pmc.template to auto_attrs. Fixes a nasty memory leak that would leak at least 3 scalars per block. Now a simple 'while 1 { }' loop seems not to leak anymore. Signed-off-by: Moritz Lenz [email@hidden.address] |
||
tadzik | tylercurtis++ | 10:22 | |
masak | tylercurtis++ | ||
10:22
meppl joined
|
|||
jnthn | tylercurtis++, and [Coke]++ for hunting it down too :-) | 10:24 | |
masak | I've just confirmed my enums patch segfault against Rakudo #29 Erlangen. trying #26 Amsterdam now. | ||
10:29
timbunce_ joined
|
|||
masak | hm. will be tougher with pre-#26 releases, since named enums seem to have been introduced by that release. | 10:30 | |
10:30
tadzik left
|
|||
masak | but verifying the segfault in #26 already means that at least four Parrot releases are affected. | 10:30 | |
<whiteknight> masak: If rakudo would play nice, and follow supported releases instead of attempting to track svn HEAD, there would be fewer segfaults | 10:31 | ||
just sayin' | |||
jnthn | I think you just found an uncitation. ;-) | ||
masak | I think what he really meant was "thank you for tracking down this segfault which we haven't been able to discover ourselves for a very long time" | 10:32 | |
10:32
timbunce left,
timbunce_ is now known as timbunce,
agentzh left
|
|||
masak tries to patch named enums, then his nice-enums patch, into Rakudo #26 | 10:33 | ||
10:36
mtrg joined
|
|||
mtrg | I don't see why we need perl6. If all efforts were directed to Perl5 it could have been better IMO | 10:36 | |
masak | mtrg: oh, your right! | 10:37 | |
thanks, we'll stop working on it now. | |||
masak decides to spend all his time on Perl 5 work from now on | |||
s/your/you're/ # I must not have had my coffee today | |||
bythos | lol | ||
mtrg | perl6 is slow, and it's syntax is getting closer to C IMO | ||
masak | mtrg: you're absolutely right. It's very close to C. | 10:38 | |
bythos | really? | ||
osfameron | you must program a very strange dialect of C ;-) | ||
mtrg | it's a brainfart as far as I understand | ||
masak | mtrg: yes. it's horrible. | ||
mtrg: none of us like it, really. | |||
mtrg: it stinks. | |||
mtrg: in fact, I don't know why I've spent all this time working on it... | |||
TiMBuS | i hate perl 6 pretty bad, myself | ||
masak | we all hate Perl 6 in here. | ||
osfameron | I hear COBOL is the way forward! | ||
masak | FORTRAN is gaining mindshare again. | 10:39 | |
bythos | so you can do stuff like this in perl6 | ||
class A{ | |||
sub doSomething{ | |||
} | |||
mtrg | any hope to have Perl6 faster than Perl5 | ||
bythos | } | ||
10:39
drbean left,
barika joined
|
|||
mtrg | so far it's deadly slow | 10:39 | |
masak | bythos: try to prefer nopaste for more than two lines, kthx | ||
bythos: yes, but a sub is different from a method. | 10:40 | ||
mtrg: no, it'll never be faster. we just stopped working on it, remember? | |||
mtrg: you adequately told us that it was useless. | |||
so we just gave up. | |||
Su-Shee | masak: so, what are you still doing here? ;) | ||
gfldex | poking ppl in the eye ofc :) | 10:41 | |
masak | Su-Shee: I'm discouraging people from working any more on Perl 6 :P | ||
bythos | so mtrg was perl4 slower than perl5? | ||
Su-Shee | good! | ||
TiMBuS | if only we just rewrote perl 5 but with perl 6 features... | ||
mtrg | bythos: no idea | ||
masak | mtrg: obviously you have gained great insight into this whole Perl 6 process, and should tell us all about it. | ||
10:42
arthur-_ joined
|
|||
bythos | well maybe you should go find out | 10:42 | |
mtrg | i read somewhere that it's regexp is too diff. | ||
than p5 | |||
masak | mtrg: yeah, they're too different. hence they're bad. | ||
because Perl 5 regexes were perfect, really. | |||
10:43
arthur-_ left
|
|||
Su-Shee | masak: also, - face it - you don't have mst's hair. | 10:43 | |
masak | I should stop thinking about Perl 6 regexes. they were a distraction to my real purpose in life: writing Perl 5 regexes. | ||
bbkr | what does this signature mean: "multi method new(::T $min, ...)" ? what is "::T" for here? | ||
jnthn | bbkr: Type capture | ||
bbkr: T will after this point be a type variable that holds the type of whatever was passed as $min | 10:44 | ||
masak | Su-Shee: you're right. which is why I'm subtly sarcastic instead of ALL-CAPS F***ING PROFANE! | ||
bythos | kind of like but not at all like templates in c++ | ||
? | |||
gfldex | yes | ||
TiMBuS | ok so locally: my $a = {3-$^a}..{5+$^b}; $a(3, -2) # now prints 0 1 2 3 | ||
masak | bythos: aye. | ||
bbkr | jnthn: thanks, looks useful :) | 10:45 | |
TiMBuS | is this what is meant to happen | ||
masak | TiMBuS: you can't have $^a and $^b sperad over two different closures. | ||
TiMBuS: that's... insane. :) | |||
gfldex | TiMBuS: remember perl 6 only looks like magic :) | 10:46 | |
TiMBuS | but but.. they had to curry D: | ||
masak | TiMBuS: you probably want * | 10:47 | |
mathw | wouldn't they be completely different sets of hypotheticals | ||
masak | mathw: they're placeholders, not hypotheticals. | ||
TiMBuS | i cant test for whatevercode in core for some reason | ||
mathw | oh | ||
what are hypotheticals then | |||
are there even such a thing | |||
TiMBuS | so i just tested for Code | ||
bbkr | rakudo: sub foo (::T $x, T $y) { }; foo(1, "a") # wow, it can be propagated to other params as well :) | ||
masak | mathw: hypotheticals are declared with 'let'. no implementation does them. | ||
p6eval | rakudo 82c9e9: OUTPUT«Constraint type check failed for parameter '$y' in 'foo' at line 22:/tmp/M3iQ2oGGLT in main program body at line 22:/tmp/M3iQ2oGGLT» | 10:48 | |
mathw | masak: okay. | ||
masak | mathw: Yapsi will be first implementing them. :P | ||
mathw decides to figure out how to do them in Rakudo first | |||
:P | |||
jnthn | Go mathw! ;-) | ||
masak | good luck. | ||
mathw | dammit | ||
masak | really. | ||
mathw | trust jnthn to notice that | ||
TiMBuS | masak, so is the range 'Code..Code' not allowed? | ||
masak | TiMBuS: allowed, yes. meaningful? I don't know. | ||
mathw | jnthn: I'm off work next week, after I get back from holiday I may try something (need to do my CLA too), but I'm intending to focus primarily on music | 10:49 | |
TiMBuS | well, i implemented it then | ||
mathw -> lunch & | |||
TiMBuS | i just figured since .[1..*-1] is essentially 'Int..Code', a crazy person will find use for 'Code..Code', so I added it. | 10:51 | |
masak | hm, true. | 10:52 | |
TiMBuS | checks for arity too! | 10:53 | |
masak | but these code ranges are only every eval'ed inside slices. | ||
TiMBuS: *-2 .. *-1 is very conceivable. | |||
bbkr | rakudo: sub foo (::666 $y) { }; foo("a") # curious how it will parse | ||
p6eval | rakudo 82c9e9: OUTPUT«===SORRY!===ResizablePMCArray: Can't pop from an empty array!» | ||
bbkr | hmm | ||
TiMBuS | my $a = {$^a+$^b}..{$^c}; $a(1,2,5); #Gives 3 4 5 | ||
well, i guess ill submit it as the patch to .[1..*-1] and see what happens. also i have no idea how [*-2 .. *-1] would work. postcircumfrence[] needs to check arity and duplicate .length as needed | 10:55 | ||
err. .elems | |||
jnthn | postcircumfix ;-) | ||
TiMBuS | im um. slightly drunk | ||
jnthn | \o/ | ||
That's a great time to work on Rakudo patches. ;-) | 10:56 | ||
x3nU | is loop faster than for? | ||
masak | x3nU: yes, currently. | 10:57 | |
bythos | 1gb of ram free for building rakudo? | ||
masak | x3nU: because for creates an iterator, which is slowish. | ||
bythos: sounds about right. more is better. | |||
bythos | vm so that will have too | ||
masak | sorry, couldn't parse that. | 10:58 | |
bythos | do | ||
running a virtual machine so i can build it for freebsd | 10:59 | ||
build it on | |||
masak | I see. | ||
bythos | it abit of a trouble if you company is running VM and you have limited ram resources | 11:00 | |
x3nU | is there smarter way to convert number from dec to bin | 11:03 | |
t | |||
than sprintf* ? | |||
TiMBuS | jnthn, was wondering if you could solve this conundrum: An array slice bigger than said array's boundaries will pad out any unused indexes with Any, so that slice assignment works (ex. @a[0..2] = (1,2,3) ). (more) | 11:06 | |
However @array = <a b c>; @array[0..5] is supposed to only return <a b c> (according to moritz_) | 11:07 | ||
jnthn thought Rakudo already got that one right... | 11:08 | ||
rakudo: my @a; say @a[0..2]; say @a.elems; | |||
p6eval | rakudo 3a339e: OUTPUT«Any()Any()Any()0» | ||
jnthn | Yes, it's there somewhere :-) | ||
zag | bythos: For install rakudo simply type: pkg_add -r rakudo , without compile | ||
jnthn | TiMBuS: I think it's to do with WHENCE | ||
TiMBuS: That is, we return something that, if assigned to, will actually create the elements in the array. | 11:09 | ||
So it's kinda lazy. | |||
TiMBuS | ah, thats different to how I thought it was meant to work | 11:10 | |
well that sucks (trying to implement .[1..*] here, if arrays clipped to their boundaries when sliced then it wouldn't be a problem) | 11:12 | ||
11:27
smash_ joined
|
|||
smash_ | hello everyone | 11:27 | |
bythos | hi | 11:32 | |
masak | smash_! \o/ | 11:40 | |
11:42
envi^home joined
11:46
azawawi joined
|
|||
azawawi | std: my $x = Mu; $x.say; | 11:46 | |
p6eval | std 32103: OUTPUT«ok 00:01 118m» | ||
azawawi | rakudo: my $x = Mu; $x.say; | ||
p6eval | rakudo 3a339e: OUTPUT«Mu()» | ||
masak | rakudo: role R { method bar { say "bar" } }; my $foo = class { method foo { say "foo" } }; $foo does R; $foo.foo; $foo.bar | 11:47 | |
p6eval | rakudo 3a339e: OUTPUT«Attempt to use rebless_subclass where the new class was not a subclass in 'infix:<does>' at line 6760:CORE.setting in 'infix:<does>' at line 530:CORE.setting in main program body at line 22:/tmp/R0XxpGl7EU» | ||
masak submits rakudobug | |||
masak feels like King Midas sometimes :) | |||
everything I touch becomes a bug report. | |||
11:48
azawawi left
11:49
zulon joined
|
|||
Su-Shee recommends rereading some greek stories. ;) | 11:50 | ||
11:50
kiffin joined
|
|||
takadonet | morning all | 11:50 | |
masak | takadonet: \o | ||
rakudo: my $foo = class { method foo { say "foo" } }; $foo does role { method bar { say "bar" } }; $foo.foo; $foo.bar | 11:52 | ||
p6eval | rakudo 3a339e: OUTPUT«Attempt to use rebless_subclass where the new class was not a subclass in 'infix:<does>' at line 6760:CORE.setting in 'infix:<does>' at line 530:CORE.setting in main program body at line 22:/tmp/CywfZT9UpD» | ||
masak | rakudo: class { method foo { say "foo" } } does role { method bar { say "bar" } }; $foo.foo; $foo.bar | 11:53 | |
p6eval | rakudo 3a339e: OUTPUT«===SORRY!===Symbol '$foo' not predeclared in <anonymous> (/tmp/EwvFATwVwf:22)» | ||
masak | rakudo: class { method foo { say "foo" } } does role { method bar { say "bar" } } | ||
p6eval | rakudo 3a339e: OUTPUT«Attempt to use rebless_subclass where the new class was not a subclass in 'infix:<does>' at line 6760:CORE.setting in 'infix:<does>' at line 530:CORE.setting in main program body at line 22:/tmp/dnfsA8eOTN» | ||
masak | rakudo: class {} does role {} | ||
p6eval | rakudo 3a339e: OUTPUT«Attempt to use rebless_subclass where the new class was not a subclass in 'infix:<does>' at line 6760:CORE.setting in 'infix:<does>' at line 530:CORE.setting in main program body at line 22:/tmp/zNMX2gkFBG» | ||
moritz_ | a worthy golf, sir masak | 11:55 | |
masak | thanks. | ||
a subpar amount of strokes, though :) | |||
but I attribute that to being a bit shell-shocked by studying. :) | 11:56 | ||
11:57
mberends joined
|
|||
masak | lithos++ # noticing dupes and connections in RT tickets | 11:57 | |
mberends! \o/ | |||
moritz_ | btw now that a major memory leak is gone, I'm trying to run the Math::Model simulations that I've shown at YAPC, this time all in one prcoess | 11:58 | |
so far I did it by spawning a new process for each iteration in the parameter sweep | 11:59 | ||
mberends | hi masak, moritz_ # I didn't even notice my laptop reconnecting after a sleep | 12:01 | |
moritz_ | o/ | 12:02 | |
seems like the memory footprint of a small rakudo program is 174MB on a 64bit machine | 12:03 | ||
12:04
jedai left
12:05
jedai joined,
lest_away is now known as lestrrat
12:09
frooh left
12:10
lamstyle left
12:11
lamstyle joined,
frooh joined
12:12
drbean joined
|
|||
mberends | my REPL uses 168MB (64 bit) or 84MB (32 bit), slightly different revisions but almost the same. An amazing difference. | 12:13 | |
masak | wow! | 12:14 | |
x3nU | yeah, rakudo is using 1100 MB of memory and still growing | 12:17 | |
;d | |||
masak | x3nU: maybe you should try the latest from Rakudo master, then. | 12:18 | |
moritz_ | good thing is, my simulation has now been running for >20 minutes, and it's still using less than 200M virtual memory | ||
x3nU | masak: i would prefer rakudo star more | ||
;/ | 12:19 | ||
masak | x3nU: you're in luck! there's a release coming out in... how long again? hours? | ||
x3nU | so i will wait :) | ||
mathw | moritz_: good, not leaky :) | 12:20 | |
moritz_ | mathw: or if it leaks at a much smaller rate than before | ||
reach 200M virtual mem now, after 26min run time | 12:21 | ||
mathw | yeah | ||
it's better than we've had... | |||
moritz_ | yes; it used to leak about 1MB per second | 12:22 | |
now about 0.5M per minute | |||
masak | not leaking is very good news. | ||
er, not leaking *as much*, then. :) | |||
moritz_ | (a news that sadly won't make it into R*+1) | ||
masak | oh, right. | ||
x3nU: sorry, you'll have to wait a month, then. | |||
x3nU: or try bleeding Rakudo. | 12:23 | ||
x3nU | why? :( | ||
moritz_ | hugme: tweet rakudoperl #rakudo now comes with drastically reduced memory leaks; long running processes are possible again #perl6 | 12:24 | |
hugme hugs moritz_; tweet delivered | |||
masak | x3nU: because the fix went in very recently, and R*+1 will build off of the last Rakudo compiler release. | 12:25 | |
mathw | which was made on Thursday | ||
x3nU | geez | ||
jnthn | pmichaud++ could always decide that he wants to memory fix in the R*+1 | ||
mathw | we're still doing better than my work | ||
moritz_ | you can think of it this way: rakudo development is so fast, that even 5 days after a compiler release it's already worth switching to a new version :-) | ||
mathw | one major cool thing I did has been waiting for a release for nearly a year now | 12:26 | |
x3nU | i can't download new rakudo because perl taked nearly all of my mememory :D | ||
memory* | |||
gfldex | i never do 'git pull' when i cant hold onto something | ||
that's how fast rakudo races onwards :) | |||
12:27
sunnavy_ left
|
|||
x3nU | there's no nightly builds for rakudO? | 12:27 | |
rakudo* | |||
of* ;f | |||
masak | no. maybe there should be. | 12:28 | |
12:28
sunnavy joined
|
|||
masak | I could see Emmentaler handling that, too. | 12:28 | |
12:29
timbunce_ joined,
timbunce left,
timbunce_ is now known as timbunce
|
|||
pmichaud | good morning, #perl6 | 12:30 | |
phenny | pmichaud: 09:35Z <moritz_> tell pmichaud I've tried to read the code for the operator precedence parser; to me it looks like it would be much cleaner (and more extensible) to store things like %!ohash in actual attributes, and require instantiation for the grammar before parsing; is there a good reason against doing it that way? | ||
masak | morning, pm | ||
moritz_: is hugme source online somewhere? | 12:31 | ||
moritz_ | masak: sure | ||
masak | nvm, found it. github.com/moritz/hugme | ||
moritz_ | hugme: show hugme | ||
hugme | moritz_: the following people have power over 'hugme': PerlJam, TimToady, [particle], colomon, jnthn, masak, mberends, moritz_, pmichaud. URL: github.com/moritz/hugme/ | ||
pmichaud | moritz_: (%!ohash) I think it works out better as an "our" attribute. | 12:32 | |
moritz_ | pmichaud: why? and how would you build two precedence parsers in the same program? | ||
pmichaud | oh, that's a good point. I'm mis-thinking of "our" attributes. | 12:33 | |
requiring instantiation of a grammar before parsing seems kind of weird, though. | 12:34 | ||
and it gets a bit expensive to initialize that hash on every instance. | |||
moritz_ | if it keeps state, why not force it to instantiate? | ||
pmichaud | ...does it keep state? | ||
moritz_ | for example through .O | 12:35 | |
not all grammars do | |||
pmichaud | that's always done at INIT time, though. | ||
moritz_ | but the OPP does | ||
pmichaud | (or CHECK) | ||
%!ohash is never modified, once initialized. | |||
moritz_ | and I don't see how it would be very expensive, if one parse (mostly) uses only one instance | 12:36 | |
bbkr | rakudo: %() | 12:37 | |
p6eval | rakudo 3a339e: ( no output ) | ||
bbkr | \o/ | ||
moritz_ | rakudo: %(); say "alive" | ||
p6eval | rakudo 3a339e: OUTPUT«alive» | ||
12:38
zulon left
|
|||
pmichaud | src/Perl6/Grammar.pm lines 1510-1536 initialize %!ohash. You want to do that on every instance? | 12:38 | |
12:39
sunnavy left
|
|||
pmichaud | I agree that we at least need to have a per-grammar %!ohash | 12:39 | |
i.e., it can't be global for all grammars | |||
12:39
frooh left
|
|||
moritz_ | per-grammar would be a big improvement | 12:39 | |
pmichaud | I'm not sure that I want it to be *every grammar instance* | ||
remember that Grammar is Cursor | |||
and we create new Cursors on every subrule. | 12:40 | ||
moritz_ | hm, right | ||
12:40
frooh joined
|
|||
pmichaud | so it's not "one grammar per parse"... it's really "one grammar per subrule" | 12:42 | |
STD handles it lexically, so perhaps we'll have to do something like that. | |||
in nqp it's nicely abstracted behind .O(...), so we can fix it there. Essentially, we want to store a property or attribute on the grammar's type object, and have all instance share that. | 12:44 | ||
*instances | |||
moritz_ | and have some attributes that override it, in case of a lexical grammar modification? | 12:45 | |
12:45
frooh left
|
|||
pmichaud | yeah, maybe. Maybe lexical is in fact the way to go, now that lexicals are far enough along to be somewhat workable. | 12:45 | |
12:45
sunnavy joined
12:46
frooh joined
|
|||
pmichaud | anyway, is this a blocker at the moment? | 12:46 | |
(it's a small blocker for me, now that you've pointed it out :) | |||
moritz_ | no; just a curious question while reading the code | ||
pmichaud | I'm glad you noticed it -- it explains a couple of difficulties I was having. | 12:47 | |
moritz_ | it was the "don't we have OO to do that better?" kind of question :) | ||
mathw | OO in 'doing things better' shock | 12:48 | |
masak | there's no "OO" in "doing things better". | ||
'Perl 6: putting the "OO" back in "doing things better".' | |||
moritz_ | dOOing things better | ||
masak | ...but spelling them worse? :P | 12:49 | |
moritz_ | aye :-) | ||
12:50
frooh left
|
|||
pmichaud | Rakudo is being included in Fedora 14. :-) | 12:51 | |
It got its own bullet point in the release announcement. | 12:52 | ||
takadonet | !! | ||
pmichaud | lwn.net/Articles/401735/ | ||
moritz_ | I think gerd++ deserves karma for that | ||
12:52
frooh joined
|
|||
mathw | that's scary | 12:52 | |
very scary | |||
moritz_ | which reminds me, he sent me a patch for the blizkost build system | 12:53 | |
pmichaud | it also got highlighted in java.dzone.com/dose/dzone-daily-dose-825 | ||
"The first pre-release of Fedora 14 arrived a week earlier than expected. Some of the major changes in Fedor 14 will include a switch to systemd, a sysvinit and upstart alternative, and the inclusion of the Rakudo Star distro of Perl 6." | |||
mathw | well on the bright side | 12:54 | |
systemd will get all the flak | |||
pmichaud | lol | ||
masak | :) | ||
mathw | (there is moaning that it can't possibly be safe to move to it that quickly) | ||
I think F14 looks awesome | |||
they're shipping D as well | |||
Think I'll stick Fedora as my primary OS for a while yet | 12:55 | ||
but you can bet we're going to get more people around complaining that R* is too slow | 12:56 | ||
moritz_ | that's OK | 12:57 | |
12:59
plainhao joined
13:00
Holy_Cow joined
|
|||
masak | Holy_Cow: \o | 13:00 | |
13:01
masonkramer joined
|
|||
Holy_Cow | o/ | 13:01 | |
13:03
echosystm joined
|
|||
echosystm | hi guys | 13:03 | |
masak | echosystm: hi! | ||
echosystm | will perl 6 support static variables and methods properly? | ||
also, what about full public/private/protected ? | 13:04 | ||
masak | echosystm: as in "on the class"? | ||
echosystm | yep | ||
masak | echosystm: not as such, no. I have a blog post about it, hold on. | ||
echosystm | ok thanks :) | ||
masak | (this is still about the first question, btw) | ||
hold on :) | |||
moritz_ | all methods that don't use object attributes can be used as static methods | ||
and static attributes are specced | |||
echosystm | i know many perl folk consider static things to be a corruption of a pure object model | 13:05 | |
but they are ridiculously useful | |||
masak | echosystm: tell me a few of their uses. | ||
moritz_ | perl traditionally gives you all the power, including enough to shoot yourself in the foot, if you want | ||
colomon | I thought all you had to do was say "my $var;" in a class declaration? | ||
pmichaud | or "our $var" | ||
moritz_ | colomon: that's lexically scoped, not class scoped | 13:06 | |
colomon: which differs if you augment | |||
masak | colomon: but that's not inherited by subclasses. | ||
colomon | ah. | ||
13:06
zulon joined
|
|||
echosystm | basically, if you want true static things, youre best off using some moosex:: madness | 13:06 | |
moritz_ | echosystm: private and public attributes are supported | ||
no protected | |||
echosystm | but i dont do that | ||
moritz_ | protected doesn't really make sense - why should something be only part of an API if you inherit from a class? | 13:07 | |
*only be part | |||
smash_ | moritz_: can i quote you on that ? "perl traditionally gives you all the power, ..." :) | 13:08 | |
masak | echosystm: here you go: use.perl.org/~masak/journal/40321 | ||
echosystm | (arguably) better polymorphism or encapsulation or some other term moritz_ | ||
moritz_ | smash_: if iyou feel like | ||
13:08
orafu left
|
|||
moritz_ | echosystm: care to explain your "better polymorphism or encapsulation" answers my question? | 13:08 | |
echosystm | personally i like to have public/private/protected rather than pseudo-hiding things with underscores | 13:09 | |
13:09
orafu joined
|
|||
moritz_ | *how your... | 13:09 | |
moritz_ reall can't type today | |||
echosystm | well some things you just dont want to be accessible | ||
moritz_ | then make them private | ||
echosystm | i think it is important to simplify the interfaces | ||
moritz_, if they are private you cant subclass them | |||
thats the whole point of protected - subclassable private attributes | 13:10 | ||
TiMBuS | if i need to lie about the arity of a generated code block will I be able to just set it using PIR and will nothing break? | ||
(better yet) is there a way to generate a code block with a dynamic amount of parameters | |||
moritz_ | echosystm: why should subclassing provide you access to private data? | ||
echosystm | because subclasses need to be able to see the attributes of their super class... | ||
lol | |||
moritz_ | why not just provide an API which the subclasses can use+ | ||
s/\+/?/ | |||
just like any other class really | 13:11 | ||
echosystm | because some data should be hidden from the outside world | ||
moritz_ | I don't see why inheriting classes need a different API than using classes | ||
echosystm: but subclasses are also "outside world", in the sense that they are written by somebody else | |||
masak | echosystm: in Perl 6, you can't hide data from the outside world. not even private things. | 13:12 | |
echosystm | ok | ||
masak | or at least it's very difficult. | ||
echosystm | hrm, bummer | ||
moritz_ | well, private attribute exist | ||
and are pretty easy to use | |||
it's just that they aren't fully private | |||
you can use introspection to get their values | |||
(but I guess you can do that in Java too...) | |||
masak | yes, you can. | 13:13 | |
moritz_ | so, java has no privacy either? | ||
masak | only the compiler enforces privateness in Java. the runtime doesn't. | ||
some Java libraries leverage that. | 13:14 | ||
TiMBuS | my $m = method { return $!super_secret_variable }; my $stolen = $secretclass.$m; | ||
masak | TiMBuS: that won't work, though. | ||
moritz_ | TiMBuS: that works now, but contradicts the spec | ||
masak | TiMBuS: unless the anon method is defined within the scope of the original class. | ||
moritz_ | the resultion of attribute names should really be tied lexically to the class it's in | 13:15 | |
masak | or, I guess, within an augmenting scope of the class. which counts as monkeying with the class. | ||
TiMBuS | aw but i like how it works. i feel like a nerd james bond :( | ||
moritz_ | you can also parse the return value of .perl :-) | 13:16 | |
bbkr | is "multi (Int)" valid syntax to define anonymous multi sub, or do I need {} | ||
13:16
am0c left,
uniejo left
|
|||
moritz_ | you need { } | 13:17 | |
bbkr | moritz_: thanks | ||
masak | for all routine types, you need { } | ||
TiMBuS | uh, but does anyone know the answer to my previous question? its bugging me | 13:18 | |
masak | only package things can use just the ; | ||
bbkr | std: multi (Int) # curious... | ||
p6eval | std 32103: OUTPUT«ok 00:03 117m» | ||
13:19
ejs left
|
|||
masak | TiMBuS: -> *@_ { say @_.elems, " parameters were passed in" } | 13:19 | |
moritz_ | bbkr: why don't you wrap instead of lying? | ||
TiMBuS | masak, but i need .arity to be set | ||
masak | TiMBuS: sounds less-than-clean, whatever it is you're doing. | ||
TiMBuS | yeah well its in the perl 6 core :p | 13:20 | |
masak | TiMBuS: maybe &routine does role { method arity { 42 } }; ? | ||
but I'd really recommend taking a step back at this point, and re-thinking the whole thing :) | |||
13:22
masonkramer left
|
|||
moritz_ | -> $a, $b { foo($a, $b, 3) } # look, it's arity 2 | 13:22 | |
masak | ah. another trampoline :) | 13:23 | |
moritz_ | a lying trampoline :-) | 13:24 | |
jnthn | bouncy bouncy | ||
</dirtyhungarianphrasebook> | |||
huf | yandelavasa gradenwi stravenka? | 13:25 | |
TiMBuS | so I'm just not sure if lying about .arity will break things | ||
13:25
mikehh joined
|
|||
masak | TiMBuS: here's an idea: you could try changing it, and then run the spectests. | 13:29 | |
masak tries to find his sarcasm knob | |||
where did I put it? | |||
huf | on the end of your staff? | ||
13:30
timbunce left
|
|||
masak | huf: you *are* using the Hungarian phrasebook, aren't you? :) | 13:30 | |
huf | well, i *am* hungarian ;) | 13:31 | |
13:31
masonkramer joined
|
|||
masak | then why do you need a phrasebook? :P | 13:31 | |
huf | this is how we always talk | ||
jnthn | masak: To know how to talk about hovercraft in English. | 13:32 | |
huf | we are the pornocracy of absurdistan ;) | ||
masak looks for the sarcasm knob in his hovercraft | |||
jnthn | masak: The sarcasm knob seems to be stuck on max today. :P | ||
masak | jnthn: really? :P | ||
you think so? | |||
what was your first clue? | |||
jnthn | Turn it down turn it down! | 13:33 | |
masak | oh, *that's* a good idea. didn't think of that... | ||
jnthn: you're so useful to have around. | 13:34 | ||
Holy_Cow | *turns it to 11* | ||
[Coke] | (daily builds) that's more useful with binaries, neh? | ||
jnthn | Well what else are you going to build? | ||
masak | trinaries. | ||
jnthn | Oh, wait, we're allowed to be non-sarcastic in here too... | ||
:-) | |||
13:35
sftp joined
|
|||
masak | sftp: you're the only safe option! no-one should use ftp any more! | 13:36 | |
13:37
tadzik joined
|
|||
tadzik | oh hai | 13:37 | |
masak | o/ tadzik | ||
[Coke] yawns. | |||
13:38
risou joined
|
|||
sftp | masak: agreed :^) | 13:40 | |
moritz_ kinda links rsync and unison | |||
masak | sftp: I also only use scp nowadays, never cp. | ||
oh wait. | |||
moritz_ | scp on the local machine? | ||
masak | it works. | 13:41 | |
and it's very secure. :) | |||
13:41
am0c joined
|
|||
sftp | masak: yes... scp is my friend | 13:43 | |
13:45
echosystm left
13:47
Guest5385 left
|
|||
x3nU | well, i'm testing my simple perl 6 script | 13:52 | |
with rakudo star 2010.07 | |||
to know how much ram it will take | |||
(i'm testing on dedicated server :D) | 13:53 | ||
13:53
mikehh_ joined,
mikehh left
13:54
kiffin left,
mikehh_ is now known as mikehh,
javs joined
13:56
timbunce joined
13:58
drbean left
|
|||
TiMBuS | x3nU, is it just helloworld.pl or is it doing a lot of stuff? | 13:58 | |
moritz_ | fwiw, my simulation program ran successfully for 2 hours without exhausting its resource limit of 1GB | 13:59 | |
x3nU | gist.github.com/549562 | 14:00 | |
probably it could be written better | |||
but i don't think that it should eat that much ram | |||
TiMBuS | yeah ive noticed perl6 isnt very leaky, just bloaty | ||
rakudo* | |||
14:00
rgrau_ joined
|
|||
moritz_ | well, rakudo was very leaky until few hours ago | 14:00 | |
x3nU | after 46000 iterations 2GB of ram taken | 14:01 | |
TiMBuS | when my IRC bot ran on alpha it used about half the ram it does now | ||
moritz_, oh? | |||
moritz_ | TiMBuS: see commit 3a339ee8ab3a72867fe914ec9c689e1f5a890645 | 14:02 | |
x3nU: with latest rakudo, RAM usage stays constant at 174M on 64bit | 14:04 | ||
14:04
alester joined
|
|||
moritz_ | at least no change during the first 6k iterations | 14:05 | |
TiMBuS | oh i see moritz_ | ||
i didnt even know there was a 'manual_attrs' option hah | 14:06 | ||
x3nU | anyway | ||
i don't know how to build rakudo for win32 | 14:07 | ||
jnthn | OK, time for me to leave | 14:08 | |
See you all in a week and a half. :-) | |||
x3nU | bye | ||
moritz_ | have fun! | 14:09 | |
x3nU | is it possible to build rakudo under windows without cygwin or msys or uwin? | ||
PerlJam | x3nU: sure! Just install linux first ;-) | ||
[Coke] | PerlJam-- | ||
moritz_ | "it's time toooo asy gooooodbye" /me sings in his best Sarah Brightman voice | 14:10 | |
[Coke] | x3nU: I /think/ it should work out of the box with strawberry perl. | ||
x3nU | i tried configure with latest strawberry perl | ||
moritz_ | x3nU: yes, jnthn uses msvc for compiling parrot and rakudo | ||
x3nU | and i get | ||
gist.github.com/549578 | 14:11 | ||
(that means something like command not found ) | |||
TiMBuS | my @a = <1 2 3 4 5>; say ~@a[*-2..*-1] #Prints 4 5. yay i did thing | ||
moritz_ | x3nU: did you install parrot first? | ||
x3nU: if not, you need the --gen-parrot option | |||
14:11
zulon left
|
|||
moritz_ | x3nU: please read the README | 14:12 | |
x3nU | ;f | ||
lol, normally under linux it warned me about lack of parrot that's why i forogot | |||
forgot* | |||
14:13
zag left
|
|||
x3nU | sorry for my stupidity ;d | 14:13 | |
moritz_ | no problem | ||
x3nU | also | 14:16 | |
105000 iterations | |||
3,5GB ram taken | |||
;d | |||
moritz_ | 75k iterations, 174MB RAM taken | 14:21 | |
x3nU: you should upgrade to a newer rakudo :-) | |||
x3nU | i'm building it on my pc :) | ||
14:23
risou left
14:24
risou joined
|
|||
x3nU | 4,1 GB now :D | 14:24 | |
14:27
plobsing joined
|
|||
moritz_ | pmichaud: is the improvement since R* worth a new release? or should we wait another month? | 14:29 | |
pmichaud | moritz_: well, last month's release announcement said we planned a release for August 24. | 14:30 | |
I was debating that very question myself, this morning. | |||
(and last night) | |||
moritz_ | then there probably should be a release, and a less precise next date in the announcement | 14:31 | |
pmichaud | well, I do like the notion of planned/regular releases, though. | 14:32 | |
I'd rather not get into the habit of "we release when we think we have something good enough to release" | |||
and we've always said "we release even if there nothing significant to release", so we should likely honor that. | |||
moritz_ | ok | 14:33 | |
pmichaud | There are some improvements. One guy even added more regex modifiers. :-) | ||
x3nU | ok, finished building | 14:34 | |
now i'm running my script on latest rakudo from repo ;d | 14:35 | ||
masak | I think releases are almost always a good thing. | 14:37 | |
PerlJam | x3nU: I've been running it for a while now. On my box it uses a steady 183m RAM. (so far) | ||
moritz_ | so, when will be the next R* release? | ||
pmichaud | in a few hours | ||
after that, September 28. | |||
moritz_ | I meant the one af... right | ||
pmichaud | I'm generally going with "Tuesday following Rakudo release" | 14:38 | |
x3nU | on my pc after 11k iterations around 50 MB | ||
moritz_ | x3nU: then you have a 32bit system | ||
x3nU | yes | ||
14:40
wtw left
14:42
jwest- joined
14:48
slavik joined,
Mowah joined
14:53
justatheory joined
|
|||
tadzik | I removed Config::INI from Star, as it doesn't work the latest Rakudo and I have no time to fix it | 14:55 | |
bythos | i do not think that i a developer relate to Camelia. | ||
the spokesbug | 14:56 | ||
moritz_ | that's OK | ||
14:56
tylercurtis joined
|
|||
moritz_ | you don't have to hug her to use Perl 6 :-) | 14:57 | |
TiMBuS | i dont relate to camels and onions make me cry. i still use perl tho | ||
bythos | i feel like i'm in preschool | ||
pmichaud | tadzik++ # thanks for removing it for now | ||
bythos | it make me think of preschool | ||
TimToady | preschoolers are very creative, compared to adults | ||
phenny | TimToady: 10:15Z <moritz_> tell TimToady std: '' ~~ /@t/ # should complain about @t not being declared. Found by bbkr++ | ||
TiMBuS | perhaps you could embrace it ironically, like how i do with dubstep music and pro wrestling | 14:58 | |
bythos | $rant->end; | 14:59 | |
moritz_ | $rant.end if you like Perl 6 :-) | ||
TimToady | std: sub pascal { [1], -> @p { [0, @p Z+ @p, 0] } ... * }; say pascal[^10].perl | ||
p6eval | std 32103: OUTPUT«ok 00:01 122m» | ||
TimToady | rakudo: sub pascal { [1], -> @p { [0, @p Z+ @p, 0] } ... * }; say pascal[^10].perl | ||
p6eval | rakudo 3a339e: 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])» | 15:00 | |
moritz_ | bythos: kraih.com/usingperl6-sri.jpg this is likely going to be the cover of our new book... maybe you like that better than the "vanilla" camelia | ||
TimToady++ # very nice | |||
bythos | lolz | ||
vanilla camelia love it | 15:01 | ||
pmichaud | someone please blog that cool pascal function kthxbye :-) | ||
moritz_ | TimToady should :-) | ||
TimToady | I "blogged" it on rosettacode. :) | ||
tadzik | pmichaud: I think it would be nice to make a smoketest before shipping Star, so we make sure we don't ship anything broken. Similar to this: tjs.azalayah.net/ser.html | ||
15:01
zulon joined
15:02
masak left
|
|||
tadzik | I can do this, but my Thinkpad is on warranty now and my PC is quite slow, so it might take some time | 15:02 | |
pmichaud | tadzik: (1) what did you use to produce that | ||
(2) why isn't it already in the star repo? | |||
(3) we can likely do that for next release :) | |||
bythos | moritz its better | 15:03 | |
tadzik | pmichaud: it's in neutro's repo | ||
bythos | make me think of the dragonflybsd | ||
tadzik | pmichaud: github.com/tadzik/neutro | ||
pmichaud: that's the smoker.pl and some ugly html generation I don't know where I have now | |||
I could probably make neutro itself a valid module | 15:04 | ||
15:04
arthur-_ joined,
justatheory left
|
|||
pmichaud | I'd prefer to see testing separate from install, though. | 15:06 | |
bythos | is there any at this point to compile a script to bytecode then run the bytecode? | 15:07 | |
s/any/anyway | |||
tadzik | pmichaud: what do you mean? | ||
moritz_ | TimToady: It's curious how everybody seems to be using Zop instead of >>op<< these days... looks much nicer | 15:08 | |
tadzik | testing without installing? | ||
[particle] | separate columns in the output? | ||
build, test, install? | |||
15:08
justatheory joined
|
|||
TimToady | well, Zop is also naturally lazy, whereas hypers are really more for eager situations on existing matrices | 15:08 | |
but yeah, I think Zop was a good call, in retrospect | 15:09 | ||
tadzik | well, if the build fails, there is no testing. If testing fails, there is no installing. Installing is usually successful, I've never seen something that does not install | ||
and testing without installing is hard because of the dependencies | 15:10 | ||
bbkr | tadzik++ # I had similiar idea once, to implement 'require "git://github.com/moritz/json.git";' (runtime module fetching and evaling suitable for fast testing). and neutro is first step toward git intergration :) | ||
TimToady | on rosettacode, I also find myself replace things like 'map * ** 2, ...' with '... X** 2' | ||
*replacing | |||
moritz_ | that's a neat one too | ||
tadzik | bbkr: well, it's just a temporary solution, until masak++ finishes pls ;) | ||
pmichaud | hugme tweet rakudoperl Pascal's triangle in #perl6: sub pascal { [1], -> @p { [0, @p Z+ @p, 0] } ... *}; .say for pascal[^10]; rosettacode.org/wiki/Pascal%27s_triangle#Perl_6 @TimToady++ | ||
hugme | pmichaud: Sorry, too long (173 chars, 140 allowed) | ||
TimToady | could be done with Z, but then you'd have to write '... Z** 2 xx *' | 15:11 | |
pmichaud | drat | ||
tadzik | yay twitter | ||
pmichaud shortens the url | |||
moritz_ | pmichaud: I'm writing a proper blogpost btw | ||
tadzik | but how does it work so that the function gets postcircumfix[]? | ||
pmichaud | moritz_: okay, I'll wait and (re)tweet the blockpost | ||
tadzik: the function returns a list | |||
moritz_ | tadzik: it just returns a list, and .[] indexes that | ||
tadzik | erm, subroutine that is | ||
oh sure | |||
pmichaud | tadzik: so it's like pascal()[^10] | 15:12 | |
tadzik | my bad | ||
so what about this smoketesting? | |||
I'll maybe start since I think everyone is waiting for someone to do it | |||
pmichaud | +1 | 15:13 | |
15:06 <pmichaud> I'd prefer to see testing separate from install, though. | |||
jdv79 | there is a smolder target but aparrently Mr. Peters is having chronic trouble keeping that smolder server up:( | ||
pmichaud | I'd like to be able to test an existing installation | ||
tadzik | hmm | ||
pmichaud | as opposed to evaluating the results of installing | ||
(maybe that's impractical) | 15:14 | ||
tadzik | so make test will not set PERL6LIB | ||
15:14
Guest23195 joined,
timbunce left
|
|||
pmichaud | I'm just saying that if we're going to spectest star, we should test what is installed, as opposed to (in addition to) the process of installing | 15:15 | |
TimToady | rakudo: say [+](1,2,3) / 2; # fayl | ||
p6eval | rakudo 3a339e: OUTPUT«1.5» | ||
TimToady | should print 3 | ||
pmichaud | right | ||
I don't think rakudo's parser understand [+] as function call syntax yet. | |||
*understands | |||
tadzik | oh crap, this testing will take a _long_ time | ||
pmichaud | tadzik: ...which is why I suggest it for next release :-) | 15:16 | |
tadzik | volunteers? | ||
pmichaud: on a fast machine it takes a couple of minutes | |||
pmichaud | ...if anyone knew how to do it:) | ||
rephrase | |||
...for someone who knows how to do it :) | |||
tadzik | ./smoker.pl isn't very hard to type | ||
pmichaud | where do I run it? | 15:17 | |
tadzik | you'll have to clone the neutro repo | ||
pmichaud | where do I run it? | ||
tadzik | and just run it, it will output the result | ||
I've run mine, I'm currently at Bennu | |||
pmichaud | please don't say "just run it" | ||
I presume I have to have Rakudo somewhere. | |||
should the modules already be installed, or is this going to install them? | 15:18 | ||
tadzik | well, any Perl 6 implementation will do :) It's written in Perl 6, yes. Needs Rakudo and git | ||
no, it installs them. It's actually a wraper over neutro | |||
pmichaud | does Rakudo have to be system-level installed in order to work? | ||
right | |||
tadzik | (which is a module installer) | ||
pmichaud | with Star, the modules are already installed. | ||
15:18
wamba left
|
|||
pmichaud | so this would end up installing them on top of the already installed ones...? | 15:18 | |
tadzik | yes. But we can check whether the recent git versions work or not | ||
and poke the maintainers if not | |||
moritz_ | perlgeek.de/blog-en/perl-6/pascal-triangle.html | 15:19 | |
pmichaud | okay, so, no for today's Star release. | ||
tadzik | I'm testing anyway, I'll maybe notice something that is included in Star and doesn't work | ||
pmichaud | moritz_: maybe link to the rosettacode page? | ||
15:20
rindolf joined,
timbunce joined
|
|||
pmichaud prepares to tweet moritz's page | 15:20 | ||
moritz_ | pmichaud: done | ||
tadzik | pmichaud: ETA of the release? | 15:21 | |
pmichaud | tadzik: whenever I get around to it this morning... probably in the next couple of hours | ||
x3nU | i wonder | 15:22 | |
is perl6-examples dead? ;f | |||
tadzik | oh, so I'll probably be done with testing then | ||
tadzik @ File::Tools | |||
it could be a nice candidate, when properly tested | 15:23 | ||
15:23
Mowah left
|
|||
pmichaud | twitter.com/pmichaud/status/22096932461 | 15:23 | |
x3nU | and if it's not who can give commit right to it? ;f | ||
moritz_ | [Coke]: trac.parrot.org/parrot/ticket/1746 - segfaults during PIR generation | ||
[Coke]: which makes it somewhat harder to reduce it to PIR :-) | |||
15:23
Mowah joined
15:24
arthur-_ left
15:27
bythos left
15:28
zulon left
|
|||
[Coke] | moritz_: ah well. | 15:37 | |
15:40
justatheory left
|
|||
TimToady | std: /@a/, /@b[]/; # heh, innerestin' bug | 15:40 | |
p6eval | std 32103: OUTPUT«===SORRY!===Variable @b is not predeclared at /tmp/xEkAKX8jH7 line 1:------> /@a/, /@b⏏[]/; # heh, innerestin' bugCheck failedFAILED 00:03 120m» | 15:41 | |
TiMBuS | Zop is cool as heck, but I refuse to use Z=> instead of >>=>>> | ||
i mean look at it | |||
moritz_ | TimToady: seems that it just uses "-string interpolation rules | ||
TimToady | ja | ||
tadzik | >>=>>> actually looks like a Zip | ||
moritz_ | std: / @a.join() / | ||
p6eval | std 32103: OUTPUT«===SORRY!===Variable @a is not predeclared at /tmp/PLBVECRLHp line 1:------> / @a⏏.join() /Check failedFAILED 00:04 118m» | ||
TimToady | std: / @a.join / | 15:42 | |
p6eval | std 32103: OUTPUT«ok 00:03 118m» | ||
tylercurtis | Oh no! If jnthn is about to go on vacation, who will make a windows installer for *+1? | 15:43 | |
pmichaud | tylercurtis: good point. | ||
[Coke] | perhaps fperrad from #parrot? | ||
tadzik | Speaking of which, some guys on Warsaw.pm didn't like it not asking about a directory in which to install stuff | ||
[Coke] | tadzik: that's haaaaard. | 15:44 | |
moritz_ | tadzik: the problem is that the path must be known at compile time | ||
pmichaud | tadzik: with parrot's current design, ..... right | ||
[Coke] | do they use strawberry perl? | ||
tadzik | ah | ||
moritz_ | tadzik: because parrot isn't relocateable | ||
tadzik | awful | ||
pmichaud | I forgot about the win32 version. | ||
maybe someone else can put one together :) | 15:45 | ||
or at least a "create win32 .msi" guide | |||
15:47
jferrero joined
|
|||
pmichaud | afk, lunch | 15:48 | |
[Coke] | tadzik: patches. welcome. | 15:49 | |
tadzik | [Coke]: I'll pass that, I myself have no windows installed anywhere | ||
moritz_ | you can start with relocation on linux :-) | 15:51 | |
tadzik | oh sure :) | ||
moritz_ | one might think it shouldn't be too hard | 15:52 | |
have a path that is prefixed the standard search path | |||
s/the/to the/ | |||
hm, and how do we tell the installed parrot that path? | |||
tadzik | it's about searching for pbcs? | 15:53 | |
tylercurtis | moritz_: "The ... is the series operator, which generates lists by feeding the previous value(s) to the generating block on its right." Depending on how one reads that, it's either partially correct, or wrong. | ||
15:54
shade\ left
|
|||
tylercurtis | moritz_: I think you're also missing some parentheses in the next paragraph. | 15:54 | |
nevermind that last bit. | |||
moritz_ | tylercurtis: do you have suggestions for clearer wording? | ||
s/right/left/ for one :-) | 15:55 | ||
15:55
molaf joined
|
|||
TimToady | and maybe add 'until it reaches the goal on the right' | 15:55 | |
15:56
shade\ joined
|
|||
TimToady | (in this case, "whatever") | 15:56 | |
moritz_ | updating now | 15:57 | |
TimToady++ | |||
tylercurtis++ | |||
updated. | |||
tylercurtis | For accuracy, it would be nice to at least briefly mention cases like 1...* or 1, 2, 4 ... *, but it would also distract from the subject of the post. | 15:58 | |
tadzik | maybe a link to Synopses then | ||
moritz_ | we need some docs about the series operator. | 15:59 | |
tadzik | ingy: around? | ||
TimToady | btw, I'm getting to like using the -> form for the generator, because it visually says feed the left args to this funciton | ||
tadzik | I have difficulties seeing an arrow with nothing on its left | 16:00 | |
blargh, getting used to see | |||
moritz_ | 1, 2, 4, -> $x { 2 * $x } ... * # the value 4 is fed to the block | ||
TimToady | well, we could have spelled it λ | 16:01 | |
tadzik | pb.rbfh.de/1wxHpFvt2Yy6E -- fresh tests results | ||
16:01
stepnem left
|
|||
tadzik | looks like YAML needs either an instant love or a removal from Star | 16:01 | |
16:02
stepnem joined
|
|||
tadzik | duh, it uses TestML which doesn't work | 16:03 | |
(or -- doesn't test) | |||
tylercurtis | tadzik: when you tested TestML, did you have the test suite in the proper place? | ||
TimToady | ingy ^^ | 16:04 | |
tadzik | tylercurtis: Don't know what's a “proper place” | ||
16:04
pyrimidine joined
|
|||
tadzik | testml recommends using ufo, and neutro uses ufo internally | 16:04 | |
tylercurtis | The testml test suite has to be in $TESTMLPM6-DIR/../testml-tml to test it, I think. | 16:06 | |
tadzik | duh, should be documented. but File::Find is also using files inside t/ during testing, and it has no problems with bare ufo | ||
ah, the README says to fetch an external TestML test suite | 16:07 | ||
16:07
araujo left
|
|||
tadzik | which says: These tests should be included in a TestML implementation | 16:08 | |
Something, somewhere went terribly wrong | |||
16:09
pmurias joined
16:10
araujo joined
|
|||
tadzik | phenny: tell ingy YAML should probably have TestML in its deps.proto. Also, could TestML fetch its test suite before compiling and testing, maybe in Configure.pl? | 16:18 | |
phenny | tadzik: I'll pass that on when ingy is around. | ||
tadzik | phenny: thanks buddy | ||
hugme: hug phenny | 16:19 | ||
hugme hugs phenny | |||
tadzik | bots hugging bots :) | ||
colomon | we're obsolete! | 16:24 | |
moritz_ | so far we still need humans to trigger the hug | ||
16:25
tadzik is now known as phemny
|
|||
phemny | we learn fast! | 16:25 | |
hugme: hug phemny | |||
hugme hugs phemny | |||
moritz_ lols | |||
16:25
phemny is now known as tadzik
|
|||
moritz_ | phenny: hug hugme | 16:26 | |
tadzik | phenny: you selfish bastard | ||
every bot should have this function | 16:27 | ||
and an ability to hug back when hugged | |||
16:31
pmurias left
|
|||
pugssvn | r32104 | lwall++ | [STD] check variable in /@a/ | 16:36 | |
r32104 | warn on ignored subscript in /@a[]/ etc. | |||
r32104 | (subtle) check existence of var in /@a=[.]/ but not /@<a>=[.]/ | |||
16:36
BaggioKwok joined
16:37
drake1 joined,
BaggioKwok left
|
|||
colomon | rakudo: for $*IN.lines { say $_.trans("C" => "F", "D" => "G"); } | 16:38 | |
p6eval | rakudo 3a339e: OUTPUT«Attributes of type 'INTVAL *' cannot be subclassed from a high-level PMC. in <anon> at line 22:/tmp/NPL0QGXltr in main program body at line 1» | ||
drake1 | look pastebin.ca/1925179 I wrote this Makefile and is confused whether it's alright. How would a system with perl 6 interpret the script? | ||
[particle] | p6eval: hug phenny # hug war! | 16:39 | |
tadzik: they'd never stop hugging each other... maybe unless there's a 'get a room' command to stop it | 16:40 | ||
tadzik | make hug not war | ||
[particle]: actually, the '/me hugs someone back' will probably not provoke another hug | |||
drake1: a system with perl6 has an 'perl6' executable next to usual 'perl' | 16:41 | ||
there's a reason why perl 6 executable is not called 'perl' | |||
drake1 | tadzik: ah, then it's fine | 16:42 | |
TimToady | if a perl6 executalbe is called 'perl', it's required to default to Perl 5 in the absence of evidence to the contrary | ||
drake1 | tadzik: was afraid it would clash | ||
TimToady: neat | |||
16:42
redicaps joined
|
|||
TimToady | such as using an extension of .pm6, or a 'use v6;' at the front | 16:43 | |
drake1 | let me post a tar so you can try it | 16:44 | |
TimToady | or 'module' at the front, at least until Perl 5 steals that... :) | ||
I kinda doubt anyone is interested in trying it... | |||
PerlJam | TimToady: you think perl 5 and 6 will always lead separate lives? | 16:45 | |
TimToady | yes and no | ||
16:46
mberends left
|
|||
drake1 | then you're the first ones www.gangsterfreak.com/file:fonted.tar.gz | 16:47 | |
then you're the first ones www.gangsterfreak.com/file:fonted.tar.gz | |||
jwest- | OT: haskell is better than erlang? | ||
TimToady | yes and no | ||
jwest- | if so where? | ||
yes where? | |||
TimToady | haskell has monads, which is both better and worse | 16:48 | |
the question is, "better for what?" | 16:49 | ||
jwest- | oh i was planning to use erlang or haskell with respect to speed | ||
TimToady | setting up hierarchies of betterness in the absence of a problem to solve is somewhat pointless | ||
jwest- | to create a chess tournament management software | ||
TimToady | why would that care about speed? | 16:50 | |
huf | TimToady: what about moral purity? | ||
TimToady | sounds like the sort of problem that almost any language would be fast enough to handle | ||
huf | surely that's the only reasonable way to rank programming languages | 16:51 | |
TimToady | *even* Perl 6 | ||
smash_ | TimToady: monads are cool | ||
TimToady | monads are too hard to lift | ||
jwest- | TimToady: ok and where is erlang better than haskell, haskell has monads | 16:52 | |
tylercurtis | Erlang makes doing impure things easier. | ||
huf | lift in what sense? | ||
TimToady | erlang has a much better event system | ||
and a good story about upgrading modules while the program is still running, without hiccuping | 16:53 | ||
x3nU | there's no taks that rakudo is fast enough to handle ;) | 16:55 | |
TimToady | when I say "monads are too hard to lift", that's a serious criticism. you can do almost anything with monads in haskell, but as soon as you start trying to combine monads, you'd better be a genius | ||
x3nU | task* | ||
TimToady | hey, I'm the sniper around here, not you... | 16:56 | |
std: /@a/ | |||
huf | TimToady: but what do you mean when you say "lift"? | ||
p6eval | std 32103: OUTPUT«ok 00:01 117m» | ||
TimToady | I mean it in the haskellian sense | 16:57 | |
16:57
daxim left
|
|||
TimToady | I also mean it as a pun, of course. | 16:57 | |
huf | i'll just go be confused now ;) | 16:58 | |
PerlJam | huf: confusion is the natural state of humans. | 16:59 | |
huf | not if you dont think about it! | ||
PerlJam | huf: blissfully unaware of your own confusion is just what most humans strive for. | ||
TimToady | That's the basic problem with Haskell: monads don't let you be confused, even when you want to be. | 17:01 | |
17:02
bjarneh joined
17:03
melte left
|
|||
tylercurtis doesn't understand. | 17:03 | ||
PerlJam | tylercurtis++ excellent! :) | 17:04 | |
17:06
bjarneh left,
bjarneh joined
17:07
dakkar left,
plobsing left
|
|||
tylercurtis | TimToady: can you explain more thoroughly? I have an idea of what you *might* mean (that Haskell makes it excessively difficult to use monadic things or things that use monadic things without understanding monads yourself), but I don't know if that's actually what you meant. | 17:08 | |
17:09
plobsing joined
|
|||
TimToady | I mean that Haskell forces you to think about most kinds of indeterminacy even when you don't care if the result is indeterminate, or are persuaded on other grounds (e.g. testing) that a program is working right enough. | 17:12 | |
When all you have is a monad, everything starts looking like a proof. | 17:13 | ||
17:14
plobsing left
|
|||
TimToady | And you have to be smart to prove things. | 17:14 | |
And I don't always wanna be that smart. | |||
17:14
thebird left
17:15
christine joined
|
|||
tylercurtis definitely isn't always that smart. | 17:15 | ||
17:15
pmurias joined,
envi^home left
|
|||
TimToady | Math is fine, but we don't run a compiler over our kids' genomes to prove they'll work right. Some things are better determined empirically. | 17:16 | |
moritz_ | $ cut -d ': ' -f 2 | 17:17 | |
cut: the delimiter must be a single character | |||
why oh why? | |||
didn't anybody think of generalizations when writing cut? | |||
TimToady | see Unix, Arbitrary Restrictions Galore | ||
huf | there's always awk | 17:18 | |
PerlJam | or sed | ||
or perl | |||
tylercurtis | Or perl6. | ||
TimToady | re single character, I guess someone took "Do *one* thing..." very literally | ||
PerlJam | tylercurtis: that's what I said | 17:19 | |
moritz_ | perl eq any <perl1 perl2 perl3 perl4 perl5 perl6> | ||
excuse me, perl eq any ('perl' X~ 1..6) | |||
17:20
jferrero left
|
|||
tylercurtis misunderstood "perl" in this context as the command named "perl". | 17:21 | ||
Which, for now, is not likely Perl 6. | |||
moritz_ | I'm happy to report that my simulation (a bit different than before) has now been running for about 2.5 hours, and still uses less than 200MB RAM | ||
pmichaud | \o/ | ||
TimToady | \o/ | ||
colomon | \o/ | ||
TimToady | is there any way to sneak that into *+1? | ||
colomon wonders if mandelbrot will suddenly start working a lot better again after this morning's patch... | 17:22 | ||
pmichaud | there is, if we collectively think it important enough to do so | ||
szbalint | that was one big memory leak eh? | ||
moritz_ | I've removed the SVG rendering of each step, and now have a nice resonance curve... not yet going very far on the right, but that will also work soon | ||
17:22
jferrero joined
|
|||
pmichaud | oh, ouch. | 17:23 | |
moritz_ | szbalint: yes; seems like it leaked every scalar | ||
pmichaud | not so simple, since the current version of Rakudo doesn't use a released Parrot. | ||
colomon | Is the question whether to use the latest Rakudo release for *+1 versus something cut today? | ||
pmichaud | colomon: yes. | ||
TimToady | have there been any major regressions? | ||
colomon | So it would also get us your .chomp optimization, which was pretty big for file input. | 17:24 | |
pmichaud | the problem being that Rakudo doesn't use a released Parrot. | ||
moritz_ | hey, we can also ship the release version, and promise memory and speed improvements for the next release | ||
pmichaud | Even though we bundle our own Parrot, I'm not sure I want to bundle a non-released one. | ||
17:24
Mowah left
|
|||
tylercurtis | The patch should be able to be easily ported back to the latest Rakudo that did use 2.7.0. | 17:24 | |
moritz_ would prefer the released rakudo too | |||
pmichaud | Especially given the recent discussion on #parrot yesterday and today. | ||
tylercurtis | If it's important enough to do so. | 17:25 | |
PerlJam | pmichaud: sounds like waiting for the next release might be less painful. | 17:26 | |
pmichaud | are we really saying in effect that the lag between Rakudo release and Star release is too long? | ||
moritz_ | not really | ||
colomon | pmichaud: certainly seems to be trending that way. | ||
moritz_ | it was just good/bad luck that we had those fixes right after a release | ||
pmichaud | moritz_: I'm not so sure about that (more) | ||
PerlJam | moritz_: doesn't that always tend to happen to varying extents? | ||
pmichaud | big changes often land right after a release. | ||
or even not-so-big changes | 17:27 | ||
(I agree that in this specific instance, it was more timing luck than anything else, however.) | |||
moritz_ | that suggests to me that we just need to learn to resist the urge to ship the latest-and-shiniest | ||
pmichaud | +1 | ||
moritz_ | the nice thing about having regular releases is that the next one isn't too far off | 17:28 | |
pmichaud | so, so far I'm going with the compiler release | ||
(i.e., #32, not head) | |||
17:29
molaf left
|
|||
colomon | errr... you say "latest-and-shiniest", but really, didn't yesterday's work didn't reveal that #32 is pretty broken? | 17:29 | |
moritz_ | colomon: not more broken than any of our last 6 releases | 17:30 | |
colomon | ie it's more a case that the problem is we're not stresstesting releases enough? | ||
pmichaud | colomon: it wasn't broken as of Thursday. | ||
at least, it wasn't "broken" enough to release. | |||
the alternative is that we could release with #31 | |||
colomon | that is to say, we didn't know / understand that it was broken. | ||
tylercurtis | The release is probably best, but as far as the memory leaks go, there's a third option: release + the patch. | 17:31 | |
moritz_ | well, I knew it leaked, but not to which amount | ||
PerlJam | But, this does give us a chance to put in a "known issues" section in the announcement with a comment that it has already been fixed or will be in the next release. | ||
17:32
macroron joined
|
|||
pmichaud | tylercurtis: can you quickly locate the patch? | 17:32 | |
moritz_ | 3a339ee8ab3a72867fe914ec9c689e1f5a890645 | ||
colomon | github.com/rakudo/rakudo/commit/3a3...1f5a890645 | ||
tadzik | pmichaud: FYI, I smoke tested the Star modules (recent git versions) and everything seems ok, besides YAML which is quite hard to test | 17:33 | |
17:33
redicaps left
|
|||
pmichaud | tadzik++ # thanks! | 17:33 | |
that's a big help. | |||
tadzik | no problemo | ||
pmichaud | I'll apply the patch to the Star release. | ||
moritz_ renders a 201x201 mandelbrot image | 17:34 | ||
colomon++ for the code | 17:35 | ||
colomon | moritz_: I don't remember how small I was able to get it to crash last time I played with it. I'm sure 501x501 crashed. I seem to recall successfully generating 1001x1001 at some point in the spring... | 17:36 | |
TimToady | btw, rosettacode.org/wiki/Mandelbrot_set is one of the tasks lacking a Perl 6 solution | 17:39 | |
colomon | TimToady: Ack, the temptations you lay before me! must... focus... on... $work.... | ||
17:40
pmurias left
17:41
jaldhar left
17:42
ruoso joined
17:44
Italian_Plumber joined
|
|||
[Coke] misses Modula-3 | 17:45 | ||
TimToady blames Oberon | |||
drake1 | INIT_VERSION=sysvinit-2.86_modified. When your shell don't forward the environment, it starts to call utents and becomes unreliable | 17:46 | |
[Coke] | I don't see why R* couldn't ship a non-released version of parrot, given that R* contains it whole. The only reason to not want non-release versions in general is when you are relying on package maintainers to deal with dependencies, and don't want them to have to bundle a non-released parrot. in R*'s case, you ARE the packager. | 17:47 | |
17:47
risou left
|
|||
moritz_ | [Coke]: people are packaging R* for distributions, with separate rakudo and parrot packages | 17:48 | |
pmichaud | [Coke]: except that the R* configuration doesn't always use the local parrot. | ||
[Coke] | moritz_: if they are pulling their parrot from inside R*, then that still works. | ||
pmichaud | i.e., it only uses the bundled parrot if --gen-parrot is provided. If not provided, Configure.pl attempts to use an installed parrot. | ||
17:49
pmurias joined
|
|||
[Coke] | ok. but that's an argument that makes a lot of sense from the packaging side. whatever was said in #parrot nonwithstanding. | 17:49 | |
pmurias | ruoso: hi | ||
drake1 | just coded scan mode tie ins for some other grammar. maybe parrot is alright | ||
pmichaud | while Rakudo development has often used non-released Parrots, we've never released a Rakudo that used a non-released Parrot. I'm categorically not starting down that path today. | 17:50 | |
[Coke] | Ok. that's a great an excellent plan which doesn't need to have anything to do with anything said in #parrot today. =-) | ||
*and | |||
moritz_ | rakudo: say 5/4 | 17:51 | |
p6eval | rakudo 3a339e: OUTPUT«1.25» | ||
17:51
Mowah joined
|
|||
pugssvn | r32105 | patrickas++ | Fix test for exclusive alternating geometric series | 17:52 | |
17:52
bjarneh left
17:54
lichtkind joined
17:55
ruoso left
17:59
pmurias left
|
|||
drake1 | just reading on the parrot grammar. do you know whether it's possible to modify the token patterns by signaling from rules? | 18:08 | |
eg. <$read_mode1> /pattern/ { object stuff; return(token); } | 18:11 | ||
18:11
Sanitoeter left
|
|||
ingy | tadzik: greetings | 18:12 | |
phenny | ingy: 16:18Z <tadzik> tell ingy YAML should probably have TestML in its deps.proto. Also, could TestML fetch its test suite before compiling and testing, maybe in Configure.pl? | ||
tylercurtis | drake1: what exactly do you mean by that? | ||
drake1 | when the read mode changes, the entire set of "tokenizers" change to | ||
pmichaud | drake1: that sound to me like entering a derived/alternate grammar | 18:13 | |
*sounds | |||
ingy | tadzik: I can do that stuff now | ||
pmichaud | we do some of that already, such as when the Perl 6 parser switches into the regex or quotation parser | ||
drake1 | like how you perceive the world yourself; sometimes more cautious to some things than other | 18:14 | |
tadzik | ingy: great | ||
ingy | :) | ||
tadzik: will you be around for another hour? | |||
drake1 | like to scope / mask the token set by a signal | ||
ingy | I'll have you test it. | ||
tadzik | ingy: probably | 18:15 | |
ingy hurries | |||
tadzik | no problemo | ||
tylercurtis | You could also store the readmode in a variable and have conditionals in each rule that cares to dispatch based on the readmode. But that's likely a bit ugly. | ||
ingy | are we prepping a new star release? | ||
tadzik | yep | ||
drake1 | tylercurtis: that's the slow way | ||
ingy | where should I build star from? | ||
pmichaud | I'm building a candidate tarball now. | 18:16 | |
ingy | \o/ | ||
lichtkind | pmichaud: ohai | 18:17 | |
ingy: :) | |||
drake1 | sometimes you see things in a more abstract token form | ||
ingy | pmichaud: ping me whenthe tarball is go please | ||
pmichaud | ingy: how do you mean "tarball is go"? You mean when it's released? | 18:19 | |
tadzik | . o O (go go pmichaud's tarballs!) | 18:20 | |
tylercurtis | rakudo: $_ = "36"; m/ (\d) { make $/[0].sqrt } Remainder /; say $/.ast; # curiousity | ||
p6eval | rakudo 3a339e: OUTPUT«Any()» | ||
ingy | pmichaud: I want to test TestML and YAML against your release candidate | ||
is it ready? | 18:21 | ||
tadzik | Star doesn't do testing, does it? | ||
ingy | ? | ||
tadzik | while building/installing I mean | 18:22 | |
pmichaud | ingy: afaik, TestML and YAML are bundled with the release | ||
tadzik | oh, can someone build the new book? | ||
pmichaud | tadzik: I already have the new book in the tarball. | ||
tadzik | pmichaud: how new, the last build? There were some fixes since then | 18:23 | |
ingy | I just want to know if there is a stable code base that I can build to test my modules... | ||
pmichaud | ingy: we're still working out that process. Normally you'd want to build against the latest compiler release. | ||
(for testing) | |||
ingy | pmichaud: you said 11:16 < pmichaud> I'm building a candidate tarball now. | ||
I want to use that | |||
so let me know when it's available | 18:24 | ||
pmichaud | ingy: I don't plan to wait long before doing the release though. | ||
ingy | please | ||
pmichaud | I'm tracking down a bug in the build system atm. | ||
ingy | I see | ||
pmichaud: when you do the final release, will it pull in new copies of the current state of the modules? | 18:25 | ||
pmichaud | currently I'm pulling in the new copies, yes. | ||
tadzik | hmm | ||
ingy | pmichaud: can you give me 30 mins? | ||
tadzik | is it too late for neutro? A working module installer is not a bad thing | 18:26 | |
aw, it's unix only | |||
pmichaud | ingy: yes, I can probably give 30 mins. | ||
ingy | what about ufo? | ||
patch | tadzik: hi | ||
tadzik | patch: hello | ||
18:26
TSa joined
|
|||
patch | tadzik: should deps.proto contain he module name (testml) or the repo name (testml-pm6)? | 18:27 | |
moritz_ | repo name for now | ||
tadzik | patch: the proto name, which is the repo name | ||
. o O (patch eqv ingy?) | |||
lichtkind | jnthn: na zdravi | ||
patch | moritz_, tadzik: thanks! | 18:28 | |
tadzik | although neutro should understand both :) | ||
patch: you're welcome | |||
patch | tadzik: !eqv | ||
18:28
zorgnax joined
|
|||
tylercurtis | lichtkind: I think jnthn has already left for his vacation. | 18:29 | |
PerlJam | he said goodbye this morning, so I assume he's actually gone. | ||
ingy | (patch is helping me, um, patch my modules) | ||
lichtkind | tylercurtis: thanks | ||
18:29
crumbpicker joined
|
|||
tadzik | appropriate nickname he/she has, then | 18:29 | |
lichtkind | tylercurtis: are you on perl prof team? | 18:30 | |
18:32
jwest- left
|
|||
zorgnax | I was reading the S05 and had a question on the <~~3> syntax. Is it possible to refer to captures at several parentheses deep as in <~~0,1,0>? and what does (a)((b)<~~0>)) refer to? (a)((b)(a)) or (a)((b)(b))? | 18:33 | |
18:34
crumbpicker left
|
|||
moritz_ | doesn't look like it | 18:34 | |
if you want something more elaborate, it's probably better to just name the thing you want to match against | 18:35 | ||
ingy | does Configure.pl --gen-parrot mess up an earlier install of perl6? | ||
moritz_ | yes | ||
ingy | k | ||
moritz_ | unless you chose a different prefix | 18:36 | |
std: / a <~~>? / | |||
p6eval | std 32105: OUTPUT«ok 00:03 116m» | ||
ingy | but make install puts perl6 in /usr/local/bin | ||
how does it know about src/rakudo? | |||
drake1 | in the www.gangsterfreak.com/doc , the token types change; sometimes only spaces are recognized, other time name expanded tokens and sometimes it's just strings | 18:37 | |
moritz_ | it shouldn't mess with the perl6 in /usr/local/ | ||
ingy | it did | ||
sorear | good * #perl6 | 18:38 | |
moritz_ | do you have some symlinks between src/rakudo and /usr/local? | ||
ingy | because now it works again, since I finish make install of the new gen | ||
no | |||
I don't | |||
moritz_ | weird. | ||
drake1 | completely top/down and vice versa integration | 18:39 | |
pmichaud | ingy: www.pmichaud.com/sandbox/rakudo-sta...rc1.tar.gz # release candidate tarball | 18:42 | |
18:42
mberends joined
|
|||
TimToady | maybe it should be *-8 | 18:45 | |
wait, that breaks in January... | 18:46 | ||
18:46
Trashlord left
|
|||
colomon | is that *-8, *-9, *-10... or *-8, *-7, *-6... ? ;) | 18:52 | |
moritz_ | colomon: the 201er mandelbrot worked fine, running the 1001er now :-) | 18:53 | |
colomon | \o/ | ||
err... why I am not trying that myself? ;) | |||
moritz_ | but I changed it to do Num arithmetic instead of Rat | ||
in the hope that it is faster | 18:54 | ||
colomon | moritz_: I've actually tried that, and it made surprisingly little difference. | ||
(when I tried it, things may have changed) | |||
moritz_ | about 20s per line | ||
colomon | seems likely to be a sign that something else in there is very very very unreasonably slow. | ||
moritz_ | aye | ||
rakudo: say 2001 * 1/3 # expect runtime in minutes... | 18:55 | ||
p6eval | rakudo 3a339e: OUTPUT«667» | ||
moritz_ | rakudo: say 2001 * 1/3 / 60 | ||
p6eval | rakudo 3a339e: OUTPUT«11.1166666666667» | ||
moritz_ | that's going to be an all-nighter :-) | ||
colomon | moritz_: amount of time per line changes as the fractal gets bigger | ||
moritz_ | colomon: right :( | ||
colomon | ie it's 20s per 201 pixels. | ||
moritz_ | for the worse, iirc | ||
colomon | it's its probably 10 pixels a sec or so, so 1001 is | 18:56 | |
rakudo: say 1001 * 1001 / 10 | |||
p6eval | rakudo 3a339e: OUTPUT«100200.1» | ||
colomon | rakudo: say 1001 * 1001 / 600 | ||
p6eval | rakudo 3a339e: OUTPUT«1670.00166666667» | ||
moritz_ | gqview shows parts of corrupted/incomplete images, and refereshes every few seconds - so I actually get visual feedback | 18:57 | |
pmichaud | rakudo: say 1001*1001/86400 | ||
colomon | rakudo: say 1001 * 1001 / (60 * 600) | ||
p6eval | rakudo 3a339e: OUTPUT«11.5972337962963» | ||
rakudo 3a339e: OUTPUT«27.8333611111111» | |||
colomon | oh sweet! | ||
(visual feedback, I mean.) | |||
27.8 hours. ugh. | 18:58 | ||
[Coke] | colomon: ? | ||
colomon | [Coke]: estimating how long it will take moritz_'s machine to finish his 1001x1001 mandelbrot run. | ||
slavik | colomon: it's already done | 18:59 | |
colomon: but that is data from 100 years in the future | |||
18:59
rindolf left
|
|||
x3nU | is there any chanses that r* will be released today? | 19:00 | |
moritz_ | x3nU: yes. pmichaud already posted a link to a release candidate | ||
www.pmichaud.com/sandbox/rakudo-sta...rc1.tar.gz | |||
testing welcome | |||
x3nU | thanks | ||
pmichaud | x3nU: I have a few $othertasks that will keep me a bit occupied for the next ~4h; I'll probably release around then. | 19:02 | |
oh, argggh | 19:03 | ||
the rc1 candidate didn't get the patch applied | |||
ingy | tadzik: when was testml added to *? | 19:04 | |
tadzik | ingy: no idea | ||
ingy | I think that last * only had yaml | ||
even though it uses testml tests | 19:05 | ||
pmichaud said that the install didn't run tests | |||
so it wasn't an issue | |||
19:05
Mowah left
|
|||
pmichaud | so far the install doesn't run any tests. It likely should at some point. | 19:06 | |
ingy | ok, I would suggest pulling testml-pm6 from this release then | ||
pmichaud | afaik it's not there, unless it's under some other name. | ||
ingy | oh | 19:07 | |
ok | |||
:) | |||
I thought tadzik said it was | |||
my bad | |||
I think testml would be a great addition to the next R* :) | |||
pmichaud | I think tadzik may have been referring to it as a standalone module, not necessarily as bundled in R* | 19:08 | |
TimToady | doesn't the typical mandelbrot iteration very quickly exceed the precision of a Rat and graduate to a Num anyway? | ||
pmichaud | i.e., YAML should identify TestML as one of its dependencies | ||
ingy | pmichaud: patch++ has made that so | 19:09 | |
pmichaud | excellent. | ||
ingy | er | ||
patch: ? | |||
patch | ingy: sent you a pull request | 19:10 | |
ingy: i don't have commits on yaml-pm6 | |||
ingy | oh | ||
let me take care of that! | |||
done | 19:11 | ||
patch: please push | |||
I wish github made it easier to give out commit bits | |||
moritz_ | that's what hugme is for :-) | 19:12 | |
ingy | oh? | ||
just for rakudo? | |||
moritz_ | hugme: add ingy to json | ||
hugme hugs ingy. Welcome to json! | |||
moritz_ | afk | ||
pmichaud | hugme: show projects | ||
hugme | pmichaud: sorry, I don't know anything about 'projects' | ||
patch | pmichaud, ingy: yaml-pm6 now has deps.proto | ||
pmichaud | hugme: list projects | 19:13 | |
hugme | pmichaud: I know about Math-Model, Math-RungeKutta, MiniDBI, book, gge, hugme, ilbot, java2perl6, json, modules.perl6.org, november, nqp-rx, nqpbook, perl6-examples, perl6-wtop, process-cmd-args, proto, pugs, star, svg-matchdumper, svg-plot, tardis, temporal-flux-perl6syn, try.rakudo.org, tufte, ufo, web, yapsi | ||
ingy | patch++ | ||
patch: let's get back to hacking | |||
patch | ingy: we should figure out this tesml-pm6/testml-tml business soon | 19:14 | |
ingy | patch: I'm all over it | ||
:) | |||
pmichaud | www.pmichaud.com/sandbox/rakudo-sta...rc2.tar.gz | ||
(if anyone is curious/interested) | |||
patch | pmichaud: so there's currently no distinguishing a dependency from a test dependency, they should all just go in deps.proto? | 19:16 | |
drake1 | I've just been hacking the character memory of the VGA card | ||
19:16
Mowah joined,
[Coke] left
|
|||
tadzik | patch: take a look at ttjjss.wordpress.com/2010/08/09/so-...-6-module/ | 19:17 | |
drake1 | next step is to transliterate the C compiler | 19:18 | |
without perl it's wouldn't be straight ahead to modify | 19:19 | ||
19:20
pnate left
|
|||
ingy | tadzik: I hate that lib and logotype conflict with tab completion! | 19:20 | |
tadzik | ingy: not my fault :( | 19:21 | |
tadzik points at absent masak | |||
drake1 | perl ctr | cc -x C | 19:22 | |
19:22
zorgnax left
|
|||
patch | tadzik: thanks, it doesn't seem to distinguish between requires and build_requires (as in META.yml) | 19:23 | |
tadzik: where testml would really just be a build_requires | 19:24 | ||
drake1 | some of the $(CC)'s use perl to generate the switch codes | 19:25 | |
then with a type-system optimized for the lexical analyzer, it shouldn't take to to process | 19:27 | ||
19:27
hercynium joined,
drake1 left
19:29
TSa is now known as glurks,
glurks is now known as TSa
19:31
TSa left,
lamstyle left,
lamstyle joined,
mikehh_ joined
19:32
mikehh left
19:34
TSa joined
19:35
TSa left
|
|||
tadzik | patch: that can be changed :) | 19:36 | |
patch | :) | ||
moritz_ back | 19:37 | ||
tadzik | but it wouldn't matter anyway, with the build system now. And it doesn't in Perl 5 either, as everyone uses cpanminus anyway | ||
19:42
Mowah_ joined,
Mowah_ left
19:56
Italian_Plumber left
19:59
patrickas joined,
mberends left
|
|||
TimToady | phone | 20:00 | |
20:00
Su-Shee left,
zeyata joined
|
|||
moritz_ | 179 out of 1001 lines of mandelbrot rendered... looks pretty so far, but not very interesting yet :-) | 20:02 | |
20:02
mberends joined,
ejs joined
20:05
timbunce left
20:06
timbunce joined
20:08
mberends left
20:09
zeyata left
20:11
zeyata joined
20:12
zeyata left
20:13
zeyata joined
20:15
Holy_Cow left
20:16
dual left
|
|||
tadzik | loliblogged, weird stuff: ttjjss.wordpress.com/2010/08/25/on-...uage-wars/ | 20:16 | |
20:19
macroron left
|
|||
gfldex noms tadzik blogpost | 20:20 | ||
20:21
mrsaturns joined
|
|||
mrsaturns | "Hello, World!".say; | 20:21 | |
x3nU | i have asked that question before but nobody responded ;f how do i contribute to perl6-examples? ;) | ||
moritz_ loves tadzik's blog post | 20:22 | ||
gfldex | x3nU: you talk to github.com/unobe | ||
moritz_ | x3nU: 1) tell my your github ID | 20:23 | |
2) get a commit bit | |||
x3nU | moritz_: xenu | ||
moritz_ | hugme: add xeno to perl6-examples | ||
hugme hugs xeno. Welcome to perl6-examples! | |||
x3nU | moritz_: you made typo :) | ||
moritz_ | oops | ||
hugme: add xenu to perl6-examples | 20:24 | ||
hugme hugs xenu. Welcome to perl6-examples! | |||
x3nU | thanks | ||
moritz_ | github.com/perl6/perl6-examples/ | ||
that's the "offical" one | |||
x3nU | seems dead | ||
;d | |||
moritz_ | feel free to revive it | ||
20:24
pnate joined
20:25
dual joined
|
|||
pmichaud removes "xeno" from perl6-examples. | 20:26 | ||
moritz_ | ok | ||
otherwise I would have | 20:27 | ||
pmichaud | hugme knows how to remove? | ||
moritz_ | no | ||
tadzik | blogpost reddited | ||
moritz_ | I'm hacking up a script that uses the API to remove one | ||
pmichaud | ah | ||
okay :-) | |||
moritz_ | seems to have worked, one way or another | 20:28 | |
pmichaud | TimToady: when you mentioned "idiomatic Perl 6" earlier, I'm wondering how many people are mentally doing a s/ma// :-| | ||
20:28
smash_ left,
smash_ joined
|
|||
pmichaud | (some of the reaction to the pascal example hasn't been all that positive :-) | 20:29 | |
colomon | pmichaud: where? | 20:30 | |
pmichaud | colomon: where what.... negative reaction? | ||
colomon | yes | 20:31 | |
pmichaud | colomon: example comment: "his is totally unreadable code. No one, not even Saint Larry, should code like this. EVER. " | ||
20:31
Padz joined
|
|||
pmichaud | *This | 20:31 | |
moritz_ | perlgeek.de/blog-en/perl-6/pascal-t....writeback | ||
one negative comment | |||
two curious | |||
one positive | |||
pmichaud | twitter.com/shadowcat_mst/status/22112066276 | 20:32 | |
tadzik | oh wow | ||
pmichaud | twitter.com/pedromelo/status/22110965152 | ||
tadzik | this is what is called a Fail | ||
the comment with Saint Larry | |||
pmichaud | various retweets | ||
tadzik | duh, it's like judging Perl readability because of Perl Golf | 20:33 | |
pmichaud | tadzik: ...except in this case, we'd consider this to be idiomatic. | ||
or at least more idiomatic than some of the other solutions. | |||
mrsaturns | I wouldn't say it's *totally* unreadable. I pretty much got "sub", "say", and ";" out of it | ||
:P | |||
moritz_ | well, idiomatic strongly depends on your skill level with the language | 20:34 | |
tadzik | sure thing | ||
moritz_ | for a functional language, this is a rather typical approach | ||
20:34
plainhao left
|
|||
moritz_ | the p5 lovers don't think that functional yet | 20:34 | |
tadzik | after few weeks of learning Spanish, you probably won't be able to read a Spanish books | ||
Haskell people may like it then :) | |||
pmichaud | I'm not at all advocating that we change anything; I was just wondering about the reactions :) | ||
moritz_ | and I try to explain them | ||
pmichaud | I've certainly seen mathematical formulas that are far more difficult to read than this. :) | 20:35 | |
tadzik | that reminds me of my Linear Algebra exam :/ | ||
20:36
eternaleye_ joined
|
|||
pmichaud | personally, I like the pascal example a lot. | 20:36 | |
moritz_ | it's curious that mst uses "camelia perl" for Perl 6, and "perl" for Perl 5 | ||
pmichaud | moritz_: I think that may just be because he doesn't have a good "qualifier" adjective for Perl 5 yet. | ||
i.e., he'd like to say "<something> perl" for Perl 5, but we don't have a good <something> yet. | 20:37 | ||
moritz_ | well, if you find "camlia" good for Perl 6, the obvious would be "camel" for 5 | ||
pmichaud | Maybe it should be "Whatever Perl" | ||
camel is trademarked, though. | |||
moritz_ | I don't really like "camelia perl" for 6 though | ||
20:37
eternaleye_ left,
eternaleye_ joined,
eternaleye left,
eternaleye_ is now known as eternaleye
|
|||
tadzik | He's probably trying to insult Perl 6 in a delicate way, but I may understand it wrong | 20:38 | |
sorear | mst insults everyone and everything | ||
don't take it personally | |||
moritz_ | tadzik: I don't think that's his intent | ||
pmichaud | tadzik: no, I'm pretty sure he's not meaning it as a put-down, insult, or otherwise denigrating Perl 6. | ||
nor is he intending "camelia perl" in the sense of "imposter" or "not the real Perl" | 20:39 | ||
moritz_ | tadzik: it's more like trying to get rid of "perl 6 is the perl 5 successor" idea | ||
TimToady | he's using it like "strawberry perl" | ||
pmichaud | (I've had discussions with mst on this very point.) | ||
yes, as TimToady++ says | |||
tadzik | hmm, sounds like "This childish Perl". But you know him better, I'm probably wrong | ||
pmichaud | it's identifying a particular flavor of Perl. | ||
20:39
bythos joined
|
|||
[particle] | tadzik: when have you known mst to dance around an insult? | 20:40 | |
moritz_ | [particle]: when it's something where he knows an insult will be contra productive | ||
colomon | for what it's worth (I did knock some of TimToady's code elsewhere in Rosetta yesterday), I think [1], -> @p { [0, @p Z+ @p, 0] } ... * is crystal clear idiomatic perl 6. It's simple and it perfectly captures the nature of the math. | ||
pmichaud | visually I ran into difficulty in initially seeing it as 0, (@p Z+ @p), 0 | 20:41 | |
when it's really (0, @p) Z+ (@p, 0) | |||
TimToady | this is why those guys are all big operators | ||
20:41
Padz left
|
|||
TimToady | either tall or long | 20:42 | |
pmichaud | right, but somehow Z+ wasn't big enough for me. | ||
maybe it's my font. | |||
patrickas | I guess the problem is trying to apreciate that without having gotten used to perl6 is really hard | ||
TimToady | partly it's becuase the 0's stick up too far | ||
pmichaud | well, I'm also so used to seeing the comma as such a low-level operator, it's a little hard to get used to the idea that something like Z+ is lower. | ||
I'm sure it would come with practice -- that was just my initial confusion. | 20:43 | ||
(which I'm sure others will share for a while.) | |||
TimToady | I think some of the reaction is understandable: "There's more than one thing here I don't understand, and that's N-1 things too many." | 20:44 | |
20:44
bythos left
|
|||
pmichaud | TimToady: I think I agree, for now. | 20:45 | |
I'm giving talks at a Python conference this weekend, and I know what their reaction would likely be. :-) | |||
20:46
plobsing joined
|
|||
TimToady | for them, you want to give them a few things they can *almost* do :) | 20:46 | |
pmichaud | I've already got a budding talk about "similarities I've noticed between Python and Perl 6" :-) | ||
20:46
ejs left
|
|||
tadzik | [particle]: I didn't, that was just my first thought after seeing this tweet | 20:46 | |
TimToady | and one glaring difference: list comprehensions fall out naturally in Perl 6 rather than being special syntax | 20:47 | |
pmichaud | yes, I was planning to give list comprehensions as an example. :) | ||
gfldex | pmichaud: please make sure that the faces of the audience are recorded too :) | ||
pmichaud | gfldex: I've given presentations to this group before; it's quite friendly for the most part (more) | ||
actually, the conference organizer is trying to get people to commit to giving lightning talks at the end of the conference, but only had a few takers (more) | 20:48 | ||
so he sent a message to the list saying "any unfilled lightning talk slots will be given to pmichaud, who will undoubtedly use them to show of Perl 6 stuff" :-) | |||
*show off | |||
moritz_ | lol | 20:49 | |
pmichaud | lots of talk submissions ensued shortly thereafter :) | ||
(especially after I sent a message saying that I'd make good on the organizer's threat :) | |||
moritz_ | so, how many lightning talk slots did you get? :-) | ||
pmichaud | won't know until Saturday | ||
but I have no doubt that I can fill them | |||
(I suspect I'll get just the two I requested.) | 20:50 | ||
tadzik | pmichaud: curiosity, do you always speak as fast as on the LOLCODE talk? | ||
pmichaud | tadzik: no, not always. | ||
tadzik: only when I have a time limit, as I did then. | |||
tadzik | I really liked that one :) | ||
moritz_ | I found the first 4 minutes of the lolcode talk quite reasonable | ||
20:50
Ross joined
|
|||
pmichaud | I did too -- that talk is one of my favorites. I've been wanting to come up with an equally good hack since then. | 20:51 | |
moritz_ | (277 lines of mandelbrot calcualted... the head of the snowman is starting to show) | 20:52 | |
pmichaud | moritz_: we're 27% done (at least in terms of lines?) | ||
diakopter | there is at least one thing I don't get about "There's more than one thing here I don't understand, and that's N-1 things too many." | ||
pmichaud | ? | ||
moritz_ | pmichaud: yes | ||
pmichaud | not too bad... but I guess the expensive part is yet to come | ||
moritz_ | after about 2h runtime; memory still below 200M | 20:53 | |
pmichaud | iirc, the numbers in the set are the ones that take longest to calculate | ||
20:53
am0c left
|
|||
moritz_ | black = exeeded iteration limit, iirc | 20:53 | |
*exceeded | |||
pmichaud | right | ||
patrickas | diakopter: ? | 20:54 | |
moritz_ | diakopter: most people can't digest more than one new concept at a time | 20:55 | |
sorear | moritz_: pixels/(GHz-sec) = ? | ||
pmichaud | tadzik: (finally getting around to reading your blog post).... | ||
tadzik: HAHAHAHAHAHAHAHAHAH tadzik++ tadzik++ tadzik++ | |||
moritz_ | rakudo: 1001 * 270 / (2.2 * 2 * 3600) | 20:56 | |
p6eval | rakudo 3a339e: ( no output ) | ||
moritz_ | rakudo: print 1001 * 270 / (2.2 * 2 * 3600) | ||
sorear | tadzik: are you on planetsix? | ||
p6eval | rakudo 3a339e: OUTPUT«17.0625» | ||
moritz_ | sorear: ^^ | ||
pmichaud | fortunately, Perl is already an onion. Those pasta, tomato, and mushroom loving dweebs don't know what they're talking about. :-) | ||
tadzik | sorear: I don't think so | 20:57 | |
sorear: but I hope one day not everything will be Perl related ;) | |||
pmichaud: I'm glad you like it :) | |||
moritz_ | tadzik: if you have a perl (or perl6) tag, and a feed that filters by that talk, all is fine (and we can use tha feed for planetsix) | ||
tadzik | moritz_: I have | 20:58 | |
sorear | tadzik++ tadzik++ tadzik++ | 20:59 | |
moritz_ | tadzik: ttjjss.wordpress.com/category/perl/feed/ this one? | ||
tadzik | moritz_: looks fine | 21:00 | |
oh, I may want to adjust categories for that last one | |||
I'm tempted to add Perl to it :) | |||
moritz_ | phenny: tell [Coke] could you please add ttjjss.wordpress.com/category/perl/feed/ (nick tadzik, realname Tadeusz Sośnierz) to planetsix? thank you | ||
phenny | moritz_: I'll pass that on when [Coke] is around. | ||
moritz_ | tadzik: please do | ||
tadzik | (although adding Python would be a little _too_ offensive) | 21:01 | |
moritz_: fixed-faxed | 21:02 | ||
moritz_ | tadzik: the categories should be selected not only by what the post is about, but also what readers interest | ||
tadzik | you're right | 21:03 | |
moritz_ | ie if the post is not directly about perl, but interesting for the perl readers, add it | ||
21:04
Holy_Cow joined
21:05
drake1 joined
|
|||
drake1 | hehehe now I wrote this in perl6 pastebin.ca/1925348 . How would the equivalent line 13-14 be written in perl6 ? | 21:06 | |
in perl5* | |||
21:06
Mowah left
|
|||
tadzik | it is in Perl 5, isn't it? | 21:06 | |
oh, wrong substitution | |||
I think: @but = @cmd.grep( .title eq $msgst[0]).map( $_<but> ) | 21:07 | ||
drake1 | ok | ||
tadzik | not checked, beware ;) | 21:08 | |
21:08
bjarneh joined
|
|||
sorear | yeah you need blocks in there | 21:08 | |
also probably .<title> if it's a hash | 21:09 | ||
drake1 | it is | ||
it | |||
it's a hash with the button object, the title and the command | |||
21:10
whiteknight joined
|
|||
tadzik | moritz_: happy reddit birthday! | 21:10 | |
drake1 | thank goddess for terminal emulators, the who desktop is full just for one application | 21:11 | |
s,who,whole | 21:12 | ||
moritz_ isn't sure that's an occasion to celebrate | |||
tadzik | well, I was hoping you'll share a cake :P | 21:13 | |
moritz_ | you can have the whole of it :-) | 21:14 | |
moritz_ -> sleep | |||
tadzik | :) | 21:15 | |
21:17
calin joined,
Ross left
21:18
zeyata left
|
|||
drake1 | instead of using hash, can I simply say: class { .title = "title", .cmd = ... ? | 21:23 | |
tadzik | probably | 21:24 | |
drake1 | should the class not be define only once? | ||
with an instance for each [ title, cmd, button ] struct | 21:25 | ||
tadzik | Define once, instantiate many times | 21:27 | |
drake1 | it's probably the same data type underneath | ||
tadzik | you could also use an anonymous class, but they may be NYI | ||
drake1 | tadzik: I mean to define the class with thow three member and base an object on that for each task definition | 21:28 | |
s,thow,those | |||
tadzik | yeah, I understand | 21:29 | |
drake1 | then it would be more easy to define a method to retrieve the keys instead of using `map' | 21:30 | |
I guess | 21:31 | ||
21:31
timbunce left
|
|||
drake1 | maybe it's faster to map a hash with the array index or a reference | 21:32 | |
dalek | ecza: 43b3f6a | sorear++ | src/Niecza/Actions.pm: Fix parsing of regex backslash classes |
||
ecza: d8daad9 | sorear++ | / (4 files): . and <!> for regexes |
|||
ecza: 8c59198 | sorear++ | / (3 files): Change Cursor to use CClass.pm character classes |
|||
21:32
Guest23195 left
|
|||
drake1 | except if perl6 is smart enough to cache the results | 21:33 | |
tadzik | cache? | ||
drake1 | a `map' function could have the output cached | ||
implicitly | |||
ashleydev | moritz_: what's the deal with calling a sub with square parens? # pascal[^10] | 21:34 | |
tadzik | he's asleep. The function returns a lazy list | ||
so you're using the result as an array (list) | 21:35 | ||
ashleydev | how is it different than pascal(^10)? | ||
drake1 | line 13-14 could store the @but behind the scenes and only update when @cmd changes (which it never does) | ||
tadzik | the function takes no params. It's rather like @a = pascal; @a[^10] | ||
ashleydev | ah | ||
tadzik | took me a moment too ;) | ||
ashleydev | pascal().[^10].perl | 21:36 | |
Juerd | The sub is just there to confuse you. | ||
TimToady | you should just ignore the sub, since it's just a compile-time declaration of a constant that only happens to be an infinite list of lists | ||
in fact, I should probably have declared that way: constant @pascal := etc | 21:37 | ||
ashleydev | TimToady: are you speaking of moritz_ blog article? | 21:38 | |
colomon | TimToady: that won't actually work in current rakudo, will it? | ||
drake1 | char const *but alike | ||
TimToady | yes | ||
and yes, I think | 21:39 | ||
ashleydev | hmm so: sub pascal {...} is a compile time constant? | ||
TimToady | rakudo: constant @foo = 1,2,4 ... *; say @foo[10] | ||
p6eval | rakudo 3a339e: OUTPUT«===SORRY!===Constant type declarator not yet implemented at line 22, near "= 1,2,4 .."» | ||
colomon | ashleydev: no, but in an ideal sense it does the same thing here. | ||
TimToady | ah well | ||
drake1 | with restrict *butp; constructor | 21:40 | |
patrickas | colomon do you have a min ? | ||
TimToady | commuting & | ||
ashleydev | sure I could see @array := ... | ||
that wouldn't have cause me confusion | |||
21:41
pnate left
21:43
masak joined
|
|||
masak | ahoy, #perl6 | 21:43 | |
patrickas | LOLITSMASAK! | 21:44 | |
jferrero use common::sense | |||
21:44
javs left
|
|||
tadzik | hello masak | 21:45 | |
masak backlogs | |||
tadzik | how do you backlog after being offline? | 21:46 | |
masak | there are logs at irclog.perlgeek.de/perl6/ | ||
tadzik | duh, I thought you have some secret tech | ||
huf | .. is the stupid cousin of ..., right? | ||
masak | huf: well, yes and no. | 21:47 | |
tadzik | hmm, not really | ||
masak | huf: infix:<..> creates a Range, which mainly just says "from here to there" | ||
huf: infix:<...> creates a list, which if iterated gives you a bunch of values. | 21:48 | ||
patrickas | huf: I tend to think of ... as the smartass cousin of .. :-) | ||
huf | aha! | ||
masak | tadzik: want to help me finish up pls? :) | ||
huf | i have indeed seen the light | ||
tadzik | masak: now? :) | 21:50 | |
masak | tadzik: I was thinking tomorrow. | ||
tadzik | hmm | ||
evening? | 21:51 | ||
I planned to start learning for mah exams | |||
masak | let's talk UTC for simplicity. | ||
tadzik | it's 21 UTC now, right? | ||
we're in similar TZ's iirc | |||
masak | almost 22 UTC. | ||
szbalint | 21:51 UTC, yes. | ||
tadzik | a'right | 21:52 | |
masak | oh right. | ||
tadzik: .pl? | |||
tadzik | masak: yep | ||
szbalint | CEST :) | ||
masak | lovely place. I've been there several times. | ||
tadzik | we're changing TZ's in Poland twice a year, so I never know :P | ||
szbalint | or I should have said czesc :P | ||
x3nU | so you been in poland or in lovely place? | ||
;d | |||
masak | anyway, evening after about 21 our time (19 UTC) would work for me. | 21:53 | |
x3nU: yes. :) | |||
x3nU | tadzik: also, nothing really important or urgent but i think that crating polish perl 6 wikibook would be a good idea | 21:54 | |
creating* | |||
tadzik | oh, we're in the same timezone masak? | 21:55 | |
masak | CEST, as szbalint++ said :) | 21:56 | |
tadzik | x3nU: well, maybe translating the Perl 6 Book | ||
masak | i | 21:57 | |
tadzik | masak: 21 is ok for me | ||
masak | it's quite a big task to translate a book, so figure out ways to reward yourself along the way... | ||
tadzik: goodie. | |||
tadzik: during the day, I'll see what I can do to set things up. | |||
x3nU | there's much time ;d | 21:58 | |
masak | the work that needs to be done is very parallelizable. | ||
basically, go through all the existing modules once, and see that they install. | |||
if they don't, do stuff. | |||
tadzik | wait, are we installing everything available, or a specific thing? | 21:59 | |
some guys were looking for a grant about translating the book to russian | 22:00 | ||
22:00
Holy_Cow left
|
|||
masak | tadzik: a specific thing, one after the other. | 22:00 | |
tadzik: last week moritz_++ discovered that pls doesn't install dependencies. | |||
it works in the test suite, but poc doesn't have the logic to find and install dependencies. | 22:01 | ||
in fact, I should probably add a failsafe in App::Pls that carps if there's no provided way to find out a project's dependencies. | 22:02 | ||
sorear hopes for a better #cpan6sketch next week | |||
tadzik | well, no way to find usuallly means no deps | ||
masak | tadzik: in the case of poc, there is a way. I just didn't think to put it in. a blatant error would have reminded me to. | 22:03 | |
tadzik | well, if make fails, there is a chance that they're missing | 22:04 | |
masak | I did not understand that statement. | 22:05 | |
sorear | TimToady: Is the full list of things \h and \v match listed anywhere? | ||
masak | tadzik: we might be talking about slightly different things. | ||
sorear | masak: Nobody showed up last time. | ||
masak | sorear: I know. I couldn't make it, and said so beforehand. | ||
sorear: in general though, I can make it. | |||
sorear | You're not the only cpan6er... | ||
masak | I'm not really sure what can be decided at these meetings, but I'm eager to contribute just to see what'll happen. | ||
sorear: don't lose hope! there'll be more weeks. | 22:06 | ||
tadzik | masak: you mean something similar to ufo handling compiling order? | ||
masak | tadzik: the compiling order in ufo is strictly intra-project. | ||
sorear | masak: the big idea is that Alias is supposed to show up | ||
tadzik | masak: yeah, but I mean the 'looking inside' concept | 22:07 | |
masak | tadzik: here's what I mean by dependency. you download a project. it has a file called deps.proto. in it, the projects that need be installed for the project you downloaded to build properly are listed. | ||
tadzik | right | ||
masak | tadzik: so, after you've fetched a project, you can know its dependency. that's on the API level. | 22:08 | |
on the implementation level (poc, and later pls), there's the mechanism for reading deps.proto | |||
that's what I need to implement now :) | |||
tadzik | oh, I see | ||
masak | s/dependency/dependencies/ | ||
tadzik | you can steal it from neutro, it quite works there :) | ||
masak | does neutro solve it differently from proto? | 22:09 | |
tadzik | github.com/tadzik/neutro/blob/master/neutro#L102 | ||
I don't think so | |||
22:09
guidj0s joined
|
|||
masak | I love that name, btw. :) | 22:09 | |
and I'm slightly intrigued that proto keeps on not dying. :) | |||
guidj0s | guys, I think i've asked this before, but how do i create subroutine references in perl6? | 22:10 | |
tadzik | Su-Shee figured out the name :) | ||
guidj0s: my $a = sub {} | |||
guidj0s | tadzik: do they all have to be anonymous? | ||
masak | rakudo: my $a = sub { say "OH HAI" }; $a() | ||
p6eval | rakudo 3a339e: OUTPUT«OH HAI» | ||
tadzik | guidj0s: I don't think so, but not sure | ||
masak | guidj0s: no, you can do my $a = &foo, too | ||
guidj0s | or is there something like my $subref = \subname(); | 22:11 | |
oh | |||
right | |||
nice, thanks! | |||
masak | no problemo. | ||
22:11
drake1 left
|
|||
x3nU | submited new euler solution to perl6-examples but it's slow | 22:11 | |
tadzik | it was initially named protominus :) | 22:12 | |
x3nU | i mean seriously slow | ||
tadzik | In Rakudo you can _really_ see how important is optimizing the algorithm itself :) | ||
masak | or the underlying substrate. | 22:13 | |
22:13
mrsaturns left
|
|||
x3nU | for example code for same problem that i found in the net written in vbscript executes in 8 seconds | 22:13 | |
mine - few hours | |||
;d | |||
masak | x3nU: I often have similar results. | ||
22:13
spq1 left
|
|||
masak | speed is an issue in Rakudo. | 22:13 | |
tylercurtis | tadzik: ooc, what are Mushrooms? | ||
szbalint | something you eat with Pasta. | 22:14 | |
tylercurtis has a bit of a Mushroom-like attitude for some values of Pasta. | |||
tadzik | tylercurtis: oh well, I promised myself not to explain, but this is Perl6, one big family ;) It's Python, sadly | ||
tylercurtis | Although that's more just that I personally can't stand cooking with some pastas. | 22:15 | |
tadzik is sad how no one noticed the Parrot joke | |||
patrickas | tadziki felt it was a bit cruel :-O | ||
22:16
guidj0s left
|
|||
tadzik | patrickas: what exactly? | 22:16 | |
cooking a Parrot? | |||
patrickas | for some reason I kept imagining the a poor parrot being cooked alive! | ||
somethigin must be wrong with ME! :-) | 22:17 | ||
tadzik | well, the parrot guys seem to... Smoke Parrots! | 22:18 | |
that's... unusual | |||
Getty | parrot - he doesnt die on smoke test ;) | ||
tadzik | :D | ||
Getty | why i must think of the crazy dude from police academy now, that dude who was sitting longer in the chemical warfare test and said "got some more of this stuff? its awesome!" | 22:19 | |
patrickas | he pins for the fjords :-) | ||
22:19
dju left
|
|||
masak | mst thinks that Pascal's Triangle makes Perl 6 a research project: twitter.com/shadowcat_mst/status/22112066276 | 22:20 | |
patrickas | masak: we were discussing this a bit earlier | 22:21 | |
sorear | masak: I think that's mstspeak for "innovative" | ||
masak | maybe. | ||
masak keeps on backlogging | |||
22:22
am0c^ joined
|
|||
szbalint | pretty much, sorear. DBIx::Class was a "research project" | 22:22 | |
patrickas | I suppose there is no reason why it can't be both... | ||
Besides if the series op and meta ops are too researchy for one's taste ... one can always do without | 22:23 | ||
sorear | and then there's the Haskell slogan - "Avoid success at all costs" | ||
22:26
pyrimidine left
|
|||
masak | it's a strange thing to pick on. Rosettacode asked how to solve that problem, and Perl 6 happened to solve it nicely. would Perl 6 have been less of a 'research project' if it were also good for production things? | 22:26 | |
22:27
mberends joined
|
|||
tadzik | I think the people might be like “well, interesting, but who would use it?” | 22:28 | |
patrickas | "who would use the series op ?" | 22:29 | |
tadzik | don't ask me | 22:30 | |
masak | the series op is sometimes a nice shorthand for a loop or recursion. | 22:31 | |
as with everything else, there are pros and cons. | |||
patrickas | I must have mis spoke | ||
22:31
bjarneh left
22:32
sftp left
|
|||
patrickas | To me the question is almost obvious | 22:32 | |
masak | patrickas: ah, but that might be because you're a researcher :) | ||
patrickas | Am I ? | 22:33 | |
22:33
Trashlord joined
|
|||
patrickas | I don't know .. mabye | 22:33 | |
Juerd | masak: Obviously, outputting the pascal "triangle" as a serialised array of arrays is what makes it look like a research thing | ||
masak: It needs a production grade real-world interface... i.e. fancy output :P | 22:34 | ||
masak | Juerd: huh. I thought mst was reacting against the example, or the code. | ||
Juerd | I have no idea :) | ||
Juerd isn't being serious at all | 22:35 | ||
masak suspected that :) | |||
patrickas | I suppose 140 chars arent enough for everything :-) | ||
masak | well, mst has been known to say 'research language' about Perl 6 before. | ||
22:35
barika left,
dju joined
|
|||
patrickas | Well there is some truth to that ... In the sense that it is much easier for perl6 to explore new grounds | 22:36 | |
szbalint | does "make" for rakudo support -j8 or something like that? I'm currently compiling it on a 8 core box + HT. | ||
patrickas | but that does not prevent it or lessen its production value | ||
masak | patrickas: indeed. | 22:37 | |
mberends | moritz_: in your Pascal post, was gaol a freudian typo? | ||
masak | mberends: go directly to gaol, do not collect whatever dollars. :) | ||
mberends | :) | 22:38 | |
sorear | szbalint: yes, but the largest single step will only run on one core, so it won't help *much* | ||
szbalint | I see. :) It didn't take long anyway. I think I'll install every new rakudo release on the $job dev servers from now on. | 22:39 | |
masak | also, this: twitter.com/pedromelo/status/22110965152 -- has been retweeted twice so far with "+1" in both RTs. | 22:40 | |
apparently, this is something that people feel strongly about. | 22:41 | ||
szbalint | The example is scary because it looks like golf, while it isn't really. People are just unfamiliar with the constructs. | 22:42 | |
masak | personally, as a working hypothesis, I think people had a brain parser syntax error, looked at the code with fresh eyes, and thought "wtf?" | ||
22:42
dju left
|
|||
sorear laughs at the ... yada comment | 22:42 | ||
22:42
barika joined
|
|||
sorear | (Perl 5 stole ... yada yada from 6) | 22:43 | |
masak | sorear: it's quite funny. | 22:44 | |
sorear: it also shows that people in general don't consider operators and terms to be different. | |||
22:46
dju joined
22:47
flatwhatson left
|
|||
dalek | ecza: 2667d2b | sorear++ | src/Niecza/Actions.pm: Fix '\W' failing |
22:47 | |
ecza: 6cc2651 | sorear++ | / (7 files): Implement character classes |
|||
sorear | perl 1 had / as both division and regex starter | 22:48 | |
masak | Perl 1 had regexes? | 22:49 | |
sorear | yes | ||
22:50
_macdaddy joined,
bjarneh joined
|
|||
masak | hm, ISTR hearing at YAPC::EU that there was something fundamentally Perlish that Perl 1 didn't have. thought that was regexes. maybe I recall it wrong, though. | 22:51 | |
patrickas | those 37 characters contain 4 new concepts that one needs to grasp before understanding it: pointy blocks / meta ops / series op / whatever, no wonder it is hard to digest :-) | ||
tadzik | it's funny to see how a reddit post is first 100% liked with 7 upvotes, and then becomes 0% liked :) | 22:52 | |
revdiablo is always amused by perl 5 folks criticizing perl 6 for hairy syntax. Pot, kettle, etc. | 22:53 | ||
masak | it's not so much hairy syntax as syntax that takes some time getting used to. | 22:54 | |
patrickas | I don't think it's hairy syntax per se, it's just "things I am not familiar with" | ||
revdiablo | It's pretty hairy. =) | ||
That's not meant as a criticism | |||
masak | I tend to find Perl 6's syntax quite clean and readable. but I'm aware that I might not think so if I saw it for the first time. | 22:56 | |
if that's your definition of "hairy", then we are in agreement. :) | |||
patrickas is open to the possibility that maybe all the people who think dense syntax and many operators are bad or will hurt perl are right... | 22:57 | ||
I suppose we'll find out in a few years / decades ... and maybe build perl7 accordingly :-) | |||
22:58
dju_ joined
|
|||
szbalint | For years you could write C in Perl. Now you can write Haskell too :) | 22:58 | |
szbalint ducks | |||
But you don't have to. | |||
patrickas | but I want tooooo :-) | ||
22:58
dju left,
guidj0s joined
|
|||
masak | Perl 6 has sweet spots that differ from the sweet spots of Perl 5. it's all about what things to make easy. having written Perl 6 code actively for two years now, I can say I really, really like the sweet spots provided by Perl 6. | 22:58 | |
they might not be apparent at first, but they're there, and they're good. | 22:59 | ||
23:00
flatwhatson joined
|
|||
masak | they're not exemplified well by TimToady++'s code for Pascal's triangle. they're exemplified well by the programmer facing such a problem, thinking it through, writing out the solution and OH WOW IT WORKS WOW YES THIS ROCKS | 23:00 | |
revdiablo | masak: I really like perl 6 too, but just like perl 5, it's very punctuation oriented. I think that turns a lot of people off. But I also think perl 5 people should be accustomed to a punctuation oriented language | ||
masak | all in a fairly small amount of natural language primitives. | 23:01 | |
revdiablo: Perl 5 people are accustomed to Perl 5. that tends to put them off too Perl6-y stuff, sometimes. | |||
maybe if they had a series operator, and pointy blocks, and lazy lists, they wouldn't think much of the Pascal example. then it'd be "yeah, so what? we have that too" :) | 23:02 | ||
now it's "my golly, that's abstraction-laden. research project! this is what I hope Perl 6 *won't* become. why did you optimize for Pascal's triangle?" | 23:03 | ||
revdiablo | Sure, that's my thought as well. They're reacting to something because of a lack of familiarity. But I thought perl people would be more willing to accept such things | 23:04 | |
I mean, perl 5 still surprises me on a regular basis. It has been for 10 years. I'm used to being surprised now. Perl 6 just feels like a continuation of that =) | |||
tylercurtis would link Paul Graham if his relevant essays were less condescending-sounding. | 23:06 | ||
dalek | odel: e0399b0 | ++ | java/runtime/ (6 files): [java/runtime] begin resolving circular dependencies from RakudoObject to SharedTable |
||
sorear | masak: back in the good old days, there was quite a bit of hating on C because of unreadable punctuation constructs like { }, ;, and && | 23:07 | |
masak | sorear: good thing there were digraphs that you could use instead. <snicker /> | 23:08 | |
sorear | no, digraphs are C++ | ||
23:08
lestrrat is now known as lest_away
|
|||
sorear | C used trigraphs, which were even uglier | 23:08 | |
masak | oh wow. | 23:09 | |
sorear | < - [: or ??[ | ||
23:11
guidj0s left
|
|||
masak | that's... the most desperate syntax I've seen in quite a while. | 23:11 | |
dalek | ecza: 6c3c243 | sorear++ | / (2 files): Implement /a || b/ |
23:12 | |
23:13
sekimura_ joined
23:15
sekimura left
23:22
aesop is now known as jacob_applebaum
23:25
am0c^ left
|
|||
masak | tadzik++ # ttjjss.wordpress.com/2010/08/25/on-...uage-wars/ | 23:27 | |
tadzik | I'm glad you like it | 23:28 | |
masak | I like allegories. yours was a good read. | 23:31 | |
23:32
patrickas left
|
|||
au|irc | tadzik++ # that blogpost can use an illustration like www.realsimple.com/food-recipes/bro...index.html :) | 23:32 | |
osfameron | masak: O HAI. We're still missing a talk auth from you I think? (You sent for Prince of Parsea, but not for Perl6 appetizers) | 23:35 | |
tadzik | au|irc: I'd stick some Parrot together :P | 23:36 | |
au|irc | :) | 23:37 | |
masak | tadzik: ooh, slight grammar-o at the end "are always bad" should be "is always bad", because the copula refers to the action of shoving, not to the throats. | 23:38 | |
osfameron: oh! thought the latter wasn't filmed. | |||
osfameron: tell me what to do, and I'll do it. | |||
osfameron | masak: that was in the auditorium? I think peppe is in process of transferring those (but you're on the list he gave me to chase, so I *hope* it comes across OK ;-) | 23:39 | |
masak | if auth here is enough, you have it. if auth by email is enough, I'll send one. | ||
osfameron | masak: another email to [email@hidden.address] would be brilliant! | 23:40 | |
masak makes it so | |||
osfameron | masak++ # thanks | ||
tadzik | masak++ # fixed-faxe | ||
d | |||
23:42
masak left
23:43
sftp joined,
masak joined
|
|||
lue | hello o/ | 23:44 | |
tadzik | hello and bye :) | ||
23:45
tadzik left
23:47
sftp left
23:48
sftp joined
|
|||
masak | lue: you know what would be cool? writing a game such as svn.pugscode.org/pugs/examples/games/wizard.pl but with monsters' abilities and such being added using role mixins. | 23:49 | |
lue: $monster does FireBreathing; | |||
lue | $titularwizard does Everything; | 23:50 | |
masak | $exit does MoveUnpredictably; # :) | 23:51 | |
and now, slightly more predictably, masak doth sleep. | 23:54 | ||
'night, butterflies. | |||
23:55
masak left
|