Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-12-21

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:13 cdarroch left #perl6
00:20 jeeger`` left #perl6
00:21 khisanth_ joined #perl6
00:22 Khisanth left #perl6
00:23 khisanth_ is now known as Khisanth
00:24 jeeger`` joined #perl6
00:24 jeeger`` Hm, is it a "feature" that multiple multis with the same signature can coexist?
00:25 sorear it is a "bug"
00:25 sorear however, fixing it would require solving the halting problem
00:25 shortcircuit rakudo: say 4 :: 2;
00:25 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Confused at line 22, near "say 4 :: 2"␤»
00:25 shortcircuit gah
00:25 sorear in the general case
00:25 shortcircuit rakudo: say 4 %% 2;
00:25 p6eval rakudo cae7f9: OUTPUT«Bool::True␤»
00:26 jeeger`` sorear: Ah, because of the code in the where clause.
00:26 sorear yes
00:26 shortcircuit rakudo: say {4 %% 2} ?? 7 :: 1;
00:26 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Confused at line 22, near "say {4 %% "␤»
00:26 jeeger`` Not solveable in the general case.
00:26 shortcircuit rakudo: ({4 %% 2} ?? 7 :: 1).say;
00:26 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Confused at line 22, near "({4 %% 2} "␤»
00:26 sorear in the absense of where clauses, it's possible to statically detect signature collisions
00:26 jeeger`` Which isn't done yet.
00:26 sorear I don't know if anyone has actually bothered to do this though
00:26 sftp left #perl6
00:26 jeeger`` not in my rakudo.
00:27 sorear pugs: multi sub foo(Int $x) {}; multi sub foo (Int $x) {}
00:27 p6eval pugs:  ( no output )
00:27 sorear pugs: multi sub foo(Int $x) {}; multi sub foo (Int $x) {}; foo(5)
00:27 p6eval pugs:  ( no output )
00:27 sorear alpha: multi sub foo(Int $x) {}; multi sub foo (Int $x) {}; foo(5)
00:27 p6eval alpha : OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(Int $x)␤:(Int $x)␤in Main (file <unknown>, line <unknown>)␤»
00:27 sorear rakudo: multi sub foo(Int $x) {}; multi sub foo (Int $x) {}; foo(5)
00:27 p6eval rakudo cae7f9: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(Int $x)␤:(Int $x)␤␤  in main program body at line 22:/tmp/R2UOw3vzcr␤»
00:39 shortcircuit rakudo: say 4 %% 2 ?? 7 :: 1;
00:40 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Confused at line 22, near "say 4 %% 2"␤»
00:40 jeeger`` Hm, how do I include a file in the repl?
00:41 shortcircuit By how I read it, I would expect rakudo to output 7NL. Clearly, I'm reading (and thus writing) it wrong. What am I missing?
00:42 jeeger`` rakudo: say (4 %% 2) ?? 7 :: 1
00:42 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Confused at line 22, near "say (4 %% "␤»
00:45 sorear std: say 4 %% 2 ?? 7 !! 1
00:45 p6eval std 625303c: OUTPUT«ok 00:01 120m␤»
00:45 sorear it's !!, not ::
00:45 sorear std: say 4 %% 2 ?? 7 :: 1
00:45 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Please use !! rather than :: at /tmp/pj26cyoCwI line 1:␤------> [32msay 4 %% 2 ?? 7 :[33m⏏[31m: 1[0m␤    expecting any of:␤      coloncircumfix␤ signature␤Parse failed␤FAILED 00:01 120m␤»
00:45 sorear rakudo: say 4 %% 2 ?? 7 !! 1
00:45 p6eval rakudo cae7f9: OUTPUT«7␤»
00:45 shortcircuit hm
00:46 shortcircuit k. Thanks.
00:54 hercynium left #perl6
00:56 khisanth_ joined #perl6
00:56 Khisanth left #perl6
01:00 mtk left #perl6
01:02 jeeger`` left #perl6
01:02 khisanth_ is now known as Khisanth
01:08 lopnor is now known as lopaway
01:08 QinGW joined #perl6
01:10 lopaway is now known as lopnor
01:13 shortcircuit "my $val = 1; {++$val} until ($val > 10);" works in Perl 5, but not in Perl 6. (P6 hits an infinite loop.)
01:13 shortcircuit Is this an intentional change of the semantics of P6?
01:13 shortcircuit *infinite
01:13 * shortcircuit misreads his own lines. Heh.
01:15 sorear Do you mean, "an intentional change of the semantics of Perl"?
01:16 sorear I would argue it as a syntactic change
01:16 sorear P6 interprets {++$val} as meaning sub () { ++$val; } in many cases
01:16 sorear I don't know offhand if this is supposed to be one of them
01:17 shortcircuit sorear: What I meant isn't very close to what I said, the more I read it.
01:17 shortcircuit Hm. I wonder if {}.until works.
01:17 * shortcircuit checks
01:18 shortcircuit er. Probably not.
01:18 sorear I've never heard of until as a method
01:19 shortcircuit Yeah, I misrembered a for loop I'm using.
01:19 * shortcircuit grumbles.
01:19 shortcircuit Tomorrow is my first day of vacation...and I'm naturally now coming down with a cold.
01:20 gfldex even if it's an anonymous sub, it should work as expected
01:21 gfldex <-- wrong
01:21 gfldex :=
01:21 gfldex :)
01:21 gfldex rakudo: my $a = 1; repeat {say $a++} until $a > 10 ;
01:21 p6eval rakudo cae7f9: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
01:21 gfldex std: my $a = 1; {say $a++} until $a > 10 ;
01:21 p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
01:22 sorear gfldex: evaluating an anoymous sub does nothing
01:22 * sorear mutters something about eta-convertion
01:22 gfldex so we get a nothing that is kinda true and hand it over to until that is not complaining about that truish nothing
01:22 felliott left #perl6
01:23 shortcircuit Can't help that Codepad won't run Perl6, but here's the code I was playing around with. (Borrowed is_prime from RC.) http://codepad.org/Su8ikIm8
01:24 colomon joined #perl6
01:29 felliott joined #perl6
01:34 lopnor is now known as lopaway
01:40 shortcircuit http://rosettacode.org/wik​i/Lucas-Lehmer_test#Perl_6
01:40 shortcircuit Does Rakudo handle arbitrary-precision int yet?
01:43 * shortcircuit notices his script is consuming about 900M of RAM.
01:44 * shortcircuit thinks he needs to go to sleep, and maybe think about more of these things in the day time.
01:47 colomon nope
01:49 sorear pugs: 2**70
01:49 p6eval pugs:  ( no output )
01:49 sorear pugs: say 2**70
01:49 p6eval pugs: OUTPUT«1180591620717411303424␤»
01:49 sorear pugs: say 10**20
01:49 p6eval pugs: OUTPUT«100000000000000000000␤»
01:49 sorear looks like pugs does though
01:49 sorear you should test on that, shortcircuit
01:50 sorear if you can work around the *other* places pugs has fallen behind
01:50 plobsing_ it could. parrot has a bigint implementation. I suspect the devs have more pressing issues though.
01:51 sorear parrot might have a bigint implementation
01:52 colomon when I asked, I got the impression that parrot's bigint implementation was bitrotted.
01:52 sorear Parrot doesn't actually bundle libgmp, so we can't rely on it being there
01:52 sorear and the conditional availability of Unicode support is quite enough pair
01:52 sorear pain
01:55 colomon I also think there is some fear on the Rakudo devs part that adding bigints will make Rakudo run even slower.
01:56 colomon At very least, pmichaud has NOT encouraged me to try to add bigints, though I have asked him about it several times in the last year.
01:56 sorear the benchmarking I've done suggests that currently PCC swamps everything else in long-running programs
01:56 sorear I doubt adding bigints will have much proportional effect, if they're implemented sanely
01:57 sorear oh.
01:58 colomon PCC?
01:58 plobsing_ parrot calling conventions. a old and well known bottleneck
01:58 colomon ah.
02:00 ggoebel left #perl6
02:00 colomon sorear: what's your idea of implemented sanely?
02:00 colomon (in this context?)
02:01 felliott_ joined #perl6
02:02 felliott left #perl6
02:02 felliott_ is now known as felliott
02:06 lopaway is now known as lopnor
02:07 sorear colomon: "not insanely" :)  I think the biggest thing is to use a tagged big/small representation and keep the fast path entirely within Parrot
02:08 sorear also we should find a small ANSI C public domain bigint library and bundle it, so that Parrot's API stays consistent
02:09 allbery_b funny, they'e discussing that in #ghc too
02:09 sorear well #ghc is pretty constrained
02:09 allbery_b someone pointed to *BSD libmp but that's pretty much dead and known to be buggy.  and points to *BSD libcrypto
02:09 sorear the Haskell Report has required bigints since forever
02:10 allbery_b not at the moment, they've been isolating the bignum stuff specifically so they can remove the dependency on gmp
02:11 Chillance left #perl6
02:11 sorear if there isn't a <4000 line C89 public domain bigint library already, I'm 1) very suprised 2) offering to implement it
02:11 allbery_b there probably is, but the next thing people ask for is bigfloats :)
02:11 sorear the questions is how fancy you need to be
02:12 sorear I for one am happy with O(n^2) multiplication generally
02:17 * sorear finds decimal FP revolting, re. bigfloats
02:17 kid51 joined #perl6
02:17 mtk joined #perl6
02:18 allbery_b http://svn.FreeBSD.org/viewvc/base/relea​se/8.1.0/lib/libmp/mpasbn.c?view=markup fwiw (but it's a front end for openssl, which is probably a worse idea than gmp :)
02:19 sorear better now than back when the US regulated OSS crypto exports.
02:21 allbery_b http://en.wikipedia.org/wiki/Arbitr​ary-precision_arithmetic#Libraries
02:24 colomon_ joined #perl6
02:24 colomon left #perl6
02:24 colomon_ is now known as colomon
02:26 allbery_b amusing idea:  go has a "big" library implementing arbitrary precision Int and Rat types, all native code.  looks easily treanslateable
02:27 allbery_b http://golang.org/src/pkg/big/int.go
02:28 allbery_b (er.  that's ambiguous.  all "go" code, not asselmbler or linkage to platform libs)
02:45 colomon wow, lots of packages to choose from
02:47 jaldhar joined #perl6
02:47 industry__ joined #perl6
02:48 colomon MPI?
02:50 C0keNC0de joined #perl6
02:52 gimix joined #perl6
02:54 felliott left #perl6
02:55 sorear Message Passing Infrastructure
02:55 sorear it's one of the standards for writing code to run on clusters
02:57 colomon no, http://spinning-yarns.org/michael/mpi/#what
02:57 colomon that was, "Maybe MPI is a good fit for what we were looking for."
02:57 colomon all C, Integer only
02:57 colomon LGPL
03:01 shi joined #perl6
03:04 colomon left #perl6
03:05 kid51 Has pmichaud been blogging anywhere since the demise of use.perl.org?
03:09 colomon joined #perl6
03:24 uasi joined #perl6
03:26 kid51 left #perl6
03:33 shi left #perl6
03:37 lumn joined #perl6
03:51 lopnor is now known as lopaway
03:51 lumn left #perl6
03:56 shortcircuit How difficult is is to override an existing type entirely? Could Int be contextually overridden to use a module that uses NativeCall to tie into libgmp?
03:57 shortcircuit That has the nice tradeoff of native precision speed by default, and arbitrary precision where wanted.
03:59 industry__ left #perl6
04:00 shortcircuit (Obviously, if a native type can be overridden, then it could be implemented using whatever library backend is desired.)
04:02 colomon seems like overriding Int would be dicey, it's pretty fundamental.
04:03 colomon I was pondering just making a BigInt module for the moment.  Not the way things should be in the long run, but at least making arbitrary precision integers available in the short run.
04:06 colomon_ joined #perl6
04:06 colomon left #perl6
04:06 colomon_ is now known as colomon
04:07 industry__ joined #perl6
04:07 satyavvd joined #perl6
04:11 envi joined #perl6
04:21 plobsing_ left #perl6
04:25 lopaway is now known as lopnor
04:25 industry__ left #perl6
04:27 dalek niecza/cilbackend: 99606de | sorear++ | lib/CLRBackend.cs:
04:27 dalek niecza/cilbackend: Add nam->cpsop framework
04:27 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/99606dec15
04:27 dalek niecza/cilbackend: 86f0cf4 | sorear++ | lib/CLRBackend.cs:
04:27 dalek niecza/cilbackend: Add prog, ann, basic context operators
04:27 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/86f0cf4a3c
04:27 dalek niecza/cilbackend: 634d5fb | sorear++ | lib/CLRBackend.cs:
04:27 dalek niecza/cilbackend: Implement most of scopedlex/corelex
04:27 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/634d5fb6af
04:30 masak joined #perl6
04:30 masak hi there, zebras.
04:30 phenny masak: 20 Dec 22:23Z <sorear> tell masak lue++ just noticed that 'token category:id' doesn't work in Rakudo; it needs to be 'token category:sym<id>'.  Is this a new bug?
04:30 phenny masak: 20 Dec 22:23Z <sorear> tell masak c.f. http://irclog.perlgeek.de/​perl6/2010-12-20#i_3107596
04:30 sorear hi, masak.
04:30 masak hi.
04:31 masak sorear: it's been that way for as long as I can remember. I don't think anyone's reported it.
04:31 masak I'm going to turn to the backlog eventually, but I thought I'd get Advent day 21 out the door first.
04:36 masak post's away: http://perl6advent.wordpress.com/2010/1​2/21/day-21-transliteration-and-beyond/
04:42 kdaiba joined #perl6
04:42 * shortcircuit likes his prime-finding script: http://pastebin.com/e1WykAJ8
04:43 shortcircuit This is scary. It's been years since I found a programming language fun.
04:44 C0keNC0de left #perl6
04:45 shortcircuit Maybe tomorrow I'll figure out how to efficiently create a @sums sequence that contains the sums of the @primes up to the point in the sequence. Tonight, sleep.
04:46 masak sleep well, shortcircuit. dream of the fun in programming. :)
04:48 diakopter it's all fun and games until someone gets hurt
04:48 diakopter and after that, it's all fun and games until someone gets injured
04:48 diakopter and after that, it's all fun and games until someone gets killed
04:48 orafu left #perl6
04:48 orafu joined #perl6
04:49 masak I vote for avoiding the latter two.
04:51 masak another contestant just signed up. which brings the total number up to 10.
04:54 masak hm; the .Bool method on the Bool class looks like this: method Bool { self ?? True !! False }
04:54 masak I'm thinking of spectesting a patch that makes it look thusly instead: method Bool { self }
04:55 masak if that works, it'd be more subclassing-friendly.
04:55 TimToady I think that breaks the circularity saw
04:55 TimToady the assumption being that ?? is defined as a lower level primitive somehow
04:56 masak sorry, which one breaks the circularity saw; the current one, or my proposed change?
04:57 masak Rakudo implements Bool as a class; I think it should really be an enumeration type.
05:02 ShaneC left #perl6
05:06 colomon_ joined #perl6
05:06 colomon left #perl6
05:06 colomon_ is now known as colomon
05:09 allbery_b (it's all fun and games until someone loses an "i"?)
05:09 masak sounds like it would get far less complex without the "i" :)
05:25 masak sorear: returning to your phennytell; I'd consider that a TODO bug, and it might be worth to have it in RT.
05:26 masak ss/TODO bug/TODO ticket/
05:32 redicaps joined #perl6
05:36 lopnor is now known as lopaway
05:41 masak http://twitter.com/briandfoy_​perl/status/17034993846980609 -- me too! belated felicitations, Perl!
05:43 masak breakfast &
05:43 masak left #perl6
05:48 satyavvd left #perl6
05:51 TimToady added idiomatic version and notes to http://rosettacode.org/wik​i/Text_processing/2#Perl_6
05:55 sorear %hash.pairs ?  I thought hashes automatically turned into pair lists when treated by list operations
05:55 TimToady for clarity, as noted
05:55 lopaway is now known as lopnor
05:56 sorear oh.
06:07 colomon_ joined #perl6
06:07 colomon left #perl6
06:07 colomon_ is now known as colomon
06:09 TimToady rakudo: my $x = Int;  say $x(3.14159625)
06:09 p6eval rakudo cae7f9: OUTPUT«invoke() not implemented in class 'Integer'␤  in main program body at line 22:/tmp/O4hlE8ESJy␤»
06:10 TimToady rakudo: my $x = Int; say 3.14159625.$x
06:10 p6eval rakudo cae7f9: OUTPUT«invoke() not implemented in class 'Integer'␤  in main program body at line 22:/tmp/9i5u_w1T2y␤»
06:11 sorear Trolling for bugs?
06:12 TimToady having a discussion with quietfanatic++ and showsing some thing :)
06:12 TimToady s/ws/w/
06:12 TimToady s/ng/ngs/
06:12 TimToady that's one very misplaced s
06:21 nymacro joined #perl6
06:26 kaare joined #perl6
06:26 kaare is now known as Guest90242
06:34 agentzh joined #perl6
07:04 gimix left #perl6
07:04 gimix joined #perl6
07:07 kcwu left #perl6
07:07 colomon_ joined #perl6
07:07 colomon left #perl6
07:07 colomon_ is now known as colomon
07:23 adu joined #perl6
07:37 Axius joined #perl6
07:42 justatheory left #perl6
08:00 dalek niecza/cilbackend: 172eec1 | sorear++ | lib/CLRBackend.cs:
08:00 dalek niecza/cilbackend: And now letn
08:00 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/172eec1bb6
08:00 dalek niecza/cilbackend: 4bd55ef | sorear++ | lib/CLRBackend.cs:
08:00 dalek niecza/cilbackend: Add subcall/methodcall (but no named params yet)
08:00 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/4bd55ef82a
08:00 dalek niecza/cilbackend: 7b1a299 | sorear++ | / (2 files):
08:00 dalek niecza/cilbackend: Add capability to resolve class references
08:00 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/7b1a299787
08:00 dalek niecza/cilbackend: 4c5e093 | sorear++ | lib/CLRBackend.cs:
08:00 dalek niecza/cilbackend: Add Sink handling w/ DCE
08:00 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/4c5e09345d
08:00 dalek niecza/cilbackend: 52eb58c | sorear++ | lib/CLRBackend.cs:
08:00 dalek niecza/cilbackend: Implement newboundvar
08:00 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/52eb58c9fb
08:06 wamba joined #perl6
08:07 wamba left #perl6
08:07 colomon_ joined #perl6
08:07 colomon left #perl6
08:07 colomon_ is now known as colomon
08:34 zby_home_ joined #perl6
08:39 cookys joined #perl6
08:48 jhuni left #perl6
08:53 masak joined #perl6
08:54 kensanata joined #perl6
08:54 masak std: class A is A {}
08:54 p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
08:55 masak rakudo: class A is A {}; say A.new
08:55 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Mu $child, Role $r)␤:(Routine $r, Any :default($default)!)␤:(Code $block, Any $arg?, Any :export($export)!)␤:(Mu $child, Mu $parent)␤:(Mu $type where ({ ... }), Any
08:55 p6eval ..:rw($rw)…
08:55 masak LTA
08:55 * masak submits rakudobug
08:55 sorear it's being parsed as a bareword trait
08:55 sorear niecza: class A is A { }
08:55 p6eval niecza 406e042: OUTPUT«Deep recursion on subroutine "Metamodel::Class::close" at /home/p6eval/niecza/src/Metamodel.pm line 314.␤Out of memory!␤»
08:56 * masak submits nieczabug
08:56 * masak high-fives himself
08:57 masak the world is so full of bugs, ripe for the taking!
08:58 * sorear high-fives masak too
08:58 masak rakudo: class A { ... }; class B is A {}; class A is B {}; say "alive"; say A.new
08:58 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Parent isn't a Class.␤»
08:59 * masak submits LTA rakudobug
08:59 * masak wonders idly what the parent is
08:59 masak rakudo: class A { ... }; say A.WHAT; say A.PARROT
08:59 p6eval rakudo cae7f9: OUTPUT«Failure()␤Failure␤»
08:59 masak ah.
09:01 masak rakudo: class A { ... }; say A; say A.Str
09:01 p6eval rakudo cae7f9: OUTPUT«Can not find sub A␤  in main program body at line 1␤»
09:04 sorear masak: heh did you notice the end of the error
09:04 masak in niecza?
09:05 masak yes.
09:08 colomon_ joined #perl6
09:08 colomon left #perl6
09:08 colomon_ is now known as colomon
09:08 masak rakudo: class A { ... }; class B is A {}
09:08 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Null PMC access in can()␤»
09:08 masak huh.
09:08 masak that's the first causality-defying Null PMC access. :)
09:09 masak rakudo: class A { ... }; class B is A {}; class A {}
09:09 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Parent isn't a Class.␤»
09:14 diakopter masak: I think it's a say()/repl discrepancy
09:14 diakopter rakudo: class A { ... }; class B is A {}; 1;
09:14 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Null PMC access in can()␤»
09:14 diakopter hm
09:14 masak theory disproved.
09:14 diakopter indeed
09:15 diakopter those are large watermelons
09:15 masak :)
09:16 diakopter wait, this is masak-sleep-time
09:16 kcwu joined #perl6
09:20 masak it is?
09:20 masak 10:20 am here.
09:21 diakopter :)
09:22 diakopter oh! I should sleep.
09:22 masak heh :)
09:23 masak colomon: for a good use of the conflation of 1-elem lists and items, see the last line of the second solution at http://rosettacode.org/wik​i/Text_processing/2#Perl_6
09:26 lopnor is now known as lopaway
09:27 lopaway is now known as lopnor
09:29 dalek niecza/cilbackend: 23248b7 | sorear++ | lib/CLRBackend.cs:
09:29 dalek niecza/cilbackend: Add ternary
09:29 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/23248b745d
09:29 dalek niecza/cilbackend: 4521216 | sorear++ | lib/CLRBackend.cs:
09:29 dalek niecza/cilbackend: Add constructor calls and many Builtins.* wrappers
09:29 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/4521216458
09:29 dalek niecza/cilbackend: 6251ac8 | sorear++ | lib/CLRBackend.cs:
09:29 dalek niecza/cilbackend: Add low-level whileloop operator
09:29 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/6251ac8351
09:30 masak ooh, a ternary! nice!
09:30 * masak beta-tests it
09:31 masak oh, this is in a branch, isn't it?
09:31 masak ah, and master already had the ternary.
09:32 sorear yes and yes
09:33 masak sorear++ # no bugs in nested ternaries
09:34 neroxx joined #perl6
09:34 sorear bugs?  in nested ternaries?  perish the tought
09:34 masak you'd be surprised...
09:36 masak niecza: say (say 42)
09:36 p6eval niecza 406e042: OUTPUT«42␤␤»
09:36 * masak submits nieczabug
09:36 masak second output should be 'Bool::True'
09:36 sorear you can blame au for that not crashing
09:36 masak according to S32::IO::438
09:37 masak au++
09:43 masak sorear: I'm happy to see you shake up the Rakudo hegemony a bit. keep up the good work!
09:44 cotto @seen jnthn
09:45 * sorear looks up hegemony
09:46 cotto seen jnthn
09:46 aloha jnthn was last seen in #perl6 1 days 10 hours ago saying "nomdo :D".
09:46 masak ah, you native speakers are so cute.
09:51 Trashlord left #perl6
09:55 cotto Does anyone here have some familiarity with jnthn's 6model work?
09:56 * sorear raises hand halfway
09:57 cotto sorear, do you know about how stable its interface is?
10:00 masak I'm curious what interesting project idea would prompt such a question.
10:00 sorear cotto: I think that depends a lot on the branch
10:00 sorear beyond that, I can't really sayt
10:01 cotto masak, given the uncertainty of the timeline, I'm looking for ways that the Parrot folks can productively hack on Lorito without a complete (and official) MOP implementation.
10:02 masak "complete (and official)" # :)
10:02 cotto what I'm currently thinking is that some aspects could be hard-coded if the interface is known
10:02 masak aye.
10:03 masak only jnthn can give a definitive answer, but it seems to me as an interested observer that some things are quite stable already.
10:03 masak to the extent that any guarantees at all can be given, I think you'd be fairly safe to look at what is there now, and copy it.
10:03 masak I think the .Net stuff is newer, though.
10:04 cotto Right.
10:04 szabgab I know I am just disturbing you guys but FOSDEM is getting closer and I'd like to know if there is going to be any Perl 6 presence there?
10:05 QinGW left #perl6
10:06 masak szabgab: I don't think I'll be able to make it. too many unknowns with new $job, and too many other planned confs in spring. :/
10:07 kdaiba left #perl6
10:07 dakkar joined #perl6
10:08 colomon_ joined #perl6
10:08 colomon left #perl6
10:08 colomon_ is now known as colomon
10:09 agentzh left #perl6
10:14 giancarlotaroni joined #perl6
10:15 giancarlotaroni left #perl6
10:16 szabgab so if not masak, is there going to be anyone at FOSDEM giving perl related talk(s)?
10:18 sorear When & where?
10:19 masak szabgab: mention that travel and accomodation is sponsored, too :)
10:20 dalek niecza/cilbackend: b5dd3ad | sorear++ | lib/CLRBackend.cs:
10:20 dalek niecza/cilbackend: Add arithmetic & comparison ops
10:20 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/b5dd3ad86a
10:20 dalek niecza/cilbackend: 41bcbca | sorear++ | lib/CLRBackend.cs:
10:20 dalek niecza/cilbackend: Add newscalar, newrwscalar, setslot
10:20 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/41bcbca032
10:20 dalek niecza/cilbackend: a292bbb | sorear++ | lib/CLRBackend.cs:
10:20 dalek niecza/cilbackend: Add double literals, 15 new builtin bindings
10:20 icwiener joined #perl6
10:20 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/a292bbb36c
10:21 szabgab sorear: February, Brussels
10:21 szabgab we have some limited funs for travel and accommodation
10:22 sorear the new backend has gotten through Mu; I'll call it a night
10:22 redicaps left #perl6
10:23 * sorear out
10:24 masak` joined #perl6
10:26 lestaway joined #perl6
10:26 am0c left #perl6
10:27 fith_ joined #perl6
10:27 Juerd_ joined #perl6
10:28 TimToady_ joined #perl6
10:29 roen joined #perl6
10:32 risou_ joined #perl6
10:32 nero2x joined #perl6
10:32 neroxx left #perl6
10:32 masak left #perl6
10:32 risou left #perl6
10:32 lestrrat left #perl6
10:32 p6eval left #perl6
10:32 tylerni7 left #perl6
10:32 Juerd left #perl6
10:32 fith left #perl6
10:32 TimToady left #perl6
10:32 flatwhatson left #perl6
10:32 lestaway is now known as lestrrat
10:32 Juerd_ is now known as Juerd
10:33 tylerni7 joined #perl6
10:33 flatwhatson joined #perl6
10:33 tylerni7 left #perl6
10:33 tylerni7 joined #perl6
10:33 p6eval joined #perl6
10:34 masak` it hurts when the net splits.
10:41 cotto be strong, masak prime
10:42 Axius left #perl6
10:43 masak` oh, I wish it was a prime. it's a sodding backtick. :(
10:43 am0c joined #perl6
10:44 masak` lunch &
10:45 * cotto wonders about masak's factors
10:48 glow joined #perl6
10:54 moritz_ good morning zebras
10:55 moritz_ https://github.com/moritz/perlgeek.de/blob/master​/source/blog-source-en/perl-6/perl-6-in-2010.txt # draft of a new blog post, feedback welcome
10:55 moritz_ I wrote it offline, so lots of links are missing
10:57 cotto "maturing" would be better than "riping"
10:58 * moritz_ fixes
10:59 cotto I love the lazy Fibonacci list example.
11:00 cotto It demonstrates several features quite succinctly.
11:01 cotto Instead of "This specification", I'd say "This part of the specification", though that might be too nit-picky.
11:02 moritz_ "this part" is better
11:02 cotto When I saw "my @sum = @l1 Z+ @l2;", the font made me wonder what @11 and @12 were.
11:03 moritz_ I'll spell out @list1 and @list2
11:03 cotto wfm
11:06 moritz_ pushed with some fixes
11:06 moritz_ cotto++
11:06 cotto If you have links to production uses of Rakudo, make sure to include those
11:06 cotto that's pretty cool
11:08 cotto looks good
11:08 colomon_ joined #perl6
11:08 colomon left #perl6
11:08 colomon_ is now known as colomon
11:09 flussence moritz_: typo, "<dt>roat</dt>" on line 134
11:10 * moritz_ fixes
11:10 Vlavv joined #perl6
11:10 moritz_ if you find some omissions of things you deem important, please speak up too
11:10 Vlavv Hi
11:11 moritz_ hi Vlavv
11:12 ch3ck3r left #perl6
11:21 ggoebel joined #perl6
11:23 uasi_ joined #perl6
11:25 fhelmberger joined #perl6
11:25 uasi left #perl6
11:26 adu left #perl6
11:28 molaf joined #perl6
11:29 nero__ joined #perl6
11:29 mikehh joined #perl6
11:30 uasi_ left #perl6
11:30 uasi joined #perl6
11:31 roen_ joined #perl6
11:32 nero2x left #perl6
11:34 uasi moritz_: JSON::Tiny::from-json('["\/"]') returns ["Any()"]
11:34 uasi moritz_: I fixed it and sent a pull request. can you please pull it?
11:34 roen left #perl6
11:35 * moritz_ reviews
11:36 hugme joined #perl6
11:36 moritz_ hugme: add uasi to json
11:36 * hugme hugs uasi. Welcome to json!
11:36 moritz_ uasi: I'll merge the pull request. In future you're welcome to commit directly to json :-)
11:37 uasi moritz_: thanks for hugging :)
11:38 moritz_ uasi: :-) hugging is only the secondary function of hugme, but it sure makes for a cute name
11:39 * moritz_ still hasn't thought about masak's problem 4 properly
11:40 moritz_ it feels like there should be a very simple approach, but I get bogged down in details every time I approach it
11:46 moritz_ fwiw I'll have limited internet access until Dec 26th. I'll backlog if highlighted, and you all know my email address I think... :-)
11:48 * moritz_ slowly fades out
11:50 nymacro left #perl6
11:59 roen_ left #perl6
12:01 roen joined #perl6
12:01 WonTu joined #perl6
12:02 WonTu left #perl6
12:02 roen left #perl6
12:05 roen joined #perl6
12:08 colomon_ joined #perl6
12:08 colomon left #perl6
12:08 colomon_ is now known as colomon
12:11 Trashlord joined #perl6
12:13 colomon moritz_: you've got "several repository", should be "several repositories".
12:17 holli joined #perl6
12:20 holli I am trying to install rakudo* on WinXP using a Strawberry Perl 5.12 too bootstrap, but i get an error: http://snipt.org/tHI/
12:21 holli Any suggestions?
12:22 jimmy1980 joined #perl6
12:42 smash joined #perl6
12:42 smash hello everyone
12:48 colomon smash: o/
12:48 colomon holli: not sure if our Windows experts are around this morning.
12:52 colomon holli: actually, I believe that's a parrot build error.  Might be worth your while to check #parrot.
12:56 hanekomu joined #perl6
12:56 masak` is now known as masak
13:00 ch3ck joined #perl6
13:01 masak moritz_++ # https://github.com/moritz/perlgeek.de/blob/master​/source/blog-source-en/perl-6/perl-6-in-2010.txt
13:05 colomon Any hints for p6-style testing of .pl files?
13:06 masak colomon: multi MAIN() { ... }; multi MAIN("test") { ... }
13:06 masak learned that trick from moritz_++ :)
13:06 colomon and "use Test;" ?
13:06 colomon hmmm
13:06 masak yes.
13:06 colomon masak++ moritz_++
13:09 colomon_ joined #perl6
13:09 colomon left #perl6
13:09 colomon_ is now known as colomon
13:09 gimix left #perl6
13:14 * uasi thinks that implementing Hash.hash was a mistake
13:15 holli colomon: asked in #parrot
13:15 colomon holli: any luck?
13:15 colomon uasi: why?
13:15 holli just a second ago
13:16 daxim joined #perl6
13:17 soroush_ joined #perl6
13:17 soroush_ left #perl6
13:17 soroush left #perl6
13:18 uasi colomon: it's like implementing Int.hash or something
13:18 uasi er, hard to say
13:19 * uasi is consulting JP-EN dictionary
13:20 MayDaniel joined #perl6
13:20 masak Hash.hash seems an entirely sensible no-op to me.
13:20 masak a bit like List.list
13:21 felliott joined #perl6
13:21 colomon Right.
13:26 tadzik hello kangaroos!
13:27 masak ooh, improvisation :P
13:27 tadzik :)
13:29 colomon greetings, koala.
13:31 tadzik where is the integer token defined in Grammar.pm? Is it inherited from HLL::Grammar or something?
13:32 colomon something like that, I think
13:32 tadzik or where are we distinguishing the octal, binary, hex etc?
13:32 wamba joined #perl6
13:38 uasi at least, $hash.hash in list context should be coerced to pairlist, like $pairlist.hash is
13:39 masak uasi: oh, you're right. forget what I said about a no-op :)
13:39 masak so it's essentially like .pairs? :)
13:40 uasi masak: yes
13:47 colomon what does "list context" mean here?   (I'm very confused.)
13:47 uasi (or $pairlist.hash in list context should not be flattend like $hash.hash is not :)
13:49 mikehh rakudo (cae7f95) - builds on parrot (2_10_1-917-g1e0c652) - make test, make spectest_smolder[(#1789), roast (f94554a)] PASS - Ubuntu 10.10 amd64 (g++-4.5 with --optimize)
13:52 shi joined #perl6
13:54 uasi colomon: the context that comma-separated values are put into
13:54 uasi rakudo: ((foo => 'bar').hash, 'baz')[0].WHAT.say
13:54 p6eval rakudo cae7f9: OUTPUT«Pair()␤»
13:55 uasi rakudo: ({foo => 'bar'}.hash, 'baz')[0].WHAT.say
13:55 p6eval rakudo cae7f9: OUTPUT«Hash()␤»
14:01 mikehh makerealclean does not seem to remove files -> tempfile_filehandles_io.6755.291, git status gives me 10 of them - indicated file is the latest
14:01 mikehh make realclean
14:08 colomon rakudo: my @a = 1..10; say @a[2, 4, 6]
14:08 p6eval rakudo cae7f9: OUTPUT«357␤»
14:09 colomon_ joined #perl6
14:09 colomon left #perl6
14:09 colomon_ is now known as colomon
14:09 mikehh left #perl6
14:11 lopnor is now known as lopaway
14:15 roen left #perl6
14:17 smash .pm groups names suggestions for next rakudo release are welcome
14:18 colomon oooo, this is release week, isn't it?
14:19 roen joined #perl6
14:19 masak wow, already?
14:19 masak I won't make it to #phasers tonight.
14:19 colomon Today should be Parrot release day, so yup.
14:19 colomon Me neither, will probably be on the road then.
14:21 jimmy1980 left #perl6
14:24 smash release in two days, yes
14:24 masak rakudo: say "non-existent-file-tests".IO.f
14:24 p6eval rakudo cae7f9: OUTPUT«Bool()␤»
14:24 masak rakudo: say "non-existent-file-tests".IO ~~ :f
14:24 p6eval rakudo cae7f9: OUTPUT«Bool::False␤»
14:25 masak rakudo: say "non-existent-file-tests".IO ~~ :!f
14:25 p6eval rakudo cae7f9: OUTPUT«Bool::True␤»
14:25 masak this last evaluation is the *only* test that fails when I replace the Bool.Bool method to be just { self } rather than { self ?? True !! False }
14:26 masak I haven't really explained to myself yet why it fails.
14:26 masak but it feels like a relatively minor thing, probably indicative of something else being wrong somewhere.
14:28 mikehh joined #perl6
14:34 smash best list to send release reminder, perl6-compiler ?
14:34 masak we usually don't :)
14:35 masak but yes, that would be the one.
14:35 masak since practically all the commit activity has its basis on #perl6, there's not much need generally to remind p6c about the release.
14:36 smash just to remind everyone to update news and changelog etc.
14:37 masak I like the idea. go right ahead.
14:39 frogerina joined #perl6
14:40 masak ok, so it all comes down to this:
14:41 masak rakudo: say { foo => Bool } ~~ :!foo
14:41 p6eval rakudo cae7f9: OUTPUT«Bool::False␤»
14:41 masak I argue that this should print Bool::True.
14:41 masak who's with me? :)
14:42 plainhao joined #perl6
14:42 MayDaniel left #perl6
14:46 dju left #perl6
14:48 frogerina I have to say, Perl > PHP (this was always true, not just in the era of Perl6). http://www.myefact.com/
14:50 colomon awesome: having tests for my script in my script.
14:50 colomon not so awesome: having my script be more than 50% tests.
14:51 uasi_ joined #perl6
14:51 masak frogerina: mpt sure I see the relevance of your URL. are you sure you're not a spammer?
14:52 Guest90242 left #perl6
14:53 uasi left #perl6
14:54 colomon woah.  latest of those tests just found a bug in a core algorithm from $work that's survived 11 years of use in the field.
14:54 flussence the site in that url is PHP-based, too :)
14:54 flussence maybe he's saying if the spammers learned Perl, they'd be able to get actual jobs...
14:54 flussence wow.
14:56 flussence .oO( how long does a bug have to go unnoticed until it becomes a feature? )
14:57 * frogerina has an identity crisis
14:58 plobsing joined #perl6
15:00 colomon flussence: I can't imagine numeric code saying, "Yes, I have an answer." and then returning NaN to be a feature.
15:00 colomon flussence: but it's very unlikely in practice, I guess.
15:00 colomon afk
15:02 flussence that's a valid answer for a "parse string into number" function, but I get your point :)
15:04 masak frogerina: didn't mean to throw you into an identity crisis. :) but I am curious what we should be looking for at your provided URL.
15:09 icwiener_ joined #perl6
15:09 colomon_ joined #perl6
15:09 colomon left #perl6
15:09 colomon_ is now known as colomon
15:12 icwiener left #perl6
15:12 plobsing left #perl6
15:13 plobsing joined #perl6
15:23 frogerina left #perl6
15:26 alester joined #perl6
15:30 colomon masak++ # for making me examine the old algorithms
15:30 colomon afk # around town then driving home, be back post-phasers
15:30 colomon left #perl6
15:31 masak what? what did I do? :)
15:32 alester If anyone has brilliant ideas on figuring out why my apache keeps tanking, I'd love to hear 'em. :-(
15:32 hanekomu left #perl6
15:32 flussence bad RAM?
15:32 risou_ left #perl6
15:32 sftp joined #perl6
15:33 PerlJam alester: what flussence said was my first reaction as well
15:33 flussence no, that can't be it... other stuff would be going wrong too
15:33 smash alester: error_log ? strace ?
15:33 alester I believe I'm getting (effectively) DOSed by comment spammers
15:33 alester but can't but my finger on it.
15:33 _kaare joined #perl6
15:34 alester maybe I just need a fatter linode
15:34 masak left #perl6
15:35 smash alester: iptables is you friend :)
15:35 alester smash: Go on.
15:36 alester smash: How specifically do you mean to use iptables.
15:37 risou joined #perl6
15:38 flussence what I'd do would be along the lines of: tcp syn & (hashlimit > 5packet/sec, netmask = /30) -> drop
15:38 flussence lemme look it up...
15:39 alester flussence: Please dumb it down a little.  I don't know what that means that you're saying.
15:39 alester What is the goal, in English?
15:40 alester To drop packets from who?
15:40 nero__ left #perl6
15:40 flussence basically, limit each /30 of IPs to 5 connections per second and ignore over that
15:41 smash alester: look at comments spammer source IPS, block some of those networks for starters.. nothing fancy
15:41 flussence which in command-line terms would be...
15:41 flussence iptables -A INPUT -p tcp --syn -m hashlimit --haslimit-above 5/sec --hashlimit-mode srcip --hashlimit-name connect --hashlimit-srcmask 30 -j DROP
15:41 alester OK, I DO have a big file of bad IPs that I've harvested from logwatch
15:41 alester so you're saying block the comment spammers
15:41 alester But the comment spammers are only, maybe, 20/day
15:42 alester I can't imagine they're killing the site that much.
15:42 TimToady_ planetsix can try to make many connections quickly though
15:42 flussence oh, I got the wrong idea of "DOS" there...
15:42 flussence 20 a day shouldn't be crashing apache though, I imagine there's another problem elsewhere
15:43 smash alester: check apache config, number of spawns, clients p/ spawn, etc.
15:43 alester smash: And check what?
15:43 alester These high-level ideas are fine, but I don't know what specifically to check for.
15:43 smash alester: first, look at apache logs.. how many hits are you getting
15:43 smash on your apache, like 1000000 hits/day ?
15:45 smash alester: MaxKeepAliveRequests, KeepAliveTimeout, StartServers, ServerLimit, MaxClients, MaxRequestsPerChild usually good places to start
15:46 smash but first make sure you're problem is _actually_ number of requests on apache
15:46 flussence (and if this is a segfault... those usually show up in the kernel log)
15:46 alester smash: my point is, you say to look at MaxKeepAliveRequests, but how do I know what that should be set at?
15:46 alester Should it be 3?  300?
15:47 alester How do I know.
15:47 smash it should be a high value, 300, 400
15:47 smash there's no golden rule here, sorry..
15:48 smash if you dont' have many images, or static content, maybe a lower value like 100 is fine
15:49 flussence StartServers: 5-10, ServerLimit: should be low enough that apache can't eat all the RAM, MaxClients: ~500 or so is enough, MaxRequestsPerChild is really just a safety net for mem leaks, but set it to something like 10k.
15:50 alester And plus the backend is MySQL which is no friend to me.
15:51 smash activate mysql slow query log is usually a good place to start at that front
15:51 alester well, hell, my load avg is currently 49.50
15:51 alester but I can't even tell why
15:51 alester there are HTTPD in there, but there's also mysql
15:52 alester "in there" = in top
15:52 smash how's memory ? and swap ?
15:52 alester Smash: I don't know.
15:53 alester I don't know how to answer "how's memory"
15:53 alester You ask me these questions like I know what you're talking about. :-)
15:53 smash alester: sorry, my bad.. i meant on your top press M to see processes memory consume
15:54 alester right now, I'm glad to get a prompt
15:54 flussence (worst loadavg I've ever heard of was something like 200...)
15:54 smash alester: set a cron job to take a snapshot of process list every minute is also a good idea
15:54 alester OK, so I hit M
15:55 alester now what
15:55 smash which process is on top ?
15:55 alester well it was spamd
15:55 flussence (M = sort by mem)
15:55 alester but I killed it
15:55 alester because it was huge
15:56 smash how's httpds and mysqld memory usage ?
15:56 alester 154m for mysqld
15:56 MayDaniel joined #perl6
15:58 smash alester: to you have slow query set for mysql ?
15:58 alester I doubt it
15:58 alester I don't do mysql.
15:58 alester Pg is my baby
15:59 smash do you need mysql running ?
15:59 alester yes
16:00 alester it's the backend to rakudo.org
16:00 alester My gut tells me that spamd is my bummer.
16:00 mikehh rakudo (cae7f95) - builds on parrot (2_10_1-918-gee0b73f) - make test, make spectest_smolder[(#1798), roast (f94554a)] PASS - Ubuntu 10.10 i386 (g++-4.5 with --optimize)
16:01 alester three spamd processes using 26%
16:01 alester of RAM
16:02 flussence how much RAM's it got in total?
16:02 smash alester: sorry, never used spamd
16:02 alester http://pastebin.com/uxu1JAcY
16:03 flussence hm...
16:06 flussence those "D" in the column of "S" means something's doing disk IO... and it all seems to be on the email/blog comment processes...
16:07 flussence I wonder if that's just getting out of swap after some of the memory was freed up, or what.
16:07 glow left #perl6
16:10 smash alester: are you getting mail spammed ?
16:10 alester yes
16:10 alester And right now I can't even get a prompt
16:10 alester I'm bouncing my node
16:10 alester I think I'll just run w/o mail
16:10 alester and see if we still spike
16:11 smash stop spamd, or iptables -I INPUT --dport 25 -j DROP
16:11 alester My RAM is 512B
16:11 alester smash: Or stop postfix. :-)
16:11 jeeger`` joined #perl6
16:11 smash isn't spamd checking blacks lists ?
16:12 alester Could be
16:12 alester what's your line of thinking?
16:13 smash well, if you are getting spammed probably those sources are already blacklisted on spamhaus and such
16:13 alester yes, and
16:13 alester You're saying that those spammers shouldn't be getting through?
16:13 smash if it's trahing your server yes
16:13 smash *trashing
16:13 alester I don't know that it is.
16:14 kanishka joined #perl6
16:14 smash well, stop postfix for a couple of hours and see how it goes
16:14 alester that's what I'm doin' right now
16:14 alester or just don't send mail thru spamd and take the spam hit
16:14 kanishka left #perl6
16:15 kensanata left #perl6
16:15 flussence website's alive again, anyway.
16:15 alester yes, rebooting is a magic thing. :-)
16:15 kensanata joined #perl6
16:16 flussence ...and now it isn't!
16:16 alester Yes, I just killed it.
16:16 alester because I'm immediately up to load average of 14
16:16 alester Now I'm thinking it's MT
16:21 mtk0 joined #perl6
16:21 flussence "tail -n1000 /var/log/apache/access_log | grep -c POST" - the number out of this *should* be low, if not, it's probably a bot trying to spampost
16:21 flussence where "low" is ~100 or less
16:22 jeeger`` is now known as jeeger
16:22 alester Of course all my logs are spit out per server
16:22 alester but I know what you mean
16:22 mtk left #perl6
16:23 mtk0 left #perl6
16:23 mtk joined #perl6
16:25 WonTu joined #perl6
16:25 WonTu left #perl6
16:25 flussence I'm gonna agree that it's MT at fault; rakudo.org/robots.txt loads instantly while the main page doesn't at all.
16:26 alester which main page?
16:26 flussence s/doesn.*/really slowly
16:26 alester rakudo.org?
16:26 dalek book: ff0067c | duff++ | src/roles.pod:
16:26 dalek book: fixed reference to grammars jeeger++
16:26 dalek book: review: https://github.com/perl6/book/commit/ff0067c7af
16:26 flussence yeah
16:26 alester rakudo.org is Drupal
16:26 flussence oh
16:26 * flussence facepalm
16:27 flussence but yeah, it's got no problem loading static content...
16:28 foolman joined #perl6
16:29 justatheory joined #perl6
16:30 alester at least it's prob'ly not ram
16:30 alester 'cause I'm not swapping
16:31 alester (That IS a valid conclusion, right?)
16:31 flussence guess so.
16:31 alester And I define "not swapping" as "top says 84k of swap used"
16:31 foolman NEXT
16:32 flussence is that perlbuzz's MT running on that server?
16:32 alester yes
16:32 flussence huh... that loads instantly.
16:32 alester it's static content
16:32 flussence I'm gonna blame PHP.
16:32 alester well
16:32 flussence just cause.
16:32 alester it could easily be mt-*.cgi
16:32 risou_ joined #perl6
16:33 risou left #perl6
16:40 jaldhar left #perl6
16:43 alester Oh, this is interesting
16:43 alester huggy:/home/amy/Maildir/.-spam/cur # ls | wc -l
16:43 alester has not yet returned
16:44 flussence I'm gonna bet it's something insane like 1.5 million
16:44 alester I'll put it at 200,000
16:45 alester tra la la la la , still running
16:48 flussence (might be faster to do ls -U ... by default it reads the entire list then sorts it.)
16:48 spq1 joined #perl6
16:50 allbery_b ls -f (and on linux unalias ls first and unset $LS_OPTIONS, because it defaults to stat()ing every single file)
16:50 alester or maybe just du c
16:50 alester du -c
16:51 flussence didn't know that one. -f must mean "fast". :)
16:51 allbery_b essentially yes
16:51 allbery_b on linux they turn on colorization by default, which means ls gathers all the info needed for all its color fun, which takes forever in big directories
16:52 alester Thanks, Russ
16:52 alester What's the _b?
16:52 alester ah, -f includes -U and -a
16:53 alester also adding -1
16:53 flussence allbery_b: in this case it won't bother to stat them since it checks for a tty first. just checked with strace.
16:54 alester I'm gonna have to kill 'em all anyway, I might as well rm while I'm at it. :-)
16:54 alester but I wanan know how bad it is.
16:55 allbery_b sorry, not Russ.  (yes, there are two of us.  second cousins)
16:55 allbery_b and the _b is for Brandon
16:57 allbery_b (I've never seen rra on here, which is probably just as well because people get confused enough as it is :)
16:59 jaldhar joined #perl6
17:02 alester Sorry, Brandon.  I just figured there couln't be more than one Allbery.
17:03 cdarroch joined #perl6
17:03 cdarroch left #perl6
17:03 cdarroch joined #perl6
17:03 allbery_b last I checked there were at least 3, actually
17:05 alester In Perl?
17:05 allbery_b no
17:05 alester well, yeah, I figured there had to be parents somewhere. :-)
17:07 alester Only 102,000 in that folder.
17:08 roen left #perl6
17:08 flussence :( I was off by miles.
17:08 alester but still, just adding a message to that would hammer the box
17:10 glow joined #perl6
17:19 [Coke] left #perl6
17:19 [Coke] joined #perl6
17:22 alester Well, I think we're good now.
17:22 alester The rm-o-matic is running.
17:31 alester smash, flussence, allbery_b: http://petdance.com/random/diskio.png
17:32 alester I think that pretty much epxlains it all. :-)
17:33 MayDaniel left #perl6
17:34 flussence looks like it was about to go off the deep end too.
17:34 rhr left #perl6
17:35 starcoder left #perl6
17:35 hercynium joined #perl6
17:36 alester Note that that's overthe past 4 weeks
17:36 ch3ck3r joined #perl6
17:36 alester so at some point, the # of spams in Amy's folder dog-legged
17:38 rhr joined #perl6
17:40 ch3ck left #perl6
17:41 starcoder joined #perl6
17:45 foolman left #perl6
17:50 kanishka joined #perl6
17:52 abra joined #perl6
17:52 am0c^ joined #perl6
17:54 Chillance joined #perl6
17:55 kensanata left #perl6
17:58 uasi_ left #perl6
17:58 fith_ left #perl6
17:58 fith joined #perl6
17:58 kanishka left #perl6
18:03 flussence is that rm command still running?
18:04 ShaneC joined #perl6
18:17 shi left #perl6
18:19 dakkar left #perl6
18:28 flussence looks like rakudo.org is alive and well again
18:28 flussence alester++
18:34 impious joined #perl6
18:34 risou_ left #perl6
18:45 abra left #perl6
18:47 am0c left #perl6
19:01 WonTu joined #perl6
19:02 WonTu left #perl6
19:09 glow left #perl6
19:14 [Coke] .
19:15 jeeger left #perl6
19:16 _buno_ joined #perl6
19:21 Util Shouldn't #phasers be meeting now, or is my clock out of phase?
19:23 molaf left #perl6
19:25 _buno_ left #perl6
19:25 M_o_C joined #perl6
19:26 Patterner left #perl6
19:26 Psyche^ joined #perl6
19:27 Psyche^ is now known as Patterner
19:33 Gahrian left #perl6
19:39 frettled Util: perhaps they've all been stunned.
19:41 Util heh
19:42 envi left #perl6
19:44 [Coke] left #perl6
19:46 glow joined #perl6
19:58 impious left #perl6
20:03 lue ohai o/
20:10 lue disconnect!
20:12 fhelmberger left #perl6
20:15 lue left #perl6
20:16 MayDaniel joined #perl6
20:18 daxim left #perl6
20:22 lue joined #perl6
20:23 lue reconnect! [the christmas ornaments are in a closet my computer blocks.]
20:28 _buno_ joined #perl6
20:29 flussence whee, I broke rakudo
20:29 lue that's always fun :)
20:30 flussence it doesn't like it when I write "use A::B::C;" in A/B.pm :(
20:30 flussence illegal redeclaration or somesuch
20:31 M_o_C left #perl6
20:31 moritz_ try to write the use line after the class (or module) line
20:31 dalek mu: 3e8e97c | moritz++ | misc/perl6advent-2010/ (2 files):
20:31 dalek mu: [advent] I volunteer for tormorrow; fill in some gaps
20:31 dalek mu: review: https://github.com/perl6/mu/commit/3e8e97cf15
20:32 flussence no good, "use v6; class A::B; use A::B::C;" still explodes.
20:32 moritz_ :(
20:32 lue is there an A/B/C.pm ? [I would think so, just checking]
20:32 flussence I've got it down to just the use/class statements now, anyway
20:33 flussence lue: yep
20:33 PerlJam I think
20:33 lue Try B::C, maybe it works that way?
20:33 PerlJam I think: use A::B::C tries to unconditionally autovivify A, A::B, and A::B::C
20:33 flussence hm
20:33 thundergnat joined #perl6
20:34 shi joined #perl6
20:35 flussence if I put use A::B::C; and use A::B; in another file in either order, same result.
20:35 flussence the only workaround I've found so far is to just not use package names with more than one :: in them...
20:36 shi left #perl6
20:36 thundergnat Hi perl6 people.
20:36 _buno_ left #perl6
20:37 sorear good * #perl6
20:37 PerlJam Who's got the rakudo release this month?
20:37 thundergnat Hi sorear
20:38 moritz_ PerlJam: smash++ does
20:39 shi joined #perl6
20:39 PerlJam moritz_: does he know it? :)
20:39 moritz_ PerlJam: ask him, not me
20:40 thundergnat I put together something I was thinking about submitting for an advent post, but I'm not sure it's sufficiently awesome. Anyone feel like taking a look and commenting.  http://home.comcast.net/~thundergnat/schwartz.htm
20:40 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_regex_tablet
20:41 PerlJam thundergnat: surely it's awesome enough that it was used last year IIRC
20:41 thundergnat Was it? Didn't see that...
20:41 lidden joined #perl6
20:42 moritz_ thundergnat: my @sorted = @unsorted.sort: { *.lc };
20:42 moritz_ should be  { .lc }  or *.lc
20:42 moritz_ but not both
20:42 abra joined #perl6
20:42 rgrau joined #perl6
20:43 tylercurtis joined #perl6
20:43 mberends joined #perl6
20:43 PerlJam thundergnat: See http://perl6advent.wordpress.com/20​09/12/20/day-20-little-big-things/     :-)
20:43 plainhao left #perl6
20:43 moritz_ thundergnat, PerlJam: it was indeed mentioned last year, but not in so much detail, and without the part on natural sorting
20:43 moritz_ so I'd vote for taking it
20:43 PerlJam thundergnat: but yours is a much longer treatment of the subject.  Claim one of the few remaining days and post it!
20:44 thundergnat moritz_: fixed { *.lc }
20:44 moritz_ fwiw I just stored a draft of tomorrow's advent post in wordpress
20:45 moritz_ thundergnat: if you tell (or /msg) me your email address, I'll give you access to the advent blog
20:45 thundergnat I don't know anything about wordpress so I'm not to sure about how to post it.
20:45 moritz_ thundergnat: the UI is fairly intuitive
20:46 moritz_ once you're in the admin menu, just click 'Posts' -> 'Add New'
20:46 PerlJam thundergnat: do you have a wordpress account?
20:47 thundergnat PerlJam: yes, but not a blog
20:47 moritz_ that's fine
20:47 lidden How would I translate this p5 regex to p6? s/^ ([^\s\-] .*)/: $1 :/x;
20:47 thundergnat moritz_: sent PM with email addr.
20:48 moritz_ thundergnat: invitation sent. Welcome to the wonderful world of Perl 6 advent :-)
20:50 moritz_ std: s/^(<-\s -[-]> \N*)/: $0 :/
20:50 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex assertion at /tmp/8ru4Ibh891 line 1:␤------> [32ms/^(<-[33m⏏[31m\s -[-]> \N*)/: $0 :/[0m␤    expecting character class element␤Parse failed␤FAILED 00:01 119m␤»
20:51 moritz_ std: s/^(<-space -[-]> \N*)/: $0 :/
20:51 p6eval std 625303c: OUTPUT«ok 00:01 122m␤»
20:51 moritz_ lidden: see above
20:51 moritz_ note that rakudo doesn't handle $0 in the substitution part correctly atm
20:51 lidden moritz_: Thanks
20:51 moritz_ you'd need  $str.subst($regex, -> $/ { ": $0 :" })  as a workaround
20:51 lidden Is that why I get a lot of Any() when I try
20:52 moritz_ right
20:52 moritz_ it doesn't set the match variable for the right-hand side
20:52 moritz_ (and it's a nontrivial fix, which is why we haven't done it yet, even though it bites many people)
20:53 moritz_ "nontrivial" is a sort of understatement. It needs more conceptual work
20:54 lichtkind joined #perl6
20:55 PerlJam "nontrivial" is always an understatement when people apply it to Perl 6.  :-)
20:56 moritz_ otoh it fits fairly well to how mathematicians and physicists use it :-)
20:56 MayDaniel left #perl6
20:56 sorear $str.lines.map({ m/^^ <[ \s - ]>/ ?? ":$_:" !! $_ })
20:57 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_regex_tablet
20:57 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_basics_tablet
21:02 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/pe​rl6/index.cgi?perl_6_oop_tablet
21:02 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl6​/index.cgi?perl_6_subroutine_tablet
21:03 dalek mu: 8450af4 | thundergnat++ | misc/perl6advent-2010/schedule:
21:03 dalek mu: Volunteer for 23rd
21:03 dalek mu: review: https://github.com/perl6/mu/commit/8450af4a73
21:09 zorgnax left #perl6
21:10 youwin_ left #perl6
21:14 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_basics_tablet
21:18 lichtkind th y alias for tr is gone?
21:18 PerlJam lichtkind: aye
21:19 moritz_ std: tr///, y///
21:19 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of y///; in Perl 6 please use tr/// at /tmp/fTUOZwC4BD line 1:␤------> [32mtr///, y[33m⏏[31m///[0m␤Parse failed␤FAILED 00:01 120m␤»
21:19 lichtkind great thanks
21:19 PerlJam rakudo: y///
21:19 p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Confused at line 22, near "y///"␤»
21:20 moritz_ tr/// parsing is complicated in rakudo
21:21 moritz_ because the string parsing rules eat up the terminator
21:21 moritz_ so once the tr/search/ part is parsed, the second / is already used up
21:21 moritz_ and replace/ doesn't parse anymore
21:23 zorgnax joined #perl6
21:25 youwin_ joined #perl6
21:28 moritz_ everybody with a wordpress account, feel free to improve my posting for tomorrow
21:28 * moritz_ goes to sleep now
21:29 takadonet moritz_: good night
21:31 pumphaus joined #perl6
21:31 pumphaus hi
21:31 takadonet pumphaus: hey
21:31 pumphaus is there a way to dynamically create classes at runtime?
21:32 pumphaus I'm thinking about creating Qt bindings for perl6/rakudo, and dynamically creating the Qt classes would be a requirement for that I think
21:33 pumphaus I've already found P6object, but that seems to be very low level Parrot stuff
21:33 pumphaus and given its name, I figured perl6 has this functionality out of the box
21:33 pumphaus I just can't find any resources on that
21:34 PerlJam pumphaus: I don't think it's implemented at the Perl 6 level just yet
21:34 pumphaus oh, too bad
21:35 pumphaus well, thanks anyway :)
21:35 PerlJam pumphaus: Ask jnthn for something definitive on implementation
21:35 Krunch joined #perl6
21:38 sorear pumphaus: this is what eval is for
21:39 sorear I mean, eval is intended to be a universal stopgap solution
21:41 pumphaus sorear: thanks, will try that
21:41 sorear there is one way to create classes in standard Perl 6
21:41 sorear without eval
21:41 sorear if you can phrase all of your classes as base class + some parametric roles
21:43 tylercurtis left #perl6
21:43 pumphaus sorear: yea, I can do that. the eval thing doesn't work btw... the scope of the declared class seems to be limited
21:44 sorear You can't add stuff to a scope at runtime.
21:44 sorear There is no way to create stuff at runtime with unlimited scope
21:44 mtk left #perl6
21:46 pumphaus well what I mean is 'eval 'class Dog {}'; my $dog = Dog.new();' doesn't work
21:46 sorear of course not
21:46 sorear "Dog" is a lexical symbol
21:46 sorear it has to be known at compile time
21:46 MayDaniel joined #perl6
21:46 sorear you could do my $dogc = eval 'class Dog {}'; my $dog = $dogc.net
21:47 pumphaus I see...
21:47 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
21:48 _kaare left #perl6
21:49 pumphaus seems like things get a little more complicated now that it's not all interpreted anymore
21:49 Tene rakudo: eval 'class Dog {}'; my $dog = eval 'Dog.new()'; say $dog.WHAT;
21:49 p6eval rakudo cae7f9: OUTPUT«Dog()␤»
21:49 Tene If you delay class creation to runtime, you also need to delay class lookup until runtime.
21:50 sorear I think the second Dog needs to be GLOBAL::Dog to be portable
21:50 Tene Probably.
21:51 sorear rakudo: BEGIN { eval 'class Dog {}' }; my $dog = Dog.new; say $dog.WHAT;
21:51 p6eval rakudo cae7f9: OUTPUT«Dog()␤»
21:51 sorear you can also do that
21:51 pumphaus ah, that's more along the lines of what I need
21:51 pumphaus thanks
21:51 Tene pumphaus: what do you want it for?
21:52 pumphaus Tene: creating Qt bindings
21:52 Tene Ah.
21:52 pumphaus and generating perl6 sources for all the Qt classes is just so... static
21:52 pumphaus and not really nice either
21:53 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
21:53 Tene pumphaus: Ah, nice.
21:53 Tene pumphaus: You should be able to do it all through the metamodel instead of using eval, though.
21:54 PerlJam pumphaus: so you're going to do something like BEGIN { for <Foo Bar Baz> -> $stuff { eval 'class Qt$stuff { }' }   ?
21:54 Tene Ideally, at least.  I'm not sure rakudo's metamodel is sufficiently exposed right now, though.
21:54 PerlJam Tene: I'm pretty sure it's not
21:54 PerlJam Tene: or at least not coherently exposed
21:54 sorear in the short term eval will be much more portable
21:54 sorear there is basically no spec on MOPpage
21:54 Tene Yes, rather.
21:55 sorear while eval uses ordinary P6 strings
21:55 pumphaus I didn't find any resources on metamodel, so I don't really have a clue what it's all about
21:55 pumphaus PerlJam: yea, I think this is what it'll bee
21:55 pumphaus -e
21:55 sorear pumphaus: eval = parser + metamodel
21:56 sorear the parser takes a statement like class Foo {} and teases it apart into operations ("create class", "install class name", etc) on the metamodel
21:56 Krunch left #perl6
22:02 Tene I'm reading The Art of the Metaobject Protocol right now.
22:07 ShaneC1 joined #perl6
22:08 M_o_C joined #perl6
22:08 M_o_C left #perl6
22:08 M_o_C joined #perl6
22:10 ShaneC left #perl6
22:11 hudnix left #perl6
22:11 dju joined #perl6
22:11 dju left #perl6
22:11 dju joined #perl6
22:14 colomon joined #perl6
22:15 takadonet colomon: welcome .... to the future
22:15 colomon no way, man, I'm Living in the Past
22:16 sorear hey colomon
22:16 colomon hello!
22:18 takadonet colomon: well take your C style loops with you then!
22:19 PerlJam C style loops? he could be further in the past:   do 10 i = 1, n   ... 10 continue
22:20 PerlJam :-)
22:23 spq1 left #perl6
22:23 abra left #perl6
22:24 M_o_C left #perl6
22:28 starcoder left #perl6
22:30 starcoder joined #perl6
22:33 colomon I scoff at your looping constructs.  All I need are ifs and gotos.
22:34 takadonet ...
22:39 zby_home_ left #perl6
22:49 takadonet rakudo: my $var ='beer'; my $ref = \$var; say $ref;
22:49 p6eval rakudo cae7f9: OUTPUT«Capture()<0xdde0138>␤»
22:49 takadonet How do I dereference $ref so I can get the value 'beer' ?
22:51 takadonet .... anyone?
22:51 sorear $ref.[0]
22:51 takadonet I know it's a stupid question
22:51 sorear \ doesn't make references anymore
22:51 takadonet well a capture then :)
22:53 takadonet sorear: thanks
22:57 takadonet good night all
22:57 takadonet left #perl6
23:02 soroush joined #perl6
23:11 thundergnat left #perl6
23:16 lopaway is now known as lopnor
23:17 lopnor is now known as lopaway
23:28 justatheory left #perl6
23:28 timbunce joined #perl6
23:28 justatheory joined #perl6
23:28 Chillance left #perl6
23:29 hercynium left #perl6
23:33 lidden left #perl6
23:34 lichtkind good night
23:36 timbunce left #perl6
23:43 icwiener_ left #perl6
23:44 MayDaniel left #perl6
23:56 ShaneC1 left #perl6
23:56 ShaneC joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo