Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-09-06

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:00 echosystm ...and yet an object model requires class members (eg. constructors) just to work at all
00:00 chromatic There's a difference between class *data* and static methods.
00:00 echosystm i
00:00 diakopter that idea isn't unique to (or concentrated in) the perl community, at all... :)
00:01 echosystm i'll agree class data is often mis-used and should be placed elsewhere
00:01 echosystm but, i see no problem in class variables that serve to identify the classes
00:01 florz echosystm: constructors in the sense of "initializers" can be object methods just as well, in general
00:01 echosystm of course, like __init__ in python
00:02 echosystm but the point is, there is always a class method somewhere (__new__)
00:02 chromatic Doesn't have to be a class method, but I'm not sure why it's a distinction.
00:02 diakopter it's only incidentally a class method
00:02 florz and if you consider prototype-based stuff as "object systems", it really becomes somewhat difficult to argue that you need class methods ;-)
00:03 diakopter __new__ is only a "method" just cuz there's nowhere else to stuff it.  it's really just a global (or whatever scope the class has) routine...
00:04 chromatic Unless you take the Perl 6 view of typed Undef prototype objects.
00:05 echosystm i had better get back to work - but a long story short is that nothing will change in regards to class members?
00:05 azert0x left #perl6
00:05 chromatic Seems like a design smell to me, but I'm sure you can violate class encapsulation if you work at it.
00:06 echosystm well, a common use for us is persistence
00:06 chromatic I'd use a role for that.
00:07 echosystm in other languages, we simply add 4 methods to any object we want to persist - update and delete (instance), load and create (class)
00:07 diakopter is it unfortunately the case that sometimes shortterm design smelliness must be tolerated to achieve whipitupitude, when *using* a language (which i think is to what chromatic was referring).. (as opposed to designing, say, Perl 6)
00:07 echosystm in perl, if we want to keep things "the perl way", we have to separate our logic into a "loader" class and a "result" class
00:07 chromatic Or use a Persists role.
00:08 echosystm well, what we usually do in php is define for example a "TableModel" class, which has a class variable to identify the table
00:09 echosystm the update, create, read and delete methods are then just queries to run agains tthat table
00:09 echosystm thus, we just subclass our TableModel class and change the table name
00:09 chromatic My preference is to use a parametric role.
00:09 chromatic Though that's only if you need a table name without a well-defined mapping from the class name.
00:10 florz echosystm: and that somehow doesn't work with perl(5)?
00:11 echosystm nope, because theres no way for a superclass method to reference subclass package variables
00:11 chromatic Doesn't have to be a variable though.
00:11 chromatic You get better polymorphism if it isn't.
00:11 diakopter use an accessor..
00:11 echosystm hmm
00:11 echosystm interesting
00:12 echosystm that is a good point
00:12 florz echosystm: Well, as the other say: an accessor is probably the way to go. But sure you can access package variables of the package that your object is blessed as.
00:12 chromatic That's the "design smell" point to which we alluded earlier.
00:12 echosystm how do you do that florz ?
00:13 chromatic If this behavior is a necessary part of your interface, make it a standard part of your interface (without forcing subclasses or delegates or reimplementations to adhere to a specific implementation).
00:13 echosystm sub classMethod { $class = shift; print $class::variable; } something like this obviously doesnt work
00:15 diakopter no, but using an accessor that gets/sets a var created in a closure during class declaration ...
00:15 chromatic Something more like sub class_method { my $obj = shift; my $class = Scalar::Util::blessed( $class ) ? ref( $self ) : $self; no strict 'refs'; return ${ $class . '::variable_name' } }
00:15 chromatic ... but the ugliness of that approach argues (to me) against it.
00:19 diakopter to steal from modern_perl/chapter_07:  { package Cat; use Moose; my $classvar1_; sub classvar1 { return defined $_[0] ? ($classvar1_ = $_[0]) : $classvar1_ } }
00:20 diakopter well, stealing "package Cat" :)
00:21 diakopter or just hardcode the table names, which it sounds like you'd do.  so the method is just overridden.
00:21 diakopter urp, those should be $_[1]
00:21 aloha left #perl6
00:23 bacek left #perl6
00:23 echosystm i see
00:23 florz chromatic: s/\$class/\$obj/ for the latter occurence, I suppose ;-)
00:24 florz or rather the one in the middle ;-)
00:25 florz echosystm: essentially, you cann find out the package from ref($self), then construct the qualified variable name from that as a string, and use it as a symbolic reference
00:25 echosystm is this how MooseX::ClassAttribute and ClassMethod work?
00:25 * diakopter gets curious as to which is faster, the symbolic reference construction or the closure access
00:26 * diakopter has no freaking clue
00:26 diakopter echosystm: I dunno, but now you've got me curious about that too...
00:32 chromatic The closure should be a lot faster.
00:32 chromatic It has the disadvantage that you have to repeat it in every subclass.
00:35 diakopter not necessarily, but I see your point; you'd have to repeat it in every subclass if you wanted to make the var "class private" or whatever.
00:36 skangas joined #perl6
00:36 chromatic If you want one table per class, you need to make it per-class.
00:36 chromatic It's the same as the singleton problem.
00:36 diakopter otherwise it's "class protected", to use C# parlance
00:37 chromatic That's the worst part of class data: the lack of encapsulation means you're finalizing part of your hierarchy.
00:37 skangas left #perl6
00:38 diakopter yeah; to echosystm's application.   these are good points ... is it too late to add discussions of these things to that ch07?
00:38 diakopter (if it's not already there; I haven't read the whole ch)
00:39 chromatic There's still time, but it's a balance between "Here's how modern Perl OO works" and "Here's how to design programs well.:
00:40 alksentrs joined #perl6
00:41 lichtkind where can i look for learning writing binary binding for parrot?
00:42 plobsing lichtkind: that question is probably better asked on #parrot
00:44 lichtkind plobsing: yes
00:44 whiteknight joined #perl6
00:47 gfx joined #perl6
00:54 Psyche^ joined #perl6
00:58 Patterner left #perl6
00:58 Psyche^ is now known as Patterner
01:06 diakopter mruhaha; /me figured out tortoisegit
01:07 diakopter http://github.com/perl6/std/commit/754f724a1f75f219aeb344bbfabc1db72231a769
01:07 diakopter moritz_: yeah someone should add these repos to dalek :)
01:07 diakopter for teh karma
01:11 kst left #perl6
01:12 sjohnson left #perl6
01:12 justatheory left #perl6
01:12 sjohnson joined #perl6
01:14 diakopter sjohnson: IE9 now enumerates any property on a DOM object that has its “enumerable” property descriptor value set to ‘true’. (In other words, enumeration can be programmatically altered.)
01:18 kst joined #perl6
01:20 jhuni left #perl6
01:21 alksentrs left #perl6
01:22 tylercurtis joined #perl6
01:25 whiteknight left #perl6
01:25 sahadev joined #perl6
01:29 f00li5h left #perl6
01:29 sahadev left #perl6
01:29 f00li5h joined #perl6
01:36 dalek niecza: 5ceab02 | sorear++ | / (2 files):
01:36 dalek niecza: [nrx] Reimplement grammars
01:36 dalek niecza: review: http://github.com/sorear/niecza/commit/5ceab0224c8cd5a42a3b8b63a0622a42823a26f2
01:36 dalek niecza: b199a36 | sorear++ | / (6 files):
01:36 dalek niecza: [nrx] Reimplement simple cuts
01:36 dalek niecza: review: http://github.com/sorear/niecza/commit/b199a36bd84b32b017ffbb3f9f4c3d56f3325b0b
01:41 meppl left #perl6
01:45 f00li5h left #perl6
01:45 f00li5h joined #perl6
01:49 Buttom_Left joined #perl6
01:50 Buttom_Left hello
01:50 mfollett joined #perl6
01:51 sorear Hellow
01:52 Buttom_Left perl a good manual in Spanish that I can recommend, that alone with basic manual, but that I have it clear.
01:52 sorear seen araujo
01:53 sorear Is that a question?
01:54 redicaps joined #perl6
01:54 Buttom_Left one is for those who can respond
01:56 hercynium joined #perl6
02:05 rare left #perl6
02:16 colomon [Coke]: ping?
02:18 Buttom_Left left #perl6
02:22 lichtkind good night
02:22 lichtkind left #perl6
02:29 drbean left #perl6
02:30 DiegoGrez joined #perl6
02:31 DiegoGrez left #perl6
02:35 DiegoGrez joined #perl6
02:35 pythonian4000 joined #perl6
02:37 agentzh joined #perl6
02:37 pythonian4000 Can anyone here help me troubleshoot ilbot2?
02:37 sorear moritz_ could
02:39 jferrero left #perl6
02:40 * DiegoGrez was looking for the same thing for Wikinews
02:40 sorear perl 6? wikinews? is something important going on?
02:41 sftp left #perl6
02:41 * sorear is out of the loop...
02:41 DiegoGrez ilbot :)
02:45 sorear rakudo: "abc" ~~ / $<bob> = [ (.) (.) (.) ] /; say $/.perl
02:45 p6eval rakudo 77a72a: OUTPUT«Match.new(␤ from => 0,␤ orig => "abc",␤ to   => 3,␤ positional => [␤   Match.new(␤    from => 0,␤    orig => "abc",␤    to   => 1,␤   ),␤   Match.new(␤    from => 1,␤    orig => "abc",␤    to   => 2,␤   ),␤   Match.new(␤    from => 2,␤    orig => "abc",␤    to   => 3,␤   ),␤
02:45 p6eval ..],␤ n…
02:46 sorear rakudo: "abc" ~~ / $<bob> = [ (.) (.) (.) ] /; say $<bob>.perl
02:46 p6eval rakudo 77a72a: OUTPUT«Match.new(␤ from => 0,␤ orig => "abc",␤ to   => 3,␤)␤»
02:51 pythonian4000 I have solved most of the issues with missing Perl modules, but the one missing file left is IrcLog.pm. I thought it might be part of Parse::IRCLog, but seems not.
02:52 pythonian4000 (Well, it's the only one that Perl cant find at the moment.)
02:54 drbean joined #perl6
02:56 justatheory joined #perl6
03:06 masak joined #perl6
03:06 masak oh hai, #perl6!
03:06 masak wow, there's something almost magical about the pre-dawn hours.
03:07 pythonian4000 moritz_: I am trying to get an instance of ilbot set up.  I have solved most of the issues with missing Perl modules, but the next file that Perl can't find is IrcLog.pm. I thought it might be part of Parse::IRCLog, but seems not.
03:09 redicaps left #perl6
03:10 sorear Hello Masak!
03:11 masak pythonian4000: you may of may not be aware that moritz_ is not woken up yet. also, the topic you're addressing prolly belongs in /msg rather in #perl6.
03:11 masak s/of/or/
03:12 pythonian4000 Ah, sorry. Different timezone. Thanks.
03:19 justatheory left #perl6
03:20 Italian_Plumber left #perl6
03:22 au|irc joined #perl6
03:37 Axius joined #perl6
03:41 masak my @directions = (1, -1 X 2, -2), (2, -2 X 1, -1); # that's very cute. from http://github.com/perl6/perl6-examples/blob/master/99-problems/P91-edpratomo.pl
03:45 mfollett left #perl6
03:45 sorear o/ au|irc
03:46 masak o/ au|irc
03:47 masak I don't know why, but I'm still not really sure I like 'next' inside 'map' blocks binding to the map block. in my view, 'map' isn't a control structure like 'for' is.
03:47 lue ohai o/
03:47 masak and should be treated according to different rules.
03:47 masak hi, lue.
03:47 pmichaud masak: I've heard "for is isomorphic with map" so many times I've stopped arguing against it :)
03:48 masak I've heard it numerous times as well.
03:48 sorear I don't buy it.
03:48 masak I just question the wisdom of it in cases like 'next'.
03:48 masak it doesn't least-surprise for me.
03:48 masak I'd expect 'next' to bind up to the innermost loop, not the map.
03:49 sorear masak: 'next' is specced to search the dynamic call stack if there is no innermost lexical loop
03:49 masak and I don't see that as having very much to do with the isomorphism, actually. it's more a question of 'map' not having the execption handlers 'for' has, since only the latter is a control structure.
03:50 sorear so if there's a loop in &map, next will be able to bind to it
03:50 sorear (Rakudo doesn't implement the lexical search and always goes directly to the innermost dynamic loop ATM)
03:50 masak sorear: 'is there is no innermost lexical loop'. but as soon as there is...?
03:50 sorear masak: if there is an innermost lexical loop, next will not bind to for.
03:50 masak I think that behaviour sounds flaky to the point of being dangerous.
03:51 masak imagine the bugs we'll be able to produce! :(
03:51 masak "hm, I move this 'map' out of the loop, and now my program does Very Strange Things..."
03:51 sorear S04:71
03:51 masak I know what it says.
03:51 masak I'm just ranting about it.
03:51 dalek left #perl6
03:51 sorear ok
03:51 dalek joined #perl6
03:53 diakopter well, I tried to add all those repos to dalek
03:53 diakopter we'll see if they took
03:53 masak some big blogger once ranted about exceptions being Evil because they are essentially Action-at-a-Distance. I thought it was a bit extreme. but in this case, I'm prepared to agree. I'm willing to be convinced otherwise by being shown a use case where "lexical lookup, then dynamic lookup" is a sane idea.
03:53 masak diakopter++
03:54 masak also, "hm, I put a loop around this map statement, and now 'next' doesn't work anymore".
03:54 masak clearly no-one has actually tried to use this "feature".
03:54 masak hugme: hug masak
03:54 * hugme hugs masak
03:56 pmichaud "...it's more a question of 'map' not having the exception handlers 'for' has..."
03:56 pmichaud I'm not sure I understand.
03:57 masak pmichaud: from Perl 5, I'm conditionad when I look at code to associate 'next'/'last'/'redo' with the surrounding loop.
03:57 Axius_ joined #perl6
03:57 masak pmichaud: lexically or dynamically surrounding.
03:57 masak to me, &map and &grep aren't such loops.
03:57 masak they're functions.
03:58 Axius_ left #perl6
03:58 pmichaud ah
03:58 masak and as a programmer, I don't care how they're implemented inside.
03:58 masak neither should I need to.
03:58 pmichaud because right now, &map has those exception handlers
03:58 masak right.
03:58 masak as a first approximation, I think control exceptions are the domain of control structures.
03:59 pmichaud and you're correct, I haven't quite figured out how to make FIRST, NEXT, LAST, etc. work within map.
03:59 dalek left #perl6
04:00 BillN1VUX left #perl6
04:00 Axius left #perl6
04:00 pmichaud (I'm sure it can be done; just haven't figured out how to do it in our current framework)
04:00 dalek joined #perl6
04:00 * sorear hasn't figured out how to make FIRST, LAST, NEXT work within -p/-n
04:01 diakopter sigh (at dalek)
04:03 dalek left #perl6
04:03 pmichaud masak: anyway, I'll support the notion that for and map are different.  I've argued it before w/little success, though.
04:03 dalek joined #perl6
04:04 diakopter ugh. now none of them works
04:04 masak I think the war cry of this political program should be "isomorphism, sure -- but 'map' ain't a control structure, dammit!"
04:04 diakopter even with the new one I added, commented out in botnix.conf
04:05 diakopter how 'bout a specially named map, like mape
04:05 diakopter for the one that handles control exceptions
04:05 masak also, when is Perl 6 gonna be released, dammit
04:05 masak :)
04:06 masak diakopter: sounds like an interesting thing for a dedicated module to do.
04:07 diakopter ouch.
04:07 masak no offense intended.
04:07 masak I just don't think most people want 'mape'.
04:07 diakopter of course.  but if only I could count the number of times I've been told that.
04:08 masak it's a useful reminder that not everything needs to be core.
04:08 TimToady map is a control structure
04:09 TimToady and "for" is just a funny looking function
04:09 hercynium left #perl6
04:09 masak :(
04:10 masak TimToady: 'map' is mentioned *once* in S04! and clearly not as a control structure.
04:11 TimToady I'm not interested in building in magical special cases like Perl 5 was full of.  I would like users to be able to write their own control structures by dealing with closures as arguments
04:11 BillN1VUX joined #perl6
04:11 TimToady this is about extensibility and the future, not about what you're used to
04:12 TimToady in this case, I think orthogonality should win
04:12 BillN1VUX TimToady:  aha thank you. even better on primality.
04:13 TimToady wish we could make the series behave a bit better and read my mind...
04:13 TimToady probably need to factor that into the refactor of ...
04:15 TimToady for instance, the fact that
04:15 TimToady rakudo: say 2,3,4 ... sqrt(2)
04:15 p6eval rakudo 77a72a: OUTPUT«␤»
04:15 TimToady does the right thing, but
04:15 TimToady rakudo: say 2,3,*+1...sqrt(2)
04:16 TimToady doesn't
04:16 p6eval rakudo 77a72a:
04:16 p6eval ..OUTPUT«(timeout)011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301…
04:16 BillN1VUX indeed.
04:16 TimToady the primes example really wants the first behavior
04:16 BillN1VUX yes
04:16 TimToady hmm
04:17 pmichaud TimToady: (map/for) -- okay, I get it now.  And I agree.
04:17 TimToady rakudo: say 2,3,5,7 ... sqrt(2)
04:17 p6eval rakudo 77a72a: OUTPUT«␤»
04:17 TimToady maybe that's the right way
04:17 TimToady say 2 %% none 2,3,5,7 ... sqrt(2)
04:17 TimToady or not
04:18 TimToady rakudo: say 2 %% none 2,3,5,7 ... sqrt(2)
04:18 p6eval rakudo 77a72a: OUTPUT«none()␤»
04:18 TimToady rakudo: say so 2 %% none 2,3,5,7 ... sqrt(2)
04:18 p6eval rakudo 77a72a: OUTPUT«1␤»
04:18 BillN1VUX although as an old APL hack I await ability to iterate into shaped arrays so I can recreate the classic APL parallel computation by column reduction
04:19 BillN1VUX nice
04:19 TimToady you mean treat the array as flat?
04:20 sorear TimToady: in while ... map ( { ... next ... } ), can I do something to make next target the map instead of the while?
04:20 BillN1VUX i mean I want  1..$n X%%  1..$n in a shape:($n;$n)  square matrix
04:21 pmichaud sorear: ...use a label?
04:21 TimToady sure, if we had loop lablels
04:21 sorear pmichaud: How can I label a map call?
04:22 TimToady s/lel/el/
04:22 tylercurtis Whether or not map should handle next is a different issue from whether functions in general can handle control exceptions, isn't it?
04:22 diakopter sorear: I agree that question gets at the matter better
04:22 pmichaud sorear: I suspect the same way we end up labeling a for call.
04:22 Guest62968 left #perl6
04:22 masak tylercurtis: that's a good point.
04:22 masak tylercurtis: but for and map are isomorphic.
04:22 pmichaud (no, I don't know what that is yet.... and thus Rakudo doesn't have labels :0)
04:22 TimToady next can be a method on any dynamically locatable loop
04:22 pmichaud correct.
04:23 BillN1VUX looks like when all of S09 is in, APL rho operator will be creatable, and I can recreate that sieve
04:23 TimToady we usually call that reshaping
04:23 BillN1VUX that's what APL called it too
04:23 TimToady maybe we should call it rhoshaping :)
04:23 BillN1VUX rho was mnemonic for reshaping iirc
04:23 TimToady I think something like that is better spelled out with a word, huffmanly speaking
04:24 BillN1VUX not gonna argue
04:24 TimToady that's the problem with APL, everything is huffmanized to one char (to the first approximation)
04:24 BillN1VUX the curse and the joy both
04:24 TimToady for some pretty fancy definition of "char"
04:24 BillN1VUX heh
04:25 BillN1VUX golf is easy when every
04:25 TimToady the none 2,3,5,7 ... sqrt $n still bogs down somewhere in test, dunno why
04:25 BillN1VUX thing is on UNICODE point
04:26 TimToady and if we all want to get the most out of 140-char tweets, we'd all better learn Chinese or some such
04:26 masak TimToady: and combine graphemes.
04:27 TimToady maybe we can teach phones about NFG :)
04:27 sorear lz77 >> chinese
04:27 TimToady tempting
04:27 pmichaud TimToady: I'm not following the none 2,3,5,7 ... sqrt $n  fully -- what are you trying to do?
04:28 pmichaud (I'm a little distracted atm, I admint)
04:28 pmichaud *admit
04:28 TimToady 2,3,5,7 ... is supposed to only pay attention to the 3,5,7, and intuit the *+2.
04:28 sorear TimToady: I can't seem to find the part of S04 dealing with bare "next;".  Does it go for the innermost lexical loop, as I first thought, or is it automatically dynamic?
04:28 BillN1VUX It's at ? so 5 %% none 2,3,5,7 ... sqrt(5)  that it hangs
04:29 TimToady floor helps there but then it hangs after 15 for some reason
04:30 pmichaud rakudo:  say ~(2,3,5,7 ... 14)  # checking
04:30 p6eval rakudo 77a72a: OUTPUT«2 3 5 7 9 11 13␤»
04:30 TimToady rakudo:  say ~(2,3,5,7 ... 16)
04:30 p6eval rakudo 77a72a: OUTPUT«2 3 5 7 9 11 13 15␤»
04:30 pmichaud I'm wondering if none needs parens
04:30 TimToady shouldn't
04:30 TimToady it's a listop
04:31 pmichaud so is ..., iirc
04:31 TimToady should be looser than ...
04:31 pmichaud okay
04:31 pmichaud I'm not sure we have that in rakudo atm
04:31 pmichaud looking
04:32 BillN1VUX It's not none's fault.  say $_ for 2,3,5,7 ... sqrt(7) # infinite series
04:32 TimToady parens don't help
04:32 pmichaud oh, the series never crosses the endpoint
04:33 pmichaud rakudo:  say $_ for 2,3,5,7 ... sqrt(100);
04:33 p6eval rakudo 77a72a: OUTPUT«2␤3␤5␤7␤9␤»
04:33 pmichaud rakudo:  say $_ for 2,3,5,7 ... sqrt(50);
04:33 p6eval rakudo 77a72a: OUTPUT«2␤3␤5␤7␤»
04:33 pmichaud rakudo:  say $_ for 2,3,5,7 ... sqrt(10);
04:33 p6eval rakudo 77a72a:
04:33 p6eval ..OUTPUT«(timeout)␤11␤13␤15␤17␤19␤21␤23␤25␤27␤29␤31␤33␤35␤37␤39␤41␤43␤45␤47␤49␤51␤53␤55␤57␤59␤61␤63␤65␤67␤69␤71␤73␤75␤77␤79␤81␤83␤85␤87␤89␤91␤93␤95␤97␤99␤101␤103␤105␤107␤109␤111␤113␤115␤117␤119␤121␤123␤125␤127␤129␤131␤133␤135␤137␤139␤141␤143␤145␤147␤149␤151␤153␤155␤157␤159␤1
04:33 pmichaud rakudo:  say $_ for 2,3,5,7 ... sqrt(16);
04:33 TimToady O_o
04:33 p6eval rakudo 77a72a:
04:33 p6eval ..OUTPUT«(timeout)␤11␤13␤15␤17␤19␤21␤23␤25␤27␤29␤31␤33␤35␤37␤39␤41␤43␤45␤47␤49␤51␤53␤55␤57␤59␤61␤63␤65␤67␤69␤71␤73␤75␤77␤79␤81␤83␤85␤87␤89␤91␤93␤95␤97␤99␤101␤103␤105␤107␤109␤111␤113␤115␤117␤119␤121␤123␤125␤127␤129␤131␤133␤135␤137␤139␤141␤143␤145␤147␤149␤151␤153␤155␤157␤159␤1
04:34 TimToady sure looks like a bug to me
04:34 pmichaud what should happen there?
04:34 BillN1VUX that will suppress whole series, but won't emit one and stop.
04:34 TimToady rakudo: .say for 2,(3,5,7 ... sqrt 16)
04:34 pmichaud (I agree it's a bug.  I don't see what part of the spec applies.)
04:35 p6eval rakudo 77a72a:
04:35 p6eval ..OUTPUT«(timeout)␤11␤13␤15␤17␤19␤21␤23␤25␤27␤29␤31␤33␤35␤37␤39␤41␤43␤45␤47␤49␤51␤53␤55␤57␤59␤61␤63␤65␤67␤69␤71␤73␤75␤77␤79␤81␤83␤85␤87␤89␤91␤93␤95␤97␤99␤101␤103␤105␤107␤109␤111␤113␤115␤117␤119␤121␤123␤125␤127␤129␤131␤133␤135␤137␤139␤141␤143␤145␤147␤149␤151␤153␤155␤157␤159␤1
04:35 Axius joined #perl6
04:36 TimToady I need to stop putting off the rewrite of the ... spec, I guess
04:36 diakopter rakudo: .say for 2,3,(5,7,9 ... sqrt(10));
04:36 p6eval rakudo 77a72a: OUTPUT«2␤3␤»
04:37 BillN1VUX hard for a generator ... limit to inspect to the left of the  generator isn't it ?
04:37 BillN1VUX rakudo: .say for 2,3,(5,7,9 ... sqrt(2));
04:37 p6eval rakudo 77a72a: OUTPUT«2␤3␤»
04:37 pmichaud actually, the ... generator has access to the entire lhs (unless parenthesized)
04:37 BillN1VUX of course what we need is ()
04:38 TimToady yes, or 2 comes out not prime
04:38 BillN1VUX so it could, if the spec said to
04:38 BillN1VUX ?
04:38 diakopter :)
04:38 pythonian4000 is now known as pythonian4000afk
04:38 TimToady well, not if the 2,3 are outside the parens, of course
04:39 BillN1VUX 2 is the only even prime, hence it is the oddest prime.
04:39 TimToady and it comes before all the others, so it's not even that way either
04:40 diakopter it's even the oddest even
04:40 TimToady I am so tempted to just build in 2,3,5 ... *   :)
04:40 pmichaud I've thought about that also :-)
04:40 BillN1VUX build in prime sequence ?
04:40 pmichaud but if you're doing that, just call it @prime :-)
04:40 TimToady which doesnt absolve us of the other problem
04:41 TimToady but then we're forced to memoize it
04:41 TimToady unless we implement the de-memoization function on arrays that are known to be constants  :)
04:42 TimToady "now they've used this @primes 3 times, so maybe we better not throw it away this time..."
04:42 TimToady or just make constant arrays GCable if you're low on memory
04:43 diakopter heh. then they could be lazy and weak.
04:43 TimToady I am looking forward to: constant @series = series_generator()
04:44 pmichaud that's likely to show up sooner rather than later :)
04:44 TimToady so the compiler could actually look at the usage patterns and decide whether to memoize it
04:44 TimToady infinite constants, yum
04:45 TimToady probably need to sneak repeating fractions in there somewhere too :)
04:45 BillN1VUX 2,3,5 is not uniquely primes, could also be  Fib(n+2)  and likely others
04:45 TimToady constant pi = how_many_digits_do_you_want_today;
04:46 TimToady yes, but we don't recognized fib
04:46 BillN1VUX yes, all the good constants are real
04:46 TimToady so you imagine
04:47 BillN1VUX yes but would be bad to recognize Fib(n+2) as primes
04:47 BillN1VUX 34 is not prime ...
04:48 BillN1VUX 2 3 5 7 11 ... and 2 3 5 8 13 21 34 ... are distinctly different
04:48 TimToady we should reserve auto-dwim for series that are useful but difficult to write a function for
04:48 TimToady fib doesn't qualify
04:48 BillN1VUX ok
04:48 TimToady course, neither do evens/odds under that criterion :)
04:48 BillN1VUX just saying autowim needs to NOT catch on too early
04:49 TimToady we discussed various approaches, and decide minimal was best, since you could always name a function for the fancy stuff
04:50 TimToady such as functions from a catalog
04:50 BillN1VUX right
04:50 TimToady but I think 2,3,5 might just be one that everyone recognizes as primes
04:50 TimToady the real question is which serieses we're used to recognizing by exemplar rather than function
04:51 BillN1VUX just commenting on "I am so tempted to just build in 2,3,5 ... * " that maybe should be 2,3,5,7,11 ... * to be safe
04:51 TimToady 2,4,6 and 1,3,5 certainly qualify under that
04:51 TimToady and maybe 2,3,5
04:52 BillN1VUX 2,3,5 being a subsequence of TWO famous sequences is not Obvious
04:52 TimToady but not the start of two famous sequences, unless you start playing with your fib initial values
04:52 BillN1VUX 2,3,5,7 could be 2,(3,5,7 ... * )
04:53 BillN1VUX Mathematicians flub with Fib init values regularly
04:53 TimToady yes, they flub with lotsa things that mere mortals think are pretty nailed down
04:54 BillN1VUX and shifting a sequence forward n steps is also frequently done in applied math applications
04:54 Axius left #perl6
04:54 TimToady well, I suspect intuiting should be limited to the first three in any case, so it's really 2,3,5 or nothing
04:54 BillN1VUX nice thing about Fib is you can start in the middle
04:55 BillN1VUX then it's not safe
04:55 pmichaud I really like series, but there are times when I think we're a bit too high on the dwimminess part (more)
04:55 pmichaud if we need it, @primes is much more obvious than 2,3,5 ... *
04:56 pmichaud or even just  primes()  as a function
04:56 DiegoGrez left #perl6
04:56 BillN1VUX and @primes can be in Math::NumberTheory
04:57 BillN1VUX so those who don't need it don't have to lose a reserved word that they might use for whatever their prime datum is
04:57 TimToady doesn't really matter if it's in an outer lexical scope, they can always hide it
04:57 BillN1VUX building it in would kinda defeat the fun of golfing the rosetta anyway
04:58 TimToady point
04:58 pmichaud if it's useful enough to build into ..., it's useful enough to be @primes  :-)
04:59 BillN1VUX As I said, I really want to do it with >>%%<< not none(), although Larry'y readability comment is fabulous.
05:00 BillN1VUX that or a Scheme-ish cached stream iterator that uses all prior primes to compute the next
05:01 diakopter ooo
05:02 BillN1VUX I kind of dislike the none() leaking out of prime(). Is that allowed incase input was itself a superposition eg any ( $low .. $hi) ?
05:03 BillN1VUX otherwise I'd collapse the wave function with a ' return ? '
05:04 sorear TimToady: Exactly what values are legal to return from method foo() intended to be used as <.foo> ?
05:05 TimToady Cursors
05:05 BillN1VUX well so much for a quick email check and to bed. I knew getting into Rosetta Code would be a time sink ...
05:05 sorear TimToady: What about List with Cursors?  Array with Cursors?  Nil?  Parcel?
05:06 TimToady sure, list of cursors, which can be empty
05:06 TimToady kinda silly to put cursors into an array, generally
05:07 BillN1VUX ( fyi for those who missed it upthread, reason I'm suddenly interested in Primes is the Boston.pm Rakudo demo next week. Gotta grind my Perl6 is lovechild of APL and Prolog axe a little.  )
05:07 * sorear is trying to see just how generic the cursor-list-iterator-thing needs to be
05:08 kaare joined #perl6
05:08 Axius joined #perl6
05:08 kaare is now known as Guest51121
05:08 BillN1VUX generic enough so the rho operator on http://www.dlugosz.com/Perl6/web/APL.html will work
05:08 BillN1VUX ?
05:09 sorear BillN1VUX: I'm talking about the p6regex implementation
05:09 BillN1VUX ahh, regex not array.
05:10 BillN1VUX I saw work on S09 was spinning up and assumed those was iterators you meant. nevermind.
05:11 TimToady course we iterate lists and arrays similarly, but such cursors usually only return a single new cursor, unlike regex, that typically blow up
05:11 mberends left #perl6
05:11 masak where in the spec does it say "map is a control structure"? where in the spec does it say "for and map are isomorphic"?
05:11 masak S32/Containers paint 'map' as a very ordinary function.
05:11 masak s/paint/paints/
05:12 sorear S04 and S06 try to paint control structures as ordinary functions
05:13 sorear I still have no clue how slurpy blocks are supposed to be implemented, fwiw
05:15 Axius left #perl6
05:15 BillN1VUX it's all ordinary. when you explain all the DWIMery, it's not magic anymore. which is why children are not allowed on DisneyWorld backstage tours.
05:16 masak right. I just don't want bad magic to happen to innocent people.
05:16 BillN1VUX heh
05:17 BillN1VUX good night all.
05:18 BillN1VUX left #perl6
05:19 Axius joined #perl6
05:23 lue [stupid question time replay] It's not mentioned much in S26, but is the Pod6:: organization system absolutely necessary for an external program?
05:25 masak lue: is your question "if I implement Pod, do I have to use the class hierarchy?"
05:25 sorear lue: Your question doesn't make sense to me.
05:26 masak if it is, I'd say "no". you could implement Pod and not use any classes at all.
05:26 sorear Also, please don't write a standalone Pod6 implementation, we already have two very good ones
05:26 masak with that said, once you reach the point where you can do introspection, it'll be difficult to follow spec without something very much like those classes.
05:26 sorear one of them is used to generate the perl6 book pdf
05:27 masak sorear: that is news to me. I thought that was POD.
05:27 * masak does a double take at the book
05:28 sorear actually it's "PseudoPOD", a "dialect of POD for writing books", which bears a more than passing resemblance to Pod6
05:28 masak ok, fair enough.
05:28 masak I can see why you'd say that.
05:28 sorear they use different table markup, and only one of them has "=head0", but beyond that they appear to be the same
05:29 masak though '=end for' isn't valid Pod6.
05:29 masak and there doesn't seem to be an abbreviated block form.
05:31 lue I probably would end up doing some sort of hierarchy, I was just wondering if I had to use exactly what was described.
05:33 sorear lue: In practice what will probably happen is that you or me will implement *some* hierarchy, then masak++ will get a grant to rewrite S26 to reflect reality
05:33 masak lue: again, you'll find the answers to that in the areas of introspection.
05:33 masak S26 already (mostly) reflects the reality of TheDamian's CPAN module.
05:34 Axius left #perl6
05:34 masak also, I sincerely hope that as soon as I start my grant with the in-Rakudo Pod support, people like lue who want to write external tools, will join forces with me in some sense.
05:35 Guest51121 is now known as kaare_
05:37 dalek niecza: 705c3d8 | sorear++ | / (2 files):
05:37 dalek niecza: [nrx] Reimplement brackets
05:37 dalek niecza: review: http://github.com/sorear/niecza/commit/705c3d868e696b3dd78d4221149b34ee3be4c15e
05:37 dalek niecza: 6d0d084 | sorear++ | / (6 files):
05:37 dalek niecza: [nrx] Implement subrule calls
05:37 dalek niecza: review: http://github.com/sorear/niecza/commit/6d0d084b0e528f1836fee6c3f3b7083a07c4de75
05:37 dalek book: 2f813e9 | masak++ | src/classes-and-objects.pod:
05:37 dalek book: [classes-and-objects] de-workarounded fixed #69240
05:37 dalek book: review: http://github.com/perl6/book/commit/2f813e94e147774a65f9d0b0edd7e9f6e4f76f61
05:37 masak my first book commit in ages.
05:37 pythonian4000afk is now known as pythonian4000
05:37 masak I expect to do many more this week. starting with an enums chapter, finally.
05:38 sorear I like the way that most of my [nrx] commits are delete-biased
05:38 pythonian4000 left #perl6
05:39 lue masak: I'll probably end up joining forces with you, by accident if not on purpose :)
05:41 masak lue: :)
05:45 tylercurtis masak: what's this about enums?
05:46 masak tylercurtis: there was a long-standing memory-related bug that prevented a patch I had from being applicable without segfaulting Rakudo in some (common) cases.
05:46 masak tylercurtis: now it's fixed.
05:46 masak also, I have this poker-hand example using enums that I'd like to put in the book. but it needs the patch.
05:47 masak so my plan for this week is (1) re-review the patch, (2) apply it, (3) write the chapter.
05:47 masak the re-review is needed because pmichaud had some good comments on the original patch, which triggered some new ideas.
05:52 masak [backlog] interesting how the 'class-bound variables' discussion keeps resurfacing.
05:54 masak people want those variables to be inherited, and the current mechanisms don't provide that.
05:54 tylercurtis Also interesting how often the planned use-case turns out not to need class data, but just class methods.
05:54 masak maybe the advice should be to use methods for that.
05:54 sorear masak: but the current mechanisms *do* provide that
05:54 masak with something like the slogan "data doesn't do method dispatch" to go with it.
05:55 masak sorear: in what sense?
05:55 sorear our $.foo; defines an inheriting foo method backed by a class variable
05:55 masak indeed.
05:55 sorear our $.foo; in a subclass overrides it
05:55 masak aye.
05:55 sorear I even mentioned this earlier, but I was ignored
05:56 TiMBuS left #perl6
05:56 masak it should be enough, and perhaps should be underlined more.
05:56 tylercurtis sorear: I saw that. Thanks for pointing that out.
05:56 * tylercurtis didn't know about that.
05:56 masak maybe people stare themselves blind at the variable not inheriting.
05:56 masak the private attribute, that is.
05:58 sorear I don't really like $!foo, fwiw
05:58 sorear it feels like a big abstraction leak
05:58 sorear you should have to use the accessor, even in the defining class
05:59 masak what if the accessor is readonly?
05:59 TiMBuS joined #perl6
05:59 masak I think I agree that, in the general case, private access in public methods should be discouraged.
05:59 sorear masak: that's really the point
06:00 sorear if I define a readonly attribute, I want a readonly attribute
06:00 sorear not an attribute that I can accidentally set in some way
06:00 masak I disagree.
06:00 masak it makes a lot of sense to restrict attribute access to the class itself.
06:00 tylercurtis Sometimes, I want an attribute that's readonly internally as well as externally, but I also often don't.
06:01 sorear It makes sense to allow both ways
06:01 sorear I find that readonly-everywhere is how I normally want my attributes, and think it should be default ;)
06:01 masak :)
06:01 tylercurtis sorear: it's all that Haskell going to your brain. :)
06:02 masak sorear: you just have to train yourself to use the dot, always.
06:03 tylercurtis I would be in favor of a way to make an attribute internally even from within the class. I'm not sure I'm in favor of making that the default, though.
06:07 uniejo joined #perl6
06:14 lue The way I understand it [correct me when I'm wrong], when declared, $.a makes a public variable that can be accessed from beyond the class itself, and $!a makes a private variable that can't. When you use it, $.a goes through the variable's accessor, while $!a goes straight to the variable.
06:17 snearch joined #perl6
06:20 dju joined #perl6
06:20 dalek niecza: 773fb58 | sorear++ | / (2 files):
06:20 dalek niecza: [nrx] Reimplement :sigspace
06:20 dalek niecza: review: http://github.com/sorear/niecza/commit/773fb58ca505c7ec80ab5ce4a16ebb26810b4cbf
06:20 dalek niecza: 91d975d | sorear++ | / (4 files):
06:20 dalek niecza: [nrx] Reimplement / { } /
06:20 dalek niecza: review: http://github.com/sorear/niecza/commit/91d975db337a93ca69f15393b5bc6d40ab132055
06:20 dalek niecza: fe86829 | sorear++ | / (2 files):
06:20 dalek niecza: [nrx] Reimplement $/ and $¢
06:20 dalek niecza: review: http://github.com/sorear/niecza/commit/fe86829c8ebed687eead8f520955bdd025c417c2
06:20 dalek niecza: b2c626c | sorear++ | / (3 files):
06:20 dalek niecza: [nrx] Reimplement character classes
06:20 dalek niecza: review: http://github.com/sorear/niecza/commit/b2c626c72d41a1ecef76d556b14c14379c6edad0
06:20 stepnem left #perl6
06:24 stepnem joined #perl6
06:30 * masak blogged: http://use.perl.org/~masak/journal/40524
06:33 lue masak++ for a good post [ I do believe it's the shortest post I've ever seen you make :) ]
06:34 masak It was shorter in my mind. :)
06:38 lue I have to say it feels... strange now that the pugs repo is gone.
06:39 masak it'll take a while getting used to, I bet.
06:40 amkrankruleuen left #perl6
06:41 wtw joined #perl6
06:42 lue .oO(I bet it's a bit like how the Magratheans felt when they had to split Pangea for the better.)
06:43 pmichaud I'm having to update all of my browser shortcuts. :-)
06:44 pmichaud masak++  # a very appropriate.... epitaph
06:44 pmichaud the pugs repo definitely deserves recognition.
06:44 lue Has perlcabal.org/syn been updated ?
06:45 pmichaud lue: there are lots of things that need updating, alas.
06:46 lue was the exact time the repo taken down mentioned?
06:48 snearch left #perl6
06:51 lue The Pugs Repository (svn.pugscode.org), deceased (with honors), September 4th, 2010. May he rest peacefully in /dev/null .
06:52 azert0x joined #perl6
06:53 pmichaud lue: I think the time can be deduced from the #perl6 log.
06:57 lue yeah.  .oO(about 5% of me wants to put an EPITAPH file in Mu or somewhere else)
06:57 sorear but Mu isn't dead
06:57 fridim joined #perl6
06:58 jhuni joined #perl6
06:59 moritz_ good morning
06:59 pmichaud o/
07:01 moritz_ still awake?
07:02 lue Still, it feels too significant to say `it happened; let's move on' and move on.
07:03 pmichaud still awake, yes.
07:03 pmichaud ...but probably not for long.
07:05 amkrankruleuen joined #perl6
07:09 lue afk
07:10 tylercurtis It looks as though Rakudo spectest "definitely lost" approximately 132,738 bytes on average per test.
07:11 moritz_ tylercurtis: iirc rakudo skips global destruction, to avoid the inferior runloop problem on exit
07:11 pnu joined #perl6
07:12 chromatic It shouldn't, if it uses the ./perl6 binary.
07:12 * tylercurtis is finally getting around to trying to analyze the valgrind spectest results (using Perl 5 this time) after realizing that Rakudo just can't handle that much data as of yet.
07:13 moritz_ note the 'exit 0' in src/Perl6/Compiler.pir  line 230
07:13 moritz_ does parrot garbage-collect when the exit opcode is called?
07:16 amkrankruleuen left #perl6
07:16 amkrankruleuen joined #perl6
07:22 __sri left #perl6
07:22 Getty joined #perl6
07:22 broquaint joined #perl6
07:23 peters_mops joined #perl6
07:23 _sri joined #perl6
07:24 amkrankruleuen left #perl6
07:24 * tylercurtis runs a test to check whether Rakudo indeed circumvents global destruction.
07:25 moritz_ tylercurtis: you can also try to comment out that 'exit 0', and see if it make a difference
07:27 chromatic I'm pretty sure exit 0 has no bearing on global destruction.
07:27 moritz_ so parrot does a normal teardown when it sees an 'exit 0' ?
07:28 tylercurtis Parrot throws a CONTROL_EXIT exception when it sees an 'exit 0'.
07:28 Trashlord joined #perl6
07:29 * tylercurtis has no idea how that is handled, though.
07:29 chromatic Unless you crash or call POSIX _exit(), you'll hit Parrot_really_destroy().
07:30 amkrankruleuen joined #perl6
07:30 chromatic From there, global destruction occurs if you have a YES_PLEASE_REALLY_DESTROY flag set.  I forget the name, but pbc_to_exe enables it.
07:30 tylercurtis PARROT_DESTROY_FLAG perhaps?
07:31 echosystm left #perl6
07:34 chromatic That's right.
07:36 amkrankruleuen left #perl6
07:42 amkrankruleuen joined #perl6
07:44 foodoo joined #perl6
07:46 masak fellow gets two Perl 6 algorithms and one complaint into a tweet: http://twitter.com/philandstuff/status/23126569516
07:47 masak oh, and one piece of praise, too.
07:48 rhebus joined #perl6
07:48 rhebus morning
07:48 mathw that's not really a complaint as a little impatience
07:48 mathw we could call Rakudo 1.0 if we wanted
07:48 mathw but that wouldn't make it any faster or more complete
07:49 masak nod.
07:49 mathw Hi rhebus
07:49 rhebus I'm getting strange behaviour from gather/take. I imagine I just don't understand it. http://gist.github.com/566759 - three different take operands, three different results
07:49 rhebus take $k vs take +$k vs take 0+$k
07:49 masak of course it's the things "1.0" implies he really wants.
07:50 masak rhebus: you've discovered a known flaw of the current take.
07:50 masak it's supposed to be 'decontainerized' upon take, but currently isn't.
07:50 rhebus aha, so all three expressions should give the same result then?
07:51 rhebus (the correct result (3 3 5))?
07:53 rhebus what does "decontainerization" mean anyway?
07:53 pmichaud currently "take"  actually takes $k as a container
07:53 amkrankruleuen left #perl6
07:53 pmichaud so if something subsequently changes the value of $k, then it's value appears to have changed in whatever it took
07:54 rhebus so correct perl 6 behaviour is for take to take the value of $k is it?
07:54 pmichaud yes
07:54 rhebus ok
07:59 amkrankruleuen joined #perl6
07:59 tylercurtis http://nopaste.snit.ch/23241 # file-level numbers from the valgrind spectest backtraces.
07:59 tylercurtis Either tomorrow or Tuesday, I'll work on function- and line-level data.
08:00 tylercurtis And then look at which call graphs lost memory.
08:01 masak tylercurtis++
08:04 chromatic I'm sure it's the method cache.
08:04 chromatic Some packfile annotations.
08:06 tylercurtis For now, good night, #perl6.
08:12 masak 'night, tylercurtis. dream of memory-tight executions.
08:12 bacek joined #perl6
08:13 * masak likes both the alternatives at http://www.perlmonks.org/?node_id=160999 and the distribution of votes
08:13 amkrankruleuen left #perl6
08:14 masak though I note now that that poll is from 2002. a more innocent age. that explains the lack of vitriol in the comments.
08:14 moritz_ I guess you know http://www.perlmonks.org/?node_id=852336 ?
08:15 masak actually, I didn't. thanks.
08:16 masak oh wait, I've read it before. I recognize the comments. :)
08:17 chromatic left #perl6
08:19 snearch joined #perl6
08:19 amkrankruleuen joined #perl6
08:20 eternaleye joined #perl6
08:20 aloha joined #perl6
08:21 tylercurtis left #perl6
08:24 Trashlord left #perl6
08:26 dakkar joined #perl6
08:27 snearch left #perl6
08:28 Mowah joined #perl6
08:29 amkrankruleuen left #perl6
08:30 Trashlord joined #perl6
08:31 sorear \o/
08:31 sorear Result: PASS
08:31 moritz_ niecza passes the spectest suite? :-)
08:32 masak :)
08:32 sorear moritz_: nah, it's own tests
08:32 moritz_ still \o/ :-)
08:32 dalek niecza: 39a55eb | sorear++ | / (5 files):
08:32 dalek niecza: [nrx] Reinstate LTM
08:32 dalek niecza: review: http://github.com/sorear/niecza/commit/39a55eb48d851e0b93716a217d43c79eeeb2978d
08:32 dalek niecza: 2eff169 | sorear++ | / (6 files):
08:32 dalek niecza: [nrx] Reinstate protoregexes and <sym>
08:32 dalek niecza: review: http://github.com/sorear/niecza/commit/2eff169ba8e2c97c47e29516301656ee67873ae6
08:32 dalek niecza: cdc7790 | sorear++ | / (4 files):
08:32 dalek niecza: [nrx] Resore lookahead assertions
08:32 dalek niecza: review: http://github.com/sorear/niecza/commit/cdc77909d3961446f33d10fe1fa4d8afbedf85ad
08:32 sorear after ~completely rewriting the regex system
08:32 masak the trick is to have a small test suite :)
08:32 sorear 406 tests versus ~30,000
08:34 tadzik joined #perl6
08:35 tadzik good morning
08:35 masak o/
08:35 tadzik oh, masak!
08:36 tadzik masak: I passed my exam \o/
08:36 masak tadzik: \o/
08:36 sorear speaking of testsuites...
08:36 tadzik I can hack now :)
08:36 masak tadzik: I passed mine, too! \o/
08:36 thebird joined #perl6
08:36 tadzik yay \o/
08:36 masak \o/
08:36 tadzik now let's shamelessly play Druid :)
08:37 masak oh, you're planning to hack on Druid? I'm glad.
08:37 masak tadzik: want access to the commits I've made so far to make it run under the new master?
08:37 tadzik oh well
08:37 tadzik masak: I'll fork it and try
08:38 masak tadzik: here they are, for what it's worth: http://github.com/masak/druid/commits/ng-compat
08:38 masak I remember getting as far as getting the tests running and failing.
08:42 M_o_C joined #perl6
08:45 moritz_ rakudo: #=
08:45 p6eval rakudo 77a72a:  ( no output )
08:46 moritz_ rakudo: 1; #=
08:47 p6eval rakudo 77a72a:  ( no output )
08:47 M_o_C left #perl6
08:47 moritz_ rakudo: 1; #= foo bar
08:47 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Whitespace character is not allowed as a delimiter at line 22, near " foo bar"␤»
08:47 moritz_ std: 1; #= foo bar
08:47 tadzik masak: why the empty deps.proto file?
08:47 p6eval std 32123: OUTPUT«ok 00:01 114m␤»
08:47 masak tadzik: it used to be non-empty.
08:48 moritz_ looks like a rakudobug to me
08:48 masak moritz_: it is.
08:48 masak I *think* it's in RT somewhere.
08:49 masak tadzik: Druid used to depend on Web.pm
08:49 tadzik my Rakudo seems to dislike #=
08:49 moritz_ tadzik: see above :-)
08:49 tadzik Druid compiles only without =
08:49 tadzik a'right
08:50 amkrankruleuen joined #perl6
08:50 masak tadzik: are you compiling off the ng-compat branch?
08:51 tadzik oh-ho, ufo bug?
08:51 tadzik masak: yes
08:51 tadzik make: *** No rule to make target `blib/lib/Druid/Webapp.pir', needed by `build'. Stop.
08:51 masak tadzik: re-run ufo.
08:51 moritz_ I had a fresh ufo run in the ng-compat branch, and it compiled fine after I removed those #=
08:52 sjn hey guys
08:52 tadzik running tests. masak: are you commiting this fixed #=?
08:52 tadzik hej sjn
08:52 cjk101010 joined #perl6
08:53 sjn are there any good "Perl 6 demo" pages out there?
08:53 masak tadzik: I'll investigate, yes.
08:53 masak someone is welcome to fix Rakudo, too :)
08:53 tadzik :)
08:53 tadzik sjn: try.rakudo.org maybe?
08:54 sjn demo pages, as in "places where perl 6 newbies can get a quick overview w/examples on what it's all about"
08:54 tadzik it's not complete, but you can give it a try
08:54 tadzik oh
08:54 tadzik then yes, there are many :) Are you a Perl 5 programmer?
08:55 * sjn I am, but this isn't for me :)
08:55 tadzik http://szabgab.com/perl6.html#screencast -- if you lke screencasts
08:55 * sjn is preparing a stand/booth at JavaZone, to create some Perl visibility in the Java crowd
08:56 tadzik I find moritz_++ Perl 5 to 6 articles excellent. If you have some time on your hands, a Perl 6 book is nice too
08:56 * tadzik thinks about extending http://perl6.org/documentation/ a bit
08:57 masak sjn: you should definitely chack out the book and the Perl 6 advent calendar.
08:58 sjn masak: I'm actually looking for more of a "they, I didn't know Perl6 could do that" page
08:58 sjn very short, attention grabbing, overview
08:58 masak I wrote a blog post with such examples a while back.
08:58 masak hold on.
08:58 sjn ...to give all those Java n00bs motvation to dig a little further :)
08:58 sorear niecza has :: now
08:58 masak http://use.perl.org/~masak/journal/40459
08:59 sorear this would have been unthinkable before last week's regex overhaul
08:59 tadzik how does one use named regexes in current Rakudo? I always forgot
08:59 sjn masak: that's cool
09:00 moritz_ my regex foo { }; /<&foo>/
09:00 sjn masak: would you mind updating that one and putting it somewhere with a nice url? :)
09:00 tadzik oh, easy. Thanks moritz_
09:00 masak sjn: updating? in what way?
09:00 sjn (actually, having a text like that at try.rakudo.org would be really cool)
09:00 masak sjn: I could put it on masak.org if that helps you.
09:01 masak not sure what you count as a 'nice url'.
09:02 sjn masak: updating = check if it's all still good, add some of the more recent examples, and perhaps some of the really cool ones (where you can see how succinnct petl 6 can be)
09:02 sjn nice url = short, rememberable url suited for putting on a poster/wall/other very visible place
09:02 masak it's quite recent. I'm fairly sure all code in there still works.
09:03 masak would a tinyurl be enough :) they're customizable.
09:03 moritz_ perl6.org/showoff
09:03 sjn heheh
09:03 sjn perl6.org/cool
09:03 masak moritz_: 'showoff' as a noun has some, um, negative connotations :)
09:03 dalek niecza: 83c3bc3 | sorear++ | / (4 files):
09:03 dalek niecza: Implement :: and :::
09:03 dalek niecza: review: http://github.com/sorear/niecza/commit/83c3bc338121fcfecf1c411e3d271ef2dc66642c
09:03 baest or perl6.org/OMGhowcool
09:03 sjn try.rakudo.org is nice though
09:03 masak or just 'omg' :)
09:03 sjn hehehehh
09:04 masak aye. ash++
09:04 sjn omg.perl6.org
09:04 masak :D
09:04 masak +1
09:04 tadzik heh, that's actually nice
09:04 sjn (paired with wtf.perl.org? :)
09:04 tadzik that'd be golf
09:04 masak maybe with 'omfsm.perl6.org' for the pastafarians out there.
09:05 sjn hehe
09:05 tadzik . o O ( I have to alias maek to make in my shell )
09:05 moritz_ it all depends... if you want a single page in perl6.org layout, perl6.org/omg is good
09:05 sorear the generated regex code for the JSON::Tiny grammar is 10-20x smaller (!)
09:05 sjn who does one prod in order to get that up and running before wednesday?
09:05 moritz_ if you want many pages with your own layout, a subdomain is much better
09:06 moritz_ in either case, I might be able to assist
09:06 tadzik Nominal type check failed for parameter '$m'; expected Match but got Proxy instead
09:06 tadzik ↑ I need a grammar wizard
09:06 sjn moritz_: that would be awesome
09:06 tadzik or a regex wizard in this case
09:06 * sjn is really swamped in organizing the other details of the stand
09:06 masak I'd like this format for an omg.perl6.org page: http://www.runciter.net/potion/
09:06 tadzik sorear: niecza can compile and run JSON::Tiny?
09:06 moritz_ tadzik: means that you've accessed a non-existing part of an array or hash
09:07 moritz_ and try to pass it to something that expects a Match
09:07 tadzik hmm
09:07 sorear tadzik: a slightly mutilated version of it
09:07 tadzik that's ($m<&col_letter>)
09:07 tadzik sorear: sounds great
09:08 tadzik oh wait, that's something else
09:08 moritz_ tadzik: if you want it to capture, you need <col_letter=&col_letter>
09:08 moritz_ yes, that's fugly
09:08 tadzik yeah, that was this thing I keep forgettnig
09:08 sjn moritz_: shall we aim for omg.perl6.org?
09:08 tadzik but I think it's about (Match $m) in the signature actually
09:08 moritz_ and then accessing $m<col_lettere>
09:09 moritz_ sjn: I would have suggested to start with a single page, and only if it becomes too big we move it to a subdomain
09:09 moritz_ less work to get started
09:10 sjn moritz_: I was more thinking about establishing a url that's permanent enough to put on print
09:10 tadzik moritz_: is it supposed to be fixed sooner than later?
09:10 sjn (we're printing wall sections tomorrow, and a short-and-sweet url would be nice, especially if we can use it for other purposes, and next year :)
09:12 amkrankruleuen left #perl6
09:14 sjn moritz_: if you're up for it, we need to decide on the URL (and stick with that one), and get a basic text up on that URL (based on your blog post) before wed 08-sep-2010, at 06:00 UTC
09:15 sjn moritz_: give me a go and an URL if you're up for it :)
09:15 sjn a* URL
09:19 masak tadzik: pushed comments fix to the ng-compat branch.
09:20 tadzik okay
09:23 tadzik fixing regexes-methods is a bit over my head I'm afraid
09:23 sorear niecza is now ~6 times slower than viv
09:24 sorear need to, uh, optimize it now
09:24 sorear tomorrow
09:24 * sorear out
09:27 masak tadzik: that's where I got stuck as well. I suspect taking a step back and remembering the actual purpose will be required. :/
09:32 amkrankruleuen joined #perl6
09:36 sjn moritz_: ping?
09:39 amkrankruleuen left #perl6
09:39 amkrankruleuen joined #perl6
09:41 M_o_C joined #perl6
09:54 moritz_ sorry, had to run
09:54 * moritz_ backlogs
09:55 moritz_ sjn: ok, let's say omg.perl6.org. I'll set up the virtual host later today
09:55 sjn moritz_: excellent
09:56 * sjn sends a mail to the designer. :)
09:59 tadzik what would you say about making some mess on http://perl6.org/documentation/? I'm thinking about diving the links to 2 or 3 sections -- one for absolute newcomers, maybe one for Perl 5 programmers, and one with tips and tricks for people knowing their way around. So one, like sjn, will just open the page and immediately see what he's looking for, without wondering what is what
10:00 moritz_ tadzik: +1
10:00 tadzik masak: by the way, the methods in Druid::Base need to be has, not our
10:00 tadzik moritz_: I'll need some html wizard assistance, but I can write the content meh-self
10:01 tadzik s/write/organize/
10:01 masak tadzik: yes. but that's not the only change required.
10:01 tadzik masak: yeah but that's a start :)
10:01 moritz_ tadzik: just group it as you want. There are two columns available, so two of the three sections will need to share a column
10:02 tadzik moritz_: where is it in the pugs^Wgithub repo?
10:02 moritz_ tadzik: perl6/perl6.org path source/documentation/index.html
10:03 tadzik yeah, got it
10:06 proller left #perl6
10:07 proller joined #perl6
10:11 tadzik what is Onyx Neon Press book?
10:11 moritz_ Using Perl 6
10:12 tadzik leave just this?
10:12 moritz_ renaming it would be better
10:12 tadzik I didn't know what the suffix is about
10:12 moritz_ Onyx Neon Press is our publisher
10:12 moritz_ and that was probably written before we had a title
10:12 * araujo getting back to his home within 2 days!
10:13 araujo sorear, you were pinging me earlier? :P
10:24 tadzik is u4x dead or just moved?
10:25 moritz_ both :-)
10:25 moritz_ it's in the mu repo for now
10:25 tadzik :)
10:25 jnthn Good afternoon #perl6
10:25 tadzik to remove it for a while, comment out?
10:25 * jnthn is back from vacation :-)
10:25 tadzik yayitsjnthn!
10:25 moritz_ should eventually become its own repo
10:25 moritz_ lol it's jnthn
10:25 tadzik moritz_: so remove the link now?
10:26 moritz_ tadzik: works for me
10:27 tadzik how about perl6-examples? They don't really work on recent Rakudo, do they?
10:28 fridim left #perl6
10:29 moritz_ some do, some don't
10:30 timbunce joined #perl6
10:31 fridim joined #perl6
10:31 tadzik how do I "compile" the page? I have to have mowyw installed somewhere, right?
10:34 daxim joined #perl6
10:36 ruoso left #perl6
10:39 Italian_Plumber joined #perl6
10:40 gfx left #perl6
10:42 bluescreen joined #perl6
10:43 bluescreen is now known as Guest89655
10:44 tadzik alright: http://tjs.azalayah.net/online/index.html -- suggestions?
10:46 tadzik There's only one thing for Perl 5 comers, so I decided not to make it a separate section
10:50 agentzh left #perl6
11:01 tadzik http://tjs.azalayah.net/docs.html -- a bit reorganized stuff. Come on guys, where is the criticism? :)
11:03 bbkr Where can I find spectests now? They were removed from Mu git repo
11:03 smash joined #perl6
11:04 smash hello everyone
11:04 masak jnthn! \o/
11:04 masak jnthn: how was vacation?
11:04 tadzik bbkr: github.com/perl6/roast I think
11:05 bbkr tadzik: thanks
11:05 tadzik bbkr: now what do you think about github.com/perl6/roast ? :)
11:05 tadzik oops
11:05 tadzik I meant http://tjs.azalayah.net/docs.html
11:06 jnthn masak! \o/
11:06 jnthn masak: vacation was very nice, thanks.
11:06 jnthn masak: Lots of great nom.
11:06 jnthn A little wet now and then.
11:06 jnthn :-)
11:06 masak wet nom?
11:06 jnthn No, wet weather. :P
11:06 masak ah :)
11:07 * jnthn tries to catch up with some of what's happened while he's been away
11:08 envi^home joined #perl6
11:09 bbkr tadzik: very nice, bookmarked :)
11:09 constant left #perl6
11:12 ruiwk joined #perl6
11:13 ruiwk sorry...anyone develope iphone apps b4 ?
11:13 masak jnthn: TimToady briefly considered adding for loops in signatures. :)
11:14 frettled tadzik: there seems to be a problem with line spacing and the dots under links; the dots touch the top of the text on the following line.
11:14 frettled tadzik: tested with Safari and Firefox under MacOS
11:16 smash any nice way to write something like: multi f(@list where {+@list == 0}) { () } ?
11:16 smash *nicer
11:17 frettled tadzik: apart from those nitpicks, good work!
11:19 masak smash: multi f([]) { () }
11:20 tadzik frettled: I wasn't touching the html/css stuff, I was just reorganizing the content
11:20 smash masak: will that one also be called for: my @a = (); ?
11:20 tadzik perl6.org/documentation/ isn't very straightforward to a newcomer imho
11:21 masak smash: provided I understand your question: yes, it will.
11:21 ruiwk left #perl6
11:21 smash masak: hmm, let me test and example
11:21 smash *an example
11:21 frettled tadzik: it definitively isn't
11:21 masak smash: 'my @a;' and 'my @a = ();' mean the same thing, unless you already have an initialized @a in that scope.
11:21 tadzik frettled: hence my reorganizations
11:22 frettled tadzik: perhaps it could improve even more by splitting the headers into separate boxes?
11:22 tadzik masak, jnthn, moritz_, what do you think? To commit, or not to commit?
11:22 smash masak: it seems to work nicely, thank you
11:22 tadzik frettled: that's a work for a html wizard :)
11:22 tadzik frettled: but that sounds more than good
11:22 frettled :)
11:23 stepnem left #perl6
11:23 masak tadzik: you have my heartfelt approval.
11:23 frettled Maybe I should take a look at that, I'm ill and home from work, so why not … :)
11:23 moritz_ tadzik: commit
11:23 masak frettled: aww. krya på dig.
11:24 tadzik lolpushed
11:24 * masak .oO( both lolpush and lolpop are O(n)... )
11:24 frettled masak: tack!
11:24 tadzik moritz_: will it refresh itself? Rebuild, I mean
11:24 moritz_ tadzik: it should :-)
11:24 moritz_ at :30
11:24 stepnem joined #perl6
11:25 tadzik fine :)
11:25 moritz_ the crontab has */15 in the 'minute' field
11:26 frettled How quickly does it get updated on github, usually?
11:27 whiteknight joined #perl6
11:28 moritz_ which "it"?
11:29 frettled Pushes like tadzik's.
11:29 moritz_ immediately
11:29 frettled hmm.  Weird.
11:29 * frettled doesn't yet see it.
11:29 moritz_ http://github.com/perl6/perl6.org/
11:29 moritz_ shows it
11:29 frettled Aha.
11:29 * frettled was in http://github.com/perl6/mu/tree/master/docs/feather/perl6.org/
11:29 moritz_ I should delete that
11:30 masak aye.
11:31 jnthn masak: ...for loops?! :-)
11:31 moritz_ done.
11:31 masak jnthn: ...but he figgered you might not like it :P
11:33 masak jnthn: http://irclog.perlgeek.de/perl6/2010-08-30#i_2763349
11:34 hatseflats left #perl6
11:35 pugssvn left #perl6
11:36 PerlJam left #perl6
11:37 masak feather outage?
11:37 dalek left #perl6
11:37 jnthn masak: ooh, thanks for the clicky :-)
11:38 * jnthn will read the mailing lists/RTs/blawgs, but has already given up on backlogging 10+ days worth.
11:38 masak :)
11:41 jnthn OK, the syntax just confuses me at first glance. :-) I'll have to look a bit further back than that to get the context.
11:42 masak nod
11:42 masak same here.
11:43 jnthn ...oh, wow!
11:43 jnthn The Pugs repo is no more.
11:43 moritz_ RIP
11:43 rhebus long live github
11:44 jnthn moritz_++ # migration
11:44 jnthn pugs_repo++ # hosting so much awesome stuff
11:44 jnthn juerd++ too of course :-)
11:44 masak au|irc++ # pugs repo
11:44 jnthn So many people to thanks :-)
11:44 jnthn ...OK, I have to ask...why "roast" for the test branch? :-)
11:45 masak jnthn: because TimToady likes tab completion.
11:45 jnthn It makes me think of a beef roast. Om nom nom.
11:47 masak jnthn: 10 days. it's like, you've missed so much that it's almost impossible to fill you in on all the changes. :P
11:48 moritz_ jnthn: the mem leak you helped finding before your vacations is now fixed
11:48 moritz_ which means it's now possible again to run long-lived rakudo processes
11:48 meppl joined #perl6
11:50 frettled Hmm, where is the thingy that builds the web pages?
11:50 constant joined #perl6
11:50 constant left #perl6
11:50 constant joined #perl6
11:50 daxim masak, moritz_, couldn't you have waited until today with publishing Mu? :(  I figured out the cruft filtering
11:51 moritz_ daxim: no :(
11:51 daxim what's the matter?
11:52 moritz_ ENOPUGSSVN
11:52 daxim what happened?
11:53 moritz_ it strained the server so much that we had to disable it
11:54 ruoso joined #perl6
11:55 daxim I need the authors file to do the proper conversion of committer id so it is useful for github,
11:55 daxim or I can give you instructions and you run it on your machine or feather
11:55 moritz_ ah right; I was about to email the authors file to you when my local machine crashed :/
11:56 rokoteko joined #perl6
11:56 cosimo joined #perl6
11:59 tadzik frettled: mowyw?
12:00 * moritz_ should mv NOTES README and add a link to it
12:00 frettled tadzik: which is what? :)
12:01 frettled Ah, wait, found it.
12:05 M_o_C left #perl6
12:06 pugssvn joined #perl6
12:06 dalek joined #perl6
12:06 M_o_C joined #perl6
12:06 stepnem left #perl6
12:09 stepnem joined #perl6
12:10 hatseflats joined #perl6
12:10 pmichaud joined #perl6
12:10 dukeleto joined #perl6
12:10 PerlJam joined #perl6
12:10 Util joined #perl6
12:15 masak feather back up :)
12:15 bluescreen joined #perl6
12:16 bluescreen is now known as Guest84816
12:18 osfamero1 is now known as osfameron
12:30 Axius joined #perl6
12:32 _jaldhar_ joined #perl6
12:32 jaldhar_ left #perl6
12:38 jaldhar joined #perl6
12:39 Juerd joined #perl6
12:39 Italian_Plumber left #perl6
12:42 _jaldhar_ left #perl6
12:46 * sjn notes that omg.perl6.org resolves in DNS now :D
12:46 moritz_ sjn: it's a catch-all domain
12:46 sjn aah
12:46 sjn oh well
12:50 Axius left #perl6
12:51 jnthn http://i.love.perl6.org/ # also :-) \o/
12:51 masak http://i.cuddle.up.with.perl6.org/
12:51 frettled I think I may have grokked how to use mowyw at least half-way, as well as perform some CSS magic: http://www.ping.uio.no/~jani/perl6/perl6.org/online/documentation/
12:52 jnthn masak: TMI :P
12:52 jnthn ooh, and my Hague Grant has been accepted \o/
12:52 frettled jnthn: don't act so surprised about masak's love for Perl 6!
12:52 masak jnthn: \o/
12:52 frettled jnthn++
12:52 moritz_ frettled: that doesn't degrade well for narrow browser windows
12:52 masak moritz_: the perl6.org page never really did.
12:52 frettled moritz_: how narrow?
12:53 moritz_ frettled: too narrow to display the three boxes
12:53 masak http://giveupandusetables.com/
12:53 frettled moritz_: perl6.org breaks down, too
12:53 frettled masak: heh
12:53 masak really.
12:53 moritz_ there's a difference between "breaks up" and "hides some content"
12:54 masak also, http://www.eod.com/devil/archive/web_standards.html
12:54 moritz_ the perl6.org doesn't look nice when viewed with a narrow browser window, but the information is still accessible
12:55 masak having it look nice on a very large percentage of browsers is only a usage of tables away.
12:56 moritz_ anyway, if people want to push that, I won't stop them
12:56 moritz_ I made my point, others can consider how important it is for them
12:56 frettled I think it's possible to make the boxes resize themselves.
12:56 frettled I'll look into that.
12:57 jnthn masak++ # pragmatism/jfdism :-)
12:57 tadzik frettled++!
12:58 smash jnthn++ # Hague Grant accepted
12:59 moritz_ TPF++ # accepting jnthn++'s grant :-)
13:00 gfldex std: multi sub prefix:<.>(Str $name){say "Perl 6 loves $name!";} . 'you';
13:00 p6eval std 32123: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/CQW4jQw7MD line 1:␤------> [32mtr $name){say "Perl 6 loves $name!";} . [33m⏏[31m'you';[0m␤Parse failed␤FAILED 00:01 124m␤»
13:00 gfldex something eaten me heart :(
13:03 moritz_ std: multi sub prefix:<heart>(Str $name){say "Perl 6 loves $name!"}; heart 'you'
13:03 p6eval std 32123: OUTPUT«ok 00:01 123m␤»
13:03 moritz_ rakudo: multi sub prefix:<heart>(Str $name){say "Perl 6 loves $name!"}; heart 'you'
13:03 p6eval rakudo 77a72a: OUTPUT«Perl 6 loves you!␤»
13:04 gfldex http://gist.github.com/567010
13:04 masak rakudo: multi sub prefix:<♥>(Str $name){say "Perl 6 loves $name!"}; ♥ 'you'
13:04 p6eval rakudo 77a72a: OUTPUT«Perl 6 loves you!␤»
13:05 masak In Soviet Russia, YOU love Perl 6!
13:05 sjn is it possible to define an infix operator that has a default (ignorable) left side?
13:05 sjn </noob>
13:06 moritz_ btw mfollett++ made a pull request for book, adding a section on inheritance
13:06 masak sjn: sounds like you want a prefix that defers to an infix.
13:06 moritz_ I like it
13:06 moritz_ any objections to merging?
13:06 masak moritz_: no objections. go ahead.
13:06 moritz_ (I've given some feedback, which resulted in the current version)
13:08 masak sounds excellent.
13:09 masak I plan to have a read through the book during the week.
13:09 moritz_ \o/
13:09 moritz_ tell us what you find :-)
13:09 aloha OK. I'll deliver the message.
13:09 orafu left #perl6
13:09 moritz_ aloha--
13:09 aloha moritz_: Pbbbbtt!
13:09 orafu joined #perl6
13:10 jnthn tell me why we have another message bot...
13:10 aloha OK. I'll deliver the message.
13:10 masak lol
13:10 jnthn phenny: You're so much better :-)
13:10 frettled hugme: hug phenny
13:10 frettled no hugme?
13:10 frettled :(
13:10 moritz_ jnthn: I think bacek++ brought aloha here because we had no 'seen' functionality
13:11 masak aloha: THIS IS WHY WE CANNOT HAVE NICE THINGS!
13:11 aloha masak: Okay.
13:11 jnthn seen functionality?
13:11 hugme joined #perl6
13:11 aloha Sorry, I haven't seen functionality.
13:11 masak lol
13:11 jnthn <snort>
13:11 masak seen Jesus
13:11 aloha Sorry, I haven't seen Jesus.
13:12 * masak neither
13:12 dalek book: 1512265 | (Matt Follett)++ | src/classes-and-objects.pod:
13:12 dalek book: Added a section on single inheritance
13:12 dalek book: review: http://github.com/perl6/book/commit/1512265be70e96b77407d723cccb958ac61cf6f5
13:12 dalek book: dd5cd17 | (Matt Follett)++ | / (2 files):
13:12 dalek book: Merge branch 'master' of http://github.com/perl6/book
13:12 dalek left #perl6
13:12 masak seen us?
13:12 aloha Sorry, I haven't seen us.
13:12 masak seen bigfoot?
13:12 jnthn Tssk, doesn't even know basic English.
13:12 aloha Sorry, I haven't seen bigfoot.
13:13 dalek joined #perl6
13:13 masak seen basicEnglish?
13:13 aloha Sorry, I haven't seen basicEnglish.
13:13 moritz_ seen anything?
13:13 aloha Sorry, I haven't seen anything.
13:13 masak lol
13:13 masak seen nothing?
13:13 aloha Sorry, I haven't seen nothing.
13:13 masak seen Higgs?
13:13 aloha Sorry, I haven't seen Higgs.
13:13 moritz_ is Higgs still alive?
13:13 masak seen aloha?
13:13 aloha aloha was last seen in #perl6 4 hours 53 mins ago joining the channel.
13:14 huf well that's odd
13:14 jnthn ...I've seen aloha a lot more than that.
13:14 masak seen tooMuch?
13:14 aloha Sorry, I haven't seen tooMuch.
13:14 masak seen sense?
13:14 aloha Sorry, I haven't seen sense.
13:15 huf there has to be a pun in this somewhere...
13:15 rhebus seen theLight?
13:15 aloha Sorry, I haven't seen theLight.
13:15 kaare_ left #perl6
13:15 masak seen thePoint?
13:15 aloha Sorry, I haven't seen thePoint.
13:15 tadzik aloha: seen pun?
13:15 aloha tadzik: Sorry, I haven't seen pun.
13:16 masak seen Godot?
13:16 aloha Sorry, I haven't seen Godot.
13:16 rhebus pfft, cultural
13:16 masak seen 2011?
13:16 aloha Sorry, I haven't seen 2011.
13:17 moritz_ bot abuse!
13:17 rhebus seen enoughYet?
13:17 aloha Sorry, I haven't seen enoughYet.
13:18 masak I'd argue that among these, at least 'tell me' needs to be special-cased.
13:18 masak (so that aloha doesn't butt in when grownups are talking)
13:18 moritz_ I'd argue that a bot should only respond to commands directed at it.
13:18 masak yes, me too.
13:18 masak that'd be even better.
13:20 agentzh joined #perl6
13:20 jnthn Aye, aloha is too noisy
13:20 jnthn For #perl6, anyways.
13:20 masak she won't make it here without adapting.
13:21 masak tell me when you've adapted, aloha
13:21 aloha OK. I'll deliver the message.
13:21 masak :)
13:21 rhebus tell aloha to shut up
13:21 aloha OK. I'll deliver the message.
13:21 masak aloha: that's just wrong.
13:26 Axius joined #perl6
13:28 smash can anyone tell me what i'm doing wrong in this MMD example http://gist.github.com/567037 ?
13:30 uniejo left #perl6
13:30 * moritz_ doesn't get it
13:30 M_o_C left #perl6
13:31 masak smash: unable to reproduce your error.
13:31 masak smash: are you using a seriously old Rakudo, perchance?
13:32 gfldex try my @b = 1,2,3; instead of my @b = (1,2,3);
13:32 gfldex that should not change anything tho :)
13:32 uniejo joined #perl6
13:32 masak ...and it doesn't.
13:32 smash masak: git pull is 'Already up-to-date.'
13:33 masak oh wait
13:33 masak didn't have the last line... :/
13:33 masak yep, getting it too now.
13:34 * masak submits rakudobug
13:34 szbalint heh. when I was writing my first Perl 6 program I accidentally executed it with Perl 5. The error puzzled me for half an hour.
13:34 masak szbalint: use v6
13:34 moritz_ szbalint: that's why... what masak++ said
13:34 moritz_ :-)
13:34 szbalint yeah, I should.
13:35 masak you just learned it the hard way :)
13:35 moritz_ szbalint: but when you use it a lot, you learn to distinguish the error messages from p5 and p6
13:35 szbalint yeah. hopefully I will soon.
13:35 uniejo left #perl6
13:35 masak rakudo: multi f([]) {}; multi f(@a) {}; f(my @b = 1, 2, 3)
13:35 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Redeclaration of symbol @b at line 22, near " = 1, 2, 3"␤»
13:36 frettled moritz_: New and possibly improved: http://www.ping.uio.no/~jani/perl6/perl6.org/online/documentation/
13:36 jnthn That's a weird mmd fail...
13:37 M_o_C joined #perl6
13:37 jnthn Will look more later on.
13:37 szbalint jnthn: back from holiday?
13:38 moritz_ frettled++ # much better
13:39 * masak submits rakudobug
13:39 masak not the effect I sought to reproduce.
13:39 jnthn szbalint: Yes, arrived back on the sleeper train this morning. :-)
13:39 masak rakudo: multi f([]) {}; multi f(@a) {}; my @b = 1, 2, 3; f @b
13:39 p6eval rakudo 77a72a: OUTPUT«No applicable candidates found to dispatch to for 'f'. Available candidates are:␤:(Positional  ())␤:(@a)␤␤  in main program body at line 22:/tmp/rYSqpp_pYJ␤»
13:40 jnthn rakudo: multi f(@a) {}; my @b = 1, 2, 3; f @b
13:40 p6eval rakudo 77a72a:  ( no output )
13:40 jnthn ...
13:40 jnthn wtf.
13:42 _jaldhar joined #perl6
13:42 moritz_ rakudo: multi f(@a) {}; my @b = 1, 2, 3; f @
13:42 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "@"␤»
13:42 moritz_ rakudo: multi f(@a) {}; my @b = 1, 2, 3; f @b
13:42 p6eval rakudo 77a72a:  ( no output )
13:43 jnthn Seems adding the extra cand with the sub-sig busts it.
13:44 * moritz_ thinks he's seen a similar bug before
13:44 moritz_ cognominal was involved back then, I think
13:45 masak rakudo: multi f(Int $a) {}; multi f($b) {}; f(my $x = 42)
13:45 p6eval rakudo 77a72a:  ( no output )
13:45 masak rakudo: multi f(Int $a) {}; multi f($b) {}; f(my @x = 42)
13:45 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Redeclaration of symbol @x at line 22, near " = 42)"␤»
13:46 jaldhar left #perl6
13:47 jnthn rakudo: foo(my @x = 42)
13:47 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Redeclaration of symbol @x at line 22, near " = 42)"␤»
13:47 jnthn declaration in args = kaboom, it seems
13:47 frettled moritz_: yay (docs page).  Do I have a commit bit?  (I forgot how to find out on github)
13:49 moritz_ frettled: what's your github ID?
13:49 frettled moritz_: jani
13:49 moritz_ frettled: you now have
13:49 JimmyZ joined #perl6
13:51 masak jnthn: I"ll add that to the ticket.
13:52 M_o_C left #perl6
13:52 jnthn masak++
13:52 masak rakudo: foo(my @x)
13:52 p6eval rakudo 77a72a: OUTPUT«Could not find sub &foo␤  in main program body at line 22:/tmp/CwOH4cdJb6␤»
13:53 masak array declaration and assignment
13:53 jnthn oh
13:53 jnthn rakudo: foo(my $x = 42)
13:53 p6eval rakudo 77a72a: OUTPUT«Could not find sub &foo␤  in main program body at line 22:/tmp/YvnUwacDXA␤»
13:53 jnthn rakudo: foo(my @x = 42)
13:53 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Redeclaration of symbol @x at line 22, near " = 42)"␤»
13:53 jnthn rakudo: foo(my %x = 42)
13:53 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Redeclaration of symbol %x at line 22, near " = 42)"␤»
13:53 moritz_ some $*IN_DECL leakage?
13:53 frettled moritz_: tee-hee :D  Thanks!
13:53 jnthn rakudo: foo(bar() = 42)
13:53 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
13:53 amkrankruleuen left #perl6
13:53 amkrankruleuen joined #perl6
13:53 M_o_C joined #perl6
13:53 jnthn moritz_: That or $*LEFTSIGIL oddness
13:54 jnthn moritz_: It's interesting that it only happens when it's list assignment.
13:54 sftp joined #perl6
13:56 Axius left #perl6
13:57 Guest23195 joined #perl6
13:59 javs joined #perl6
14:01 whiteknight left #perl6
14:03 frettled moritz_: yay.  I think I even managed to push my changes correctly.
14:04 moritz_ \o'
14:09 masak rakudo: class A { method foo(::G $self:) { say G.perl } }; class B is A {}; .new.foo for A, B
14:09 p6eval rakudo 77a72a: OUTPUT«A␤B␤»
14:11 JimmyZ left #perl6
14:12 masak rakudo: class A { method bar(::G $self: G $other) { say "yay!" } }; class B is A {}; B.new.bar(B.new); A.new.bar(A.new); A.new.bar(B.new); B.new.bar(A.new)
14:12 p6eval rakudo 77a72a: OUTPUT«yay!␤yay!␤yay!␤Constraint type check failed for parameter '$other'␤  in 'A::bar' at line 22:/tmp/iV8EV6SMdo␤  in main program body at line 22:/tmp/iV8EV6SMdo␤»
14:12 masak \ø/
14:13 jnthn happy and wearing a bandana? :-)
14:13 masak mhm
14:17 frettled have a banana
14:17 masak om nom nom
14:19 moritz_ thanks for reminding me that I brought some tasty grapes... :-)
14:21 javs left #perl6
14:21 * jnthn hadn't ever mentally associated bandanas and bananas...
14:21 masak rakudo: class Grape { our $.ommed is rw = False; method nom { say $.ommed++ ?? 'om' !! 'nom' } }; my @grapes = map { Grape.new }, ^4; @grapes>>.nom
14:21 p6eval rakudo 77a72a: OUTPUT«Method 'ommed' not found for invocant of class 'Grape'␤  in 'Grape::nom' at line 22:/tmp/CKVYGvYoAN␤  in main program body at line 22:/tmp/CKVYGvYoAN␤»
14:21 masak :/
14:22 masak rakudo: class Grape { our $ommed is rw = False; method nom { say $ommed++ ?? 'om' !! 'nom' } }; my @grapes = map { Grape.new }, ^4; @grapes>>.nom
14:22 jnthn our?
14:22 p6eval rakudo 77a72a: OUTPUT«nom␤om␤om␤om␤»
14:22 Kodi joined #perl6
14:22 masak dang, backwards. :)
14:22 masak rakudo: class Grape { our $ommed is rw = False; method nom { say $ommed++ ?? 'nom' !! 'om' } }; my @grapes = map { Grape.new }, ^4; @grapes>>.nom
14:22 p6eval rakudo 77a72a: OUTPUT«om␤nom␤nom␤nom␤»
14:22 masak \o/
14:22 masak jnthn: yes, we discussed class attributes again this morning.
14:23 masak jnthn: sorear++ pointed out that 'our $.classattr' will have an inheritable method, which is what most classattrists want.
14:24 Kodi Can anyone review or apply http://rt.perl.org/rt3//Public/Bug/Display.html?id=77560 for me?
14:24 moritz_ rakudo: class Grape { has $!ommed = False; method nom { say $!ommed++ ?? "nom" !! "om" } }; (Grape.new xx 4)>>.nom
14:24 p6eval rakudo 77a72a: OUTPUT«om␤nom␤nom␤nom␤»
14:24 masak moritz_: you just ate the same grape four times!
14:25 moritz_ masak: I ate it once, and savoured it another three times :-)
14:25 masak :)
14:26 masak Kodi: I have this feeling that I've been neglecting you lately. if so, I apologise.
14:26 masak Kodi: I can take a look at the patch.
14:27 Kodi masak: Thanks.
14:29 jnthn masak: Yes, my $.classattr would also do that, just keep it more tightly scoped.
14:29 jnthn masak: If there's what we want to make my $.foo and our $.foo mean anyway
14:29 jnthn Works for me - we used to have it that way iirc.
14:30 masak jnthn: aye.
14:31 masak I think I've gained some additional insight lately in how all the various parts of OO attributes fit together. I'm quite happy with it all.
14:31 masak there's has/my/our, there's dot twigil/bang twigil, there's (is readonly)/is rw.
14:32 masak hm, should add 'no twigil' on the middle axis to make it complete.
14:32 jhuni left #perl6
14:33 javs joined #perl6
14:33 masak Kodi: the patch looks very good to me.
14:33 jnthn masak: If there's consensus that my/our + . twigil is just a variable + a method that accesses it, I can easily get Rakudo to do that again.
14:33 Kodi masak: Great.
14:33 masak jnthn: oh, I think S12 says so already.
14:33 jnthn masak: I'm more curious what my $!foo and our $!foo would mean though.
14:34 masak jnthn: my bet is that they're just ordinary (though funny-looking) variables.
14:34 masak jnthn: S12:736
14:38 risou joined #perl6
14:38 patrickas joined #perl6
14:40 rhebus left #perl6
14:44 patrickas rakudo: say ~(2,3,5,7 ... 4);
14:44 p6eval rakudo 77a72a: OUTPUT«(timeout)»
14:45 mj41_ joined #perl6
14:45 tylercurtis joined #perl6
14:46 mj41_ is now known as mj41
14:47 patrickas I am pretty sure the previous series example was working
14:48 armicron joined #perl6
14:50 wtw left #perl6
14:53 Kodi left #perl6
14:59 mj41 left #perl6
15:02 mj41 joined #perl6
15:05 patrickas actually maybe not ...
15:12 M_o_C left #perl6
15:13 M_o_C joined #perl6
15:15 mj41_ joined #perl6
15:15 mj41 left #perl6
15:15 mj41_ is now known as mj41
15:17 tylercurtis http://nopaste.snit.ch/23242 # function-level numbers from the valgrind spectest run.
15:20 moritz_ so the big part is packfiles
15:21 mj41_ joined #perl6
15:21 tylercurtis Not necessarily. One thing to note is that those numbers repeatedly count the same lost memory for each level in a backtrace.
15:23 moritz_ I guess calloc only appears high on that list because most lost memory was allocated through it
15:23 tylercurtis PackFile_Segment_unpack in particular frequently shows up multiple times in a single backtrace.
15:24 mj41 left #perl6
15:24 mj41_ is now known as mj41
15:24 moritz_ does that increase only the appearance count, or also the number of bytes lost?
15:24 tylercurtis Both currently (though I could easily change that).
15:29 moritz_ patrickas: the commit list in your latest pull request is both impressive and confusing
15:31 stepnem left #perl6
15:32 sahadev joined #perl6
15:33 stepnem joined #perl6
15:33 javs left #perl6
15:34 icwiener joined #perl6
15:34 moritz_ patrickas: cherry-picking the relevant commits into a branch would certainly help
15:35 risou_ joined #perl6
15:37 risou left #perl6
15:39 mj41_ joined #perl6
15:39 Ross^ joined #perl6
15:41 rindolf joined #perl6
15:43 mj41 left #perl6
15:43 pmichaud good morning, #perl6
15:43 mj41_ is now known as mj41
15:43 pmichaud jnthn: o/
15:43 moritz_ \o
15:43 masak gm, pm
15:44 sjn Anyone here want to comment on the Perl6 poster that's been made for Oslo.pm today? http://dl.dropbox.com/u/3809132/JavaZone/Perl_JZ2010_965x2000_NY2.pdf
15:44 * sjn is being a little cheeky with the concept here :-9
15:45 moritz_ for Perl 6 you need camelia!!!!11!
15:45 pmichaud sjn: I like it.  I'd go.  :-)
15:45 sjn moritz_: we'll put the omg.perl6.org url in the flyer (iow, we're still on for that)
15:45 masak std: class A {}; my $a = new A:
15:45 p6eval std 32123: OUTPUT«ok 00:02 119m␤»
15:45 ashleydev joined #perl6
15:45 masak rakudo: class A {}; my $a = new A:
15:45 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Confused at line 22, near "my $a = ne"␤»
15:45 * masak submits rakudobug
15:46 sjn is there any high-res or vector image of camelia anywhere?
15:46 moritz_ didn't std.pm carp about obsolete use of C++ constructor about this one?
15:46 masak moritz_: note colon at end
15:46 tylercurtis moritz_: it's just indirect object syntax.
15:46 pmichaud sjn: http://github.com/perl6/mu/blob/master/misc/camelia.svg
15:46 moritz_ sjn: http://github.com/perl6/mu/tree/master/misc/ there are .svn and .pdf files
15:46 moritz_ oh.
15:47 masak rakudo: class A { method foo { say "OH HAI" } }; foo A.new:
15:47 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Confused at line 22, near "foo A.new:"␤»
15:47 masak rakudo: class A { method foo { say "OH HAI" } }; my $a = A.new; foo $a:
15:47 p6eval rakudo 77a72a: OUTPUT«===SORRY!===␤Confused at line 22, near "foo $a:"␤»
15:47 agentzh left #perl6
15:47 pmichaud afaik, rakudo doesn't grok indirect object syntax yet
15:48 patrickas moritz_: I will try to do that
15:48 * moritz_ not sure that syntax is a good idea
15:48 masak pmichaud: it used to, though, right?
15:48 sjn moritz_: thanks
15:49 moritz_ alpha: class A { method foo { say "OH HAI" } }; foo A.new:
15:49 p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near ":"␤in Main (file <unknown>, line <unknown>)␤»
15:49 pmichaud masak: I don't think we ever handled indirect object syntax, no.
15:50 masak ok.
15:50 masak marking it as TODO, then.
15:59 envi^home left #perl6
16:02 x3nU is there something like $^O in perl6/rakudo
16:02 x3nU ?
16:02 x3nU i want detect operating system
16:02 moritz_ rakudo: say $*OS
16:02 p6eval rakudo 77a72a: OUTPUT«linux␤»
16:02 x3nU thanks
16:03 jnthn pmichaud: o/
16:04 jnthn pmichaud: Hope all is well. :-)
16:04 pmichaud jnthn: it is.  Good holiday?
16:05 synth joined #perl6
16:05 armicron left #perl6
16:05 jnthn pmichaud: Yes. Outstanding food, some beautiful places, and some nice mountain walks too, though getting snowed on during summer vacation was a slight novelty. :-)
16:07 patrickas moritz_: I got EGITNOOBFAIL while trying to cherry pick in a branch :-(
16:07 patrickas jnthn \o/ welcome back from vacation!
16:08 jnthn o/ patrickas
16:08 moritz_ patrickas: if you have a list of sha1 sums somewhere, I could give it a try
16:10 synth left #perl6
16:28 Ross^ left #perl6
16:28 TimToady rakudo: my $x = 100; say 'The $100 answer is \qq[$x]'; # NYI
16:28 p6eval rakudo 77a72a: OUTPUT«The $100 answer is \qq[$x]␤»
16:29 jnthn ...you can do that?
16:29 * jnthn thought ' was always rather less magical.
16:29 * moritz_ thought ' only allowed \ and ' escaping
16:29 TimToady std: $^O
16:29 moritz_ std: 'foo \qq[$x]'
16:29 p6eval std 32123: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of $^O variable; in Perl 6 please use $?OS or $*OS at /tmp/LTL3zcDbh1 line 1 (EOF):␤------> [32m$^O[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 114m␤»
16:29 p6eval std 32123: OUTPUT«[31m===[0mSORRY![31m===[0m␤Variable $x is not predeclared at /tmp/9oOcmZtRDs line 1:␤------> [32m'foo \qq[$x[33m⏏[31m]'[0m␤Check failed␤FAILED 00:01 116m␤»
16:29 moritz_ rakudo: $^O
16:30 p6eval rakudo 77a72a:  ( no output )
16:30 alester joined #perl6
16:31 TimToady x3nU: std will usually tell you what the new thing is if you try to use a P5 variable
16:31 jnthn moritz_: Same, and I'd prefer it did.
16:32 jnthn At least then if you're reading code and you see ' quotes, you know you can easily skip what is inbetween as purely literal.
16:32 moritz_ indeed
16:33 TimToady no '' is for minimal interpolation, and it includes a very rare sequence for \qq
16:33 TimToady if you really want to skip, use Q
16:33 moritz_ Perl 6 - never as simple as you think
16:34 TimToady this makes it handy to put in a large chunk of program with just a few interpolations, which Perl 5 can't do without s///
16:35 daxim moritz_, 103 MB  --  http://daxim.ath.cx/Mu-svn32126.tar.bz2
16:35 daxim you still 1) need to filter the git authors - this is very easy   http://stackoverflow.com/questions/392332#392427
16:35 daxim 2) reapply the commits made since you gave me the svn tar
16:36 daxim 3) profit
16:36 moritz_ daxim: thanks. I'm wondering if I should push it as a forced update
16:36 moritz_ (and maybe warn the world)
16:37 daxim that won't work at all, so delete the existing repo, and warn the world that they have to clone from scratch
16:37 moritz_ iterate for ~8 repos that are spawned from mu
16:37 moritz_ fun
16:38 daxim you didn't say anything about that :-|
16:39 moritz_ sorry; I was very busy and distracted with all that fallout
16:39 daxim http://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html#_examples   # see --subdirectory-filter
16:40 moritz_ that's what I used for spawning those repos off, yes
16:41 daxim excellent.  before you push, do the usual housekeeping:    git reflog expire --all --expire=now ; git gc --aggressive ; git prune ; git fsck --full
16:41 risou_ left #perl6
16:41 masak left #perl6
16:42 daxim I'm off to meet the lambdaheads, gonna fix some ghc compiler warnings in pugs tonight if I can  :)
16:43 Juerd feather1 now has ipv6. It's experimental and doesn't do reverse DNS yet
16:43 daxim left #perl6
16:43 Juerd Please let me know your experiences :)
16:43 Juerd s/doesn't do/doesn't have/
16:48 au|irc left #perl6
16:52 stepnem left #perl6
16:52 rhebus joined #perl6
16:52 aloha rhebus: rhebus asked me to tell you foo
16:52 aloha rhebus: rhebus asked me to tell you what's up
16:52 aloha rhebus: rhebus asked me to tell you hello
16:52 aloha rhebus: rhebus asked me to tell you bim
16:52 Juerd First surprise so far: apache2 won't listen on ipv6
16:53 stepnem joined #perl6
16:53 rhebus sorry guys, was investigating aloha's messaging earlier...
16:53 moritz_ Juerd: that's surprising indeed. I know of several sites that use apache2, an that work without problem with ipv6
16:54 moritz_ but maybe it needs non-trivial setup magic
16:54 * moritz_ -> gone
16:54 rhebus i dread to think what would happen if someone with nick "me" or "us" enters the channel, i think aloha would have a fit
16:54 Juerd With explicit addresses, it will run
16:55 florz apache2 works just fine with ipv6
16:55 Juerd But with the catch-all address ::, it says the address is already in use
16:55 Juerd Which netstat does not confirm, by the way
16:55 Juerd Oh well, explicit address is good enough for now.
16:55 florz have it running for many years listening on v6
16:55 Juerd florz: On ::?
16:55 rgrau left #perl6
16:56 florz tcp6       0      0 :::80                   :::*                    LISTEN      16145/apache2
16:56 florz !
16:56 Juerd florz: What Listen line are you using?
16:56 Juerd I tried Listen 80, Listen :::80 and Listen [::]:80
16:56 florz /etc/apache2/ports.conf:Listen 80
16:57 Juerd Maybe it can't work because of the explicit ipv4 addresses configured
16:57 au|irc joined #perl6
16:57 florz yeah, probably
16:57 florz :: tends to (depends on the OS and stuff) bind v4-mapped addresses as well
16:57 Juerd Anyway, http://feather.perl6.nl/cgi-bin/whoami now properly tells me I'm on 2a02:2308:10:7f::5 :)
16:58 Juerd florz: Ah, that must be it then.
16:59 Ross joined #perl6
17:00 florz Juerd: it doesn't want to tell me - but if I can trust netstat, my firefox is connecting via v6 just fine as well ;-)
17:00 araujo left #perl6
17:01 araujo joined #perl6
17:02 synth joined #perl6
17:02 dakkar left #perl6
17:03 Axius joined #perl6
17:04 thebird left #perl6
17:04 araujo left #perl6
17:04 lue ohai o/
17:05 Juerd florz: Yea, the cgi scripts require a feather account :)
17:05 Juerd Hi
17:05 araujo joined #perl6
17:08 timbunce left #perl6
17:12 Guest89655 left #perl6
17:15 timbunce joined #perl6
17:19 DiegoGrez joined #perl6
17:20 timbunce left #perl6
17:25 M_o_C left #perl6
17:31 alester left #perl6
17:35 whiteknight joined #perl6
17:39 Axius left #perl6
17:40 Axius joined #perl6
17:44 TimToady http://github.com/perl6/specs/commit/a826b588b613ef61471e4d89c6b86d7f3502dcdb
17:44 rgrau joined #perl6
17:44 TimToady [S04,S32] implicit loops expect to be controlled by bare next and last
17:44 * TimToady fakes dalek
17:44 Trashlord left #perl6
17:45 moritz_ TimToady++
17:46 diakopter urp
17:46 Trashlord joined #perl6
17:47 Axius_ joined #perl6
17:47 Axius left #perl6
17:48 pmichaud TimToady++
17:48 dalek left #perl6
17:48 dalek joined #perl6
17:48 constant left #perl6
17:48 constant joined #perl6
17:49 moritz_ I'm discussing dalek options with Infinoid++ over in #parrot
17:49 diakopter oh.. I uncommented the .pm I added
17:49 diakopter maybe you saw it in botnix.conf
17:50 diakopter or saw my discussion of it here yesterday
17:50 moritz_ diakopter: nope. But we're discussing a file where can add new repos, and dalek picks it up automatically
17:51 diakopter seems to me the way I did it works ok; it's a tad more boilerplate than adding a single url..
17:51 diakopter but sending a sighup is faster than "automatically" anyway
17:53 diakopter moritz_: would you like to take a look at the .pm I added?
18:02 masonkramer joined #perl6
18:02 masonkramer left #perl6
18:03 stepnem left #perl6
18:07 stepnem joined #perl6
18:07 jaldhar_ joined #perl6
18:09 cotto left #perl6
18:11 _jaldhar left #perl6
18:18 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
18:21 Mowah left #perl6
18:22 rhebus left #perl6
18:22 me joined #perl6
18:22 aloha me: jnthn asked me to tell you why we have another message bot...
18:22 aloha me: masak asked me to tell you when you've adapted, aloha
18:23 me is now known as Guest32504
18:23 Guest32504 is now known as us
18:23 us left #perl6
18:23 us joined #perl6
18:23 aloha us: moritz_ asked me to tell you what you find :-)
18:23 us is now known as rhebus
18:23 moritz_ diakopter++
18:25 DiegoGrez left #perl6
18:25 jaldhar_ left #perl6
18:25 _jaldhar_ joined #perl6
18:25 diakopter also irclog.perl6.org works
18:26 Axius_ left #perl6
18:27 masak joined #perl6
18:29 dalek rakudo: ae66feb | pmichaud++ | src/Perl6/ (2 files):
18:29 dalek rakudo: Removed (unused) $lazy parameter from add_signature().
18:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/ae66feb5b826eb81ee9d4ac220f094921bed2126
18:29 jferrero joined #perl6
18:31 uniejo joined #perl6
18:35 uniejo left #perl6
18:38 rindolf left #perl6
18:38 M_o_C joined #perl6
18:38 jaldhar joined #perl6
18:39 masak huh. I didn't know about \qq either. convenient.
18:39 _jaldhar_ left #perl6
18:39 masak its usage, I mean. not not knowing about it. :)
18:40 diakopter heh
18:41 masak TimToady++ # '(C<next> without a label is purely dynamic.)'
18:44 TimToady just feels like that's what most people will expect, if they use it in a list processor
18:45 masak it's much, much saner. as far as I can tell without an actual implementation of it.
18:45 pmichaud it follows the direction Rakudo is already going.  :-)
18:45 pmichaud (or vice-versa, depending on how you look at it)
18:46 javs joined #perl6
18:46 TimToady and this'll let you 'last' out of a series too, I expect
18:46 masak I guess &first in S32 gets the 'implicit loop' paragraph by virtue of being a slightly modified form of &grep.
18:47 TimToady that's what I figgered
18:47 masak the series operator is a loop construct?
18:47 TimToady how else it it going to loop?
18:48 pmichaud it could just be an iterator, no loop
18:48 pmichaud (no internal loop)
18:48 masak TimToady: that doesn't really make sense. recursion can be used for looping, yet recursion isn't a loop construct in Perl 6.
18:48 masak so 'how else is it going to loop?' isn't an argument for something being a loop construct.
18:48 pmichaud masak has it closer
18:50 masak this is also a reason I feel it's important to lay these things down in spec. because things can be implemented various ways.
18:50 masak and it feels like a dangerous thing to leave up to implementations.
18:50 TimToady well, something has to call the iterator function repeatedly
18:50 TimToady and it would be nice to be able to stop that on the fly
18:50 TimToady could replace the {} on the right of ...
18:51 masak I agree. my first thought on "'last' out of a series" was 'ooh!'
18:51 pmichaud yes, rakudo's current implementation of series uses 'loop'
18:51 pmichaud so, 'last' will likely work.
18:51 masak case in point.
18:51 masak oh.
18:52 masak not case in point. :)
18:52 masak if you can 'last' out of a series block, it should be guaranteed by the spec that the 'last' binds to the series, and not to something else.
18:52 diakopter TimToady: what is the _reduced member of an std parsetree node
18:52 pmichaud I think that falls out naturally.
18:53 diakopter sorear: or you
18:54 masak pmichaud: I don't. trying to imagine a recursive implementation of the series operator. it's going sufficiently well that I'd say it's altogether possible.
18:54 masak which means, there's a way to implement infix:<...> such that 'last' doesn't stick on it.
18:54 TimToady diakopter: it's the name of the rule that did the reduction
18:55 diakopter ah, thanks.
18:55 pmichaud masak: all of the recursive implementations that I can imagine lead to really long recursion trees, unless one assumes tailcall semantics
18:55 masak I assume tailcall semantics.
18:55 pmichaud s/trees/lists/
18:55 TimToady masak: it's trivial to put a loop {} around it even if it's really implemented recursively
18:56 masak that'll make 'last' work.
18:56 masak what about 'next' and 'redo'?
18:56 TimToady not clear that they're meaningful
18:56 diakopter TimToady: how about ~CAPS
18:56 masak anyway, missing the point a wee bit.
18:56 TimToady next on a series would recompute from the same value
18:57 masak the fact that one has to put a loop {} around it *is what should be mandated by the spec*.
18:57 TimToady diakopter: the captures that are supposed to end up in .caps
18:57 diakopter hm
18:57 _jaldhar joined #perl6
18:57 masak otherwise, implementations might end up diverging on 'last' in series blocks.
18:57 TimToady masak: sure, which is why I added the forward-looking modifier, "I expect"
18:57 masak fairy nuff.
18:58 masak I won't complain about not-yet-written spec stuff. happy about what landed today. :)
18:59 pmichaud rakudo:  say ~(0, 1, { last if $^a > 100; $^a + $^b; } ... *);   # curious
18:59 p6eval rakudo ae66fe: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233␤»
18:59 pmichaud :-)
18:59 masak \o/
19:00 jaldhar left #perl6
19:00 TimToady I keep wondering if those are backwards, and $^a should always be the last arg, and $^b the next-to-last...
19:01 moritz_ why?
19:01 rhebus TimToady: that would kill the series version of euclid's algorithm
19:01 TimToady so optional parameters make the front optional instead of the back
19:01 pmichaud I think it's correct as-is.  Consider the order of arguments in  @^_
19:01 rhebus { $a, $b, *%* ... 0 }[*-2] <-- euclid
19:02 TimToady nod
19:02 rhebus pmichaud++ for showing me that trick
19:02 TimToady it's in risottocode
19:02 pmichaud colomon++ for showing me that trick :)
19:02 rhebus :)
19:03 masak moritz_++ for inventing that trick, I think.
19:03 masak in some PerlMonks thread or other.
19:03 moritz_ right
19:03 moritz_ somebody asked for elegant ways to implement GCD
19:03 masak (Perl 6)++
19:03 patrickas euclid++ for creating a need for this #I think
19:03 TimToady http://rosettacode.org/wiki/Category:Perl_6
19:03 masak patrickas: :)
19:04 TimToady er...
19:04 TimToady http://rosettacode.org/wiki/Greatest_common_divisor#Perl rather
19:06 svetlins joined #perl6
19:07 icwiener left #perl6
19:07 jaldhar_ joined #perl6
19:07 TimToady rakudo: say ~ (0,1, { my $r = $^a + $^b; last if $r > 100; $r } ... *)
19:07 p6eval rakudo ae66fe: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89␤»
19:08 TimToady wish there was a less clunky way to say that.
19:08 pmichaud rakudo:  say ~ (0,1, *+* ... { $^a < 100 });  # less clunky
19:08 p6eval rakudo ae66fe: OUTPUT«(timeout)»
19:08 pmichaud and apparently nyi
19:09 TimToady and you have it backwards
19:09 pmichaud oh, the { } is the stop condition?
19:09 TimToady since the closure indicates the until condition
19:09 pmichaud ah
19:09 TimToady which is an argument for requiring { last if } instead
19:09 pmichaud then
19:09 pmichaud rakudo:  say ~ (0,1, *+* ... * > 100 );
19:10 p6eval rakudo ae66fe: OUTPUT«(timeout)»
19:10 TimToady nyi
19:10 pmichaud (still nyi, but pretty concise)
19:10 patrickas > say ~ (0,1, *+* ... { $^a <= 100 });  # less clunky
19:10 patrickas 0 1 1 2 3 5 8 13 21 34 55 89
19:10 patrickas just sayin'
19:10 pmichaud less clunky and still backwards :-)
19:10 Sec rakudo: say {123, 456, *%* ... 0 }[*-2];
19:10 p6eval rakudo ae66fe:  ( no output )
19:10 patrickas but apparently I misunderstood the spec on the end condition
19:10 _jaldhar left #perl6
19:11 tylercurtis left #perl6
19:11 patrickas funny thing I had implemneted it as TimToady is saying then I read the spec and implemented it backwards!
19:11 patrickas 1,   *+1   ... { $_ <   10 }
19:11 patrickas produces
19:11 patrickas 1,2,3,4,5,6,7,8,9
19:12 Sec why doesn't that output anything?
19:12 patrickas From the spec
19:12 TimToady spec looks wrongish
19:12 M_o_C How exactly do you call { $a, ... *} constructs? I mean it's not really list comprehensions in the haskell sense, as IMHO those are constructs like [x | x <- [...]].
19:13 TimToady we do list comprehensions with statement modifiers, at least one dimensionally
19:13 TimToady except I don't think rakudo implements modifier for as a map yet
19:14 pmichaud TimToady: I'm working on that right now.  :)
19:14 TimToady and the multidim problem is still there, since we don't have multiple formal names, just $_
19:14 M_o_C And with one dimensionally you mean that you don't (yet) have sth. analogous to [(x,y)|x<-[...],y<-[...]]?
19:15 TimToady not without playing X tricks
19:15 TimToady the basic problem is that standard list comprehension notation is really postdeclarative
19:15 TimToady and we currently allow postdeclaration only on subs
19:18 TimToady we might possible allow a loop modifier to bind to an existing variable, I suppose.  my $x,$y for <a b c> X <d e f> -> $x, $y;
19:18 _jaldhar_ joined #perl6
19:18 patrickas TimToady: so should i implement the end condition the other way ?
19:18 TimToady I think it would be more consistent to make it the ending condition
19:19 pmichaud I agree.
19:19 TimToady not the continue condition
19:19 patrickas ok
19:19 pmichaud The   0,1, *+* ... * > 100    example shows that it should be the ending condition
19:19 pmichaud "up to whatever is greater than 100"
19:20 TimToady and if it's that easy, I'm inclined to throw out a lot of the guessing on which way the series is progressing
19:20 pmichaud +2
19:20 pmichaud that would make things soooooo much cleaner, I think.
19:20 TimToady so ... 5 really means ... * !=== 5
19:20 TimToady er, wait
19:21 patrickas ?
19:21 TimToady that doesn't work on exact match
19:21 jaldhar_ left #perl6
19:21 pmichaud agreed, there's an exact match issue there.
19:21 TimToady obviously I need to feed my brane some nutriments
19:21 TimToady lunch &
19:21 patrickas :-)
19:27 Tene rakudo: say (123, 456, *%* ... 0)[*-2]
19:27 p6eval rakudo ae66fe: OUTPUT«3␤»
19:27 Tene Sec: I think you mean that ^. you were using {}s instead of ()s.
19:27 lamstyle left #perl6
19:29 patrickas fixed series end condition spectesting
19:31 Sec Tene: thanks. I'm stupid :)
19:32 x3nU joined #perl6
19:33 Tene Sec: locally, it does bail out with an error, "Cannot use negative index -1 on Block"
19:33 * masak zzz
19:33 masak left #perl6
19:33 Ross left #perl6
19:38 jaldhar joined #perl6
19:41 * moritz_ fixed the cron script that updates http://perlcabal.org/syn/
19:41 moritz_ ... mostly
19:42 _jaldhar_ left #perl6
19:44 Trashlord left #perl6
19:44 Ross joined #perl6
19:45 frettled If you need any kind of help with that, support, a shoulder to cry on, anything at all, feel free to lean on Tene.
19:45 frettled :D
19:46 frettled moritz_: But seriously, what's the problem?
19:46 Trashlord joined #perl6
19:46 moritz_ forgot to update some svn.pugscode.org links
19:46 Tene Yes, I've cronned a lot of crons.  Sometimes I think I've cronned all the crons.
19:47 Tene So when you're cronning a cron, and you need cron-support, feel free to cron me.
19:47 moritz_ just a small matter of hacking/debugging
19:47 frettled Tene: But it appears not to be a cronical problem.
19:47 TimToady interestingly, ($^a, $^b, *%* ... * == 0)[*-1] should work, if the matching term is excluded
19:52 TimToady perhaps the last term is naturally excluded by an implicit 'last if block()'. but if block itself does last($_) if $_ == 0 then it would include the 0 and terminate
19:53 pmichaud that feels like it can work
19:53 pmichaud because if you really want to terminate on a specific value, there's already a notation for that :)
19:53 TimToady more generally, perhaps ... 42 turns into ... { last(42) when 42 } or some such
19:54 TimToady assuming a when is sufficient to trigger -> $_
19:55 TimToady not sure this is optimizer friendly though
19:55 patrickas I am not sure I get this :-(
19:55 * moritz_ neither
19:55 frettled patrickas: you are not alone.
19:55 pmichaud want clarifications?
19:55 patrickas the main thing that is not clear to me
19:55 timbunce joined #perl6
19:55 patrickas is that
19:56 TimToady just trying to express the semantics of ... 42 in terms of the more general form
19:56 patrickas when we have a term as the rhs
19:56 patrickas like 1,10 ... 42
19:56 patrickas I cannot see how that can be expressed as { last(42) when 42 }
19:57 pmichaud it would need to be   last($_) if $_ after 42
19:57 pmichaud no
19:57 pmichaud hmm
19:57 TimToady we were proposing that a constant be an exact match, and you'd write 1,10 ... * > 42 if you reall meant the other
19:57 patrickas oh ok
19:58 pmichaud it could be something like
19:58 moritz_ that would simplify things... except for ...^
19:58 TimToady with implicit ineqauality, you get problems with the gcd wanting to trim all the terms
19:59 pmichaud { last $_ if $_ === 42; last if $_ after 42 }
20:00 TimToady maybe the implicit semantics of ... is last($n) if block() and ...^ is the last if block()
20:00 TimToady so ... * > 42 would return the first number > 42
20:00 _jaldhar joined #perl6
20:00 pmichaud ooooh
20:01 TimToady to get the other, you'd say either ... * >= 42 or ...^ * > 42
20:01 TimToady or however that works
20:01 pmichaud or maybe it's just a smartmatch :-)
20:01 pmichaud last($n) when $test   and  last when $test
20:01 TimToady sure last($n) if $n ~~ $test
20:02 TimToady last($_) when $test
20:02 pmichaud that might avoid always having to create the block :-)
20:02 TimToady sure, that's how I was already thinking of it from the other way
20:02 pmichaud ah
20:02 pmichaud EPMTOOSLOW
20:03 TimToady though note that if it's a smartmatch it can't do an arity check, only test the final value
20:03 TimToady so only the lhs's closure can do arity
20:04 jaldhar left #perl6
20:04 rhebus "Your comment submission failed for the following reasons: Text entered was wrong. Try again." :S
20:06 TimToady we still want subscripts to autotrim infinite lists, though
20:08 TimToady and we still haven't quite nailed down the scope of the final ... {} matcher such that it trims lefthand literals when you want it to, and doesn't when you don't
20:08 * patrickas gotta run. If you think the new way is worth pursuing, just phenny me a draft of what should be done and I can implement it so we test / compare with the current way.
20:08 jferrero left #perl6
20:09 patrickas left #perl6
20:09 alester joined #perl6
20:11 ruoso left #perl6
20:12 moritz_ phenny: tell pmurias if there are any parts of the pugs/mu repo you want extracted into a separate repo, please let me know
20:12 phenny moritz_: I'll pass that on when pmurias is around.
20:12 TimToady I wonder if mu/misc should be hoisted into misc?  or parts of it?
20:13 TimToady haven't really looked..
20:13 moritz_ TimToady: I've tried to extract logic units from it so far. misc/ doesn't appear to one
20:13 TimToady were you planning a grand renaming of historical nicks?
20:14 moritz_ if I did, everybody would have to clone again all the repos
20:14 moritz_ I'm of two minds
20:14 TimToady well, if it's well publicized, we can all hold off for a bit
20:14 TimToady I really have no clue what it buys us
20:14 pmichaud I don't have a problem with re-cloning repos.  It's not like it takes long :)
20:15 TimToady also, what about people with old names that don't map?  those just stay?
20:15 moritz_ we can map them to oldnick@example.com
20:15 moritz_ well, I have an email address for every former pugs committer
20:16 alester Why is my SSH failing?  http://paste.linuxassist.net/215418  Any clues?
20:16 TimToady moritz_: cool
20:16 TimToady moritz_: however, is that private info leaking?
20:17 moritz_ TimToady: that's the trouble; formerly they were only available to other committers
20:17 TimToady some people might not want their internal email addr leaking
20:18 Mowah joined #perl6
20:18 TimToady unfortunately AUTHORS doesn't hold public email addrs
20:18 Guest84816 left #perl6
20:18 timbunce left #perl6
20:18 moritz_ I could mail them all... and wait weeks before a significant portion replied
20:19 TimToady alternate strategy would be some mechanism for doing renames in the future, maybe batched so we don't have to sync globally so often
20:19 TimToady part of the once-a-month cycle maybe
20:20 moritz_ I don't want to do any public history rewriting, except maybe in the next 5 days
20:20 moritz_ I don't see a sufficient beneift to warrant the hasle and confusion involved
20:21 TimToady maybe one email saying "if you ever want this, register your email with github right now", and then cut it off after 5 days
20:22 rhebus how do perl6 modules work? does the rakudo* msi installer come with a module installer?
20:23 moritz_ there are some modules pre-installed. There's not yet a working module installer shipped with R* (we hope to change that soon)
20:24 rhebus is benchmark preinstalled?
20:24 timbunce joined #perl6
20:24 moritz_ don't think so
20:25 DiegoGrez joined #perl6
20:25 moritz_ 326 active committers
20:26 rhebus on github?
20:26 tadzik left #perl6
20:26 maconga joined #perl6
20:26 moritz_ no, pugs repo
20:26 synth left #perl6
20:28 * moritz_ -> sleep
20:29 M_o_C left #perl6
20:30 frettled alester: Hrm, I don't see where it actually fails.
20:30 maconga left #perl6
20:31 alester it just hangs
20:31 alester I wonder if the OS X SSH has some magic that I didn't compile into the new one
20:32 frettled Aha.
20:32 frettled Firewall.
20:33 frettled Or am I misremembering when my brain tells me that there is an application-level firewall in MacOS X?
20:37 javs left #perl6
20:38 alester I can look
20:39 tadzik joined #perl6
20:39 alester No, because it DOES ask for a password
20:47 plobsing2 joined #perl6
20:50 plobsing left #perl6
20:52 patspam joined #perl6
21:00 rhebus rakudo: sub ident (Int $x) { $x }; sub list (Range $r) { for $r { say ident $_ } }; list (1..10)
21:00 p6eval rakudo ae66fe: OUTPUT«Nominal type check failed for parameter '$x'; expected Int but got Range instead␤  in 'ident' at line 22:/tmp/eJq1oOINFL␤  in <anon> at line 22:/tmp/eJq1oOINFL␤  in 'list' at line 1␤  in main program body at line 22:/tmp/eJq1oOINFL␤»
21:00 rhebus what am i doing wrong with that for loop?
21:00 TimToady $ never interpolates in a list without help
21:00 jnthn rhebus: Need to put the range in list context
21:01 jnthn for @($r) { ... }
21:01 jnthn or for $r.list
21:01 TimToady or @$r if it were implemented
21:01 rhebus or should I declare (Range @r) instead? would that work?
21:01 rhebus would it have eager implications?
21:02 TimToady not in interpolation
21:02 TimToady @r = is eager though
21:02 TimToady but not @r :=
21:02 TimToady and the sig is binding, so @r should work
21:02 frettled alester: Weirdness twice over.  Hrm.  (Sorry, I'm a bit woozy here.)
21:03 * frettled declares bedtime, nighty-night.
21:03 TimToady note, though, that (Range @r) is a list of Ranges
21:03 TimToady each element of @r would be expected to be a range
21:04 rhebus aha, so that's a no-go
21:04 rhebus so @($r) or $r.list it is then
21:04 TimToady @r is Range is how that woudld be expressed
21:05 rhebus magical
21:05 rhebus and mysterious
21:05 TimToady or @r where Range woudl probably work
21:05 * rhebus goes and reads some S[0-9]{2} docs
21:06 wolverian I don't think I've ever written a method that takes specifically a range (in languages that have them)
21:07 wolverian I suppose you might do that to optimize something
21:15 dduncan joined #perl6
21:17 dduncan moritz_ , I tried emailing you both on the 4th and just now but your email bounces
21:18 Mowah left #perl6
21:18 dduncan I'm requesting a commit bit for perl6 on GitHub ... my existing GitHub account is "muldis"
21:18 rainerschuster joined #perl6
21:19 TimToady done
21:19 dduncan moritz_ , sending you an email bounces back with "503-Sender verification failed"
21:20 dduncan TimToady, if you were referring to me, then should I appear on the right hand column of http://github.com/perl6 ?
21:21 dduncan I got an email from GitHub about this though
21:22 TimToady yes, maybe you need to refresh
21:23 dduncan I did, twice
21:23 dduncan the list shows 10 organization members
21:23 dduncan the email I got mentioned 43 approved committers
21:23 pmichaud dduncan: I see you in the list on my screen.  The "10 organization members" would be the "publicized" members.
21:24 pmichaud I don't know what one does to publicize his/her membership.
21:24 TimToady are you logged in?
21:24 dduncan not logged in yet
21:24 pmichaud aha
21:24 pmichaud you'll need to be logged in, and list yourself as a "publicized member" (I think)
21:24 dduncan okay
21:25 pmichaud (if you want to appear on the public list, that is)
21:25 pmichaud at any rate, I can confirm you're on the commit list :)
21:25 TimToady you can also confirm this by doing a push :)
21:27 dalek rakudo: dd6a03a | pmichaud++ | src/Perl6/Actions.pm:
21:27 dalek rakudo: Refactor whatever_curry to progress towards refactoring out create_code_object()
21:27 dalek rakudo: in favor of block_closure() (which is the way all other closures are created).
21:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/dd6a03a89c0f1f6bcf87e530ad137f1ca6d49001
21:28 rbuels left #perl6
21:30 sahadev left #perl6
21:31 flussence joined #perl6
21:31 flussence hi guys!
21:32 tadzik hello
21:36 TimToady std: /<:&foo>/  # interesting that this syntax is available
21:36 p6eval std 32123: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex assertion at /tmp/VTvArbdQZp line 1:␤------> [32m/<[33m⏏[31m:&foo>/  # interesting that this syntax [0m␤    expecting assertion␤Parse failed␤FAILED 00:01 116m␤»
21:36 TimToady std: / :&foo /  # so is this
21:36 p6eval std 32123: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/b1Z7MG2fSQ line 1:␤------> [32m/ :[33m⏏[31m&foo /  # so is this[0m␤Can't call method "from" on unblessed reference at /opt/perl-5.12.1/lib/site_perl/5.12.1/STD.pm line
21:36 p6eval ..53…
21:37 dduncan okay, now publicized
21:37 TimToady someone else already publicize me :)
21:37 TimToady *ed
21:38 TimToady not sure I want to be publicly associated with this project though... ;)
21:39 jaldhar_ joined #perl6
21:40 flussence Can anyone take a look at this code and see what I'm doing wrong? http://gist.github.com/567539
21:40 flussence It's loosely paraphrased from the CSS 3 spec, works for 1 character input but not for more :(
21:41 TimToady well, rules should generally not start with literals, or they tend not to participate in LTM
21:41 TimToady because of the whitespace before
21:41 flussence oops
21:42 Diego_Grez joined #perl6
21:42 DiegoGrez left #perl6
21:43 Ross left #perl6
21:43 * TimToady wonders if rules should ignore leading whitespace where it is likely to be wrongish, like before literals or ^
21:43 _jaldhar left #perl6
21:43 TimToady this seems to be becoming a FAQ
21:43 lue ohai o/
21:44 TimToady go/zaimasu
21:45 flussence by leading whitespace, do you mean the actual space after the { or something else there? (still new to the whole p6 regex thing, and feeling a bit lost right now)
21:45 TimToady the actual space after the { will match <ws>, which disables longest token matching
21:46 TimToady so most of those should probably be token instead of rule
21:46 lue TimToady: I agree with the ignore leading whitespace thing [OTOH, if you're going for an easy-to-read regex, you probably shouldn't use 'rule']
21:46 flussence doh! alright then, I'll give that a try.
21:46 foodoo left #perl6
21:47 TimToady in particular, having rules that parse \n and such makes no sense
21:47 flussence I should go read the differences between rule/regex/tokens again :)
21:47 alester left #perl6
21:47 TimToady since the <ws> would eat them first
21:48 flussence yeah, that's mainly my fault for copy-pasting most of the language verbatim...
21:49 TimToady most parsers assume their lexer is managing whitespace; in p6 you do that by using token for lexer-ly stuff
21:49 flussence aha
21:53 rhebus left #perl6
21:57 _jaldhar_ joined #perl6
21:57 flussence yay, s/rule/token/ seems to be getting me somewhere
21:57 jaldhar_ left #perl6
21:58 dduncan I don't know if it was discussed before, but I was wondering about issues related to Unicode canonical-equivalence vs compatibility-equivalence in Perl 6 ...
21:58 Kodi joined #perl6
21:58 TimToady we generally only worry about cananonical here
21:59 TimToady I figger compatibility is something you have to be explicit about
21:59 Kodi Can I (GitHub user KodiB) get commit bits for roast, specs, and rakudo?
21:59 TimToady coming
22:00 dduncan also, what about issues concerning different Unicode chars whose glyphs look the same, and telling them apart by a person looking at the source?
22:02 TimToady Kodi: done
22:02 dduncan AFAIK, identifiers are allowed to be composed of anything considered a letter in Unicode, right?
22:02 dduncan in bareword form that is
22:02 dduncan I assume quoted identifiers can be any string at all
22:02 TimToady dduncan: I think that's a doctor it hurts when I do that issue
22:02 dduncan there might also be security considerations
22:02 Kodi TimToady: Excellent! Except it doesn't look like rakudo is included, since it's in a different group.
22:02 TimToady I think someone else will have to do that
22:02 TimToady sure, but if you're executing user-supplied code you're already in deep kimchee
22:02 TimToady in general strictness catches typos
22:03 TimToady certainly data security needs to be handled careful, but not sure that's a core issue
22:03 TimToady *fully
22:04 dduncan partly I was wondering about this from a language design perspective
22:04 dduncan for example, with regular Str, there can be different abstraction levels involved, eg nationality-specific concepts of when 2 strings are equal vs more general grapheme compares vs codepoint compares
22:05 dduncan now since identifiers are also character strings, is it reasonable for those to compare at different levels, say if identifiers are written with some characters whose identity changes based on the abstraction level?
22:05 Guest23195 left #perl6
22:06 dduncan the canon/compat issue is similar but distinct from that concern
22:06 Kodi left #perl6
22:06 dduncan or how would users know at which levels identifiers are comparing
22:07 TimToady the defaults are all non-information-losing, just as identifiers are case sensitive by default, so too they're sensitive to differences between "compatible" characters by default
22:08 yrgd joined #perl6
22:08 lue Are 'A' and 'a' the same grapheme? [I can't find a straight answer]
22:08 dduncan I believe not
22:08 dduncan lue
22:08 TimToady if there's a different policy, it should be via pragma
22:08 TimToady lue: certainly not
22:09 dduncan I thought it prudent for Perl 6 to have some pragma indicating the grapheme abstraction level of the source code it is in, analogous to the "use utf8" or "use encoding" of Perl 5
22:09 dduncan while we can say all Perl 6 is Unicode, there still remains those issues
22:10 lue I remember some unit where 'A' and 'a' are considered the same. I thought it was 'grapheme'.
22:10 timbunce left #perl6
22:10 TimToady the default is supposed to be grapheme level, where grapheme is, more or less, unique NFC sequence of base plus any marks
22:10 dduncan A and a being the same is a higher level abstraction than grapheme
22:11 TimToady NFC implying that if there's a precomposed form, that's its "grapheme number"
22:11 dduncan I prefer to go by NFD (or NFKD) in terms of defining the semantics of when 2 things are equal, even if the storage is NFC, since there is more than one NFC for the same NFD sequence sometimes
22:11 TimToady and if not, we graduate to "NFG", where we make up temporary grapheme numbers for convenience.
22:11 dduncan NFC may work for storage, but semantics-wise it has issues
22:12 TimToady doesn't everything? :)
22:12 dduncan NFD lacks such issues as far as I know
22:12 TimToady I know the argument for NFD in terms of future compatibility
22:13 TimToady NFG also doesn't have the issue because it's never stored externally
22:13 dduncan AFAIK, even now, say take a single base letter and 2 accents, and there are 2 different representations in NFC
22:13 TimToady NFD too
22:14 dduncan in respect to having multiple representations of the same grapheme, yes
22:14 TimToady in NFG these are considered distinct graphemes, since appearance may depend on order of marking
22:16 dduncan but I see NFD/NFC/NFG as more of an implementation issue ...
22:16 dduncan mainly it is NF*/NFK* etc which is the more user-visible issue
22:16 TimToady indeed, and at that point we require explicit user input
22:16 dduncan same as case-sensitive vs not, accent-sensitive vs not
22:17 TimToady defaults should tend to not lose information
22:17 dduncan does the spec deal with that yet, or could you add something about it?
22:17 dduncan namely, how for a user to specify
22:18 TimToady ./S32-setting-library/Str.pod: our Str multi method nfkc ( Str $string: ) is export {
22:19 dduncan mainly I'm concerned about how source code is interpreted, or how identifiers compare
22:19 dju left #perl6
22:19 dduncan how to be explicit about that
22:20 dduncan regular Str data is easy in comparison
22:20 TimToady that would be by pragma, about which I tend to be very conservative, in the hopes that nobody ever really needs it :)
22:21 dduncan it would be good for future-proofing though
22:21 tag_ joined #perl6
22:21 dduncan or so that when people care, there is some documented default for how to interpret older code that didn't declare it explicitly
22:22 TimToady it won't be something that is difficult to standardize if the need arises
22:23 TimToady the default will be NFG in some form
22:23 tag_ left #perl6
22:26 TimToady and for the moment, NFC is a good enough approximation to that for most uses that aren't explicitly trying to push the Unicode envelope.
22:27 TimToady (well, and for languages that require graphemes lacking precomposed forms)
22:27 TimToady but most Perl 6 programs aren't written in those languages yet
22:30 tadzik left #perl6
22:34 cjk101010 left #perl6
22:35 rgrau_ joined #perl6
22:36 rgrau left #perl6
22:47 gfldex rakudo: my %h; grammar Foo { rule TOP { <bar>+ }; token bar { (.) { %h{$0} = 1 } } }; Foo.parse('abc'); say %h.perl;
22:47 p6eval rakudo ae66fe: OUTPUT«maximum recursion depth exceeded␤  in 'Any::postcircumfix:<{ }>' at line 1␤  in <anon> at line 1␤  in 'Any::postcircumfix:<{ }>' at line 1␤  in <anon> at line 1␤  in 'Any::postcircumfix:<{ }>' at line 1␤  in <anon> at line 1␤  in 'Any::postcircumfix:<{ }>' at line 1␤  in
22:47 p6eval ..<anon> at …
22:47 gfldex known problem?
22:48 Diego_Grez left #perl6
22:49 gfldex the problem is %h{$0}
22:49 gfldex $0 should be $0.Str but is $0.Match and
22:50 TimToady a hash by default is supposed to stringify its keys
22:50 TimToady so %h{$0} should act like %h{$0.Str}
22:51 TimToady or %h{~$0} rather
22:51 gfldex shall I rakudobug?
22:51 dduncan left #perl6
22:51 TimToady looks like
22:52 TimToady hmm, it's probably trying to see if $0 is a slic
22:52 TimToady slice
22:52 TimToady which it can't be, since $ isn't supposed to flatten
22:52 gfldex does a hash require a key to be Str?
22:53 TimToady by default, yes
22:54 TimToady S09:1169 shows how to change that
22:54 TimToady though that's NYI
22:58 gfldex http://perlcabal.org/syn/ is still pointing at svn.pugscode.org for the *.pod
23:07 rainerschuster left #perl6
23:16 colomon it's a well-known issue
23:17 colomon so I presume it's reported already.
23:19 xinming_ joined #perl6
23:22 xinming left #perl6
23:23 rschuster joined #perl6
23:28 rschuster left #perl6
23:31 Sec .say for ( [1], { [0, @^a Z+ @a, 0] } ... * )[^10]
23:36 justatheory joined #perl6
23:42 EvanCarroll left #perl6
23:55 guidjos joined #perl6
23:57 barika joined #perl6
23:59 rschuster joined #perl6
23:59 rschuster left #perl6

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

Perl 6 | Reference Documentation | Rakudo