»ö« | 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 GdB␤B2G 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 GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G GAF␤F2G 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': P⁣erlJam, T⁣imToady, [⁣particle], c⁣olomon, j⁣nthn, m⁣asak, m⁣berends, m⁣oritz_, p⁣michaud. 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' bug␤Check failed␤FAILED 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 failed␤FAILED 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