»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
00:03 hugme joined, ChanServ sets mode: +v hugme 00:08 Italian_Plumber joined, Italian_Plumber left
ash_ say 0.so, 0.defined 00:13
rakudo: say 0.so, 0.defined
p6eval rakudo 0421d3: OUTPUT«Bool::FalseBool::True␤»
00:15 justatheory joined, risou left, risou joined
sorear .so and .Bool are synonyms, except for some confusing cases with junctions 00:16
00:18 rgrau_ joined
flatwhatson is that so you can write if so { do_stuff() } ? 00:18
00:20 risou left
sorear you can't write if so anyway 00:20
it would have to be if .so 00:21
plobsing sub make-it-so($x is rw) { $x but= True }
ash_ rakudo: my $_ = 12; given :so { say 1 } 00:22
p6eval rakudo 0421d3: OUTPUT«===SORRY!===␤Redeclaration of symbol $_ at line 22, near " = 12; giv"␤»
ash_ rakudo: $_ = 12; given :so { say 1 }
p6eval rakudo 0421d3: OUTPUT«1␤»
ash_ rakudo: $_ = 12; if .so { say 1 } 00:23
p6eval rakudo 0421d3: OUTPUT«1␤»
sorear rakudo: $_ = 12; given :so { .say }
p6eval rakudo 0421d3: OUTPUT«so Bool::True␤»
sorear # I don't think given does what you think it does
ash_ rakudo: say 12 ~~ :so
p6eval rakudo 0421d3: OUTPUT«Bool::True␤»
ash_ ah ya
i meant to say when
oops
rakudo: $_ = 12; when :so { .say } 00:24
p6eval rakudo 0421d3: OUTPUT«12␤»
ash_ rakudo: $_ = 12; if .so { .say }
p6eval rakudo 0421d3: OUTPUT«12␤»
00:25 mfollett joined
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␤»
wolfman2000 ...is there really a big difference between if and when? They seem to do the same thing 00:28
plobsing rakudo: given (42) { if 1..3 { say "small" }; when 42 { say "other" } } 00:31
p6eval rakudo 0421d3: OUTPUT«small␤other␤»
plobsing rakudo: given (42) { when 1..3 { say "small" }; when 42 { say "other" } } 00:32
p6eval rakudo 0421d3: OUTPUT«other␤»
00:32 lichtkind left, petdance left 00:35 Italian_Plumber joined 00:47 leprevost left 00:48 leprevost joined 00:51 leprevost left 00:54 QinGW joined 00:56 justatheory left 00:58 mavrc left 01:02 rgrau_` joined, rgrau_ left 01:05 rgrau_` left 01:08 cbk left
ash_ when does a lot more than if 01:20
masonkramer define "more" 01:26
I think they just do very different things 01:27
01:27 hercynium joined
masonkramer blogs.gurulabs.com/stephen/2008/12/...nwhen.html 01:28
01:29 leprevost joined 01:32 molaf joined 01:40 masonkramer left 01:41 astrojp joined, petdance joined 01:42 LaVolta joined, molaf_ joined
LaVolta morning #perl6 01:44
01:46 molaf left
sorear heya 01:55
01:57 wolfman2000 left
araujo hi 02:06
02:25 Italian_Plumber left 02:28 nymacro joined 02:32 dmedley joined 02:33 dmedley left 02:37 cbk joined 02:53 cbk left 03:02 justatheory joined 03:07 cbk joined 03:15 meppel joined 03:16 meppl left 03:33 leprevost left 03:37 envi^home joined
xinming is pugs svn repository down? 03:50
03:50 meppel is now known as meppl 03:52 colomon left 03:53 cognominal left 03:54 ash_ left 03:58 ash_ joined, satyavvd joined, s1n left
plobsing xinming: pugs repo is gone (see use.perl.org/~masak/journal/40524) 04:00
04:05 ash_ left
xinming plobsing: thanks 04:08
plobsing: Where is the old pugs svn repository? 04:10
04:11 cognominal joined
xinming Just curious. 04:15
plobsing /dev/null I guess. 04:16
04:22 cognominal left 04:23 Chillance left
sorear xinming: Juerd probably has it on a backup tape somewhere 04:30
xinming: Looking for something?
04:30 xinming_ joined 04:33 xinming left
sorear xinming: Juerd probably has it on a backup tape somewhere 04:34
xinming_: Looking for something?
04:41 fod left
xinming_ sorear: Nope, Just want to keep the "history" :-) 04:44
04:46 s1n joined 04:59 ggoebel left 05:01 justatheory left 05:10 kaare joined 05:11 kaare is now known as Guest91659
sorear xinming_: we imported the entire history into git 05:11
xinming_: if anything the history is more accessible now, since git clones default to "all history" 05:12
hmm. I have an Interesting metamodel freeze/thaw problem 05:14
if a Unit references several other Units, then loading it will clone them all 05:15
maybe I should look at something like kioku
plobsing sorear: shouldn't you maintain a unique reference to be able to de-dup unit loads (and therefor avoid clones)? 05:18
sorear plobsing: that's the problem, I'm trying to find the best way to do "unique reference" 05:24
sorear is also still trying to figure out exactly how packages want to work 05:25
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?
or
source, that would work too, sorry for so many lines here
sorear S11 maybe, though it depends on exactly what you mean 05:28
subroutine handling is a lot less dynamic in Perl 6
05:29 plobsing left
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 {} github.com/masak/web/blob/master/lib/Tags.pm 05:30
05:31 xabbu42 joined
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␤»
LaVolta # perfect! 05:37
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 05:40 Amadiro left
sorear mfollett: pir::set_hll_global__vPSP(<Tags EXPORT DEFAULT>, $tag, sub { ... }); is probably the best you can get atm 05:41
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.
sorear: really, my other idea was a bad one. 05:45
05:50 sftp left 05:54 timdemkowsky left 06:00 wtw joined 06:02 nymacro left 06:06 nymacro joined 06:08 petdance left 06:14 am0c^ left, redicaps joined 06:17 pythonian4000 is now known as pythonian4000afk 06:27 redicaps left, mfollett left
moritz_ good morning 06:35
nymacro god morgen 06:36
06:41 cognominal joined
sorear hello 06:47
sorear is still very confused by trying to implement GLOBAL 06:48
06:49 kjeldahl joined
sorear or rather, I'm very confused by how GLOBAL correctly interacts with separate compilation 06:58
stuff like class Foo is Bar {} wants to see the unit's global, very very early
stuff like $GLOBAL::foo wants to see the true global, if run after BEGIN 06:59
any useful advise? 07:02
07:02 Mowah joined
moritz_ populate it at BEGIN time 07:12
sorear maybe 07:13
that's what niecza/master does
er, wait
BEGIN
I'm trying to populate this at BEGIN, yes
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
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
sorear there's some talk in S02 of one BEGIN-time GLOBAL per file 07:16
'use' merges GLOBALs from importee into importer, until at the start of CHECK time there is only the one GLOBAL
but... diamonds.
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
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?
moritz_ aren't our-globals aliases fo reach other anyyway?
lestrrat: ttjjss.wordpress.com/2010/08/09/so-...-6-module/ 07:19
lestrrat moritz_: Thank you!
sorear moritz_: our is pretty easy 07:21
if I have : use Foo::Bar; class Foo::Baz is Foo::Bar { }
I'm augmenting Foo without monkeys, or something 07:22
and I need for the correct augmented Foo to be visible to all modules that use Foo
07:22 buubot left
sorear (I need a RAM upgrade for this brain, it's thrashing crazy now) 07:23
07:24 buubot joined
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:26
except that will completely screw up the multi-threaded compilation manager. sigh. 07:27
( moritz_ ? ) 07:29
07:33 colomon joined
sorear o/ colomon 07:33
07:33 draxil_ left
colomon \o 07:33
07:33 draxil joined 07:36 QinGW left 07:38 QinGW joined
mathw o/ 07:38
07:43 tadzik joined
tadzik good morning 07:43
sorear is anyone still listening? 07:44
colomon ya 07:46
moritz_ has no further ideas for sorear 07:48
07:52 qwebirc75479 joined
colomon oh, did I miss the key parts of the discussion? 07:57
colomon backlogs
07:58 Ross joined
dalek href="https://modules.perl6.org:">modules.perl6.org: 33276ef | moritz++ | web/index.tmpl:
link to module creation guide
07:58
tadzik oh yay. moritz_++ 07:59
08:05 mikehh left 08:08 nymacro left
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:09
tadzik moritz_: I just think whether to include some code-side tips 08:10
is there any docs about "is export is about exporting and our sub puts it in the modules namespace" besides synopses? 08:12
people tend to ask about this sometimes
moritz_ I don't know of any
tadzik maybe that's somethng for 5-to-6
moritz_ adds to his TODO list 08:13
08:14 nymacro joined 08:17 REPLeffect joined 08:30 masak joined
masak oh hai, #perl6 08:30
tadzik oh hai
colomon \o 08:31
moritz_ o/
LaVolta \o/ 08:32
sorear hi masak 08:33
08:37 dakkar joined 08:40 amkrankruleuen joined
dalek kudo: f523366 | moritz++ | docs/ChangeLog:
[docs] update ChangeLog
08:47
masak [backlog] "ickle" as a variant of "little" sounds to me like something a parent would say to a small child. 09:00
09:12 REPLeffect left
sorear this is starting to make a bit of sense, if I eschew the concept of 'my' stashes and MONKEY_TYPING checks 09:16
why does augment package Foo { sub bar } need MONKEY_TYPING but sub Foo::bar does not?
moritz_ sub Foo::bar also needs MONKEY_TYPING 09:17
sorear what of class Foo::Bar?
quite a lot of rakudo modules start ... class Foo::Bar;
moritz_ you mean because it's augmenting class Foo?
09:18 masak left
moritz_ I think notionally Foo::Bar is not nested below Foo 09:18
sorear it's more like it's augmenting Foo.WHO
yeah
a large part of understanding niecza/mm has been rationalizing the difference between Foo and Foo::
moritz_ waits for the Foo.WTF macro
sorear: be sure to write that up somewhere 09:19
sorear in particular, I now see Foo as being a child of Foo::
rather than unrelated adjacent objects as they were in niecza/master
moritz_ let me get this straight... Foo:: is the symbol table, and Foo the type object? 09:20
sorear yes
moritz_ or ss/symbol table/stash/ if you prefer
good
sorear in particular, class Foo { ... } creates Foo:: but *not* Foo
moritz_ rakudo: ss/a/b/
p6eval rakudo 0421d3: OUTPUT«===SORRY!===␤Confused at line 22, near "ss/a/b/"␤»
moritz_ sorear: that makes a lot of sense
sorear but there's no way to do it the other way around
moritz_ sorear: and I guess class Foo::Bar { } creates Foo:: too? 09:21
sorear yes
09:21 REPLeffect joined
sorear Foo::Bar is inside Foo::Bar:: which is inside Foo:: 09:21
moritz_ how do you go from Foo:: to Foo?
sorear I'm not sure yet 09:22
(well, $stash->obj :) )
moritz_ Foo::.type_object could work 09:23
but maybe it doesn't need API exposure at all
sorear recently deleted most of niecza's notes because they had fallen so far behind current thinking
moritz_: I'm not sure how much of niecza's metamodel is going to be exposed to the programmer 09:25
09:26 wamba joined
sorear Whole-program analysis doesn't work very well in a setting where the compiler is visible to itself 09:27
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
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
unless the program is running millions of evlas
Trashlord evlas 09:33
09:34 ggoebel joined
moritz_ elves 09:34
szbalint Legolas, what do your elf eyes see? 09:40
Action at a distance, of course! 09:41
moritz_ :-) 09:44
tadzik hah, I backlogged til my first day on #perl6 09:45
funny times :)
sorear my first day on #perl6 was in 2007 paying a house call to lambdabot
09:45 masak joined
sorear which I maintained at the time 09:45
I don't think I even knew Perl 5 back then
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
I got a commit bit that day :-)
09:46 bbkr joined, mavrc joined
sorear Perl people are nice like that. 09:47
09:50 mavrc left 09:51 mavrc joined 09:56 icwiener joined
masak does 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:58
sorear masak: infinitely nested blocks were my idea, and I used them in my patch 09:59
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
masak ah.
...and it doesn't handle contextuals?
moritz_ seems it has a disadvantage too :-)
sorear in pmichaud's REPL, there is a single outer block, which has a custom LexPad instance that is backed by a hash
after every line, lexicals are copied from the inner to the otuer block
10:03 mavrc left, kensanata joined 10:04 mavrc joined 10:07 QinGW left
moritz_ wikis.sun.com/display/mlvm/HotSwap might be of interest 10:15
sorear that list is ludicrously ambitious 10:21
unless they are taking it for granted that most of the interesting optimizations, like oh inlining final methods, will never happen 10:32
re-optimizing functions with existing call frames is... hard 10:33
10:33 daxim joined, LaVolta left
sorear unless your compiler has a very disciplined approach to spills and caller-saved registers 10:33
I'm talking about Appelian CPS stuff here 10:34
10:37 ruoso left 10:47 satyavvd left
jnthn o/ #perl6 10:52
10:53 Mowah left
sorear hey jnthn 10:54
how's the nom?
jnthn Breakfast was nice, and lunch was even nicer. :-)
Soon time to get back to work again :-)
sorear The other nom :-) 10:55
jnthn Oh! 10:56
That nom now supports attributes. :-)
I plan to start getting a ClassHOW sketched out in NQP soon.
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
jnthn Yay. :-) That sounds...tricky.
sorear (perhaps you forgot to load "Mu"?) # my perl 5 is having an identity crisis 10:58
I'd be interested to know how you're handling it in nom
10:59 svetlins left
sorear How do you deal with separate compilation of modules in the face of Parrot's single root namespace? 11:00
11:02 timbunce joined
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
(due to this kinda problem)
sorear I hope I can help you with your replacement 11:04
11:05 Italian_Plumber joined
jnthn I hope so too :-) 11:08
I think it'll be a refactor after the one to get the new meta-model bits in place.
We don't want to bite off too much in one go.
Don't think the Rakudo user base could handle another alpha -> ng style thing, so smaller jumps are kinda preferable. 11:09
sorear tadzik had some code earlier like ::Foo{$name} = sub { } 11:11
I don't want to think about how that ever could have worked
11:13 araujo left
tadzik sorear: ? 11:14
sorear jnthn: Do you see much prospect for object attributes without containers? 11:17
11:17 satyavvd joined
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:17
(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:19
jnthn sorear: Tied up with that is what assignemnt to a my int @foo; actually means. 11:21
Since that is meant to be a compact array.
sorear Yes 11:22
I had a minor breakthrough last night; decontainerization and unboxing make a lot more sense if considered in isolation 11:23
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:24
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
sorear the flip side is that decontainerized boxed values would be awesome 11:26
(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:27
11:29 REPLeffect left
moritz_ does t/spec/S09-typed-arrays/arrays.rakudo loop for anybody else? 11:30
sorear out 11:36
dalek ecza/mm: 2d62a5a | sorear++ | / (2 files):
[mm] implement ENTER time, a double fault handler
11:39
ecza/mm: e5ac4b6 | sorear++ | src/ (2 files):
[mm] Rethink stash handling
11:50 dakkar left 11:57 qwebirc75479 left
masak hm. I don't think this has any bearing on Perl 6's Pod. or does it? apple.slashdot.org/story/10/09/26/2...-Trademark 11:57
flussence I doubt they're desperate enough to sue over *that* 11:58
masak yeah, probably. 11:59
12:10 sftp joined 12:13 miso_soup joined
[Coke] moritz_: I wonder, would it be possible to show bot responses in a more subdued style on the irc logs? 12:21
(would make skimming faster. ;) 12:22
12:24 kjeldahl_ joined 12:25 satyavvd left 12:27 kjeldahl left 12:31 [Coke] left 12:32 petdance joined 12:33 PhatEddy joined 12:39 dakkar joined
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:39
12:40 araujo joined 12:41 petdance left
masak PhatEddy: feel free to submit a ticket. 12:44
PhatEddy OK - thx 12:46
12:50 mfollett joined 12:52 Guest91659 is now known as kaare_ 12:54 Ross left, PhatEddy left, xabbu42 left 12:56 plobsing joined 12:58 icwiener left 12:59 kensanata left 13:02 mfollett left 13:09 boggytwo left, icwiener joined 13:11 synth left 13:12 rgrau_ joined 13:14 synth joined 13:16 Ross^ joined, Ross^ left, Ross^ joined
dalek kudo: 607ec45 | moritz++ | README:
[README] fix smolder link, PhatEddy++
13:17
13:17 Patterner left 13:18 jest joined, jest left 13:19 Psyche^ joined, Psyche^ is now known as Patterner 13:20 plainhao joined 13:21 kaare_ left 13:26 sftp_ joined 13:27 sftp left
masak TimToady: happy birthday! \o/ 13:31
13:31 gottreu joined
xinming_ TimToady: happy birthday. :-) 13:32
moritz_ TimToady++, erm, TimToady.age++
13:33 zby_home_ joined
gabiruh TimToady: the cake is lie! 13:36
masak oh, and thanks for Perl. it makes both my work programming and my hobby programming more joyful. 13:37
(or is it "they" nowadays?)
13:38 gottreu left
moritz_ if you refer to the language family, 'it' is fine :-) 13:38
masak the reminds me of a certain distinction involving sigils... :P 13:39
13:39 meraxes_ joined
moritz_ :-) 13:40
13:43 tadzik left
masak there's $Perl, the language family, and there's @Perl, the languages. 13:47
colomon TimToady: happy birthday!
13:48 gottreu joined
masak お誕生日おめでとう! ^^ 13:48
13:48 svetlins joined
jnthn TimToady: Happy birthday! Thanks for a great language and the most fun implementation tormentation of my life. :-) 13:49
masak jnthn: masochist! :)
jnthn masak: masakist! :) 13:51
masak acme: acmeist! 13:52
moritz_ athe: ist! 13:53
13:53 tadzik joined
masak :) 13:53
mathw istist! 13:55
13:56 meraxes_ left
mathw TimToady: Happy birthday! Thanks for this exciting journey of language design and implementation! 13:56
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:57
mathw Haskell is pretty open 13:58
I remember when they were inviting people to weigh in on Haskell Prime
But they aren't as open as Perl 6
masak right. a bit more committee-y. 13:59
mathw Yeah
masak guess Algol 68 was pretty committee-y, too.
mathw but the committee is pretty much open to anybody with a bit of a track record in that kind of research
so it's open within the field, as it were
very academic approach :)
13:59 icwiener left
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.
simply because there are not much else to compare against.
mathw yeah
and also because some of the discussions get pretty esoteric
But that's just because people have familiarity 14:01
gottreu is surprised no one has told him to hush.
mathw Anybody who learns what we're talking about and gets involved is welcome at any level
which is awesome
masak gottreu: there's plenty of room in the IRC logs :) we're trusting you not to misuse it :P
tadzik everyone can contribute, whatever the level of Satori, which is awesome 14:02
masak tadzik: I like that. use it in a blog post title :) 14:04
tadzik about contributing?
14:06 spq1 joined, mkramer joined
masak here's a good summary of the evolution of Haskell, by the way: research.microsoft.com/en-us/um/peo...istory.pdf -- basically, Haskell evolved first through a number of physical meetings, and then over email. 14:07
tadzik I like the word "meatspace" 14:08
mkramer kill it with fire 14:09
we must not let that word catch on
14:09 Holy_Cow joined 14:10 Holy_Cow left, Guest23195 joined
colomon mkramer: ~393,000 hits for "meatspace" in Google, I think it's a little late to kill it. :) 14:11
moritz_ mkramer: what would you use instead? 14:12
mkramer space?
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
moritz_ well, having "meetings in space" sounds a bit different to me... 14:13
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?
masak tadzik: yes, it's in the Web.pm repo.
tadzik I feel like that wasn't me
mkramer besides, when we become robots, meatspace isn't going to work
meat is an implementation detail
masak tadzik: then maybe sorear confused you with mfollett.
tadzik wait, I haven't touched Web ever since
masak mkramer: lol! 14:15
tadzik I don't feel like messing with my Covers Role
it has bugs, but hell, it has like few tousand years of testing 14:16
so at least you know the bugs
not to mention it's extremely flexible 14:18
14:18 wtw left, mfollett joined
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")␤»
tadzik I think it's known 14:21
moritz_ it's reported, yes
tadzik rakudo: class A { has Int $.foo }; my $a = A.new; $a.foo = "asd"
p6eval rakudo f52336: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/4oZEiwaegQ␤»
tadzik rakudo: class A { has Int $.foo is rw }; my $a = A.new; $a.foo = "asd"
p6eval rakudo f52336: ( no output )
mkramer heh heh
tadzik rakudo: class A { has Int $.foo is rw } my $a = A.new; $a.foo = "asd"
p6eval rakudo f52336: OUTPUT«===SORRY!===␤Confused at line 22, near "class A { "␤»
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
tadzik hmm. colon is obligatory?
masak mfollett: yes, it's known. 14:22
moritz_ semicolon, yes
tadzik semicolon, right. Hmm, I remember something related in the book recently
moritz_ tadzik: it's only optional for }\n
masak tadzik: that's a big syntactic difference from Perl 5.
tadzik ah, I see 14:23
masak tadzik: statement-ending closing brace, and then always \n or ; (or both)
tadzik: it's part of TTIAR
tadzik TTIAR?
moritz_ aloha: TTIAR?
masak Two Terms In A Row.
moritz_ two terms in a row 14:24
masak Perl 6 tries hard to stay away from TTIAR.
14:24 aloha left
masak in fact (as TimToady often points out), it uses TTIAR conditions to give better error messages. 14:24
some of the best error messages are actually "promoted" TTIAR errors. 14:25
14:25 aloha joined
masak s/it/STD.pm6/ 14:30
moritz_ the IRC logs now show a tooltip help for TTIAR
masak moritz_++
moritz_ (at least for today and the future; older pages might be taken from the cache 14:31
and I don't feel like invalidating 180M cache just for one abbreviation 14:32
masak that just means that you're not insane.
moritz_++
it's a relatively recently trending FLA anyway :P 14:33
moritz_ the logs don't know about TLA or FLA yet :-) 14:34
masak keep in mind that FLA is ambiguous.
also, I wouldn't say that it's trending; not like TLA, anyway :)
moritz_ right; I'm adding only TLA now
14:34 mfollett left
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" :-)
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.
tadzik TLA is LTA imho
14:36 mfollett joined 14:37 Ross^ left 14:38 mavrc left 14:39 mavrc joined 14:41 ggoebel left
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:42
moritz_ rakudo: say 26**3 14:43
p6eval rakudo f52336: OUTPUT«17576␤»
moritz_ that's decent room for now :-)
14:43 redicaps joined 14:44 redicaps left, astrojp left 14:45 mavrc left
mfollett thanks all 14:45
14:47 mavrc joined 14:48 justatheory joined 14:49 risou joined 14:51 mavrc left 14:53 icwiener joined 14:55 plobsing left 14:56 Ross joined 14:57 mavrc joined, masak left, ash_ joined
pmichaud good morning, #perl6 15:02
15:03 unenana joined
colomon o/ 15:03
ZadYree rakudo: $foo = ("bar", "baz"); say $foo[0];
moritz_ \o 15:04
15:04 unenana left
tadzik R* today? 15:04
pmichaud tomorrow
tadzik hello pmichaud
p6eval rakudo f52336: OUTPUT«(timeout)»
moritz_ tadzik: did you integrate neutro with star yet?
tadzik pmichaud: how about adding neutro as a module manager? It works well on Linux and OSX, still hasn't been tested with Windows
moritz_: #define integrate
moritz_ tadzik: added it to the star repo, so it's available after installation 15:05
tadzik nah, still waiting for everyone's decision
that would require adding a bunch of other modules too
moritz_ ask for forgiveness rather than permission!
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?
tadzik moritz_: yep
moritz_: I tend to be more polite when it comes to Star, it's a big thing
alright, I'm messing up then
are modules built in order? 15:07
moritz_ yes
mfollett Is proto getting removed from this Star also?
moritz_ if it doesn't work right now, I'd remove it 15:08
tadzik I think so
moritz_ it can be added later on when it works
15:08 Ross left
mfollett I agree, I was just curious. 15:08
tadzik that means File::Tools and Module::Tools also come 15:09
they're all built using ufo?
15:10 zulon joined
tadzik I volunteer for some testing, as long as it's tomorrow AM UTC 15:12
TimToady rakudo: say 42.so 15:15
p6eval rakudo 607ec4: OUTPUT«Bool::True␤»
TimToady rakudo: say 42.not
p6eval rakudo 607ec4: OUTPUT«Method 'not' not found for invocant of class 'Int'␤ in main program body at line 22:/tmp/GodIxJNpLn␤»
tadzik /tmp/GodIxJNpLn 15:16
dalek ar: 2136cf6 | tadzik++ | / (2 files):
Modules mashup

