»ö« 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! | tinyurl.com/p6contest
Set by moritz_ on 28 December 2010.
drake1 actually, ftp with a comment in the script like # $digest to authorize the executive 00:00
00:00 bluescreen joined, alester left 00:01 bluescreen is now known as Guest66567 00:02 smash left
drake1 digest=`cat secret script| sha256`\necho "# $digest" >> script or something like that 00:03
00:05 kulp joined 00:06 shi joined 00:07 masak left, pmurias joined
pmurias snarkyboojum: use a while loop, and have a bunch of calls in the loop to minimalise the looping overhead 00:08
00:08 kulp left
sorear pmurias: sub a{}; sub b{a;a}; sub c{b;b}; etc <- pure subcall benchmark, I've run it on niecza up to 2^27 in the past 00:10
niecza: my $i = 0; while $i < 10 { say $i; $i++ } 00:11
p6eval niecza v1-82-gf7b008c: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
sorear TimToady: actually it's .say I haven't implemented 00:12
00:12 dukeleto left
TimToady I figgered that out eventually :) 00:12
00:12 dukeleto joined 00:13 c1sung joined
pmurias sorear: how fast is it compared to Perl 5? 00:13
sorear pmurias: it = sub calls? 00:14
00:14 yarp joined
pmurias yes 00:14
sorear it was about 5x faster... the switch to interpreted binding might have eroded that some
00:15 bacek__ left
pmurias sorear: what nam opcodes implement coroutines/continuations? 00:17
sorear pmurias: take, cotake, and startgather
pmurias cotake does what?
sorear resumes a continuation 00:18
pmurias and take?
sorear yields a value to the code that used cotake
oh, rxend too 00:19
00:19 c1sung left
pmurias are coroutines enough or are full continuations required? 00:20
00:21 pmurias left 00:23 silug left 00:25 envi joined 00:26 rgrau joined 00:29 masonkramer left 00:30 masonkramer joined 00:36 am0c^ joined, arlinius| joined 00:51 felliott left 00:54 drake1 left 00:55 c1sung joined 00:57 felliott joined 01:02 QinGW joined 01:04 felliott left 01:05 roen joined
dalek lek-poller: b72de5a | sorear++ | push.psgi:
Improve message after heuristic merge detection
01:12
lek-poller: 39e7ab0 | sorear++ | push.psgi:
Fix UTF8 handling in push mode.
01:18 Vlavv left 01:23 V15170R left 01:24 icwiener left
sorear looks like pmurias is responsible for 1/2 of the modules in Niecza :/ 01:25
also looks like I've passed the halfway point by LOC 01:28
and 3/4 of the remaining code is in the one file I'm tackling next
01:31 Franek left, Vlavv joined 01:35 shi left, rgrau left 01:39 char00les joined 01:51 exoTek joined 02:02 noganex left
kent\n If I want to call a coderef using a list of parameters, whats the way to do that? ( ie: like p5 $coderef->( @args ) ) 02:02
flussence rakudo: my @a = 1,2,3; my $b = sub($c, $d) { ($c, $d).perl.say }; $b(|@a); 02:04
p6eval rakudo de98d1: OUTPUT«===SORRY!===␤Confused at line 22, near "my $b = su"␤»
flussence buh?
rakudo: my @a = (1,2,3); my $b = sub($c, $d) { ($c, $d).perl.say }; $b(|@a);
p6eval rakudo de98d1: OUTPUT«===SORRY!===␤Confused at line 22, near "my $b = su"␤»
flussence rakudo: my @a = (1,2,3); my $b = sub ($c, $d) { ($c, $d).perl.say }; $b(|@a);
p6eval rakudo de98d1: OUTPUT«Too many positional parameters passed; got 3 but expected 2␤ in <anon> at line 2:/tmp/mGrSdalpPm␤ in main program body at line 22:/tmp/mGrSdalpPm␤»
kent\n flussence: you need a space after sub
flussence rakudo: my @a = (1,2,3); my $b = sub ($c, $d, @*) { ($c, $d).perl.say }; $b(|@a);
p6eval rakudo de98d1: OUTPUT«Nominal type check failed for parameter '@*'; expected Positional but got Int instead␤ in <anon> at line 2:/tmp/Xvf2H8TtYN␤ in main program body at line 22:/tmp/Xvf2H8TtYN␤»
kent\n learned that the hard way.
flussence argh, I keep forgetting things like this 02:05
rakudo: my @a = (1,2,3); my $b = sub ($c, $d, @*etc) { ($c, $d).perl.say }; $b(|@a);
p6eval rakudo de98d1: OUTPUT«Nominal type check failed for parameter '@*etc'; expected Positional but got Int instead␤ in <anon> at line 2:/tmp/g7yulLx9Os␤ in main program body at line 22:/tmp/g7yulLx9Os␤»
02:05 noganex joined
flussence I dunno about that error, but it's along those lines (with the right args) 02:05
kent\n rakudo: my @a = (1,2,3); my $b = sub ($c, $d, *@etc){ ($c, $d).perl.say }; $b(|@a); 02:06
p6eval rakudo de98d1: OUTPUT«(1, 2)␤»
kent\n *@ not @*
flussence I knew it was something obvious... /sigh
kent\n =p
the magic is |@a then I see. 02:07
flussence yeah, the | means "don't squish this into one variable"
TimToady hmm, I can see @*foo is going to be a faq... 02:12
the | means cut a slit in the argument list here and slide these in :)
kent\n how do you make an anonymous hash? I cant see it being done anywhere and when I try it, I get a useless error with no line reference :( 02:13
TimToady show us the code
snarkyboojum someone with commit privileges needs to update the viv link on the homepage of perl6.org to github.com/perl6/std/raw/master/viv 02:14
TimToady rakudo: say { a => 32, b => 45 }.WHAT
p6eval rakudo de98d1: OUTPUT«Hash()␤»
kent\n hrm. strange.
TimToady rakudo: say %( a => 32, b => 45 ).WHAT
p6eval rakudo de98d1: OUTPUT«Hash()␤»
TimToady rakudo: say %( a => 32, b => 45 ).keys 02:15
p6eval rakudo de98d1: OUTPUT«ab␤»
02:15 jaldhar joined
kent\n rakudo: { a => sub (){ 5; } }.perl 02:15
p6eval rakudo de98d1: ( no output )
kent\n rakudo: { a => sub (){ 5; } }.WHAT
p6eval rakudo de98d1: ( no output )
kent\n TimToady: ^ 02:16
TimToady rakudo: say { a => sub (){ 5; } }
p6eval rakudo de98d1: OUTPUT«a _block125␤␤»
TimToady rakudo: say { a => sub (){ 5; } }.WHAT
p6eval rakudo de98d1: OUTPUT«Hash()␤»
TimToady rakudo: say { a => -> { 5; } }.WHAT
kent\n oh. I was relying on perlbot's deparseing to help me -_-,
p6eval rakudo de98d1: OUTPUT«Hash()␤»
TimToady rakudo can't deparse blocks yet 02:17
rakudo: say { a => -> { 5; } }.<a>.() 02:18
p6eval rakudo de98d1: OUTPUT«5␤»
02:19 felliott joined 02:24 yarp left
kent\n strange. in the act of trying to adjust my broken code to a minimal broken subset, I somehow squashed what was causing the bug... 02:27
flussence that's happened to me. Good reason to keep things simple in the first place :) 02:30
02:31 impious left 02:32 silug joined
kent\n too few positional arguments: 2 passed, 3 (or more) expected 02:33
<-- I really have no idea what causes this, because when I try simplify what I have to make pasteable code, the problem goes away, or returns a different error
cotto_work kent\n: are you using Parrot master? 02:34
02:34 Chillance joined
kent\n no, I'm stuck on octobers release still, lazy. 02:34
cotto_work ok
kent\n for instance, one thing that causes that error is method foo { [ $self ] } , when I use the same code on the cli, it returns something useful because $self doesn't exist. 02:35
02:36 impious joined, impious left 02:39 mtk left
kent\n paste.scsys.co.uk/77753 # replicates issue 02:42
colomon Should be self instead of $self, maybe? 02:43
kent\n yes, but the issue is more "it doesn't give the right error"
strangely, take out all the \n,s put it into perl6 -e , and it works 02:44
( ie: gives a useful error )
colomon ah, yes.
kent\n: that poor error message was fixed a couple of months back, after I complained about it. :) 02:46
===SORRY!===
Symbol '$self' not predeclared in subdir (frip.pl:7)
is the current message
02:46 silug left
colomon the error message you got was actually something going wrong when trying to print out the real error message. 02:47
02:47 mtk joined
kent\n ah!. Awesome. 02:47
02:52 molaf_ joined
colomon You were absolutely right -- it was really, really annoying. 02:52
kent\n having a few dozen errors simpy die with the equivalent of "Hurp, something went wrong, shoot somebody!" is not at all useful ;) 02:54
02:54 cdarroch left 02:55 yarp joined, molaf left 02:57 kanishka1 left
kent\n colomon: I'm assuming thats a rakudo error, not parrot? 02:58
colomon yes
kent\n files a bump request for gentoo to update their rakudo version 03:00
03:06 exoTek_ joined 03:08 exoTek left, exoTek_ is now known as exoTek
flussence less hassle to just ignore portage and compile manually, imo: gist.github.com/738980 03:10
03:12 char00les left 03:14 kanishka joined
kent\n I'm fine with diying it up, but I still file bump reqs ;) 03:15
kent\n has his own scm-ebuild somewhere as well he has used occasionally 03:16
sorear you should also get another implementation
usually if one gives a useless error message, another won't
03:18 exoTek left
colomon sorear++ 03:18
flussence does niecza name the executable "perl6", or just rakudo?
sorear niecza doesn't
p6eval has two versions of Rakudo installed
03:19 Guest66567 left
flussence Gentoo's rakudo ebuild is pretty shoddy for that reason - it should install to /usr/bin/rakudo and manage it with an eselect-perl6 module as it does for other multiple-implementation languages. 03:20
kent\n flussence: I'll suggest that to the maintainers, but for now it seems pointless as there are no alternatives in tree ( at least, not that I know of ) 03:21
flussence I'd imagine that changing in the next few months :) 03:22
kent\n also, are the implementations purely switchable? ie: can you realistically just re-symlink it and not require all the dendents to change or be dual-built ? 03:23
( ie: for this reason we don't have a switchable perl, because the maintenance overhead is atm overwhelming ) 03:24
flussence that's the idea. write to the spec, not to one runtime; like HTML
kent\n but what about things that will resort to needing PMC access to do their job? 03:25
( ie: the problem with switchable perls is mostly a problem with the C-level bindings ) 03:26
flussence those should probably be using "#!/usr/bin/env rakudo" eventually
as for the modules and stuff, each runtime can have its own module path for that sort of thing 03:27
kent\n yes, but that is the problem. Unless the modules have a way of installing modules for all existing runtimes, regardless of which runtimes are installed, we have to do some lovely jiggerpokery and run the install/compile phase for each and every runtime 03:28
VXZ Does p6 has anything like p5's XS that requires binary compatibility? 03:29
s/has/have/
kent\n ie: multiple ( slotted ) system perls are /doable/, but its an awful awful load of work.
[particle] flussence: better to get support in for alternatives before there are others and they won't work with and old rakudo. 03:31
VXZ: various perl6 implementations have ways of binding to c libs 03:32
VXZ [particle]: So, if a non-pure-perl module is written for one implimentation, it can't work in another? 03:34
Is there some way this can be added to the spec, to fix this problem?
[particle] that's almost certainly the case.
flussence well... putting inline PIR in a perl6 file will make it about as portable as inline gcc asm in C :) 03:35
[particle] just like icc-built and gcc-built c binaries won't always work together
TimToady VXZ: how do you propose to fix it, other than maximizing the amount that can be written in pure perl? 03:37
serious question 03:38
VXZ I'm thinking about it...
[particle] thunks about it
TimToady calls [particle] by name 03:39
diakopter careful, you'll wave him away 03:40
[particle] makes a blatant reference
TimToady copycat
[particle] copycat 03:41
TimToady you can say that again
VXZ I guess far more qualified people than me have probably already thought about this, huh?
diakopter don't point fingers, sez ceiling cat
TimToady VXZ: we can at least find ways to maximize the amount that can be shared, to the extent that a module is mixed perl and non-perl 03:42
flussence as far as avoiding implementation-specific code codes, I think NativeCall's already the best thing since sliced @bread
s/codes/goes 03:43
TimToady we can share the perl part and do the equivalant of #ifdef for the rest
so at least the non-shareable bits are near each other so people have some hope of keeping them in sync
and so that people can see the common factors, and perhaps pull out more of them into the perl implementation 03:44
[particle] where that makes sense (perhaps for portability instead of speed)
VXZ What do you do when you need to write a module that runs as fast as C code does, though?
diakopter improve the optimizer[s] ;) 03:45
TimToady there're always tradeoffs
kent\n VXZ: Buy a supercomputer.
TimToady but hopefully, if you supply as much type info to Perl as you would to C, it can be almost as fast
VXZ Like...PDL...do they all of a sudden have to maintain a separate release for each p6 implimentation?
diakopter improve the optimizers (including the human ones), and use p6 native types
TimToady PDL is more or less built-in to Perl 6 03:46
see S09
[particle] if it's doing fancy dynamic stuff it C, it'll sure take a while to write... like writing a vm
VXZ Yeah, I know. Bad example. Vut you know what I mean. How about SDL?
s/Vut/But/
[particle] Ve guessed ;) 03:47
diakopter can say to use primitive types b/c ... *I* can
kthakore VXZ: SDL is good
03:47 drbean left
VXZ kthakore: I agree. 03:48
[particle] java solved this by writing an OS in java
it's lattes all the way down
kthakore I already made a script in perl6 that works with SDL
03:49 drbean joined
TimToady but the bindings are parrot bindings, ne? 03:49
VXZ Good to know you're supporting p6, kthakore. SDL is kick-ass. 03:51
kthakore TimToady: no using the module gist.github.com/744192 03:52
VXZ: not yet but some time in the future
TimToady: I will be trying to do parrot bindings but after I get it workign with NativeCall 03:53
TimToady well, but zavolaj is parroty currently 03:54
but yeah, NativeCall may work across platforms someday 03:55
plobsing zavolaj (or something like it) is what most people *should* be using to do native library bindings on parrot. 03:56
TimToady to the the extent apis defined by .so, .dll, .jar, etc, can be reconciled
plobsing parrot's NCI aims to make things possible, not necessarily pretty
VXZ Will p6 be able to go fast enough, if I write my code correctly, to not need something like p5's xs to get similar speeds? How fast do we think it could go in the end? 03:58
flussence as fast as GCC-compiled code :)
once that project gets going, anyway.
[particle] it's impossible to know without doing
will ruby go as fast as p5? 03:59
TimToady but the design is such that you can get there someday, with enouth type annotation, we hope
[particle] javascript? tcl?
kthakore VXZ: for better games you will need the game loop to be tighter then even whaat p5 can do now.
so writing critical sections in C/C++ should always be considered 04:00
TimToady or in the C/C++ subset of Perl 6 :P 04:01
[particle] remembers writing critical sections in assembly
diakopter sets up perlesque on p6eval 04:04
VXZ So the theory is, we'll be able to define things (vars, functions, whatever) in p6, so strictly that they can be completely translated into C in the compilation phase?
[particle] so strictly that they can be implemented natively during compilation 04:05
diakopter if your optimizer is good enough, effectively, maybe.
VXZ s/ c / machine code / # can't think today
kthakore TimToady: would that work? 04:07
diakopter VXZ: a lot of work remains on the optimizers in every implementation, although niecza has a particular focus on that aspect.
TimToady kthakore: probably depends on how much your tight loop depends on low-level references/pointers and intimate knowledge of the machine code 04:10
and other "unmanaged" concepts
diakopter oooo
TimToady but Perl 6 is designed to be the mother of all languages, almost literally
diakopter like Babel, only higher 04:11
TimToady so with enough declarations you can turn it into any other language
I don't mind if my tower reaches to heaven--I'm already expected there. :)
diakopter apparently there's a language named nimrod 04:12
saaki sign me up
04:13 satyavvd joined
TimToady sign here -> ............. 04:13
snarkyboojum or the ultimate nam-shub :D 04:14
kthakore haha 04:18
TimToady: well my concern is being able to manage low level databanks (simple structs) with high level p6 scripts 04:19
if this can be done
with out too much of a overhead
TimToady simple structs should be pretty easy
kthakore then we don't need C++
game structs are usually very simple 04:20
the hard part is getting them ready to render in a timely fashion
TimToady see S09:129 04:21
diakopter waits for git clone of fission-edge mono to build on p6eval box 04:24
kthakore ok
04:26 Su-Shee left 04:27 redicaps joined 04:28 Su-Shee joined
TimToady hmm, not sure the verbiage about compact structs being value types is accurate; probably depends on whether there are mutators or not 04:29
VXZ Cool, so a class containing only low level types can get optimized down to just a struct...
diakopter TimToady: which way does it depend
TimToady a value type can't have mutators
so for a normal C struct that you can change the elements of, you wouldn't want it considered a value type 04:30
crumb, have to set up a new public key for github due to the disk fiasco... 04:43
[particle] 12345 <-- here, i made you one! 04:52
diakopter whee; perlesque runs just fine 04:55
(on mono trunk)
(I'd been using .net 4.0)
dalek ecs: 9259016 | larry++ | S09-data.pod:
structs come as either values or objects

The treatement of a compact struct as a value or as an object depends on whether there are mutators.
05:02
TimToady I guess it worked 05:03
05:13 satyavvd left
sorear diakopter: mono 2.8.0 supports .net 4 features 05:16
the main reason to use trunk is the garbage collector improvements 05:17
VXZ Btw, thanks for answering all my p6 questions, guys... 05:20
05:23 dalek left 05:24 mj41 left, mj41_ joined, [particle] left, mj41_ is now known as mj41, dalek joined, ChanServ sets mode: +v dalek
TimToady wishes someone would answer all my Perl 6 questions... 05:31
sorear heh. 05:32
05:32 lue joined
lue hello fellow denizebras o/ 05:35
05:35 nat2610_ joined
snarkyboojum helue 05:36
TimToady lihue, hi 05:37
cotto jnthn, ping 05:43
TimToady which I own a piece of: maps.google.com/maps?client=ubuntu&...CBoQ8gEwAA 05:45
05:48 [particle] joined
diakopter sorear: right, of course. 05:48
sorear: but I couldn't find a mono 2.8 on that box
so I built one 05:49
lue oh, you and your clever punnery, TIMTOWTDI :)
05:49 rlinuxguy2 joined
rlinuxguy2 whats this channel about 05:49
diakopter sorta like its name 05:51
TimToady rlinuxguy2: what would you like to know about Perl 6? 05:52
rlinuxguy2 i just googled, why make a new language with the same name as another only with a future edition 05:53
what happens when the real perl goes version 6? 05:54
seems kinda messed up to me
TimToady then it's Christmas
rlinuxguy2 when I say goes version 6
I mean their own edition
TimToady what exactly do you mean by "real" perl? All old versions of perl are still "real"
diakopter Perl 6's older sibling won't ever increment to version 6 05:55
rlinuxguy2 how do you know
and maybe im misunderstanding
Perl 5 and Perl 6 are two languages in the Perl family, but of different lineages
TimToady because they're not insane, at least not that insane
sjn lim 5->6 Perl
TimToady they never incremented System V either... 05:56
rlinuxguy2 why would them continuing the version numbering to 6 make them insane
TimToady because Perl 6 already means something else
it would be culturally unlikely
it would make as much sense for them to rename it Windows 7 05:57
rlinuxguy2 kind of messed up IMO, they had the perl train going
TimToady I'm the perl train. :)
rlinuxguy2 is like me making an os called android 8
while they're on android 3
TimToady and the perl train was already slowing down ten years ago
sjn rlinuxguy2: don't worry, the Perl 6 idea has been around for a few years now, noone's going to make trouble with version numbers like that ;) 05:58
rlinuxguy2 ok, still seems abit confusing, but I guess because i'm out of the loop
TimToady it's basically a done decision, for good or ill, so we'll make the best of it
rlinuxguy2 what is the name of the version after 5 you think they'll go with?
sjn and if they do, we can always say "cool! does your Perl 6 work with the official test suite?" :) 05:59
rlinuxguy2 to avoid confusion with your project
TimToady think of Perl as more of design philosophy, and the version a turn of the design crank
sorear rlinuxguy2: Perl 6 game first
rlinuxguy2: Perl 6 was always supposed to be the next version of Perl
diakopter rlinuxguy2: 5.6, 5.8, 5.10, 5.12, 5.14 and so on
TimToady there's always 5.14, 5.15, 5.16, 5.17--they aren't going to run out of versions any time soon
rlinuxguy2 timtoady no offense but companies and users that are gonna use a scripting language are going to go with the "official" ones 06:00
sorear rlinuxguy2: the sister languages thing came about when some people revived Perl 5 independantly of our attempts to make a successor
rlinuxguy2 over grass roots versions
diakopter hee
rlinuxguy2 I thought the minor numbers were used for minor updates
TimToady well, depends on which grass gets more fertilizer and is healthier
it's all relative 06:01
rlinuxguy2 the official perl team has more to lose and bigger players using their version so they won't radically change anything
you guys could change whatever you want anytime you want, breaking things
sorear rlinuxguy2: I think we are the official Perl team
rlinuxguy2 I don't know, i've bad mixed experiences with public domain projects, where people contribute as a hobby 06:02
sorear rlinuxguy2: insofar as we have Larry, and #p5p doesn't
sjn rlinuxguy2: that's the whole point with Perl 6 (well, not anytime, but to allow some breakage in order to allow cooler stuff to happen)
diakopter summons Larry
or should I say subpoenas
rlinuxguy2 oh you have larry himself on your guys etam?
team 06:03
sjn giggles
cotto waits for it
lue
.oO(I would think Larry was involved in Perl 5 as well)
TimToady looks around and doesn't see Larry...
snarkyboojum the big L
rlinuxguy2 lue I thought perl 5 was made by the official site people
whoever they are
sjn 7whois TimToady
rlinuxguy2 aren't you guys a different group?
sorear rlinuxguy2: understand that in 2002ish Perl (5) was quite stagnant; we needed either an evolution or a revolution
rlinuxguy2: as it happened, both started in parallel 06:04
TimToady or both :)
eventually, Perl 6 will supersede Perl 5, but we're talking a decade or two
06:05 am0c^ left
TimToady Perl 6 is designed for the looooong teeeeeeeeerm 06:05
sjn is quite happy Perl 6 isn't a rush job
[particle] are you sure that what you perceive as long term isn't two terms in a row?
diakopter std: looooong: teeeeeeeeerm: ; 06:07
p6eval std 625303c: OUTPUT«ok 00:01 117m␤»
rlinuxguy2 sounds like you guys are taking the .net route
diakopter well...
TimToady that's one of our routes
rlinuxguy2 The vision for Perl 6 is more than simply a rewrite of Perl 5. By separating the parsing from the compilation and the runtime, we're opening the doors for multiple languages to cooperate.
TimToady it's more like a flooding algorithm
lue TimToady: Will you wait until P5 is stagnant again, or eventually say "That's it, time for Perl 6!" and invoke whichever rule applies? 06:08
rlinuxguy2 You'll be able to write your program in Perl 6, Perl 5, TCL, Python, or any other language that there's a parser written for. Interchangable runtime engines let you interpret your bytecode or convert it to something else
TimToady you're confusing the parrot vision with the perl6 vision, like we did at the beginning
rlinuxguy2 yeah it's all confusing 06:09
TimToady parrot's vision is to run many language on one runtime; perl6's vision is to run the same language on many different runtimes
(but also be mutable into any other language)
so the two visions may re-unify someday
rlinuxguy2 is either matured yet? 06:10
[particle] cerberus chases his tail
rlinuxguy2 or would you trust either in important apps?
cotto they're starting to do so already. The Parrot vision for Lorito is to have many backends.
TimToady well, I've written a real app in Perl 6
so have other people
[particle] there is more than one compiler written in perl 6 06:11
TimToady so yes, I've trusted rakudo that much
there are 253 running examples of Perl 6 on rosettacode, see rosettacode.org/wiki/Category:Perl_6
so we're largely in the fine-tuning stages 06:12
sjn rlinuxguy2: if you're asking about "mature" in the sense "regular" people would claim (not language designers and hackers, but regular Joes that just want to do their job then go home), then I'd claim the answer to your question is "it depends" :) 06:13
TimToady that's on rakudo; the other implementations are not quite to the same point, but showing promise
it's definitely getting well beyond the toy stage 06:14
still fun though :)
sjn rlinuxguy2: that kind of matureness is rather vaguely defined, imo. it's like asking "do you think Esperanto is a mature language?" 06:15
it all depends on what it's used for
coldhead maturity
TimToady might be closer to Klingon at the moment...
sjn and the answer changes as time goes on
TimToady coldhead: matureness is a perfectly good word, especially if you're wanting to mean what people usually mean by "maturity" 06:17
s/mean/not mean/
coldhead i was demonstrating immatureness, i'm sorry 06:18
TimToady :)
please be more maturenesslessnessless in the future :)
lue Right now, I see Perl 6 as like a natural language. The only time it stops evolving is when no-one uses it anymore. 06:22
sjn that would be a "stable" language :) 06:23
PerlJam lue: how is that different from any other language? :)
TimToady we've tried to build in more productive features, like -less and -ness 06:24
lue Last time I checked, assembler doesn't evolve without changing the CPU (in the real world, changing the people who process it. Obviously, there isn't likely to be a natural language like assembler)
sorear there is an inherent linguistic ambiguity between "Perl 6" and "Perl 6 as implemented by Rakudo in Jan 2011"
"assembler", "assembler as implemented by the P4 Northwood" 06:25
"English", "English as spoken by sorear in 2010"
"Homo", "sorear"
TimToady we are 2010less now
sorear the first of all pairs can evolve, the second cannot
PerlJam sorear: you can't evolve? 06:26
[particle] not the him in 2010
sorear there are also questions of where to draw the line
PerlJam oh, you only mean in the genetic sense I guess.
lue "English as spoken by sorear in 2010" had expired 2011-01-01T00:00:00Z
sorear C++ is obviously a memetic descendant of C, but those who ask "does C evolve" often ignore C++
this is much like saying that H. erectus cannot evolve because its genetic descendants are called something else 06:27
[particle] long long
sorear tl;dr - your question sucks.
TimToady hugme: hug rlinuxguy2 06:28
sorear hugme is absent
TimToady ENOHUGS
PerlJam TimToady: you're free to hug sans bot :)
TimToady hugs everyone, not necessarily in that order 06:29
what's the proper package to install to get readline support in the repl?
sorear libreadline-dev 06:30
then reconfigure and recompile Parrot
TimToady thanks
sorear niecza: say 0b1010101 06:42
p6eval niecza v1-82-gf7b008c: OUTPUT«===SORRY!===␤Action method binint not yet implemented at /home/p6eval/niecza/src/Niecza/Actions.pm line 55.␤Attribute (value) does not pass the type constraint because: Validation failed for 'Num' with value undef at
../home/p6eval/niecza/src/Niecza/Actions.pm line …
diakopter niecza: say 0o1010101 06:43
p6eval niecza v1-82-gf7b008c: OUTPUT«266305␤»
diakopter cool
sorear niecza: "foo" ~~ /(.)*/; say ~@0
p6eval niecza v1-82-gf7b008c: OUTPUT«f o o␤» 06:44
sorear niecza: "foo" ~~ /(.)*/; say +[ @0 ]
p6eval niecza v1-82-gf7b008c: OUTPUT«1␤»
06:44 rlinuxguy2 left, cjk101010 joined
sorear guess I'll be using @$<foo> 06:46
TimToady I suspect +[] is always 1, since [] behaves like $
rakudo: "foo" ~~ /(.)*/; say +[ @0 ] 06:47
p6eval rakudo de98d1: OUTPUT«1␤»
TimToady rakudo: say +[1,2,3]
p6eval rakudo de98d1: OUTPUT«3␤»
TimToady hmm
well, maybe not 06:48
rakudo: my @x = 1,2,3; say +[ @x ]; 06:49
p6eval rakudo de98d1: OUTPUT«3␤»
diakopter rakudo: my @x = 1,2,3; say +|[ @x ]; 06:50
p6eval rakudo de98d1: OUTPUT«maximum recursion depth exceeded␤ in 'Cool::Numeric' at line 1845:CORE.setting␤ in 'Cool::Numeric' at line 1845:CORE.setting␤ in 'Cool::Num' at line 7380:CORE.setting␤ in 'Cool::Numeric' at line 1845:CORE.setting␤ in 'Cool::Numeric' at line 1845:CORE.setting␤ in
..'Cool::Num' a…
TimToady rakudo: "foo" ~~ /(.)*/; say +[ @$0 ]
p6eval rakudo de98d1: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "@$0 ]"␤»
TimToady phooey on rakudo
rakudo: "foo" ~~ /(.)*/; say +[ @($0) ]
p6eval rakudo de98d1: OUTPUT«3␤»
TimToady rakudo: "foo" ~~ /(.)*/; say +@($0) 06:51
p6eval rakudo de98d1: OUTPUT«3␤»
sorear perl6: say 1 / 0 06:52
p6eval pugs: OUTPUT«*** Illegal division by zero␤ at /tmp/CcUpdwrh1P line 1, column 5 - line 2, column 1␤»
..niecza v1-82-gf7b008c: OUTPUT«Infinity␤»
..rakudo de98d1: OUTPUT«Inf␤»
sorear rakudo: say (1 / 0).WHAT
p6eval rakudo de98d1: OUTPUT«Rat()␤» 06:53
diakopter evalbot control restart
06:53 p6eval left 06:54 wtw joined
diakopter crosses keyboard keys 06:54
zugh
06:54 p6eval joined, ChanServ sets mode: +v p6eval
TimToady zugh seems to be the magic word 06:54
kind of a cross between xyzzy and plugh 06:55
coldhead yo ChanServ can I get ops? 06:56
sorear check the list 06:58
/msg chanserv access #perl6 list
coldhead ooh neat thanks 06:59
i'll just PM ChanServ about getting added to that list
sorear chanserv is a bot.
diakopter perlesque: my $t = Diagnostics::Stopwatch.StartNew();sub say(object $a-->int) { Console.WriteLine($a) }; loop (my $b=1;$b<5;$b=$b+1) {loop (my $a=1;$a<10000000*$b;$a=$a+1) {}; say($t.Elapsed) } 07:00
p6eval perlesque: OUTPUT«00:00:00.0431612␤00:00:00.1401656␤00:00:00.2813894␤00:00:00.4718993␤»
TimToady do you need ops for anything in particular?
coldhead i just think it would be a nice gesture to give them to me
diakopter it actually wouldn't; there's nothing to be done with them 07:01
coldhead you can banish heretics!
sorear we hug heretics here. 07:02
coldhead i could give heretics ops! 07:03
sorear I get the feeling you haven't read the freenode manifesto
TimToady we'd rather give away Perl
long term, Perl is much more discordian than ops 07:05
coldhead respekt 07:06
sorear niecza: "" ~~ / <?> /; say ?$/ 07:07
p6eval niecza v1-82-gf7b008c: OUTPUT«Bool::True␤»
diakopter sock it to me
TimToady it's not sock-it-to-me time
diakopter but it is Miller time 07:08
07:08 vladikoff joined
TimToady sock-it-to-me time is before most of yous was borned 07:08
diakopter oh, I meant to type "sokk it to me" 07:09
I punfaild
from respekt
vladikoff coldhead, it's my first day using Perl6 and i love it!
diakopter perlesque: my $t = Diagnostics::Stopwatch.StartNew();sub say(object $a-->int) { Console.WriteLine($a) }; loop (my $a=1;$a<100000000;$a=$a+1) {}; say($t.Elapsed) 07:11
p6eval perlesque: OUTPUT«00:00:00.4518848␤»
diakopter perlesque: my $t = Diagnostics::Stopwatch.StartNew();sub say(object $a-->int) { Console.WriteLine($a) }; loop (my int $a=1;$a<100000000;$a=$a+1) {}; say($t.Elapsed) # explicitly marking *int*, to be kosher 07:12
p6eval perlesque: OUTPUT«00:00:00.4511890␤»
sjn vladikoff++ # For trying out Perl 6 :) 07:13
diakopter perlesque: my $t = Diagnostics::Stopwatch.StartNew();sub say(object $a-->int) { Console.WriteLine($a) }; my int $a=1; sub foo (-->int) { if ($a < 1000000) { $a=$a+1; foo(); } }; foo(); say($t.Elapsed); 07:18
p6eval perlesque: OUTPUT«00:00:02.1654583␤»
diakopter 1 million recursions
perlesque: my $t = Diagnostics::Stopwatch.StartNew();sub say(object $a-->int) { Console.WriteLine($a) }; my int $a=1; sub foo (-->int) { if ($a < 1000000) { $a=$a+1; foo(); } }; foo(); say($t.Elapsed);
p6eval perlesque: OUTPUT«00:00:01.7616573␤»
TimToady is it doing tr optimization?
diakopter no
it's extremely pessimized 07:19
07:19 temp01 joined
diakopter it's setting return slot values as a field in each frame object on every return 07:19
temp01 found it
diakopter ewww, I know
vladikoff temp01, hi !
sorear "tr" optimizations? 07:21
TimToady tail recursion
sorear are vladikoff, temp01, and coldhead affiliated?
ah
vladikoff: temp01: welcome!!
diakopter wonders how niecza does on such a loop
sorear diakopter: shouldn't be too bad 07:22
<100MB allocations, <5s
diakopter specifically, does the heftiness of the Ints outweigh the (probably) faster runloop
vladikoff sorear, we are the same person
sorear oh it'll definitely be slower. 07:23
diakopter the runloop? or the additions/comparisons?
sorear the additions/comparisons 07:24
and maybe the recursions too
niecza frames are quite fat (>20 words), they're designed to be reused
diakopter ah, oh yeah, I remember now
I remember you got something like a 30% speedup from making your own factory/cache 07:25
sorear also niecza will be doing all the math in FP, though the effect of that is probably insignificant
diakopter is it bad that I can't remember whether BigInteger is in this perlesque? ;) 07:26
ah, no it's not (yet)
oh wait, mono has it
perlesque: my $t = Diagnostics::Stopwatch.StartNew();sub say(object $a-->int) { Console.WriteLine($a) }; my int $a=1; sub foo (-->int) { if ($a < 1000) { eval '$a=$a+1; foo()' } }; foo(); say($t.Elapsed); 07:27
p6eval perlesque: OUTPUT«00:00:04.0556159␤» 07:28
diakopter har
that's not too great
but, note that the nested evals have access to each's full lexical scope descendantry 07:29
argh
ancestry
diakopter wonders about golfing the man-or-boy again for irc 07:30
evalbot control restart 07:34
07:34 p6eval left 07:35 p6eval joined, ChanServ sets mode: +v p6eval
diakopter # remove extraneous/old entries 07:35
moritz_: sry about the non-committed changes to evalbot.pl :(
lue goodnight #perl6 o/
diakopter nite 07:36
sorear some form of time or now will be available in post-rewrite niecza
diakopter sorear: will you add the ability to call out to clr builtin libraries? 07:37
sorear diakopter: yes, once I figure out the best way to handle overloading and newslot
diakopter as you see, perlesque just has them all "preloaded". who knows how bad^Wwrong that is 07:38
obviously there are some name conflicts with Perl 6 types 07:39
sorear How many Perl 6 types start with Microsoft:: or System::?
diakopter heh
well, the classname resolution thingie in perlesque tries those prefixes as fallbacks 07:40
as well as others
obviously user types take precendence
precedence
decommute& 07:41
07:42 kaare joined, kaare is now known as Guest32863
dalek ecza: 516fcee | sorear++ | / (6 files):
[v6] Start on NieczaActions translation
07:49
sorear sleep& 07:50
07:50 roobie| joined
cotto I get this with the latest parrot: nopaste.snit.ch/27567 . Should parrot be blamed for those failures? 07:52
colomon cotto: do you have the latest t/spec? I pushed a patch to t/spec/integration/advent2009-day18.t a day or two ago... 07:58
(not against the latest parrot, so it could be something breaking again under that.)
cotto it updated itself when I ran make spectest_regression
I started that a couple hours ago, +/- 07:59
colomon okay, so that's not it.
cotto it looks like plobsing++ has at least taken care of the bulk of the breakage 08:02
that test dies with "too many named arguments: 1 passed, 0 used". I don't know if that's a Rakudo think but it looks a lot like an error related to a recent Parrot change. 08:04
08:07 satyavvd joined
moritz_ good morning 08:15
tadzik good morning
colomon o/
08:20 justatheory left, M_o_C joined 08:23 snearch joined
clkao 5/win 26 08:26
08:29 snearch left, snearch joined 08:32 pnu left 08:34 pnu joined 08:37 daxim joined 08:42 kensanata joined
colomon err... how to return two arrays from a function? I feel like I'm forgetting something really obvious... 08:47
daxim perl6: sub foo { my @o = 1,2,3; my @p = 4,5,6; return @o, @p }; say foo.perl # let's try the obvious 08:48
p6eval pugs, rakudo de98d1: OUTPUT«([1, 2, 3], [4, 5, 6])␤»
..niecza v1-83-g516fcee: OUTPUT«Unhandled exception: Excess arguments to SAFE return, used 1 of 2 positionals␤ at /home/p6eval/niecza/lib/SAFE.setting line 0 (SAFE return @ 0)␤ at (eval) line 1 (MAIN foo @ 8)␤ at (eval) line 1 (MAIN mainline @ 1)␤ at /home/p6eval/niecza/lib/SAFE.setting line
..1064 (SAFE C381_A…
colomon actually, now thinking my problem was at the receiving end. 08:49
perl6: sub foo { my @o = 1,2,3; my @p = 4,5,6; return @o, @p }; my (@o, @p) = foo;. say :@o.perl, :@p.perl
p6eval niecza v1-83-g516fcee: OUTPUT«===SORRY!===␤Bogus statement at /tmp/72cO4SmiOB line 1:␤------> 5,6; return @o, @p }; my (@o, @p) = foo;⏏. say :@o.perl, :@p.perl␤Parse failed␤»
..rakudo de98d1: OUTPUT«===SORRY!===␤Confused at line 22, near ". say :@o."␤»
..pugs: OUTPUT«*** ␤ Unexpected " say"␤ expecting ".", "\187", ">>", "=", "^", operator name, qualified identifier, variable name, "...", "--", "++", "i", array subscript, hash subscript or code subscript␤ at /tmp/ssv1uhqe51 line 1, column 77␤»
colomon rakudo: sub foo { my @o = 1,2,3; my @p = 4,5,6; return @o, @p }; my (@o, @p) = foo; say :@o.perl, :@p.perl 08:50
p6eval rakudo de98d1: OUTPUT«"o" => [1, 2, 3, 4, 5, 6]"p" => []␤»
colomon yeah, that
08:59 cogno joined
colomon rakudo: sub foo { my @o = 1,2,3; my @p = 4,5,6; return \@o, \@p }; my ($o, $p) = foo; say :$o.perl, :$p.perl 09:00
p6eval rakudo de98d1: OUTPUT«"o" => \(1, 2, 3)"p" => \(4, 5, 6)␤»
moritz_ niecza: sub f { return [1, 2], [3, 4] }; say f 09:03
p6eval niecza v1-83-g516fcee: OUTPUT«Unhandled exception: Excess arguments to SAFE return, used 1 of 2 positionals␤ at /home/p6eval/niecza/lib/SAFE.setting line 0 (SAFE return @ 0)␤ at (eval) line 1 (MAIN f @ 6)␤ at (eval) line 1 (MAIN mainline @ 1)␤ at /home/p6eval/niecza/lib/SAFE.setting line 1064
..(SAFE C381_ANO…
moritz_ niecza: sub f { return 1, 2 }; say f
p6eval niecza v1-83-g516fcee: OUTPUT«Unhandled exception: Excess arguments to SAFE return, used 1 of 2 positionals␤ at /home/p6eval/niecza/lib/SAFE.setting line 0 (SAFE return @ 0)␤ at (eval) line 1 (MAIN f @ 2)␤ at (eval) line 1 (MAIN mainline @ 1)␤ at /home/p6eval/niecza/lib/SAFE.setting line 1064
..(SAFE C381_ANO…
moritz_ submits nieczabug 09:04
rakudo: sub f { return 1, 2 }; say f 09:05
p6eval rakudo de98d1: OUTPUT«12␤»
moritz_ niecza: 10:03 < moritz_> niecza: sub f { return 1, 2 }; say f 09:06
p6eval niecza v1-83-g516fcee: OUTPUT«===SORRY!===␤Confused at /tmp/BdsP7Ebp8u line 1:␤------> 10:⏏03 < moritz_> niecza: sub f { return 1, ␤ expecting any of:␤ coloncircumfix␤ signature␤Parse failed␤»
moritz_ sorry
niecza: say ?("a" ~~ /a/); say ?$/
p6eval niecza v1-83-g516fcee: OUTPUT«Bool::True␤Bool::True␤»
09:13 masak joined
masak good morning, zebras. 09:13
moritz_ good morning, mr. wombat 09:14
colomon o/ mammals 09:18
colomon feels like crap, but is furiously upgrading his AI for p4 09:20
09:24 roobie| left 09:25 cogno left 09:26 PacoLinux left 09:37 hanekomu joined 09:43 dakkar joined 09:52 vladikoff left 09:54 roen left
masak <TimToady> I'm the perl train. :) 09:54
this made my day, and it's only 11 am. :)
09:59 gimix joined
diakopter :) 10:04
10:05 cogno joined, redicaps left
masak moritz_++ # submitting nieczabugs 10:06
10:08 roen joined
diakopter tries out cpanminus on strawberry 10:10
odd; strawberry's startup script doesn't put c:\strawberry\perl\site\bin in the %PATH% 10:13
or maybe I broke it thusly
10:14 roobie| joined
dalek albot: 18079f9 | (Perl 6 Evalbot)++ | evalbot.pl:
disable some non-working targets
10:15
moritz_ fwiw 'Perl 6 Evalbot' is a low security account that allows us to push changes from the p6eval server 10:16
diakopter 18079f9 # also re-fixes the perlesque target ;) 10:18
i'll manually update it for now
10:25 cogno left 10:26 mtk left 10:32 roobie| left 10:33 QinGW left 10:34 roobie| joined, mtk joined 10:49 roobie| left 10:50 coldhead left, coldhead joined 11:00 cogno joined 11:07 roobie| joined 11:10 coldhead left 11:25 cogno left 11:30 M_o_C left 11:39 redicaps joined 11:40 wamba joined
diakopter std: sub (-->) { } 11:41
p6eval std 625303c: OUTPUT«===SORRY!===␤No type found after --> at /tmp/bKQfZ80loD line 1:␤------> sub (-->⏏) { }␤ expecting any of:␤ name␤ param_sep␤ routine_def␤ signature␤ type_constraint␤Parse failed␤FAILED 00:01 119m␤»
diakopter drat
11:45 satyavvd left 11:47 satyavvd joined 11:52 satyavvd left 12:02 roen_ joined
diakopter nm the drat :) 12:05
12:11 fhelmberger joined, yarp left 12:12 roen left
dalek rixel: 586ec1c | diakopter++ | / (12 files):
enable void-returning routines; somewhat less pessimized for tail recursion.
12:13
12:13 roen joined
diakopter yay; 1/8 reduction in time 12:15
perlesque: sub say(object $z) {Console.WriteLine($z)};my $t = Diagnostics::Stopwatch.StartNew();my int $a=1; sub foo () { if ($a < 1000000) { $a=$a+1; foo(); } }; foo(); say($t.Elapsed);
p6eval perlesque: OUTPUT«00:00:01.4218955␤»
12:15 kensanata left, roobie| left 12:21 roobie| joined 12:28 explorer__ left 12:30 masonkramer_ joined, masonkramer left, masonkramer_ is now known as masonkramer 12:31 Axius joined 12:36 kanishka left 12:37 masak left, Axius_ joined 12:38 Axius left 12:40 Axius_ left, Axius joined 12:42 jferrero joined 12:49 cogno joined, Axius left
dalek rixel: de922f0 | diakopter++ | / (8 files):
got post-increment and post-decrement working; shaved another x0% off the simple million-recursions toy benchmark.
12:51
diakopter perlesque: sub say(object $z) {Console.WriteLine($z)};my $t = Diagnostics::Stopwatch.StartNew();my int $a=1000000; sub foo () { if ($a--) { foo(); } }; foo(); say($t.Elapsed); 12:55
p6eval perlesque: OUTPUT«00:00:01.6389214␤»
diakopter perlesque: sub say(object $z) {Console.WriteLine($z)};my $t = Diagnostics::Stopwatch.StartNew();my int $a=1000000; sub foo () { if ($a = $a - 1) { foo(); } }; foo(); say($t.Elapsed);
p6eval perlesque: OUTPUT«00:00:01.4203689␤»
diakopter sigh
perlesque: sub say(object $z) {Console.WriteLine($z)};my $t = Diagnostics::Stopwatch.StartNew();my int $a=5000000; sub foo () { if ($a--) { foo(); } }; foo(); say($t.Elapsed); 12:56
p6eval perlesque: OUTPUT«(timeout)8120130␤»
diakopter perlesque: sub say(object $z) {Console.WriteLine($z)};my $t = Diagnostics::Stopwatch.StartNew();my int $a=3000000; sub foo () { if ($a--) { foo(); } }; foo(); say($t.Elapsed);
p6eval perlesque: OUTPUT«00:00:04.8198533␤»
diakopter perlesque: sub say(object $z) {Console.WriteLine($z)};my $t = Diagnostics::Stopwatch.StartNew();my int $a=3000000; sub foo () { if ($a = $a - 1) { foo(); } }; foo(); say($t.Elapsed);
12:56 kensanata joined
p6eval perlesque: OUTPUT«00:00:04.7934038␤» 12:56
diakopter ok, so, essentially equivalent. 12:57
12:57 yarp joined
diakopter whatevs 12:57
12:57 Guest32863 is now known as kaare_
moritz_ in perlesque, of what type is a literal like 10? 12:58
is it int? or Int?
12:58 Gahrian left, roen_ left
diakopter technically, all the declarations of variables should have type annotations 12:58
moritz_ that doesn't quite answer my question 12:59
diakopter but perlesque's assumption is that all literals are as primitively-typed as possible :)
plus, there's no such thing as an Int
moritz_ so 10 is an int8?
diakopter well, no 13:00
hm
moritz_ or an int64 on 64bit machines?
or a real int?
13:00 jferrero left
moritz_ wait, lower case int probably isn't arbitrary precision in the spec 13:01
diakopter no it's word size I think
but ..
perlesque: my byte $a 13:02
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.ArgumentNullException: Argument cannot be null.␤Parameter name: op␤ at sprixel.CodeGen.EmitGetHelper (sprixel.Operand op, System.Type desiredType, Boolean allowExplicitConversion) [0x00000] in <filename unknown>:0 ␤ at sprixel.FieldGen.EmitSet
..(sprixe…
diakopter perlesque: my byte $a = 256
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.ArgumentNullException: Argument cannot be null.␤Parameter name: op␤ at sprixel.CodeGen.EmitGetHelper (sprixel.Operand op, System.Type desiredType, Boolean allowExplicitConversion) [0x00000] in <filename unknown>:0 ␤ at sprixel.FieldGen.EmitSet
..(sprixe…
diakopter hm
13:03 cogno left
diakopter ah, I see my error 13:04
13:05 cogno joined
diakopter moritz_: which others would you like? :D 13:06
sbyte, uint, etc 13:07
msdn.microsoft.com/en-us/library/hfa3fa08.aspx
moritz_ diakopter: if I remember/understand your goals for perlesque correctly, I'm not likely to be a user and don't really care 13:08
diakopter true..
13:16 cogno left
diakopter perlesque: my byte $a = 255; 13:16
p6eval perlesque: ( no output )
diakopter perlesque: my byte $a = 256;
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.InvalidCastException: Cannot convert type from 'System.Int32' to 'System.Byte'␤ at sprixel.Conversion+Invalid.Emit (sprixel.CodeGen g, System.Type from, System.Type to) [0x00000] in <filename unknown>:0 ␤ at sprixel.CodeGen.Convert (sprixel.Operand
..op…
diakopter \o/
moritz_: to be precise, the only *user* of perlesque will be me, and the sprixel/viv compiler that targets it 13:18
13:19 roobie| left, MayDaniel joined
diakopter I'm guessing that no one will actually write in the language, but if I'm successful in my goal(s), the new viv backend for Cursor/STD should be sufficient. 13:19
dalek rixel: 63e1294 | diakopter++ | sprixel/src/ (2 files):
add a bunch more default values for the built-in CLR value types
moritz_ :-)
13:20 cogno joined 13:22 tzhs joined
yarp my $b = '哈'; 13:24
13:24 roobie| joined
moritz_ .u 哈 13:24
phenny U+54C8 CJK UNIFIED IDEOGRAPH-54C8 (哈)
diakopter perlesque: my $b = '哈'; Console.WriteLine($b) 13:25
p6eval perlesque: OUTPUT«哈␤»
diakopter niecza: my $b = '哈'; say($b)
p6eval niecza v1-83-g516fcee: OUTPUT«哈␤»
13:26 agentzh joined
diakopter hmm. it appears I've stayed awake all night. 13:26
morning alarm beepeth 13:27
13:34 cogno left 13:36 MayDaniel left 13:39 cogno joined, _twitch joined 13:44 snearch left, cjk101010 left 13:45 lichtkind joined 13:46 PacoLinux joined 13:47 PacoLinux left 13:48 PacoLinux joined
lichtkind does the tk binding for rakudo really work? 13:48
moritz_ lichtkind: I had a working tk windows through blizkost and the p5 Tk library at some point 13:49
dunno if it works at the moment
13:50 PacoLinux left, GinoMan joined, PacoLinux joined 13:51 PacoLinux left, PacoLinux joined 13:52 PacoLinux left, PacoLinux joined
lichtkind moritz_: i just read on tpf page about the tk on rakudo grant and was curious if its finished like the article says 13:55
moritz_ lichtkind: I thought it was aborted 13:56
lichtkind: got a link for me?
lichtkind news.perlfoundation.org/2011/01/tpf...-2010.html
yes i had the feeling it was so i just was not sure
moritz_ news.perlfoundation.org/2010/03/gra...ss_in.html 13:57
the markup is totally borked, but with some patience one can read it 13:58
[Coke] completed was probably the wrong word there, but vadim's grant dates from the time when some $$ was paid up front. 13:59
moritz_++ #finding the original link 14:00
moritz_ I'll leave a comment
[Coke] danke. 14:02
14:06 plainhao joined
lichtkind thank you 14:06
14:07 GinoMan left 14:08 GinoMan_ joined, agentzh left 14:09 GinoMan_ left 14:11 wamba left, GinoMan joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....tor_tablet 14:17
14:18 envi left 14:20 envi joined
ggoebel Folks interested in Perl6 concurrency may also be interested in linux kernel developer Paul McKenney's creative commons book on parallel programming: paulmck.livejournal.com/23027.html 14:22
14:24 cogno left 14:25 yarp left
mathw ooh 14:32
good title for it :) 14:33
14:38 redicaps left 14:47 muixirt joined
muixirt while 1 {} munches memory slowly, again 14:48
moritz_ :( 14:51
if you want to do something about it, find a parrot+rakudo combination where it doesn't leak, and then bisect 14:52
muixirt on the other hand: the problems with lots of spectest failures is solved (?)
s/is/are/
moritz_ about 4 remain, on my machine 14:53
14:53 felliott left
colomon muixirt: you think the memory leak is the problem? 14:53
context? my last spectest run (with --gen-parrot) was perfect...
muixirt moritz_: t/spec/S14-roles/crony.t *** t/spec/S14-roles/mixin.rakudo *** t/spec/integration/advent2009-day18.rakudo 14:54
moritz_ colomon: rakudo on newest parrot
muixirt colomon: what memory leak are you talking about?
colomon muixirt: the memory leak you just reported? "while 1 {} munches memory slowly, again" 14:55
muixirt it's maybe *a* problem (not really for me) 14:56
15:04 cogno joined, Patterner left, Psyche^ joined, Psyche^ is now known as Patterner, hanekomu left 15:05 xinming_ joined 15:08 xinming left
muixirt moritz_: w.r.t. bisecting: what do you do if you don't know exactly the last good version? 15:13
moritz_ muixirt: you start with any known good version
muixirt: and bisecting finds you the last good / first bad version
muixirt the last good version I know for sure is version 2010.10 15:14
would you first start with rakudo or with parrot?
15:16 rgrau joined
moritz_ you bisect in rakudo, and use --gen-parrot every time 15:18
if the first bad version is a bump in PARROT_REVISION, you continue by bisecting parrot
muixirt would be easier if testcases were available in pir that resemble rakudo use cases (if that's feasible)
moritz_ that would be easier indeed 15:19
if you can reduce it to a pure PIR example, it'll be easier
muixirt once I had a test case for the while loop, looking... 15:21
15:24 roen_ joined
muixirt didn't work out :-( 15:24
moritz_ what you can try is use --target=pir and then remove all rakudoisms from the PIR 15:25
shortcircuit starts learning PIR by way of Rosetta Code, with an aim toward figuring out how best to replace Rakudo's foundation
moritz_ and see if the result still runs, and if yes, still leaks
15:25 cogno left, plobsing left 15:27 gbacon joined 15:28 wtw left
muixirt moritz_: my old pir test case lacks that capture_lex $P91 \ $P91() fun 15:29
15:29 MayDaniel joined 15:33 kaare_ left
muixirt bind_llsig? Never heard of that... 15:36
moritz_ the rakudo signature binder 15:39
muixirt is the doc in src/ops/perl6.ops for bind_llsig still correct? 15:43
moritz_ no idea 15:44
15:45 roobie| left
muixirt bind_llsig is nowadays a one arg op (?) 15:45
15:48 Maksim_ joined 15:49 Tedd1 left, justatheory joined
colomon with MAIN, how does one specify an Int / Real argument? 15:49
TimToady currently, using Str as Int 15:50
moritz_ you can coerce
TimToady that's going to change though
colomon hmm?
TimToady we can't yet multi dispatch on types in MAIN
15:51 pmurias joined
colomon something like $str where { +$str > 0 } ? 15:51
pmurias sorear: ping
TimToady I'll be speccing the "figure out types from text" semantics when I decide what name to call it 15:52
Maksim_ helo, can I use perl5 modules in perl6? I use Device::SerialPort in my scripts and was thinking of trying perl6.
TimToady then multi MAIN (Int $i where $i > 0) will be possible
colomon for what it's worth, $long-run where { $long-run > 0 } seems to be working... 15:53
that's MAIN($long-run where { $long-run > 0 })
TimToady std: multi MAIN (Int $i where $i > 0) { $i }
p6eval std 625303c: OUTPUT«ok 00:01 124m␤»
TimToady rakudo: multi MAIN (Int $i where $i > 0) { $i }
p6eval rakudo de98d1: OUTPUT«===SORRY!===␤Malformed multi at line 22, near "MAIN (Int "␤»
colomon rakudo: multi MAIN ($i where $i > 0) { $i 15:54
TimToady rakudo is still more restrictive on where clauses
p6eval rakudo de98d1: OUTPUT«===SORRY!===␤Malformed multi at line 22, near "MAIN ($i w"␤»
colomon rakudo: multi MAIN ($i where $i > 0) { $i }
p6eval rakudo de98d1: OUTPUT«===SORRY!===␤Malformed multi at line 22, near "MAIN ($i w"␤»
moritz_ it wants a block
TimToady rakudo: multi MAIN (Int $i where ($i > 0)) { $i }
p6eval rakudo de98d1: OUTPUT«Usage:␤/tmp/ixxC0TVR4O i␤»
colomon rakudo: multi MAIN ($i where {$i > 0}) { $i }
p6eval rakudo de98d1: OUTPUT«Usage:␤/tmp/j1LjfIbFJn i␤»
TimToady no, i wants a term
*it
I think rakudo does not yet do precedence restricted EXPR 15:55
STD requests any expression tighter than , there
since, obviously, a comma would indicate the next parameter 15:56
tadzik Maksim_: yeah, take a look at blizkost
Maksim_: it doesn't always work, but sometimes it does
15:56 orafu left, orafu joined
Maksim_ tadzik: Many thanks I will try to use it and see if it works. 15:58
15:58 muixirt left 15:59 gbacon left
TimToady colomon: if you want to return two arrays you need to use binding, not assignment, on the returned value, since assignment flattens and slurps 16:01
colomon TimToady: ooooo, binding!
I knew there was something I was forgetting.
TimToady it's assignment that's the bad boy 16:02
16:03 dukeleto left
TimToady Assignment is Awful, Binding is merely Bad. 16:03
tadzik Maksim_: if the module is basically a wrapper for a C code, you can try writing your own bindings in Perl 6, using Zavolaj
colomon in my defense, I was up programming because I felt too sick to sleep. :) 16:04
16:04 dukeleto joined
TimToady knows that 16:04
well, I new you were sick, and ircing at 4am, assuming you're EST 16:05
*knew
colomon yes
moritz_ wishes colomon a swift recovery 16:07
colomon knock on wood, I seem to be okay at the moment. seemed like it was some sort of stomach bug...
16:10 kaare_ joined 16:14 kanishka joined, larsen_ is now known as larsen 16:15 felliott joined 16:19 pmurias left 16:20 hercynium joined 16:26 gbacon joined
moritz_ just spent about 2 hours chasing a stupid bug 16:27
turns out it was a floating point bug that would lead to some imaginary numbers
and Mathematica's error reporting is just abyssmal 16:28
flussence ooh, FP bugs 16:29
I saw a thing yesterday where you can crash PHP with one of those.
moritz_ yep, there FP parser hangs on certain architectures 16:30
flussence to be fair, it's only one of those out of 2**80, so it's pretty hard to find...
moritz_ at least 3 examples are known
TimToady I don't know why sorear++ seems to think that FP is good enough for everything...
I hope that just means "good enough for now"
flussence everything... including ints? 16:33
16:35 GinoMan left 16:37 cogno joined
TimToady sorear++ likes to hyperbolize at times, so I can't say for sure 16:37
moritz_ likes to parabolize at times :-) 16:38
16:39 MayDaniel left, tzhs left
TimToady on the other extreme, I tend to ellipsize. 16:39
Maksim_ tadzik: it is great to hear about Zavolaj but I do not think it can help in my case.. while blizkost seems to make perl5 scripts slower.. But I will make few more tests..
16:41 pyrimidine joined
moritz_ perl5 scripts don't need blizkost 16:42
TimToady more likely that rakudo is making blizkost slower, or blizkost is making rakudo slower, or both 16:43
16:43 vladikoff joined
moritz_ or that rakudo is slower than p5 16:43
TimToady まさか! 16:44
tadzik phenny: "まさか!"? 16:45
phenny tadzik: "No!" (ja to en, translate.google.com)
16:45 jaldhar left
TimToady more like "Impossible!" 16:45
moritz_ if it were "no", it would be quite bad huffman coding... at least by our usage frequency :-)
TimToady まさかmasakaNever!; Well, I never!; You don't say! 16:46
16:47 jlaire left
PerlJam "Inconceivable!" ? :-) 16:48
shortcircuit That needs to be the release name of the first P6 implementation to be deemed Perfect. 16:50
16:51 jlaire joined 16:52 icwiener joined 16:54 wagnerf left, cogno left 16:58 felliott left 16:59 felliott joined
Maksim_ moritz_: perl5 scripts don't need blizkost? So I can use perl5 modules within perl6? can you please provide me with any link with more details? 17:01
17:02 koushi joined
tadzik Perl 5 scripts do not need Perl 6, that's moritz_'s point methinks 17:02
moritz_ Maksim_: perl5 scripts need Perl 5. Perl 6 scripts needs rakudo (or another compiler). Only if you want to use 5 and 6 you need blizkost 17:03
17:03 koushi left 17:04 M_o_C joined
Maksim_ moritz_: I guess my original question was misunderstood, I use few P5 modules in my scripts, I was thinking of trying to use perl6 and wondered if we can use perl5 modules in perl6 or if some have been re-written for perl6. 17:06
17:07 risou joined
shortcircuit Maksim_: In that case, I think blizkost is what you're looking for. 17:07
PerlJam Maksim_: modules.perl6.org
Maksim_: (for the rewritten modules) 17:08
shortcircuit Or native modules. :)
Maksim_ PerlJam, shortcircuit: thanks guys :)
TimToady but rakudo + blizkost + p5 is unlikely to run as fast as bare p5, at least in the near future
shortcircuit Trollish/seriousish question: Can Rakudo be benchmarked to be faster than bare P5 for anything trivial to both languages? 17:10
flussence well, there's "writing code"... 17:11
PerlJam rakudo: hash().perl.say; hash{}.perl.say;
shortcircuit Can that really be a property of the implementation? :P
p6eval rakudo de98d1: OUTPUT«{}␤()␤»
PerlJam I find that completely odd.
Maksim_ I understand.. I will try them just for fun on my weekends.. I will make a chart of results and if speed was 5-10 slower I will consider it as ok since speed is not very important in all my scripts.
flussence shortcircuit: depends how your $dayjob treats programmers :)
shortcircuit I work at a company of nothing *but* programmers. 17:12
Which leads to all the headaches one might presume.
17:12 gbacon left
flussence heh 17:12
shortcircuit The only way to get buy-in around here is to figure out how to get everyone curious about something for their own reasons. :) 17:13
17:16 risou left 17:20 Trashlord left 17:21 Trashlord joined 17:22 envi left, Trashlord left 17:23 Trashlord joined
Maksim_ I have a question, there is a prepacked version of Rakudo for FreeBSD and Fedora, do you recommend using them or building it from source and why? Note the prepacked version are one version away from the latest. 17:28
shortcircuit I think there's a recent blog post that answers this questions, providing reasons. 17:32
shortcircuit hunts
17:32 cogno joined, plobsing joined
shortcircuit Ah. I was mistaken; the blog post talks about something that runs on Rakudo. 17:32
tadzik is there a nice, printable version of the CLA?
17:34 vladikoff left
shortcircuit Maksim_: I guess you can try the prepackaged version. You might poke its maintainer to get him to update, too. 17:35
The other side of it...if something breaks, you should try updating to the latest release, and see if that fixes it.
The obvious (to me) conclusion would be to just run the latest release. I hate hearing "that's fixed in svn" or equivalents. 17:36
I know there have been bugfixes in that timeframe. Don't remember what they were, though. I just overhear stuff by lurking in here. 17:37
17:37 cogno left
shortcircuit realizes that what he's doing doesn't qualify as lurking, and shuts up. 17:37
TimToady shortcircuit: we'll make you our Lurker Emeritus. :) 17:38
shortcircuit Hehe
TimToady Maksim_: if you can get within one order of magnitude slower I will be very surprised. Most code runs several orders of magnitude slower so far. 17:39
(in rakudo, not in niecza)
Maksim_ shortcircuit: I guess I will just build from source and keep manually update with every new release.. Actually I have already just started doing that on my machines..
17:40 cdarroch joined, cdarroch left, cdarroch joined
Maksim_ TimToady: I will be satisfied with 5-10 magnitudes "for now" 17:40
shortcircuit I found manually building and installilng Rakudo surprisingly easy. It's much less terrifying to me than CPAN...
17:41 kanishka left
shortcircuit *installing 17:41
[Coke] ... you need to use cpanm, then. ;)
17:41 kanishka joined
PerlJam shortcircuit: what of CPAN frightens you? 17:41
TimToady IT HAZ A SINGLE POINT OF FAILUREZ!!! *cough* github *cough* 17:42
shortcircuit PerlJam: A year or two ago, I wound up in an emergency scenario where a CPAN module I was using depended on the JSON module, and the LTS ubuntu release I was running had a version of the JSON module with a completely different API. 17:43
TimToady
.oO(which is why modules in P6 have :auth and :ver)
17:44
flussence ooh, that's a fun one. I get to maintain an Ancient Perl webapp that relies on a billion different deprecated APIs...
PerlJam shortcircuit: so ... you're saying Rakudo is great because it has few dependencies? :)
shortcircuit So I had to pull in a bunch of packages from CPAN without really knowing what I was doing. A massive dependency set to keep things working as I'd thought they were. Hit circular dependencies, too. Didn't know the difference between pure-perl XML and XS.
PerlJam: Rakudo was great for me because it was easy to install. :) 17:45
17:45 kanishka left
shortcircuit That JSON/CPAN experience is also what led me to really, really dislike #perl. 17:46
PerlJam shortcircuit: really? Whyfor?
17:46 kanishka joined
PerlJam Welcome kanishka 17:46
17:46 plobsing left
shortcircuit PerlJam: Like I said, I was really, really new to a lot of it, was under a major time crunch, and the few folks who responded to my questions at that time of night...well, there's was a bidirectional incompatibility. :-| 17:48
They got fed up with my not knowing what I was doing, and I was frustrated that they weren't answering the questions I needed answered, or providing useful reference. Somewhere in there, I got a bruised ego from something one of them said, but I don't remember the specifics. 17:51
I do remember going back and apologizing later.
PerlJam Hmm. 17:52
I do hope that #perl6 won't be making the same mistakes as #perl :)
17:53 impious joined, kensanata left, impious left 17:54 impious joined, pmurias joined
TimToady We'll need to think about how this will scale up though. I suspect #perl6 will become/continue to be the help channel, and #phasers will become the devs channel. 17:55
dalek ecza: 0f63e1b | pmurias++ | / (3 files):
the refactored driver build the setting an test.pl passes
17:56
PerlJam the only problem is that Perl seems to attract very helpful people who are also very abrasive (or perhaps just somewhate insensitive) 17:57
s/ate/at/
couple that with a dose of arrogance and the community loses some of its friendliness. 17:58
diakopter dalek might need to move to #phasers if/when #phasers is more dev-ish 17:59
PerlJam tchrist was a good example of that on IRC back in the 1990s.
diakopter PerlJam: I AM NEVER INSENSITIVE, AND NEITHER AM I. DO NOT PROVOKE ME. ;) 18:00
not that I'm claiming to be helpful, either.
</wink> 18:01
18:02 plobsing joined
PerlJam now, if you could just spontaneously produce a voluminous output of text on the smallest of provocations regarding the most minor nits, I'll have to question your identity ;) 18:02
pmurias isn't #phasers a rakudo specific channel? 18:03
PerlJam pmurias: no.
(at least, I've never thought of it as such)
pmurias the channel topic seems to imply otherwise 18:04
PerlJam Well, perhaps I'm the only one then.
I've always thought of it more about "Perl 6 implementations" and it just happens that Rakudo is the one most talked about.
diakopter yeah, it was originally rakudo, I think
but quickly expanded 18:05
pmurias and isn't it a weekly thing?
PerlJam currently.
Maksim_ TimToady: first 2 scripts appeared to be around 30 times slower.. but still I enjoyed the test! :) I will re-write all of my p5! 18:06
18:12 _twitch left 18:13 mtk left, gbacon joined
shortcircuit So, #phasers is an IRC channel that's active weekly, and talks specifically about Perl 6 implementation development. 18:14
PerlJam shortcircuit: yep 18:15
shortcircuit It sounds to me like one could take the day's IRC logs for the channel, perform some sanitization, and lump it out as a weekly 'blog' post.
I'd add it to my reader list.
PerlJam shortcircuit: are you volunteering? irclog.perlgeek.de/phasers/2011-01-04 :-) 18:16
18:17 cogno joined
shortcircuit I can't even motivate myself to make time to set up public logging for #rosettacode. :-| 18:17
The PIR->C++ thing is a current fancy.
18:18 dakkar left
moritz_ shortcircuit: do you want me to log it? 18:19
PerlJam shortcircuit: ask ... never mind :)
moritz++
shortcircuit moritz_: That'd be pretty sweet. :)
I've got three years of backlogs I could probably rope a couple guys into formatting consistently, if you can retroprocess. :)
moritz_: I can set up a CNAME off of, e.g. irc.rosettacode.org, if that's not too inconvenient... 18:21
plobsing shortcircuit: do you have anyplace you've documented how you might go about PIR->C++?
18:22 JimmyZ joined
shortcircuit plobsing: No. I'm not doing a programmatic conversion, either. I'm just reading the PIR docs, implementing RC tasks in PIR, and then I'll go through the Rakudo source code and figure out how to flexibly drop in something in place of the .pir files Rakudo's currently using. 18:23
TimToady it's good that #rosettacode is already logged, so you don't have to fight the folks who are ashamed of what they want to say :)
shortcircuit That's going to depend on a fairly documented barrier between where Rakudo uses PIR and where it uses NQP or similar.
moritz_ shortcircuit: I can offer you irclog.perlgeek.de/rosettacode/today - you can do a redirect there 18:24
shortcircuit TimToady: Yeah, I always tried to emphasize that the stuff in said #rosettacode should be assumed to be read by arbitrary people.
TimToady it really helps keep things civil 18:25
PerlJam shortcircuit: AFAIK, there is no "documented barrier" between Rakudo and PIR, though abstracting the PIR bits out has been talked about before.
shortcircuit PerlJam: I suspect the only relatively solid barrier sits between the parts implemented in Perl 6, and the parts implemented in NQP.
PerlJam shortcircuit: um ... not even that. NQP *is* Perl 6 :) 18:26
shortcircuit Not Quite. :)
PerlJam Well ... is a subset of Perl 6
Su-Shee it's a quarter to six perl. ;) 18:27
plobsing shortcircuit: while that sounds like an interesting idea on the surface, I'd hazard a guess (without appropriate benchmarks to back me up) that it would not have a significant performance increase. NQP/Rakudo generate much more PIR and with much less insight.
18:28 _ilbot left
shortcircuit plobsing: I'm not doing it for any practical reason; I'm just curious. 18:28
18:28 _ilbot joined
plobsing shortcircuit: OK, so long as you don't expect too much 18:28
shortcircuit More the trollish, "wouldn't it be funny if..." side of things.
I think swapping out the PIR bits with JavaScript could have hilarious consequences. :)
18:29 cogno left
moritz_ shortcircuit: irclog.perlgeek.de/rosettacode/today IWBN if you announced the logging inside the channel 18:29
diakopter Su-Shee: ha
moritz_ shortcircuit: if you plan to migrate to another logging tool at some point, I can give you a DB dump then
PerlJam moritz_: does ilbot just log whichever channel it's in, or is there more to it?
dalek ast: 920cbea | (Kodi Arfer)++ | S32-scalar/defined.t:
[defined.t] Added tests for RT #81352.
18:30
ast: 3c9b9b5 | (Kodi Arfer)++ | S02-builtin_data_types/instants-and-durations.t:
[instants-and-durations.t] Removed some tests that are now incorrect or dubious.
moritz_ PerlJam: it logs whatever it sees, even private messages (though they can't be retrieved via the web interface)
dalek kudo: 604e5dd | KodiB++ | src/cheats/object.pir:
[cheats] Made &prefix:<defined> return a Bool.

This fixes RT #81352.
kudo: 244d0f6 | KodiB++ | src/core/Duration.pm:
[core/Duration] Removed various restrictions as per specs 3104c5be9.

Now, at least for the time being, Duration differs little from Rat.
18:32 fhelmberger left, cogno joined
PerlJam moritz_: do you have a way to parse/input shortcircuit's previous logs? 18:35
moritz_ PerlJam: I've written an irssi log parser...
problem is that I have to update row IDs from all later rows
which breaks "deep" links to directly to rows 18:36
so I basically only do it when I start logging a channel, never when I miss a few hours
PerlJam why do you have to update row IDs? 18:37
18:37 wamba joined
moritz_ because I have to order by something when displaying a page 18:37
PerlJam okay, gotcha
moritz_ and since I only store integer timestamps, I sort by primary ID 18:38
18:38 mtk joined, roen_ left
pmichaud good afternoon, #perl6 18:39
moritz_ I have a vision on how to write ilbot 2.0, "second irc logging system done right"
which stores sub-second timestamp and orders by them
oh hai pmichaud
PerlJam pmichaud: greetings.
shortcircuit wonders how to do a 'sort by X first, then by Y' in SQL. "sort by timestamp, then by autonumber field" 18:41
PerlJam shortcircuit: order by timestamp, id
shortcircuit Hackish, and unnecessary outside of edge cases, obviously. :-|
allbery_b mm? 18:43
moritz_ btw there's one case where I massively imported old logs 18:46
I assigned negative IDs :-)
18:47 masak joined
masak ahoy! 18:47
moritz_ hello zebra!
colomon \o
PerlJam greetings masak
masak how are all my fellow zebras today? 18:48
colomon surviving
moritz_ \ \ \ \ \ <-- zebra pattern!
18:52 MayDaniel joined
pmichaud we have zebras? 18:54
TimToady herds of 'em: 𡿭
[Coke] wonders if perl6 has an octopodes operator.
moritz_ «...» has 8 lines... does that count? 18:55
PerlJam feline octopodes
moritz_ feline opcodes
Su-Shee bio perl gone rogue? ;)
pmichaud feline opcodes == "cat", I think.
or even Cat
TimToady I like octopods much better than octopodes. 18:57
moritz_ are those octophone or octophobe?
TimToady though, in fact, I have never seen an octopus with eight feet... 18:58
moritz_ yeah, they don't have any feet
just tentactles
pmichaud I have. It was frequently next to the purple dinosaur.
18:58 daxim left
TimToady the purple dinosaur is frequently beside himself 18:59
pmichaud oh, wait. I mean it was associated with that australian music group
TimToady which also makes eight legs, if not feet 19:00
PerlJam pmichaud: you mean ~~ ?
well, ~~ Su-Shee-style
pmichaud wiggles.wikia.com/wiki/Henry_the_Octopus
19:00 MayDaniel left
PerlJam aye, and ~~ are "the wiggles" :) 19:01
pmichaud "Henry the Octopus is a fun-loving octopus with purple skin. He wears tartan clothes, a straw hat, and black polished shoes on". I suppose one could have shoes and no feet.
TimToady pictures a hula dancer signing "ocean"
19:01 WonTu joined, WonTu left
Su-Shee cool. the wiggles are even a group dressed in perl 6 colors. ;) 19:01
pmichaud anyway, I apologize that my smart(?) matcher has dredged up these images into our midst. Can we return to the zebras? ;-) 19:02
actually, time for lunch here 19:03
bbiaw
19:05 kanishka left 19:07 JimmyZ left
masak interesting activity on p6u. 19:07
pmichaud I suppose I should apologize for that also. :-)
moritz_ well, some of that is going off into the trolling direction 19:08
masak aye.
19:08 cogno left
moritz_ I've decided not to reply to anything there for now 19:08
masak my brain wanted to hit "Reply" to a few of the emails, but was overruled by my troll bait detector.
pmichaud same here.
I thought about troll hugging, but decided it wasn't a good expenditure of tuits. 19:09
diakopter doesn't know which emails these are
dalek rixel: 5b3b499 | diakopter++ | / (7 files):
pre-increment, pre-decrement, logical not, stringify operators
moritz_ dalek: then you haven't missed anything, really
diakopter whee
masak diakopter: the thread is called "Production release"
moritz_ sorry, meant diakopter, not dalek 19:10
diakopter :)
pmichaud diakopter: later messages in the thread starting at groups.google.com/group/perl.perl6....629a42c15a 19:11
(i.e., on page 2)
but probably not worth the time/effort
anyway, lunch. bbl
19:12 am0c joined
Su-Shee *haha* the fortran comparison with examples is just cool. :) 19:14
moritz_ regarding 'has $!foo handles TypeObject' 19:15
that currently doesn't work for classes
because it overrides the .new method 19:16
what about making it only adding method that aren't already available in the class?
masak Su-Shee: I really liked that one too. 19:18
people's memory in the programming language business is really awful. 19:19
Su-Shee masak: it's excellent and very enlightening.
masak agrees
PerlJam It made me realize that I probably haven't seen any fortran90 code really as I would have only identified the first one as "fortran" and the other as something else.
Su-Shee PerlJam: exactly. and in my fortran cliche it's still FORTRAN. 19:21
PerlJam not ForTran ? 19:22
Su-Shee "perl 6 is perl like fortran 90 is fortran" :)
PerlJam :)
masak maybe that's what people are thinking about when they talk about PERL -- archaic, badly structured Perl. :P
Su-Shee actually I think "office" then. ;)
I think the fortran example is very quoteworthy on occasions... 19:23
PerlJam yeah, but that's the difference between 2 and 90, with perl we're only going from 5 to 6. ;) 19:26
Su-Shee someone can surely construct some prove that the distance between 5 and 6 is larger than between 2 and 90. ;) 19:28
aeh proof.
PerlJam (though the fortran77 version would have looked remarkably like the fortran II version)
moritz_ Su-Shee: I'm sure masak could... just take a look at the yapsi release announcements... :-)
masak oh, piece of cake. :P 19:29
19:29 plobsing left, jjore_ is now known as jjore
Su-Shee see? easily done. ;) 19:29
19:31 am0c left 19:32 plobsing joined 19:46 GinoMan_ joined 19:47 GinoMan_ left 19:48 cogno joined
masak moritz_: is there a known temporary workaround for the handles-typeobject-and-.new problem? 19:49
something like explicitly declaring a method .new in that class?
Maksim_ are there any other good references on perl6 other than using perl6 pdf? 19:50
PerlJam Maksim_: perl6advent.wordpress.com 19:51
dalek ecs: 7d7fdaf | diakopter++ | S09-data.pod:
remove mentions of particular run-time systems from S09
PerlJam Maksim_: perlgeek.de/blog-en/perl-6/ too 19:53
Maksim_: See perl6.org/documentation/
Maksim_ thanks, it nice to see that few nice titles are in progress now (learning perl6 ,programming perl6) hopefully we will see a complete nice references for perl6 soon. 19:57
Su-Shee *hihi* who made the cheatsheet? :) 19:58
dalek ecs: 606dba7 | diakopter++ | S19-commandline.pod:
clarify implementation-specific sounding/implying examples in S19 with another example.
20:01
20:02 glow joined
TimToady Su-Shee: that depends on whether you liked it or not... :) 20:03
dalek ecs: 3442396 | diakopter++ | S06-routines.pod:
remove (implementation-specific) fossil from S06
Su-Shee TimToady: well I've just tried wether or not the space left (which looked deliberately..) makes an image of a camel or butterfly or something.. :) 20:05
TimToady it's not that demented :)
Su-Shee I _love_ well done cheatsheets and short references.
TimToady though I do see a fossil
Su-Shee well it might have been a rakudo rohrschach test.. :) 20:06
TimToady
.oO(she still hasn't said whether she thinks this is well done... :)
Su-Shee very well.
diakopter there's a mention of pugs in S17:514, "Numify to TIDs (as in pugs)", but I don't get it, nor do I know whether that Syn is canonized yet
TimToady in that case, I did it :)
Su-Shee how complete is it? (besides all the basic/core methods/functions which probably can go on the backside of the sheet I'm going to print this..) 20:09
dalek : 3984b63 | larry++ | docs/Perl6/Cheatsheet/cheatsheet. (2 files):
s/slice/lol/ in cheatsheets

We change slice context to lol context (but other mention of slice subscripting is correct).
20:12
masak I have now backlogged over the last #phasers meeting. nice. I only have two general comments: (1) I, too, would like to see work being done on STD_P5. (2) I don't think we should base or choice of rakudo.org CMS on any country's censorship policies. 20:13
moritz_ masak: re workaround: yes, use a role 20:14
masak :) 20:15
20:15 cogno left
masak why don't I ever see the simple workarounds? :P 20:15
20:16 zby_home_ joined
moritz_ we could spec that handles + TypeObject only adds methods that the original class doesn't .^can 20:16
masak are you sure that's what we should do?
I saw you suggest it in the ticket, but...
moritz_ nope, not sure at all
it seems convenient, and easy to implement
that's all
dalek ast: d6f41fb | moritz++ | S03-operators/so.t:
test for RT #78788
20:17
masak ...seems to me it adds a new "layer" of semantics to C<handles>.
20:17 zby_home_ left
TimToady Su-Shee: if it were complete, we wouldn't need the synopses :P 20:17
20:17 cogno joined
masak rakudo: class A { has @.foo handles <push>; method push(*@) { say "OH HAI" } }; given A.new { .push(42); say .foo.perl } 20:18
p6eval rakudo de98d1: OUTPUT«===SORRY!===␤A method named 'push' already exists in class 'A'. It may have been supplied by a role.␤» 20:19
masak hm.
moritz_ rakudo: class A { has @!a handles Array }; A.new
p6eval rakudo de98d1: OUTPUT«===SORRY!===␤A method named 'new' already exists in class 'A'. It may have been supplied by a role.␤»
masak I'd have thought explicitly provided methods would just override those in C<handles> declarations.
moritz_ huh.
why? are they second class? 20:20
PerlJam Seems like carping is the right move there.
masak moritz_: I don't know for sure. when matching is done by a regex they sure are.
as for type objects. 20:21
when they're explicitly given like in my example, maybe it makes sense to complain at compile time. 20:22
PerlJam Would you expect a method name given in C<handles> to override a method of the same name from a parent class?
masak I think so, yes. 20:23
PerlJam me too.
masak which is why I don't automatically like moritz_' suggestion.
moritz_ doesn't like it either
masak good, so now we know no-one likes it :)
preferably, I'd like for the original problem not to exist in the first place. 20:24
failing that, I'd like for it to go away silently, in a way that surprises the programmer as little as possible :)
moritz_ well, I don't see how it can fail to exist in the first place
PerlJam moritz_: very conservatively disallow handles TypeObj entirely. :) 20:25
20:25 wamba left
masak I think we need to step back and ask the fundamental question: *why* is this a corner case that we didn't expect? 20:25
moritz_ currently Rakudo behaves differently than I remembered, but the conceptual problem is still there, methinks
masak PerlJam: that's certainly one solution.
20:25 Maksim_ left
moritz_ masak: because it runs before an instance is created 20:26
masak huh? of course it does. all class init code runs before the first instance is created.
moritz_ but delegation requires an instance
only instances have attributes to which you can delegate 20:27
masak oh, I see now what you mean.
yeah, no, that's not fundamental enough :)
I'm talking about our surprise at finding that .new shows up through the C<handle>d Array object.
it's the want-two-things-to-be-true-at-once scenario. 20:28
moritz_ I guess the reason is that nobody reall thought this case through
20:28 coldhead joined
masak right. 20:28
moritz_ or nobody has implemented it before :-)
PerlJam or both
masak PerlJam's solution is one of three possible that I see: (1) disallow 'handles TypeObj', (2) remove .new and similar methods, (3) do something smart to resolve things. 20:29
the first sounds like a sad option. the second is unthinkable.
and I'm not sure the third works. :)
Tene Looking at my assumptions, I assumed that they were the "same" &new, so it shouldn't have mattered. 20:30
PerlJam Tene: but they may not be.
moritz_ Tene: tha fails as soon as either the class or the attribute have a custom .new
masak even if they are, they're called on different objects.
Tene Alternately, some sort of expectation that new is only for classes, not instances, although that's actually false in Perl 6.
moritz_: the question wasn't why it shouldn't fail, but why we didn't *expect* it to not fail. 20:31
pmichaud ETOOMANYNOTS
moritz_ well, it might make sense to generally only install delegated methods in instances, not classes
Tene You're completely right. That's still what I would have expected unless I looked at it closely.
moritz_ Tene: because we didn't think it through thorougly.
Tene: so that question is answered... can we now move on to the interesting questions? 20:32
PerlJam moritz_: +1 I like that
masak moritz_: I like that. "only delegate in instances
"
PerlJam it's very much like a role applied via C<but>
Tene rakudo: class A { method foo { say "lol" } }; my $a = A.new(); my $b = $a.new(); $b.foo; 20:34
p6eval rakudo 244d0f: OUTPUT«lol␤»
20:34 ggoebel left
Tene .new() is prefectly valid on instances, and it would be a pretty significant change to P6 OO if we changed that. 20:35
20:35 snearch joined
moritz_ I'm only talking about delegation 20:35
'has $!a handles Foo' would only install those methods from Foo that you can call on an instance (or on both instance and type objects), and only install it into instances 20:36
20:36 coldhead left, coldhead joined
PerlJam Tene's point is that the impetus problem still exists I think. We'll still have this problem with .new() 20:37
20:37 cogno left
Tene moritz_: you can call .new on instances... 20:37
moritz_ Tene: if the class supports that, yes
Tene moritz_: Perl 6 doesn't have methods that you can't call on instances.
moritz_ it's supported by default, but it's not a must
20:38 plainhao left 20:39 ggoebel joined
moritz_ other possible (but not very good) solutions: 20:39
* special-case .new
* require the user to special-case .new
* don't install methods from any(Cool, Any, Mu)
masak ...which is the same as saying "special-case Cool, Any and Mu" 20:40
Tene Don't install methods that are present in common ancestors, whether or not they've been overridden?
masak Tene: but that goes counter to how C<handles> usually works!
PerlJam So ... what's the use-case for "handles ClassName" ?
or, why not restrict it to "handles RoleName"? 20:41
masak PerlJam: I actually wanted to do 'handles Array' the other day.
PerlJam: it's Array that has pull, push et al. not Positional.
moritz_ still thinks that inheriting from Array would be a solution 20:42
PerlJam indeed.
moritz_ rakudo: class A is Cool { has @!a handles Positional }; A.new.push(<foo bar>); say A.perl
p6eval rakudo 244d0f: OUTPUT«Method 'push' not found for invocant of class 'A'␤ in main program body at line 22:/tmp/9bCP8eyeVA␤»
masak for whatever reason, I didn't even consider subclassing in that case. my class was an AST node in Yapsi. 20:43
that doesn't feel to me like a kind of Array.
moritz_ why not?
it's a tree node, right?
and a tree has children
so it is a container
masak yes, but... 20:44
moritz_ in fact, PAST nodes are captures (so they are both array and hash), iirc
20:45 kst left
masak in PGE, everything is a Match, which are just generic array-hash objects. it mostly felt like a way to say "we want lots of flexibility, so let's make everything an array-hash". 20:45
it made the inheritance hierarchy pretty wonky. something that nqp-rx later fixed.
moritz_ 'has @!a handles Array' is basically like inheritance, but without the good parts (like C3) 20:46
masak I fear making FUTURE::Node inherit from Array will be the first step of making that hierarchy wonky, too.
moritz_ right, by introducing cursors that aren't Match
masak right.
20:46 kst joined
masak and making those cursors do things that grammars peviously did. 20:46
moritz_ ok, let's approach this from a different angle 20:47
masak making the whole design clearer and easier to work with.
moritz_ what would be the technical advantage of faking the inheritance through handles?
masak I dunno. my PAST nodes wouldn't smartmatch on Array... :) 20:48
and I don't see it as "faking the inheritance". that feels like framing a good technique a bit negatively. 20:51
I'm saying "this attribute here will handle all the Array-ish messages".
moritz_ masak: I have the feeling that there's not really anything to be gained here. handling a class is just like inheritance except (1) it is hidden from the type system and (2) is actually like multiple inheritance, because your class still inherits from Any (or whatever else) and (3) flattens the method hierarchy
PerlJam masak: seems an apt description to me.
moritz_ actually ... 20:52
have you heard of structural types?
masak moritz_: I'm neither praising the practice nor condemning it. it was just what came to mind when I wanted it. and it seems to have uncovered an interesting cor
moritz_ where relations between types are not declared, but infered from behaviour
20:52 plobsing left
masak ...corner case :) 20:52
moritz_: no, that doesn't sound immediately familiar. 20:53
pmurias structural types are duck typing when used in a dynamic setting
masak sounds a bit like browser sniffing.
moritz_ so it seems that 'handles Foo' is like inheritance in structural types
pmurias masak: browser sniffing? 20:54
browser sniffing is more like nominal typing
masak ok :)
there's a practice recommended instead of browser sniffing, where you check for the presence of the functions you want to use. I don't remember if it has a name.
"feature detection", maybe. it sounds like that. 20:55
flussence that's the one
moritz_ introspection. 20:57
(didn't we talk about that the other day? :-)
flussence (perl6 feels a lot like writing webpage stuff... but without the IE6 part)
PerlJam Here's the relevant section from the Moose docs on delegation: gist.github.com/766993 20:58
They use special-casing 20:59
TimToady I think delegation should never delegate to submethods, and .new should be considered an honorary submethod for this purpose
moritz_ so... this begin an "honorary submethod"... how is that determined? by name? 21:01
PerlJam TimToady: any thoughts on class A { multi method foo { } }; class B { has $!.blah handles A; method foo { } } # ??
TimToady the other alternative is to require new to be declared as a submethod
moritz_ that sounds wrongish 21:02
TimToady to the extent that new has sekrit knowledge of the current object, it ought to be a submethod 21:03
delegation certainly breaks that
moritz_ doesn't follow, re sekrit knowledge
TimToady submethods have to know the internals of the current class instance, hence cannot be inherited 21:05
21:05 pmurias left
TimToady new is behaving like that with respect to the delegating object 21:05
21:06 REPLeffect joined, coldhead left
TimToady delegation supersedes the sekrit knowledge, it doesn't augment it 21:06
moritz_ I see what you mean 21:09
PerlJam TimToady: so you'd special-case .new for delegation? Without some declarational stuff that says "don't delegate to this method"?
TimToady I'd make new default that way 21:11
21:12 coldhead joined 21:13 pmurias joined
TimToady but the explicit mark might be :U or :_ 21:13
(on the invocant)
[Coke] :P 21:14
PerlJam Hmm.
TimToady re your example, I think an explicit method declaration should override a delegation 21:15
PerlJam TimToady: irrespective of multi-ness? 21:16
TimToady you didn't put multi on the override
another way forward is to think about delegation as something that happens outside the current object's ISA, so it would pick the object's new or the delegate's 21:18
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet
TimToady at least for generic type-based delegations
presumably an explicit handles <new> would still bring it in
so handles Array might only be search for methods that aren't any where in self's ancestry 21:19
this is perhaps a safer default than treating delegated wild methods as part of the current class 21:20
PerlJam TimToady: So, had the override been multi, would the delegate simply have been added to the list of methods for dispatch (assuming there were no conflicts)
?
TimToady well, that depends on which model we choose
if the delegate is inside the proto or outside of it, it changes things 21:21
PerlJam right. I'm thinking outside makes the most sense.
TimToady if outside, then you can really only delegate to a different proto
I really think it'll be a nightmare to try to get a proto to manage pseudo-inheritance across delegation 21:22
so I think we shouldn't delegate to multis, only to protos
masak does Mu.new really have sekkrit knowledge? seems to me it just does a bit of introspection.
PerlJam (and thus we get an error)
masak takes an early night
TimToady if it doesn't do enough introspection to emulate Mu.new, then it is defective for general use
masak 'night, zebras!
TimToady o/ 21:23
PerlJam masak: g'night!
moritz_ \o
21:23 masak left, spq1 left
PerlJam TimToady: so ... If I've defined my own .new on class C, how do I tell Perl not to delegate to it when someone does has $!foo handles C; #?? 21:24
TimToady but I'm wondering whether wildcard delegation (including to a type) should probably be handled as a failover when normal dispatch fails
your own new is inside of Mu, the delegate's new is outside of it 21:25
so it picks yours instead of the delegate's 21:26
that works even if your new is the one from Mu
sorear good * #perl6 21:27
TimToady if you want the tighter semantics we have now, you should probably be using a mixin instead
moritz_ wfm
TimToady sorear: hi
PerlJam I'm not sure I understand all of the implications here, but I like the way things are fitting together :)
TimToady it's just another example of trying to hang things off the right peg instead of the wrong one :) 21:28
I don't profess to understand all the implications either; that's why we're prototyping all this to see how it works
but wildcard as failover feels righter 21:29
and it's a bit like the reformulation of CANDO on lexical scopes, which is also a failover now
mixins and eval are very similar in their escape-hatchness wrt name visibility 21:31
21:31 plobsing joined
TimToady a mixin can "eval" a new object on the end of an inheritance chain much like eval can add a new lexical scope to the lexical chain 21:31
TimToady is now thinking about the concept of using generic blocks for eval that don't have to be reparsed... 21:33
pmurias sorear: hi 21:38
21:42 meteorjay left, M_o_C left
sorear pmurias: pong 21:44
PerlJam TimToady: to prevent failover would I just provide my own most-generic method that just fails? 21:45
TimToady sure 21:46
PerlJam Still trying to think of problems but not coming up with any :)
sorear synced. 21:55
tadzik oh, btw 22:05
about #80982, I have a patch to review/look at 22:06
wklej.org/id/450996/
moritz_ looks fine 22:07
moritz_ compiles and spectests
tadzik it passes for me. Shall I format-patch it?
well, it passed when I wrote it few weeks ago, so I'd check again
moritz_ no need 22:08
tadzik only the error message turns about to be a bit LTA
> 0123
Leading 0 does not indicate octal in Perl 6; please use leading 0o if you mean that at line 1, near "\n"
I mean, 'near "\n"'
moritz_ that's a general problem with the grammar atm
std: 01.3e3 22:09
p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
sorear pmurias: ? 22:10
22:11 meteorjay joined 22:12 learning_perl6 joined
tadzik moritz_: looks like t/spec/S02-literals/string-interpolation.rakudo does not pass anymore 22:13
for it's panic, not worry (line 10)
learning_perl6 hi--I'm new to perl6, I was wondering if there's a way to dump out variables such that they can be read into a perl5 program 22:14
tadzik so that'd have to be TODO until we have .worry
dalek ecs: 75b4fff | larry++ | S12-objects.pod:
Defer wildcard delegation to dispatch failover

