»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:00 rurban1 joined 00:04 rurban1 left 00:18 cognominal__ joined 00:21 cognominal left 00:27 rafl joined 00:32 rafl left 00:34 rafl joined, tgt left 00:38 rurban1 joined
[Coke] waves from post-thanksgiving food coma. 00:40
00:45 rafl left, rafl joined 00:47 rurban1 left 00:49 prevost joined 00:52 rafl left 00:53 rafl joined 01:00 hypolin joined, hypolin left
colomon is watching end of MST3K marathon 01:15
01:16 jnap left 01:32 fridim__ joined 01:41 jnap joined 01:45 araujo left 01:48 rurban1 joined 01:50 araujo joined 01:53 rurban1 left, araujo left 01:54 araujo joined 02:06 raydiak left 02:11 raydiak joined 02:39 BenGoldberg joined 02:52 prevost left 03:11 colomon left 03:13 colomon joined 03:16 rurban1 joined 03:44 benabik left 03:55 Maddingu1 joined 03:57 Maddingue left 04:07 gfldex joined 04:08 aindilis left 04:09 aindilis joined 04:15 colomon left 04:16 colomon joined
cxreg so regarding concurrency, is it the plan to take the heretical "what we did on jvm" and make that the official spec? 04:21
04:27 woosley left 04:28 woosley joined
TimToady it already is 04:33
and I've already installed at least one rosettacode entrie that relies on it :)
'entrie' sound tres chic 04:34
04:35 fridim__ left
TimToady cxreg: see rosettacode.org/wiki/Metered_concurrency#Perl_6 04:36
cxreg neat. TimToady++
i really like the look of the whole thing. 04:37
jnthn++
TimToady dining philosophers is a bit more...problematic...
cxreg it's like the good parts of node.js without the horrible parts
now, we just need a complement of useful libraries. to the batcave!
we have deadlocking issues? 04:39
TimToady depends on which primitives you use, and how you use them :)
cxreg ok, fair enough 04:40
enuf rope and such
TimToady but D.P. is specifically designed to be difficult
TimToady is thinking of solving it by making whoever just finished dinner grab the single large lollipop, which takes two hands to hold, and keeps you from getting hungry again until someone else grabs it :) 04:41
04:42 jnap left
TimToady but we don't have forks or lollipops as primitives; philosophers can easily be started, however :) 04:43
cxreg nci for rakudo on jvm is still zavolaj right? 04:46
TimToady suspects his lollipop solution is equivalent to using a "waiter"
it's still in the works, as I understand it
cxreg Waiter Model > Actor Model? :)
TimToady using a metaphorical waiter who refuses to serve a philosopher that might cause deadlock 04:47
other solutions are of the form, make some subset of the philosophers left-handed 04:48
or introduce a retry on failure to get both forks 04:49
TimToady suspects the Pike solution can still deadlock, if we take its description at face value: this solution avoids deadlocks by adding a 20% chance that a philosopher drops the fork if he can't pick up both. 04:51
seems quite likely that all five philosophers would choose the 80% chance 04:53
rosettacode.org/wiki/Dining_philosophers is the entry in question, btw 04:54
04:57 preflex_ joined, ChanServ sets mode: +v preflex_ 04:58 preflex left, preflex_ is now known as preflex
lue
.oO(This situation is easily avoided by reminding the waitstaff that everyone requires two forks and really it would be simpler to just have 10 forks right there.)
05:03
Is there no Perl 6 way for rosettacode.org/wiki/Mutex yet, or has our resident RosettaCode writer TimToady just not gotten to it yet? :) 05:08
05:08 rurban1 left
TimToady we have more than one such writer 05:15
in a sense, a Mutex is just a degenerate case of the Semaphore we already used 05:16
05:23 [Sno] left
TimToady but S17 does define locks, which are essentially Mutexes 05:27
05:39 BenGoldberg left 05:40 BenGoldberg joined 06:02 berekuk joined 06:06 xenoterracide left 06:11 ssutch joined 06:25 kaleem joined 06:29 [Sno] joined
cxreg traits on jvm seem to cause an infinite stream of java.lang.NullPointerException 06:29
roles, that is
06:38 berekuk left
Woodi o/ today :) 06:39
I think philosophers should be gentle enough to just ask each other if they need something :) 06:42
but probably circular structures always will have some specific problems... probably hierarchical work distribution can help for teams. but if we have GC subsystem we can have transactional subsystem and others probably too... 06:45
ETOMANYPROBABILITY... 06:46
about naming things: there is (probably) forgotten naming scheme used by OSI for their famous OSI network framework - tree like: root have no label, lvl1 nedes are [a-z]/, lvl2 is 100, 200, later in each branch recomendations have numbers 105, 115, etc 06:51
06:56 SamuraiJack_ joined
Woodi moust known example is branch 'X' with mail system recomendation X.400 used by some rich folks :) and X.500 - "The Directory": ambitious one directory for all and everything: DNS, employers list, configurations. LDAP is TCP/IP descendant of it. and our public key infrastructure is just X.509 recomendation :) 06:56
maybe it can help somehow... 06:57
07:01 xenoterracide joined, xinming left 07:02 xinming joined
raydiak preflex: tell moritz [email@hidden.address] is ready to receive mail, now 07:06
preflex Consider it noted.
07:10 rurban1 joined 07:13 darutoko joined 07:14 kaleem left, rurban1 left 07:17 BenGoldberg left 07:28 rindolf joined, rindolf left 07:37 nnunley_ joined 07:41 nnunley left 07:45 dmol joined 07:58 dakkar joined
TimToady by the way, IO on jvm seems to have a lock that hangs if you try to print stuff from multiple threads 08:08
mathw Oh. Well that's fun.
TimToady worked around by setting up a channel for output...
moritz raydiak: invitation sent. 08:09
preflex moritz: you have 1 new message. '/msg preflex messages' to read it.
08:10 xinming left 08:11 xinming joined 08:13 nnunley_ left
TimToady rosettacode.org/wiki/Dining_philosophers#Perl_6 08:19
hoelzro TimToady++ # Perl 6 examples 08:20
08:33 kaleem joined, Rotwang joined 08:37 Rotwang left
jnthn TimToady: How'da thought that you can fix concurrency problems using a concurrency control mechanism ;) 08:49
TimToady: Please file a ticket on the IO lock bug, though. It should not hang.
TimToady: In fact, there's already code in there that's meant to make it safe. 08:50
So something's up with it
08:53 fhelmberger joined
TimToady just for lue++ rosettacode.org/wiki/Mutex#Perl_6 08:58
09:02 Maddingu1 is now known as Maddingue
jnthn Short code is short :) 09:02
09:19 kst` joined
mathw I like that a lot 09:20
Good, comprehensible terminology. 09:21
moritz j: Lock.new.protect: { say 42 }
camelia rakudo-jvm e5fd34: OUTPUT«42␤»
09:21 Ulti_ joined 09:22 retupmoc1 joined, japhb__ joined
mathw Unfortunately after that glimpse of joy, and a couple of happy hours writing Clojure yesterday, I now have to return to wrangling SQL Server Reporting Services, for which I do at least actually get paid... 09:24
09:25 cooper- joined 09:26 noxgirl joined, gfldex left, Alina-malina left, djanatyn left, felher left, roboticus left, markov left 09:27 autumn left, retupmoca left, Alina-malina joined, cooper- is now known as cooper, cooper left, cooper joined
moritz mathw: it sounds like you should really find another job :-) 09:27
09:28 gfldex joined
mathw moritz: I've got recruiters queuing up. Unfortunately it's all .NET stuff. 09:28
09:33 djanatyn joined, felher joined 09:34 roboticus joined 09:35 markov joined, cxreg joined
nwc10 mathw: where in the world are you? 09:50
09:51 FROGGS[mobile] left, FROGGS left
mathw nwc10: Nottingham, England 09:52
nwc10 ah OK. I'm aware of everyone trying to recruit for Perl jobs in London 09:53
mathw There are many interesting jobs I could go for in London
Unfortunately that does involve moving to London
lizmat TimToady: Lock.new.protect: { your-ad-here() } would be shorter
nwc10 it seems that there is a #nottingham.pm over on irc.perl.org, but I presume that you're aware of that and have asked them 09:54
lizmat and I also wonder whether that couldn't be optimized to a special, disposable/reusable lock
mathw lizmat: if nobody else can see the lock, is it worth having?
nwc10: yeah I know them
lizmat in a single threaded program, it could become a noop 09:55
mathw nwc10: my job's still better than most of theirs
working for a university does have its perks
nwc10 clearly one of these London based firms with vacant seats needs to set up a Nottingham satellite office to solve this. 09:57
09:59 grondilu joined 10:01 rurban1 joined
grondilu TimToady: about rosettacode.org/wiki/Dining_philosophers#Perl_6. Why not 'class Fork is Lock { method grab($who, $which) { remark "$who grabbing $which fork"; self.lock }' instead of 'class Fork { has $!lock = Lock.new }' ? 10:01
in a nutshell, inheritence seems more appropriate than encapsulation, here. 10:02
lizmat commute to LPW continues& 10:03
10:03 lizmat left, woolfy left
mathw nwc10: well I'm hoping that the just-approved initiative to transform the IT department here is actually going to work. But then we'll still be a Microsoft dev shop. Hmm. 10:04
10:04 SevenWolf left
mathw wonders if he can make everyone fall in love with F#. Or at least start using C# effectively. 10:04
nwc10 or get working on the .NET backend for NQP? :-) 10:05
10:05 rurban1 left
masak antenoon, #perl6 10:06
moritz an, masak
masak grondilu: I don't see the significant advantage that inheritance confers in that situation. 10:07
10:07 woosley left
moritz is a Fork a Lock? 10:07
masak grondilu: seems to me you're only shuffling the pieces a bit, and then looking in admiration at 'self.' instead of '$!lock.'
moritz: with all respect, I think that's not the question to ask. 10:08
mathw nwc10: I'd then have to convince them of the value of Perl 6, which would be no easier.
masak moritz: because the answer to that depends on the model you choose, and that's what the discussion is all about.
moritz: grondilu proposes that a Fork be a Lock instead of haz a Lock. I'm not saying it's (esthetically or morally) *wrong* for it to be so, I'm just saying it's not significantly better AFAICS. 10:09
10:09 FROGGS joined
masak I tend to vastly prefer composition to inheritance. but in this case, I don't see the difference. 10:10
in fact, at some level or other, the inheritance will make a composition.
10:10 ssutch left
grondilu masak: the code is shorter 10:12
and conceptually simpler, imho
masak grondilu: and you say this, knowing full well about the recent move away from inheritance? :) 10:14
...not just in Perl 6 or Perl, but in the whole OO industry.
moritz masak: maybe the better question to ask is: do you ever want to pass a Fork object to a routine that expects a Lock?
grondilu masak: I did not know about it, actually. Good to know. 10:15
moritz maybe Lock should be a role :-)
masak moritz: yes, that is a better question to ask.
grondilu: let me see if I can find you a link. 10:16
grondilu Lock as a role would make sense, imho
masak grondilu: maybe start here? stackoverflow.com/questions/49002/p...nheritance
grondilu ok, thanks 10:17
10:18 kivutar joined 10:22 Ulti_ is now known as Ulti, grondilu_ joined 10:25 grondilu left 10:35 [particle]1 joined 10:39 xinming left 10:40 xinming joined
mathw the substition principle is the test I always use for inheritance. "Is it ever valid to pass a Subclass as a Superclass?" is a great question to ask when considering inheritance. 10:45
masak I can honestly not think of a situation where I need to pass in a Lock, and I go "hey, I have this Fork, let's pass that in!" 10:46
:P
mathw I'm not even sure what a Fork is
So I can't weigh in on that one
masak Fork as in Dining Philosophers...
mathw ah
hmmm
I suppose you *could*, but it's a bit of a conceptual twist
what you're really saying is that "This Fork has an internal Lock, I'll repurpose it", surely 10:47
masak again, it simply doesn't seem to confer any advantage over "a Fork haz a Lock".
mathw also with inheritance: it's far less necessary if you're in a language where you can apply 'class' or 'role' or 'interface' or somesuch to types that you're not defining yourself (i.e. Haskell typeclasses, Lisp multimethods...) 10:48
always find it a shame when I have an object in C# that conforms to an interface I want to be able to pass around, but because its class definition doesn't say that I'm stuffed. 10:49
moritz that's what golang does differently :-) 10:50
masak mathw: I guess... the Adapter pattern helps you out there, though? retroactively providing something with an interface? 10:52
mathw masak: yeah, but it's a cludge 10:58
like most patterns, it substitutes for something your language doesn't do
masak r: role Foo {}; class Foo {} # most definitely LTA error message -- via lizmat++
camelia rakudo-parrot e5fd34, rakudo-jvm e5fd34: OUTPUT«===SORRY!===␤No such method 'is_composed' for invocant of type 'Perl6::Metamodel::ParametricRoleGroupHOW'␤»
masak submits rakudobug
mathw and as a Haskell programmer, not being able to just define a new typeclass and make everything I need be an instance of it pains me 10:59
moritz oh, I think I know what's going on
because roles are multi, there's no redeclaration error
though there should be one, because the second defintion is not a role
mathw woops 11:00
I rather like that error message though, it's like C++.
jnthn I think it's actually detected that it's looking at a re-decl and is then trying to establish if the thing is a stub or not
Since is_composed is the way to detect that 11:01
But yeah, needs to check if the object *can* is_composed before actually calling it.
11:04 SamuraiJack_ left 11:05 SamuraiJack__ joined
jnthn I suspect Lock.new.protect(...) is completely useless. :) 11:12
masak yay
I mean, "HOORAY!". yellow5.com/pokey/archive/ 11:13
mathw jnthn: unless Lock.new.protect accesses, implicitly, the global interpreter lock
we've got a global interpreter lock, right? All the best languages have one, I heard...
masak mathw: wouldn't that be fun!
jnthn wtf is a GIL :P
mathw "A design decision you will later come to regret" 11:14
official definition
ask the OED
masak the OED has a *TLA* for "GIL"? :P 11:15
jnthn :) 11:22
11:25 kaleem left
moritz OED is "original equipment destroyer", right? :-) 11:31
11:40 SamuraiJack__ left 11:42 rindolf joined 12:09 tgt joined
Woodi I was trying to install nqp from R* 2013.11, backend moar, do I need to install it from somewhere or it is included in distribution tgz ? 12:25
12:26 grondilu_ left, grondilu joined 12:27 zakharyas joined
moritz Woodi: R* only supports the parrot backend at the moment. 12:28
Woodi: nqp's Configure.pl happens to support --gen-moar
(which will use git to fetch MoarVM) 12:29
Woodi ok, thanx 12:32
jnthn And note it doesnt' do anything useful yet :P 12:37
moritz well, it does lots of things that NQP on other backends does too 12:38
jnthn Oh, NQP on Moar is very capable, yes :) 12:39
I more meant Rakudo on Moar.
Woodi but R* should include m-clean Makefile target anyway :)
yes, I was hoping for some more Perl6 on moarvm :) 12:40
FROGGS Woodi: you need to wait a few hours/days :o) 12:41
moritz not for a R* on moar 12:42
FROGGS no, but for a perl6-m binary that can say "hello world"
R* will take some months to happen
Woodi probably I do not know much (or 0 or even negative amount) about cross-compilation or what it is to bring language to live but having precompiled parts (stage0) is not ideal for me... 12:43
FROGGS my guess is that it will be summer by then, but nobody can predict it
Woodi: why? 12:44
jnthn Woodi: It's not a cross-comp thing, it's a bootstrapping thing. 12:45
dalek kudo/moar-support: e0d6ad3 | (Tobias Leich)++ | tools/build/Makefile-Moar.in:
put correct libpath in perl6-m runner
Woodi I usually use C code to compile thing. I *think* that compiling gcc requires just C code in tarball...
jnthn Woodi: It also requires a C compiler :)
NQP is written in NQP, so we need an NQP compiler. That's what stage0 is. 12:46
Woodi yes, but gcc.tgz do not include it... so negative amount of knovledge ?
moritz Woodi: you can't compile gcc without a C compiler if the stage0 isn't included
FROGGS and stage0 is not platform dependant, so there is no problem with that
Woodi so how you make first nqp compiler ? that method should be distributed, IMO... 12:47
FROGGS if you already have an existing backend like parrot, and wanna spit out a stage0 for, say, moarvm, you build a cross compiler
jnthn Woodi: Once long ago the first NQP compiler was written in PIR 12:48
FROGGS this cross compiler goes away when nqp@moarvm can build itself
jnthn Just like the first C compiler was written in something non-C.
The reason gcc doesn't include a C compiler is 'cus your system already has one :)
FROGGS right, the very first version must be written by hand or another compiler 12:49
Woodi hmm, so you want to break with C, for good ? :)
I have C compiler I trust it. I want to go from this point tp Perl6 via source code... 12:50
FROGGS Woodi: what if there is nothing written in C, like for the JVM backend? 12:52
jnthn Woodi: Well, your stage1 and stage2 (which is installed) NQP aer built from source you can inspect. If you are really paranoid, you can trace the whole history back to the PIR version in version control, I guess. :)
FROGGS btw, if you dont trust nqp's stage0, then you don't trust nqp
moritz somebody did that with Haskell some time ago 12:53
Woodi you alway need to trust someone or something :) asm for first C, hardvare for asm...
moritz erm, GHC I mean
which is also a bootstrapped compiler
12:54 SamuraiJack__ joined
Woodi jnthn: I know it is possible to trace all the way to pir... but this way will be longer and longer and in case someone on the way hide something (even in few steps) then no one will want to do this (except excentric scientists or government) and trust for language will be lost... 12:56
the proprer way is shortest way from hardware... 12:58
how about other nqp implementations ? js for example ? it can bootstrap language on it's own ? 13:00
moritz if you really thing "the proprer way is shortest way from hardware", you should program direct in native executable formats, not in high-level languages
Woodi moritz: no, I should not :) thes days cpu are cheap, programmers are expensive :) 13:01
but to have decent preformance you still need to be clode to hw... 13:02
close*
jnthn Woodi: Yes, so stop expecting the very over-busy NQP programmers to maintain a second version of their system in something other than NQP.
:P
And yes, afaik JS version was getting towards being able to bootstrap too, if it didn't already get there. 13:03
FROGGS Woodi: I would not trust hardware btw, see hidden code in RNG or how easy it is to turn your mobile into something I can control (using the firmware of your boardband processor)
Woodi jnthn: I do installing all yours code, I trust you all. just wanting perfecter world :) 13:04
jnthn In a world where most people install their OS, browser, etc from bianries ratehr than building soruce, I really don't think we have to worry too much over people not wanting to use Perl 6 'cus it has a compiled stage0, like other bootstrapped langauges. :)
I the end, Windows folks will tend to grab an MSI, and others will use their favorite package manager...
*In 13:05
moritz and the hipsters will do a wget -O - upgrade.rakudo.me | bash
jercos nah man, hipsters use curl 13:06
moritz jercos: you're right, but I was too lazy to look up curl's command line syntax :-)
jercos oddly enough, curl defaults to STDOUT
:D
jnthn adds "know curl syntax" to list of things requierd to be a hipster 13:07
jercos *Linux hipster
Woodi FROGGS: I do not trust hardware :) I use it with a smile :)
FROGGS hehe
jercos presumably there are plenty of hipsters out there who don't know a command line from a nazi
jnthn Most likely they did nazi a comamnd line before... 13:08
...um, that pun is a stretch in text. :)
jnthn gets back to his teaching...
jercos anne frankly without the pun it's just offensive. 13:09
Woodi my belief is that at the END knowledge will be finished and everything will be known :) 13:10
moritz the other day I was in an ultra-hipster restaurant. It had compostable one-time cutlery made from starch flour plastic or so 13:13
nwc10 jnthn: I'm still suspicious that you need one of these, to properly view the callbacks: www.gizmag.com/kohjinsha-dual-scree...ale/13479/ 13:16
13:19 xenoterracide left
mathw oh, that's why I'd use curl instead of wget. Simpler syntax for stdout! 13:37
also more unixy
moritz also maintained 13:38
13:38 zakharyas left
FROGGS you don't need to maintain a software that just works :o) 13:38
moritz ... until it stops working. 13:39
FROGGS blasphemy!!
mathw hahaha 13:41
13:42 tgt left
raydiak wonders how much more creative he has to get with his nick until he stops running into sites where it's already taken :P 13:43
FROGGS :/ 13:45
moritz raydiak: man pwgen # :-)
FROGGS mine is always taken too
hehe
nwc10 there is only one schmorp :-)
mathw too many people online :( 13:46
raydiak hmmm...good point...several strategic EMPs might free up my name on wordpress.com... 13:47
FROGGS but please save the europeans :) 13:49
Woodi could we just stop making wars and do something usefull instead ? eg. [re]writing libraries of usefull code to cut down IT costs or something :) 13:52
usefull functions* of course :)
raydiak not interested in international conflict. just my username. :)
Woodi ok, I go google it now :) 13:53
dalek kudo/moar-support: d01d6dc | (Tobias Leich)++ | tools/build/gen-moar-runner.pl:
correctly create maor runner on windows
14:00
14:02 kaare_ joined 14:03 tgt joined 14:06 tgt left
raydiak I suppose it would have been more accurate to say "sickened beyond recourse"..."not interested" sounds terribly irreverent of human life when applied to international relations 14:06
14:07 prevost joined 14:13 PacoAir joined 14:15 c1sung_ left 14:16 fhelmberger_ joined 14:20 fhelmberger left, rurban1 joined, fhelmberger_ left 14:21 c1sung joined 14:23 [Sno] left 14:26 perl6 joined 14:27 perl6 left 14:33 c1sung left 14:34 langdon_ joined 14:36 xinming left
langdon_ perl6: Array[Array[Bool]].new($(Array[Bool].new)) 14:37
camelia rakudo-parrot e5fd34: OUTPUT«Type check failed in .new; expected 'Array[Bool]' but got 'Array[Bool]'␤ in block at gen/parrot/CORE.setting:8300␤ in method reify at gen/parrot/CORE.setting:7244␤ in method reify at gen/parrot/CORE.setting:7139␤ in method gimme at gen/parro…»
..rakudo-jvm e5fd34: OUTPUT«Type check failed in .new; expected 'Array[Bool]' but got 'Array[Bool]'␤ in block at gen/jvm/CORE.setting:8271␤ in block at gen/jvm/CORE.setting:7259␤ in block at gen/jvm/CORE.setting:7123␤ in method gimme at gen/jvm/CORE.setting:7541␤ in …»
..niecza v24-98-g473bd20: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at Builtins.InvokeSub (Niecza.P6any obj, Niecza.Variable[] pos) [0x00000] in <filename unknown>:0 ␤ at Niecza.Kernel.ToComposable (Niecza.ST…»
14:38 xinming joined 14:39 c1sung joined
mathw has anybody ever done print-format document generation and not gone insane? 14:39
14:41 SamuraiJack__ left
langdon_ expected 'Array[Bool]' but got 'Array[Bool]' 14:41
timotimo oh wow :/
14:41 tgt joined
timotimo that's ... unhelpful ... 14:42
langdon_ yep
timotimo the problem is that if you build $(...), it won't give a type annotation
perl6: my $test = $(Array[Bool].new); $test.push: 1; say $test;
camelia niecza v24-98-g473bd20: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at Builtins.InvokeSub (Niecza.P6any obj, Niecza.Variable[] pos) [0x00000] in <filename unknown>:0 ␤ at Niecza.Kernel.ToComposable (Niecza.ST…»
..rakudo-jvm e5fd34: OUTPUT«Type check failed in .push; expected 'Bool' but got 'Int'␤ in block at gen/jvm/CORE.setting:7634␤ in method push at gen/jvm/CORE.setting:7620␤ in block at /tmp/7WuvVcCQhL:1␤ in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤ in any evalfiles at…»
..rakudo-parrot e5fd34: OUTPUT«Type check failed in .push; expected 'Bool' but got 'Int'␤ in block at gen/parrot/CORE.setting:7663␤ in method push at gen/parrot/CORE.setting:7646␤ in method push at gen/parrot/CORE.setting:1562␤ in block at /tmp/7VnDjUKwOW:1␤ in any a…»
timotimo er ...
that seems to have flattened. 14:43
perl6: my @test = $(Array[Bool].new); @test.push: 1; say @test;
camelia rakudo-parrot e5fd34, rakudo-jvm e5fd34: OUTPUT« 1␤»
..niecza v24-98-g473bd20: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at Builtins.InvokeSub (Niecza.P6any obj, Niecza.Variable[] pos) [0x00000] in <filename unknown>:0 ␤ at Niecza.Kernel.ToComposable (Niecza.ST…»
timotimo there we go, that's better
so you see, just by making a list that has Array[Bool].new as its only item, it won't generate a container that says "only Array[Bool] may go in here!"
jnthn nwc10: I think that kind of laptop is standard issue for Node.js developers :P 14:51
14:54 ajr joined, ajr is now known as Guest84626, Guest84626 is now known as ajr_ 14:58 retupmoc1 is now known as retupmoca 15:03 benabik joined 15:20 prevost left
timotimo i wonder how long until it makes sense to build an optimisation to turn big if trees or simple given/whens into things like computed jumps 15:24
jercos the lack of case structures in perl 5 had me using a lot of calls to subs in hashes... which of course, brings a similar increase in speed, though perhaps not quite as potent. 15:26
nwc10 do profiling tools yet exist to identify hot spots? 15:27
timotimo they kind of do, but ... :\
as you can tell by my constant guessing instead of measuring for attempting optimisations, i can't make heads nor tails out of kcachegrind :( 15:28
nwc10 strikes me that part of the answer to your question is "once we can measure it"
timotimo that does indeed sound sensible
jercos 'twould perhaps be simpler if the language offered an explicit multiple choice statement, more caselike than if chains, but less smartmatchy than given/when. 15:29
timotimo the thing is, if you just put constants into the whens, it's essentially the same :) 15:30
15:30 kaleem joined
timotimo has an idea 15:30
when * < 20 { } is currently implemented as a call to a block 15:31
the optimizer doesn't inline it yet
TimToady jercos: that is precisely why the semantics of the switch are governed by the 'when', not the 'given' 15:34
jercos Indeed. 15:35
TimToady and it was the desire for that optimization that caused us to break the symmetry of the old smartmatch 15:36
Perl 4 actually did the jump optimization on switch-like structures, but I don't thing Perl 5 ever attempted it.
though the opcodes for it were in there for at least a while 15:37
timotimo jnthn: where do i find the code that decides wether or not to keep the ast of a block around for later in-lining? or something like that?
jnthn look for inline_info in setting 15:40
um
look for inline_info in actions
timotimo thanks :)
jnthn teaching done; time to go get the train :) 15:42
bbl
TimToady oh, I misread jercos++, who was speaking about Perl 5 in the first place, durr
o/
but Perl 5 is a language, and since we do talk about linguistics here, it's not off topic :) 15:43
timotimo that was a close one, we would almost have had to kick jercos out
15:45 nnunley joined 15:46 kaleem left
hoelzro is NativeCall able to handle foreign functions that require native callback yet? 15:47
tadzik at least in parrot, yes
hoelzro, hoelzro when are we playing l4d2?
hoelzro hmm 15:48
arnsholt hoelzro: Callbacks are supported
hoelzro there has been talk of l4d2 in my home lately
but no playing of it yet
tadzik: one of the coming weekends, I think ;)
tadzik hoelzro: steam id?
arnsholt We don't support invoking function pointers returned from native code yet, but the other way should work fine
hoelzro checks
tadzik there's apparently more of us on the channel :)
hoelzro ah yes 15:49
my steam id
is
hoelzro.
arnsholt: so do_this_after_a_second(void (*cb)(void *)) works
arnsholt If you need to be able to invoke function pointers returned from C, I think that should be relatively easy to fix too 15:50
hoelzro but not void (*)(void *) heres_something_to_pass_the_time(void)?
15:50 xinming left
hoelzro I just need the former 15:50
arnsholt Exactly
hoelzro if I ever get off my butt and work on this stuff =P
15:50 xinming joined
arnsholt Yeah, the latter is unimplemented because I didn't see a pressing need for it 15:50
timotimo hoelzro is apparently not publically findable
hoelzro hmm
arnsholt The other way around OTOH was kind of important =)
hoelzro I'll change that when I get home tonight!
timotimo :) 15:51
tadzik timotimo: it is for me
timotimo huh, weird
well, if you have him in your friends list, i can find him via you
15:55 xinming left, xinming joined 15:58 Psyche^_ joined 16:00 xinming left 16:01 xinming joined, Psyche^ left, araujo left 16:02 araujo joined 16:09 atroxaper joined 16:12 xinming left 16:13 xinming joined 16:24 FROGGS left 16:37 FROGGS joined
dalek kudo-star-daily: 6cb5be3 | coke++ | log/ (5 files):
today (automated commit)
16:37
kudo-star-daily: bf52277 | coke++ | log/ (5 files):
today (automated commit)
kudo-star-daily: c147794 | coke++ | log/ (5 files):
today (automated commit)
rl6-roast-data: c425356 | coke++ | / (3 files):
today (automated commit)
rl6-roast-data: bff7276 | coke++ | p (2 files):
today (automated commit)
timotimo wow, so many days today 16:39
16:42 stevan_ left 16:43 spider-mario joined 16:44 spider-mario left 16:47 c1sung left 16:53 spider-mario joined, c1sung joined
moritz p: say Date.today.comb(/\d+/).join.Int.is-prime 16:54
16:54 ajr_ left
camelia rakudo-parrot e5fd34: OUTPUT«No such method 'comb' for invocant of type 'Date'␤ in block at /tmp/12A4cFCpzW:1␤ in any at /tmp/12A4cFCpzW:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHLL.nqp:1133␤ in any evalfiles at gen/parrot…» 16:54
moritz p: say Date.today.Str.comb(/\d+/).join.Int.is-prime
camelia rakudo-parrot e5fd34: OUTPUT«True␤»
moritz p: say 29122013.is-prime
camelia rakudo-parrot e5fd34: OUTPUT«False␤»
16:55 ajr joined
moritz p: say 28122013.is-prime 16:55
camelia rakudo-parrot e5fd34: OUTPUT«True␤»
moritz p: say 12282013.is-prime
camelia rakudo-parrot e5fd34: OUTPUT«False␤»
16:55 ajr is now known as Guest44602, Guest44602 is now known as ajr_
moritz oh, it's not december yet :-) 16:56
p: say (11292013, 29112013, 20131129)>>.is-prime 16:57
camelia rakudo-parrot e5fd34: OUTPUT«False False True␤»
moritz p: say Date.today
camelia rakudo-parrot e5fd34: OUTPUT«2013-11-29␤»
moritz p: say Date.today.Str.comb(/\d+/).join.Int 16:58
camelia rakudo-parrot e5fd34: OUTPUT«20131129␤»
moritz p: say (112913, 291113, 20131129)>>.is-prime 17:00
camelia rakudo-parrot e5fd34: OUTPUT«True True True␤»
TimToady p: say 1129.is-prime, 2911.is-prime 17:02
camelia rakudo-parrot e5fd34: OUTPUT«TrueFalse␤»
17:10 bbkr left
retupmoca is github:supernovus in here? 17:32
timotimo what have i done wrong?! 17:34
oh, wait, i'm the wrong timo :)
FROGGS retupmoca: he was, ages ago
17:34 stevan_ joined 17:36 atroxaper left
retupmoca alright 17:37
just did a pull request, wanted to poke him about it
17:42 dakkar left 17:45 [Sno] joined 17:52 SamuraiJack__ joined 17:53 FROGGS[mobile] joined 17:58 ajr_ left, rurban1 left
timotimo if anyone here cares about good games, spelunky is currently 75% off on steam. unfortunately there's no linux or mac port 18:38
i'm hoping it'll get picked up by the humble bundle guys and ported to mac and linux in the process, but i have no evidence to support that hope at all 18:39
18:41 benabik left 18:53 lizmat joined
FROGGS my class Dummy { 18:54
our proto method AUTOGEN(::T $: |) { * }
}
wth is the $: there?
timotimo it's an anonymous invocant
FROGGS ahh
of course
timotimo are we even looking at the right line? 18:56
FROGGS seems so 18:57
I get the same msg when I just run that blok
block*
umm, stupid me
(it still stumbled in the setting, not my sript) 18:59
script*
jnthn :P 19:06
I'm pretty sure it's the lack of reposession stuff like I mentioned last night
nwc10 19:07
19:08 woolfy joined
FROGGS jnthn: if it works for you I'd like to merge hope into moarvm master 19:08
jnthn FROGGS: If...what works? :)
FROGGS hope :o) 19:09
TimToady wonders if he should have a commit bit to rakudo...
TimToady turned in a CLA about ten years ago... 19:10
jnthn
.oO( "Did you send in a CLA?" :D :D )
:P
TimToady: Then you can have one. :)
19:10 darutoko left
jnthn FROGGS: You...called a branch "hope"? :P 19:10
FROGGS yeah *g*
jnthn Will the next one be "glory"? :P 19:11
git checkout hope # ...
FROGGS since... I spent already four or five days with that thing a few months back, and now another one... so... that was its last chance to get fixed by me
I hope there are no such beasts anymore 19:12
jnthn is make installing
FROGGS jnthn: I fixed the runner in rakudo btw
nqp is left untouhed
jnthn yay
FROGGS untouched*
jnthn Should I try building NQP anyway?
FROGGS hmmm, would be nice, yeah
jnthn ok, set it off 19:13
Trying builds is easy thing to do on the train.
FROGGS can you remember if you had problems using the debugger last time I closed handles?
jnthn is surfing "med full fart!" again :)
FROGGS *g*
jnthn I don't think I had that problem... 19:14
FROGGS imagines jnthn++ sitting in a train with his laptop on his knees blowing in the wind...
k
I dont think there will be problems since std filehandles won't be closed, only common filehandles will 19:15
jnthn NQP build, Rakudo build is underway 19:16
FROGGS cool
I'll enjoy a Malzbier if that works out
jnthn I hope it won't Malzfunction, then... 19:17
FROGGS >.<
jnthn Reached CORE.setting
FROGGS damn, your machine is fast
jnthn And this is my slower one :P
FROGGS gah!
you still need to tune it :o) 19:18
lue TimToady: Is it just me, or does Mutex not have a Perl 6 section?
FROGGS no excuses!
jnthn Not by much, though...
TimToady it's just you :)
jnthn lue: Didn't for me at first, then I refrash and it was there...
Caching I guess.
lue Huh. Hitting F5 helped. So yeah, I blame caching.
FROGGS that is how the interwebs work :o) 19:20
19:20 SamuraiJack__ left
FROGGS if I comment out the curront blow-ups in the setting, I get: 19:20
Type check failed in bind; expected Callable but got Block
at src/vm/moar/Perl6/Ops.nqp:197 (blib/Perl6/Ops.moarvm:bind_error:42)
from src/gen/m-CORE.setting:701 (./CORE.setting.moarvm:frame_name_1647:6931)
dunno if that will be the next or if it is related 19:21
current*
jnthn It's related, I suspect
I mean, I can directly attribute a way that could happen to the lack of reposession too 19:22
FROGGS jnthn: btw, we'd need to either gc_free objects when panicking in moarvm or need to walk the handles explicitly to hide libuv's nice message when we crash
k
I don't care about that atm though 19:23
jnthn I don't see any problem with hope. 19:25
As in, I get to the same point as I did without it 19:27
FROGGS \o/
jnthn perl6-m.bat gives me a different error than before though
FROGGS O.op 19:28
-p
jnthn Ahl, it passes --lib-path as '.' 19:29
FROGGS you need to pull in rakudo then
woolfy It's dark in London. Tomorrow is LPW. I'm hungry. None of this is related to Perl 6.
TimToady how do you know? 19:30
FROGGS woolfy: there is no such thing as off topic :o)
woolfy Hehe...
TimToady OT is just one of those vagrancy laws we use to chase off people we don't like for other reasons... 19:31
19:31 nnunley left
FROGGS *g* 19:31
jnthn FROGGS: I did, ut should I reconfigure?
FROGGS I, I think so
jnthn: yes, you need 19:32
need to
because I patched the Makefile.in to pass the libpath
jnthn k
woolfy: I heard that London hsa food! 19:33
FROGGS wishes he was in scotland again :/
19:34 xinming left
jnthn I wishky I was too... 19:34
19:34 xinming joined, xenoterracide joined
moritz Land of my high endeavor, land of the shining river, land of my heart forever, Scotland the brave! 19:36
TimToady maybe each backend should have its own national anthem on STDIN
FROGGS where was moarvm founded? 19:37
moritz p: say for lines
camelia rakudo-parrot e5fd34: OUTPUT«␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤»
moritz ugh.
FROGGS :/
moritz .say for lines
TimToady yipes
moritz p: .say for lines
camelia rakudo-parrot e5fd34: OUTPUT«Stille Nacht! Heilige Nacht!␤Alles schläft; einsam wacht␤Nur das traute heilige Paar.␤Holder Knab im lockigten Haar,␤Schlafe in himmlischer Ruh!␤Schlafe in himmlischer Ruh!␤␤Stille Nacht! Heilige Nacht!␤Gottes Sohn! O wie lacht␤Lieb´ …»
moritz it should complain about say without arguments, no? :-)
TimToady hah
FROGGS lockigten
dalek albot: 80b9f0d | moritz++ | stdin:
typo, FROGGS++
19:38
moritz just copied and pasted it from somewhere
FROGGS eww 19:39
TimToady hmm, I learned it "Nur das traute hochheilige Paar"
moritz TimToady: that's the more common version, yes
FROGGS moritz: that might be even the original text an not a typo
I only can find this version 19:40
19:40 xinming left
moritz shrugs 19:40
19:40 xinming joined
colomon hoch is high? 19:40
FROGGS yes 19:41
TimToady ja
colomon moritz++ for changing the default text to something seasonal. 19:43
19:43 ssutch joined
woolfy It seems lizmat and diakopter are going to take care of my hunger. It seems the hunger will be killed by Indian food. Maybe some whisky too. 19:43
colomon whisky++
jnthn \o/ 19:44
lue
.oO(Aber es ist nicht noch Dezember, ja?)
moritz "ja ist denn heut' schon weihnachten?"
dalek albot: 42b3b4c | moritz++ | evalbot.pl:
another control command (because I am lazy)
19:45
19:45 stevan_ left
moritz evalbot control restart 19:45
19:46 camelia left, camelia joined
colomon lue: as far as I'm concerned it's open season for Christmas music as of today. Already listened to the new Bellowhead Christmas single about six times. (To be fair, half of that was "Play it again!" from my son.) 19:46
19:47 ChanServ sets mode: +v camelia
moritz also with small children you have to start a bit earlier, otherwise they don't have a chance to learn the lyrics :-) 19:47
19:47 benabik joined 19:48 kivutar left
lue colomon: Yeah, I was just pointing it out for fun, considering December's only a couple days away :) 19:48
colomon actually Henry requested Jingle Bells a month ago already. But he was satisfied listening to it three or four times in a row.
lizmat fwiw, all hotels / pubs / restaurants we've seen the past days, had christmas decorations or were in the process of putting them on 19:49
colomon we've got just enough snow here to make everything white, too.
jnthn My hotel in Stockholm decorated for it while I was there. 19:50
And today the fridge at the teaching place suddenly had jul must.
lizmat a must have, jul!
TimToady jnthn: sure, but that just means putting up some of those ⋀ lights in the window :) 19:51
woolfy oO(hunger will be vanquished) <- (diakopter is on way to our hotel) -> (ow, we must go downstairs now) -> bye
TimToady or has Sweden graduated to greater glories in the last decade?
lizmat dinner& 19:52
lue December's the time for building ☃ and watching that ☄ shower that happens every year abouts. 19:53
jnthn Well, it wsa mostly greenery and even more candles that I saw... :)
20:00 zakharyas joined
dalek kudo/moar-support: 95eae40 | (Tobias Leich)++ | tools/lib/NQP/Configure.pm:
fix --gen-moar=OPTION
20:04
FROGGS sorry TimToady, that was a stupid thinko of me :(
20:06 spider-mario left
dalek kudo/moar-support: eb24cea | (Tobias Leich)++ | Configure.pl:
respect --gen-nqp if it was passed
20:07
FROGGS .oO( already used the to be specced ¿¿ ¡¡ syntax ) 20:10
20:12 berekuk joined
TimToady ˙°O(¡sdoo) 20:14
lue FROGGS: what is that meant to do? :) 20:15
TimToady (¡sdoo)O°˙
FROGGS lue: see the fix and judge yourself :o) github.com/rakudo/rakudo/commit/95eae40ffd 20:16
jnthn There will be modules... :P
FROGGS with a single line in it, where other languages need hundreds :o) 20:17
lue FROGGS: I was referring to your ¿¿¡¡ comment 20:18
20:18 hummeleB1 joined
FROGGS lue: it is about the same, I mixed up the "if" and the "else" part... 20:19
like ¿¿¡¡ would do the opposite of ??!! 20:20
lue thinks again of why { do_stuff; } because ( $x ~~ False )
20:20 cognominal__ left
FROGGS why { $x + $y } because ( $y < 10 ) 20:21
"why { $x + $y }" does not feel right 20:22
why starts a question, but $x + $y is not part of it
do { $x + $y } because ( $y < 10 ) 20:23
that feels righter to me
FROGGS .oO( but then I took an ➴ to the knee )
TimToady Q: What's worse than bootstrapping a compiler? 20:26
A: Bootstrapping two compilers!
Q: What's worse than that?
nwc10 "Bootstrapping three compilers!" I guess
and, how could we make it even better?
20:27 hummeleB1 left
TimToady um, target .NET, .js, golang, etc.... 20:27
half-hour later, the *Configure* is done... 20:28
FROGGS :/ 20:29
nwc10 what did it build?
TimToady on the bright side, it seems to have configured
jnthn half an hour?! 20:30
TimToady well, it bootstrapped nqp on parrot, jvm, and moar
jnthn Does --gen-moar pass --optimize to Moar? :)
TimToady beats me
jnthn Was more asking FROGGS++ :) 20:31
FROGGS jnthn: it does not currently
20:31 stevan_ joined
jnthn I guess other option is make it the default in Moar's configure. 20:32
TimToady maybe that would be premature, if you want good debugging for now
jnthn You only really want a debug build if you're developing...
FROGGS ahh, it does 20:33
nqp does it
jnthn FROGGS: ok :)
preflex jnthn: you have 3 new messages. '/msg preflex messages' to read them.
TimToady that would explain why my gdb trace was...terse...
FROGGS it passes --optimize in sub gen_moar
>.<
TimToady: the good thing is that you dont need to recompiler anything when reconfiguring/installing moarvm without --optimize 20:34
TimToady or is this an optimize flag aimed higher than C
lue FROGGS: it can change to why { $x + $y }? because ( $y < 10 ) if you like :) 20:35
FROGGS recompile*
hehe
jnthn TimToady: No, --optimize in Moar is all about C 20:36
TimToady ooh, got past m-BOOTSTRAP!!!
now in stage parse
FROGGS \o/
colomon \o/
FROGGS that is the time where you want to make tee
TimToady 'course, it decided to do moar before parrot, so I'll probably end up sans parrot...
FROGGS (to drink it in stage mbc)
TimToady er, sans perl6-p
FROGGS make p-install is your friend 20:37
lue I get past stage mbc before it fails. Is that good?
FROGGS yes 20:38
how does it fail ooc?
lue moar: 3rdparty/libuv/src/unix/loop.c:150: uv__loop_delete: Assertion `!((((*(&(loop)->active_reqs))[0]) == (&(loop)->active_reqs)) == 0)' failed. 20:41
20:41 tgt left
lue (this was last night, so perhaps it's changed since.) 20:41
FROGGS lue: no, there must be an error message earlier
20:41 tgt joined
FROGGS it should have changed, yes 20:41
lue I would've given you the preceding error if there was one :) It goes Stage mbc : 8.069 20:42
moar: 3rdparty/libuv/src/unix/loop.c:150:
lue will run the process again now, see what changes.
FROGGS I hope there is something else 20:43
jnthn 8.069?! Wow. It is like 0.554 here :)
lue jnthn: I think I was running other things on my computer at the time, it would've contributed to a slowdown.
TimToady yeah, well, my stage parse is 288 :/
FROGGS 184.777s here 20:44
lue TimToady: Mine was in the 1000's. Again, other stuff running.
(Incidentally I'm sure I'm running the same 'other stuff' now...)
20:45 telex left 20:48 zakharyas left, telex joined
TimToady and stage mast takes 343 20:48
and, of course, it couldn't compile Test
FROGGS 220, and then "Cannot invoke null object"
TimToady my mbc was only .955 :) 20:49
FROGGS TimToady: it is unable to load the setting
20:49 ssutch left
FROGGS and only that strangely farting guy can fix that :P 20:49
TimToady yes, it's about where I'd expected it to fail from the reports
FROGGS I'd love to profile it, but when using goodle-pprof moar complains about invalid utf8 20:50
TimToady it was running in just under a gig, but makes me wonder whether it'd run faster with more memory
FROGGS don't think so, jnthn and timotimo both said it would take 950MB peak 20:51
TimToady got up to 990 or so
jnthn detrain &
FROGGS my times are on a "Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz" with turbo stuff enabled 20:52
TimToady anyway, for the record, succeeded with: perl Configure.pl --prefix="/home/larry/nom/install" --backends='jvm,parrot,moar' --gen-nqp=master --gen-moar=master --gen-parrot 20:53
eventually...
FROGGS that is nice that it works now
TimToady FROGGS++ 20:54
FROGGS :o)
sjohnson heh
that emoticon is cute.
FROGGS so am I *g* 20:55
(according to my wife)
lue Once rakudo successfully compiles on moar, I'll start pestering MoarVM to default install to /usr/local, like every other project ever (even parrot!) . :)
21:02 xinming left, xinming joined 21:15 cognominal joined 21:26 xenoterracide left 21:27 grondilu left 21:36 rindolf left 21:50 kaare_ left
lue FROGGS: I got a more sensible "Cannot invoke null object" error now. 22:02
FROGGS lue: that is what I wanted to hear!
:o)
lue (and no libuv assertion either!)
FROGGS hmmm, there should be one... but it doesn't hurt if it does not show up :o) 22:03
22:04 dalek left, masak left 22:06 djanatyn left, Tene left 22:14 rurban1 joined 22:18 xinming left, xinming joined
FROGGS rp: say "abc" ~~ / <ident> { make 42 } /; say $<ident> 22:21
camelia rakudo-parrot e5fd34: OUTPUT«「abc」␤ ident => 「abc」␤␤「abc」␤␤»
FROGGS rp: say "abc" ~~ / <ident> { make 42 } /; say $/.ast
camelia rakudo-parrot e5fd34: OUTPUT«「abc」␤ ident => 「abc」␤␤42␤»
22:21 ajr joined, ajr is now known as ajr_ 22:27 c1sung left 22:33 preflex left 22:35 preflex joined, ChanServ sets mode: +v preflex
FROGGS rp: sub a (:*@b) { } 22:37
camelia rakudo-parrot e5fd34: OUTPUT«===SORRY!=== Error while compiling /tmp/YAMqae4Oxr␤Malformed parameter␤at /tmp/YAMqae4Oxr:1␤------> sub a (⏏:*@b) { }␤ expecting any of:␤ statement list␤ prefix or term␤ prefix …»
FROGGS rp: class C { method a (:*@b) { } }
camelia rakudo-parrot e5fd34: OUTPUT«===SORRY!=== Error while compiling /tmp/Kf9dOiwIx0␤Malformed parameter␤at /tmp/Kf9dOiwIx0:1␤------> class C { method a (⏏:*@b) { } }␤ expecting any of:␤ statement list␤ prefix or term␤…»
FROGGS rp: class C { method a (:%h; :*@b) { } }
camelia rakudo-parrot e5fd34: OUTPUT«===SORRY!=== Error while compiling /tmp/ER9vSyZifz␤Malformed parameter␤at /tmp/ER9vSyZifz:1␤------> class C { method a (:%h; ⏏:*@b) { } }␤ expecting any of:␤ statement list␤ prefix or te…»
22:38 xinming left, xinming joined 22:39 c1sung joined 22:43 yeltzooo6 joined, yeltzooo6 left 22:46 yeltzooo3 joined
FROGGS rp: my $x = "abc"; $x.=subst(m/a/, 'x') 22:47
camelia rakudo-parrot e5fd34: OUTPUT«Cannot call 'match'; none of these signatures match:␤:(Cool:D : $target, *%adverbs)␤ in any at gen/parrot/BOOTSTRAP.nqp:1218␤ in any at gen/parrot/BOOTSTRAP.nqp:1209␤ in method match at gen/parrot/CORE.setting:3435␤ in block at /tmp/h32r…»
FROGGS rp: my $x = "abc"; $x.=subst(/a/, 'x')
camelia ( no output )
22:49 berekuk left
FROGGS if [&&] @provides>>.ACCEPTS($file) -> $/ { # I love it 23:02
23:02 kivutar joined, yeltzooo3 left 23:03 yeltzooo joined 23:06 hugme joined, ChanServ sets mode: +v hugme 23:10 ssutch joined, tadzik joined 23:11 c1sung left 23:12 PacoAir left 23:13 Juerd joined
timotimo [&&] passes through the rightmost match? 23:14
Juerd feather1 and 2 are back
3 is still booting.
FROGGS timotimo: yeah
timotimo: there is only one match anyway, which comes back as a parcel 23:16
somehow .flat doesnt work, but fortunately [&&] does
23:17 c1sung joined
FROGGS hmmm, I better use [||] 23:19
23:21 sricloud left 23:23 sricloud joined 23:25 BenGoldberg joined 23:27 fridim__ joined 23:31 rurban1 left 23:33 kivutar left 23:38 ssutch left