Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-09-27

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:03 hugme joined #perl6
00:08 Italian_Plumber joined #perl6
00:08 Italian_Plumber left #perl6
00:13 ash_ say 0.so, 0.defined
00:13 ash_ rakudo: say 0.so, 0.defined
00:13 p6eval rakudo 0421d3: OUTPUT«Bool::FalseBool::True␤»
00:15 justatheory joined #perl6
00:15 risou left #perl6
00:15 risou joined #perl6
00:16 sorear .so and .Bool are synonyms, except for some confusing cases with junctions
00:18 rgrau_ joined #perl6
00:18 flatwhatson is that so you can write if so { do_stuff() } ?
00:20 risou left #perl6
00:20 sorear you can't write if so anyway
00:21 sorear it would have to be if .so
00:21 plobsing sub make-it-so($x is rw) { $x but= True }
00:22 ash_ rakudo: my $_ = 12; given :so { say 1 }
00:22 p6eval rakudo 0421d3: OUTPUT«===SORRY!===␤Redeclaration of symbol $_ at line 22, near " = 12; giv"␤»
00:22 ash_ rakudo: $_ = 12; given :so { say 1 }
00:22 p6eval rakudo 0421d3: OUTPUT«1␤»
00:23 ash_ rakudo: $_ = 12; if .so { say 1 }
00:23 p6eval rakudo 0421d3: OUTPUT«1␤»
00:23 sorear rakudo: $_ = 12; given :so { .say }
00:23 p6eval rakudo 0421d3: OUTPUT«so Bool::True␤»
00:23 sorear # I don't think given does what you think it does
00:23 ash_ rakudo: say 12 ~~ :so
00:23 p6eval rakudo 0421d3: OUTPUT«Bool::True␤»
00:23 ash_ ah ya
00:23 ash_ i meant to say when
00:23 ash_ oops
00:24 ash_ rakudo: $_ = 12; when :so { .say }
00:24 p6eval rakudo 0421d3: OUTPUT«12␤»
00:24 ash_ rakudo: $_ = 12; if .so { .say }
00:24 p6eval rakudo 0421d3: OUTPUT«12␤»
00:25 mfollett joined #perl6
00:26 sorear rakudo: say 12 ~~ .so # I think Pair.ACCEPTS is deprecated, this is how we do it now
00:26 p6eval rakudo 0421d3: OUTPUT«Bool::True␤»
00:28 wolfman2000 ...is there really a big difference between if and when? They seem to do the same thing
00:31 plobsing rakudo: given (42) { if 1..3 { say "small" }; when 42 { say "other" } }
00:31 p6eval rakudo 0421d3: OUTPUT«small␤other␤»
00:32 plobsing rakudo: given (42) { when 1..3 { say "small" }; when 42 { say "other" } }
00:32 p6eval rakudo 0421d3: OUTPUT«other␤»
00:32 lichtkind left #perl6
00:32 petdance left #perl6
00:35 Italian_Plumber joined #perl6
00:47 leprevost left #perl6
00:48 leprevost joined #perl6
00:51 leprevost left #perl6
00:54 QinGW joined #perl6
00:56 justatheory left #perl6
00:58 mavrc left #perl6
01:02 rgrau_` joined #perl6
01:02 rgrau_ left #perl6
01:05 rgrau_` left #perl6
01:08 cbk left #perl6
01:20 ash_ when does a lot more than if
01:26 masonkramer define "more"
01:27 masonkramer I think they just do very different things
01:27 hercynium joined #perl6
01:28 masonkramer http://blogs.gurulabs.com/stephen/2008/12/perl-6-givenwhen.html
01:29 leprevost joined #perl6
01:32 molaf joined #perl6
01:40 masonkramer left #perl6
01:41 astrojp joined #perl6
01:41 petdance joined #perl6
01:42 LaVolta joined #perl6
01:42 molaf_ joined #perl6
01:44 LaVolta morning #perl6
01:46 molaf left #perl6
01:55 sorear heya
01:57 wolfman2000 left #perl6
02:06 araujo hi
02:25 Italian_Plumber left #perl6
02:28 nymacro joined #perl6
02:32 dmedley joined #perl6
02:33 dmedley left #perl6
02:37 cbk joined #perl6
02:53 cbk left #perl6
03:02 justatheory joined #perl6
03:07 cbk joined #perl6
03:15 meppel joined #perl6
03:16 meppl left #perl6
03:33 leprevost left #perl6
03:37 envi^home joined #perl6
03:50 xinming is pugs svn repository down?
03:50 meppel is now known as meppl
03:52 colomon left #perl6
03:53 cognominal left #perl6
03:54 ash_ left #perl6
03:58 ash_ joined #perl6
03:58 satyavvd joined #perl6
03:58 s1n left #perl6
04:00 plobsing xinming: pugs repo is gone (see http://use.perl.org/~masak/journal/40524)
04:05 ash_ left #perl6
04:08 xinming plobsing: thanks
04:10 xinming plobsing: Where is the old pugs svn repository?
04:11 cognominal joined #perl6
04:15 xinming Just curious.
04:16 plobsing /dev/null I guess.
04:22 cognominal left #perl6
04:23 Chillance left #perl6
04:30 sorear xinming: Juerd probably has it on a backup tape somewhere
04:30 sorear xinming: Looking for something?
04:30 xinming_ joined #perl6
04:33 xinming left #perl6
04:34 sorear xinming: Juerd probably has it on a backup tape somewhere
04:34 sorear xinming_: Looking for something?
04:41 fod left #perl6
04:44 xinming_ sorear: Nope, Just want to keep the "history" :-)
04:46 s1n joined #perl6
04:59 ggoebel left #perl6
05:01 justatheory left #perl6
05:10 kaare joined #perl6
05:11 kaare is now known as Guest91659
05:11 sorear xinming_: we imported the entire history into git
05:12 sorear xinming_: if anything the history is more accessible now, since git clones default to "all history"
05:14 sorear hmm.  I have an Interesting metamodel freeze/thaw problem
05:15 sorear if a Unit references several other Units, then loading it will clone them all
05:15 sorear maybe I should look at something like kioku
05:18 plobsing sorear: shouldn't you maintain a unique reference to be able to de-dup unit loads (and therefor avoid clones)?
05:24 sorear plobsing: that's the problem, I'm trying to find the best way to do "unique reference"
05:25 * sorear is also still trying to figure out exactly how packages want to work
05:26 sorear currently the best I've been able to come up with is to, instead of actually referencing the objects, store the unit name + a per-unit ID number
05:26 mfollett Is there a synopsis or other document that'd clue me in on how to add a subroutine to a module dynamically?
05:26 mfollett or
05:26 mfollett source, that would work too, sorry for so many lines here
05:28 sorear S11 maybe, though it depends on exactly what you mean
05:28 sorear subroutine handling is a lot less dynamic in Perl 6
05:29 plobsing left #perl6
05:30 mfollett sorear: I didn't find what I was looking for in S11.  Basically, I'm trying to fix Tags.pm but the fix is beyond me.  Line 29 of it he is adding a bunch of subs into the module via ::Tags{$sub_name} = sub {} http://github.com/masak/web/blob/master/lib/Tags.pm
05:31 xabbu42 joined #perl6
05:36 LaVolta rakudo: my @l = <a bb c d e f g h>; while @l.munch(3) -> $_ { .say }
05:36 p6eval rakudo 0421d3: OUTPUT«a bb c␤d e f␤g h␤»
05:37 LaVolta # perfect!
05:38 sorear mfollett: that's more like Parrot code than Perl 6 code
05:38 * sorear thinks maybe packages shouldn't exist at all
05:39 hercynium left #perl6
05:40 Amadiro left #perl6
05:41 sorear mfollett: pir::set_hll_global__vPSP(<Tags EXPORT DEFAULT>, $tag, sub { ... }); is probably the best you can get atm
05:42 sorear the correct way is Tags::EXPORT::DEFAULT::{$tag} = sub { ... };, but Rakudo doesn't implement stash notation
05:42 mfollett sorear:  Thanks!  I was told it worked at some time in the past, I'm hoping I can get it working again.  I'll look at that.  Otherwise I was thinking I could change it into a class and use Tags.HOW.add_method(), but that'd probably change a lot of other things.
05:45 mfollett sorear:  really, my other idea was a bad one.
05:50 sftp left #perl6
05:54 timdemkowsky left #perl6
06:00 wtw joined #perl6
06:02 nymacro left #perl6
06:06 nymacro joined #perl6
06:08 petdance left #perl6
06:14 am0c^ left #perl6
06:14 redicaps joined #perl6
06:17 pythonian4000 is now known as pythonian4000afk
06:27 redicaps left #perl6
06:27 mfollett left #perl6
06:35 moritz_ good morning
06:36 nymacro god morgen
06:41 cognominal joined #perl6
06:47 sorear hello
06:48 * sorear is still very confused by trying to implement GLOBAL
06:49 kjeldahl joined #perl6
06:58 sorear or rather, I'm very confused by how GLOBAL correctly interacts with separate compilation
06:58 sorear stuff like class Foo is Bar {} wants to see the unit's global, very very early
06:59 sorear stuff like $GLOBAL::foo wants to see the true global, if run after BEGIN
07:02 sorear any useful advise?
07:02 Mowah joined #perl6
07:12 moritz_ populate it at BEGIN time
07:13 sorear maybe
07:13 sorear that's what niecza/master does
07:13 sorear er, wait
07:13 sorear BEGIN
07:13 sorear I'm trying to populate this at BEGIN, yes
07:14 moritz_ .oO( maybe we should rename BEGIN to ASAP :-)
07:14 sorear the basic problem is that use A::Foo; use A::Bar; needs to destructively merge GLOBAL<A/Foo.pm> and GLOBAL<A/Bar.pm>, but only for the scope of the one module
07:15 sorear precompiled modules need to be immutable, for the whole precompiling thing to work, and mutable, for GLOBAL stuff to work out
07:15 moritz_ maybe GLOBAL is not that global after all
07:16 sorear there's some talk in S02 of one BEGIN-time GLOBAL per file
07:16 sorear 'use' merges GLOBALs from importee into importer, until at the start of CHECK time there is only the one GLOBAL
07:16 sorear but... diamonds.
07:17 moritz_ are forever.
07:17 sorear if A uses B and C, and B and C use D, then I should get the same result whether B or C is compiled first
07:18 sorear D's GLOBAL needs to be independantly and destructively merged into the GLOBALs of both B and C, which seems like a contradiction
07:18 lestrrat Where can one find a reasonably recent howto on writing Perl6 modules?
07:18 moritz_ aren't our-globals aliases fo reach other anyyway?
07:19 moritz_ lestrrat: http://ttjjss.wordpress.com/2010/08/09/so-you-want-to-write-a-perl-6-module/
07:19 lestrrat moritz_: Thank you!
07:21 sorear moritz_: our is pretty easy
07:21 sorear if I have : use Foo::Bar; class Foo::Baz is Foo::Bar { }
07:22 sorear I'm augmenting Foo without monkeys, or something
07:22 sorear and I need for the correct augmented Foo to be visible to all modules that use Foo
07:22 buubot left #perl6
07:23 sorear (I need a RAM upgrade for this brain, it's thrashing crazy now)
07:24 buubot joined #perl6
07:26 sorear maybe I should make like Prolog and implement a unification algorithm that generates an undolog and can be reversed when entering a scope where it should never have happened
07:27 sorear except that will completely screw up the multi-threaded compilation manager.  sigh.
07:29 sorear ( moritz_ ? )
07:33 colomon joined #perl6
07:33 sorear o/ colomon
07:33 draxil_ left #perl6
07:33 colomon \o
07:33 draxil joined #perl6
07:36 QinGW left #perl6
07:38 QinGW joined #perl6
07:38 mathw o/
07:43 tadzik joined #perl6
07:43 tadzik good morning
07:44 sorear is anyone still listening?
07:46 colomon ya
07:48 * moritz_ has no further ideas for sorear
07:52 qwebirc75479 joined #perl6
07:57 colomon oh, did I miss the key parts of the discussion?
07:57 * colomon backlogs
07:58 Ross joined #perl6
07:58 dalek modules.perl6.org: 33276ef | moritz++ | web/index.tmpl:
07:58 dalek modules.perl6.org: link to module creation guide
07:58 dalek modules.perl6.org: review: http://github.com/perl6/modules.perl6.org/commit/33276efa8ca1d08e67176717f340713cc365310e
07:59 tadzik oh yay. moritz_++
08:05 mikehh left #perl6
08:08 nymacro left #perl6
08:09 moritz_ tadzik: when our module system evolves and things change, it would be nice to turn your blog post into a subpage on modules.perl6.org
08:10 tadzik moritz_: I just think whether to include some code-side tips
08:12 tadzik is there any docs about "is export is about exporting and our sub puts it in the modules namespace" besides synopses?
08:12 tadzik people tend to ask about this sometimes
08:12 moritz_ I don't know of any
08:12 tadzik maybe that's somethng for 5-to-6
08:13 * moritz_ adds to his TODO list
08:14 nymacro joined #perl6
08:17 REPLeffect left #perl6
08:17 REPLeffect joined #perl6
08:30 masak joined #perl6
08:30 masak oh hai, #perl6
08:30 tadzik oh hai
08:31 colomon \o
08:31 moritz_ o/
08:32 LaVolta \o/
08:33 sorear hi masak
08:37 dakkar joined #perl6
08:40 amkrankruleuen joined #perl6
08:47 dalek rakudo: f523366 | moritz++ | docs/ChangeLog:
08:47 dalek rakudo: [docs] update ChangeLog
08:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f523366154c260a502a37014d5c2994f1001e7ad
09:00 masak [backlog] "ickle" as a variant of "little" sounds to me like something a parent would say to a small child.
09:12 REPLeffect left #perl6
09:16 sorear this is starting to make a bit of sense, if I eschew the concept of 'my' stashes and MONKEY_TYPING checks
09:16 sorear why does augment package Foo { sub bar } need MONKEY_TYPING but sub Foo::bar does not?
09:17 moritz_ sub Foo::bar also needs MONKEY_TYPING
09:17 sorear what of class Foo::Bar?
09:17 sorear quite a lot of rakudo modules start ... class Foo::Bar;
09:17 moritz_ you mean because it's augmenting class Foo?
09:18 masak left #perl6
09:18 moritz_ I think notionally Foo::Bar is not nested below Foo
09:18 sorear it's more like it's augmenting Foo.WHO
09:18 sorear yeah
09:18 sorear a large part of understanding niecza/mm has been rationalizing the difference between Foo and Foo::
09:18 * moritz_ waits for the Foo.WTF macro
09:19 moritz_ sorear: be sure to write that up somewhere
09:19 sorear in particular, I now see Foo as being a child of Foo::
09:19 sorear rather than unrelated adjacent objects as they were in niecza/master
09:20 moritz_ let me get this straight... Foo:: is the symbol table, and Foo the type object?
09:20 sorear yes
09:20 moritz_ or ss/symbol table/stash/ if you prefer
09:20 moritz_ good
09:20 sorear in particular, class Foo { ... } creates Foo:: but *not* Foo
09:20 moritz_ rakudo: ss/a/b/
09:20 p6eval rakudo 0421d3: OUTPUT«===SORRY!===␤Confused at line 22, near "ss/a/b/"␤»
09:20 moritz_ sorear: that makes a lot of sense
09:20 sorear but there's no way to do it the other way around
09:21 moritz_ sorear: and I guess  class Foo::Bar { }  creates Foo:: too?
09:21 sorear yes
09:21 REPLeffect joined #perl6
09:21 sorear Foo::Bar is inside Foo::Bar:: which is inside Foo::
09:21 moritz_ how do you go from Foo:: to Foo?
09:22 sorear I'm not sure yet
09:22 sorear (well, $stash->obj :) )
09:23 moritz_ Foo::.type_object could work
09:23 moritz_ but maybe it doesn't need API exposure at all
09:23 * sorear recently deleted most of niecza's notes because they had fallen so far behind current thinking
09:25 sorear moritz_: I'm not sure how much of niecza's metamodel is going to be exposed to the programmer
09:26 wamba joined #perl6
09:27 sorear Whole-program analysis doesn't work very well in a setting where the compiler is visible to itself
09:28 moritz_ then you can optimize the compiler in the same step as the program :-)
09:28 sorear so I'm seeing that the compiler's CORE is not the same as the user's CORE, no type aliasing exists
09:29 sorear moritz_: the flip side of that is that I can't run global optimizations on the compiler early enough for them to matter
09:29 sorear unless the program is running millions of evlas
09:33 Trashlord evlas
09:34 ggoebel joined #perl6
09:34 moritz_ elves
09:40 szbalint Legolas, what do your elf eyes see?
09:41 szbalint Action at a distance, of course!
09:44 moritz_ :-)
09:45 tadzik hah, I backlogged til my first day on #perl6
09:45 tadzik funny times :)
09:45 sorear my first day on #perl6 was in 2007 paying a house call to lambdabot
09:45 masak joined #perl6
09:45 sorear which I maintained at the time
09:45 sorear I don't think I even knew Perl 5 back then
09:46 tadzik well, mine is 13 of June this year. My first sentences were reporting a bug :)
09:46 moritz_ mine were reporting a broken link on the pugscode web page
09:46 moritz_ I got a commit bit that day :-)
09:46 bbkr joined #perl6
09:46 mavrc joined #perl6
09:47 sorear Perl people are nice like that.
09:50 mavrc left #perl6
09:51 mavrc joined #perl6
09:56 icwiener joined #perl6
09:58 masak does http://rt.perl.org/rt3/Ticket/Display.html?id=78068 mean that the REPL is not yet using the "infinitely nested blocks" idea by TimToady?
09:59 sorear masak: infinitely nested blocks were my idea, and I used them in my patch
10:00 masak oops. thanks for the correction.
10:00 sorear masak: pmichaud++ came up with an alternative implementation, which was sligtly less elegant but had the advantage of not leaking memory
10:00 masak ah.
10:00 masak ...and it doesn't handle contextuals?
10:00 moritz_ seems it has a disadvantage too :-)
10:00 sorear in pmichaud's REPL, there is a single outer block, which has a custom LexPad instance that is backed by a hash
10:00 sorear after every line, lexicals are copied from the inner to the otuer block
10:03 mavrc left #perl6
10:03 kensanata joined #perl6
10:04 mavrc joined #perl6
10:07 QinGW left #perl6
10:15 moritz_ http://wikis.sun.com/display/mlvm/HotSwap might be of interest
10:21 sorear that list is ludicrously ambitious
10:32 sorear unless they are taking it for granted that most of the interesting optimizations, like oh inlining final methods, will never happen
10:33 sorear re-optimizing functions with existing call frames is... hard
10:33 daxim joined #perl6
10:33 LaVolta left #perl6
10:33 sorear unless your compiler has a very disciplined approach to spills and caller-saved registers
10:34 sorear I'm talking about Appelian CPS stuff here
10:37 ruoso left #perl6
10:47 satyavvd left #perl6
10:52 jnthn o/ #perl6
10:53 Mowah left #perl6
10:54 sorear hey jnthn
10:54 sorear how's the nom?
10:54 jnthn Breakfast was nice, and lunch was even nicer. :-)
10:54 jnthn Soon time to get back to work again :-)
10:55 sorear The other nom :-)
10:56 jnthn Oh!
10:56 jnthn That nom now supports attributes. :-)
10:56 jnthn I plan to start getting a ClassHOW sketched out in NQP soon.
10:57 jnthn Well, already started. But I mean one that akshually runs. :-)
10:57 * sorear thinks he's finally figured out how to make global merging work
10:57 jnthn Yay. :-) That sounds...tricky.
10:58 sorear (perhaps you forgot to load "Mu"?)  # my perl 5 is having an identity crisis
10:58 sorear I'd be interested to know how you're handling it in nom
10:59 svetlins left #perl6
11:00 sorear How do you deal with separate compilation of modules in the face of Parrot's single root namespace?
11:02 timbunce joined #perl6
11:02 jnthn pmichaud++ and I discussed this a little at YAPC::EU nad felt we'd have to move away from using Parrot's namespace mechanism at some point.
11:02 jnthn (due to this kinda problem)
11:04 sorear I hope I can help you with your replacement
11:05 Italian_Plumber joined #perl6
11:08 jnthn I hope so too :-)
11:08 jnthn I think it'll be a refactor after the one to get the new meta-model bits in place.
11:08 jnthn We don't want to bite off too much in one go.
11:09 jnthn Don't think the Rakudo user base could handle another alpha -> ng style thing, so smaller jumps are kinda preferable.
11:11 sorear tadzik had some code earlier like ::Foo{$name} = sub { }
11:11 sorear I don't want to think about how that ever could have worked
11:13 araujo left #perl6
11:14 tadzik sorear: ?
11:17 sorear jnthn: Do you see much prospect for object attributes without containers?
11:17 satyavvd joined #perl6
11:17 sorear I don't really like that has $.foo is 1 word for the pointer, then 6 more for the container... but I don't see a good improvement without totally breaking &infix:<=>
11:19 sorear (I can cut containers to 4 words with a bunch of representation hacks, but it's not enough of a measured win to be worth all the ugly)
11:21 jnthn sorear: Tied up with that is what assignemnt to a my int @foo; actually means.
11:21 jnthn Since that is meant to be a compact array.
11:22 sorear Yes
11:23 sorear I had a minor breakthrough last night; decontainerization and unboxing make a lot more sense if considered in isolation
11:24 sorear I can very easily make an UnboxedContainer<T> type, which allows "my int $foo" to take up only 4 words with no Int object in sight and no loss of semantics
11:25 jnthn I'd certainly seen those as orthogocal, yes.
11:25 sorear UnboxedContainer doesn't have to worry about the scalar flag or autovivifaction, which is what allows it to be 4 easily instead of 6
11:25 boggytwo joined #perl6
11:26 sorear the flip side is that decontainerized boxed values would be awesome
11:27 sorear (current niecza memory stuff: objects - 7+#slots words; containers - 6 words; Int - 12 words, because slots are Object and so I need a boxed System.Int32 *grr*)
11:29 REPLeffect left #perl6
11:30 moritz_ does t/spec/S09-typed-arrays/arrays.rakudo loop for anybody else?
11:36 * sorear out
11:39 dalek niecza/mm: 2d62a5a | sorear++ | / (2 files):
11:39 dalek niecza/mm: [mm] implement ENTER time, a double fault handler
11:39 dalek niecza/mm: review: http://github.com/sorear/niecza/commit/2d62a5a705ceb4633f75f2e0025a9e4f82a568c1
11:39 dalek niecza/mm: e5ac4b6 | sorear++ | src/ (2 files):
11:39 dalek niecza/mm: [mm] Rethink stash handling
11:39 dalek niecza/mm: review: http://github.com/sorear/niecza/commit/e5ac4b602e7b0791286c6832d96bf2b31ad3712a
11:50 dakkar left #perl6
11:57 qwebirc75479 left #perl6
11:57 masak hm. I don't think this has any bearing on Perl 6's Pod. or does it? http://apple.slashdot.org/story/10/09/26/2253228/Apple-Startup-Go-To-Trial-Over-Pod-Trademark
11:58 flussence I doubt they're desperate enough to sue over *that*
11:59 masak yeah, probably.
12:10 sftp joined #perl6
12:13 miso_soup joined #perl6
12:21 [Coke] moritz_: I wonder, would it be possible to show bot responses in a more subdued style on the irc logs?
12:22 [Coke] (would make skimming faster. ;)
12:24 kjeldahl_ joined #perl6
12:25 satyavvd left #perl6
12:27 kjeldahl left #perl6
12:31 [Coke] left #perl6
12:32 petdance joined #perl6
12:32 PhatEddy joined #perl6
12:39 dakkar joined #perl6
12:39 PhatEddy Hey - the rakudo README still lists the smolder reports as being at plusthree.org.  Can someone here fix or do I need to open a ticket?
12:40 araujo joined #perl6
12:41 petdance left #perl6
12:44 masak PhatEddy: feel free to submit a ticket.
12:46 PhatEddy OK - thx
12:50 mfollett joined #perl6
12:52 Guest91659 is now known as kaare_
12:54 Ross left #perl6
12:54 PhatEddy left #perl6
12:54 xabbu42 left #perl6
12:56 plobsing joined #perl6
12:58 icwiener left #perl6
12:59 kensanata left #perl6
13:02 mfollett left #perl6
13:09 boggytwo left #perl6
13:09 icwiener joined #perl6
13:11 synth left #perl6
13:12 rgrau_ joined #perl6
13:13 estrabd_dfw is now known as estrabnd
13:13 estrabnd is now known as estrabd
13:14 synth joined #perl6
13:16 Ross^ joined #perl6
13:16 Ross^ left #perl6
13:16 Ross^ joined #perl6
13:17 dalek rakudo: 607ec45 | moritz++ | README:
13:17 dalek rakudo: [README] fix smolder link, PhatEddy++
13:17 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/607ec45dfab220ff3e5dca258a63a33f84199e41
13:17 Patterner left #perl6
13:18 jest joined #perl6
13:18 jest left #perl6
13:19 Psyche^ joined #perl6
13:19 Psyche^ is now known as Patterner
13:20 plainhao joined #perl6
13:21 kaare_ left #perl6
13:26 sftp_ joined #perl6
13:27 sftp left #perl6
13:31 masak TimToady: happy birthday! \o/
13:31 gottreu joined #perl6
13:32 xinming_ TimToady: happy birthday. :-)
13:32 moritz_ TimToady++, erm, TimToady.age++
13:33 zby_home_ joined #perl6
13:36 gabiruh TimToady: the cake is lie!
13:37 masak oh, and thanks for Perl. it makes both my work programming and my hobby programming more joyful.
13:37 masak (or is it "they" nowadays?)
13:38 gottreu left #perl6
13:38 moritz_ if you refer to the language family, 'it' is fine :-)
13:39 masak the reminds me of a certain distinction involving sigils... :P
13:39 meraxes_ joined #perl6
13:40 moritz_ :-)
13:43 tadzik left #perl6
13:47 masak there's $Perl, the language family, and there's @Perl, the languages.
13:47 colomon TimToady: happy birthday!
13:48 gottreu joined #perl6
13:48 masak お誕生日おめでとう! ^^
13:48 svetlins joined #perl6
13:49 jnthn TimToady: Happy birthday! Thanks for a great language and the most fun implementation tormentation of my life. :-)
13:49 masak jnthn: masochist! :)
13:51 jnthn masak: masakist! :)
13:52 masak acme: acmeist!
13:53 moritz_ athe: ist!
13:53 tadzik joined #perl6
13:53 masak :)
13:55 mathw istist!
13:56 meraxes_ left #perl6
13:56 mathw TimToady: Happy birthday! Thanks for this exciting journey of language design and implementation!
13:57 masak I know we keep saying that Perl 6 development is unprecedented as an open, democratic process of language design. but there are probably other languages that have taken a similar path. what about Haskell, for example?
13:58 mathw Haskell is pretty open
13:58 mathw I remember when they were inviting people to weigh in on Haskell Prime
13:58 mathw But they aren't as open as Perl 6
13:59 masak right. a bit more committee-y.
13:59 mathw Yeah
13:59 masak guess Algol 68 was pretty committee-y, too.
13:59 mathw but the committee is pretty much open to anybody with a bit of a track record in that kind of research
13:59 mathw so it's open within the field, as it were
13:59 mathw very academic approach :)
13:59 icwiener left #perl6
14:00 mathw and they do produce a good language so I'm not going to complain
14:00 masak I think many people who brush by the Perl 6 community and #perl6 don't realize how open the process actually is.
14:00 masak simply because there are not much else to compare against.
14:00 mathw yeah
14:00 mathw and also because some of the discussions get pretty esoteric
14:01 mathw But that's just because people have familiarity
14:01 * gottreu is surprised no one has told him to hush.
14:01 mathw Anybody who learns what we're talking about and gets involved is welcome at any level
14:01 mathw which is awesome
14:02 masak gottreu: there's plenty of room in the IRC logs :) we're trusting you not to misuse it :P
14:02 tadzik everyone can contribute, whatever the level of Satori, which is awesome
14:04 masak tadzik: I like that. use it in a blog post title :)
14:04 tadzik about contributing?
14:06 spq1 joined #perl6
14:06 mkramer joined #perl6
14:07 masak here's a good summary of the evolution of Haskell, by the way: http://research.microsoft.com/en-us/um/people/simonpj/Papers/history-of-haskell/history.pdf -- basically, Haskell evolved first through a number of physical meetings, and then over email.
14:08 tadzik I like the word "meatspace"
14:09 mkramer kill it with fire
14:09 mkramer we must not let that word catch on
14:09 Holy_Cow joined #perl6
14:10 Holy_Cow left #perl6
14:10 Guest23195 joined #perl6
14:11 colomon mkramer: ~393,000 hits for "meatspace" in Google, I think it's a little late to kill it.  :)
14:12 moritz_ mkramer: what would you use instead?
14:12 mkramer space?
14:12 masak 'meatspace' is a fine derogatory terms for those already entrenched in other spaces. I like how it pretends to put the physical world on equal terms with all the other, less palpable ones.
14:12 xabbu42 joined #perl6
14:13 moritz_ well, having "meetings in space" sounds a bit different to me...
14:14 masak tadzik: sorear was referring to the trick used to make Tags.pm work. mfollett++ has been looking at that code recently too.
14:14 tadzik Tags.pm?
14:14 masak tadzik: yes, it's in the Web.pm repo.
14:14 tadzik I feel like that wasn't me
14:14 mkramer besides, when we become robots, meatspace isn't going to work
14:14 mkramer meat is an implementation detail
14:14 masak tadzik: then maybe sorear confused you with mfollett.
14:14 tadzik wait, I haven't touched Web ever since
14:15 masak mkramer: lol!
14:15 tadzik I don't feel like messing with my Covers Role
14:16 tadzik it has bugs, but hell, it has like few tousand years of testing
14:16 tadzik so at least you know the bugs
14:18 tadzik not to mention it's extremely flexible
14:18 wtw left #perl6
14:18 mfollett joined #perl6
14:20 mfollett rakudo: class A { has Int $.foo }; my $a = A.new( foo => 'a string'); $a.perl.say # This seems like a bug, is it and is it already  reported on?
14:20 p6eval rakudo f52336: OUTPUT«A.new(foo => "a string")␤»
14:21 tadzik I think it's known
14:21 moritz_ it's reported, yes
14:21 tadzik rakudo: class A { has Int $.foo }; my $a = A.new; $a.foo = "asd"
14:21 p6eval rakudo f52336: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/4oZEiwaegQ␤»
14:21 tadzik rakudo: class A { has Int $.foo is rw }; my $a = A.new; $a.foo = "asd"
14:21 p6eval rakudo f52336:  ( no output )
14:21 mkramer heh heh
14:21 tadzik rakudo: class A { has Int $.foo is rw } my $a = A.new; $a.foo = "asd"
14:21 p6eval rakudo f52336: OUTPUT«===SORRY!===␤Confused at line 22, near "class A { "␤»
14:21 moritz_ but since jnthn++ is about to redo classes and attributes anyway, there's not much point in investing too much time fixing it right now
14:21 tadzik hmm. colon is obligatory?
14:22 masak mfollett: yes, it's known.
14:22 moritz_ semicolon, yes
14:22 tadzik semicolon, right. Hmm, I remember something related in the book recently
14:22 moritz_ tadzik: it's only optional for }\n
14:22 masak tadzik: that's a big syntactic difference from Perl 5.
14:23 tadzik ah, I see
14:23 masak tadzik: statement-ending closing brace, and then always \n or ; (or both)
14:23 masak tadzik: it's part of TTIAR
14:23 tadzik TTIAR?
14:23 moritz_ aloha: TTIAR?
14:23 masak Two Terms In A Row.
14:24 moritz_ two terms in a row
14:24 masak Perl 6 tries hard to stay away from TTIAR.
14:24 aloha left #perl6
14:24 masak in fact (as TimToady often points out), it uses TTIAR conditions to give better error messages.
14:25 masak some of the best error messages are actually "promoted" TTIAR errors.
14:25 aloha joined #perl6
14:30 masak s/it/STD.pm6/
14:30 moritz_ the IRC logs now show a tooltip help for TTIAR
14:30 masak moritz_++
14:31 moritz_ (at least for today and the future; older pages might be taken from the cache
14:32 moritz_ and I don't feel like invalidating 180M cache just for one abbreviation
14:32 masak that just means that you're not insane.
14:32 masak moritz_++
14:33 masak it's a relatively recently trending FLA anyway :P
14:34 moritz_ the logs don't know about TLA or FLA yet :-)
14:34 masak keep in mind that FLA is ambiguous.
14:34 masak also, I wouldn't say that it's trending; not like TLA, anyway :)
14:34 moritz_ right; I'm adding only TLA now
14:34 mfollett left #perl6
14:35 masak oh my, TLA is ambiguous too. but no-one means 'two' when they say it, so that's probably OK.
14:35 moritz_ or "ten" :-)
14:36 gottreu Does Perl have the longest A in actual usage with its NLA?
14:36 masak and OLA feels like a degenerate concept, even if C, D, R and others would qualify.
14:36 tadzik TLA is LTA imho
14:36 mfollett joined #perl6
14:37 Ross^ left #perl6
14:38 mavrc left #perl6
14:39 mavrc joined #perl6
14:41 ggoebel left #perl6
14:42 masak tadzik: like them or not, the computer industry seems to focus on them. I think there's some healthy chunking effect going on.
14:43 moritz_ rakudo: say 26**3
14:43 p6eval rakudo f52336: OUTPUT«17576␤»
14:43 moritz_ that's decent room for now :-)
14:43 redicaps joined #perl6
14:44 redicaps left #perl6
14:44 astrojp left #perl6
14:45 mavrc left #perl6
14:45 mfollett thanks all
14:47 mavrc joined #perl6
14:48 justatheory joined #perl6
14:49 risou joined #perl6
14:51 mavrc left #perl6
14:53 icwiener joined #perl6
14:55 plobsing left #perl6
14:56 Ross joined #perl6
14:57 mavrc joined #perl6
14:57 masak left #perl6
14:57 ash_ joined #perl6
15:02 pmichaud good morning, #perl6
15:03 unenana joined #perl6
15:03 colomon o/
15:03 ZadYree rakudo: $foo = ("bar", "baz"); say $foo[0];
15:04 moritz_ \o
15:04 unenana left #perl6
15:04 tadzik R* today?
15:04 pmichaud tomorrow
15:04 tadzik hello pmichaud
15:04 p6eval rakudo f52336: OUTPUT«(timeout)»
15:04 moritz_ tadzik: did you integrate neutro with star yet?
15:04 tadzik pmichaud: how about adding neutro as a module manager? It works well on Linux and OSX, still hasn't been tested with Windows
15:04 tadzik moritz_: #define integrate
15:05 moritz_ tadzik: added it to the star repo, so it's available after installation
15:05 tadzik nah, still waiting for everyone's decision
15:05 tadzik that would require adding a bunch of other modules too
15:05 moritz_ ask for forgiveness rather than permission!
15:06 tadzik afair there is proto there now, 2 module managers would be confusing, especially if only one works
15:06 moritz_ tadzik: do you have commit access to star?
15:06 tadzik moritz_: yep
15:06 tadzik moritz_: I tend to be more polite when it comes to Star, it's a big thing
15:06 tadzik alright, I'm messing up then
15:07 tadzik are modules built in order?
15:07 moritz_ yes
15:07 mfollett Is proto getting removed from this Star also?
15:08 moritz_ if it doesn't work right now, I'd remove it
15:08 tadzik I think so
15:08 moritz_ it can be added later on when it works
15:08 Ross left #perl6
15:08 mfollett I agree, I was just curious.
15:09 tadzik that means File::Tools and Module::Tools also come
15:09 tadzik they're all built using ufo?
15:10 zulon joined #perl6
15:12 tadzik I volunteer for some testing, as long as it's tomorrow AM UTC
15:15 TimToady rakudo: say 42.so
15:15 p6eval rakudo 607ec4: OUTPUT«Bool::True␤»
15:15 TimToady rakudo: say 42.not
15:15 p6eval rakudo 607ec4: OUTPUT«Method 'not' not found for invocant of class 'Int'␤  in main program body at line 22:/tmp/GodIxJNpLn␤»
15:16 tadzik /tmp/GodIxJNpLn
15:16 dalek star: 2136cf6 | tadzik++ | / (2 files):
15:16 dalek star: Modules mashup
15:16 dalek star:
15:16 dalek star: removed proto, changed File::Find to File::Tools,
15:16 dalek star: added Module::Tools, added neutro
15:16 Chillance joined #perl6
15:16 tadzik I wonder what is the message
15:16 dalek star: review: http://github.com/rakudo/star/commit/2136cf618194d70da0ba3a801ea4f58b7f837c86
15:17 diakopter phenny: tell TimToady happy 35:36
15:17 phenny diakopter: I'll pass that on when TimToady is around.
15:17 * TimToady feels incremented
15:17 phenny TimToady: 15:17Z <diakopter> tell TimToady happy 35:36
15:17 tadzik TimToady: happy birthday!
15:17 tadzik and may the christmas come even earlier
15:19 diakopter you know what they say, things that are appreciated must eventually be depreciated. :)
15:19 Ross joined #perl6
15:19 TimToady they also say that anything that goes up must come down, but they're wrong about that...
15:21 * tadzik is thinking about a Camelia sticker for his laptop
15:22 ash_ the only sticker i have on my laptop is from Google Summer of Code
15:22 Ross left #perl6
15:24 Ross joined #perl6
15:25 tadzik is there any hi-res (svg?) Rakudo logo somewhere?
15:25 astinus_ left #perl6
15:26 astinus joined #perl6
15:26 masak joined #perl6
15:28 pmichaud tadzik: looking
15:28 Ross left #perl6
15:29 pmichaud I have it as an Illustrator file
15:30 tadzik what is it?
15:31 Ross joined #perl6
15:31 Ross left #perl6
15:31 pmichaud I think I can export it as svg, but I'll need to reinstall illustrator
15:31 pmichaud doing that now
15:31 tadzik png will do too
15:33 pmichaud http://pmichaud.com/sandbox/rakudo-box-3000.png
15:33 pmichaud (had that one already available :-)
15:33 tadzik awesome! pmichaud++
15:34 tadzik I will carry Perl 6 propaganda everywhere I go :)
15:34 Ross joined #perl6
15:35 ggoebel joined #perl6
15:35 tadzik I wonder what would it look like, if I placed Camelia to have a Thinkpad LED inside her eye
15:42 Ross left #perl6
15:44 Ross joined #perl6
15:47 Ross left #perl6
15:49 Ross joined #perl6
15:49 Ross left #perl6
15:49 Ross joined #perl6
15:50 Ross left #perl6
15:50 Ross joined #perl6
15:50 Ross left #perl6
15:50 Ross joined #perl6
15:59 thepler joined #perl6
16:00 ruoso joined #perl6
16:01 Ross left #perl6
16:01 wamba left #perl6
16:05 pyrimidine joined #perl6
16:08 stas1 joined #perl6
16:09 stas1 left #perl6
16:11 Ross joined #perl6
16:11 Ross left #perl6
16:11 Ross joined #perl6
16:12 Ross left #perl6
16:14 tadzik left #perl6
16:14 Trashlord left #perl6
16:14 Ross joined #perl6
16:14 Ross left #perl6
16:14 Ross joined #perl6
16:14 Grimnir_ has laziness been implemented in the current version of Rakudo?
16:14 sundar joined #perl6
16:15 moritz_ to a large degree, yes
16:16 TimToady rakudo; say (1..*).map({ $_ * $_ }).munch(10).Str
16:16 masak rakudo: say .[0], .[1] for gather { take 1; say "OH HAI"; take 2; take 3 } }
16:17 p6eval rakudo 607ec4: OUTPUT«===SORRY!===␤Confused at line 22, near "}"␤»
16:17 TimToady rakudo: say (1..*).map({ $_ * $_ }).munch(10).Str
16:17 p6eval rakudo 607ec4: OUTPUT«1 4 9 16 25 36 49 64 81 100␤»
16:17 masak rakudo: say .[0], .[1] for gather { take 1; say "OH HAI"; take 2; take 3 }
16:17 p6eval rakudo 607ec4: OUTPUT«1OH HAI␤23»
16:17 Grimnir_ rakudo (0,2 ... *).fmt("%s", ", ").say
16:18 masak huh? 23?
16:18 masak Grimnir_: that would hang.
16:18 Grimnir_ ok
16:18 masak Grimnir_: since .fmt on a list gobbles up the whole list.
16:18 Grimnir_ ah, ok
16:18 masak laziness is nice, but it's not a panacea. :)
16:18 Grimnir_ hehe, right :)
16:19 Grimnir_ rakudo my @crap = 0,2 ... *;
16:19 pmichaud that currently hangs also
16:19 TimToady that is also eager
16:19 TimToady use :=
16:19 Grimnir_ := ? what does that do?
16:19 TimToady does binding instead of assignment with copy
16:20 Grimnir_ btw, totally nice feature with the ... thing. 1,2,4 ... * doubles every time? very nice
16:20 TimToady more or less means "define this as"
16:20 Grimnir_ so := would make it lazy?
16:20 Grimnir_ rakudo: my @crap := 0,2 ...*;
16:20 pmichaud := avoids the eager assignment
16:20 TimToady it doesn't make it eager
16:20 p6eval rakudo 607ec4:  ( no output )
16:20 risou left #perl6
16:20 pmichaud TimToady: do we eventually want assignment to detect the infiniteness of the series there?
16:21 TimToady laziness is not a positive virtue in that sense
16:21 Grimnir_ rakudo: (0,2 ...*).WHAT.say
16:21 TimToady pmichaud: that would be nice
16:21 p6eval rakudo 607ec4: OUTPUT«List()␤»
16:22 risou joined #perl6
16:22 Grimnir_ how do I get number of elements in a list in the object oriented way?
16:22 Grimnir_ I mean, @crap.length-ish
16:22 pmichaud .elems
16:22 Grimnir_ ah, thax
16:23 TimToady rakudo: (1,2,4 ... *)[20].say
16:23 p6eval rakudo 607ec4: OUTPUT«1048576␤»
16:23 masak rakudo: say (1, 2, 4 ... *).elems
16:23 p6eval rakudo 607ec4: OUTPUT«(timeout)»
16:23 TimToady .elems is stupid right now
16:23 Grimnir_ ok, so it will make the list when I want to see how many elements there is. I thought it might give me the result as Inf ;)
16:23 pmichaud it's not always stupid :)
16:23 pmichaud rakudo:   say (1..*).elems
16:24 p6eval rakudo 607ec4: OUTPUT«Inf␤»
16:24 TimToady yes, well, that's not a list :)
16:24 pmichaud rakudo:   say (1..*).list.elems
16:24 p6eval rakudo 607ec4: OUTPUT«Inf␤»
16:24 pmichaud :-P
16:24 Grimnir_ wow
16:24 TimToady how does it mark it?
16:25 pmichaud iterators can be told that they're infinite
16:25 pmichaud I forget the exact mechanism atm
16:25 TimToady well, someone needs to tell ... *
16:25 pmichaud right now, only ranges understand infinity
16:25 Grimnir_ rakudo: my @crap := (1,2,4 ... *); @crap.elems.say
16:26 pmichaud but yes, we can extend that to work for series ending in *
16:26 p6eval rakudo 607ec4: OUTPUT«(timeout)»
16:26 Grimnir_ ok, so a list doesn't?
16:26 TimToady a list doesn't what?
16:26 moritz_ s/series/sequence/ please :-)
16:26 Grimnir_ TimToady: understand infinity?
16:26 TimToady it does, but not consistently yet
16:27 TimToady it only understands it if told
16:27 TimToady since lists are agnostic about what generates them
16:27 Grimnir_ how does the "1,2,4 ... *" work? how does it know how to extrapolate?
16:27 Grimnir_ TimToady: what does that mean? how can I tell a list to know about it?
16:27 TimToady read S03:1752
16:27 moritz_ by inspecting the first three elements, of course :-)
16:27 Grimnir_ moritz_: right ;)
16:28 mkramer rakudo: say (1,2,4 ... * )[112]
16:28 p6eval rakudo 607ec4: OUTPUT«5.19229685853483e+33␤»
16:28 supernovus joined #perl6
16:28 Grimnir_ but how well does it do it? Can't help of thinking about those intelligence tests with a sequence, and you have to find out what the last one is :)
16:28 masak swim &
16:29 masak left #perl6
16:29 moritz_ 18:27 < TimToady> read S03:1752
16:29 mkramer Grimnir_: It's specced out in S03.  It doesn't work for all sequences
16:29 supernovus g'day #perl6
16:29 phenny supernovus: 26 Sep 21:28Z <tadzik> tell supernovus we could put them in File::Tools and then Module::Install would make use of 'em, it depends on File::Tools anyway
16:29 Grimnir_ ok, i'm kind of n00b here. how do I find S03?
16:29 colomon Grimnir_: it checks to see if it is arithmetic or geometric sequence, that's all
16:30 pmichaud Grimnir_: perl6.org, click on "Synopses"
16:30 TimToady do you know where the irclog is?  that link is automatically generated there
16:30 pmichaud er, "Synopsis"
16:30 Grimnir_ thx
16:30 TimToady see the end of http://irclog.perlgeek.de/perl6/today
16:30 moritz_ or shorter http://irc.perl6.org/ # redirects there, diakopter++
16:32 stkowski joined #perl6
16:35 risou left #perl6
16:35 risou joined #perl6
16:37 supernovus phenny: tell tadzik That sounds good. I tried writing a 'ww6' script without resources. It was a bunch of $file.say: '#!/usr/bin/env perl'; type lines, and was hideous.
16:37 phenny supernovus: I'll pass that on when tadzik is around.
16:41 M_o_C joined #perl6
16:43 timbunce left #perl6
16:44 nymacro left #perl6
16:44 cdarroch joined #perl6
16:44 cdarroch left #perl6
16:44 cdarroch joined #perl6
16:49 timbunce joined #perl6
17:07 pmichaud > say (1,2,4).elems
17:07 pmichaud 3
17:07 pmichaud > say (1,2,4,*).elems
17:07 pmichaud Inf
17:07 colomon \o/
17:07 pmichaud TimToady: does ^^^ look right to you?
17:09 colomon oh, wait... is that actually correct in the general case?
17:10 plobsing joined #perl6
17:10 pmichaud "general case"?
17:11 colomon I thought the ,* extension feature was a special rule for one of the metaops.
17:11 colomon "For any kind of zip or dwimmy hyper operator, any list ending with * is assumed to be infinitely extensible by taking its final element and replicating it"
17:12 colomon which kind of implies it's not true elsewhere.
17:12 pmichaud well, the ,* in this case doesn't imply "repeat final element"
17:13 colomon what does it imply, then?
17:13 pmichaud that the parcel has infinite length
17:14 PerlJam That seems like an odd declarative mechanism.
17:15 colomon so if you said (1, 2, 4, *).munch(10), what would you get?
17:15 flussence Method 'munch' not found for invocant of class 'Parcel'
17:15 PerlJam heh
17:16 flussence .Str doesn't try to return an infinite list, thankfully...
17:16 colomon fair enough
17:16 colomon flussence: ~ might in the future.  ;)
17:18 pmichaud colomon: well, this is all speculative at the moment (more)
17:18 pmichaud at one point, TimToady++ speculated that ,*  would act like  * xx Inf
17:18 pmichaud so I would guess that .munch(10) would result in (1,2,4,*,*,*,*,*,*,*)
17:19 PerlJam pmichaud: so it *does* imply "repeat final element"!
17:19 PerlJam :-)
17:19 pmichaud PerlJam: I don't know what it should do, I'm only reacting to suggestions :)
17:19 flussence hm... an infinite list used in non-lazy context should probably return Failure instead of trying to return a list...
17:20 pmichaud flussence: that's already specced.
17:20 flussence ok
17:20 huf what if it doesnt know it's infinite until it is?
17:21 pmichaud that's the issue.  How does one indicate that a   gather/take loop is "infinite"?
17:21 flussence for that we'd need "return $list if $list.halts", which probably won't be implemented :)
17:21 colomon gather(:infinite)  ?
17:21 pmichaud it's been speculated that the generic "make this thing infinite" marker is to add ,*
17:22 pmichaud as in   (gather ...),*
17:22 flussence .oO( at least, not in a generic way... )
17:22 pmichaud afk, bbi15
17:25 colomon pmichaud: seems to me like it might be useful to allow signaling both ways?  ie "I know this gather is finite" and "I know this gather is infinite".  (vs "I have no cool about this gather.")
17:25 colomon or does ,* indicate "this gather might be infinite"?
17:26 ash_ is there a perl6 version of AUTOLOAD speced yet?
17:26 ash_ i noticed it was changed in the spec, i didn't see it
17:27 Italian_Plumber left #perl6
17:27 zulon left #perl6
17:30 Steppenwolf joined #perl6
17:33 zby_home_ left #perl6
17:33 ash_ left #perl6
17:34 dakkar left #perl6
17:43 supernovus left #perl6
17:44 kjeldahl_ left #perl6
17:49 envi^home left #perl6
17:50 risou left #perl6
17:51 risou joined #perl6
17:53 pmichaud colomon: ,* indicates "this construct is infinite"
17:53 sundar left #perl6
17:56 mkramer ash_: you saw it in the spec, but you're wondering if it's specced? :)
17:56 risou left #perl6
18:07 pmichaud afk, lunch
18:07 ZadYree left #perl6
18:23 Mowah joined #perl6
18:24 Italian_Plumber joined #perl6
18:24 Italian_Plumber left #perl6
18:26 mavrc left #perl6
18:34 [Coke] joined #perl6
18:36 timbunce left #perl6
18:37 stkowski left #perl6
18:38 M_o_C left #perl6
18:39 estrabd is now known as estrabd_brb
18:42 timbunce joined #perl6
18:49 stkowski joined #perl6
18:50 mavrc joined #perl6
18:52 estrabd_brb is now known as estrabd
18:53 daxim left #perl6
18:57 masak joined #perl6
18:59 estrabd is now known as estrabd_bbs
18:59 M_o_C joined #perl6
19:00 mberends joined #perl6
19:03 mfollett left #perl6
19:04 mfollett joined #perl6
19:04 jnthn evening, folks
19:04 sjohnson hi!
19:05 masak hi, jnthn
19:05 jnthn o/ masak
19:05 jnthn hi sjohnson!
19:05 sjohnson y0
19:06 sjohnson perl6 fact of the day:  the .= to run a function on itself as a variable is a breakthru in quick-programming
19:06 masak sjohnson: please explain.
19:06 alester left #perl6
19:07 alester joined #perl6
19:07 masak sjohnson: it's intriguing that this is a "fact of the day". :) will you be back tomorrow with a new fact?
19:07 sjohnson you bet!
19:09 masak sjohnson: do you have an example of where .= with a variable is especially good?
19:10 sjohnson rakudo:  my $text = "   imagine this text grabbed from a HTML form   ";  $text .= trim;  say $text
19:10 p6eval rakudo 607ec4: OUTPUT«imagine this text grabbed from a HTML form␤»
19:10 sjohnson ... oh joyous day
19:10 masak oh, that one. yes, indeed.
19:11 mfollett I couldn't find it in the spec, will it eventually be the case that you could use a where clause on an attribute declaration in a class?
19:11 masak even 'my TypeWithLongishName $foo .= new'
19:11 masak mfollett: yes, it will.
19:11 masak mfollett: the question remains (I think) whether the type will then need parens.
19:11 sorear good * #perl6
19:12 sjohnson masak: it's definitely nice when you are stuck with the variable already for whatever reason, and don't have to write:   $var = trim($var); as in PHP
19:12 sjohnson i was reminded of this cause i did some PHP today
19:13 masak sjohnson: also, have you seen the trick for using a sub as a method on _any_ object?
19:14 masak rakudo: sub foo { $^a ~ " HAI" }; say "OH".&foo
19:14 p6eval rakudo 607ec4: OUTPUT«OH HAI␤»
19:14 xabbu42 left #perl6
19:15 sjohnson yeah
19:15 sjohnson i think you did that trick on the rot13 question i had, or maybe you used something else
19:15 sjohnson that behaved similarily
19:15 sjohnson i remember you doing something like "hi there!".$foo instead of &
19:15 sjohnson but maybe my mind is playing tricks on me.
19:15 masak left #perl6
19:16 masak joined #perl6
19:18 timbunce left #perl6
19:23 mberends left #perl6
19:23 mberends joined #perl6
19:24 timbunce joined #perl6
19:27 mfollett sjohnson:  it appears you don't need the '&', at least not currently
19:27 mfollett rakudo: my $hello = "Hello, " ~ *; "World".$hello.say
19:27 p6eval rakudo 607ec4: OUTPUT«Hello, World␤»
19:27 kjeldahl joined #perl6
19:28 stkowski left #perl6
19:29 sjohnson i need to learn how those * things work
19:29 mkramer the thing about * is that it's many different things
19:29 mfollett In that context * just makes an anonymous subroutine so that you can evaluate the expression with a value later on.
19:29 moritz_ there are basically just two uses of the term *
19:30 moritz_ one is for currying
19:30 mkramer it's alternatively a Whatever object, the multiply operator, a special syntactic construct that turns an expression into a closure
19:30 mfollett So, "Hello, " ~ * is equivalent to sub { "Hello, " ~ $^a }
19:30 moritz_ and the other is a just a literal Whatever
19:30 moritz_ and the called routine decides what to do with it
19:31 ggoebel left #perl6
19:31 mkramer and exponentiation as well
19:31 moritz_ that's not the term *
19:31 moritz_ that's an infix operator containing a *
19:31 jfried joined #perl6
19:32 mkramer Oh, I thought we were talking about those * things
19:32 mkramer not the term *
19:33 mfollett sjohnson:  At the risk of being to self-promotional I wrote up some notes on what * does here: http://mfollett.com/perl-6-whatever
19:34 sjohnson thanks
19:34 masak mfollett++
19:35 estrabd_bbs is now known as estrabd
19:35 stkowski joined #perl6
19:36 mfollett thanks
19:38 masak mfollett: please keep writing those.
19:39 mfollett masak: I'm trying :)
19:39 mfollett left #perl6
19:39 masak left #perl6
19:41 mkramer rakudo: for ^9 do say * * * ** *
19:41 p6eval rakudo 607ec4: OUTPUT«===SORRY!===␤Missing block at line 22, near "do say * *"␤»
19:41 mkramer rakudo: for ^9 { say * * * ** * }
19:41 p6eval rakudo 607ec4: OUTPUT«===SORRY!===␤set_number_native() not implemented in class 'Num'␤»
19:42 mfollett joined #perl6
19:42 Italian_Plumber joined #perl6
19:43 plainhao left #perl6
19:46 florz mfollett: you are aware that your document contains parts that are tried to be constructed dynamically?
19:49 alester mfollett: There's no such thing as too self-promotioanl.
19:49 alester As long as it's useful, it's irrelevant if it's you promoting it or some other party.
19:50 alester The geek tendency toward false modesty is bullshit.
19:50 alester Be proud of what you've done!
19:51 pmichaud jnthn: o/
19:51 * sjohnson pats perl6 people on the back
19:52 jnthn pmichaud: oh hai :-)
19:52 jnthn pmichaud: How's things?
19:52 pmichaud reasonably well
19:52 jnthn :-)
19:54 jnthn pmichaud: It'd be good to catch you at some point (now isn't good for me though) to discuss some bits about my grant, and how to plan some icky migration-y issues I'm about to hit.
19:54 pmichaud now isn't good for me either.  tomorrow and/or wed should be better
19:54 jnthn Well, "about to" means "in a week or two" rather than "in a day or two" :-)
19:54 pmichaud oh
19:54 jnthn But it'd be good to deal with 'em up front.
19:55 jnthn When I hit them they'll be pretty hard blockers, probably.
19:55 dalek 6model: c0c6232 | mberends++ | / (3 files):
19:55 dalek 6model: [java] catch up to dotnet in runtime/ but not in compiler/
19:55 dalek 6model: review: http://github.com/jnthn/6model/commit/c0c6232174f97da6f8639fbc2df258ebf7c0f407
19:56 jnthn Essentially things like "I'll want to switch class in NQP to use new meta-model classes, but then I'll break the NQP build/bootstrap because actions classes will want to inherit from PCT::Actions, but that's in the Parrot repo so what to do?"
19:56 ruoso left #perl6
19:56 jnthn er. if PCT::Actions exists. :-)
19:56 * jnthn checks
19:57 jnthn I just worry *something* I'll need to switch is going to be outside the nqp-rx repo.
19:57 Italian_Plumber left #perl6
19:57 sorear PCT::Node switching to 6model would be an unspeakably huge win
19:57 jnthn oh, I know something is. PCT::Compiler.
19:57 jnthn sorear: Yeah, I won't block on that.
19:57 jnthn sorear: But I fully agree and want it to happen too.
19:57 mavrc left #perl6
19:57 sorear it would probably cut rakudo build memory usage by 80-95%
19:57 pmichaud you're over-worrying :)
19:57 jnthn Optimism. sorear has it. :-)
19:58 pmichaud the only thing that inherits from PCT:: (afaik) are PCT::Node and PCT::HLLCompiler
19:58 jnthn pmichaud: I'm not so much worried it's un-doable, I'm just keen that we work out an approach. :-)
19:58 pmichaud and PCT::HLLCompiler probably can be entirely re-written in NQP
19:58 jnthn Aha
19:58 rgrau_ left #perl6
19:59 pmichaud sorear++ did a lot of it already :)
19:59 mfollett florz:  what do you mean?
19:59 jnthn sorear++ :-)
19:59 pmichaud and tbh, not a lot should depend heavily on p6object -- since what p6object attempts to provide is an API
19:59 jnthn Right, and add_method etc will live on.
19:59 pmichaud as long as the new model provides type objects, then everything else ought to be reasonably okay
19:59 jnthn Yes, it (deeply) provides type objects. :-)
20:00 florz mfollett: I mean the fact that my browser displays something like this:
20:00 florz You would find $foo holds something like:
20:00 pmichaud anyway, I'm not to worried about breaking the build/bootstrap
20:00 florz Which you could then use like this:
20:00 stkowski left #perl6
20:00 pmichaud I suspect bootstrapping this time around could be far easier than it was the first time around
20:00 jnthn Well, it's all in a branch anyway
20:00 jnthn I will want to bootstrap in order to do the gradual typing-y and serialization-y bits
20:00 pmichaud also, I'd suggest not worrying about doing the full bootstrap cycle yet
20:00 jnthn But that's phase 2. :-)
20:01 jnthn Well, I want to bootstrap at the end of phase 1 again
20:01 pmichaud sure
20:01 jnthn But yes, I'm fine with breaking it for a while.
20:01 pmichaud but the primary thing to focus on is getting an nqp that uses the new model
20:01 jnthn Actually being able to do so again will probably be what tells me I'm done with phase 1 in the roadmap I blogged. :-)
20:01 jnthn OK.
20:01 pmichaud once we have that, I can certainly help with completing the bootstrap cycle
20:01 moritz_ std: ss/a/b/
20:01 p6eval std : OUTPUT«ok 00:01 116m␤»
20:02 pmichaud i.e., for a short period of time, I'd expect we have  nqp and nqp-newmodel
20:02 jnthn nqp-rx in nom now supports knowhow decls with attribute and method declarations.
20:02 jnthn (nom = branch name :-))
20:02 pmichaud oh, yeah, knowhow might be a bit of an issue for existing nqp-rx
20:02 jnthn It's additive.
20:02 pmichaud anyway, making *that* conversion isn't something that worries me much
20:02 jnthn *nod*
20:02 xabbu42 joined #perl6
20:02 pmichaud I'm more concerned about the effort needed to migrate rakudo
20:02 jnthn It may be that we have two NQPs going into Parrot.
20:02 jnthn For a little bit.
20:03 xabbu42 left #perl6
20:03 jnthn We'll see.
20:03 xabbu42_ joined #perl6
20:03 mfollett florz:  Yeah, I put all my code examples as gists on github because Posterous doesn't support syntax highlighting on any version of Perl whereas at least github's gists will do syntax highlighting for Perl 5.
20:03 jnthn Yes, migrating Rakudo will be...effort.
20:03 stkowski joined #perl6
20:03 jnthn I did at least hide most stuff behind a meta-model API that won't be changing crazily.
20:03 pmichaud anyway, when did you want to meet to discuss?
20:03 mavrc joined #perl6
20:03 pmichaud this week, next week, two weeks?
20:03 jnthn Tomorrow evening is *in theory* OK.
20:03 florz mfollett: which effectively makes the document unreadable - that sounds much more sensible than lacking syntax highlighting indeed
20:04 jnthn Well, I'm keen to have the discussion earlier rather than later.
20:04 pmichaud okay, this week then.
20:04 pmichaud any idea how long?
20:04 jnthn Because it may well influence my priorities from here on in.
20:04 pmichaud #phasers is at 19h00
20:04 jnthn I mostly want to run by you what I've got so far to make sure it sounds sane, and discuss migration planning.
20:04 pmichaud I have kid pickup at 19h45
20:04 jnthn We could take it after #phasers, if that works at all for you.
20:04 jnthn Ah, OK
20:04 jnthn After kid pickup?
20:05 jnthn I don't see us needing longer than an hour.
20:05 pmichaud 20h00 works for me, but around 21h00 I'll probably have to help with kid hw
20:05 pmichaud oh, maybe not if Paula sticks around home tomorrow (as she's currently planning to do)
20:05 sjohnson kid hw probably pretty easy for a perl6 dev!
20:05 pmichaud anyway, let's tentatively say 20h00 utc tomorrow
20:05 jnthn #phasers is...21h00 my time.
20:05 sjohnson :-)
20:05 pmichaud if it doesn't work out, we'll find a time on wed
20:06 pmichaud (all times quoted by me are utc :-)
20:06 jnthn So 22h00 utc is like 1am here. And I have to be at $dayjob at 9am the next day...
20:06 jnthn Yeah...I think that will probably make me exhausted the next day. :(
20:06 jnthn OK, maybe Wed is better.
20:06 pmichaud 20h00 is 22h00 for you which is 10p, right?
20:07 jnthn Oh, sorry
20:07 pmichaud 20h00 utc is 22h00 localtime for you, yes?
20:07 jnthn You wrote 20h00 and I read it as 22h00
20:07 jnthn Is it 20h00 UTC now?
20:07 pmichaud yes
20:07 alester left #perl6
20:07 pmichaud 20h07
20:07 jnthn It's 22h07 here at the moemnt
20:07 jnthn So yes
20:07 jnthn :-)
20:07 jnthn OK, then that is fine.
20:07 jnthn 20h00
20:07 jnthn Tomorrow.
20:07 xabbu42_ left #perl6
20:07 jnthn :-)
20:08 pmichaud will plan for then
20:08 pmichaud oh, also tomorrow I have R* release to cut
20:08 jnthn .oO( I hope I'm better at meta-models than I am at timezones... )
20:08 pmichaud hmmmm
20:08 pmichaud let's stick with 20h00 utc for now.
20:08 pmichaud if I'm running behind or have other things come up we'll resched for Wed
20:09 jnthn OK, that's fine.
20:09 mavrc left #perl6
20:09 jnthn $dayjob has shifted my waking hours a little earlier at the moment. :-)
20:09 pmichaud it looks like I'll have a steady $dayjob for a few months again, as well :)
20:09 miso_soup left #perl6
20:10 moritz_ is that good or bad? :-)
20:10 alester joined #perl6
20:10 pmichaud financially, it's very good.
20:10 moritz_ congratulations then
20:10 Italian_Plumber joined #perl6
20:11 ruoso joined #perl6
20:11 * sorear thinks about implementing Moose-style accessors
20:11 jnthn pmichaud: Nice :-)
20:11 Italian_Plumber left #perl6
20:11 pmichaud The last couple of months I've had to dig into my savings a bit more than I'd like, this will help replenish/avoid that.
20:11 jnthn pmichaud: Hope it's fun as well as money.
20:11 pmichaud fun... not quite so much.  :-|
20:11 jnthn Or at least not un-fun.
20:11 jnthn Aww.
20:11 pmichaud but it's not totally un-fun, either.
20:12 mavrc joined #perl6
20:13 sorear has $.foo is moosely; say $.foo; $.foo(3)  # saves 24 bytes per instance over perl6ly accessors
20:13 icwiener left #perl6
20:14 sbp or, is moosesome
20:14 pmichaud is moosed
20:14 pmichaud is moosey
20:14 rjbs Mooschaud.
20:14 xabbu42 joined #perl6
20:14 pmichaud has antlers
20:15 xabbu42 left #perl6
20:15 xabbu42_ joined #perl6
20:15 sbp elkic
20:16 sorear (Would somebody remind me why System.Object has a mandatory mutex?  1 word per GCable is "paying through the nose" in my book)
20:24 Guest23195 left #perl6
20:28 mfollett left #perl6
20:31 zby_home joined #perl6
20:33 cybergirl joined #perl6
20:34 pwnage- joined #perl6
20:35 cybergirl left #perl6
20:36 diakopter sorear: but remember value types don't count, since they're always stack allocated only, or embedded in other reference types
20:37 diakopter like value_type[]
20:38 diakopter and value types are "said" to derive from System.Object ....
20:39 diakopter but really only at compile time, unless they're going to be boxed.  really, a boxed value type is a different type
20:41 sorear diakopter: value types aren't gcables
20:41 sorear so my statement doesn't apply to them
20:42 diakopter right, just clarifying.
20:42 snarkyboojum left #perl6
20:43 diakopter ... because the value types are "said" to derive from System.Object
20:49 M_o_C left #perl6
20:57 mfollett joined #perl6
20:58 xabbu42_ left #perl6
20:59 xabbu42 joined #perl6
20:59 xabbu42 left #perl6
20:59 xabbu42 joined #perl6
21:00 timbunce left #perl6
21:03 mfollett left #perl6
21:06 Mowah left #perl6
21:07 timbunce joined #perl6
21:10 ggoebel joined #perl6
21:14 Ross left #perl6
21:14 Grimnir_ I can't get ff (flipflop) to work
21:15 Grimnir_ I have a silly one-liner just to test it, but it doesn't work: perl6 -e 'use v6; for $*IN.lines { if /__START__/ ff /__STOP__/ { if (/^^\d+$$/) { say "Numbers"; } elsif (/^^\w+$$/) { say "Letters"; } else { say "Nothing important"; } } else { say "..."; } }'
21:15 Grimnir_ btw, does the "use v6" actually do anything?
21:15 flussence on the command line, not really
21:16 moritz_ ff is NYI
21:16 sorear use v6; does nothing if encountered by a Perl 6 compiler
21:17 moritz_ Grimnir_: it gives a proper error message when you accidentally run the file with perl 5
21:17 Grimnir_ ah, ok
21:17 Grimnir_ right
21:17 Grimnir_ is .pl still the right name?
21:17 moritz_ yes
21:18 sorear In a hypothetical future world where Rakudo can emulate Perl 5, 'use v6' will switch that off
21:18 * flussence uses .p6, but only because vim's not smart enough to load the right syntax when it sees "v6" at the top...
21:18 sorear but it's not the only way to do that; the 'class' and 'module' keywords also force v6, as does a .pm6 file extension
21:18 Grimnir_ flussence: that/s exactly the thing
21:19 sorear at one point package NAME BLOCK was also specced to trigger v6
21:19 sorear but that syntax has been added to Perl5 recently
21:19 Grimnir_ flussence: is it because vim can't handle it, or is it because no body has made a proper vim plugin yet?
21:19 pwnage- left #perl6
21:20 perigrin sorear: MX::Declare kinda horks the class {} trigger
21:21 flussence I dunno if it's a limitation of vim, I've seen it do similar things for .sh though.
21:21 sorear perigrin: feeding Devel::Declare sources to poniedo is going to end in tears
21:21 perigrin poniedo?
21:22 Grimnir_ strange cats... now they are eating potato
21:22 moritz_ perigrin: you still have to use a syntax manipulating module to be able to write class MyClass { }
21:22 perigrin moritz_: yes
21:22 sorear The hypothetical Rakudo Perl 5 emulator
21:22 perigrin sorear: ahh
21:22 sorear Which doesn't have a name yet, so I just made one up
21:22 sorear Let's see if it catches on
21:23 perigrin I suspect anything depending on XS on poniedo is gonna lead to tears.
21:23 Steppenwolf left #perl6
21:24 flussence oh, vim does content-sniffing in filetype.vim for .sh
21:24 sorear I blame SvREFCNT_inc
21:25 mkramer left #perl6
21:29 snarkyboojum joined #perl6
21:29 ruoso left #perl6
21:29 Grimnir_ ok, that's a pretty darn big vim-file
21:32 timbunce left #perl6
21:33 tadzik joined #perl6
21:34 snarkyboojum left #perl6
21:35 tadzik hello
21:35 phenny tadzik: 16:37Z <supernovus> tell tadzik That sounds good. I tried writing a 'ww6' script without resources. It was a bunch of $file.say: '#!/usr/bin/env perl'; type lines, and was hideous.
21:36 dalek niecza/mm: 8e30bea | sorear++ | src/ (2 files):
21:36 dalek niecza/mm: [mm] Avoid directly referencing packageoids
21:36 dalek niecza/mm:
21:36 dalek niecza/mm: Using the crossref table like this should make freeze/thaw work a lot better.
21:36 dalek niecza/mm: review: http://github.com/sorear/niecza/commit/8e30bea942f1b07c1af5e302462456af9201503b
21:36 dalek niecza/mm: 924e9b8 | sorear++ | src/Metamodel.pm:
21:36 dalek niecza/mm: [mm] and apply the same treatment to StaticSub
21:36 dalek niecza/mm: review: http://github.com/sorear/niecza/commit/924e9b813e7f8a529a0ba79f4725b0e6f9be10f3
21:36 dalek niecza/mm: 383ed07 | sorear++ | src/ (4 files):
21:36 dalek niecza/mm: [mm] start metamodel hackery for settings
21:36 dalek niecza/mm: review: http://github.com/sorear/niecza/commit/383ed07f27771f218ba60aff291c0f960e3069e5
21:43 tadzik left #perl6
21:45 vm joined #perl6
21:48 vm left #perl6
21:49 amkrankruleuen left #perl6
21:49 tadzik joined #perl6
21:50 snarkyboojum joined #perl6
21:58 snarkyboojum left #perl6
22:01 kjeldahl left #perl6
22:04 tadzik left #perl6
22:07 jfried left #perl6
22:08 lamstyle left #perl6
22:13 mavrc left #perl6
22:14 cosimo moritz_: please can you add github.com/cosimo/perl6-cache-memcached to the list of projects on modules.perl6.org? thanks
22:17 diakopter use v6; # makes a Perl 6 compiler move from its default (Perl 5 mode) to Perl 6 mode, I thought.
22:17 diakopter oh
22:18 sorear A Perl 6 compiler should default to Perl 5 mode if an only if it is installed as "perl"
22:19 cbk left #perl6
22:20 diakopter seems reasonable
22:21 svetlins left #perl6
22:25 snarkyboojum joined #perl6
22:25 cbk joined #perl6
22:30 masonkramer joined #perl6
22:33 snarkyboojum left #perl6
22:33 thowe joined #perl6
22:35 thowe I'm rediscovering my love for the Camel book.
22:36 thowe I've had this thing for about 9 years and have just started reading it again.  I was so re-impressed that I wrote an Amazon review for it.
22:40 snarkyboojum joined #perl6
22:41 bluescreen joined #perl6
22:42 huf left #perl6
22:44 stkowski_ joined #perl6
22:48 stkowski left #perl6
22:48 stkowski_ is now known as stkowski
22:52 zby_home left #perl6
22:55 sjohnson la la la
23:01 felipe left #perl6
23:05 snarkyboojum left #perl6
23:08 sorear How does PARENT work in a situation where the package graph has cycles?
23:12 fda314925 left #perl6
23:15 fda314925 joined #perl6
23:19 mavrc joined #perl6
23:19 bluescreen left #perl6
23:20 cdarroch left #perl6
23:20 snarkyboojum joined #perl6
23:24 proller left #perl6
23:24 Mirell left #perl6
23:24 wolverian left #perl6
23:24 florz left #perl6
23:24 c1sung left #perl6
23:24 hatseflats left #perl6
23:24 mdxi left #perl6
23:24 Grimnir_ left #perl6
23:24 sorear left #perl6
23:26 xabbu42 left #perl6
23:26 proller joined #perl6
23:27 broquaint left #perl6
23:28 Grimnir_ joined #perl6
23:28 Mirell joined #perl6
23:28 wolverian joined #perl6
23:28 florz joined #perl6
23:28 c1sung joined #perl6
23:28 hatseflats joined #perl6
23:28 mdxi joined #perl6
23:28 sorear joined #perl6
23:29 snarkyboojum left #perl6
23:32 xabbu42 joined #perl6
23:36 stkowski left #perl6
23:38 baest left #perl6
23:38 baest joined #perl6
23:41 hercynium joined #perl6
23:43 Italian_Plumber joined #perl6
23:47 mavrc left #perl6
23:48 ash_ joined #perl6
23:49 stkowski joined #perl6
23:55 masonkramer_ joined #perl6
23:55 masonkramer left #perl6
23:55 masonkramer_ is now known as masonkramer
23:58 mavrc joined #perl6

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

Perl 6 | Reference Documentation | Rakudo