Wildcard delegation should not be used for methods that are in the object's own ancestry (especially .new). Use explicit delegation or mixins to acquire such methods.
ecs: af947e9 | larry++ | S (3 files):
Merge branch 'master' of github.com:perl6/specs
TimToady hmm, not sure if that was the right thing...
tadzik moritz_: anyway, patch sent to RT 22:15
learning_perl6 is anyone able to help? I tried print %obj.perl; but Mu and array notation, () instead of [], seems incompatible -_- 22:18
sorear pmurias: I have issues with your last changeset
tadzik learning_perl6: I'm afraid you'll have to write a module for that
or rather: you have an exciting opportunity, go for it! 22:19
learning_perl6 heh, I was thinking of doing that--the main thing I couldn't find was how to determine the type of a variable
ie. scalar vs. array. vs. hash
with that it should be doable
sorear if $value ~~ Hash { ... }
learning_perl6 ah ok 22:20
thanks!
tadzik or $val.WHAT
moritz_ tadzik: that should only be used for debugging
tadzik oh, ok
moritz_ it ignores subclassing
tadzik moritz_: should I mark those octal tests as TODO due to lack of worry?
learning_perl6 got it--thanks and goodbye
22:20 learning_perl6 left 22:21 dju_ is now known as dju
moritz_ tadzik: yep 22:21
tadzik moritz_: wklej.org/id/451011/ is that how it should look? 22:24
dalek ecs: 9642ed9 | larry++ | S0 (2 files):
apply val() semantics to <...> and MAIN