removed proto, changed File::Find to File::Tools, added Module::Tools, added neutro
15:16 Chillance joined
tadzik I wonder what is the message 15:16
diakopter phenny: tell TimToady happy 35:36 15:17
phenny diakopter: I'll pass that on when TimToady is around.
TimToady feels incremented
phenny TimToady: 15:17Z <diakopter> tell TimToady happy 35:36
tadzik TimToady: happy birthday!
and may the christmas come even earlier
diakopter you know what they say, things that are appreciated must eventually be depreciated. :) 15:19
15:19 Ross joined
TimToady they also say that anything that goes up must come down, but they're wrong about that... 15:19
tadzik is thinking about a Camelia sticker for his laptop 15:21
ash_ the only sticker i have on my laptop is from Google Summer of Code 15:22
15:22 Ross left 15:24 Ross joined
tadzik is there any hi-res (svg?) Rakudo logo somewhere? 15:25
15:25 astinus_ left 15:26 astinus joined, masak joined
pmichaud tadzik: looking 15:28
15:28 Ross left
pmichaud I have it as an Illustrator file 15:29
tadzik what is it? 15:30
15:31 Ross joined, Ross left
pmichaud I think I can export it as svg, but I'll need to reinstall illustrator 15:31
doing that now
tadzik png will do too
pmichaud pmichaud.com/sandbox/rakudo-box-3000.png 15:33
(had that one already available :-)
tadzik awesome! pmichaud++
I will carry Perl 6 propaganda everywhere I go :) 15:34
15:34 Ross joined 15:35 ggoebel joined
tadzik I wonder what would it look like, if I placed Camelia to have a Thinkpad LED inside her eye 15:35
15:42 Ross left 15:44 Ross joined 15:47 Ross left 15:49 Ross joined, Ross left, Ross joined 15:50 Ross left, Ross joined, Ross left, Ross joined 15:59 thepler joined 16:00 ruoso joined 16:01 Ross left, wamba left 16:05 pyrimidine joined 16:08 stas1 joined 16:09 stas1 left 16:11 Ross joined, Ross left, Ross joined 16:12 Ross left 16:14 tadzik left, Trashlord left, Ross joined, Ross left, Ross joined
Grimnir_ has laziness been implemented in the current version of Rakudo? 16:14
16:14 sundar joined
moritz_ to a large degree, yes 16:15
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 } }
p6eval rakudo 607ec4: OUTPUT«===SORRY!===␤Confused at line 22, near "}"␤» 16:17
TimToady rakudo: say (1..*).map({ $_ * $_ }).munch(10).Str
p6eval rakudo 607ec4: OUTPUT«1 4 9 16 25 36 49 64 81 100␤»
masak rakudo: say .[0], .[1] for gather { take 1; say "OH HAI"; take 2; take 3 }
p6eval rakudo 607ec4: OUTPUT«1OH HAI␤23»
Grimnir_ rakudo (0,2 ... *).fmt("%s", ", ").say
masak huh? 23? 16:18
Grimnir_: that would hang.
Grimnir_ ok
masak Grimnir_: since .fmt on a list gobbles up the whole list.
Grimnir_ ah, ok
masak laziness is nice, but it's not a panacea. :)
Grimnir_ hehe, right :)
rakudo my @crap = 0,2 ... *; 16:19
pmichaud that currently hangs also
TimToady that is also eager
use :=
Grimnir_ := ? what does that do?
TimToady does binding instead of assignment with copy
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"
Grimnir_ so := would make it lazy?
rakudo: my @crap := 0,2 ...*;
pmichaud := avoids the eager assignment
TimToady it doesn't make it eager
p6eval rakudo 607ec4: ( no output )
16:20 risou left
pmichaud TimToady: do we eventually want assignment to detect the infiniteness of the series there? 16:20
TimToady laziness is not a positive virtue in that sense 16:21
Grimnir_ rakudo: (0,2 ...*).WHAT.say
TimToady pmichaud: that would be nice
p6eval rakudo 607ec4: OUTPUT«List()␤»
16:22 risou joined
Grimnir_ how do I get number of elements in a list in the object oriented way? 16:22
I mean, @crap.length-ish
pmichaud .elems
Grimnir_ ah, thax
TimToady rakudo: (1,2,4 ... *)[20].say 16:23
p6eval rakudo 607ec4: OUTPUT«1048576␤»
masak rakudo: say (1, 2, 4 ... *).elems
p6eval rakudo 607ec4: OUTPUT«(timeout)»
TimToady .elems is stupid right now
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 ;)
pmichaud it's not always stupid :)
rakudo: say (1..*).elems
p6eval rakudo 607ec4: OUTPUT«Inf␤» 16:24
TimToady yes, well, that's not a list :)
pmichaud rakudo: say (1..*).list.elems
p6eval rakudo 607ec4: OUTPUT«Inf␤»
pmichaud :-P
Grimnir_ wow
TimToady how does it mark it?
pmichaud iterators can be told that they're infinite 16:25
I forget the exact mechanism atm
TimToady well, someone needs to tell ... *
pmichaud right now, only ranges understand infinity
Grimnir_ rakudo: my @crap := (1,2,4 ... *); @crap.elems.say
pmichaud but yes, we can extend that to work for series ending in * 16:26
p6eval rakudo 607ec4: OUTPUT«(timeout)»
Grimnir_ ok, so a list doesn't?
TimToady a list doesn't what?
moritz_ s/series/sequence/ please :-)
Grimnir_ TimToady: understand infinity?
TimToady it does, but not consistently yet
it only understands it if told 16:27
since lists are agnostic about what generates them
Grimnir_ how does the "1,2,4 ... *" work? how does it know how to extrapolate?
TimToady: what does that mean? how can I tell a list to know about it?
TimToady read S03:1752
moritz_ by inspecting the first three elements, of course :-)
Grimnir_ moritz_: right ;)
mkramer rakudo: say (1,2,4 ... * )[112] 16:28
p6eval rakudo 607ec4: OUTPUT«5.19229685853483e+33␤»
16:28 supernovus joined
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
moritz_ 18:27 < TimToady> read S03:1752 16:29
mkramer Grimnir_: It's specced out in S03. It doesn't work for all sequences
supernovus g'day #perl6
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
Grimnir_ ok, i'm kind of n00b here. how do I find S03?
colomon Grimnir_: it checks to see if it is arithmetic or geometric sequence, that's all
pmichaud Grimnir_: perl6.org, click on "Synopses" 16:30
TimToady do you know where the irclog is? that link is automatically generated there
pmichaud er, "Synopsis"
Grimnir_ thx
TimToady see the end of irclog.perlgeek.de/perl6/today
moritz_ or shorter irc.perl6.org/ # redirects there, diakopter++
16:32 stkowski joined 16:35 risou left, risou joined
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 16:43 timbunce left 16:44 nymacro left, cdarroch joined, cdarroch left, cdarroch joined 16:49 timbunce joined
pmichaud > say (1,2,4).elems 17:07
3
> say (1,2,4,*).elems
Inf
colomon \o/
pmichaud TimToady: does ^^^ look right to you?
colomon oh, wait... is that actually correct in the general case? 17:09
17:10 plobsing joined
pmichaud "general case"? 17:10
colomon I thought the ,* extension feature was a special rule for one of the metaops. 17:11
"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"
which kind of implies it's not true elsewhere. 17:12
pmichaud well, the ,* in this case doesn't imply "repeat final element"
colomon what does it imply, then? 17:13
pmichaud that the parcel has infinite length
PerlJam That seems like an odd declarative mechanism. 17:14
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'
PerlJam heh
flussence .Str doesn't try to return an infinite list, thankfully... 17:16
colomon fair enough
flussence: ~ might in the future. ;)
pmichaud colomon: well, this is all speculative at the moment (more) 17:18
at one point, TimToady++ speculated that ,* would act like * xx Inf
so I would guess that .munch(10) would result in (1,2,4,*,*,*,*,*,*,*)
PerlJam pmichaud: so it *does* imply "repeat final element"! 17:19
:-)
pmichaud PerlJam: I don't know what it should do, I'm only reacting to suggestions :)
flussence hm... an infinite list used in non-lazy context should probably return Failure instead of trying to return a list...
pmichaud flussence: that's already specced. 17:20
flussence ok
huf what if it doesnt know it's infinite until it is?
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 :)
colomon gather(:infinite) ?
pmichaud it's been speculated that the generic "make this thing infinite" marker is to add ,*
as in (gather ...),* 17:22
flussence
.oO( at least, not in a generic way... )
pmichaud afk, bbi15
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
or does ,* indicate "this gather might be infinite"?
ash_ is there a perl6 version of AUTOLOAD speced yet? 17:26
i noticed it was changed in the spec, i didn't see it
17:27 Italian_Plumber left, zulon left 17:30 Steppenwolf joined 17:33 zby_home_ left, ash_ left 17:34 dakkar left 17:43 supernovus left 17:44 kjeldahl_ left 17:49 envi^home left 17:50 risou left 17:51 risou joined
pmichaud colomon: ,* indicates "this construct is infinite" 17:53
17:53 sundar left
mkramer ash_: you saw it in the spec, but you're wondering if it's specced? :) 17:56
17:56 risou left
pmichaud afk, lunch 18:07
18:07 ZadYree left 18:23 Mowah joined 18:24 Italian_Plumber joined, Italian_Plumber left 18:26 mavrc left 18:34 [Coke] joined 18:36 timbunce left 18:37 stkowski left 18:38 M_o_C left 18:42 timbunce joined 18:49 stkowski joined 18:50 mavrc joined 18:53 daxim left 18:57 masak joined 18:59 M_o_C joined 19:00 mberends joined 19:03 mfollett left 19:04 mfollett joined
jnthn evening, folks 19:04
sjohnson hi!
masak hi, jnthn 19:05
jnthn o/ masak
hi sjohnson!
sjohnson y0
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 19:07 alester joined
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!
masak sjohnson: do you have an example of where .= with a variable is especially good? 19:09
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␤»
sjohnson ... oh joyous day
masak oh, that one. yes, indeed.
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'
mfollett: yes, it will.
mfollett: the question remains (I think) whether the type will then need parens.
sorear good * #perl6
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
i was reminded of this cause i did some PHP today
masak sjohnson: also, have you seen the trick for using a sub as a method on _any_ object? 19:13
rakudo: sub foo { $^a ~ " HAI" }; say "OH".&foo 19:14
p6eval rakudo 607ec4: OUTPUT«OH HAI␤»
19:14 xabbu42 left
sjohnson yeah 19:15
i think you did that trick on the rot13 question i had, or maybe you used something else
that behaved similarily
i remember you doing something like "hi there!".$foo instead of &
but maybe my mind is playing tricks on me.
19:15 masak left 19:16 masak joined 19:18 timbunce left 19:23 mberends left, mberends joined 19:24 timbunce joined
mfollett sjohnson: it appears you don't need the '&', at least not currently 19:27
rakudo: my $hello = "Hello, " ~ *; "World".$hello.say
p6eval rakudo 607ec4: OUTPUT«Hello, World␤»
19:27 kjeldahl joined 19:28 stkowski left
sjohnson i need to learn how those * things work 19:29
mkramer the thing about * is that it's many different things
mfollett In that context * just makes an anonymous subroutine so that you can evaluate the expression with a value later on.
moritz_ there are basically just two uses of the term *
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
mfollett So, "Hello, " ~ * is equivalent to sub { "Hello, " ~ $^a }
moritz_ and the other is a just a literal Whatever
and the called routine decides what to do with it
19:31 ggoebel left
mkramer and exponentiation as well 19:31
moritz_ that's not the term *
that's an infix operator containing a *
19:31 jfried joined
mkramer Oh, I thought we were talking about those * things 19:32
not the term *
mfollett sjohnson: At the risk of being to self-promotional I wrote up some notes on what * does here: mfollett.com/perl-6-whatever 19:33
sjohnson thanks 19:34
masak mfollett++
19:35 stkowski joined
mfollett thanks 19:36
masak mfollett: please keep writing those. 19:38
mfollett masak: I'm trying :) 19:39
19:39 mfollett left, masak left
mkramer rakudo: for ^9 do say * * * ** * 19:41
p6eval rakudo 607ec4: OUTPUT«===SORRY!===␤Missing block at line 22, near "do say * *"␤»
mkramer rakudo: for ^9 { say * * * ** * }
p6eval rakudo 607ec4: OUTPUT«===SORRY!===␤set_number_native() not implemented in class 'Num'␤»
19:42 mfollett joined, Italian_Plumber joined 19:43 plainhao left
florz mfollett: you are aware that your document contains parts that are tried to be constructed dynamically? 19:46
alester mfollett: There's no such thing as too self-promotioanl. 19:49
As long as it's useful, it's irrelevant if it's you promoting it or some other party.
The geek tendency toward false modesty is bullshit. 19:50
Be proud of what you've done!
pmichaud jnthn: o/ 19:51
sjohnson pats perl6 people on the back
jnthn pmichaud: oh hai :-) 19:52
pmichaud: How's things?
pmichaud reasonably well
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
jnthn Well, "about to" means "in a week or two" rather than "in a day or two" :-)
pmichaud oh
jnthn But it'd be good to deal with 'em up front.
When I hit them they'll be pretty hard blockers, probably. 19:55
dalek odel: c0c6232 | mberends++ | / (3 files):
[java] catch up to dotnet in runtime/ but not in compiler/
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
19:56 ruoso left
jnthn er. if PCT::Actions exists. :-) 19:56
jnthn checks
I just worry *something* I'll need to switch is going to be outside the nqp-rx repo. 19:57
19:57 Italian_Plumber left
sorear PCT::Node switching to 6model would be an unspeakably huge win 19:57
jnthn oh, I know something is. PCT::Compiler.
sorear: Yeah, I won't block on that.
sorear: But I fully agree and want it to happen too.
19:57 mavrc left
sorear it would probably cut rakudo build memory usage by 80-95% 19:57
pmichaud you're over-worrying :)
jnthn Optimism. sorear has it. :-)
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. :-)
pmichaud and PCT::HLLCompiler probably can be entirely re-written in NQP
jnthn Aha
19:58 rgrau_ left
pmichaud sorear++ did a lot of it already :) 19:59
mfollett florz: what do you mean?
jnthn sorear++ :-)
pmichaud and tbh, not a lot should depend heavily on p6object -- since what p6object attempts to provide is an API
jnthn Right, and add_method etc will live on.
pmichaud as long as the new model provides type objects, then everything else ought to be reasonably okay
jnthn Yes, it (deeply) provides type objects. :-)
florz mfollett: I mean the fact that my browser displays something like this: 20:00
You would find $foo holds something like:
pmichaud anyway, I'm not to worried about breaking the build/bootstrap
florz Which you could then use like this:
20:00 stkowski left
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
I will want to bootstrap in order to do the gradual typing-y and serialization-y bits
pmichaud also, I'd suggest not worrying about doing the full bootstrap cycle yet
jnthn But that's phase 2. :-)
Well, I want to bootstrap at the end of phase 1 again 20:01
pmichaud sure
jnthn But yes, I'm fine with breaking it for a while.
pmichaud but the primary thing to focus on is getting an nqp that uses the new model
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. :-)
OK.
pmichaud once we have that, I can certainly help with completing the bootstrap cycle
moritz_ std: ss/a/b/
p6eval std : OUTPUT«ok 00:01 116m␤»
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.
(nom = branch name :-))
pmichaud oh, yeah, knowhow might be a bit of an issue for existing nqp-rx
jnthn It's additive.
pmichaud anyway, making *that* conversion isn't something that worries me much
jnthn *nod*
20:02 xabbu42 joined
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.
For a little bit.
20:03 xabbu42 left
jnthn We'll see. 20:03
20:03 xabbu42_ joined
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
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
pmichaud this week, next week, two weeks? 20:03
jnthn Tomorrow evening is *in theory* OK.
florz mfollett: which effectively makes the document unreadable - that sounds much more sensible than lacking syntax highlighting indeed
jnthn Well, I'm keen to have the discussion earlier rather than later. 20:04
pmichaud okay, this week then.
any idea how long?
jnthn Because it may well influence my priorities from here on in.
pmichaud #phasers is at 19h00
jnthn I mostly want to run by you what I've got so far to make sure it sounds sane, and discuss migration planning.
pmichaud I have kid pickup at 19h45
jnthn We could take it after #phasers, if that works at all for you.
Ah, OK
After kid pickup?
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
oh, maybe not if Paula sticks around home tomorrow (as she's currently planning to do)
sjohnson kid hw probably pretty easy for a perl6 dev!
pmichaud anyway, let's tentatively say 20h00 utc tomorrow
jnthn #phasers is...21h00 my time.
sjohnson :-)
pmichaud if it doesn't work out, we'll find a time on wed
(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...
Yeah...I think that will probably make me exhausted the next day. :(
OK, maybe Wed is better.
pmichaud 20h00 is 22h00 for you which is 10p, right?
jnthn Oh, sorry 20:07
pmichaud 20h00 utc is 22h00 localtime for you, yes?
jnthn You wrote 20h00 and I read it as 22h00
Is it 20h00 UTC now?
pmichaud yes
20:07 alester left
pmichaud 20h07 20:07
jnthn It's 22h07 here at the moemnt
So yes
:-)
OK, then that is fine.
20h00
Tomorrow.
20:07 xabbu42_ left
jnthn :-) 20:07
pmichaud will plan for then 20:08
oh, also tomorrow I have R* release to cut
jnthn
.oO( I hope I'm better at meta-models than I am at timezones... )
pmichaud hmmmm
let's stick with 20h00 utc for now.
if I'm running behind or have other things come up we'll resched for Wed
jnthn OK, that's fine. 20:09
20:09 mavrc left
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
moritz_ is that good or bad? :-) 20:10
20:10 alester joined
pmichaud financially, it's very good. 20:10
moritz_ congratulations then
20:10 Italian_Plumber joined 20:11 ruoso joined
sorear thinks about implementing Moose-style accessors 20:11
jnthn pmichaud: Nice :-)
20:11 Italian_Plumber left
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.
pmichaud fun... not quite so much. :-|
jnthn Or at least not un-fun.
Aww.
pmichaud but it's not totally un-fun, either.
20:12 mavrc joined
sorear has $.foo is moosely; say $.foo; $.foo(3) # saves 24 bytes per instance over perl6ly accessors 20:13
20:13 icwiener left
sbp or, is moosesome 20:14
pmichaud is moosed
is moosey
rjbs Mooschaud.
20:14 xabbu42 joined
pmichaud has antlers 20:14
20:15 xabbu42 left, xabbu42_ joined
sbp elkic 20:15
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:16
20:24 Guest23195 left 20:28 mfollett left 20:31 zby_home joined 20:33 cybergirl joined 20:34 pwnage- joined 20:35 cybergirl left
diakopter sorear: but remember value types don't count, since they're always stack allocated only, or embedded in other reference types 20:36
like value_type[] 20:37
and value types are "said" to derive from System.Object .... 20:38
but really only at compile time, unless they're going to be boxed. really, a boxed value type is a different type 20:39
sorear diakopter: value types aren't gcables 20:41
so my statement doesn't apply to them
diakopter right, just clarifying. 20:42
... because the value types are "said" to derive from System.Object 20:43
20:49 M_o_C left 20:57 mfollett joined 20:58 xabbu42_ left 20:59 xabbu42 joined, xabbu42 left, xabbu42 joined 21:00 timbunce left 21:03 mfollett left 21:06 Mowah left 21:07 timbunce joined 21:10 ggoebel joined 21:14 Ross left
Grimnir_ I can't get ff (flipflop) to work 21:14
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
btw, does the "use v6" actually do anything?
flussence on the command line, not really
moritz_ ff is NYI 21:16
sorear use v6; does nothing if encountered by a Perl 6 compiler
moritz_ Grimnir_: it gives a proper error message when you accidentally run the file with perl 5 21:17
Grimnir_ ah, ok
right
is .pl still the right name?
moritz_ yes
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...
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
Grimnir_ flussence: that/s exactly the thing
sorear at one point package NAME BLOCK was also specced to trigger v6 21:19
but that syntax has been added to Perl5 recently
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
perigrin sorear: MX::Declare kinda horks the class {} trigger 21:20
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
perigrin poniedo?
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 { }
perigrin moritz_: yes
sorear The hypothetical Rakudo Perl 5 emulator
perigrin sorear: ahh
sorear Which doesn't have a name yet, so I just made one up
Let's see if it catches on
perigrin I suspect anything depending on XS on poniedo is gonna lead to tears. 21:23
21:23 Steppenwolf left
flussence oh, vim does content-sniffing in filetype.vim for .sh 21:24
sorear I blame SvREFCNT_inc
21:25 mkramer left 21:29 snarkyboojum joined, ruoso left
Grimnir_ ok, that's a pretty darn big vim-file 21:29
21:32 timbunce left 21:33 tadzik joined 21:34 snarkyboojum left
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.
dalek ecza/mm: 8e30bea | sorear++ | src/ (2 files):
[mm] Avoid directly referencing packageoids

