Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-06-14

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:22 tintin joined #perl6
00:23 tintin did larry create perl6?
00:23 tintin or is it forked by someone else?
00:25 adu tintin: yes, larry started perl6
00:25 adu I'm not sure how much of it is dictatorship and how much of it is community
00:25 tintin so is perl5 dead? why did he leave perl5?
00:26 adu tintin: he didn't leave perl5
00:26 adu perl5 is used by zillions of websites, it's not dead
00:26 tintin or will the perl5 be dead when all will use perl6 instead of perl5?
00:26 tintin will perl6 replace all of those perl5 apps on those websits?
00:26 adu perl6 is incompatible with perl5 (unless you're really really careful about how you write)
00:27 tintin perl6 doesn't support perl5 syntax/usage?
00:27 adu the idea (I think) is that you could rewrite perl5 apps in perl6, and it might be a shorter program
00:27 tintin does larry join here? did he join #perl6 ever?
00:27 adu perl6 has better regexes
00:27 diakopter tintin: larry is named TimToady here
00:28 adu diakopter: I did not know that!
00:28 diakopter oh :)
00:28 tintin oh, no, i also didn't know that
00:29 tintin TimToady: hi, are you there?
00:29 diakopter YAPC::NA 2012 is currently occuring in Madison, WI
00:30 diakopter several folks are there
00:30 adu tintin: do you know any other languages?
00:31 tintin what is YAPC::NA ?
00:31 diakopter http://www.lmgtfy.com/?q=YAPC::NA
00:35 tintin TimToady: hi
00:36 mcglk joined #perl6
00:36 tintin left #perl6
00:39 tokuhiro_ joined #perl6
00:54 fgomez joined #perl6
00:58 adu omg, greping for 'HOW' in the synopses is not fun
00:59 adu most of the matches are 'however'
01:01 Juerd Grep with word boundary anchors
01:01 Juerd \b in Perl regexes, \< and \> in some other dialects
01:01 adu if only Chrome supported that
01:02 adu I was using 'grep' in the informal sense
01:02 scott__ joined #perl6
01:03 adu how would I get the method names as a list of strings?
01:07 jaldhar joined #perl6
01:12 larks joined #perl6
01:14 larks is there a way to search an array of strings. something like "" if ('tom' ~~ ['tom', 'dick', 'harry']) "" but works?
01:15 adu nr: say "tom" ~~ / tom | dick | harry /
01:15 p6eval niecza v18-7-ga660099: OUTPUT«#<match from(0) to(3) text(tom) pos([].list) named({}.hash)>␤»
01:15 p6eval ..rakudo 90333b: OUTPUT«q[tom]␤␤»
01:16 larks thanks, now I have to figure do that with vars
01:17 adu the vars?
01:17 larks with a scalar for the search term and an array for the list of things to search
01:18 larks like    if ($st ~~ @sa) {
01:18 * [Coke] hurls http://boingboing.net/2012/06/13/m​eritocracies-become-oligarchi.html, as this reminds him of the schwernification earlier.
01:21 tokuhiro_ joined #perl6
01:21 adu according to S05, it should be "tom" ~~ /@sa/
01:21 leprevost joined #perl6
01:22 adu but it doesn't seem to work
01:23 larks hhmmm, yeah.
01:24 larks might just have to create a sub for it
01:41 geekosaur also see http://mark.dreamwidth.org/22320.html
01:48 adu oh meritocracy
01:49 adu I think you guys misunderstand meritocracy
01:53 geekosaur er, no
02:09 adu merit != code
02:09 adu merit != test scores
02:12 * geekosaur thinks that focusing on that means that you are the one missing the point...
02:15 fgomez joined #perl6
02:15 adu what was the point?
02:15 adu lol
02:15 geekosaur merit is indeed none of those things.  however, in practice it is not what supporters of so-called "meritocracies" claim it is
02:16 geekosaur ^it is not^it is also not^
02:16 quietfanatic joined #perl6
02:18 geekosaur and tbh when someone steps in with "you misunderstand meritocracy, merit does not mean code or ..." I start smelling burning straw
02:19 pmichaud [Coke]: (boingboing article)   Noirin Plunkett said something to the effect that the Apache Software Foundation values "do-ocracy" over "meritocracy".  (talk link at http://act.yapcna.org/2012/talk/89)
02:19 quietfanatic nr: say for "123".^methods
02:19 p6eval niecza v18-7-ga660099: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/ktFlzmrSs9 line 1:â�¤------> [32msay[33mâ��[31m for "123".^methods[0mâ�¤â�¤Unhandled exception: Check faile…
02:19 p6eval ..rakudo 90333b: OUTPUT«␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤»
02:19 quietfanatic nr: .say for "123".^methods
02:19 p6eval rakudo 90333b: OUTPUT«BUILD␤Int␤Num␤chomp␤chop␤substr␤pred␤suc​c␤ll-match␤match-list␤ords␤lines␤samecase␤sames​pace␤trim-leading␤trim-trailing␤trim␤words␤enco​de␤capitalize␤trans␤indent␤WHICH␤Bool␤Str␤ACCEP​TS␤Numeric␤gist␤perl␤comb␤match␤subst␤split␤»…
02:19 p6eval ..niecza v18-7-ga660099: OUTPUT«Unhandled exception: Unable to resolve method methods in type ClassHOW␤  at /tmp/6HEfUA0DNn line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3917 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3918 (module-CORE @ 562) ␤  at …
02:19 quietfanatic How's that, adu?
02:19 adu how is what?
02:19 quietfanatic for getting the list of methods
02:19 quietfanatic as a list of strings
02:20 pmichaud i.e., "merit" is something that can be established based on work performed long ago.  ASF is more of a "what are you doing now?" sort of thing as opposed to "what have you done great in the past?"
02:20 quietfanatic actually I think they're coderefs that stringify.
02:20 adu r: grammar G { rule TOP { <?> }; }; say G.^methods
02:20 p6eval rakudo 90333b: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine'␤  in method gist at src/gen/CORE.setting:4598␤  in sub say at src/gen/CORE.setting:6972␤  in block <anon> at /tmp/s2Az2vH6Ab:1␤␤»
02:20 quietfanatic little late, I know
02:20 adu r: grammar G { rule TOP { <?> }; }; say for G.^methods
02:20 p6eval rakudo 90333b: OUTPUT«␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤​␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤»
02:20 quietfanatic You'll have to say .say
02:21 adu r: grammar G { rule TOP { <?> }; }; .say for G.^methods
02:21 p6eval rakudo 90333b: OUTPUT«TOP␤parse␤parsefile␤MARK_FROM␤MARK_TO␤M​ATCH␤INTERPOLATE␤OTHERGRAMMAR␤RECURSE␤prior␤No such method 'say' for invocant of type 'NQPRoutine'␤  in block <anon> at /tmp/q3b_lonuz1:1␤␤»
02:21 quietfanatic and
02:21 quietfanatic iyeah
02:21 quietfanatic *yeah
02:21 adu I have no idea why that works :/
02:21 quietfanatic looks like there's some NQP leakage there
02:21 quietfanatic The .^ is short for .HOW.
02:21 adu quietfanatic: thanks!
02:21 pmichaud r: grammar G { rule TOP { <?> }; };  .name.say for G.^methods  # just curious
02:21 p6eval rakudo 90333b: OUTPUT«TOP␤parse␤parsefile␤MARK_FROM␤MARK_TO␤M​ATCH␤INTERPOLATE␤OTHERGRAMMAR␤RECURSE␤prior␤No such method 'name' for invocant of type 'NQPRoutine'␤  in block <anon> at /tmp/hJaBbbT0v6:1␤␤»
02:21 quietfanatic r: grammar G { rule TOP { <?> }; };  .name.say for G.HOW.methods
02:21 adu quietfanatic: oh ok, I've seen the .HOW version
02:21 p6eval rakudo 90333b: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in any methods at src/gen/Metamodel.pm:377␤  in block <anon> at /tmp/LsmQ7r0drt:1␤␤»
02:22 pmichaud G.HOW(G).methods
02:22 quietfanatic or...not...
02:22 pmichaud HOW requires an argument.
02:22 quietfanatic really?
02:22 pmichaud (in addition to the invocant)
02:22 quietfanatic That's new.
02:22 adu quietfanatic: I understand the 'for', but what does '.say' mean?
02:22 quietfanatic why?
02:22 quietfanatic .say means $_.say
02:23 quietfanatic functions don't automatically operate on $_ the way they do in p5
02:23 adu so that's the same as for G.^methods -> $_ { $_.say }
02:23 quietfanatic yes
02:23 adu ok
02:23 pmichaud r:  .say for Int.HOW.methods  # checking
02:23 p6eval rakudo 90333b: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in any methods at src/gen/Metamodel.pm:377␤  in block <anon> at /tmp/st2EyckQSR:1␤␤»
02:23 pmichaud r:  .say for Int.HOW(Int).methods  # checking
02:23 p6eval rakudo 90333b: OUTPUT«use of uninitialized value of type Mu in string context  in any <anon> at src/gen/BOOTSTRAP.pm:104␤␤use of uninitialized value of type Mu in string context  in any <anon> at src/gen/BOOTSTRAP.pm:104␤␤=​==SORRY!===␤error:imcc:The opcode 'get_how_p_p_p' (get_how<3>) w…
02:23 adu which synopsis is that in?
02:23 pmichaud hmmmm
02:24 pmichaud okay, I'm misremembering something.
02:24 pmichaud r:  .say for Int.HOW.methods(Int)
02:24 p6eval rakudo 90333b: OUTPUT«Int␤Num␤Rat␤FatRat␤abs␤Bridge␤chr␤succ␤​pred␤sqrt␤base␤floor␤round␤ceiling␤sign␤conj␤r​and␤sin␤asin␤cos␤acos␤tan␤atan␤atan2␤sec␤asec␤​cosec␤acosec␤cotan␤acotan␤sinh␤asinh␤cosh␤acos​h␤tanh␤atanh␤sech␤asech␤cosech␤acosech␤cotanh␤​acotanh␤unpolar␤cis␤Complex␤log␤exp␤trunca…
02:24 pmichaud there
02:24 quietfanatic adu: I don't remember
02:24 pmichaud when used with HOW, .methods needs the argument
02:25 quietfanatic adu: probably S04
02:25 pmichaud adu: S12 has the .obj notation.
02:26 pmichaud "Dot notation can omit the invocant if it's in C<$_>:
02:26 pmichaud .doit(1,2,3)"
02:26 quietfanatic Aah
02:26 adu pmichaud: thanks :)
02:26 pmichaud S12:321
02:26 quietfanatic why does it need an argument with HOW but not ^?
02:26 quietfanatic This does not intuit.
02:26 pmichaud quietfanatic: I don't recall exactly why; it's a meta-object protocol thing.
02:27 pmichaud quietfanatic: but that is what S12 says
02:27 quietfanatic well I never quite understood p6's mop
02:27 * diakopter neither
02:27 pmichaud S12:2309
02:27 quietfanatic That's my next complaint I'm gonna make to timtoady :)
02:28 pmichaud I'm fairly certain that the extra argument is indeed necessary; jnthn++ convinced me why it needed to be there (and pmurias++ also claimed it needed to be there as well)
02:29 flussence there's a type object to introspect, and the type object whose metaclass you use to introspect it. or so I'm guessing
02:29 quietfanatic but why isn't it needed on .^methods then?
02:30 pmichaud I suspect the .^ includes the $obj for you
02:30 flussence that's a shortcut, it's meant to be short :)
02:30 quietfanatic especially since the spec still just says "the ^ metasyntax is equivalent to .HOW"
02:31 pmichaud method dispatch:<.^>(Mu \$self: $name, |$c) is rw is hidden_from_backtrace {
02:31 pmichaud self.HOW."$name"($self, |$c)
02:31 pmichaud }
02:31 quietfanatic ah
02:31 quietfanatic so it's that way on all ^methods
02:31 adu quietfanatic: I don't have a problem with .^methods, for some reason it makes sense that it doesn't take an argument
02:31 cognominal joined #perl6
02:32 adu kinda how you don't need to do $x.f($x) to pass self
02:32 quietfanatic r: .say for Int.HOW.methods(Cool)
02:32 p6eval rakudo 90333b: OUTPUT«Int␤Num␤Rat␤FatRat␤abs␤Bridge␤chr␤succ␤​pred␤sqrt␤base␤floor␤round␤ceiling␤sign␤conj␤r​and␤sin␤asin␤cos␤acos␤tan␤atan␤atan2␤sec␤asec␤​cosec␤acosec␤cotan␤acotan␤sinh␤asinh␤cosh␤acos​h␤tanh␤atanh␤sech␤asech␤cosech␤acosech␤cotanh␤​acotanh␤unpolar␤cis␤Complex␤log␤exp␤trunca…
02:32 quietfanatic r: .say for Cool.HOW,methods(Int)
02:32 p6eval rakudo 90333b: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&methods' called (line 1)␤»
02:32 quietfanatic r: .say for Cool.HOW.methods(Int)
02:32 p6eval rakudo 90333b: OUTPUT«abs␤conj␤sqrt␤sign␤rand␤sin␤asin␤cos␤ac​os␤tan␤atan␤atan2␤sec␤asec␤cosec␤acosec␤cotan␤​acotan␤sinh␤asinh␤cosh␤acosh␤tanh␤atanh␤sech␤a​sech␤cosech␤acosech␤cotanh␤acotanh␤cis␤log␤exp​␤roots␤log10␤unpolar␤round␤floor␤ceiling␤trunc​ate␤bytes␤chars␤fmt␤substr␤uc␤lc␤ucfirst␤l…
02:33 flussence I think the separation is to allow things like this to work... https://github.com/jnthn/grammar-debug​ger/blob/master/lib/Grammar/Tracer.pm
02:33 adu quietfanatic: oh comma
02:34 adu hugme: add adu to rakudo
02:34 hugme adu: You need to register with freenode first
02:35 * quietfanatic secretly thinks p6's mop is an ungrokkable mess
02:35 adu metaobjectprotocol?
02:35 quietfanatic yes
02:35 adu that's so CL
02:36 quietfanatic CL?
02:36 adu common lisp
02:36 quietfanatic ah
02:36 adu the first use of the term
02:36 quietfanatic like in CLOS, yes
02:37 adu see also: http://en.wikipedia.org/wi​ki/Greenspun's_tenth_rule
02:37 quietfanatic haha except I don't believe it.
02:37 adu I've also been interested in NQP, not from a practical perspective, but an S-expression perspective
02:38 adu how would one create a 1-to-1 correspondance between Perl6 and an S-expression representation
02:38 quietfanatic I like S-expressions in theory
02:39 adu sexps are very AST-ish
02:39 adu and they correspond very closely to PAST::Op
02:39 quietfanatic indeed.  But I do not think raw S-expressions make a good programming language.
02:39 quietfanatic Oh yes, here's what I was gonna say:
02:40 quietfanatic ((function-generator argument1) argument2)
02:40 adu I've written lots of code in Scheme (I've never actually used CL, I just read CLHS as a bed-time story :)
02:40 quietfanatic is a valid s-expression, but I don't think there is an AST equivalent.
02:40 quietfanatic it'd have to be (call (function-generator argument1) argument2) or something
02:40 adu right
02:41 quietfanatic unless every single branch of your AST is a call.
02:41 adu heh
02:41 adu well, I'm very interested in extra-compiler tools
02:42 quietfanatic I do like the idea of a language's AST being fully specced and machine-manipulatable.
02:42 quietfanatic something I think more languages should pick up on besides lisp descendants.
02:42 adu like AST-based (as opposed to text-based) editors, static analysis, syntax highlighting, documentation generation, literate programming, source-based debugging, etc.
02:42 quietfanatic yes, those are all pretty cool.
02:43 adu and it'd be nice is there was something like NQP
02:43 adu for that sake
02:43 quietfanatic I think Perl 6 is more poised to take advantage of such things than Perl 5.
02:43 adu indeed
02:43 quietfanatic but I still would like the AST to be specced instead of implementation-dependent.
02:44 adu right, I've had too many emacs highlighting mistakes
02:44 quietfanatic I mean I know you're supposed to be able to kind of manipulate it with macros and quasi-quoting, but only to a degree.
02:45 quietfanatic I actually suspect perl 6 will be near-impossible to properly syntax-highlight because of its mutable grammar.
02:45 adu one worry I have is that it's admitedly impossible to make a libp6cre lib
02:45 adu which increases the impetus for more implementations of perl6
02:45 quietfanatic but I also think that perl 6's syntax is readable and colorful enough that real colors aren't really needed.
02:47 adu if there were to be a JVM impl of perl6, would it be a backend of niecza or rakudo? or would it have to be written from scratch?
02:47 quietfanatic hmm
02:48 adu I ask because the only way I can use Perl6 for my job is if it's JVM based. My boss is in love with JVM, don't ask me why
02:48 quietfanatic my feeling is that the JVM is particular enough about it object model that it'd have to be written from scratch, but I am no expert in these matters.
02:49 quietfanatic Java is kind of a walled garden.  It interacts great with things on the JVM.  Things not on it...not so much.
02:49 adu I wrote an OpenGL Android app in JNI
02:50 quietfanatic oh nice
02:50 quietfanatic I guess there are ways
02:50 adu but you're right, aside from JNI, not so much integration
02:50 quietfanatic but of course, the JNI goes to the C / asm level
02:50 adu .NET has the benefit of having the majority of all users behind it
02:51 quietfanatic and no p6 implementation, so far as I know, can be accessed from that level.
02:51 adu you could exec("perl6"); lol
02:51 quietfanatic but .NET is also a walled garden.
02:52 adu quietfanatic: I prefer the term 'silo'
02:52 adu sooo much shorter :)
02:52 quietfanatic ahaha.  And with Rakudo's speed, you wouldn't even notice the process overhead!
02:52 quietfanatic silo, huh?
02:52 adu yes
02:52 adu I don't like silos
02:52 quietfanatic That also gives the connotation that it might launch a missle at other VMs one day :)
02:52 adu lol
02:53 adu well, if there is one thing I've learned, it's that the most common newbie question is "what is the best *?"
02:53 quietfanatic to which the most common answer is "best for what?"
02:54 adu actually, my favorite answer is usually someone's favorite language
02:54 adu like Q: "what should I write my parser in?" A: "oh, INTERCAL, definitely"
02:54 quietfanatic yes.  Preferably the version with COMEFROM
02:55 adu lol
02:55 mauke clearly the best * is ✱
02:55 quietfanatic I think the best * is the one that does currying in p6 :)
02:55 adu my favorite VM is x86
02:55 quietfanatic adu: I'm going to have to agree with you on that.
02:56 adu neither Intel nor AMD implement the x86 instruction set the same, they're both compiled to some kind of trade-secret-isa
02:56 quietfanatic well, except for the V part :)
02:56 quietfanatic oh right
02:56 quietfanatic it is V these days
02:56 adu quietfanatic: no I meant the V
02:57 adu aka microcode
02:57 adu quietfanatic: have you heard of FMA?
02:57 quietfanatic No...
02:57 adu it's an instruction set that may bifurcate the x86 ISA
02:57 adu http://en.wikipedia.org/wiki/FMA_instruction_set
02:58 quietfanatic ooh
02:59 quietfanatic of course, if only one company's processors support it, nobody will use it :)
02:59 adu if there was a JVM Perl6 compiler, and an x86 Perl6 compiler, then I can see it being a serious contender to a bunch of languages :)
02:59 adu hence 'bifurcate'
03:00 quietfanatic at least, a serious contender to all the languages that are as slow as metling snow
03:00 quietfanatic *melting
03:00 adu what would be nice is if there was a Perl6 to NQP compiler, which then had dozens of compilers to CLR, JVM, etc.
03:01 adu quietfanatic: I think AMD is going to bow to Intel
03:01 adu have you heard of LLVM?
03:01 quietfanatic Personally, I think cross-platform integration should be on the language level more than the implementation level, but I have yet to see anywhere where this is the case
03:02 quietfanatic I have
03:02 quietfanatic LLVM looks cool, but mostly it hasn't made itself appear relevant.
03:02 quietfanatic yet.
03:02 adu LLVM is pretty close to my ideal compiler
03:02 adu it has a nice ASM
03:03 quietfanatic one of these days I should look more into LLVM.
03:03 adu and it has support (meaning incomplete implementation) for garbage collected languages
03:03 jaldhar joined #perl6
03:03 quietfanatic Does it go on, like, the JVM and .NET
03:03 quietfanatic ?
03:03 adu I was looking into making Parrot and LLVM have a baby (shotgun wedding)
03:03 quietfanatic or more importantly these days, Javascript?
03:03 adu LLVM is a compiler from an abstract ISA to x86, ppc, arm
03:04 quietfanatic I'm afraid if that happens the shotgun will probably be applied to Parrot :)
03:04 adu actually, I heard of an LLVM=>JS compiler, not sure where tho
03:05 adu but what I really like about the LLVM ISA is that it has malloc and free as instructions
03:05 quietfanatic because no matter how cool it'd be, no browser is ever gonna support anything that's not js.
03:05 quietfanatic ah
03:05 adu which is why you have to use the *support* functions to implement GC
03:05 quietfanatic instead of enforcing GC on everything
03:05 sorear this FMA3 FMA4 thing is not a big deal.
03:05 adu sorear: oh?
03:05 cognominal_ joined #perl6
03:06 sorear adu: binaries compiled on one CPU with full optimization will not run on different CPUs
03:06 sorear this is the way things have *always* worked
03:06 adu sorear: sure it'll be fine in the linux world
03:07 sorear you have to rebuild stuff from source when switching CPUs
03:07 quietfanatic as long as no proprietary studio releases a binary that only works on one company's processors.
03:07 adu but it'll suck for closed source
03:07 quietfanatic Even in the open source world, I'm a fan of not requiring non-experts to compile their own code.
03:08 adu how did 2 hours just pass?
03:08 sorear adu: this is literally no different from MMX vs 3DNow! or even PI vs PII
03:08 adu wow
03:08 adu brb
03:08 quietfanatic Like, whoever suggested a while ago that Rakudo* provide binaries: Please do!  I would use them.
03:08 quietfanatic well, these days you can usually rely on sse and stuff
03:09 sorear quietfanatic: if you wanted to use mmx in the 90s you would have had to detect CPUs and branch accordingly
03:09 quietfanatic but that mostly only matters for video decoding/encoding, if I hear correctly
03:09 sorear using fma now is no different
03:09 quietfanatic ah
03:10 quietfanatic ah, ah.  I forgot about runtime CPU detection.
03:10 quietfanatic I concede to sorear then. :)
03:17 adu back
03:17 sorear And of course the existance of minor incompatibilities between CPUs won't affect JITs at all.
03:18 adu the way I see it there should be 3 well-defined subsets of perl
03:18 quietfanatic assuming the JIT is smart about what CPU it's on.
03:18 pmichaud 03:08 <quietfanatic> Like, whoever suggested a while ago that Rakudo* provide binaries: Please do!  I would use them.
03:18 pmichaud quietfanatic: noted.
03:18 quietfanatic and retaining smartness for N different CPUS makes your JIT N times as big.
03:18 adu Perl6, NQP, and some kind of NQP--, or like a Definitely Not Perl, yeah, that's it… DNP
03:19 quietfanatic pmichaud++
03:19 sorear (Regrettably, Microsoft seems to be moving away from JITs)
03:19 pmichaud we have to figure out how to package up binaries in a way that doesn't offend the linux distros, but I think we can find a way to do that
03:20 sorear quietfanatic: much less than N times as big.  The Mono JIT supports x86, x86-64, ppc, sparc, and arm; almost all the code is shared
03:20 pmichaud I'm afk for a while -- bbl
03:20 sorear quietfanatic: and the x86 jit supports option flags, like 'does this CPU support SSE3'
03:20 quietfanatic pmichaud: you can probably just get away with a .deb and a .rpm
03:20 sorear (presumably so do the others, but I've never had a reason to go digging in the ARM JIT)
03:20 adu LLVM is also supposed to support JIT
03:21 adu what I'd like to do is make a database of how every compiler outputs x86 and arm, and use that in future compilers
03:21 quietfanatic sorear: this is why you are the expert and not me.
03:22 adu or maybe a superoptimization database
03:22 adu LLVM is the closest thing I've found to this database idea
03:23 quietfanatic the thing is, optimizations are specific to whatever system you're working on, be it bytecode, AST, asm, or whatever
03:23 quietfanatic and everyone wants their system to be the One System.
03:23 adu of course, that would be part of the theoretical database
03:24 adu quietfanatic: what do you do?
03:25 sorear writing a properly optimizing x86 compiler is *way* beyond my pay grade
03:25 quietfanatic adu: what do you men?
03:25 quietfanatic *mean
03:25 adu quietfanatic: job?
03:25 quietfanatic student
03:25 adu cool!
03:25 adu I dropped out
03:25 quietfanatic ah
03:25 adu then I got a job as an Android/iOS developer
03:26 quietfanatic i kind of wanted to, but for whatevre reason, I hung on.
03:26 adu making money is fun
03:26 quietfanatic i bet
03:26 adu what are you studying?
03:27 quietfanatic cs
03:27 adu hmm, shoud this be in PM?
03:28 quietfanatic PM?
03:29 adu PM = private message
03:29 quietfanatic oh.  perhaps.
04:12 Entonian joined #perl6
04:25 majrmovies joined #perl6
04:35 telex joined #perl6
04:42 mattp_ joined #perl6
04:43 daemon joined #perl6
04:47 telex joined #perl6
04:47 odoacre joined #perl6
05:13 sorear p6: @*ARGS >>.= flip
05:13 p6eval pugs: OUTPUT«*** ␤    Unexpected ">.="␤    expecting operator␤    at /tmp/n3CKedGv5F line 1, column 9␤»
05:13 p6eval ..niecza v18-7-ga660099: OUTPUT«[31m===[0mSORRY![31m===[0m��Missing << or >> at /tmp/i4p7E75KtK line 1:�------> [32m@*ARGS >>.=[33m�[31m flip[0m��Parse failed��»
05:13 p6eval ..rakudo 90333b: OUTPUT«===SORRY!===␤Missing << or >>␤at /tmp/oQJaRSKq2W:1␤»
05:13 sorear p6: @*ARGS».=flip
05:13 p6eval pugs: OUTPUT«*** No such method in class Scalar: "&flip"␤    at /tmp/Rk_kc_Z7Ak line 1, column 1 - line 2, column 1␤»
05:13 p6eval ..rakudo 90333b, niecza v18-7-ga660099:  ( no output )
05:13 sorear p6: @*ARGS ».=« flip
05:13 p6eval pugs: OUTPUT«*** ␤    Unexpected "\187.=\171"␤    expecting operator␤    at /tmp/IZD4t8EWeF line 1, column 8␤»
05:13 p6eval ..rakudo 90333b: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't shift from an empty array!␤»
05:13 p6eval ..niecza v18-7-ga660099: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤This macro cannot be used as a function at /tmp/deFcMJOM1d line 1:â�¤------> [32m@*ARGS ».=«[33mâ��[31m flip[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5) â�¤  at /hom…
05:14 sorear hey, I broke Rakudo
05:15 adu o hi sorear
05:15 adu uh oh
05:17 birdwindupbird joined #perl6
05:30 moritz \o
05:35 * moritz backlogs
05:36 moritz one blocker to really useful binary builds is relocatability
05:39 moritz quietfanatic: I don't think p6's MOP is an ungrokkable mess; it just needs some very good documentation
05:40 moritz r: say Buf.new(65).decode
05:40 p6eval rakudo 90333b: OUTPUT«A␤»
05:44 dalek doc: 25709f6 | moritz++ | lib/ (2 files):
05:44 dalek doc: Str.substr, Str.encode, Buf.decode
05:44 dalek doc: review: https://github.com/perl6/doc/commit/25709f6c02
05:54 masak go' mo', meatbrains.
05:55 * masak submits sorear's ResizablePMCArray rakudobug
05:55 sorear o/ masakbot
05:56 * masak bobs in mid-air
05:56 masak for some reason, to my inner eye, bots float.
05:57 masak probably due to http://www.amazon.com/Player-Games​-Culture-Iain-Banks/dp/0316005401
05:57 sorear mm, iain banks.  probably should read someday.
05:58 masak yes. all the ones I've read by him have been satisfactory. space feels big.
05:59 masak but don't read him before you read Charles Stross.
05:59 sorear is _Accelerando_ enough?
05:59 masak "Accelerando" is the one I was about to recommend.
06:00 sorear *also* on my to-read list, but at least I have a copy of it.
06:00 masak it manages to be both head-crunchingly futuristic, and funny in a way probably mostly programmers will appreciate.
06:01 masak I finished it day before yesterday.
06:03 masak r: my @a; @a ».=« flip
06:03 p6eval rakudo 90333b: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't shift from an empty array!␤»
06:03 masak r: (my @) ».=« flip
06:03 p6eval rakudo 90333b: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't shift from an empty array!␤»
06:03 wtw joined #perl6
06:04 masak I'm tryin' to figger out what ».=« means, semantically.
06:04 brrt joined #perl6
06:05 masak so, infix:<.=> is an operator that makes the rhs a bit special.
06:05 masak 'flip' is still a method.
06:06 sorear masak: I vote for 'nothing'
06:06 tadzik good morning
06:06 sorear actually, I somewhat think .= should be treated syntactically as an adverb
06:06 sorear accepted in infix position but otherwise parses as a postfix
06:07 sorear incidentally, I am starting to very seriously toy with the idea of yapc::eu
06:10 masak dobre rano, tadziku.
06:11 masak sorear: \o/
06:16 nebuchadnezzar joined #perl6
06:20 adu meatbrain?
06:20 adu is that a good thing? or a bad thing?
06:21 adu tadzik: why do you always show up when I start sleeping?
06:21 masak adu: it's better than being a nematode.
06:22 adu ew
06:22 masak but probably worse than being a Matryoshka brain.
06:22 adu the video codec or the doll?
06:22 masak the doll.
06:23 * sorear can't help but think that neurons are suboptimal in some functions
06:23 crab2313 joined #perl6
06:23 masak it's essentially a Dyson sphere made of computronium.
06:23 tadzik adu: basing purely on your definition, I should be a Dream :P
06:23 adu tadzik: lol
06:23 masak tadzik: or a snore :P
06:23 tadzik but it's more likely than I'm just a bat
06:23 masak tadzikbat
06:24 sorear masak: just be careful not to get a black hole made of computronium.
06:24 tadzik adu: and, to be honest, I'm sleepy as well :P
06:24 masak sorear: brings a new meaning to `> /dev/null`, doesn't it?
06:24 adu that's natural, in the morning
06:24 adu hmm is that different than >> /dev/null?
06:25 sorear masak: also, I think dyson spheres are insuffiently audacious.
06:25 adu also, not real
06:25 sorear masak: hydrogen burning even in fully convective stars is only ~1% efficient
06:26 adu might as well call it a zero-point energy or overunity device
06:26 masak sorear: I should have breakfast before listening to your ideas about something more audacious than a Dyson sphere. :)
06:28 adu oOo http://io9.com/5758349/why-com​putronium-is-really-unobtanium
06:29 adu o did I tell you the good news?
06:29 masak maybe not?
06:29 adu I got my go parser to parse a file from the go stdlib
06:29 adu after semicolon preprocessing
06:29 masak \o/
06:29 masak adu++
06:30 adu http://golang.org/src/pkg/bufio/bufio.go
06:30 adu and http://pastebin.com/W297Nn8m
06:31 adu now I just need PAST/QAST/RAST or whatever back to source form
06:31 xinming joined #perl6
06:31 adu maybe too many steps in the future
06:31 adu my current problem is semicolons
06:31 * tadzik commutees
06:31 adu and sorear gave me this: https://gist.github.com/2920292
06:32 adu oops, sorear++
06:32 adu :)
06:32 * sorear waits for masak to break fast.
06:33 adu I wish $/.prematch was available inside a regex
06:37 sorear n: "abcdefghij" ~~ / f { say $/.prematch } /
06:37 p6eval niecza v18-7-ga660099: OUTPUT«Unhandled exception: Unable to resolve method prematch in type Cursor␤  at /tmp/ZpZVQKoXeh line 1 (ANON @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2874 (Regex.ACCEPTS @ 10) ␤  at /tmp/ZpZVQKoXeh line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/…
06:38 sorear huh.
06:39 dalek niecza/non-bootstrap: b4a73f6 | sorear++ | / (8 files):
06:39 dalek niecza/non-bootstrap: job.rxinfo fiddles, port Operator
06:39 dalek niecza/non-bootstrap: review: https://github.com/sorear/niecza/commit/b4a73f67e6
06:39 fhelmberger joined #perl6
06:42 adu is there any way to do self.orig[0:self.pos] in a regex?
06:45 moritz r: say so 'abc' ~~ / . ** 2 { say ~$/.prematch } /
06:45 p6eval rakudo 90333b: OUTPUT«␤True␤»
06:45 moritz r: say so 'abc' ~~ / . ** 2 { say ~$/ } /
06:45 p6eval rakudo 90333b: OUTPUT«ab␤True␤»
06:46 moritz r: say so 'abcdefg' ~~ / de  { say $.prematch/ } /
06:46 p6eval rakudo 90333b: OUTPUT«=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€Sâ�€â�​€â�€Oâ�€â�€â�€Râ�€â�€â�€Râ�€â�€â�€Yâ�€â�€â�€​!â�€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�¤â​�€â�€â�€Vâ�€â�€â�€aâ�€â�€â�€râ�€â�€â�€iâ�€â�​€â�€aâ�€â�€â�€bâ�€â�€â�€lâ�€â�€â�€eâ�€â�€â�€ â�€â�€â�€$â�€â�€â�€.â�€â�€â�€pâ�€â�€â​�€râ�€â�€â�€eâ�€â�€â�€mâ�€â�€â�€aâ�€â​�€â�€tâ�€â�€â�€câ�€â�€â�€hâ�€â�€â�€ â�€â�€â�€uâ�€â�€â�€sâ�€â�€â�€eâ�€â�€â�€dâ�€â�€â�€ â�€â�€â�€wâ�€â�€â�€hâ�€â�€â�€eâ�
06:46 moritz r: say so 'abcdefg' ~~ / de  { say $.prematch } /
06:46 p6eval rakudo 90333b: OUTPUT«=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€Sâ�€â�​€â�€Oâ�€â�€â�€Râ�€â�€â�€Râ�€â�€â�€Yâ�€â�€â�€​!â�€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�¤â​�€â�€â�€Vâ�€â�€â�€aâ�€â�€â�€râ�€â�€â�€iâ�€â�​€â�€aâ�€â�€â�€bâ�€â�€â�€lâ�€â�€â�€eâ�€â�€â�€ â�€â�€â�€$â�€â�€â�€.â�€â�€â�€pâ�€â�€â​�€râ�€â�€â�€eâ�€â�€â�€mâ�€â�€â�€aâ�€â​�€â�€tâ�€â�€â�€câ�€â�€â�€hâ�€â�€â�€ â�€â�€â�€uâ�€â�€â�€sâ�€â�€â�€eâ�€â�€â�€dâ�€â�€â�€ â�€â�€â�€wâ�€â�€â�€hâ�€â�€â�€eâ�
06:46 moritz another instance of the UCS-4 bug
06:47 sorear ucs 4 ... bug?
06:47 adu interesting
06:47 sorear n: "abcdefghij" ~~ / f { say substr($/.orig,0,$/.pos) } /
06:47 p6eval niecza v18-7-ga660099: OUTPUT«abcdef␤»
06:47 sorear n: "abcdefghij" ~~ / f { say substr($/.orig,0,self.pos) } /
06:47 p6eval niecza v18-7-ga660099: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤'self' used where no object is available at /tmp/3mKeJ6SEG6 line 1:â�¤------> [32mghij" ~~ / f { say substr($/.orig,0,self[33mâ��[31m.pos) } /[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.sett…
06:48 sorear n: "abcdefghij" ~~ regex { f { say substr($/.orig,0,self.pos) } }
06:48 p6eval niecza v18-7-ga660099: OUTPUT«abcde␤»
06:48 adu moritz: what does "say so" mean?
06:48 moritz adu: http://faq.perl6.org/#so
06:49 adu interesting
06:51 moritz r: say Bool ~~ Cool
06:51 p6eval rakudo 90333b: OUTPUT«True␤»
06:51 moritz n: say Bool ~~ Cool
06:51 p6eval niecza v18-7-ga660099: OUTPUT«True␤»
06:51 moritz n: say Bool.HOW
06:51 p6eval niecza v18-7-ga660099: OUTPUT«ClassHOW.new(...)␤»
06:52 sorear I should fix that someday
06:52 moritz nr: say Bool ~~ Int
06:52 p6eval rakudo 90333b: OUTPUT«False␤»
06:52 p6eval ..niecza v18-7-ga660099: OUTPUT«True␤»
06:52 adu hmm doesn't seem to work for me
06:56 sorear What doesn't work?  In what way does it not work?
06:56 adu o wait substr($/.orig,0,self.pos) works!
06:56 adu yey
06:56 dalek doc: 35eec2d | moritz++ | lib/Bool.pod:
06:56 dalek doc: Bool
06:56 dalek doc: review: https://github.com/perl6/doc/commit/35eec2d20d
06:56 * adu is happy
06:56 masak made breakfast. nomming it now.
06:56 masak need to start packing soon.
06:56 masak moritz++ # documenting
06:56 * adu loves breakfast
06:56 masak it's one of my favorite dishes.
06:56 adu karma masak
06:56 aloha masak has karma of 737.
06:57 sorear what does packing pack for?
06:57 adu karma adu
06:57 aloha adu has karma of 10.
06:57 adu yey
06:57 masak sorear: DDDx in London.
06:57 masak adu++ # two digits!
06:57 adu masak++ thanks
06:58 * masak .oO( karma nepotism cycle detected. stand by for elimination. )
06:59 * sorear waits for masak to finish breakfast
07:01 brrt joined #perl6
07:04 masak no, go on. tell me. what's more audacious than a Dyson sphere?
07:05 scott_ joined #perl6
07:06 sorear so hydrogen burning only gets you 1% of the energy in the hydrogen
07:07 sorear (and later stages don't improve matters much)
07:07 sorear so it always strikes me as insufficiently daring when people talk about stellar fusion as the ultimate power supply.
07:07 masak what did you have in mind?
07:07 sorear have you heard of the Blandford-Zjanek(sp?) process?
07:08 masak no.
07:08 * masak googles
07:08 masak plasma... high-speed jets...
07:08 masak am I getting close?
07:09 sorear yes
07:09 masak relativistic jets, even.
07:09 masak it sounds like a fun ride :)
07:09 sorear not directly related to the BZ process, but rather more striking: if a massless infinitely strong rope is used to lower a mass into a black hole from infinity, the amount of work done on the rope is 100% of the rest energy of the mass
07:09 moritz but 1% of a lot of mass is still a lot of mass, especially when multiplied with c²
07:09 sorear the trick is making this work without massless infinitely strong ropes
07:10 adu sleepy time
07:10 masak adu: 'night
07:10 adu night
07:10 * masak .oO( Perl 6 gives you enough massless infinitely strong rope to BZ yourself in the foot )
07:11 sorear here's another thought: if a photon of large energy appears infinitesimally close to an event horizon moving outward, because of gravitational redshift it will have near-zero energy at infinity
07:11 sorear which means that the mass-energy of the photon was almost exactly cancelled by its grav. binding energy
07:12 masak forget hiring you, sorear. I want you on my generation ark.
07:12 masak :P
07:14 masak we could dismantle black holes and talk about the Perl 7 design.
07:15 * masak .oO( Perl 6 didn't have a self-aware spec like Perl 7 does. This is the language's rewrite of the language, and the language's rewrite of the community. )
07:22 tintin joined #perl6
07:23 sorear Zjanek is one of those words I learned before I figured out that German j is pronouced /j/ and not /dʒ/, with amuzing results
07:23 tintin there are many modules for perl5 as cpan i knew, are those module compatible with perl6 too?
07:23 sorear no.
07:23 tintin will those module writen in perl5 run with perl6?
07:24 tintin isn't that a shame? then you have to write module for perl6 again, so those were a lot of code time-waste
07:24 masak tintin: new here? hi; welcome.
07:25 masak tintin: yes, it's a shame.
07:25 moritz tintin: isn't that a shame for every new programming language out there?
07:25 masak tintin: we're working on having Perl 5 and Perl 6 interoperate. it's a long journey.
07:25 sorear tintin: it's something we want to fix eventually.  costs of being an early adopter.
07:26 tintin rather why don't you just change/edit/customize the perl5 instead of making new perl6?
07:26 moritz that's being done too
07:26 masak tintin: we did. it's called Perl 5.16.
07:26 moritz by the perl 5 developers
07:26 mikec__ perl6 isn't replacing perl5
07:27 masak tintin: Perl 6 is what happens if you release the need for backwards compat.
07:27 moritz but perl 5 has several deep design problems that cannot be fixed any time soon
07:27 masak or ever.
07:27 masak due to constraints.
07:27 tintin why can't the perl5 problems be solved ?
07:27 masak backwards compat.
07:27 moritz tintin: because they go very, very deep
07:27 masak limitations in the current code base.
07:28 masak the most optimistic thing about Perl 5 I'm seeing right now is the talk about a MOP.
07:28 masak that's potentially very, very good.
07:28 tintin what i MOP?
07:28 masak it's the underpinnings of real object orientation.
07:28 edit_21 joined #perl6
07:28 masak it's "how the OO works" in a language.
07:29 tintin then  i should say, creating new programming language is a shame, as the older one with all site package are waste of time now
07:29 bonsaikitten tintin: see also: Python 3
07:29 moritz tintin: but sometimes shame is necessary for long term progress
07:29 tintin how can be sure about that?
07:29 kaleem joined #perl6
07:30 moritz it's a bit like saying "new research is a shame because it obsoletes the old text books"
07:30 tintin then a newer one will come to replace that perl6 , so you don't know if it will be long term
07:30 moritz tintin: every improvement is a change
07:30 moritz well, it's not as if language A could easily replace language B
07:30 moritz language A can be an alternative to language B
07:31 moritz but it's only a replacement if people actually adopt it
07:31 sorear tintin: Nothing lasts forever. Work for the near future, for appropriate values of near.  Nihilism sucks.
07:31 masak hm. fragrant yesterday, tintin today. not saying they're the same consciousness. but we seem to be having two "now let me tell you a bunch of stuff" individuals in two days.
07:31 masak sorear: ooc, why does nihilism suck?
07:31 tintin then it's waste of time using older language excesively and their packages as older languages are used in many website, so when newer will come, then they will face a real problem
07:32 tintin to upgrade the website
07:32 masak it feels like one of those philosophies that people keep misunderestimating.
07:32 moritz masak: welcome to the internet
07:32 masak moritz: it wasn't like this when I left! :P
07:32 sorear masak: my definition of nihilism includes '...and I'm depressed about it'
07:32 masak sorear: ah. clarified, then.
07:33 masak sorear: that's not *real* nihilism, as Lenin envisioned it! :P
07:33 tintin isn't it a hard/difficult/tedious job to upgrade a website specially if it's a large website from perl5 to perl6
07:33 tintin re-writing everything
07:33 sorear tintin: Then don't.
07:33 tintin sorear: what do you mean?
07:33 sorear tintin: Perl 6 wants to be attractive to *new* websites.
07:33 masak rewrites are always risky.
07:33 masak trust us, we know.
07:34 sorear Perl 5 will continue to be maintained for the forseeable future
07:34 sorear new features, even
07:34 masak it's a tuning fork.
07:34 moritz in particular, rewrites are always more risky than you thought they were going to be
07:34 sorear the Perl community is hedging its bets
07:34 tintin today or tomorrow, they can be atracted by new language if new language comes with new features, so today or tomorrow they will decide to upgrade, they will not hang around with the older one
07:35 sorear They will hang around if switching is difficult enough.
07:35 sorear Which it probably will be.
07:35 masak sorear: aye. high-risk/high-payoff, low-risk/low-payoff.
07:36 sorear perl 6 is not just the next generation of a programming language; it is a language for the next generation of programmers
07:36 tintin so upgrading is hard, so today or tomorrow we are getting new languages, so it's not a good decision to make a website with a changing programming language
07:36 masak depends.
07:36 mikec__ depends
07:37 masak I wouldn't suggest it to anyone I didn't know well.
07:37 masak but I'm doing it myself, and it works really well.
07:37 tintin and normally all open source programming languages are changing lang/thing
07:37 sorear tintin: you're going to die in a few decades.  Why bother starting anything at all?
07:37 mikec__ and 'making a website' tends to involve more than one language anyway
07:37 mikec__ several of which could be changing
07:38 tintin so open source languages suck because of upgrading/changin issue every 6 months or so
07:38 moritz not more than closed source langauges
07:38 tintin why not?
07:38 tintin c#
07:38 moritz because they also have the upgrading problem
07:38 tintin making website with C#
07:38 moritz just like there are open source languages that don't have the upgrading problem
07:39 tintin but the trend of changing in open source is bigger/larger than those close-source or whatever you say
07:39 moritz what about C#? and do you consider it an "open" or a "closed" language?
07:39 brrt C# upgrades all the time
07:39 moritz tintin: I don't believe that
07:39 moritz tintin: please back up that claim
07:39 brrt what if you had a function called WhenAny(), async, await
07:40 brrt they would fail, because the C# developers are not very scrutinous about introducing new keywords
07:40 tintin what we see, open source programming langauge is changing in every 6 months or so
07:40 moritz tintin: you see that. I don't.
07:40 brrt .. neither do i, especially if you talk about mature languages like perl5
07:40 moritz tintin: for example perl 5 has yearly releases, and they are 99.9% percent backward compatible
07:41 brrt perl6 is very much conciously in flux
07:41 tintin for example, perl5 to perl6, python 2.7+ to python3
07:41 brrt its not an accident that things change
07:41 tintin or when jdk upgrades from 1.5 to 1.7+
07:41 sorear tintin: Do you understand that you can keep using perl 5 forever?
07:42 moritz tintin: perl 5 to perl 6 isn't an upgrade
07:42 tintin that's a lot of change in website for re-writing or upgrading
07:42 bonsaikitten perl 5.12 to 5.16 upgrade had no noticeable side-effects for me
07:42 moritz tintin: and at the time of jdk 1.5 -> 1.7 upgrade, java was tightly controlled by Sun
07:43 tintin do you understand that new language comes when the older fails for something, and do you understand that's why people always tend to accept the new one
07:43 moritz tintin: so it's actually an example of a "closed" programming langauge breaking stuff
07:43 masak flight &
07:43 tintin newer one comes to solve the problem of older one
07:44 tintin that's why i say using open source programming language to make website may not be a good decision
07:44 mikec__ maybe, but the 'problems' don't necessarily affect your website
07:44 moritz tintin: and you still haven't backed up the claim that closed programming languages are any better
07:44 mikec__ switching language might not be a good decision
07:45 mikec__ that's not a reason not to use one language in the first place
07:45 tintin i don't know how changing issue effects for C#  as we see .NET platform is replaced by newer .NET platform
07:46 moritz tintin: you don't know, but still claim it's better?
07:46 tintin may be now we have .net version 4/5
07:47 tintin moritz: i don't know if the newer .net platform is backward compatible or not, and i'm not going to research with that though
07:47 moritz tintin: ok. I'll now stop taking you seriously.
07:49 tintin this is really painful if you write/make many things with older one, and now you see newer one comes with new features and solving the older one's problem , then it looks like all works were a waste
07:51 sorear tintin: Life is a waste, you're just gonna die anyway.
07:52 mikec__ maybe software isn't for you
07:52 moritz so spend the waste with the maximum of fun and satisfaction
07:52 moritz and Perl 6 happens to be a lot of fun to me
07:52 moritz which is why I work so much on it
07:53 tintin sorear:  love
07:53 moritz and of course because of the hugely profitable Hague grants, which let me suck out money from the evil US empire :-)
07:54 tintin i got this, The .NET Framework 4 is backward-compatible with applications that were built with the .NET Framework versions 1.1, 2.0, 3.0, and 3.5.
07:54 tintin http://msdn.microsoft.com/e​n-us/library/ff602939.aspx
07:54 mikec__ .net is better
07:56 mikec__ maybe perl6 should run on .net?
07:56 tintin but you have to get all .net1, .net2, .net3, .net4 to support all apps and website, is one is not present, apps built on that .net platform will not run
07:56 tintin mikec__: l0l
07:56 arnsholt mikec__: That'd be Niecza
07:57 mikec__ arnsholt: that was the punchline :)
07:57 tintin s/is/if
07:57 tintin *if one is not present*
07:58 not_gerd joined #perl6
07:58 tintin may be C is better to make website, :)
07:58 not_gerd hello, #perl6
07:58 sorear o/ not_gerd
07:58 tintin did anyone make website using C
07:59 sorear tintin: new languages have been created to replace C.
07:59 moritz tintin: one of the top 10 blogs in Germany is made in C
07:59 sorear tintin: C++ solves some problems in C, many people have switched to it.
07:59 Telgalizer joined #perl6
07:59 tintin did anyone make website using C++
07:59 mikec__ yes
07:59 Timbus i did once!
07:59 Timbus please don't
07:59 sorear tintin: and there are lots of versions, too.  KR1ED C, KR2ED C, C89, C99, C91 ...
07:59 tintin Timbus: why not?
08:00 Timbus blegh
08:00 sorear tintin: C++ has even more versions.
08:00 Timbus it was CGI, for starters.
08:00 tintin does C/C++ run on top of CGI for websites?
08:00 Timbus even a perl 6 fastcgi program would be faster these days
08:00 tintin But the change in C/C++ is not that much
08:00 mikec__ heh
08:01 tintin not that much noticable
08:01 Timbus nothing 'runs' on cgi, its more like a communication spec
08:01 kurahaupo CGI is simply a I/O standard to which the executable must conform; you can write in Perl, C, C++ or even Bash.
08:01 moritz tintin: have you ever programmed something big in C and C++?
08:01 kurahaupo Timbus: touché
08:01 tintin moritz: define big
08:02 tintin perl5/6 is a big one writen in C :)
08:02 moritz tintin: at least three developer months
08:02 tintin moritz: what do you mean by that? "at least three developer months"
08:03 sorear 3*4*40 = 480 hours of work?
08:03 moritz tintin: that you put at least 3 months worth of work (full-time) into it
08:03 tintin moritz: nope, why do you ask?
08:04 moritz tintin: because your claim that the difference between C and C++ is "not that much noticable" is rather dubious
08:04 moritz tintin: and I think people who have used both languages more than a tiny amount will disagree
08:04 not_gerd heck, even the changes in a single language (K&R vs C11) are pretty substantial
08:05 tintin i normally used C/C++ for string processing or computing with numbers(int, float)
08:05 moritz but wait, I decided not to take tintin serious any more. So yes, good joke
08:05 tintin or with opengl
08:06 tintin so all programming is waste after 40 years ?
08:06 mikec__ yes
08:06 tintin so software is a waste ?
08:07 tadzik excuse me, what's being discussed?
08:07 moritz tadzik: just bullshit, never mind
08:07 tadzik okay
08:08 mikec__ tadzik: whether perl5 modules work in perl6, if perl6 means writing websites in perl5 was a waste of time, if open source is a waste of time, if c/c++ are the same, if software is a waste of time
08:09 mikec__ but i might be wrong
08:09 tintin tadzik: we were discussing about upgrading issue of software or website writen in older programming language or older version of lang
08:09 mauke perl6 is not a new version of perl5
08:09 tadzik upgrading? That's closer to "rewriting"
08:09 mauke it's a different language
08:09 tintin tadzik: yes, re-writing
08:09 tadzik so that goes under "older programming language"
08:10 tintin mauke: i didn't say perl6 is new version,
08:10 sorear tadzik: short answer: Nihilism
08:10 tintin sorear: what does that mean by Nihilism?
08:10 tadzik tintin: so your claim is basically "perl 6 is a waste of time because we would have to rewrite all that perl 5 code"?
08:11 mikec__ wow
08:11 tintin tadzik: yes, that's an option or it could be writing websites with perl5 was waste
08:11 sorear tadzik: it seems closer to "any program I write will need to be rewritten in 40 years due to changing language preferences.  Why bother writing it in the first place?"
08:12 sorear tadzik: I don't think this has anything to do with perl 6 per se
08:12 tadzik heh, that sounds like "why to live if I'll die anyway"
08:12 mikec__ if your code lasts until the language makes it obsolete you've done pretty well
08:12 moritz tadzik: that's exactly what sorear++ came up with too :-)
08:12 tadzik hehe
08:13 tadzik so I may be repeating someone, but my answer is "to have that 40 years of fun"
08:13 tadzik in both cases
08:13 sorear that was the answer of moritz++
08:13 tadzik heh. So I could now say "why to speak if everything has been said before?" ;)
08:14 mikec__ :)
08:15 tintin tadzik:  love :)
08:15 tadzik tintin: things are never eternal. You create stuff to have it now. Trying to make something that'll work for the next 5 generations is, in most cases, a fool's task IMHO
08:16 tadzik world changes, and we have to deal with it. Not improving the world for the sake of backwards compatibility is mostly stupid, I think
08:17 moritz or you create stuff for the sake of creating
08:18 tintin tadzik: so after 30 years all softwares will be wastes
08:18 tintin tadzik: ?
08:18 sorear hubris, too.  what's to say the next 5 generations won't bring someone smarter than you, who makes something even better?
08:18 tadzik tintin: that may happen, yes
08:19 sorear relevant: http://xkcd.com/989/
08:19 mikec__ haha
08:20 mikec__ tintin: i'm leaving my job in 2 weeks. was all my software a waste of time? i'm sad now
08:20 tintin can't we get a stable programming language which will not to be changed often, so that we can write websites with that, and that website will not need to upgraded
08:20 moritz tintin: we have that
08:21 tintin mikec__: yes, that will be waste if that your software needs to be re-writen with new language
08:21 tintin moritz: which one?
08:21 tadzik I disagree
08:21 mauke tintin: all of them
08:21 sorear tintin: It means the difference between having software now and not having software now
08:21 moritz tintin: perl 5 for example
08:22 tintin actually software is not waste, we need software like other product like a monitor
08:22 moritz tintin: I haven't needed to change a single one of my perl 5 programs due to changes in the perl 5 compilers
08:22 tadzik no one forces you to keep up with new languages
08:22 tadzik think about those banks still running COBOL software
08:22 tintin but what i'm saying when you upgrade that software with new language , then the all labours will be waste for older language
08:22 tadzik I disagree again
08:23 moritz tintin: define "waste"
08:23 tintin waste = spending time with older programming language = waste of time because now you are upgrading it with new programming language
08:24 tintin tadzik: still COBOL, lol
08:24 tintin tadzik: can't believe that
08:24 mikec__ ?!
08:24 moritz well, if you *define* waste to be spending time with older programming languages, then yes, everything in programming is waste
08:24 tadzik welcome to the real world
08:25 tintin tadzik: that bank needs to upgrade their older COBOL software
08:25 moritz tintin: because you say so?
08:25 tadzik no, they don't
08:25 tadzik they are doing completely fine with old software in old language on old computers
08:25 tadzik why should they do anything?
08:26 moritz at some point, somebody will write a Perl 6 to COBOL compiler
08:26 tintin even re-writing/updating a software with newer version of programming language(suppose it's perl5 but newer version of perl5 not perl 6) after 5 years is a impossible task , that means you are upgrading a software of 5 years old writen in perl5
08:26 moritz then people can start progressively rewriting the banking software in perl 6 :-)
08:27 moritz tintin: that's just bullshit
08:27 tintin moritz: why/how bullshit?
08:27 moritz tintin: there are many huge code bases that have been upgraded from perl 5.8 to 5.12 or 5.15
08:27 moritz tintin: so not all impossible
08:28 tintin almost impossible
08:28 moritz not even that
08:28 tadzik there's this "backwards compatibility" slogan
08:28 tintin very hard/difficult job
08:28 moritz just a bit of effort
08:28 sorear have you ever tried?
08:28 tadzik and Perl 5.16 is quite compatibile with 5.i-am-10-years-old, iirc
08:28 moritz tintin: why do you have so strong opinions about stuff that you know nothing about?
08:29 tintin i'm not specific for only perl5 , you can think about jdk1.4 to jdk1.7 too or other
08:29 tadzik I'm not speaking for jdk because I know nothing about it
08:29 sorear my jdk 1.0 software runs fine on jdk 1.7
08:29 sorear I don't know what you're talking about
08:30 tintin it depends then, what type of 1.0 software that is?
08:30 tintin does this only process with string?
08:30 tintin there are lot of changes from jdk1.0 to 1.7
08:30 mikec__ oh no, changes!
08:31 tintin ok, now serious talk begins, how do you understand that large/huge amount of C code from perl source code, i have the source code but it's impossible for me to understand that source code
08:31 tadzik "changes" does not always mean "break ALL THE THINGS", are you aware of that?
08:31 sorear actually it was an interactive GUI tutorial for reading California electric meters
08:31 tintin that's why i fear to contribute in perl source code
08:32 tintin perl5 or perl6
08:32 moritz tintin: you don't understand the perl 5 source code, and thus fear to contribute to Perl 6?
08:32 moritz tintin: where's the connection?
08:32 sorear tintin: I'd tell you to go into architecture, but even buildings don't last 40 years these days
08:33 moritz try working as a hitman
08:33 tintin let me download the perl6 code then
08:33 frettled sorear: certainly, none of the buildings erected in the past 10 years have lasted 40 years!  ;)
08:33 moritz people you kill today are dead in 40 years still
08:33 frettled moritz: amazing
08:34 alpha-- joined #perl6
08:35 * sorear looks to change that :D
08:35 alpha-- hi
08:35 sorear Hello alpha
08:35 tintin is it the latest perl6 source code? https://github.com/downloads/rak​udo/rakudo/rakudo-2012.05.tar.gz
08:35 sorear What brings you here, and how can I help you?
08:36 alpha-- free entertainment
08:36 dakkar joined #perl6
08:36 sorear oh?
08:36 moritz alpha--: if you want to watch discussions with a troll, you have your free entertainment right here :-)
08:37 sorear alpha++
08:37 moritz tintin: it's close enough. And it's the source code of one of the Perl 6 compilers, there are others too
08:37 domidumont joined #perl6
08:38 tintin please someone give the link to download perl6 source code.tar.bz2
08:38 tadzik there's no "Perl 6 source code"
08:38 tadzik as there's no "English source code"
08:38 frettled tintin: http://www.perl6.org/
08:38 frettled tintin: start there.
08:38 moritz tintin: your link was close enough
08:40 sergot joined #perl6
08:40 sergot hi o/ :)
08:40 tadzik hello sergot
08:42 tadzik manhunter. See, moritz, maybe your hitman suggestion was quite accurate :)
08:43 frettled Hmm, there seems to be a distinct lack of trolling here again.
08:45 fhelmberger joined #perl6
08:47 fhelmberger joined #perl6
08:48 dalek niecza/non-bootstrap: 9e238ec | sorear++ | lib/ (2 files):
08:48 dalek niecza/non-bootstrap: Actions pt 6
08:48 dalek niecza/non-bootstrap: review: https://github.com/sorear/niecza/commit/9e238ec75a
08:48 sorear did not quite reach my goal of 1000 lines today.
08:48 sorear sleep&
08:52 daxim joined #perl6
09:06 domidumont joined #perl6
09:15 * moritz loves the humour on http://my.opera.com/ODIN/blog/hello-opera-12
09:22 VXZ joined #perl6
09:25 crab2313 perl6: enum Rank (2, 3, 4, 5, 'jack')
09:25 p6eval niecza v18-7-ga660099:  ( no output )
09:25 p6eval ..rakudo 90333b: OUTPUT«===SORRY!===␤This type cannot unbox to a native string␤»
09:25 p6eval ..pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/9G5cWbkaEx line 1, column 1 - line 2, column 1␤»
09:26 crab2313 perl6: enum Rank <2, 3, 4, 5, 'jack'>
09:26 p6eval rakudo 90333b, niecza v18-7-ga660099:  ( no output )
09:26 p6eval ..pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/3lV6yH_qx9 line 1, column 1 - line 2, column 1␤»
09:31 tintin joined #perl6
09:32 tintin can anyone give the link to dowload source code of perl6?
09:33 daxim http://rakudo.org/how-to-get-rakudo/
09:36 tintin i downloaded rakudo from https://github.com/rakudo/rakudo/downloads
09:36 tintin now what to do?
09:37 bonsaikitten tintin: unpack the tarball and look at it?
09:38 daxim there are instructions on the web page I linked to
09:40 crab2313 tintin: unpack the tarball and read it's README
09:47 tintin joined #perl6
09:47 tintin hi
09:48 tintin is rakudo perl6?
09:49 moritz rakudo is a Perl 6 compiler
09:49 moritz just like GCC is a C compiler
09:50 tintin i downloaded that from your github repo
09:50 tintin now what to do?
09:50 mikec__ what do you want to do?
09:50 tintin i want to install/use perl6
09:51 tintin should i download this? https://github.com/perl6/perl6.org/downloads
09:51 crab2313 tintin: no
09:52 crab2313 tintin: This is the source code for http://perl6.org/.
09:52 tintin cd rakudo, perl Configure.pl --gen-parrot --gen-nqp
09:52 tintin Can't open perl script "Configure.pl": No such file or directory
09:55 tintin moritz: what's your profession? how do you spend so much time on rakudo or perl6?
09:57 tintin ah, it's downloading something
09:58 tintin TimToady: hi
10:00 kresike joined #perl6
10:00 kresike hello all you happy perl6 people
10:00 tintin kresike: hello
10:01 tintin kresike: why did you join here?
10:03 kresike tintin, hello
10:04 kresike according to moritz I'm a lurker :o)
10:04 kresike I'm waiting for all these fine developers to finish perl6, and in the meantime trying to learn all it's nice new features
10:04 tintin :o)
10:05 tintin good
10:05 tintin TimToady: hi Larry, why are you hiding yourself using that nick?
10:05 kresike not that I know all perl5 features, but I don't think there are many people in the world who can say that
10:05 moritz tintin: stop that
10:06 tintin moritz: i didn't see any .c files in rakudo
10:06 tintin moritz: so i can't do , ./configure ; make ; make install
10:06 moritz tintin: well yes, you have to read the README
10:06 moritz tintin: as we have told you
10:06 brrt ... rakudo is not written in c
10:07 moritz (a small fraction is written in C, actually)
10:07 tintin moritz: yes, i ran, perl Configure.pl --gen-parrot --gen-nqp and it's downloading something ..
10:07 moritz tintin: well, then just wait for it to finish
10:07 tintin i didn't find any .c file there
10:07 tintin moritz: did you write whole code for rakudo?
10:08 moritz tintin: then look harder
10:08 moritz tintin: no
10:09 birdwindupbird joined #perl6
10:09 tintin yes, src/binder
10:10 tintin moritz: how do/did you get so much time to write those code and contribute there? what's your profession/job for day to day life?
10:10 moritz tintin: I got so much time for it because it's a high priority for me
10:11 moritz and I'm a physicist
10:11 tintin physicist = a doctor = medical science background ?
10:12 brrt no, that is a physician
10:12 brrt same root word, different meaning
10:12 moritz physicist = doing physics
10:12 tintin physicist = physics background ?
10:12 tintin i understand
10:13 brrt yes, somebody who studies all of nature, except for chemicals and living things
10:13 tintin moritz: are you a professor to teach physics ?
10:13 moritz tintin: no. Just doing research
10:14 tintin phd student of physics ?
10:14 tintin phd student of physics in Germany?
10:15 tintin which university?
10:15 arnsholt At the Oslo hackathon we used a command to run the same command over and over. What was it called again?
10:15 bonsaikitten "watch" ? ;)
10:15 mtk joined #perl6
10:15 arnsholt That'd be it. Cheers!
10:15 arnsholt bonsaikitten++
10:16 tintin lol
10:16 tintin watch bonsaikitten  :)
10:17 tintin bonsaikitten: what are you doin here gentoo guru ? do you contribute in perl6 code too?
10:17 bonsaikitten tintin: no, I just take care of parrot+rakudo in gentoo
10:17 bonsaikitten and since I found a few little issues I joined here and then never left
10:18 tintin that's good, go one
10:18 tintin go on*
10:19 tintin bonsaikitten: but you are not asking for any help about that issue here?
10:19 tintin bonsaikitten: are you installing both perl5 and perl6 on gentoo?
10:22 brrt joined #perl6
10:29 tintin left #perl6
10:31 dalek doc: e750643 | moritz++ | lib/Buf.pod:
10:31 dalek doc: [Buf] elaborate on use cases
10:31 dalek doc: review: https://github.com/perl6/doc/commit/e7506436a8
11:00 brrt left #perl6
11:03 cognominal joined #perl6
11:05 cognominal joined #perl6
11:07 localhost joined #perl6
11:31 GlitchMr joined #perl6
11:33 JimmyZ joined #perl6
11:37 tokuhiro_ joined #perl6
11:56 cognominal_ joined #perl6
12:02 grondilu joined #perl6
12:03 * grondilu still coudn't compile rakudo.  Had to install the debian sid package :(
12:15 fgomez joined #perl6
12:21 cognominal joined #perl6
12:24 crab2313 joined #perl6
12:25 mhasch rn: say pi.Rat.perl
12:25 p6eval rakudo 90333b: OUTPUT«355/113␤»
12:25 p6eval ..niecza v18-7-ga660099: OUTPUT«<355/113>␤»
12:26 mhasch rn: say pi.FatRat.perl
12:26 p6eval niecza v18-7-ga660099: OUTPUT«FatRat.new(884279719003555, 281474976710656)␤»
12:26 p6eval ..rakudo 90333b: OUTPUT«FatRat.new(355, 113)␤»
12:28 TimToady nr: say pi.Str
12:28 p6eval rakudo 90333b: OUTPUT«3.14159265394248␤»
12:28 p6eval ..niecza v18-7-ga660099: OUTPUT«3.1415926535897931␤»
12:29 mhasch rn: say Rat.new(2646693125139304345,842468587426513207)
12:29 p6eval niecza v18-7-ga660099: OUTPUT«3.1415926535897936␤»
12:29 p6eval ..rakudo 90333b: OUTPUT«3.1415926535897932385␤»
12:30 mhasch I think pi.Rat should be a better approximation than 355/113.
12:30 [Coke] (walled garden) a lot of potential perl6 users don't need interoperability with anything OTHER than than the JVM, so it's not insane. if we compiled down to JVM, I could make an argument today to roll out in our work env.
12:30 mhasch let alone FatRat.
12:30 TimToady 3.14 should be good enough for anybody :)
12:30 TimToady but yes, I put it to 40 places in STD
12:32 TimToady [Coke]: yes, I hear you, which is partly why I'm not pushing for more interop from niecza
12:32 mhasch waaay better.  fwiw, 262452630335382199398/83541266890691994833 fits in a Rat with <= 64 bit denominator and gives 40 places.
12:34 tyatpi joined #perl6
12:36 [Coke] (closed source). I work with CF, which is a closed source product, and several open source js/html/css libraries. sure, the open source stuff /can/ upgrade more, but that just means I live with bugs on the closed source side longer. and it's no less of a pain at actual upgrade time.
12:37 [Coke] moritz: as a duly notarized rep of the grants committee, I find your snarky comment about the Hague... oh, wait, that's not part of the GC. Carry on.
12:37 mucker joined #perl6
12:41 moritz [Coke]: my comment wasn't so much snarky about the Hague grant, but rather about my own way of using it. Sorry if that wasn't obvious
12:41 moritz (because I spent about a year working on it, and that was entirely my own fault)
12:42 fhelmberger_ joined #perl6
12:43 crab2313 joined #perl6
12:43 [Coke] "Now. You're looking at now, sir. Everything that happens now, is happening now" ...aaaand I'm caught up.
12:44 [Coke] Perl 6 gets a name drop in Ovid's new book.
12:46 moritz rn: say pi.Rat(1e-14).perl
12:46 p6eval rakudo 90333b: OUTPUT«125749280/40027239␤»
12:46 p6eval ..niecza v18-7-ga660099: OUTPUT«<58466453/18610450>␤»
12:46 moritz rn: say pi.Rat(1e-16).perl
12:46 p6eval niecza v18-7-ga660099: OUTPUT«<245850922/78256779>␤»
12:46 p6eval ..rakudo 90333b: OUTPUT«130236599/41455597␤»
12:47 moritz rn: given pi { say abs(.Rat(1e-16) - $_) }
12:47 p6eval rakudo 90333b, niecza v18-7-ga660099: OUTPUT«0␤»
12:49 crab2313 nz: pi.WHAT
12:49 crab2313 rn: say pi.WHAT
12:49 p6eval rakudo 90333b, niecza v18-7-ga660099: OUTPUT«Num()␤»
12:50 JimmyZ 晚上好 :)
12:50 crab2313 JimmyZ: 晚上好 :)
12:51 JimmyZ crab2313: 西安那边热不 :)
12:51 crab2313 JimmyZ: m1 进展如何?
12:51 mhasch rn: say pi.Rat(1e-40).perl
12:51 p6eval niecza v18-7-ga660099: OUTPUT«<884279719003555/281474976710656>␤»
12:51 p6eval ..rakudo 90333b: OUTPUT«130236599/41455597␤»
12:51 crab2313 JimmyZ: 肯定比北京热
12:51 JimmyZ crab2313: 还算顺利,有兴趣 m0?
12:52 mhasch rn: say pi.Rat(0)-pi
12:52 p6eval rakudo 90333b, niecza v18-7-ga660099: OUTPUT«0␤»
12:52 crab2313 JimmyZ: 有兴趣,
12:52 mhasch rn: say pi.Rat(0).perl
12:52 p6eval niecza v18-7-ga660099: OUTPUT«<884279719003555/281474976710656>␤»
12:52 p6eval ..rakudo 90333b: OUTPUT«130236599/41455597␤»
12:52 JimmyZ crab2313: 欢迎 参与进来
12:53 crab2313 J
12:53 crab2313 JimmyZ: m1 准备主要应用在哪里
12:54 JimmyZ crab2313: parrot rewrite, rakudo :)
12:56 snearch joined #perl6
12:58 crab2313 JimmyZ: 我最多能当全职打杂的 :)
12:58 JimmyZ crab2313: 写测试 代码,提交bug,也是贡献
13:01 crab2313 JimmyZ: 那我或许能帮上点忙
13:01 JimmyZ crab2313:  welcome ;)
13:09 crab2313 JimmyZ: m1 的Makefile 的 么
13:09 crab2313 JimmyZ: m1 的Makefile 的 m1的 CFLAGS
13:09 Psyche^ joined #perl6
13:09 JimmyZ crab2313: ?
13:10 JimmyZ crab2313: parrot 的问题请到 parrot 频道咨询
13:11 quietfanatic joined #perl6
13:13 leprevost joined #perl6
13:13 quietfanatic phenny: tell adu https://gist.github.com/2930211
13:13 phenny quietfanatic: I'll pass that on when adu is around.
13:15 tyatpi joined #perl6
13:18 mauke left #perl6
13:18 quietfanatic [Coke]: To be fair, the JVM is a pretty nice garden to be walled into, or so I hear.
13:21 mhasch [Coke]: I would like to hear more about Ovid's new book. What is the title?
13:22 mikec__ it's not out yet is it? but it sounds exciting
13:23 mikemol joined #perl6
13:25 daxim mhasch, Beginning Perl http://ofps.oreilly.com/titles/9781118013847/
13:26 daxim download while you can
13:28 tokuhiro_ joined #perl6
13:29 lumi_ rn: say pi.Rat(e)
13:29 p6eval niecza v18-7-ga660099: OUTPUT«1␤»
13:29 p6eval ..rakudo 90333b: OUTPUT«3␤»
13:39 TimToady lumi_: ℝ!
13:39 TimToady i!
13:42 mhasch rn: say exp(i*pi)
13:42 p6eval niecza v18-7-ga660099: OUTPUT«-1+1.2246063538223773E-16i␤»
13:42 p6eval ..rakudo 90333b: OUTPUT«-1-3.52688866664137e-10i␤»
13:42 anant joined #perl6
13:43 anant Is this the right place to ask a doubt, I'm a newbie to perl6 syntax :)
13:43 tadzik sure, welcome
13:44 anant I get this error 'Unable to parse blockoid, couldn't find final '}'
13:44 tadzik can you show us the code?
13:45 tadzik r: say "like this for example"
13:45 anant for this line of code "if $line ~~ m/ <gig=&d>   <phy=&d>, <port=&d> /"
13:45 p6eval rakudo 90333b: OUTPUT«like this for example␤»
13:45 tadzik r: if $line ~~ m/ <gig=&d>   <phy=&d>, <port=&d> / { }
13:45 p6eval rakudo 90333b: OUTPUT«===SORRY!===␤Variable $line is not declared␤at /tmp/Xt75oyjrfc:1␤»
13:45 tadzik r: my $line; if $line ~~ m/ <gig=&d>   <phy=&d>, <port=&d> / { }
13:45 p6eval rakudo 90333b: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead␤at /tmp/u5RpLFXcxr:1␤»
13:45 anant sorry, here's the complete code:
13:45 tadzik r: my $line; if $line ~~ m/ <gig=&d>   <phy=&d>',' <port=&d> / { }
13:45 p6eval rakudo 90333b: OUTPUT«No such method 'match' for invocant of type 'Any'␤  in block <anon> at /tmp/FjZmFGun7b:1␤␤»
13:45 tadzik argh
13:46 tadzik r: my $line = ''; if $line ~~ m/ <gig=&d>   <phy=&d>',' <port=&d> / { }
13:46 p6eval rakudo 90333b: OUTPUT«Unexpected named parameter 'value' passed␤  in sub infix:<does> at src/gen/CORE.setting:11224␤  in sub MAKE_REGEX at src/gen/CORE.setting:9661␤  in regex <anon> at /tmp/Dxbh2vS5aI:1␤  in method ll-match at src/gen/CORE.setting:3889␤  in method match-list at src/gen…
13:46 tadzik anant: you can paste your code to gist.github.com and then feed it to p6eval
13:48 anant the ',' solved the problem!
13:49 anant do non-alphanumeric characters need to be quoted inside a regex?
13:49 tadzik I think everything non-alphanumeric is treated as a metacharacter
13:50 anant thanks!
13:51 isBEKaml joined #perl6
13:51 tadzik you're weclome
13:51 isBEKaml hi, #perl6!
13:52 isBEKaml [Coke]: I just noticed your nick. You _do_ lose your cages in #parrot! :D
13:52 tadzik hello isBEKaml
13:53 tadzik anant: see http://feather.perl6.nl/syn/S05.html#S​implified_lexical_parsing_of_patterns
13:53 isBEKaml hey, tadzik, you at YAPC?
13:53 [Coke] I'm only [Coke] here because Coke was already taken. :P
13:54 tadzik isBEKaml: nah, I'm at the other side of the world :)
13:54 tadzik [Coke]: if it's mostly unused you can ask freenode staff to give it to you
13:54 tadzik I was tadzik_ for a long time for the same reason
13:55 isBEKaml [Coke]: don't remain caged due to a stupid nick issue. bug freenode staff about this! ;)
13:56 * isBEKaml typistified lately so...
13:57 isBEKaml tadzik: how goes dancer6? :)
13:59 tadzik isBEKaml: slowly :) But I plan to give it more love in the upcoming days, now that I'm mostly rid of the univesity insanity
13:59 tadzik I'll be giving a talk about it on FPW
14:00 isBEKaml tadzik: that's cool.. When's FPW?
14:01 tadzik isBEKaml: 29-30 June
14:01 tadzik my last exam is 28th :P
14:02 tadzik and, as it came out today, the second-to-last exam is 27th :F
14:02 tadzik the latter being my last chance of passing one of the classes
14:03 isBEKaml tadzik: oh, crunched time, then. How far is Fr from Pl?
14:04 tadzik not _that_ far, but transportation to Strasbourg sucks
14:04 tadzik I'm leaving Warsaw on 16.55 to reach Strasbourg on 23.00
14:04 tadzik and I'm leaving on a plane
14:04 PerlJam What's the way to have a positional parameter that can also be passed by name?  i.e.  sub foo ($alpha) { ... };   foo :alpha<dog>;
14:04 PerlJam does it require mucking with %_ ?
14:05 tadzik PerlJam: I think multi will be the most readable solution
14:05 PerlJam tadzik: aye, I'm curious about the non-multi solution
14:06 PerlJam (or maybe I'm just being weirdly stubborn  :)
14:06 tadzik :)
14:07 tadzik r: sub foo($alpha?, :$alpha) { say $alpha }; foo 5; foo alpha => 5;
14:07 p6eval rakudo 90333b: OUTPUT«===SORRY!===␤Redeclaration of symbol $alpha␤at /tmp/Y1qsnx9c3p:1␤»
14:07 tadzik r: sub foo($lapha?, :$alpha) { say $alpha }; foo 5; foo alpha => 5;
14:07 p6eval rakudo 90333b: OUTPUT«Any()␤5␤»
14:07 tadzik ach
14:07 tadzik r: sub foo($arg?, :$alpha) { $arg //= $alpha; say $arg }; foo 5; foo alpha => 5;
14:07 isBEKaml Any() ?
14:07 p6eval rakudo 90333b: OUTPUT«5␤Cannot assign to a readonly variable or a value␤  in sub METAOP_TEST_ASSIGN:<//> at src/gen/CORE.setting:11495␤  in sub foo at /tmp/bwc4dmAcD5:1␤  in block <anon> at /tmp/bwc4dmAcD5:1␤␤»
14:08 tadzik r: sub foo($arg? is copy, :$alpha) { $arg //= $alpha; say $arg }; foo 5; foo alpha => 5;
14:08 p6eval rakudo 90333b: OUTPUT«5␤5␤»
14:08 tadzik not sure if that suits you
14:08 isBEKaml r: sub foo($foo?, :$alpha) { my $blah //= $alpha; say $blah; }; foo alpha => 42;
14:08 p6eval rakudo 90333b: OUTPUT«42␤»
14:09 PerlJam oh!  I was stuck thinking the names should be the same, but obviously they don't have to be.
14:09 PerlJam tadzik++ thanks
14:09 isBEKaml r: sub foo($foo?, :$alpha) { my $blah //= $alpha; say $blah; }; foo alpha => 42; foo 80;
14:09 p6eval rakudo 90333b: OUTPUT«42␤Any()␤»
14:09 tadzik isBEKaml: you're always assigning $alpha to $blah
14:10 isBEKaml tadzik++  # cool, I didn't forget much. :P
14:10 isBEKaml tadzik: yeah, I'm just discarding $foo. :)
14:10 tadzik right :)
14:11 isBEKaml what would be a way to say, take this if populated or the other one? something like: my $blah //= $alpha //= $foo ;
14:11 isBEKaml r: sub foo($foo?, :$alpha) { my $blah //= $alpha //= $foo; say $blah; }; foo alpha => 42; foo 80;
14:11 p6eval rakudo 90333b: OUTPUT«42␤Cannot assign to a readonly variable or a value␤  in sub METAOP_TEST_ASSIGN:<//> at src/gen/CORE.setting:11495␤  in sub foo at /tmp/7XrCODIkf2:1␤  in block <anon> at /tmp/7XrCODIkf2:1␤␤»
14:12 isBEKaml bah.
14:12 tadzik my $blah //= $alpha // $foo maybe
14:12 isBEKaml r: sub foo($foo? is copy, :$alpha) { my $blah //= $alpha // $foo; say $blah; }; foo alpha => 42; foo 80;
14:12 p6eval rakudo 90333b: OUTPUT«42␤80␤»
14:12 isBEKaml tadzik: great. :)
14:16 [Coke] isBEKaml: bug them how? ask them to take away the registered nick from the other user?
14:17 tadzik [Coke]: exactly. If that other user hasn't used the nick in, say, one year
14:18 isBEKaml [Coke]: normal freenode policy is to check that the user hasn't logged in atleast 2 months. In which case, you can ask them to register that nick in your favour.
14:18 tadzik huh
14:18 tadzik you have to be careful taking long vacation then
14:18 isBEKaml well yeah, since I last checked.
14:21 isBEKaml freenode faqs page says 10 weeks.
14:21 isBEKaml http://freenode.net/faq.shtml#identify
14:21 tadzik that's outrageous imho
14:22 isBEKaml well, that's a fairly lax rule. I don't think it's strictly enforced, unless your name is _really_ common. :)
14:25 spider-mario joined #perl6
14:33 skids joined #perl6
14:33 thou joined #perl6
14:33 [Coke] ok, but it is used.
14:35 [Coke] last seen this morning.
14:35 [Coke] so, there's really not much I can do. ;)
14:35 moritz it allowed me to go by 'moritz' instead of 'moritz_' after several years of freenode usage
14:36 pmichaud http://pmichaud.com/2012/pres/yapcna-perflt  # slides for my lightning talk later today
14:36 pmichaud comments welcome, although I don't have a lot of time (before the talk or in the talk) to handle too many changes :)
14:39 [Coke] pmichaud++
14:40 [Coke] slide 38 hides some things under the footer, be careful.
14:40 pmichaud that's intentional.
14:40 pmichaud the slide will likely be displayed for a total of 3 sec
14:40 pmichaud "Oh, here's a few other things we managed to do while also improving performance. <nextslide>"
14:41 [Coke] looks good. you show the 1000x at the beginning. be nice if it had the X for the last version.
14:42 [Coke] r: say 1.09 / 0.02
14:42 p6eval rakudo 90333b: OUTPUT«54.5␤»
14:42 [Coke] r: say 1000 / 54.5
14:42 p6eval rakudo 90333b: OUTPUT«18.348624␤»
14:42 [Coke] slide 32 is busy already, though. All looks good. thanks for cheerleading. :)
14:43 pmichaud I don't want to reinforce too much of an idea that p5 is the standard we're targeting, though
14:43 kaare_ joined #perl6
14:43 pmichaud (and yes, it's busy already :)
14:43 moritz pmichaud++ # nice slides
14:43 moritz have fun presenting them in 5 minutes :-)
14:43 pmichaud I already practiced once for the first big part
14:44 pmichaud getting them in 5 mins will be tight but I think I can do it.
14:44 moritz I know people who would take 20 minutes for those slides :-)
14:44 pmichaud oh sure, I could give those slides an hour :)
14:44 pmichaud it's really important to just hit the hot points and keep moving
14:45 moritz aye
14:45 pmichaud I'll do another practice run here, though with the latest changes... bbi5 ish
14:46 isBEKaml_ joined #perl6
14:48 tadzik oh, there's my face :)
14:48 TimToady and there's my face...oh wait, that's Camelia
14:49 moritz suddenly tadzik!
14:49 quietfanatic joined #perl6
14:49 quietfanatic TimToady: is Twitter confusing you? :)
14:49 mtk joined #perl6
14:49 adu joined #perl6
14:50 tadzik pmichaud: the talk looks really cool
14:50 TimToady confusing me?  that would be redundant...
14:52 pmichaud I can do the full talk in just under 5 mins :)
14:52 pmichaud just have to be careful not to stumble too much :)
14:52 [Coke] "mommy, why is that man talking to himself?" "he's a programmer, dear. just ignore him and maybe he'll go code something."
14:53 PerlJam wow.  Nice exposition of rakudo's performance improvements.
14:54 isBEKaml [Coke]: heh. Programmers get all the lollipops whenever they want. (One of my fortunes here ;)
14:58 pmichaud PerlJam: I'm not sure if it's a nice exposition or a work of creative fiction.  :-) :-)
14:58 pmichaud it's fun, anyway.  :)
14:58 kaleem joined #perl6
14:59 PerlJam well ... fun is good  :)
15:05 dalek ecosystem: df6ec84 | duff++ | META.list:
15:05 dalek ecosystem: Add a simple File::Temp
15:05 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/df6ec84d90
15:06 tadzik \o/
15:10 SatoAmbush joined #perl6
15:33 kresike bye all
15:33 harmil much discussion after I left yesterday…. hard to digest
15:34 harmil my takeaway is perl 6 is definitely a minor-version bump on perl 5 ;-)
15:34 moritz :-)
15:39 sergot joined #perl6
15:42 isBEKaml *minor* version bump? :)
15:42 moritz subminor even
15:43 isBEKaml there's *no* version bump at all! :P
15:44 moritz perl 5.18 will ship with auto-upgrades enabled by default
15:44 moritz so it's just a matter of time until we seamlessly upgrade all perl users to rakudo. Silently of course.
15:45 isBEKaml backdoor world domination! \o.O/
15:46 lichtkind joined #perl6
15:46 lichtkind TimToady: may i ask something about the new camel?
15:50 moritz never ask to ask
15:51 diakopter masak: rotfl BZ yourself in the foot
15:51 harmil moritz: I look forward to that upgrade script :)
15:51 harmil I suggest writing it in forth
15:55 sergot Something is wrong with modules.perl6.org
15:57 isBEKaml joined #perl6
15:57 diakopter moritz: the backlog with tintin is ... tiresome to read
15:57 diakopter :)
15:59 moritz diakopter: aye. I should have stopped much earlier
15:59 moritz hindsight++
16:09 jerome_ joined #perl6
16:14 cognominal joined #perl6
16:19 cognominal joined #perl6
16:20 MayDaniel joined #perl6
16:36 isBEKaml reading through those conversations with tintin makes me sad. Tolerating trolls is fine, but beyond a limit, using force/banning is not wrong.
16:37 pmichaud sometimes it's necessary.
16:37 sorear good * #perl6
16:37 moritz I thought about banning, but hesitated
16:37 cognominal joined #perl6
16:39 moritz next time I'll try to actually do it
16:39 isBEKaml maybe we should look into how #haskell handles trolls with 3 times user volume. Socratic questioning might actually be effective.
16:40 pmichaud It's often a tough call.  When uncertain, hesitation is the safer choice.
16:40 moritz isBEKaml: I doubt it is
16:42 isBEKaml moritz: I don't know - I somehow think asking questions while giving away nothing turns away potential trolls from surfacing.
16:42 isBEKaml s:2nd/away/off/
16:43 isBEKaml moritz: at the same time, it might scare genuine newbies. Tough call, indeed.
16:43 adu isBEKaml: #haskell has a good system
16:43 phenny adu: 13:13Z <quietfanatic> tell adu https://gist.github.com/2930211
16:44 adu oOo I have mail :)
16:45 adu isBEKaml: iirc, it's something along the lines of: ask, suggest, threaten, kick, ban (whatever is the first to work)
16:46 isBEKaml adu: Yes, that's why I think it might be effective here too. So far, I have never seen #haskell go beyond suggesting stages. (nothing above threatening, that is).
16:47 adu but I've also heard #haskell people say "I'm not Google"
16:47 aindilis joined #perl6
16:47 spider-mario joined #perl6
16:48 adu yeah, not with real people, but I've also seen bots get kicked from there
16:49 flussence joined #perl6
16:50 isBEKaml well, you can't reason with bots. :=)
16:51 moritz you can, with some :-)
16:52 harmil diakopter: I'm not entirely convinced tintin was a troll
16:52 isBEKaml moritz,pmichaud: about packaging R* for linux, Google's go packages them with hardcoded paths. I'm not sure how far that would be useful.
16:53 harmil enthusiastically newbieish, and a bit rude, sure, but the only trollish pattern I see is the comment at TimToady
16:53 moritz isBEKaml: that's the only thing we can do so far, because parrot (and thus rakudo) isn't relocatable
16:53 moritz harmil: not the only by far
16:54 moritz harmil: asserting twice that A is better than B, and then later on admitting not to know anything about A is also trolling
16:54 harmil Oh, oh, I'm sorry
16:54 isBEKaml harmil: tintin was obnoxious in asking about people and their jobs. He was quite persistent with that.
16:54 moritz harmil: as was the part about upgrading a perl 5 codebase to a later release being impossible
16:54 harmil moritz: clearly I only read part of the context. I just saw the, "how do you have time for this" and "how do I get rakudo" bits
16:54 moritz etc.
16:55 harmil moritz: what are you wearing? :-)
16:55 PacoAir joined #perl6
16:56 moritz stuff :-)
16:56 isBEKaml moritz: coming back to packaging, doesn't that also mean that you have to provide parrot binaries too along with R*?
16:56 moritz isBEKaml: yes
16:56 isBEKaml moritz: package explosion. :-)
16:57 moritz isBEKaml: well, one can just do a package for /usr/local/rakudo-star-$version/ and tar up the whole install dir
16:58 isBEKaml moritz: I was referring to the size of package than the number of packages. :-)
16:59 harmil isBEKaml: we could toss a few gigabytes of Google Image Search results in there if it would make you feel better ;-)
17:00 moritz isBEKaml: 68M uncompressed
17:00 brrt joined #perl6
17:00 isBEKaml moritz: cool. that's better than GHC. ;) I'll take that anyday.
17:00 moritz if you compare that to latex or libreoffice installations, it's quite OK :-)
17:01 moritz the compressed tarball is 17M
17:01 flussence bzip2?
17:01 moritz (I've used the star build on feather as reference)
17:01 moritz flussence: no, gzip
17:02 moritz I generally find bzip2 too slow, and thus gzip to be the better compression/speed tradeoff
17:02 isBEKaml moritz: the star build on feather includes parrot binaries too? I'm not sure we currently package parrot along with R*.
17:02 flussence I usually use xz because I have too much free time :)
17:02 moritz isBEKaml: it's parrot, nqp and rakudo binaries, plus the modules
17:03 isBEKaml flussence: Right - slackware source packages tend to be .xz mostly. Compiled packges .txz.
17:03 isBEKaml moritz: great!
17:12 cognominal joined #perl6
17:16 brrt in my experience, xz is faster, bz2 has (somewhat) better compression
17:17 flussence that doesn't sound right... it's usually the other way around
17:17 flussence IIRC xz has faster *decompression* than bz2
17:18 brrt hmm.. i tried once to compress an usb thumbdrive as a backup
17:18 brrt it didn't work - i only shaved 50 mb of the image - but xz was definitely faster
17:19 brrt but that might well be an artificial example
17:20 diakopter harmil: I don't think tintin was being a troll either
17:20 diakopter on purpose, I mean.
17:20 colomon joined #perl6
17:43 PerlJam fwiw, #perl6's treatment is a mild litmus test wrt growing our community.
17:43 PerlJam er, #perl6's treatment of tintin
17:45 brrt1 joined #perl6
17:45 noam_ joined #perl6
17:51 tokuhiro_ joined #perl6
17:55 brrt does anyone have an example of extending with winxed?
17:55 brrt sorry, wrong window
17:56 mikemol joined #perl6
18:01 fgomez joined #perl6
18:17 fgomez joined #perl6
18:19 brrt1 joined #perl6
18:21 Chillance joined #perl6
18:21 Vlavv` joined #perl6
18:23 timotimo wow, i didn't realise that rakudo got so much faster, but that int for loop example is really quite a microbenchmark, isn't it? :)
18:23 phenny timotimo: 09 Jun 14:38Z <moritz> ask timotimo if he ever found a fix for https://gist.github.com/2842279
18:23 timotimo moritz: was about to try another compilation run
18:23 moritz timotimo: never mind that, parrot master should fix it
18:24 timotimo ah, nice
18:24 timotimo then i'll still have to compile, because right now i'm rakudoless and that's not a nice state of being :)
18:24 moritz it was libicu-dev pulling in some linking flags that caused blow-ups
18:25 timotimo oh, that's quite bizzare
18:28 timotimo is adding optimisations to rakudo very hard? i suppose it would require learning nqp and a fair bit of the codebase?
18:31 Timbus joined #perl6
18:34 timotimo not quite sure how to tell configure.pl not to check out the older version of parrot or how to build parrot manually so it works in the rakudo context :\
18:35 moritz timotimo: perl Configure.pl --parrot=master
18:35 timotimo nice, thanks
18:35 moritz and about optimizations... you mostly have to know 1) about the structure of PAST and 2) about Perl 6 semantics
18:35 timotimo there are --parrot-make-option and parrot-option, i suppose i need the latter?
18:36 timotimo ah, --gen-parrot=master should do the trick
18:37 bluescreen10 joined #perl6
18:39 timotimo moritz: do you know of a branch that was not too long where i could look at the commits that lead to some simple optimisation? just to see if it'd be something i could dive into on a boring sunday afternoon? :)
18:40 PerlJam timotimo: if you figure out how to add an optimization to rakudo, could you also write a developer's guide to doing that and stick it in docs?
18:40 moritz timotimo: I dunno, maybe   git log -p src/Perl6/Optimizer.pm  is instructive?
18:40 timotimo i suppose that answers the question :)
18:41 kurahaupo joined #perl6
18:49 timotimo an optimisation i had in mind, because i ran into code being very slow, was to make constant junctions more efficient, but i have no idea where or how to start
18:49 moritz timotimo: jnthn mentioned that the dispatcher/binder code for junctions is just very, very slow
18:50 moritz and could be made much better
18:50 moritz timotimo: maybe ask him about ideas some time
18:50 moritz timotimo: but in general, constant folding seems like a nice idea
18:51 timotimo yeah my extremely slow code looked like if $x & $y & $z == -1|0|1
18:51 timotimo the very much faster code is if 0 <= ($x + 1) <= 2 and [...]
18:53 timotimo sad thing the code for junctions is so slow, because i think junctions are really, really cool
18:53 moritz timotimo: let's team up
18:54 moritz timotimo: when jnthn appears, we'll ask him for ideas to speed up the junction code, and then we'll try
18:54 timotimo cool!
18:54 colomon timotimo: why not -1 <= $x <= 1  ?
18:54 moritz it's a code area I'm not familiar with, but I want to change that
18:55 PerlJam moritz: you could profile a bit even without jnthn  :)
18:55 timotimo colomon: no idea what i thought back then :)
18:56 colomon timotimo: fair enough.  :)
18:56 moritz PerlJam: I could, maybe
18:56 * colomon is getting kind of excited for pmichaud++'s presentation today.  just wish I was there to watch it in person...
18:56 moritz colomon: there are live streams from the YAPC
18:56 timotimo i made that check because i wanted to use precreated XYZ instances from a cache if the x,y and z coordinates were -1, 0 or 1, because i use those as hash indices all the time
18:57 colomon moritz: yes, that's why I'm getting excited.
18:57 timotimo my code is, all in all, horrendously slow. it's also wrong :)
18:57 moritz fwiw http://mail.pm.org/pipermail/v​ienna-pm/2012-June/003125.html and https://gist.github.com/2931318
18:58 moritz the latter is a p5 script to mangle the lifestream URLs to be suitable for mplayer
18:58 colomon moritz: unfortunately, needing livestream to watch it means no hanging out with Parrot / Perl 6 guys afterward.
18:58 moritz for people who don't love silverlight
18:58 moritz colomon: I know :(
18:58 colomon oooooo
18:59 timotimo is silverlight actually bad? it's not flash, so it's at least a hundred times better than that ...
18:59 moritz I just don't want to install another VM for my browser
18:59 moritz and since it doesn't seem to have taken off, mono's support for silverlight will be dropped
19:00 moritz (or already has, not sure)
19:00 timotimo well, that's actually not very good
19:00 brrt1 left #perl6
19:02 * PerlJam notices that ingy adopted A* % B syntax in pegex
19:05 timotimo moritz, i think my "schedule" is full until some time on saturday
19:06 moritz timotimo: mine is full until Sunday, mostly :-)
19:07 moritz having a big celebration (~60 guests) on Sunday afternoon
19:07 moritz and lots of things to prepare
19:08 timotimo all right then, so i'm not going to be holding you back at least ;)
19:15 birdwind1pbird joined #perl6
19:24 leprevost joined #perl6
19:52 dalek rakudo/nom: a3407de | moritz++ | src/core/ (2 files):
19:52 dalek rakudo/nom: generialize cmp candidate from Pair to Enum
19:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a3407dee05
19:52 moritz timotimo: did the build with --gen-parrot=master succeed?
19:57 * colomon is wondering how hard it would be to  port Mojolicious‎ to Perl 6....
19:58 moritz colomon: I've just typed 'mkdir mojo' in my ~/p6/ dir :-9
19:58 colomon moritz: you watching too?
19:58 PerlJam Are you all at the mojo talk (or watching it?)
19:58 PerlJam ?
19:58 colomon PerlJam: I am
19:58 tadzik I didn't know there was one
19:58 moritz colomon: no, I'm watching Spain vs. Italy (soccer)
19:58 * PerlJam is watching too
19:58 tadzik wasn't Italy playing someone like 3 hours ago?
19:59 colomon tadzik: at YAPC::NA
19:59 moritz yes, 1:1 against Croatia, iirc
19:59 colomon tadzik: it's live now
19:59 tadzik wow, those guys must be hell tired now
19:59 tadzik colomon: url?
19:59 moritz oh sorry, Spain vs. Ireland
19:59 tadzik oh, that explains it
20:00 PerlJam Rakudo needs better IO for a mojo port (among other things)
20:00 _sri simple things like DATA are also missing i believe
20:00 colomon tadzik: http://ics.webcast.uwex.edu/mediasite​/Catalog/pages/catalog.aspx?catalogId​=90b5b79a-ceb6-4084-8cca-8977ff1aa729
20:00 tadzik cool, thanks
20:01 colomon tadzik: it's the "On Air" link, though I guess it will be available on Demand in another couple of hours
20:01 moritz _sri: I believe we have enough Pod parsing now that we can add it pretty quickly if it's missing
20:01 tadzik ...Microsoft Silverlight?
20:01 colomon PerlJam: You know, I think I know who can add things like that if they are needed
20:01 colomon tadzik: http://blog.yapcna.org/post/2​5069765587/streaming-via-vlc
20:01 PerlJam tadzik: I use moonlight on linux (chrome)
20:01 colomon I actually started IE on my Vista box for the first time in months to watch.  ;)
20:02 moritz tadzik: see http://irclog.perlgeek.de/​perl6/2012-06-14#i_5726964 for an mplayer-based solution :_)
20:04 colomon moritz: I'd love to hack with you on p6 mojo (as tuits are available, natch)
20:04 moritz colomon: curerntly I'm trying to figure out where to start
20:04 * colomon should probably actually try using p5 mojo first....
20:05 PerlJam _sri: What were the first pieces of mojo that you built?
20:06 moritz Mojo::Util looks like a good place to start
20:06 PerlJam colomon: I've known about mojo for a while, but never used it (probably because of laziness and I ran into Dancer first).  But I think I'm going to use it for the next web app I write if I can.
20:06 PerlJam (or the next time I need a user agent)
20:08 _sri PerlJam: i believe it was the user agent and related modules
20:09 colomon moritz: seems reasonable... except for it has a batch of dependencies, too.  :)
20:10 moritz colomon: aye
20:10 colomon Still, that might give us direction, even if we have to dive down into the other tools first, and they're all generally useful things.
20:14 quietfanatic joined #perl6
20:16 fgomez joined #perl6
20:19 SatoAmbush joined #perl6
20:21 MayDaniel joined #perl6
20:21 UncleFester6 joined #perl6
20:27 diakopter what's the inverse of slurp
20:27 moritz there's none
20:28 diakopter what would you name it if there were one? )
20:28 diakopter :)
20:28 moritz we've had that discussion before
20:28 harmil diakopter: you mean, how do you take a string and write it to a file?
20:28 diakopter I'm not proposing spec'ing it, I'm just looking for a good name for the funciton.
20:28 moritz and the result was that 'spew' might fit, but isn#t cute
20:28 quietfanatic open('outfile', :w).print($text) #:)
20:29 diakopter moritz: kthx
20:29 colomon pmichaud is on in a minute, I think....
20:29 tadzik diakopter: puke ;)
20:30 flussence how about "spill"
20:30 preflex_ joined #perl6
20:30 colomon http://video.ics.uwex.edu/ceecb​7a3-7e3f-4dbb-b13e-7f5cc9f51329
20:30 colomon (is pmichaud's talk stream without the silverlight crap)
20:30 harmil I think that's called "write", no?
20:31 moritz wow, the Irish fans thing "fields of athenry" in the stadium
20:31 moritz how fitting
20:31 harmil More to the point, I would expect that IO::File.write($something) would work….
20:31 harmil er.. I dropped the filename from that, but you know what I mean
20:31 quietfanatic I believe the opposite of slutp is splat
20:31 quietfanatic or spew.
20:32 harmil heh, "slutp"… is this lisp, now?
20:32 quietfanatic slurp, haha
20:32 quietfanatic I'm on a phone
20:32 TimToady the opposite of slurp is print
20:32 harmil fair enough. I'm OK with Perl having a slutp operator, though… then again, it's uninteresting because it's always true.
20:32 quietfanatic and for some reason autocorrect stopped
20:33 quietfanatic print doesn't do the open though
20:33 harmil Yeah, that would have to be a class method off of IO::File or the like (Haven't looked at S3? for a while
20:34 UncleFester6 Hi - I'm not good with git but AFAICT I have tracked the recent NQP build error to sha 0fde4a1e375a26da8d7b511aafdb6174e934b757 which changed nqp version
20:34 harmil I'd be shocked if it's not already there, though
20:36 harmil It's not already there. I think it's a peer to IO::Path::slurp (which is already there) and it's probably called IO::File::write
20:37 harmil *s/peer/sibling/ I think
20:37 tadzik haha, Wendy on screen :)
20:37 harmil Anyone care if I write it and add it to the spec?
20:37 harmil bah, I just realized I wrote IO::File::write. I meant IO::Path::write (same as slurp)
20:38 colomon pmichaud just reported a rakudobug...
20:39 colomon well, called it out, anyway.
20:39 tadzik yeah :)
20:42 moritz r: say 'abc'.substr(*-1)
20:42 p6eval rakudo a3407d: OUTPUT«c␤»
20:44 colomon dang, outdated bugs everywhere!
20:44 MayDaniel joined #perl6
20:44 colomon n: say 'abc'.substr(*-1)
20:44 p6eval niecza v18-7-ga660099: OUTPUT«c␤»
20:45 colomon bah
20:45 * colomon needs to make potstickers rather than focusing on fixing LHF
20:47 quietfanatic r: my @x = 1,2,3; say $@x
20:47 p6eval rakudo a3407d: OUTPUT«===SORRY!===␤Invalid hard reference syntax at line 2, near "@x"␤»
20:48 [Coke] colomon - is it too late to see the live stream for pmichaud ?
20:49 cognominal joined #perl6
20:50 tadzik [Coke]: nope
20:50 tadzik it's still on
20:50 colomon [Coke]: you haven't missed anything you didn't already know
20:51 colomon [Coke]: I posted the link back up there a couple of pages of scrollback
20:51 colomon was pmichaud's last example (using .lines and .get) actually valid?  it seems conceptually wrong to me, even if it might work in a particular case.
20:57 erkan joined #perl6
20:57 erkan joined #perl6
21:03 harmil r: class A {} ; say A ~~ Type;
21:03 p6eval rakudo a3407d: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Type' called (line 1)␤»
21:03 harmil n: class A {} ; say A ~~ Type;
21:03 p6eval niecza v18-7-ga660099: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared name:â�¤ 'Type' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) â�¤  at /home/p6…
21:03 harmil Type isn't a valid type?
21:03 moritz what would it do?
21:03 colomon huh.  is there a way to ask if a list has two elements?  (without reifying the entire list)
21:03 lichtkind joined #perl6
21:04 harmil I think it would do what S03/Smart matching says it would do....
21:04 moritz harmil: read Mu:U when it says Type
21:04 moritz colomon: in rakudo, you'd say  @list.gimme(2) == 2
21:04 harmil Um… Mu? really? So $concrete_object ~~ Mu is false?
21:05 moritz Mu:U, not Mu
21:05 moritz (though rakudo only implements that in signatures)
21:05 harmil n: class A {} ; say A ~~ Mu:U;
21:05 p6eval niecza v18-7-ga660099: OUTPUT«True␤»
21:05 harmil n: class A {} ; my $a = A.new(); say $a ~~ Mu:U;
21:05 p6eval niecza v18-7-ga660099: OUTPUT«True␤»
21:05 harmil urm… not quite
21:05 colomon moritz: but of course, that's not spec (yet?)
21:06 moritz colomon: right
21:06 moritz colomon: but you could do signature unpacking
21:07 moritz sub has_two_elems(@a) { sub checker(@ [$, $, *@]) { 1 }; so try checker @a }
21:07 moritz or without subsignatures
21:08 moritz sub checker($, $, *@) { 1 }; so try checker |@a;
21:08 colomon moritz: it's curiously harder than determining it has one element.  ie ?@a   -- and it's something I needed to do in an algorithm yesterday.  :)  (in C++, for $work)
21:08 moritz colomon: I think .gimme should be specced
21:08 * moritz -> sleep
21:08 tadzik is pmichaud's lightning talk today?
21:09 tadzik g'night moritz
21:09 [Coke] I assume that's larry in the aud that keeps dropping out.
21:09 tadzik yeah :)
21:09 [Coke] sad. I can hear everything pmichaud says, but only about every 3rd word from larry
21:10 TimToady sorry
21:10 adu where is this talk?
21:10 TimToady right here :)
21:11 adu can I listen?
21:12 TimToady I don't know the link offhand...
21:12 colomon adu: yes.  stream URL is http://video.ics.uwex.edu/ceecb​7a3-7e3f-4dbb-b13e-7f5cc9f51329
21:12 tadzik bhttp://video.ics.uwex.edu/ceecb​7a3-7e3f-4dbb-b13e-7f5cc9f51329
21:12 ggoebel joined #perl6
21:12 tadzik yeah, colomon++ beat me to it :)
21:12 colomon I opened it with VLC, worked like a charm
21:12 tadzik works with mplayer too
21:13 colomon pretty sure VLC is mostly a pretty wrapper around mplayer
21:16 lichtkind joined #perl6
21:18 [Coke] argh. need a bio break, but stuck listening to pmichaud++ !
21:18 adu firefox works!
21:18 tadzik :)
21:19 adu chrome doesn't understand that URL for some reason
21:19 geekosaur VLC is not a wrapper around mplayer, no.  in fact it's not uncommon to find things that work in one but not the other
21:19 usvm joined #perl6
21:20 colomon adu: it's a naked stream url, you need a player rather than a browser
21:20 adu I guess firefox is a player :)
21:21 colomon firefox++
21:23 adu is there any way to catched what I mised earlier?
21:23 colomon adu: yes, but I don't know what the url is for it.
21:25 lichtkind joined #perl6
21:26 harmil Got pulled away for $work. So, what is Mu:U and how does it relate to what was called Type in S03?
21:27 adu hmm, the explaination of flattening was defered by not answering the question, very meta...
21:27 colomon oooo, Util
21:27 colomon Util is there!
21:28 tadzik where?
21:28 tadzik asking the .lol question?
21:29 colomon he walked in front of the podium at the end of the talk
21:29 colomon If he asked a question, I missed it.
21:29 tadzik oh
21:29 ashleydev joined #perl6
21:30 ashleydev joined #perl6
21:30 lichtkind joined #perl6
21:30 tadzik okay, time to sleep()
21:30 adu sad empty screen
21:30 colomon indeed
21:32 colomon lightening talks start in a couple of minutes in another room
21:32 colomon http://ics.webcast.uwex.edu/mediasite/Viewe​r/?peid=5952ef5979c64fa99374016bc28f7d2c1d is the silverlight=-powered page for it.
21:32 colomon *lightning
21:34 colomon stream url for that is http://video.ics.uwex.edu/5952e​f59-79c6-4fa9-9374-016bc28f7d2c
21:34 colomon dunno if it will stay on long enough for lightning talks or not
21:34 * colomon is seriously falling behind on the dumpling wrapping
21:34 [Coke] dave rolksy!
21:35 [Coke] Short person!
21:35 [Coke] I can barely see your eyes, short person.
21:35 harmil :( wish I was there
21:37 colomon wish we all were there
21:40 cognominal joined #perl6
21:40 spaceships joined #perl6
21:43 immortal joined #perl6
21:43 sorear good * #perl6
21:45 colomon sorear, o/
21:46 ggoebel joined #perl6
21:47 Util Hi, colomon! We miss you here.
21:48 colomon Util: really wish I could be there with you guys
21:52 lichtkind joined #perl6
22:04 fgomez joined #perl6
22:07 lichtkind joined #perl6
22:18 lichtkind joined #perl6
22:24 Telgalizer joined #perl6
22:26 lichtkind joined #perl6
22:27 lichtkind jnthn: did you know that  plzen hometown of modern beer so to speak , has a camel in his crest :)
22:33 harmil rn: class A { has $!y; method x(:$y=$!y) { say $y } }; A.x(:y<foo>)
22:33 p6eval rakudo a3407d, niecza v18-7-ga660099: OUTPUT«foo␤»
22:33 harmil rn: class A { has $!y; method x(:$y=$!y) { say $y } }; A.new(:y<foo>).x()
22:33 p6eval rakudo a3407d, niecza v18-7-ga660099: OUTPUT«Any()␤»
22:34 harmil Why not "foo" for that second one?
22:34 nuba joined #perl6
22:36 harmil That is to say, what am I getting when I try to default an optional named parameter to a private attribute?
22:40 harmil Ah, my bad. The attribute needs to be declared as public ($.y), but then read as private (:$y=$!y)
22:40 harmil rn: class A { has $.y; method x(:$y=$!y) { say $y } }; A.new(:y<foo>).x()
22:40 p6eval rakudo a3407d, niecza v18-7-ga660099: OUTPUT«foo␤»
22:42 harmil Side note: it would be really nice if the error from A.x() would indicate that the user probably meant to pass a parameter when x is used as a class method.
22:42 harmil Right now:
22:42 harmil rn: class A { has $.y; method x(:$y=$!y) { say $y } }; A.x()
22:42 p6eval rakudo a3407d: OUTPUT«Cannot look up attributes in a type object␤  in method x at /tmp/klag0ufxLk:1␤  in block <anon> at /tmp/klag0ufxLk:1␤␤»
22:42 p6eval ..niecza v18-7-ga660099: OUTPUT«Unhandled exception: Attempted to access slot $!y of type object for A␤  at /tmp/Uvv_kAIfca line 0 (:$y=$!y init @ 1) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/Uvv_kAIfca line 0 (A.x @ 1) ␤  at /tmp/Uvv_kAIfca line 1 (mainline @ 5) ␤  at /home/p6e…
22:44 harmil Hmm… but it seems a CATCH inside the method will catch that exception, even though it happens outside of the visual part of the block… so the class author could clean that up
22:56 UncleFester6 left #perl6
22:56 pmichaud yay, done with talks for today :)
22:56 pmichaud and I finally have a working internet connection (at least for now)
22:56 adu joined #perl6
23:11 lichtkind joined #perl6
23:12 cognominal joined #perl6
23:13 whiteknight joined #perl6
23:13 daemon_ joined #perl6
23:14 lichtkind joined #perl6
23:19 cognominal joined #perl6
23:19 jferrero joined #perl6
23:20 lichtkind joined #perl6
23:21 jferrero Hi! I need confirmation about the last change into [[Perl 6]] Wikipedia page.
23:22 pmichaud jferrero: looking
23:22 adu what kind?
23:23 jferrero "Modifying the contents of @_ does not modify the original arguments to a Perl subroutine. This can be shown with a simple Perl one-liner."
23:25 adu that is a statement about Perl5
23:25 adu I don't know why it's in the Perl6 article
23:26 pmichaud :Q!
23:26 pmichaud exit
23:26 Juerd I think it's false for either Perl.
23:26 pmichaud ww
23:27 pmichaud pmichaud@plum:~$ cat x.pl
23:27 pmichaud sub foo { @_[0] = 'abc' };
23:27 pmichaud my @b = 1,2,3;
23:27 pmichaud foo @b;
23:27 pmichaud print @b[0], "\n";
23:27 pmichaud pmichaud@plum:~$ perl x.pl
23:27 pmichaud abc
23:27 pmichaud oops
23:27 pmichaud anyway, looks to me like modifying @_ modifies the arguments.
23:28 pmichaud so I think the commenter is wrong.
23:28 cognominal joined #perl6
23:28 adu hmm
23:28 adu how does one pronounce Niecza?
23:28 jferrero I think so.
23:29 pmichaud afk, dinner and stuff
23:30 sorear knee-eh-cha
23:32 kurahaupo left #perl6
23:33 quietfanatic joined #perl6
23:37 pupoque joined #perl6
23:37 sorear like the consonant in the name of the Republica Česka
23:38 lichtkind joined #perl6
23:53 lichtkind joined #perl6
23:53 adu without the k?
23:54 sorear adu: I have trouble with my chs and ks
23:59 cognominal joined #perl6

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

Perl 6 | Reference Documentation | Rakudo