Define a new dwimmer that is appropriate for use in situations where users are forced to enter text that might actually mean numbers or enums.
22:25
tadzik is t/spec/S06-multi/syntax.rakudo known to have a failing test?
22:25 Chillance left
moritz_ tadzik: looks fine here 22:28
tadzik also 4 tests in t/spec/S14-roles/parameterized-type.t
weird 22:29
moritz_: should I push the roast changes?
moritz_ I now had "no subtests run" in two S32-temporal
tadzik: what exactly are you changing? 22:30
ah, Date.t uses a leading 0
22:30 kaare_ left
moritz_ as well as calendar.t 22:30
tadzik moritz_: wklej.org/id/451011/ 22:31
ouch
moritz_ ... and your spectest passed?
tadzik no, I'm still reporting errors. Not sure how many of 'em are new 22:32
t/spec/S32-scalar/defined.t failed 10
and Date.t as you said, yes
so maybe the ticket itself is not that good idea?
moritz_ well, it should only warn 22:33
tadzik but as the Date example shows, it'd be quite annoying in everyday usage
moritz_ I wonder if we should implement <.worry> simply as a printing to STDERR
tadzik I tried
wklej.org/id/451017/ 22:34
gives very interesting issues )
:)
or maybe not 22:36
hrm
TimToady STD does duplicate suppression, and allows #OK pattern as well 22:38
tadzik std: 0123 22:39
p6eval std 625303c: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that at /tmp/90KlYyKGFN line 1:␤------> 0123⏏<EOL>␤ok 00:01 118m␤»
TimToady std: 0123 #OK octal
p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
tadzik a-ha
TimToady std: 0123 #OK Leading 0 22:40
p6eval std 625303c: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that at /tmp/Rx_Dm8cstQ line 1:␤------> 0123⏏ #OK Leading 0␤ok 00:01 118m␤»
TimToady std: 0123 #OK Leading
p6eval std 625303c: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that at /tmp/xQiz7kkmrL line 1:␤------> 0123⏏ #OK Leading␤ok 00:01 118m␤»
TimToady std: 0123 #OK leading
p6eval std 625303c: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that at /tmp/zwpjuwvKW3 line 1:␤------> 0123⏏ #OK leading␤ok 00:01 118m␤» 22:41
TimToady hmm
std: 0123 #OK 0
p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
tadzik moritz_: wklej.org/id/451025/ shoudn't it work ok?
TimToady std: 0123 #OKLeading 22:43
p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
TimToady oopsie, kinda
sorear TimToady: how does that interact with compiler i18n? 22:47
22:50 felliott left 22:51 MayDaniel joined
sorear niecza: my %foo = a => 1, b => 2; say ~%foo<b a> 22:52
p6eval niecza v1-83-g516fcee: OUTPUT«Parcel()<instance>␤»
sorear niecza: my %foo = a => 1, b => 2; say ~[ %foo<b a> ]
moritz_ tadzik: where is worry definedß
p6eval niecza v1-83-g516fcee: OUTPUT«2 1␤»
moritz_ s/ß/?/
tadzik moritz_: wklej.org/id/451017/
maybe it's bad that it doesn't return anything 22:53
diakopter TimToady: I fixed psq to better allow void routines (no return slot created, stored, or accessed for the callsite)
moritz_ tadzik: I guess it needs to return something to indicate that it matched 0 characters
tadzik yay works! 22:54
pmurias sorear: pong 22:56
sorear: what's the problem with the last changeset?
moritz_ TimToady: regarding your latest change, does ('1' but 1) ~~ Int? 22:57
TimToady it's supposed to, though rakudo doesn't yet
22:57 felliott joined
TimToady that's the intent, otherwise multi dispatch won't 22:57
dalek ecza: ee1c32e | pmurias++ | src/NAMWriter.pm:
add missing file
tadzik github.com/perl6/nqp-rx/issues/issue/11 filed 22:58
TimToady sorear: I think #OK only takes English, but an i18n should still have access to the English text, and should arguably be displaying both English and native anyway 23:00
(presuming they might want to ask for help outside their language group)
or we can match on some kind of message id in that case 23:01
but for many of these systems, the English message *is* the id 23:02
23:03 felliott left 23:13 icwiener left 23:16 kulp joined, kulp left, kulp joined
TimToady nap & # resting up for long drive tomorrow 23:20
23:26 felliott joined
dalek ecza: 4365d61 | sorear++ | Niecza.proj:
Use wildcart dependencies in build system
23:27
23:27 f00li5h left
lue hello fellow zebras and CONGRATULATIONS to David Tennant o/ 23:32
23:40 shi joined 23:43 MayDaniel left
sorear moritz_: seems to me like p6eval row ids might work better in an order domain where every interval can be subdivided infinitely 23:44
pmurias: do you mind if I impose my whitespace style on everything? 23:49
diakopter p6eval row ids? 23:51
sorear ilbot, sorry. 23:52
diakopter oh
23:53 cdarroch left
pmurias sorear: no 23:53
feel free to even use perltidy if you want ;) 23:54
23:58 roen left