»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:06 Chillance left 00:22 tintin joined
tintin did larry create perl6? 00:23
or is it forked by someone else?
adu tintin: yes, larry started perl6 00:25
I'm not sure how much of it is dictatorship and how much of it is community
tintin so is perl5 dead? why did he leave perl5?
adu tintin: he didn't leave perl5 00:26
perl5 is used by zillions of websites, it's not dead
tintin or will the perl5 be dead when all will use perl6 instead of perl5?
will perl6 replace all of those perl5 apps on those websits?
adu perl6 is incompatible with perl5 (unless you're really really careful about how you write)
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
tintin does larry join here? did he join #perl6 ever?
adu perl6 has better regexes
00:27 sergot left
diakopter tintin: larry is named TimToady here 00:27
adu diakopter: I did not know that! 00:28
diakopter oh :)
tintin oh, no, i also didn't know that
TimToady: hi, are you there? 00:29
diakopter YAPC::NA 2012 is currently occuring in Madison, WI
several folks are there 00:30
adu tintin: do you know any other languages?
tintin what is YAPC::NA ? 00:31
diakopter www.lmgtfy.com/?q=YAPC::NA
tintin TimToady: hi 00:35
00:36 mcglk joined, tintin left 00:39 tokuhiro_ joined 00:47 skids left 00:49 fgomez left 00:54 fgomez joined
adu omg, greping for 'HOW' in the synopses is not fun 00:58
most of the matches are 'however' 00:59
Juerd Grep with word boundary anchors 01:01
\b in Perl regexes, \< and \> in some other dialects
adu if only Chrome supported that
I was using 'grep' in the informal sense 01:02
01:02 scott__ joined
adu how would I get the method names as a list of strings? 01:03
01:07 jaldhar joined 01:11 raiph left 01:12 larks joined
larks is there a way to search an array of strings. something like "" if ('tom' ~~ ['tom', 'dick', 'harry']) "" but works? 01:14
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)>␤»
..rakudo 90333b: OUTPUT«q[tom]␤␤»
larks thanks, now I have to figure do that with vars 01:16
adu the vars? 01:17
larks with a scalar for the search term and an array for the list of things to search
like if ($st ~~ @sa) { 01:18
[Coke] hurls boingboing.net/2012/06/13/meritocra...rchi.html, as this reminds him of the schwernification earlier.
01:20 tokuhiro_ left 01:21 tokuhiro_ joined
adu according to S05, it should be "tom" ~~ /@sa/ 01:21
01:21 leprevost joined
adu but it doesn't seem to work 01:22
larks hhmmm, yeah. 01:23
might just have to create a sub for it 01:24
01:25 tokuhiro_ left
geekosaur also see mark.dreamwidth.org/22320.html 01:41
01:48 Guest52913 left
adu oh meritocracy 01:48
I think you guys misunderstand meritocracy 01:49
geekosaur er, no 01:53
02:08 fgomez left
adu merit != code 02:09
merit != test scores
geekosaur thinks that focusing on that means that you are the one missing the point... 02:12
02:15 fgomez joined
adu what was the point? 02:15
lol
geekosaur merit is indeed none of those things. however, in practice it is not what supporters of so-called "meritocracies" claim it is
^it is not^it is also not^ 02:16
02:16 quietfanatic joined
geekosaur and tbh when someone steps in with "you misunderstand meritocracy, merit does not mean code or ..." I start smelling burning straw 02:18
pmichaud [Coke]: (boingboing article) Noirin Plunkett said something to the effect that the Apache Software Foundation values "do-ocracy" over "meritocracy". (talk link at act.yapcna.org/2012/talk/89) 02:19
quietfanatic nr: say for "123".^methods
p6eval niecza v18-7-ga660099: OUTPUT«===SORRY!===␤␤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:␤------> say⏏ for "123".^methods␤␤Unhandled exception: Check faile…
..rakudo 90333b: OUTPUT«␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤»
quietfanatic nr: .say for "123".^methods
p6eval rakudo 90333b: OUTPUT«BUILD␤Int␤Num␤chomp␤chop␤substr␤pred␤succ␤ll-match␤match-list␤ords␤lines␤samecase␤samespace␤trim-leading␤trim-trailing␤trim␤words␤encode␤capitalize␤trans␤indent␤WHICH␤Bool␤Str␤ACCEPTS␤Numeric␤gist␤perl␤comb␤match␤subst␤split␤»…
..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 …
quietfanatic How's that, adu?
adu how is what?
quietfanatic for getting the list of methods
as a list of strings
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.
adu r: grammar G { rule TOP { <?> }; }; say G.^methods
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␤␤»
quietfanatic little late, I know
adu r: grammar G { rule TOP { <?> }; }; say for G.^methods
p6eval rakudo 90333b: OUTPUT«␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤»
quietfanatic You'll have to say .say
adu r: grammar G { rule TOP { <?> }; }; .say for G.^methods 02:21
p6eval rakudo 90333b: OUTPUT«TOP␤parse␤parsefile␤MARK_FROM␤MARK_TO␤MATCH␤INTERPOLATE␤OTHERGRAMMAR␤RECURSE␤prior␤No such method 'say' for invocant of type 'NQPRoutine'␤ in block <anon> at /tmp/q3b_lonuz1:1␤␤»
quietfanatic and
iyeah
*yeah
adu I have no idea why that works :/
quietfanatic looks like there's some NQP leakage there
The .^ is short for .HOW.
adu quietfanatic: thanks!
pmichaud r: grammar G { rule TOP { <?> }; }; .name.say for G.^methods # just curious
p6eval rakudo 90333b: OUTPUT«TOP␤parse␤parsefile␤MARK_FROM␤MARK_TO␤MATCH␤INTERPOLATE␤OTHERGRAMMAR␤RECURSE␤prior␤No such method 'name' for invocant of type 'NQPRoutine'␤ in block <anon> at /tmp/hJaBbbT0v6:1␤␤»
quietfanatic r: grammar G { rule TOP { <?> }; }; .name.say for G.HOW.methods
adu quietfanatic: oh ok, I've seen the .HOW version
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␤␤»
pmichaud G.HOW(G).methods 02:22
quietfanatic or...not...
pmichaud HOW requires an argument.
quietfanatic really?
pmichaud (in addition to the invocant)
quietfanatic That's new.
adu quietfanatic: I understand the 'for', but what does '.say' mean?
quietfanatic why?
.say means $_.say
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 }
quietfanatic yes
adu ok
pmichaud r: .say for Int.HOW.methods # checking
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␤␤»
pmichaud r: .say for Int.HOW(Int).methods # checking
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…
adu which synopsis is that in?
pmichaud hmmmm
okay, I'm misremembering something. 02:24
r: .say for Int.HOW.methods(Int)
p6eval rakudo 90333b: OUTPUT«Int␤Num␤Rat␤FatRat␤abs␤Bridge␤chr␤succ␤pred␤sqrt␤base␤floor␤round␤ceiling␤sign␤conj␤rand␤sin␤asin␤cos␤acos␤tan␤atan␤atan2␤sec␤asec␤cosec␤acosec␤cotan␤acotan␤sinh␤asinh␤cosh␤acosh␤tanh␤atanh␤sech␤asech␤cosech␤acosech␤cotanh␤acotanh␤unpolar␤cis␤Complex␤log␤exp␤trunca…
pmichaud there
quietfanatic adu: I don't remember
pmichaud when used with HOW, .methods needs the argument
quietfanatic adu: probably S04 02:25
pmichaud adu: S12 has the .obj notation.
"Dot notation can omit the invocant if it's in C<$_>: 02:26
.doit(1,2,3)"
quietfanatic Aah
adu pmichaud: thanks :)
pmichaud S12:321
quietfanatic why does it need an argument with HOW but not ^?
This does not intuit.
pmichaud quietfanatic: I don't recall exactly why; it's a meta-object protocol thing.
quietfanatic: but that is what S12 says 02:27
quietfanatic well I never quite understood p6's mop
diakopter neither
pmichaud S12:2309
quietfanatic That's my next complaint I'm gonna make to timtoady :)
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:28
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
02:29 cog_ left
quietfanatic but why isn't it needed on .^methods then? 02:30
pmichaud I suspect the .^ includes the $obj for you
flussence that's a shortcut, it's meant to be short :)
quietfanatic especially since the spec still just says "the ^ metasyntax is equivalent to .HOW"
pmichaud method dispatch:<.^>(Mu \$self: $name, |$c) is rw is hidden_from_backtrace { 02:31
self.HOW."$name"($self, |$c)
}
quietfanatic ah
so it's that way on all ^methods
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
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)
p6eval rakudo 90333b: OUTPUT«Int␤Num␤Rat␤FatRat␤abs␤Bridge␤chr␤succ␤pred␤sqrt␤base␤floor␤round␤ceiling␤sign␤conj␤rand␤sin␤asin␤cos␤acos␤tan␤atan␤atan2␤sec␤asec␤cosec␤acosec␤cotan␤acotan␤sinh␤asinh␤cosh␤acosh␤tanh␤atanh␤sech␤asech␤cosech␤acosech␤cotanh␤acotanh␤unpolar␤cis␤Complex␤log␤exp␤trunca…
quietfanatic r: .say for Cool.HOW,methods(Int)
p6eval rakudo 90333b: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&methods' called (line 1)␤»
quietfanatic r: .say for Cool.HOW.methods(Int)
p6eval rakudo 90333b: OUTPUT«abs␤conj␤sqrt␤sign␤rand␤sin␤asin␤cos␤acos␤tan␤atan␤atan2␤sec␤asec␤cosec␤acosec␤cotan␤acotan␤sinh␤asinh␤cosh␤acosh␤tanh␤atanh␤sech␤asech␤cosech␤acosech␤cotanh␤acotanh␤cis␤log␤exp␤roots␤log10␤unpolar␤round␤floor␤ceiling␤truncate␤bytes␤chars␤fmt␤substr␤uc␤lc␤ucfirst␤l…
flussence I think the separation is to allow things like this to work... github.com/jnthn/grammar-debugger/.../Tracer.pm 02:33
adu quietfanatic: oh comma
hugme: add adu to rakudo 02:34
hugme adu: You need to register with freenode first
quietfanatic secretly thinks p6's mop is an ungrokkable mess 02:35
adu metaobjectprotocol?
quietfanatic yes
adu that's so CL
quietfanatic CL? 02:36
adu common lisp
quietfanatic ah
adu the first use of the term
quietfanatic like in CLOS, yes
adu see also: en.wikipedia.org/wiki/Greenspun's_tenth_rule 02:37
quietfanatic haha except I don't believe it.
adu I've also been interested in NQP, not from a practical perspective, but an S-expression perspective
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
adu sexps are very AST-ish 02:39
and they correspond very closely to PAST::Op
quietfanatic indeed. But I do not think raw S-expressions make a good programming language.
Oh yes, here's what I was gonna say:
((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 :)
quietfanatic is a valid s-expression, but I don't think there is an AST equivalent.
it'd have to be (call (function-generator argument1) argument2) or something
adu right
quietfanatic unless every single branch of your AST is a call. 02:41
adu heh
well, I'm very interested in extra-compiler tools
quietfanatic I do like the idea of a language's AST being fully specced and machine-manipulatable. 02:42
something I think more languages should pick up on besides lisp descendants.
adu like AST-based (as opposed to text-based) editors, static analysis, syntax highlighting, documentation generation, literate programming, source-based debugging, etc.
quietfanatic yes, those are all pretty cool.
adu and it'd be nice is there was something like NQP 02:43
for that sake
quietfanatic I think Perl 6 is more poised to take advantage of such things than Perl 5.
adu indeed
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
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.
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
which increases the impetus for more implementations of perl6
quietfanatic but I also think that perl 6's syntax is readable and colorful enough that real colors aren't really needed.
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
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.
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
quietfanatic oh nice 02:50
I guess there are ways
adu but you're right, aside from JNI, not so much integration
quietfanatic but of course, the JNI goes to the C / asm level
adu .NET has the benefit of having the majority of all users behind it
quietfanatic and no p6 implementation, so far as I know, can be accessed from that level. 02:51
adu you could exec("perl6"); lol
quietfanatic but .NET is also a walled garden.
adu quietfanatic: I prefer the term 'silo' 02:52
sooo much shorter :)
quietfanatic ahaha. And with Rakudo's speed, you wouldn't even notice the process overhead!
silo, huh?
adu yes
I don't like silos
quietfanatic That also gives the connotation that it might launch a missle at other VMs one day :)
adu lol
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?"
adu actually, my favorite answer is usually someone's favorite language 02:54
like Q: "what should I write my parser in?" A: "oh, INTERCAL, definitely"
quietfanatic yes. Preferably the version with COMEFROM
adu lol 02:55
mauke clearly the best * is ✱
quietfanatic I think the best * is the one that does currying in p6 :)
adu my favorite VM is x86
quietfanatic adu: I'm going to have to agree with you on that.
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 :)
oh right
it is V these days
adu quietfanatic: no I meant the V
02:57 jaldhar left
adu aka microcode 02:57
quietfanatic: have you heard of FMA?
quietfanatic No...
adu it's an instruction set that may bifurcate the x86 ISA
en.wikipedia.org/wiki/FMA_instruction_set
quietfanatic ooh 02:58
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 :)
hence 'bifurcate'
quietfanatic at least, a serious contender to all the languages that are as slow as metling snow 03:00
*melting
adu what would be nice is if there was a Perl6 to NQP compiler, which then had dozens of compilers to CLR, JVM, etc.
quietfanatic: I think AMD is going to bow to Intel 03:01
have you heard of LLVM?
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
I have 03:02
LLVM looks cool, but mostly it hasn't made itself appear relevant.
yet.
adu LLVM is pretty close to my ideal compiler
it has a nice ASM
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
quietfanatic Does it go on, like, the JVM and .NET 03:03
?
adu I was looking into making Parrot and LLVM have a baby (shotgun wedding)
quietfanatic or more importantly these days, Javascript?
adu LLVM is a compiler from an abstract ISA to x86, ppc, arm
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
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.
ah
adu which is why you have to use the *support* functions to implement GC
quietfanatic instead of enforcing GC on everything
sorear this FMA3 FMA4 thing is not a big deal.
adu sorear: oh?
03:05 cognominal_ joined
sorear adu: binaries compiled on one CPU with full optimization will not run on different CPUs 03:06
this is the way things have *always* worked
adu sorear: sure it'll be fine in the linux world 03:07
sorear you have to rebuild stuff from source when switching CPUs
quietfanatic as long as no proprietary studio releases a binary that only works on one company's processors.
adu but it'll suck for closed source
quietfanatic Even in the open source world, I'm a fan of not requiring non-experts to compile their own code.
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
adu wow
brb
quietfanatic Like, whoever suggested a while ago that Rakudo* provide binaries: Please do! I would use them.
well, these days you can usually rely on sse and stuff
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
sorear using fma now is no different
quietfanatic ah
ah, ah. I forgot about runtime CPU detection. 03:10
I concede to sorear then. :)
adu back 03:17
sorear And of course the existance of minor incompatibilities between CPUs won't affect JITs at all.
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.
pmichaud 03:08 <quietfanatic> Like, whoever suggested a while ago that Rakudo* provide binaries: Please do! I would use them.
quietfanatic: noted.
quietfanatic and retaining smartness for N different CPUS makes your JIT N times as big.
adu Perl6, NQP, and some kind of NQP--, or like a Definitely Not Perl, yeah, that's it… DNP
quietfanatic pmichaud++ 03:19
sorear (Regrettably, Microsoft seems to be moving away from JITs)
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
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
03:20 cognominal left
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'
quietfanatic pmichaud: you can probably just get away with a .deb and a .rpm
sorear (presumably so do the others, but I've never had a reason to go digging in the ARM JIT)
adu LLVM is also supposed to support JIT
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.
adu or maybe a superoptimization database 03:22
LLVM is the closest thing I've found to this database idea
quietfanatic the thing is, optimizations are specific to whatever system you're working on, be it bytecode, AST, asm, or whatever 03:23
and everyone wants their system to be the One System.
adu of course, that would be part of the theoretical database
quietfanatic: what do you do? 03:24
sorear writing a properly optimizing x86 compiler is *way* beyond my pay grade 03:25
quietfanatic adu: what do you men?
*mean
adu quietfanatic: job?
quietfanatic student
adu cool!
I dropped out
quietfanatic ah
adu then I got a job as an Android/iOS developer
quietfanatic i kind of wanted to, but for whatevre reason, I hung on. 03:26
adu making money is fun
quietfanatic i bet
adu what are you studying?
quietfanatic cs 03:27
adu hmm, shoud this be in PM?
quietfanatic PM? 03:28
adu PM = private message 03:29
quietfanatic oh. perhaps.
04:12 Entonian joined 04:13 Entonian left 04:19 telex left 04:25 majrmovies joined 04:32 majrmovies left 04:35 telex joined 04:41 daemon left 04:42 mattp_ left, mattp_ joined 04:43 daemon joined 04:45 telex left, odoacre left 04:47 telex joined, odoacre joined
sorear p6: @*ARGS >>.= flip 05:13
p6eval pugs: OUTPUT«*** ␤ Unexpected ">.="␤ expecting operator␤ at /tmp/n3CKedGv5F line 1, column 9␤»
..niecza v18-7-ga660099: OUTPUT«===SORRY!===␤␤Missing << or >> at /tmp/i4p7E75KtK line 1:␤------> @*ARGS >>.=⏏ flip␤␤Parse failed␤␤»
..rakudo 90333b: OUTPUT«===SORRY!===␤Missing << or >>␤at /tmp/oQJaRSKq2W:1␤»
sorear p6: @*ARGS».=flip
p6eval pugs: OUTPUT«*** No such method in class Scalar: "&flip"␤ at /tmp/Rk_kc_Z7Ak line 1, column 1 - line 2, column 1␤»
..rakudo 90333b, niecza v18-7-ga660099: ( no output )
sorear p6: @*ARGS ».=« flip
p6eval pugs: OUTPUT«*** ␤ Unexpected "\187.=\171"␤ expecting operator␤ at /tmp/IZD4t8EWeF line 1, column 8␤»
..rakudo 90333b: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't shift from an empty array!␤»
..niecza v18-7-ga660099: OUTPUT«===SORRY!===␤␤This macro cannot be used as a function at /tmp/deFcMJOM1d line 1:␤------> @*ARGS ».=«⏏ flip␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5) ␤ at /hom…
sorear hey, I broke Rakudo 05:14
adu o hi sorear 05:15
uh oh
05:17 birdwindupbird joined
moritz \o 05:30
05:31 leprevost left
moritz backlogs 05:35
one blocker to really useful binary builds is relocatability 05:36
quietfanatic: I don't think p6's MOP is an ungrokkable mess; it just needs some very good documentation 05:39
r: say Buf.new(65).decode 05:40
p6eval rakudo 90333b: OUTPUT«A␤»
05:42 Telgalizer left
dalek c: 25709f6 | moritz++ | lib/ (2 files):
Str.substr, Str.encode, Buf.decode
05:44
masak go' mo', meatbrains. 05:55
masak submits sorear's ResizablePMCArray rakudobug
sorear o/ masakbot
masak bobs in mid-air 05:56
for some reason, to my inner eye, bots float.
probably due to www.amazon.com/Player-Games-Culture...0316005401 05:57
sorear mm, iain banks. probably should read someday.
masak yes. all the ones I've read by him have been satisfactory. space feels big. 05:59
but don't read him before you read Charles Stross.
sorear is _Accelerando_ enough?
masak "Accelerando" is the one I was about to recommend.
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.
I finished it day before yesterday. 06:01
r: my @a; @a ».=« flip 06:03
p6eval rakudo 90333b: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't shift from an empty array!␤»
masak r: (my @) ».=« flip
p6eval rakudo 90333b: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't shift from an empty array!␤»
06:03 wtw joined
masak I'm tryin' to figger out what ».=« means, semantically. 06:04
06:04 brrt joined
masak so, infix:<.=> is an operator that makes the rhs a bit special. 06:05
'flip' is still a method.
sorear masak: I vote for 'nothing' 06:06
tadzik good morning
sorear actually, I somewhat think .= should be treated syntactically as an adverb
accepted in infix position but otherwise parses as a postfix
incidentally, I am starting to very seriously toy with the idea of yapc::eu 06:07
masak dobre rano, tadziku. 06:10
sorear: \o/ 06:11
06:16 nebuchadnezzar joined
adu meatbrain? 06:20
is that a good thing? or a bad thing?
tadzik: why do you always show up when I start sleeping? 06:21
masak adu: it's better than being a nematode.
adu ew 06:22
masak but probably worse than being a Matryoshka brain.
adu the video codec or the doll?
masak the doll.
sorear can't help but think that neurons are suboptimal in some functions 06:23
06:23 crab2313 joined
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
adu tadzik: lol
masak tadzik: or a snore :P
tadzik but it's more likely than I'm just a bat
masak tadzikbat
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
masak sorear: brings a new meaning to `> /dev/null`, doesn't it?
adu that's natural, in the morning
hmm is that different than >> /dev/null?
sorear masak: also, I think dyson spheres are insuffiently audacious. 06:25
adu also, not real
sorear masak: hydrogen burning even in fully convective stars is only ~1% efficient
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. :)
adu oOo io9.com/5758349/why-computronium-is...unobtanium 06:28
06:29 xinming left
adu o did I tell you the good news? 06:29
masak maybe not?
adu I got my go parser to parse a file from the go stdlib
after semicolon preprocessing
masak \o/
adu++
adu golang.org/src/pkg/bufio/bufio.go 06:30
and pastebin.com/W297Nn8m
now I just need PAST/QAST/RAST or whatever back to source form 06:31
06:31 xinming joined
adu maybe too many steps in the future 06:31
my current problem is semicolons
tadzik commutees
adu and sorear gave me this: gist.github.com/2920292
oops, sorear++ 06:32
:)
sorear waits for masak to break fast.
adu I wish $/.prematch was available inside a regex 06:33
06:34 am0c left 06:37 brrt left
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/…
sorear huh. 06:38
dalek ecza/non-bootstrap: b4a73f6 | sorear++ | / (8 files):
job.rxinfo fiddles, port Operator
06:39
06:39 fhelmberger joined
adu is there any way to do self.orig[0:self.pos] in a regex? 06:42
moritz r: say so 'abc' ~~ / . ** 2 { say ~$/.prematch } / 06:45
p6eval rakudo 90333b: OUTPUT«␤True␤»
moritz r: say so 'abc' ~~ / . ** 2 { say ~$/ } /
p6eval rakudo 90333b: OUTPUT«ab␤True␤»
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􏿽xE2􏿽x90
moritz r: say so 'abcdefg' ~~ / de { say $.prematch } /
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􏿽xE2􏿽x90
moritz another instance of the UCS-4 bug
sorear ucs 4 ... bug? 06:47
adu interesting
sorear n: "abcdefghij" ~~ / f { say substr($/.orig,0,$/.pos) } /
p6eval niecza v18-7-ga660099: OUTPUT«abcdef␤»
sorear n: "abcdefghij" ~~ / f { say substr($/.orig,0,self.pos) } /
p6eval niecza v18-7-ga660099: OUTPUT«===SORRY!===␤␤'self' used where no object is available at /tmp/3mKeJ6SEG6 line 1:␤------> ghij" ~~ / f { say substr($/.orig,0,self⏏.pos) } /␤␤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) } }
p6eval niecza v18-7-ga660099: OUTPUT«abcde␤»
adu moritz: what does "say so" mean?
moritz adu: faq.perl6.org/#so
adu interesting 06:49
moritz r: say Bool ~~ Cool 06:51
p6eval rakudo 90333b: OUTPUT«True␤»
moritz n: say Bool ~~ Cool
p6eval niecza v18-7-ga660099: OUTPUT«True␤»
moritz n: say Bool.HOW
p6eval niecza v18-7-ga660099: OUTPUT«ClassHOW.new(...)␤»
sorear I should fix that someday 06:52
moritz nr: say Bool ~~ Int
p6eval rakudo 90333b: OUTPUT«False␤»
..niecza v18-7-ga660099: OUTPUT«True␤»
adu hmm doesn't seem to work for me
sorear What doesn't work? In what way does it not work? 06:56
adu o wait substr($/.orig,0,self.pos) works!
yey
dalek c: 35eec2d | moritz++ | lib/Bool.pod:
Bool
adu is happy
masak made breakfast. nomming it now.
need to start packing soon.
moritz++ # documenting
adu loves breakfast
masak it's one of my favorite dishes.
adu karma masak
aloha masak has karma of 737.
sorear what does packing pack for? 06:57
adu karma adu
aloha adu has karma of 10.
adu yey
masak sorear: DDDx in London.
adu++ # two digits!
adu masak++ thanks
06:58 domidumont left
masak .oO( karma nepotism cycle detected. stand by for elimination. ) 06:58
sorear waits for masak to finish breakfast 06:59
07:01 brrt joined
masak no, go on. tell me. what's more audacious than a Dyson sphere? 07:04
07:05 scott_ joined, scott_ is now known as Guest97791 07:06 scott__ left
sorear so hydrogen burning only gets you 1% of the energy in the hydrogen 07:06
(and later stages don't improve matters much) 07:07
so it always strikes me as insufficiently daring when people talk about stellar fusion as the ultimate power supply.
masak what did you have in mind?
sorear have you heard of the Blandford-Zjanek(sp?) process?
masak no. 07:08
masak googles
plasma... high-speed jets...
am I getting close? 07:09
sorear yes
masak relativistic jets, even.
it sounds like a fun ride :)
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
moritz but 1% of a lot of mass is still a lot of mass, especially when multiplied with c²
sorear the trick is making this work without massless infinitely strong ropes
adu sleepy time 07:10
masak adu: 'night
adu night
07:10 adu left
masak .oO( Perl 6 gives you enough massless infinitely strong rope to BZ yourself in the foot ) 07:10
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
which means that the mass-energy of the photon was almost exactly cancelled by its grav. binding energy
masak forget hiring you, sorear. I want you on my generation ark. 07:12
:P
we could dismantle black holes and talk about the Perl 7 design. 07:14
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:15
07:22 tintin joined
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?
sorear no.
tintin will those module writen in perl5 run with perl6?
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.
tintin: yes, it's a shame. 07:25
moritz tintin: isn't that a shame for every new programming language out there?
masak tintin: we're working on having Perl 5 and Perl 6 interoperate. it's a long journey.
sorear tintin: it's something we want to fix eventually. costs of being an early adopter.
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
masak tintin: we did. it's called Perl 5.16.
moritz by the perl 5 developers
mikec__ perl6 isn't replacing perl5
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
masak or ever.
due to constraints.
tintin why can't the perl5 problems be solved ?
masak backwards compat.
moritz tintin: because they go very, very deep
masak limitations in the current code base.
the most optimistic thing about Perl 5 I'm seeing right now is the talk about a MOP. 07:28
that's potentially very, very good.
tintin what i MOP?
masak it's the underpinnings of real object orientation.
07:28 edit_21 joined
masak it's "how the OO works" in a language. 07:28
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
moritz tintin: but sometimes shame is necessary for long term progress
tintin how can be sure about that?
07:29 kaleem joined
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
moritz tintin: every improvement is a change
well, it's not as if language A could easily replace language B
language A can be an alternative to language B
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.
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.
sorear: ooc, why does nihilism suck?
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
to upgrade the website 07:32
masak it feels like one of those philosophies that people keep misunderestimating.
moritz masak: welcome to the internet
masak moritz: it wasn't like this when I left! :P
sorear masak: my definition of nihilism includes '...and I'm depressed about it'
masak sorear: ah. clarified, then.
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
re-writing everything
sorear tintin: Then don't.
tintin sorear: what do you mean?
sorear tintin: Perl 6 wants to be attractive to *new* websites.
masak rewrites are always risky.
trust us, we know.
sorear Perl 5 will continue to be maintained for the forseeable future 07:34
new features, even
masak it's a tuning fork.
moritz in particular, rewrites are always more risky than you thought they were going to be
sorear the Perl community is hedging its bets
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
sorear They will hang around if switching is difficult enough. 07:35
Which it probably will be.
masak sorear: aye. high-risk/high-payoff, low-risk/low-payoff.
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
masak depends.
mikec__ depends
masak I wouldn't suggest it to anyone I didn't know well. 07:37
but I'm doing it myself, and it works really well.
tintin and normally all open source programming languages are changing lang/thing
sorear tintin: you're going to die in a few decades. Why bother starting anything at all?
mikec__ and 'making a website' tends to involve more than one language anyway
several of which could be changing
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
tintin why not?
c#
moritz because they also have the upgrading problem
tintin making website with C#
moritz just like there are open source languages that don't have the upgrading problem
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?
brrt C# upgrades all the time
moritz tintin: I don't believe that
tintin: please back up that claim
brrt what if you had a function called WhenAny(), async, await
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
moritz tintin: you see that. I don't.
brrt .. neither do i, especially if you talk about mature languages like perl5
moritz tintin: for example perl 5 has yearly releases, and they are 99.9% percent backward compatible
brrt perl6 is very much conciously in flux 07:41
tintin for example, perl5 to perl6, python 2.7+ to python3
brrt its not an accident that things change
tintin or when jdk upgrades from 1.5 to 1.7+
sorear tintin: Do you understand that you can keep using perl 5 forever?
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
bonsaikitten perl 5.12 to 5.16 upgrade had no noticeable side-effects for me
moritz tintin: and at the time of jdk 1.5 -> 1.7 upgrade, java was tightly controlled by Sun
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
masak flight &
tintin newer one comes to solve the problem of older one
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
moritz tintin: and you still haven't backed up the claim that closed programming languages are any better
mikec__ switching language might not be a good decision
07:45 tyatpi left
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
moritz tintin: you don't know, but still claim it's better? 07:46
tintin may be now we have .net version 4/5
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.
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:49
sorear tintin: Life is a waste, you're just gonna die anyway. 07:51
mikec__ maybe software isn't for you 07:52
moritz so spend the waste with the maximum of fun and satisfaction
and Perl 6 happens to be a lot of fun to me
which is why I work so much on it
07:52 sudokode left
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 :-)
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
msdn.microsoft.com/en-us/library/ff602939.aspx
mikec__ .net is better
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
mikec__: l0l
arnsholt mikec__: That'd be Niecza
mikec__ arnsholt: that was the punchline :) 07:57
tintin s/is/if
*if one is not present*
07:58 not_gerd joined
tintin may be C is better to make website, :) 07:58
not_gerd hello, #perl6
sorear o/ not_gerd
tintin did anyone make website using C
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
sorear tintin: C++ solves some problems in C, many people have switched to it.
07:59 Telgalizer joined
tintin did anyone make website using C++ 07:59
07:59 Telgalizer left
mikec__ yes 07:59
Timbus i did once!
please don't
sorear tintin: and there are lots of versions, too. KR1ED C, KR2ED C, C89, C99, C91 ...
tintin Timbus: why not?
Timbus blegh 08:00
sorear tintin: C++ has even more versions.
Timbus it was CGI, for starters.
tintin does C/C++ run on top of CGI for websites?
Timbus even a perl 6 fastcgi program would be faster these days
tintin But the change in C/C++ is not that much
mikec__ heh
tintin not that much noticable 08:01
Timbus nothing 'runs' on cgi, its more like a communication spec
kurahaupo CGI is simply a I/O standard to which the executable must conform; you can write in Perl, C, C++ or even Bash.
moritz tintin: have you ever programmed something big in C and C++?
kurahaupo Timbus: touché
tintin moritz: define big
perl5/6 is a big one writen in C :) 08:02
moritz tintin: at least three developer months
tintin moritz: what do you mean by that? "at least three developer months"
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
tintin moritz: nope, why do you ask?
moritz tintin: because your claim that the difference between C and C++ is "not that much noticable" is rather dubious 08:04
tintin: and I think people who have used both languages more than a tiny amount will disagree
not_gerd heck, even the changes in a single language (K&R vs C11) are pretty substantial
08:04 kurahaupo left
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
tintin or with opengl
so all programming is waste after 40 years ? 08:06
mikec__ yes
tintin so software is a waste ?
tadzik excuse me, what's being discussed? 08:07
moritz tadzik: just bullshit, never mind
tadzik okay
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:08
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
mauke perl6 is not a new version of perl5
tadzik upgrading? That's closer to "rewriting"
mauke it's a different language
tintin tadzik: yes, re-writing
tadzik so that goes under "older programming language"
tintin mauke: i didn't say perl6 is new version, 08:10
sorear tadzik: short answer: Nihilism
tintin sorear: what does that mean by Nihilism?
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"?
mikec__ wow 08:11
tintin tadzik: yes, that's an option or it could be writing websites with perl5 was waste
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?"
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"
mikec__ if your code lasts until the language makes it obsolete you've done pretty well
moritz tadzik: that's exactly what sorear++ came up with too :-)
tadzik hehe
so I may be repeating someone, but my answer is "to have that 40 years of fun" 08:13
in both cases
sorear that was the answer of moritz++
tadzik heh. So I could now say "why to speak if everything has been said before?" ;)
mikec__ :) 08:14
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
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:16
moritz or you create stuff for the sake of creating 08:17
tintin tadzik: so after 30 years all softwares will be wastes 08:18
tadzik: ?
sorear hubris, too. what's to say the next 5 generations won't bring someone smarter than you, who makes something even better?
tadzik tintin: that may happen, yes
sorear relevant: xkcd.com/989/ 08:19
mikec__ haha
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
moritz tintin: we have that
tintin mikec__: yes, that will be waste if that your software needs to be re-writen with new language 08:21
moritz: which one?
tadzik I disagree
mauke tintin: all of them
sorear tintin: It means the difference between having software now and not having software now
moritz tintin: perl 5 for example
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
tadzik no one forces you to keep up with new languages
think about those banks still running COBOL software
tintin but what i'm saying when you upgrade that software with new language , then the all labours will be waste for older language
tadzik I disagree again
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
tadzik: still COBOL, lol 08:24
tadzik: can't believe that
mikec__ ?!
moritz well, if you *define* waste to be spending time with older programming languages, then yes, everything in programming is waste
tadzik welcome to the real world
tintin tadzik: that bank needs to upgrade their older COBOL software 08:25
moritz tintin: because you say so?
tadzik no, they don't
they are doing completely fine with old software in old language on old computers
why should they do anything?
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
moritz then people can start progressively rewriting the banking software in perl 6 :-)
tintin: that's just bullshit 08:27
tintin moritz: why/how bullshit?
moritz tintin: there are many huge code bases that have been upgraded from perl 5.8 to 5.12 or 5.15
tintin: so not all impossible
tintin almost impossible 08:28
moritz not even that
tadzik there's this "backwards compatibility" slogan
tintin very hard/difficult job
moritz just a bit of effort
sorear have you ever tried?
tadzik and Perl 5.16 is quite compatibile with 5.i-am-10-years-old, iirc
moritz tintin: why do you have so strong opinions about stuff that you know nothing about?
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
sorear my jdk 1.0 software runs fine on jdk 1.7
I don't know what you're talking about
tintin it depends then, what type of 1.0 software that is? 08:30
does this only process with string?
there are lot of changes from jdk1.0 to 1.7
mikec__ oh no, changes!
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?
sorear actually it was an interactive GUI tutorial for reading California electric meters
tintin that's why i fear to contribute in perl source code
perl5 or perl6 08:32
moritz tintin: you don't understand the perl 5 source code, and thus fear to contribute to Perl 6?
tintin: where's the connection?
sorear tintin: I'd tell you to go into architecture, but even buildings don't last 40 years these days
moritz try working as a hitman 08:33
tintin let me download the perl6 code then
frettled sorear: certainly, none of the buildings erected in the past 10 years have lasted 40 years! ;)
moritz people you kill today are dead in 40 years still
frettled moritz: amazing
08:35 alpha-- joined
sorear looks to change that :D 08:35
alpha-- hi
sorear Hello alpha
tintin is it the latest perl6 source code? github.com/downloads/rakudo/rakudo....05.tar.gz
sorear What brings you here, and how can I help you?
alpha-- free entertainment 08:36
08:36 dakkar joined
sorear oh? 08:36
moritz alpha--: if you want to watch discussions with a troll, you have your free entertainment right here :-)
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
tintin please someone give the link to download perl6 source code.tar.bz2 08:38
tadzik there's no "Perl 6 source code"
as there's no "English source code"
frettled tintin: www.perl6.org/
tintin: start there.
moritz tintin: your link was close enough
08:40 sergot joined
sergot hi o/ :) 08:40
tadzik hello sergot
08:42 tintin left
tadzik manhunter. See, moritz, maybe your hitman suggestion was quite accurate :) 08:42
frettled Hmm, there seems to be a distinct lack of trolling here again. 08:43
08:44 fhelmberger left 08:45 fhelmberger joined 08:47 fhelmberger left, fhelmberger joined
dalek ecza/non-bootstrap: 9e238ec | sorear++ | lib/ (2 files):
Actions pt 6
08:48
sorear did not quite reach my goal of 1000 lines today.
sleep&
08:52 daxim joined 08:55 not_gerd left 08:59 birdwindupbird left 09:02 domidumont left 09:06 domidumont joined
moritz loves the humour on my.opera.com/ODIN/blog/hello-opera-12 09:15
09:22 VXZ joined
crab2313 perl6: enum Rank (2, 3, 4, 5, 'jack') 09:25
p6eval niecza v18-7-ga660099: ( no output )
..rakudo 90333b: OUTPUT«===SORRY!===␤This type cannot unbox to a native string␤»
..pugs: OUTPUT«*** No such subroutine: "&enum"␤ at /tmp/9G5cWbkaEx line 1, column 1 - line 2, column 1␤»
crab2313 perl6: enum Rank <2, 3, 4, 5, 'jack'> 09:26
p6eval rakudo 90333b, niecza v18-7-ga660099: ( no output )
..pugs: OUTPUT«*** No such subroutine: "&enum"␤ at /tmp/3lV6yH_qx9 line 1, column 1 - line 2, column 1␤»
09:31 tintin joined
tintin can anyone give the link to dowload source code of perl6? 09:32
daxim rakudo.org/how-to-get-rakudo/ 09:33
tintin i downloaded rakudo from github.com/rakudo/rakudo/downloads 09:36
now what to do?
bonsaikitten tintin: unpack the tarball and look at it? 09:37
daxim there are instructions on the web page I linked to 09:38
crab2313 tintin: unpack the tarball and read it's README 09:40
09:42 tintin left 09:47 tintin joined
tintin hi 09:47
is rakudo perl6? 09:48
moritz rakudo is a Perl 6 compiler 09:49
just like GCC is a C compiler
tintin i downloaded that from your github repo 09:50
now what to do?
mikec__ what do you want to do?
tintin i want to install/use perl6 09:51
should i download this? github.com/perl6/perl6.org/downloads
crab2313 tintin: no
tintin: This is the source code for perl6.org/. 09:52
tintin cd rakudo, perl Configure.pl --gen-parrot --gen-nqp
Can't open perl script "Configure.pl": No such file or directory
moritz: what's your profession? how do you spend so much time on rakudo or perl6? 09:55
ah, it's downloading something 09:57
TimToady: hi 09:58
10:00 kresike joined
kresike hello all you happy perl6 people 10:00
tintin kresike: hello
kresike: why did you join here? 10:01
kresike tintin, hello 10:03
according to moritz I'm a lurker :o) 10:04
I'm waiting for all these fine developers to finish perl6, and in the meantime trying to learn all it's nice new features
tintin :o)
good 10:05
TimToady: hi Larry, why are you hiding yourself using that nick?
kresike not that I know all perl5 features, but I don't think there are many people in the world who can say that
moritz tintin: stop that
tintin moritz: i didn't see any .c files in rakudo 10:06
moritz: so i can't do , ./configure ; make ; make install
moritz tintin: well yes, you have to read the README
tintin: as we have told you
brrt ... rakudo is not written in c
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 ..
moritz tintin: well, then just wait for it to finish
tintin i didn't find any .c file there
moritz: did you write whole code for rakudo?
moritz tintin: then look harder 10:08
tintin: no
10:09 birdwindupbird joined
tintin yes, src/binder 10:09
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:10 mtk left
moritz and I'm a physicist 10:11
tintin physicist = a doctor = medical science background ?
brrt no, that is a physician 10:12
same root word, different meaning
moritz physicist = doing physics
tintin physicist = physics background ?
i understand
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 ?
moritz tintin: no. Just doing research
tintin phd student of physics ? 10:14
phd student of physics in Germany?
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?
bonsaikitten "watch" ? ;)
10:15 mtk joined
arnsholt That'd be it. Cheers! 10:15
bonsaikitten++
tintin lol 10:16
watch bonsaikitten :)
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
and since I found a few little issues I joined here and then never left
tintin that's good, go one 10:18
go on*
bonsaikitten: but you are not asking for any help about that issue here? 10:19
bonsaikitten: are you installing both perl5 and perl6 on gentoo?
10:20 brrt left 10:22 brrt joined 10:29 tintin left 10:30 quietfanatic left
dalek c: e750643 | moritz++ | lib/Buf.pod:
[Buf] elaborate on use cases
10:31
11:00 brrt left 11:03 cognominal joined, cognominal_ left 11:05 Guest97791 left, cognominal left, cognominal joined 11:07 localhost joined 11:31 GlitchMr joined 11:33 JimmyZ joined 11:36 alpha-- left 11:37 tokuhiro_ joined 11:40 VXZ left 11:41 fgomez left 11:56 cognominal left, cognominal_ joined 11:58 erkan left 12:02 grondilu joined
grondilu still coudn't compile rakudo. Had to install the debian sid package :( 12:03
12:15 fgomez joined 12:21 cognominal_ left, cognominal joined 12:22 crab2313 left 12:24 crab2313 joined
mhasch rn: say pi.Rat.perl 12:25
p6eval rakudo 90333b: OUTPUT«355/113␤»
..niecza v18-7-ga660099: OUTPUT«<355/113>␤»
mhasch rn: say pi.FatRat.perl 12:26
p6eval niecza v18-7-ga660099: OUTPUT«FatRat.new(884279719003555, 281474976710656)␤»
..rakudo 90333b: OUTPUT«FatRat.new(355, 113)␤»
TimToady nr: say pi.Str 12:28
p6eval rakudo 90333b: OUTPUT«3.14159265394248␤»
..niecza v18-7-ga660099: OUTPUT«3.1415926535897931␤»
mhasch rn: say Rat.new(2646693125139304345,842468587426513207) 12:29
p6eval niecza v18-7-ga660099: OUTPUT«3.1415926535897936␤»
..rakudo 90333b: OUTPUT«3.1415926535897932385␤»
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.
mhasch let alone FatRat.
TimToady 3.14 should be good enough for anybody :)
but yes, I put it to 40 places in STD
[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
[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:36
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
12:37 mucker joined
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
(because I spent about a year working on it, and that was entirely my own fault)
12:41 crab2313 left 12:42 fhelmberger_ joined, fhelmberger left 12:43 crab2313 joined
[Coke] "Now. You're looking at now, sir. Everything that happens now, is happening now" ...aaaand I'm caught up. 12:43
Perl 6 gets a name drop in Ovid's new book. 12:44
moritz rn: say pi.Rat(1e-14).perl 12:46
p6eval rakudo 90333b: OUTPUT«125749280/40027239␤»
..niecza v18-7-ga660099: OUTPUT«<58466453/18610450>␤»
moritz rn: say pi.Rat(1e-16).perl
p6eval niecza v18-7-ga660099: OUTPUT«<245850922/78256779>␤»
..rakudo 90333b: OUTPUT«130236599/41455597␤»
12:47 colomon left
moritz rn: given pi { say abs(.Rat(1e-16) - $_) } 12:47
p6eval rakudo 90333b, niecza v18-7-ga660099: OUTPUT«0␤»
crab2313 nz: pi.WHAT 12:49
rn: say pi.WHAT
p6eval rakudo 90333b, niecza v18-7-ga660099: OUTPUT«Num()␤»
JimmyZ 晚上好 :) 12:50
crab2313 JimmyZ: 晚上好 :)
JimmyZ crab2313: 西安那边热不 :) 12:51
crab2313 JimmyZ: m1 进展如何?
mhasch rn: say pi.Rat(1e-40).perl
p6eval niecza v18-7-ga660099: OUTPUT«<884279719003555/281474976710656>␤»
..rakudo 90333b: OUTPUT«130236599/41455597␤»
crab2313 JimmyZ: 肯定比北京热
JimmyZ crab2313: 还算顺利,有兴趣 m0?
mhasch rn: say pi.Rat(0)-pi 12:52
p6eval rakudo 90333b, niecza v18-7-ga660099: OUTPUT«0␤»
crab2313 JimmyZ: 有兴趣,
mhasch rn: say pi.Rat(0).perl
p6eval niecza v18-7-ga660099: OUTPUT«<884279719003555/281474976710656>␤»
..rakudo 90333b: OUTPUT«130236599/41455597␤»
JimmyZ crab2313: 欢迎 参与进来 12:53
crab2313 J
JimmyZ: m1 准备主要应用在哪里
JimmyZ crab2313: parrot rewrite, rakudo :) 12:54
12:56 snearch joined
crab2313 JimmyZ: 我最多能当全职打杂的 :) 12:58
JimmyZ crab2313: 写测试 代码,提交bug,也是贡献
crab2313 JimmyZ: 那我或许能帮上点忙 13:01
JimmyZ crab2313: welcome ;)
crab2313 JimmyZ: m1 的Makefile 的 么 13:09
JimmyZ: m1 的Makefile 的 m1的 CFLAGS
13:09 Psyche^ joined
JimmyZ crab2313: ? 13:09
crab2313: parrot 的问题请到 parrot 频道咨询 13:10
13:11 quietfanatic joined, grondilu left 13:12 Patterner left, Psyche^ is now known as Patterner 13:13 leprevost joined
quietfanatic phenny: tell adu gist.github.com/2930211 13:13
phenny quietfanatic: I'll pass that on when adu is around.
13:13 tyatpi left 13:15 tyatpi joined 13:18 mauke left
quietfanatic [Coke]: To be fair, the JVM is a pretty nice garden to be walled into, or so I hear. 13:18
mhasch [Coke]: I would like to hear more about Ovid's new book. What is the title? 13:21
mikec__ it's not out yet is it? but it sounds exciting 13:22
13:23 slavik1 left, mikemol joined
daxim mhasch, Beginning Perl ofps.oreilly.com/titles/9781118013847/ 13:25
download while you can 13:26
13:27 tokuhiro_ left 13:28 tokuhiro_ joined
lumi_ rn: say pi.Rat(e) 13:29
p6eval niecza v18-7-ga660099: OUTPUT«1␤»
..rakudo 90333b: OUTPUT«3␤»
13:32 tokuhiro_ left 13:33 quietfanatic left
TimToady lumi_: ℝ! 13:39
i!
mhasch rn: say exp(i*pi) 13:42
p6eval niecza v18-7-ga660099: OUTPUT«-1+1.2246063538223773E-16i␤»
..rakudo 90333b: OUTPUT«-1-3.52688866664137e-10i␤»
13:42 anant joined
anant Is this the right place to ask a doubt, I'm a newbie to perl6 syntax :) 13:43
tadzik sure, welcome
anant I get this error 'Unable to parse blockoid, couldn't find final '}' 13:44
tadzik can you show us the code?
r: say "like this for example" 13:45
anant for this line of code "if $line ~~ m/ <gig=&d> <phy=&d>, <port=&d> /"
p6eval rakudo 90333b: OUTPUT«like this for example␤»
tadzik r: if $line ~~ m/ <gig=&d> <phy=&d>, <port=&d> / { }
p6eval rakudo 90333b: OUTPUT«===SORRY!===␤Variable $line is not declared␤at /tmp/Xt75oyjrfc:1␤»
tadzik r: my $line; if $line ~~ m/ <gig=&d> <phy=&d>, <port=&d> / { }
p6eval rakudo 90333b: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead␤at /tmp/u5RpLFXcxr:1␤»
anant sorry, here's the complete code:
tadzik r: my $line; if $line ~~ m/ <gig=&d> <phy=&d>',' <port=&d> / { }
p6eval rakudo 90333b: OUTPUT«No such method 'match' for invocant of type 'Any'␤ in block <anon> at /tmp/FjZmFGun7b:1␤␤»
tadzik argh
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…
tadzik anant: you can paste your code to gist.github.com and then feed it to p6eval
anant the ',' solved the problem! 13:48
do non-alphanumeric characters need to be quoted inside a regex? 13:49
tadzik I think everything non-alphanumeric is treated as a metacharacter
anant thanks! 13:50
13:51 isBEKaml joined
tadzik you're weclome 13:51
isBEKaml hi, #perl6!
13:52 leprevost left
isBEKaml [Coke]: I just noticed your nick. You _do_ lose your cages in #parrot! :D 13:52
tadzik hello isBEKaml
anant: see feather.perl6.nl/syn/S05.html#Simpl...f_patterns 13:53
isBEKaml hey, tadzik, you at YAPC?
[Coke] I'm only [Coke] here because Coke was already taken. :P
tadzik isBEKaml: nah, I'm at the other side of the world :) 13:54
[Coke]: if it's mostly unused you can ask freenode staff to give it to you
I was tadzik_ for a long time for the same reason
isBEKaml [Coke]: don't remain caged due to a stupid nick issue. bug freenode staff about this! ;) 13:55
isBEKaml typistified lately so... 13:56
tadzik: how goes dancer6? :) 13:57
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
I'll be giving a talk about it on FPW
isBEKaml tadzik: that's cool.. When's FPW? 14:00
tadzik isBEKaml: 29-30 June 14:01
my last exam is 28th :P
and, as it came out today, the second-to-last exam is 27th :F 14:02
the latter being my last chance of passing one of the classes
isBEKaml tadzik: oh, crunched time, then. How far is Fr from Pl? 14:03
tadzik not _that_ far, but transportation to Strasbourg sucks 14:04
I'm leaving Warsaw on 16.55 to reach Strasbourg on 23.00
and I'm leaving on a plane
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>;
does it require mucking with %_ ?
tadzik PerlJam: I think multi will be the most readable solution 14:05
PerlJam tadzik: aye, I'm curious about the non-multi solution
(or maybe I'm just being weirdly stubborn :) 14:06
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␤»
tadzik r: sub foo($lapha?, :$alpha) { say $alpha }; foo 5; foo alpha => 5;
p6eval rakudo 90333b: OUTPUT«Any()␤5␤»
tadzik ach
r: sub foo($arg?, :$alpha) { $arg //= $alpha; say $arg }; foo 5; foo alpha => 5;
isBEKaml Any() ?
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␤␤»
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␤»
tadzik not sure if that suits you
isBEKaml r: sub foo($foo?, :$alpha) { my $blah //= $alpha; say $blah; }; foo alpha => 42;
p6eval rakudo 90333b: OUTPUT«42␤»
PerlJam oh! I was stuck thinking the names should be the same, but obviously they don't have to be. 14:09
tadzik++ thanks
isBEKaml r: sub foo($foo?, :$alpha) { my $blah //= $alpha; say $blah; }; foo alpha => 42; foo 80;
p6eval rakudo 90333b: OUTPUT«42␤Any()␤»
tadzik isBEKaml: you're always assigning $alpha to $blah
isBEKaml tadzik++ # cool, I didn't forget much. :P 14:10
tadzik: yeah, I'm just discarding $foo. :)
tadzik right :)
isBEKaml what would be a way to say, take this if populated or the other one? something like: my $blah //= $alpha //= $foo ; 14:11
r: sub foo($foo?, :$alpha) { my $blah //= $alpha //= $foo; say $blah; }; foo alpha => 42; foo 80;
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␤␤»
isBEKaml bah. 14:12
tadzik my $blah //= $alpha // $foo maybe
isBEKaml r: sub foo($foo? is copy, :$alpha) { my $blah //= $alpha // $foo; say $blah; }; foo alpha => 42; foo 80;
p6eval rakudo 90333b: OUTPUT«42␤80␤»
isBEKaml tadzik: great. :)
[Coke] isBEKaml: bug them how? ask them to take away the registered nick from the other user? 14:16
tadzik [Coke]: exactly. If that other user hasn't used the nick in, say, one year 14:17
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
you have to be careful taking long vacation then
isBEKaml well yeah, since I last checked.
14:20 kaleem left
isBEKaml freenode faqs page says 10 weeks. 14:21
freenode.net/faq.shtml#identify
tadzik that's outrageous imho
isBEKaml well, that's a fairly lax rule. I don't think it's strictly enforced, unless your name is _really_ common. :) 14:22
14:25 spider-mario joined, wtw left 14:26 snearch left 14:33 skids joined, thou joined
[Coke] ok, but it is used. 14:33
last seen this morning. 14:35
so, there's really not much I can do. ;)
moritz it allowed me to go by 'moritz' instead of 'moritz_' after several years of freenode usage
pmichaud pmichaud.com/2012/pres/yapcna-perflt # slides for my lightning talk later today 14:36
comments welcome, although I don't have a lot of time (before the talk or in the talk) to handle too many changes :)
[Coke] pmichaud++ 14:39
slide 38 hides some things under the footer, be careful. 14:40
pmichaud that's intentional.
the slide will likely be displayed for a total of 3 sec
"Oh, here's a few other things we managed to do while also improving performance. <nextslide>"
[Coke] looks good. you show the 1000x at the beginning. be nice if it had the X for the last version. 14:41
r: say 1.09 / 0.02 14:42
p6eval rakudo 90333b: OUTPUT«54.5␤»
[Coke] r: say 1000 / 54.5
p6eval rakudo 90333b: OUTPUT«18.348624␤»
[Coke] slide 32 is busy already, though. All looks good. thanks for cheerleading. :)
pmichaud I don't want to reinforce too much of an idea that p5 is the standard we're targeting, though 14:43
14:43 kaare_ joined
pmichaud (and yes, it's busy already :) 14:43
moritz pmichaud++ # nice slides
have fun presenting them in 5 minutes :-)
pmichaud I already practiced once for the first big part
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 :-)
pmichaud oh sure, I could give those slides an hour :)
it's really important to just hit the hot points and keep moving
moritz aye 14:45
pmichaud I'll do another practice run here, though with the latest changes... bbi5 ish
14:45 mtk left 14:46 isBEKaml_ joined 14:47 isBEKaml left 14:48 isBEKaml_ is now known as isBEKaml
tadzik oh, there's my face :) 14:48
TimToady and there's my face...oh wait, that's Camelia
moritz suddenly tadzik! 14:49
14:49 quietfanatic joined
quietfanatic TimToady: is Twitter confusing you? :) 14:49
14:49 mtk joined 14:50 adu joined
tadzik pmichaud: the talk looks really cool 14:50
TimToady confusing me? that would be redundant...
pmichaud I can do the full talk in just under 5 mins :) 14:52
just have to be careful not to stumble too much :)
[Coke] "mommy, why is that man talking to himself?" "he's a programmer, dear. just ignore him and maybe he'll go code something."
PerlJam wow. Nice exposition of rakudo's performance improvements. 14:53
14:53 quietfanatic left
isBEKaml [Coke]: heh. Programmers get all the lollipops whenever they want. (One of my fortunes here ;) 14:54
pmichaud PerlJam: I'm not sure if it's a nice exposition or a work of creative fiction. :-) :-) 14:58
it's fun, anyway. :)
14:58 kaleem joined
PerlJam well ... fun is good :) 14:59
dalek osystem: df6ec84 | duff++ | META.list:
Add a simple File::Temp
15:05
tadzik \o/ 15:06
15:10 SatoAmbush joined 15:30 PacoAir left
kresike bye all 15:33
15:33 kresike left
harmil much discussion after I left yesterday…. hard to digest 15:33
my takeaway is perl 6 is definitely a minor-version bump on perl 5 ;-) 15:34
moritz :-)
15:34 sergot left 15:35 JimmyZ left 15:39 sergot joined 15:40 jerome_ left
isBEKaml *minor* version bump? :) 15:42
moritz subminor even
isBEKaml there's *no* version bump at all! :P 15:43
moritz perl 5.18 will ship with auto-upgrades enabled by default 15:44
so it's just a matter of time until we seamlessly upgrade all perl users to rakudo. Silently of course.
isBEKaml backdoor world domination! \o.O/ 15:45
15:46 lichtkind joined
lichtkind TimToady: may i ask something about the new camel? 15:46
moritz never ask to ask 15:50
diakopter masak: rotfl BZ yourself in the foot 15:51
harmil moritz: I look forward to that upgrade script :)
I suggest writing it in forth
sergot Something is wrong with modules.perl6.org 15:55
15:56 isBEKaml left 15:57 isBEKaml joined
diakopter moritz: the backlog with tintin is ... tiresome to read 15:57
:)
moritz diakopter: aye. I should have stopped much earlier 15:59
hindsight++
16:00 kaleem left 16:09 jerome_ joined 16:12 cognominal left 16:14 cognominal joined 16:17 cognominal left 16:19 cognominal joined 16:20 MayDaniel joined 16:26 SatoAmbush left 16:35 cognominal left 16:36 spider-mario left
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:36
16:36 flussence left
pmichaud sometimes it's necessary. 16:37
sorear good * #perl6
moritz I thought about banning, but hesitated
16:37 cognominal joined
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.
pmichaud It's often a tough call. When uncertain, hesitation is the safer choice. 16:40
moritz isBEKaml: I doubt it is
isBEKaml moritz: I don't know - I somehow think asking questions while giving away nothing turns away potential trolls from surfacing. 16:42
s:2nd/away/off/
moritz: at the same time, it might scare genuine newbies. Tough call, indeed. 16:43
adu isBEKaml: #haskell has a good system
phenny adu: 13:13Z <quietfanatic> tell adu gist.github.com/2930211
adu oOo I have mail :) 16:44
isBEKaml: iirc, it's something along the lines of: ask, suggest, threaten, kick, ban (whatever is the first to work) 16:45
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:46
adu but I've also heard #haskell people say "I'm not Google" 16:47
16:47 aindilis joined, spider-mario joined
adu yeah, not with real people, but I've also seen bots get kicked from there 16:48
16:49 flussence joined
isBEKaml well, you can't reason with bots. :=) 16:50
moritz you can, with some :-) 16:51
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.
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
harmil: not the only by far
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
isBEKaml harmil: tintin was obnoxious in asking about people and their jobs. He was quite persistent with that.
moritz harmil: as was the part about upgrading a perl 5 codebase to a later release being impossible
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
moritz etc.
harmil moritz: what are you wearing? :-) 16:55
16:55 PacoAir joined
moritz stuff :-) 16:56
16:56 dakkar left
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
isBEKaml moritz: package explosion. :-)
moritz isBEKaml: well, one can just do a package for /usr/local/rakudo-star-$version/ and tar up the whole install dir 16:57
isBEKaml moritz: I was referring to the size of package than the number of packages. :-) 16:58
harmil isBEKaml: we could toss a few gigabytes of Google Image Search results in there if it would make you feel better ;-) 16:59
moritz isBEKaml: 68M uncompressed 17:00
17:00 brrt joined
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 :-)
the compressed tarball is 17M 17:01
flussence bzip2?
moritz (I've used the star build on feather as reference)
flussence: no, gzip
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*.
flussence I usually use xz because I have too much free time :)
moritz isBEKaml: it's parrot, nqp and rakudo binaries, plus the modules
isBEKaml flussence: Right - slackware source packages tend to be .xz mostly. Compiled packges .txz. 17:03
moritz: great!
17:11 cognominal left 17:12 mikemol left, cognominal joined
brrt in my experience, xz is faster, bz2 has (somewhat) better compression 17:16
flussence that doesn't sound right... it's usually the other way around 17:17
IIRC xz has faster *decompression* than bz2
brrt hmm.. i tried once to compress an usb thumbdrive as a backup 17:18
17:18 birdwindupbird left
brrt it didn't work - i only shaved 50 mb of the image - but xz was definitely faster 17:18
but that might well be an artificial example 17:19
diakopter harmil: I don't think tintin was being a troll either 17:20
on purpose, I mean.
17:20 colomon joined 17:21 jaldhar left 17:27 isBEKaml left 17:28 fgomez left 17:33 fhelmberger_ left 17:38 MayDaniel left
PerlJam fwiw, #perl6's treatment is a mild litmus test wrt growing our community. 17:43
er, #perl6's treatment of tintin
17:44 crab2313 left 17:45 brrt1 joined, noam_ joined, brrt left 17:47 brrt1 is now known as brrt 17:51 tokuhiro_ joined
brrt does anyone have an example of extending with winxed? 17:55
sorry, wrong window
17:56 mikemol joined 18:01 fgomez joined 18:12 Timbus left 18:16 daxim left 18:17 fgomez left, fgomez joined 18:19 brrt1 joined 18:21 Chillance joined, Vlavv` joined, brrt left, Vlavv_ left
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 gist.github.com/2842279
timotimo moritz: was about to try another compilation run
moritz timotimo: never mind that, parrot master should fix it
timotimo ah, nice 18:24
then i'll still have to compile, because right now i'm rakudoless and that's not a nice state of being :)
moritz it was libicu-dev pulling in some linking flags that caused blow-ups
timotimo oh, that's quite bizzare 18:25
is adding optimisations to rakudo very hard? i suppose it would require learning nqp and a fair bit of the codebase? 18:28
18:31 Timbus joined
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:34
moritz timotimo: perl Configure.pl --parrot=master 18:35
timotimo nice, thanks
moritz and about optimizations... you mostly have to know 1) about the structure of PAST and 2) about Perl 6 semantics
timotimo there are --parrot-make-option and parrot-option, i suppose i need the latter?
ah, --gen-parrot=master should do the trick 18:36
18:37 bluescreen10 joined
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:39
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?
timotimo i suppose that answers the question :)
18:41 kurahaupo joined
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
and could be made much better 18:50
timotimo: maybe ask him about ideas some time
timotimo: but in general, constant folding seems like a nice idea
timotimo yeah my extremely slow code looked like if $x & $y & $z == -1|0|1 18:51
the very much faster code is if 0 <= ($x + 1) <= 2 and [...]
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
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!
colomon timotimo: why not -1 <= $x <= 1 ?
moritz it's a code area I'm not familiar with, but I want to change that
PerlJam moritz: you could profile a bit even without jnthn :) 18:55
timotimo colomon: no idea what i thought back then :)
colomon timotimo: fair enough. :) 18:56
18:56 daemon is now known as Alchemy
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...
moritz colomon: there are live streams from the YAPC
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.
timotimo my code is, all in all, horrendously slow. it's also wrong :)
moritz fwiw mail.pm.org/pipermail/vienna-pm/201...03125.html and gist.github.com/2931318
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.
moritz for people who don't love silverlight
colomon: I know :(
colomon oooooo
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 fgomez left
moritz and since it doesn't seem to have taken off, mono's support for silverlight will be dropped 18:59
(or already has, not sure) 19:00
timotimo well, that's actually not very good
19:00 brrt1 left 19:01 ashleyde1 is now known as ashleydev
PerlJam notices that ingy adopted A* % B syntax in pegex 19:02
timotimo moritz, i think my "schedule" is full until some time on saturday 19:05
moritz timotimo: mine is full until Sunday, mostly :-) 19:06
having a big celebration (~60 guests) on Sunday afternoon 19:07
and lots of things to prepare
timotimo all right then, so i'm not going to be holding you back at least ;) 19:08
19:15 birdwind1pbird joined 19:24 leprevost joined 19:26 Alchemy is now known as prism, leprevost left 19:31 prism is now known as daemon 19:32 cognominal left 19:35 daemon is now known as jsevalbot, jsevalbot is now known as daemon, daemon is now known as jsevalbot 19:36 jsevalbot is now known as alchemy, alchemy is now known as daemon
dalek kudo/nom: a3407de | moritz++ | src/core/ (2 files):
generialize cmp candidate from Pair to Enum
19:52
moritz timotimo: did the build with --gen-parrot=master succeed?
colomon is wondering how hard it would be to port Mojolicious‎ to Perl 6.... 19:57
moritz colomon: I've just typed 'mkdir mojo' in my ~/p6/ dir :-9 19:58
colomon moritz: you watching too?
PerlJam Are you all at the mojo talk (or watching it?)
?
colomon PerlJam: I am
tadzik I didn't know there was one
moritz colomon: no, I'm watching Spain vs. Italy (soccer)
PerlJam is watching too
tadzik wasn't Italy playing someone like 3 hours ago?
colomon tadzik: at YAPC::NA 19:59
moritz yes, 1:1 against Croatia, iirc
colomon tadzik: it's live now
tadzik wow, those guys must be hell tired now
colomon: url?
moritz oh sorry, Spain vs. Ireland
tadzik oh, that explains it
PerlJam Rakudo needs better IO for a mojo port (among other things) 20:00
_sri simple things like DATA are also missing i believe
colomon tadzik: ics.webcast.uwex.edu/mediasite/Cata...77ff1aa729
tadzik cool, thanks
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
tadzik ...Microsoft Silverlight?
colomon PerlJam: You know, I think I know who can add things like that if they are needed
tadzik: blog.yapcna.org/post/25069765587/st...ng-via-vlc
PerlJam tadzik: I use moonlight on linux (chrome)
colomon I actually started IE on my Vista box for the first time in months to watch. ;)
moritz tadzik: see irclog.perlgeek.de/perl6/2012-06-14#i_5726964 for an mplayer-based solution :_) 20:02
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
colomon should probably actually try using p5 mojo first....
PerlJam _sri: What were the first pieces of mojo that you built? 20:05
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.
(or the next time I need a user agent)
20:07 GlitchMr left
_sri PerlJam: i believe it was the user agent and related modules 20:08
colomon moritz: seems reasonable... except for it has a batch of dependencies, too. :) 20:09
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 20:16 fgomez joined 20:17 anant left 20:18 kaare_ left 20:19 SatoAmbush joined 20:21 MayDaniel joined, UncleFester6 joined
diakopter what's the inverse of slurp 20:27
moritz there's none
diakopter what would you name it if there were one? ) 20:28
:)
moritz we've had that discussion before
harmil diakopter: you mean, how do you take a string and write it to a file?
diakopter I'm not proposing spec'ing it, I'm just looking for a good name for the funciton.
moritz and the result was that 'spew' might fit, but isn#t cute
quietfanatic open('outfile', :w).print($text) #:)
diakopter moritz: kthx 20:29
colomon pmichaud is on in a minute, I think....
tadzik diakopter: puke ;)
flussence how about "spill" 20:30
20:30 preflex_ joined
colomon video.ics.uwex.edu/ceecb7a3-7e3f-4d...5cc9f51329 20:30
(is pmichaud's talk stream without the silverlight crap)
harmil I think that's called "write", no?
moritz wow, the Irish fans thing "fields of athenry" in the stadium 20:31
how fitting
harmil More to the point, I would expect that IO::File.write($something) would work….
20:31 preflex left, preflex_ is now known as preflex
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
or spew.
harmil heh, "slutp"… is this lisp, now? 20:32
quietfanatic slurp, haha
I'm on a phone
TimToady the opposite of slurp is print
harmil fair enough. I'm OK with Perl having a slutp operator, though… then again, it's uninteresting because it's always true.
quietfanatic and for some reason autocorrect stopped
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
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
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:36
*s/peer/sibling/ I think 20:37
tadzik haha, Wendy on screen :)
harmil Anyone care if I write it and add it to the spec?
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...
well, called it out, anyway. 20:39
tadzik yeah :)
moritz r: say 'abc'.substr(*-1) 20:42
p6eval rakudo a3407d: OUTPUT«c␤»
20:44 MayDaniel left
colomon dang, outdated bugs everywhere! 20:44
20:44 MayDaniel joined
colomon n: say 'abc'.substr(*-1) 20:44
p6eval niecza v18-7-ga660099: OUTPUT«c␤»
colomon bah 20:45
colomon needs to make potstickers rather than focusing on fixing LHF
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"␤»
[Coke] colomon - is it too late to see the live stream for pmichaud ? 20:48
20:49 cognominal joined
tadzik [Coke]: nope 20:50
it's still on
colomon [Coke]: you haven't missed anything you didn't already know
[Coke]: I posted the link back up there a couple of pages of scrollback 20:51
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:54 mucker left 20:57 erkan joined, erkan left, erkan joined 21:01 mikemol left 21:02 lichtkind left
harmil r: class A {} ; say A ~~ Type; 21:03
p6eval rakudo a3407d: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Type' called (line 1)␤»
harmil n: class A {} ; say A ~~ Type;
p6eval niecza v18-7-ga660099: OUTPUT«===SORRY!===␤␤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…
harmil Type isn't a valid type?
moritz what would it do?
21:03 MayDaniel left
colomon huh. is there a way to ask if a list has two elements? (without reifying the entire list) 21:03
21:03 lichtkind joined
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
colomon: in rakudo, you'd say @list.gimme(2) == 2
harmil Um… Mu? really? So $concrete_object ~~ Mu is false?
moritz Mu:U, not Mu 21:05
(though rakudo only implements that in signatures)
harmil n: class A {} ; say A ~~ Mu:U;
p6eval niecza v18-7-ga660099: OUTPUT«True␤»
harmil n: class A {} ; my $a = A.new(); say $a ~~ Mu:U;
p6eval niecza v18-7-ga660099: OUTPUT«True␤»
harmil urm… not quite
colomon moritz: but of course, that's not spec (yet?)
21:06 skids left
moritz colomon: right 21:06
colomon: but you could do signature unpacking
sub has_two_elems(@a) { sub checker(@ [$, $, *@]) { 1 }; so try checker @a } 21:07
or without subsignatures
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)
moritz colomon: I think .gimme should be specced
moritz -> sleep
tadzik is pmichaud's lightning talk today?
g'night moritz 21:09
[Coke] I assume that's larry in the aud that keeps dropping out.
tadzik yeah :)
[Coke] sad. I can hear everything pmichaud says, but only about every 3rd word from larry
TimToady sorry 21:10
adu where is this talk?
TimToady right here :)
adu can I listen? 21:11
21:11 ggoebel left
TimToady I don't know the link offhand... 21:12
colomon adu: yes. stream URL is video.ics.uwex.edu/ceecb7a3-7e3f-4d...5cc9f51329
tadzik bvideo.ics.uwex.edu/ceecb7a3-7e3f-4d...5cc9f51329
21:12 ggoebel joined
tadzik yeah, colomon++ beat me to it :) 21:12
colomon I opened it with VLC, worked like a charm
tadzik works with mplayer too
colomon pretty sure VLC is mostly a pretty wrapper around mplayer 21:13
21:15 birdwind1pbird left, lichtkind left 21:16 lichtkind joined 21:17 bluescreen10 left
[Coke] argh. need a bio break, but stuck listening to pmichaud++ ! 21:18
adu firefox works!
tadzik :)
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
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 :)
colomon firefox++ 21:21
21:22 lichtkind left
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
harmil Got pulled away for $work. So, what is Mu:U and how does it relate to what was called Type in S03? 21:26
21:27 quietfanatic left
adu hmm, the explaination of flattening was defered by not answering the question, very meta... 21:27
colomon oooo, Util
Util is there!
21:28 ashleydev left
tadzik where? 21:28
asking the .lol question?
colomon he walked in front of the podium at the end of the talk 21:29
If he asked a question, I missed it.
21:29 lichtkind left
tadzik oh 21:29
21:29 ashleydev joined, ashleydev left 21:30 ashleydev joined, lichtkind joined
tadzik okay, time to sleep() 21:30
adu sad empty screen
colomon indeed
21:31 cognominal left
colomon lightening talks start in a couple of minutes in another room 21:32
ics.webcast.uwex.edu/mediasite/View...c28f7d2c1d is the silverlight=-powered page for it.
*lightning
stream url for that is video.ics.uwex.edu/5952ef59-79c6-4f...6bc28f7d2c 21:34
dunno if it will stay on long enough for lightning talks or not
colomon is seriously falling behind on the dumpling wrapping
21:34 lichtkind left
[Coke] dave rolksy! 21:34
Short person! 21:35
I can barely see your eyes, short person.
harmil :( wish I was there
colomon wish we all were there 21:37
21:38 SatoAmbush left 21:40 cognominal joined, spaceships joined 21:43 immortal joined
sorear good * #perl6 21:43
21:45 erkan left, ggoebel left
colomon sorear, o/ 21:45
21:46 ggoebel joined
Util Hi, colomon! We miss you here. 21:47
colomon Util: really wish I could be there with you guys 21:48
21:52 lichtkind joined 21:53 fgomez left 21:55 adu left 22:04 fgomez joined 22:06 lichtkind left 22:07 lichtkind joined 22:16 lichtkind left 22:18 lichtkind joined 22:24 Telgalizer joined, lichtkind left 22:25 Telgalizer left 22:26 lichtkind joined
lichtkind jnthn: did you know that plzen hometown of modern beer so to speak , has a camel in his crest :) 22:27
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␤»
harmil rn: class A { has $!y; method x(:$y=$!y) { say $y } }; A.new(:y<foo>).x()
p6eval rakudo a3407d, niecza v18-7-ga660099: OUTPUT«Any()␤»
harmil Why not "foo" for that second one? 22:34
22:34 nuba joined
harmil That is to say, what am I getting when I try to default an optional named parameter to a private attribute? 22:36
Ah, my bad. The attribute needs to be declared as public ($.y), but then read as private (:$y=$!y) 22:40
rn: class A { has $.y; method x(:$y=$!y) { say $y } }; A.new(:y<foo>).x()
p6eval rakudo a3407d, niecza v18-7-ga660099: OUTPUT«foo␤»
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
Right now:
rn: class A { has $.y; method x(:$y=$!y) { say $y } }; A.x()
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␤␤»
..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…
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:44
22:47 PacoAir left 22:56 UncleFester6 left
pmichaud yay, done with talks for today :) 22:56
and I finally have a working internet connection (at least for now)
22:56 adu joined 23:02 lichtkind left 23:11 lichtkind joined, cognominal left 23:12 spider-mario left, cognominal joined 23:13 whiteknight joined, daemon_ joined, lichtkind left, whiteknight is now known as Guest64914 23:14 daemon left, daemon_ is now known as daemon, lichtkind joined 23:17 cognominal left 23:19 sergot left, cognominal joined, jferrero joined, lichtkind left 23:20 lichtkind joined 23:21 lichtkind left
jferrero Hi! I need confirmation about the last change into [[Perl 6]] Wikipedia page. 23:21
pmichaud jferrero: looking 23:22
adu what kind?
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:23
23:24 thou left
adu that is a statement about Perl5 23:25
I don't know why it's in the Perl6 article
23:25 spaceships left
pmichaud :Q! 23:26
exit
Juerd I think it's false for either Perl.
pmichaud ww 23:27
23:27 cognominal left, noam_ is now known as noam
pmichaud pmichaud@plum:~$ cat x.pl 23:27
sub foo { @_[0] = 'abc' };
my @b = 1,2,3;
foo @b;
print @b[0], "\n";
pmichaud@plum:~$ perl x.pl
abc
oops
anyway, looks to me like modifying @_ modifies the arguments.
so I think the commenter is wrong. 23:28
23:28 cognominal joined
adu hmm 23:28
how does one pronounce Niecza?
jferrero I think so.
pmichaud afk, dinner and stuff 23:29
sorear knee-eh-cha 23:30
23:32 kurahaupo left 23:33 quietfanatic joined 23:37 pupoque joined
sorear like the consonant in the name of the Republica Česka 23:37
23:37 quietfanatic left 23:38 lichtkind joined 23:40 usvm left 23:46 cognominal left 23:51 Khisanth left, lichtkind left 23:53 lichtkind joined
adu without the k? 23:53
sorear adu: I have trouble with my chs and ks 23:54
23:59 cognominal joined