Using the crossref table like this should make freeze/thaw work a lot better.
21:36
ecza/mm: 924e9b8 | sorear++ | src/Metamodel.pm:
[mm] and apply the same treatment to StaticSub
ecza/mm: 383ed07 | sorear++ | src/ (4 files):
[mm] start metamodel hackery for settings
21:43 tadzik left 21:45 vm joined 21:48 vm left 21:49 amkrankruleuen left, tadzik joined 21:50 snarkyboojum joined 21:58 snarkyboojum left 22:01 kjeldahl left 22:04 tadzik left 22:07 jfried left 22:13 mavrc left
cosimo moritz_: please can you add github.com/cosimo/perl6-cache-memcached to the list of projects on modules.perl6.org? thanks 22:14
diakopter use v6; # makes a Perl 6 compiler move from its default (Perl 5 mode) to Perl 6 mode, I thought. 22:17
oh
sorear A Perl 6 compiler should default to Perl 5 mode if an only if it is installed as "perl" 22:18
22:19 cbk left
diakopter seems reasonable 22:20
22:21 svetlins left 22:25 snarkyboojum joined, cbk joined 22:30 masonkramer joined 22:33 snarkyboojum left, thowe joined
thowe I'm rediscovering my love for the Camel book. 22:35
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:36
22:40 snarkyboojum joined 22:41 bluescreen joined 22:42 huf left 22:44 stkowski_ joined 22:48 stkowski left, stkowski_ is now known as stkowski 22:52 zby_home left
sjohnson la la la 22:55
23:05 snarkyboojum left
sorear How does PARENT work in a situation where the package graph has cycles? 23:08
23:12 fda314925 left 23:15 fda314925 joined 23:19 mavrc joined, bluescreen left 23:20 cdarroch left, snarkyboojum joined 23:23 proller left 23:24 Mirell left, Grimnir_ left, sorear left 23:26 xabbu42 left, proller joined 23:28 Grimnir_ joined, Mirell joined, wolverian joined, florz joined, c1sung joined, hatseflats joined, mdxi joined, sorear joined 23:29 snarkyboojum left 23:32 xabbu42 joined 23:36 stkowski left 23:38 baest joined 23:41 hercynium joined 23:43 Italian_Plumber joined 23:47 mavrc left 23:48 ash_ joined 23:49 stkowski joined 23:55 masonkramer_ joined, masonkramer left, masonkramer_ is now known as masonkramer 23:58 mavrc joined