»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
Woodi everything can happen :) 00:00
TimToady just as some folks stuck with Perl 4...
Woodi do not met personally...
TimToady anyway, private methods are really just sugar for subroutine calls, so you can always just write them that way 00:01
presuming you actually declare them as subs
00:01 mattp_ joined
Woodi but there is many experiments in perl6 with operators but what with threads/concurency ? 00:01
TimToady there have been some experiments, but mostly we're just trying to design it cleanly enough that there will be few unexpected interactions 00:02
Woodi but develpment is up the way and changing something can be hard... 00:03
TimToady nearly everything is now lexically scope, so it's obvious whether it belongs inside or outside a thread, for instance
Woodi k
TimToady and we de-emphtasized local semantics, which force shared state to be too global
in favor of dynamic vars, which work more like Unix env vars
since they're declared lexically, it's obvious again whether a given dynvar belongs to the thread or is shared 00:04
local is a huge problem for threading in p5
Woodi but i read STM probably will be used ?
threads will be nice too 00:05
TimToady pugs played with it, and it seems to work as far as we took it
but a lot of people think STM is still in the toy stage
it requires some VM support to do efficiently
and it really needs to tie into some larger transaction model beyond memory access 00:06
we're also trying to make it possible to write in an Erlangish message passing style, which is a different approach to concurrency
Woodi thread alone will be fine for few years :)
TimToady niecza: async { say "hi" }; async { say "lo" } 00:07
p6eval niecza v9-32-g380d891: OUTPUT«===SORRY!===␤␤Action method statement_prefix:async not yet implemented at /tmp/0PJPidDCEp line 1:␤------> async { say "hi" }⏏; async { say "lo" }␤␤Action method statement_prefix:async not yet implemented at /tmp/0PJPidDC…
Woodi it is Actor model ?
TimToady hmm, I thought niecza had async
Woodi actor model is more theoretical then STM... 00:08
but nice to read on Wiki :)
00:10 localhost left
Woodi k, late for me. gn TimToady++ 00:10
diakopter o/
TimToady night 00:12
benabik Actor model, a la Erlang isn't very theoretical. 00:13
Woodi just was my impression - i think more STM implementations 00:15
00:15 replore_ joined
TimToady btw, the answer is more or less "yes"; my "one owner" and "capabilities" discussions are essentially an Actor model 00:16
but I'm trying to reinvent it all myself without reference to prior art :)
Woodi and what if perl6 will have some feature for distributed computing built in ? :) to be first choice when someone want to choose ? :) 00:20
cannot find some article about something... 00:21
00:21 tty234 joined 00:28 pmichaud left, hugme left, jrockway_ left
TimToady hypers and feeds are existing parallel constructs in p6 00:28
plus gather/take is essentially co-routines, if not threads
multi-sig matching will be useful for receiving events and dispatching them 00:29
00:33 pmichaud joined, hugme joined, jrockway_ joined, zelazny.freenode.net sets mode: +v hugme 00:35 eternaleye joined 00:36 Chillance left
Woodi found... Commitment ordering (CO) (patented) ? but i mean something distributed and little futuristic in CORE :) 00:37
00:38 PZt left
Woodi Perl6 is... like google-translated technical manual for greys (aliens) :) compared to C :) 00:39
that <()> ** ^ must be about maintaing ufo :) 00:40
00:41 PZt joined
Woodi late, gn & 00:41
01:03 colomon left 01:11 woosley joined
woosley good morning perl6 01:20
01:20 packetknife joined 01:24 george_z0rwell joined, Gruber_ joined 01:25 mattp_ left, mattp_ joined, sftp joined 01:26 Reaganomicon left 01:58 tokuhir__ left 02:00 tokuhiro_ joined 02:06 wolfman2000 joined
dalek ast: 91a5e7a | Coke++ | S32-list/ (2 files):
rakudo nom fudging.
02:14
kudo/nom: f1c805a | Coke++ | t/spectest.data:
run fudged tests.
02:15
02:17 colomon joined 02:21 packetknife left, envi_laptop joined 02:34 uasi_ joined 02:36 envi_laptop left 02:37 uasi left 02:48 tokuhir__ joined, tokuhiro_ left 02:53 tokuhiro_ joined, tokuhir__ left 02:56 replore_ left 03:07 envi_laptop joined 03:15 satyavvd left
[Coke] so, why did you change the style from Release to release? 03:17
ww 03:18
japhb Anyone happen to know what the modern (nom) version of the old alpha-era 'use Foo::Bar:from<parrot>;' is? 03:19
benabik japhb: Horribly broken, I think... 03:20
japhb D'oh! 03:21
benabik Non 6model objects don't play well in nom-land, I think...
japhb And here I was hoping for a two-fer and getting the Perl 6 OpenGL examples working as well as the PIR ones.
benabik Probably can write a wrapper...
japhb benabik, where would I look to see how to do that? 03:34
benabik japhb: I dunno.
japhb hmmm, maybe jnthn will know
phenny, ask jnthn Is there a replacement in nom for the old alpha-era 'use Foo::Bar:from<parrot>;' syntax? If not, where should I start looking to figure out how to bring that functionality back? 03:35
phenny japhb: I'll pass that on when jnthn is around.
japhb An idea for the compiler features table: a section for 'Interoperability', with (at least) entries for system-level native libraries, VM-level foreign libraries, other languages on same VM, and Perl 5. 03:41
03:45 jdv79_ left
japhb How difficult would it be to change nom's +- rating for Misc:MAIN (because there is 'no help yet', which I assume means no usage info generated) to a full '+'. Is that a LHF task for an outsider or something that requires a core developer? 03:48
Hmmm, it would be nice to get clarity for the remaining '?' items in the compiler features table ... 03:55
phenny, ask jnthn Could you take a look at the remaining '?' items for nom in the compiler features table? There are only three left, and to an outsider they *appear* to be the kind of things that would have a definitive answer ... 03:58
phenny, ask sorear Can you fill in any status entries for the remaining Niezca '?' entries in the compiler features table? 04:00
The problem with being out of sync with all the core developers' timezones is having to post a pile of questions, rather than being able to have conversations. :-/ 04:01
04:04 pmichaud left, hugme left, jrockway_ left, jfried left, DarthGandalf left, Grimnir_ left, jlaire left, tty234 left, wooden_ left, Gothmog_ left, buubot_backup left, slavik1 left 04:05 LoRe_ left, eiro left, colomon left, Gruber_ left, PZt left, yath_ left, apejens left, Maddingu1 left, [Coke] left, odoacre left, worr left, Patterner left, orafu left, breinbaas left, arthur-_ left, drbean left, sorear left, lue left, wolfman2000 left, dukeleto left, y3llow left, cosimo left, abercrombie left, kshannon left, PacoLinux left, Woodi left, Vlavv left, _ilbot left, nebuchadnezzar left, uasi_ left, mattp_ left, pernatiy left, phenny left, daemon left, araujo left, skangas left, BooK left, Trashlord left, Exodist left, jferrero left, bloonix left, jevin left, felipe left, Caldrin left, tokuhiro_ left, woosley left, molaf_ left, bbkr left, ruz left, TimToady left, szabgab_ left, JodaZ_ left, dalek left, Sarten-X left, bbkr1 left, soh_cah_toa left, jaldhar left, mtk left, sbp left, nsh left, _sri left, arnsholt left, [particle]1 left, miso2217 left, f00li5h left, sjn left, BinGOs left, ranguard left, betterworld left, fhelmberger left, envi_laptop left 04:08 birdwindupbird joined 04:17 KindOne joined
ledrug Hello? 04:27
04:33 japhb left
plobsing ledrug: hi 04:33
ledrug Hi 04:36
Just curious, do you know which was the bot that logs this channel?
Tene_ ledrug: ilogger2 04:37
benabik Ledrug: footer of irclog.perlgeek.de/ says ilbot ( moritz.faui2k3.org/en/ilbot )
ledrug It went with the split, I guess 04:38
plobsing oh noes, we're off the record 04:44
Tene_ Hahaha, I can say whatever I want, and nobody wille ver know! 04:45
04:53 plobsing left 05:01 packetknife joined 05:03 _ilbot joined 05:15 ledrug left 05:21 woosley joined
woosley perl6: say 1,3,5 ... 8 05:26
benabik Are we still netsplit?
p6eval rakudo f1c805, niecza v9-32-g380d891: OUTPUT«(timeout)» 05:27
..pugs: OUTPUT«*** ␤ Unexpected "8"␤ expecting operator, ":" or ","␤ at /tmp/Qy_CdOcKCm line 1, column 15␤»
benabik Ah, there it is.
woosley perl6: say 1,3,5 ... 17 05:28
p6eval rakudo f1c805, niecza v9-32-g380d891: OUTPUT«1 3 5 7 9 11 13 15 17␤»
..pugs: OUTPUT«*** ␤ Unexpected "17"␤ expecting operator, ":" or ","␤ at /tmp/K_46Z9YLIw line 1, column 15␤»
woosley looks like ' ... ' is not smart enough. On my computer, say 1,3,5 ... 8 will hang 05:29
05:33 ZapZ joined
benabik Does … require an exact match to stop? 05:38
Yes, S03 says the sequence is smart matched against the limit. 05:39
perl6: say 1,3,5 … { * >= 8 } 05:40
p6eval rakudo f1c805: OUTPUT«===SORRY!===␤Confused at line 1, near "say 1,3,5 "␤»
..niecza v9-32-g380d891: OUTPUT«===SORRY!===␤␤Confused at /tmp/KwXXHrndff line 1:␤------> say 1,3,5 ⏏… { * >= 8 }␤␤Parse failed␤␤»
..pugs: OUTPUT«decodeUTF8': bad data: '\8230'␤*** ␤ Unexpected "\8230"␤ expecting operator, ":" or ","␤ at /tmp/t3OxEkWtuj line 1, column 11␤»
benabik Bah.
perl6: say 1,3,5 … { * >= 8 }
p6eval niecza v9-32-g380d891: OUTPUT«===SORRY!===␤␤Confused at /tmp/NoRipXB_Qx line 1:␤------> say 1,3,5 ⏏… { * >= 8 }␤␤Parse failed␤␤»
..rakudo f1c805: OUTPUT«===SORRY!===␤Confused at line 1, near "say 1,3,5 "␤»
..pugs: OUTPUT«decodeUTF8': bad data: '\8230'␤*** ␤ Unexpected "\8230"␤ expecting operator, ":" or ","␤ at /tmp/e9WmJLJLha line 1, column 11␤»
benabik Bah! Stupid autocorrect.
perl6: say 1,3,5 ... { * >= 8 } 05:41
p6eval pugs: OUTPUT«*** ␤ Unexpected "{"␤ expecting operator, ":" or ","␤ at /tmp/T5lY3XIH4n line 1, column 15␤»
..rakudo f1c805, niecza v9-32-g380d891: OUTPUT«1␤»
benabik perl6: say 1,3,5 ...^ { $_ >= 8 } 05:42
p6eval rakudo f1c805, niecza v9-32-g380d891: OUTPUT«1 3 5 7␤» 05:43
..pugs: OUTPUT«(timeout)13one(VList [VInt 5,VInt 6,VInt 7,VInt 8,VInt 9,VInt 10,VInt 11,VInt 12,VInt 13,VInt 14,VInt 15,VInt 16,VInt 17,VInt 18,VInt 19,VInt 20,VInt 21,VInt 22,VInt 23,VInt 24,VInt 25,VInt 26,VInt 27,VInt 28,VInt 29,VInt 30,VInt 31,VInt 32,VInt 33,VInt 34,VInt 35,VInt 36,V…
woosley brillant ! 05:44
benabik woosley: perlcabal.org/syn/S03.html#line_1943
woosley perl6: my @odd = 1,3,5 ... 8; say @odd[^4] 05:46
p6eval rakudo f1c805, niecza v9-32-g380d891: OUTPUT«(timeout)» 05:47
..pugs: OUTPUT«*** ␤ Unexpected "8"␤ expecting operator or ","␤ at /tmp/TUO8j__u5k line 1, column 21␤»
benabik ^4?
woosley perl6: my @odd = 1,3,5 ... 15; say @odd[^4]
p6eval rakudo f1c805, niecza v9-32-g380d891: OUTPUT«1 3 5 7␤»
..pugs: OUTPUT«*** ␤ Unexpected "15"␤ expecting operator or ","␤ at /tmp/5D4DO9LL3c line 1, column 21␤»
woosley ^4 = 0 .. 3 05:48
benabik (1,3,5 ... *)[^4] might actually work some day, if sufficient laziness is added.
I would think sequences would be lazy... 05:49
woosley I think laziness is implemented now?
benabik rakudo: say (1,3,5…*)[^4]
p6eval rakudo f1c805: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 1␤»
benabik rakudo: say (1,3,5...*)[^4]
p6eval rakudo f1c805: OUTPUT«1 3 5 7␤»
benabik Ah. The assignment is eating the sequence. 05:50
woosley rakudo: my @a = 1,3,5 ... *; say @a[^4]
benabik rakudo: my @odd := 1,3,5...* ; say @odd[^4]
p6eval rakudo f1c805: OUTPUT«1 3 5 7␤»
woosley hmmm~~~
it's not 05:51
benabik rakudo: my @odd := 1,3,5...8 ; say @odd[^4]
p6eval rakudo f1c805: OUTPUT«1 3 5 7␤»
benabik rakudo: my @odd = 1,3,5...8 ; say @odd[^4]
p6eval rakudo f1c805: OUTPUT«(timeout)»
benabik I bet infix:<…> has a multi with Whatever on the right.
woosley := ?
benabik binding 05:52
@odd is the sequence, not store the sequence in @odd
benabik wants … to act as ...
woosley but my @a = 1,3,5 ... * works
benabik Probably because it's a slightly different object somewhere… Possibly a bug. 05:53
(Bug that it acts different.) 05:54
nom: say (1,3,5...*).WHAT ; say (1,3,5...8).WHAT
p6eval nom f1c805: OUTPUT«List()␤List()␤»
benabik Bah.
nom: say (1,3...*).WHAT ; say (1,3...8).WHAT 05:55
p6eval nom f1c805: OUTPUT«List()␤List()␤»
benabik Bah I say.
06:02 kaleem joined
woosley rakudo: say ^4.WHAT 06:09
p6eval rakudo f1c805: OUTPUT«Use of uninitialized value in numeric context␤0..^0␤»
woosley rakudo say (^4).WHAT
06:09 packetknife left 06:10 masak joined
woosley rakudo: say (^4).WHAT 06:10
p6eval rakudo f1c805: OUTPUT«Range()␤»
masak morning, p6.
woosley morning, masak
rakudo: say (^4).perl 06:11
p6eval rakudo f1c805: OUTPUT«0..^4␤»
06:27 f00li5h joined
jnthn morning, #perl6 06:27
masak jnthn: morning! 06:31
you're up early :) 06:32
jnthn masak: I know :(
sucks.
.oO( I do optimism well on a morning... )
masak :P 06:33
hm... there doesn't seem to be a way to set the attributes of a DateTime in Rakudo... 06:36
jnthn Wasn't DateTime immutable, and you just constructed the right thing? 06:38
masak not when I made the spec :)
masak goes back to his commit to see what happened to that idea 06:39
jnthn moritz++ and tadzik++ were working on that stuff in nom of late, so may have some ideas too :)
masak I always understood it as DateTime being mutable, but Date being immutable. 06:41
though I remember having to do some compromise or other in Rakudo, because real setters a la '$obj.attr = $value' couldn't be combined with validation, at least not a year ago. 06:42
huh! seems *I* made DateTime immutable :P 06:43
github.com/perl6/specs/commit/3d7d...3c12fb7622
fair enough. who am I then to argue against that decision? :P
it does make a lot of sense. one problem with setting a DateTime through accessors would've been that of triggering out-of-range exceptions even though the initial and final states were OK. 06:45
jnthn Yeah, I don't argue with myself.
Wait, yes I do!
masak autopun :P 06:46
*and* a direct self-reference.
oh, it was Kodi who proposed and carried through the immutabilization of DateTime. that's why I can't remember having done it myself. ;) 06:48
Kodi++
jnthn commute & 06:49
cotto What characteristics are desirable in a language subset like nqp used for building a full compiler of that language? 06:50
I know that the subset should compile to something static and should be more expressive than a low-level language. Is there anything else?
06:58 japhb joined
masak well, it's nontrivial for me as a bystander to tell what's primary reasons and what's consequences. maybe pmichaud will have better answers. 06:59
but it seems to me one of the points is to streamline things a bit; to remove conveniences in the full language that aren't strictly needed.
japhb (original msg via phenny lost, and phenny doesn't appear back yet, so hoping jnthn backlogs ...) jnthn, Could you take a look at the remaining '?' items for nom in the compiler features table? There are only three left, and to an outsider they *appear* to be the kind of things that would have a definitive answer ... 07:00
cotto Yeah.
masak cotto: for example, it's terribly convenient to be able to do 'say 42', but it doesn't really offer any new semantics on top of 'say(42)'
cotto I'll be trying to catch pmichaud at some point.
masak cotto: ditto explicit/implicit type casts.
so nqp seems to me to be a kind of "minimal subset" of Perl 6 -- where "minimal" is a moving target as we scale up the stack in complexity -- without much of the DWIM that we like in Perl 6 but don't need for a bootstrapping step. 07:01
to me as a Perl 6 dev, nqp often looks like Perl 6's spartan, strict cousin. 07:02
a bit like someone took a look at Perl 6 and went "well, I *like* it, but lets get rid of all this implicit, dwimmy crap".
cotto masak, that's helpful. Thanks.
masak rakudo: say now 07:43
p6eval rakudo f1c805: OUTPUT«Instant:1316591040.30722␤»
masak rakudo: say DateTime.now
p6eval rakudo f1c805: OUTPUT«DateTime.new(year => 2011, month => 9, day => 21, hour => 7, minute => 43, second => 34, timezone => $*TZ)␤»
masak huh. that last value isn't too informative.
rakudo: say DateTime.now.Date 07:44
p6eval rakudo f1c805: OUTPUT«Date.new(2011, 9, 21)␤»
jnthn cotto: NQP is allowed to make a lot more assumptions too
masak rakudo: say Date.now
p6eval rakudo f1c805: OUTPUT«Method 'now' not found for invocant of class 'Date'␤ in <anon> at /tmp/A5UzmmzLJG:1␤ in <anon> at /tmp/A5UzmmzLJG:1␤␤»
masak rakudo: say Date.today
p6eval rakudo f1c805: OUTPUT«Date.new(2011, 9, 21)␤»
masak rakudo: say DateTime.today
p6eval rakudo f1c805: OUTPUT«Method 'today' not found for invocant of class 'DateTime'␤ in <anon> at /tmp/q2S44LHkiu:1␤ in <anon> at /tmp/q2S44LHkiu:1␤␤»
jnthn cotto: Which makes it a bunch easier to analyze, and thus optimize.
cotto: The NQP optimizer, when it lands, will be able to be quite aggressive in various ways that a full-blown Perl 6 would could not be without a bunch more analysis. 07:45
masak it would be inneresting to list those assumptions, and try to figure out how to apply them to Perl 6 in "some cases".
jnthn For example, NQP has no eval that can see lexicals. 07:46
So we can just demote lexicals that we know aren't captured in closures down to registers/locals.
In Perl 6, we have to hope we can inline stuff in hot paths, at which point there's no function or method calls left, at which point we know we're not calling eval, at which point we can demote lexicals to registers. 07:47
That said, lexicals should really be cheaper than they are today...
masak .oO( 4 lexicals for the price of 3 ) 07:48
jnthn :P
07:49 BinGOs joined, plobsing joined, uasi_ joined, mattp_ joined, pernatiy joined, phenny joined, daemon joined, araujo joined, skangas joined, BooK joined, Trashlord joined, Exodist joined, jferrero joined, bloonix joined, jevin joined, felipe joined, broquaint joined, zostay joined, ruoso joined, revdiablo joined, mdxi_ joined, stepnem joined, Bucciarati joined, gfldex joined, yahooooo joined, tomaw joined, literal joined
jnthn japhb: using then is "phenny: tell jnthn beer is awesome" 07:49
japhb: I'll try and look this evening, after $dayjob 07:50
phenny jnthn: 03:35Z <japhb> ask jnthn Is there a replacement in nom for the old alpha-era 'use Foo::Bar:from<parrot>;' syntax? If not, where should I start looking to figure out how to bring that functionality back?
jnthn oh, japhb++ did use phenny right for that one...
07:51 bakedb joined, AAAHDUP joined, mberends joined, donri joined, daniel-s joined, molaf_ joined, bbkr joined, ruz joined, TimToady joined, szabgab_ joined, JodaZ_ joined, dalek joined, Sarten-X joined, bbkr1 joined, jaldhar joined, mtk joined, sbp joined, nsh joined, _sri joined, arnsholt joined, [particle]1 joined, miso2217 joined, sjn joined, ranguard joined, betterworld joined, fhelmberger joined, snarkyboojum joined, jdhore joined, yves_ joined, zelazny.freenode.net sets mode: +v dalek, colomon joined, Grrrr joined, PZt joined, yath joined, apejens joined, Maddingue joined, [Coke] joined, odoacre joined, worr joined, Patterner joined, breinbaas joined, arthur-_ joined, drbean joined, sorear joined, lue joined, renormalist joined, senobmeht joined, Util joined, ingy joined, diakopter joined, moritz joined, itz_ joined, Yappoko___ joined, hillu joined, jfried joined, imarcusthis joined, donri left, DarthGandalf joined, jlaire joined, Grimnir_ joined 07:52 KindOne left, nebuchadnezzar joined, mj41 joined, replore joined, dukeleto joined, y3llow joined, cosimo joined, kshannon joined, PacoLinux joined, Woodi joined, Vlavv joined, takesako joined, cxreg joined, flussence joined, Lorn joined, Helios joined, pmichaud joined, hugme joined, jrockway_ joined, zelazny.freenode.net sets mode: +v hugme, donri joined, orafu joined, tty234 joined, Gothmog_ joined, buubot_backup joined, slavik1 joined, LoRe_ joined, eiro joined, ashleydev joined, nsh- joined, risou_awy joined, mls_ joined, mux joined 07:54 tty234_ joined, donri left, tty234 left 07:55 bakedb left 07:57 wooden joined 08:00 KindOne joined 08:02 replor___ joined 08:03 replore left 08:04 kiffin joined 08:08 kiffin left 08:11 KindOne left 08:12 KindOne joined 08:22 JimmyZ joined 08:25 satyavvd joined, satyavvd left 08:26 satyavvd joined, satyavvd left 08:29 donri joined, donri left, donri joined 08:34 KindOne left 08:41 dakkar joined 08:43 daniel-s left, daniel-s joined 08:51 locsmif joined 08:56 yass5 joined 09:16 yass5 left
renormalist asdasda 09:16
wrong channel, kids typing, sorry
locsmif :) 09:17
masak was there a right channel that the kids should've been typing that in? :P 09:20
phenny masak: 20 Sep 23:43Z <TimToady> tell masak the negative quantification has been there a long time; it just got relocated to stay near the ** text
masak oh!
well, that doesn't change my gut feeling about it being not very useful and too complex. 09:21
we already have <!after> 09:22
09:28 envi_laptop joined 09:31 REPLeffect left
masak ooh, ?? !! ended up as an *infix* operator in Perl 6, not as a special-case trinary thing. 09:35
tadzik good morning 09:41
jnthn o/ tadzik 09:42
09:45 REPLeffect joined
Woodi hallo 09:51
jnthn: just architecture queston: is it possible/appropriate to have "filters" in perl6, eg for filtering IO for pluggable encryption on language level ? 09:53
or for implementing permissions checks on resources acces, IO 09:54
eg. put explicit barrier betwin code with resource acces and code doing www/network stuff ? 09:59
everything can be writed outside language core but i ask about possible internal feature 10:01
10:02 daxim joined
Woodi maybe permission for "operations" not only resources too 10:04
10:06 daniel-s left, daniel-s joined 10:29 mishin_ joined
cognominal [08:45] <jnthn> Yeah, I don't argue with myself. 10:32
you are not TimToady who usually can ague everything both ways :)
10:38 kfo_ joined, grondilu joined
grondilu perl6: perl6: say 3.14159_26535_89793; #just want to see if there is arbitrary precision here 10:41
p6eval niecza v9-32-g380d891: OUTPUT«3141592653589793/1000000000000000␤»
..pugs: OUTPUT«3.141592653589793␤»
..rakudo f1c805: OUTPUT«===SORRY!===␤Confused at line 1, near "perl6: say"␤»
10:41 kfo left 10:46 rhr left, mishin_ left 10:48 rhr joined 10:53 espadrine joined 10:55 daniel-s left 10:56 daniel-s joined 11:04 grondilu left
tadzik rakudo: say 3.14159_26535_89793; 11:04
p6eval rakudo f1c805: OUTPUT«3.14159265358979␤»
flussence rakudo: printf('%.25f', 3.14159_26535_89793); 11:07
p6eval rakudo f1c805: OUTPUT«3.1415926535897931159979635» 11:08
flussence erk.
JimmyZ rakudo: say 3.14159_26535_897932.perl
p6eval rakudo f1c805: OUTPUT«7853981633974483/2500000000000000␤»
11:37 Patterner left, pernatiy left 11:41 Psyche^ joined, Psyche^ is now known as Patterner, uasi joined 11:44 uasi_ left 11:45 pmurias joined
pmurias erlang style message passing will be supplied in a module or builtin? 11:45
phenny pmurias: 20 Sep 11:03Z <ingy> tell pmurias alias TOP to a rule called something else and start on that rule? Realize that I am writing language grammars where I almost always want to parse an entire text. requiring ^$ is not only annoying, it is going to cause problems when people forget it.
masak pmurias: I don't think anyone can answer that until the whole concurrency/parallelism/events thing has been mapped out in a consistent and solid manner. 11:47
11:47 uasi_ joined
moritz "yes" would probably a good guess :-) 11:47
masak it's the term "builtin" that makes me unsure. 11:49
maybe there'll be a more fundamental builtin that'll support it?
pmurias masak: builtin meaning in CORE 11:50
masak right.
11:51 uasi left 11:52 uasi_ left
pmurias masak: what i would like to avoid is having a copy of the erlang mechanism in CORE 11:54
11:55 uasi joined
JimmyZ parrot wants a actor model in core 11:55
11:57 uasi_ joined 11:58 jimmy1980 joined 12:01 uasi left 12:03 ZapZ left 12:06 woosley left
snarkyboojum join #aws 12:08
eek
12:09 aindilis joined 12:14 bakedb joined
masak std: my $op; my $ck; $op = $op.$ck 12:17
p6eval std c22b2ee: OUTPUT«ok 00:01 121m␤»
12:17 espadrine left
masak nice. I thought one needed quotes around $ck. apparently not. 12:18
mls_ hi perl6! 12:21
tadzik hi mls_! 12:22
mls_ S04 contains: class Naughty is Exception {}; die Naughty("error");
What contstructor type is that?
I thought one had to write Naughty.new("error") or something like that 12:23
Wait, I don't mean S04, but t/spec/S04-exception-handlers/catch.t
12:24 bluescreen10 joined
masak hi mls_ 12:31
mls_ hello masak!
masak mls_: I discuseed this with moritz the other day.
I maintained that there's a difference between the above syntax, a cast, and the syntax for a constructor. 12:32
moritz seemed to opine they're equivalent.
mls_ How does Naughty("error") work? 12:33
I can't find anything in the spec (but the spec is quite big...) 12:34
masak syntactically, it's a conversion. like Int("42"). 12:38
std: Int("42")
p6eval std c22b2ee: OUTPUT«ok 00:01 119m␤»
12:38 im2ee joined, uasi joined
mls_ NYI in rakudo 12:38
where is that in the spec? 12:39
masak ISTR it used to be spelled that way in Rakudo, but was deprecated. that seems odd, though.
nowadays, I tend to do "42".Int
mls_ yes, that's what I also use 12:40
masak I'm not sure the spec has a section on type casting. 12:41
12:41 uasi_ left
mls_ niecza: Int("42") 12:42
p6eval niecza v9-32-g380d891: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Int␤ at /tmp/Rn_vf2oREP line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2060 (CORE C968_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2061 (CO…
masak my guess is that the NewType($value) syntax is dead, and that the thing you found in the spec is a fossil. 12:43
or maybe s/guess/hope/ ;)
mls_ yeah, probably. I'll ask TimToady++ 12:44
I probably could define postcircumfix:<( )> in Exception, though ;)
12:46 benabik left, woosley joined 12:47 bakedb left 12:48 bakedb joined 12:51 sayu joined
masak yes. but I think it's a better idea to use .new 12:54
tadzik +1
12:56 jimmy1980 left
cognominal what is the way to get the parse tree of a perl6 program? 12:58
12:59 wamba joined
cognominal ...so as to be able to do syntax highlighting 12:59
13:01 pernatiy joined
flussence hm, Date.t hangs on 32bit for me. That's a new one... 13:02
cognominal I was hoping that ack-ing the source with "Perl6::Grammar" would give me a clue
masak cognominal: run STD's viv on it?
cognominal: or maybe co-opt Niecza to emit a parse tree?
cognominal I would be more confortable doing that with rakudo 13:03
I already have some of the code to process the parse tree written in rakudo.
pmurias cognominal: what do you intent to do with the parse tree? 13:04
13:04 bluescreen10 left
cognominal github.com/cognominal/code-viewer # stuff like that 13:05
but I do it with grammars different than Perl 6 grammar.
pmurais, Well that's old stuff I am rewriting from scratch, but that to give you an idea 13:07
masak I'd also like to be able to get parse trees of programs easily. 13:12
13:13 mykhal joined
flussence something like $=POD, but for code? 13:13
cognominal that's $/ :) 13:14
masak flussence: no, just Perl6::Grammar.parse($code).
cognominal when parsing using Perl::Grammar
masak (with the appropriate handwaving for how to handle the World that parsing Perl 6 code generates) 13:15
cognominal but last time, I tried, one cannot do what masak said because the parsing is dependant on a lot of setup.
masak yeah. 13:16
well, STD can.
cognominal I would like to avoid using too many tools (I already use rakudo, coffeescript, jquery…). 13:17
moritz nom: say nqp::box_i(pir::can(Any, 'Bool')) 13:18
p6eval nom f1c805: OUTPUT«===SORRY!===␤Unrecognized nqp:: opcode 'nqp::box_i' at line 1, near ""␤»
moritz nom: say nqp::p6box_i(pir::can(Any, 'Bool'))
p6eval nom f1c805: OUTPUT«1␤»
moritz nom: say nqp::p6box_i(pir::can(Any, 'Fool'))
p6eval nom f1c805: OUTPUT«0␤»
cognominal I am doing a presentation friday and I would like to demonstrate my tool with the parse of Perl 6 code instead of pseudo javascript. code.
13:18 Holy_Cow joined, Holy_Cow left 13:19 bluescreen10 joined
masak good luck! 13:24
13:27 maguro joined
jnthn The coercions are maybe defined as multi postcircumfix that wants a :U 13:32
Or syntactic.
13:32 Base__ joined 13:33 wtw joined
jnthn is only vaguely keeping up...actually having quite a busy day at $dayjob today :P 13:33
im2ee hi! :) 13:34
masak im2ee: hej! 13:35
tadzik hej im2ee 13:38
flussence I'm writing a thing that doesn't currently work properly, but here it is anyway: github.com/flussence/Pod-Tree-Walker
(and if anyone can explain why I get an ambiguous-multi error there, it'd be much appreciated...)
tadzik looks fun
dalek p: 3faca64 | moritz++ | tools/build/PARROT_REVISION:
bump PARROT_REVISION to 3.8 release
13:39
flussence (hm, maybe I want to use something other than ".?") 13:40
dalek kudo/nom: e7ed52f | moritz++ | t/02-embed/01-load.pir:
TODO 02-embed test
13:43
kudo/nom: 0cbc528 | moritz++ | src/Perl6/Compiler.nqp:
use .gist instead of prefix:<~> to stringify REPL autoprint output

Now when the return value of an expression is a type object, you get Int() or so, and no warning
13:43 locsmif left
dalek kudo/nom: 28f0696 | moritz++ | tools/build/NQP_REVISION:
bump NQP revision to get some testing on released parrot
13:43
13:45 mishin_ joined 13:47 bluescreen10 left
moritz is there anybody for whom t/spec/S19-command-line/dash-e.rakudo has NOT two passing TODO tests? 13:54
(might need ICU)
flussence checks...
looks ok today, though I have had that one fail in the past... 13:56
jnthn moritz: Fails for me
moritz: Also args.t
moritz: I was thinking they were win32 specific and wanted to check that first before I yelped...but didn't get to it.
moritz jnthn: do you have ICU available? 14:00
jnthn: and can you use non-ASCII chars on the command line with -e?
jnthn no, and guess not 14:02
14:02 bluescreen10 joined
jnthn moritz: That may be my crappy console's fault though ;) 14:02
ooh, YAPC::EU talk feedback arrives :) 14:06
tadzik huh?
oh
jnthn apparently my talks were fine :) 14:07
tadzik wow, somebody actually liked my lightning talk :)
14:08 bakedb_ joined 14:09 Base__ left, bakedb left
pmurias cognominal: what is that usefull for? 14:09
masak tadzik: I liked your lightning talk. 14:10
but I was too lazy to fill in evaluations this year :/
tadzik masak: I had a feeling it went terrible, mostly due to speedspeaking and lack of rehearsals, but I'm still the only one who thought it was terrible, so maybe it was pretty good after all ;) 14:11
flussence: em, don't you want your DOC INIT to be INIT in s26.t? DOC INIT won't run when you run your tests with prove 14:12
or maybe no phasers at all
flussence AIUI I've got to run it as -e 'perl6 --doc' either way to get the $=POD variable... 14:14
tadzik flussence: and the dispatch bug seems to have roots in Rakudo rather than your code, methinks
flussence: nah, $=POD is always there
and I think that's what the spec wants
jnthn Dispatch bug? 14:15
14:15 woosley left
tadzik S26 doesn't say anything about $=POD being not always there 14:15
jnthn: in Pod::Tree::Walker
flussence jnthn: my code was complaining about two identical multis, even though there's definitely only one with the signature there
cognominal pmurias, my tool ties the parse code to the reduced rules. From a rule, it could eventually open the documention a the right page. If we link each rule to the spec it implements. 14:17
flussence rakudo: class A { method foo { self.?bar } }; class B is A { method bar { say 'baa' } }; B.new.foo
p6eval rakudo 28f069: OUTPUT«baa␤»
jnthn flussence: Odd. Would be very interested to see a golfed example. 14:18
14:18 maguro left
cognominal litterate programming would be quite illiterate compared to such a tool :) 14:18
flussence rakudo: my $abc = [1, 2, 3]; class A { method foo { self.?bar($abc) } }; class B is A { method bar($) { say 'blah' }; method bar(@) { say 'baa' } }; B.new.foo
p6eval rakudo 28f069: OUTPUT«===SORRY!===␤Package 'B' already has a method 'bar'; did you mean to declare a multi-method?␤»
flussence whoops
rakudo: my $abc = [1, 2, 3]; class A { method foo { self.?bar($abc) } }; class B is A { multi method bar($) { say 'blah' }; multi method bar(@) { say 'baa' } }; B.new.foo
p6eval rakudo 28f069: OUTPUT«baa␤»
cognominal well, to be honest litterate programming document the purpose of the code. My tool would explains the code itself. 14:19
flussence hm, it seems a bit more involved than this...
cognominal I firmly believe that we need to invent a nurturing environment around Perl 6. 14:21
Apparently there is a hook to write once parse tree dumper. But --target=parse is still broken 14:24
14:24 wtw left
cognominal perl6 --target=parse --dumper=toto t.pm 14:24
===SORRY!===
Could not locate compile-time value for symbol StaticLexPad
…in nom.
jnthn makes sense 14:25
I suspect getting --target=parse to work reliably is going to need some effort.
Though it probably fails for everything at the moment. 14:26
pmurias cognominal: moritz was planning on creating a code explainer 14:27
14:28 kaare_ joined
jnthn Working over the AST may well make more sense than the parse tree, fwiw 14:29
moritz ... and I still think it's a good idea, but I have way too many good ideas and way too little time
jnthn Maybe I should blog about how people can write tools that get an AST and then do stuff with it. :) 14:30
pmurias jnthn: why would the ast be better?
jnthn pmurias: Because it encodes semantics, has symbol tables from which you can go and introspect the symbols, and so forth.
14:30 mishin_ left
cognominal currently my tool shows the reductions from TOP to the code token your mouse hovers. 14:30
jnthn ah, if you want that then maybe parse tree is useful... 14:31
pmurias jnthn: does it expose the full syntax info?
cognominal My tool could be a complement to jnthn grammar debugger.
jnthn's grammar debugger shows the process in real time, mine show the result. 14:32
pmurias jnthn: what i would be most usefull to be would be a tool which for a given bit of code will show me where the construct is specced, the test for it etc.
14:33 kaleem left
cognominal I agree with jnthn, that if someday we want to do incremental recompiling of editing code like v8 does, ones needs access to some serialization of the AST. 14:33
but my goal is more modest
Anyway, I already succeeded in being somewhatt proficient in coffeescript and jquery. :) 14:34
pmurias v8 does incremental recompiling of code?
cognominal pmurias: it spent a lot of time doing that. :) 14:36
it recompiles polymorphic code to generate native code according to the argument types.
pmurias i thought you meant it did incremental reparsing 14:37
flussence jnthn: gist.github.com/1232212
this breaks if you uncomment that line
jnthn pmurias: You should be able to get to the match object, I think.
pmurias: Or at least some information about location. 14:38
Otherwise we can't give good errors for problems the optimizer finds.
14:38 BinGOs left
cognominal pmurias: Apparently, it is faster for rhem to reparse the source code for the polymorphic function that is to be executed. 14:38
14:39 benabik joined
jnthn flussence: whoa, ouch 14:39
flussence: Thanks.
Will look this evening.
jnthn is kinda confused
cognominal There is very little litterature about v8 but it is a knock-off of the Self compiler. some of the programmars are the same.
14:40 BinGOs joined
cognominal the relevant papers are here : labs.oracle.com/self/papers/papers.html 14:40
especially this one : labs.oracle.com/self/papers/pics.html 14:41
And someone is some interesting blogging about v8 : wingolog.org/tags/v8 14:42
s/is/is doing/ 14:43
moritz only knows the v8 javascript engine that is used in chrome 14:45
cognominal moritz: that's this one, it is used by node.js too. 14:46
JimmyZ and MongoDB ?
dalek kudo/nom: c2194d6 | moritz++ | docs/ChangeLog:
copy ChangeLog from 2011.07
14:47
cognominal JymmyZ: Apparently it uses the same technology to compile into native code. But unlike, v8, I have not looked into it. 14:48
nosql.mypopescu.com/post/409039261/...th-mongodb …or spider monkey according to this post. 14:49
www.howsthe.com/blog/2010/feb/22/mongodb-and-v8/ … or both. 14:50
masak perl6: grammar G { regex TOP { 'foo' { say ~$/ } } }; G.parse("foo") 14:51
p6eval niecza v9-32-g380d891: OUTPUT«G()<instance>␤»
..rakudo 28f069: OUTPUT«foo␤»
..pugs: OUTPUT«*** No such method in class G: "&parse"␤ at /tmp/Q31nig35XR line 1, column 48 - line 2, column 1␤»
jnthn rakudo++ 14:52
masak sorear: I think Rakudo's output is correct here.
jnthn ...G()<instance>?!
benabik moritz++ # REPL gisting
jnthn I'd at least expect $/ to have a Match object in...
masak sorear: want me to file a nieczabug?
moritz niecza: grammar G { }; say G ~~ Match 14:53
p6eval niecza v9-32-g380d891: OUTPUT«Bool::False␤»
jnthn The cursor should be of type G, but the thing in $/ should be a match object. 14:54
moritz right
cognominal jnthn: would it possible to get at the parse tree using code accessing $COMPILING::/ at the end of the code to be parsed ?
jnthn niecza: grammar G { regex TOP { 'foo' { say $/.WHAT } } }; G.parse("foo")
p6eval niecza v9-32-g380d891: OUTPUT«G()␤»
jnthn rakudo: grammar G { regex TOP { 'foo' { say $/.WHAT } } }; G.parse("foo") 14:55
p6eval rakudo 28f069: OUTPUT«Match()␤»
jnthn cognominal: I don't think COMPILING does that... :)
cognominal I was hanwaving...
*handwaving.
rakudo: grammar G { regex TOP { 'foo' { say $/ } } }; G.parse("foo") 14:56
p6eval rakudo 28f069: OUTPUT«foo␤»
cognominal so I would need to get the $/ at the right callframe :) 14:57
moritz .parse returns $/ 14:58
cognominal moritz: I know, but the Perl6 .parse is very deep in the compiler code. 14:59
jnthn decommute &
cognominal and as I said, I can't just call Perl6::Grammar.parse()
moritz cognominal: method .parse in HLL::Compiler... you might want to override that in Perl6::Compiler 15:00
or inject a stage after 'parse' 15:01
cognominal indeed. I am not too comfortable with PIR but I will give it a try. 15:02
moritz PIR? it's written in NQP these days
cognominal cool, that would be more tractable. 15:03
moritz it does :-)
15:04 thou joined
dalek kudo/nom: 313b687 | moritz++ | docs/ChangeLog:
add some few ChangeLog entries

This just scratches the surface of all the nom changes; feel free to add many more
15:06
cognominal btw, I wrote a toy oneliner stackframe dumping : gist.github.com/1226296 15:07
tadzik someone may want to answer that: stackoverflow.com/questions/7501581...-in-perl-6 15:08
it may be possible with niecza and CLR interop
moritz is already typing an answer
15:10 mberends left
moritz jnthn: while writing the ChangeLog entry I noticed that I had no idea how much of the parametric role stuff is new in comparison to 2011.07 15:11
jnthn: maybe add a few lines for new features to changelog
sorear good * #perl6
masak hi, sorear 15:12
sorear masak: I am not convinced that $/ should be a Match. What is your use case? 15:14
moritz same as ordinary regex matches
15:15 itz_ left 15:16 wamba left
ingy tadzik: cdent has vala now 15:16
we never actually wrote the code
15:16 wamba joined
ingy cdent/emitter/vala.py 15:17
masak sorear: my use case is "inspect what's been matched so far in the rule". 15:19
15:19 itz_ joined
masak sorear: but maybe I wasn't clear enough. I think Rakudo is to spec here, and Niecza isn't. 15:19
moritz (and if it's not clearly spec yet, we should make it spec) 15:20
sorear masak: if the spec says $/ should be a Match, then I am dubious of the spec unless I see a proper use case
PerlJam sorear: what do you think $/ should be? 15:21
sorear I agree that Niecza's handling of .gist on Cursor objects is LTA at the moment
masak: STD makes extensive use of the ability to get at the current Cursor object and call methods on it 15:22
masak well, sure.
but what does that have to do with $/ being a partially constructed Match, or something similar enough?
feels like we're talking past each other somewhat.
sorear Cursor *is* a partially constructed Match 15:23
15:23 lichtkind joined
lichtkind cheers good people of perl 6 15:23
moritz are we talking about the return value from G.parse, or about $/ inside a closure inside a regex?
masak sorear: then what's the problem?
cognominal coffeekup++
masak lichtkind: greetings.
15:23 espadrine joined
masak moritz: the latter. 15:24
lichtkind jnthn: my talk sucked and let me know :)
masak moritz: well, regex or rule-in-grammar.
15:24 bluescreen10 left, wamba left 15:25 envi_laptop left
moritz then it's pretty clear that $¢ is the cursor and $/ the Match 15:25
PerlJam S05:916 fwiw
masak moritz: but what about $0? we even use that inside procedural parts of a rule... 15:26
and it means $/[0]
masak always disliked the variable $¢
moritz masak: it doesn't have to mean $/[0] inside the regex 15:27
15:27 mberends joined
moritz masak: it's OK if it just means 'text of the first () capture' 15:27
cognominal I have yet to understand the difference between $¢ and $/ within a rule. 15:28
moritz cognominal: basically $¢ is more in flux, and $/ is a snapshot
in an ordianry regex or grammar, there's not much reason to access $¢ at all 15:29
PerlJam $¢ will tell you where you're at in the middle of a parse. 15:30
($/ can only tell you where you ended up as I understand it)
cognominal and what $/ tells you in the middle of a parse?
the part of the parse, the parser is committed to? 15:31
meaning it wil not backtrace over.
*will
moritz thinks it might even backtrack over it 15:32
rakudo: say 'aaaab' ~~ /^(a+) { say $0 } aab / 15:33
p6eval rakudo c2194d: OUTPUT«Nil␤␤»
moritz b: say 'aaaab' ~~ /^(a+) { say $0 } aab /
p6eval b 1b7dd1: OUTPUT«aaaa␤aaa␤aa␤aaaab␤»
moritz there it backtracked over a closure, so $/ had a new value in the subsequent executions 15:34
sorear S05:921 says that $¢ and $/ start out the same in closures
moritz a difference is that the cursor needs to keep track of where to retry in case of a failure
sorear: I don't understand "the same" as meaning "the same object", but rather "with the same information" 15:35
masak moritz: my point is that if $0 has a modified meaning inside of a regex closure, then $/ should have a similar modified meaning, by symmetry. 15:36
15:37 bakedb_ left, bakedb_ joined
moritz masak: I was talking about $0 as in (\d+)$0 or so when I talked about modified meaning 15:38
not about regex closures
hzhnh z7
masak why would there be a difference? in both case I want to talk about the match-created-so-far. 15:39
PerlJam S05:4504 has some interesting information
particularly that last paragraph 15:40
cognominal S05 is not that long :)
PerlJam But I still don't quite grok $¢
cognominal: my copy is. It has 4528 lines 15:41
masak I grok Cursors by now. I don't get why it needs to have such an ugly variable name. :/
PerlJam masak: because ¢ looks like a C and that's to remind you it's a Cursor 15:42
cognominal it is an ackward smiley. Quite appropriate given our perplexity :)
15:43 mberends left
cognominal $/ smiley with frowned eyebrows 15:43
PerlJam masak: the only reason the match object isn't called $₥ or something is because / is so tightly bound to regex matches in historic perl 15:44
:-)
masak PerlJam: everything -- *everything* -- else in Perl 6 that has characters in Latin 1 but outside of ASCII, has ASCII fallbacks. except for $¢. 15:46
not that I'm sure that it'd improve the ugliness of $¢ if it did have a fallback. 15:47
PerlJam does it make a difference that it's so ugly? You almost never need to use it. 15:48
tadzik ingy: heh
masak PerlJam: it's only because it's so rare that I complain about it so rarely :P 15:49
PerlJam: I'd much prefer to have it be called $*CURSOR or something.
$¢ reminds me of the worst parts of Perl 5 variable naming. 15:50
cognominal ¢
pmurias thinks $¢ looks cute
tadzik ingy: so how did it pass the tests?
sorear masak: I don't understand your problem. Cursors *are* partially built Matches. 15:54
15:55 mberends joined
masak sorear: my problem, concretely, is that Niecza's output doesn't match Rakudo's for the p6eval code I entered. 15:57
masak decommutes
15:57 masak left 15:58 daxim left 15:59 lichtkind left
cognominal blames emacs for not automtically updateding the S05 buffer 15:59
16:02 bakedb__ joined 16:05 bakedb_ left 16:06 mberends left
im2ee How to get length of a string? :) 16:06
mls_ perl6: my $ex = Exception.new(); say $ex 16:07
pmurias perl6: say "123".chars
p6eval niecza v9-32-g380d891: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'Exception' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1136 (STD P6.comp_unit @ 36) ␤…
..rakudo 313b68: OUTPUT«get_pmc_keyed_str() not implemented in class 'Mu'␤ in method Str at src/gen/CORE.setting:5710␤ in method perl at src/gen/CORE.setting:616␤ in method gist at src/gen/CORE.setting:613␤ in sub say at src/gen/CORE.setting:4729␤ in <anon> at /tmp/cj1NTKUUjV:1␤ in …
..pugs: OUTPUT«*** No such subroutine: "&Exception"␤ at /tmp/fO6bUuwq4R line 1, column 5-25␤»
pugs, rakudo 313b68, niecza v9-32-g380d891: OUTPUT«3␤»
PerlJam im2ee: in bytes? code points? characters? what? ;) 16:08
im2ee PerlJam, characters :)
pmurias im2ee: .chars for characters
im2ee pmurias++, thanks
:)
tadzik nom: say "ziąb".bytes 16:09
p6eval nom 313b68: OUTPUT«5␤»
jnthn home 16:10
moritz: OK, will look over changelog 16:11
16:12 MayDaniel joined
sorear perl6: say "ziąb".bytes 16:13
p6eval niecza v9-32-g380d891: OUTPUT«8␤»
..pugs: OUTPUT«decodeUTF8': bad data: '\261'␤5␤»
..rakudo 313b68: OUTPUT«5␤»
bbkr niecza response is interesting... 16:19
tadzik niecza: say "ąśćźż".bytes 16:20
p6eval niecza v9-32-g380d891: OUTPUT«10␤»
tadzik niecza: say "ąśćźz".bytes
p6eval niecza v9-32-g380d891: OUTPUT«10␤»
tadzik as if it was in utf-16
bbkr indeed. whch is IMO not a bug, spec does not force internal string representation, or does it? 16:21
cognominal I see a file named SAFE.setting, I expected that would define the default in the command line and S19 seems to say so. So how to enable that safe mode 16:24
16:24 Kivutarrr joined 16:27 mj41 left
JimmyZ --setting=SAFE ? 16:28
16:28 mberends joined
im2ee b: say "abc".split(//); 16:28
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Null regex not allowed at line 22, near ");"␤»
im2ee So, how can i do this? :)
JimmyZ rakudo: say "abc".split(/''/); 16:29
p6eval rakudo 313b68: OUTPUT« a b c ␤»
im2ee Ehh.. Right, thanks. :)
JimmyZ++
JimmyZ rakudo: say "abc".split('');
p6eval rakudo 313b68: OUTPUT«a b c␤»
jnthn rakudo: say "abc".comb 16:31
p6eval rakudo 313b68: OUTPUT«a b c␤»
16:31 pmurias left
jnthn cognominal: --setting=SAFE, as JimmyZ++ mentioned 16:31
[Coke] +1 on renaming $c^H/ to something more verbosely ascii.
jnthn [Coke]: $/.CURSOR :)
jnthn always types that rather than figuring out how to type...the other thing :)
[Coke] "why do we even HAVE that variable?" 16:32
</emperor's new groove>
mls_ jnthn: is there a pirop to test if a PMC is a sixmodelobject?
16:32 dakkar left
JimmyZ there are two, but I forgot which is better 16:33
cognominal JimmyZ++, jnthn++ 16:35
jnthn mls_: No, though pir::isa($obj, 'SixModelObject') will work. Where do you need to do taht though?
mls_: I've been trying quite hard to not ever do that so far. 16:36
mls_ I want to test if $!ex has been set in an exception.
There's probably a better way to do it
it get's initialized with Mu and later overwritten with the parrot exception
jnthn mls_: Does if $!ex { ... } not do it?
16:37 MayDaniel left
[Coke] I could use some manual uploads of rakudo smoke test files. (feather.perl6.nl:2653/rakudo) 16:37
jnthn nom: if pir::new('Exception') { say "yes" }
p6eval nom 313b68: OUTPUT«yes␤»
mls_ That didn't work for some reason
jnthn nom: if Mu { say "yes" }
p6eval nom 313b68: ( no output )
jnthn mls_: Hm...it'd be good to know what the reason is ;)
mls_ Hmm. I'll investigate
jnthn mls_: It kinda should.
sorear tadzik: exactly, niecza uses utf-16 (doesn't handle supplemenaries very well at all yet, though)
jnthn Unless Exception PMC's get_bool is very interesting.
sorear #phasers in 53?
[Coke] (the rakudo_test_run.tar.gz file generated by "spectest_smolder") 16:38
16:39 JimmyZ left, alester joined, mykhal left 16:41 packetknife joined
[Coke] sorear: that sounds familiar. (report) 16:41
sorear++ 16:42
jnthn "Making Niecza work more like Rakudo" :P
jnthn is happy to see some convergence there.
sorear "Hey, I can't be doing it better ALL the time" :P 16:43
but yes, convergence++
jnthn :) 16:44
16:48 birdwindupbird left
flussence (I hope uploading 50 of these tar.gz files doesn't break that server...) 16:51
[Coke] flussence: heh. it might. 16:53
mls_ jnthn: arhg, the code tricked me. $!ex works like it should
[Coke] please let me know if anything goes wonky. Obviously the GUI is just a shell at this point.
I hate my $!ex
flussence++ 16:54
flussence it's giving me a server error now and again, most are going through though
[Coke] whoa, holy crap. thanks. ;)
hopefully I can make some pretty pictures now ;)
flussence there you go, a bunch of files for commit IDs ~~ /^f/ 16:56
16:58 mykhal joined
[Coke] ^f ?> 17:00
flussence I couldn't be bothered coming up with a clever way to upload only a few of them, and the files are all named $commit_id.tar.gz :)
17:07 REPLeffect left
mls_ jnthn: do you know of any problems with classes and eval? 17:11
17:12 mberends left
jnthn mls_: Not off hand. 17:12
mls_: I fixed all the ones I did know about already. :)
mls_ In t/spec/S04-exception-handlers/catch.t line 106... there's an "eval '..." 17:13
I need to add a declaration of "class Naughty" into it so that the test works
Otherwise I get a "Missing block at line ..." error 17:14
jnthn mls_: That does sound a little adrift.
17:15 MayDaniel joined
TimToady phenny: tell masak you can't simultaneously argue that it's too complex and that it's easy to do with <?after> :) 17:17
phenny TimToady: I'll pass that on when masak is around.
jnthn nom: class Foo { }; eval 'say Foo'
p6eval nom 313b68: OUTPUT«Foo()␤»
jnthn nom: { class Foo { } }; eval 'say Foo' 17:18
p6eval nom 313b68: ( no output )
jnthn aha
diakopter lol "you are not TimToady who usually can ague everything both ways :)" 17:19
17:19 REPLeffect joined
TimToady I can argue things both ways, but masak++ can't. :) 17:19
jnthn mls_: I fear eval is making itself a fresh view of GLOBAL. 17:20
Hm, wonder what we're meant to do there.
:)
diakopter I'll ague you
mls_ yes, seems so.
;)
jnthn Guess eval should just grab the GLOBAL already in effect. 17:21
TimToady eval can probably just use the existing GLOBAL; it doesn't have to make a GLOBALish to be linked later, like separately compiled units need
buubot_backup TimToady: ERROR: "use" not allowed in expression at (eval 20) line 1, at end of line syntax error at (eval 20) line 1, near "just use the "
jnthn TimToady: wfm 17:22
TimToady eval die
buubot_backup TimToady: ERROR: Died at (eval 20) line 1.
jnthn eval unlink $0 # :P
buubot_backup jnthn: 0
diakopter eval "alive" 17:23
buubot_backup diakopter: alive
diakopter eval: use v6; 17:24
buubot_backup diakopter: ERROR: Perl v6.0.0 required--this is only v5.14.1, stopped at (eval 20) line 1. BEGIN failed--compilation aborted at (eval 20) line 1.
17:25 Chillance joined
mls_ ok, current state of exception patch: gist.github.com/1232725 17:28
I've resurrected my old rethrow_skipnextctx patch (the one pm didn't like)
seems to work well, it doesn't catch it's own exceptions and CATCH works like iy should 17:29
(i.e. when {} and the automatic rethrow works)
I'm currently playing with die() and exception payloads. 17:30
TimToady: did you backlog the discussion about exception object creation
S04-exception-handlers/catch.t contains 'die Naughty("error")'. Is that some old relict or supposed to work? 17:31
sorear jnthn: er. { class Foo { } }; eval 'say Foo' # SHOULD fail, imo
17:32 mberends joined
sorear jnthn: within the eval, GLOBAL::Foo would be valid, but Foo is a lexical alias and only valid within the braces 17:32
dalek kudo/nom: a979ded | jnthn++ | docs/ChangeLog:
Add some ChangeLog entries.
17:33
jnthn sorear: I think for packages we're allowed to go looking in GLOBAL too
sorear: Sub dispatch is lexical only
sorear: But the packages can be resolved by looking in GLOBAL at compile time.
mls_ perl6: { class Foo { } } ; class Foo {}
p6eval niecza v9-32-g380d891: OUTPUT«===SORRY!===␤␤Two definitions found for symbol ::GLOBAL::Foo␤␤ first at /tmp/Vbk7JocepZ line 1␤ second at /tmp/Vbk7JocepZ line 1 at /tmp/Vbk7JocepZ line 1:␤------> { class Foo { } } ; class Foo ⏏{}␤␤Nominal type check …
..pugs: ( no output )
..rakudo 313b68: OUTPUT«===SORRY!===␤Illegal redeclaration of class 'Foo' at line 1, near "{}"␤»
jnthn sorear: TimToady may feel differently of course. :) 17:34
std: { class Foo { } }; Foo.new
p6eval std c22b2ee: OUTPUT«ok 00:01 118m␤»
jnthn That comes back as OK in STD though.
sorear jnthn: I like to think of dispatch and name resolution as orthogonal things
jnthn Which is what I was going on there.
sorear Sub dispatch starts with a Sub or MultiSub object, not a Str
jnthn sorear: That's an excessively restricted view. 17:35
sorear wha?
jnthn Method dispatch certainly starts (v-table optimizations aside) with a string method name.
sorear yes but that's method dispatch
17:36 masak joined
masak #phasers in 128? 17:36
phenny masak: 17:17Z <TimToady> tell masak you can't simultaneously argue that it's too complex and that it's easy to do with <?after> :)
jnthn masak: #phasers NOW!
sorear masak: -6, iirc
masak o.O
masak is so totally unprepared!
jnthn Or so I was told ;)
masak: Just make stuff up :P
mls_ afk -> home... (enjoy phasers!) 17:37
masak what kind of starting time is that? UTC 17:46?
sorear 1730
masak ah.
jnthn mls_: Thanks...will look over the patch :)
mls_ work in progress, mind you
thanks 17:38
sorear jnthn: it seems to me that foo(1,2,3) should always mean the same as my $v = &foo; $v.(1,2,3) 17:39
jnthn sorear: I don't disagree :)
sorear I don't like the idea that dispatch influences name resolution
jnthn I'm really not sure what you're getting at :/ 17:40
masak TimToady: "too complex" as in "too complex a feature to provide in the grammar engine". the fact that it's easy to do with <?after> just makes the complex feature less necessary.
17:40 pernatiy left
sorear 10:34 < sorear> Sub dispatch starts with a Sub or MultiSub object, not a Str 17:40
10:35 < jnthn> sorear: That's an excessively restricted view.
I'm trying to figure out what your view is
17:41 jfried left, jfried joined
jnthn sorear: I think it's fair to include looking up &foo as part of the process called "dispatch". But I'm not sure it's an important distinction really. 17:41
17:41 bakedb__ left 17:47 packetknife left
masak TimToady: but yeah, I see what you mean. maybe it's trivial to map from ** -$N to <?after>. in which case I simply won't care about the feature :P 17:47
17:51 mj41 joined
moritz nqp: say 'foo'.encoding 17:55
p6eval nqp: OUTPUT«Confused at line 1, near "say 'foo'."␤current instr.: 'nqp;HLL;Grammar;panic' pc 23698 (src/stage2/gen/NQPHLL.pir:6361) (src/stage2/gen/NQPHLL.pm:329)␤»
moritz nqp: say('foo'.encoding)
p6eval nqp: OUTPUT«Method 'encoding' not found for invocant of class 'String'␤current instr.: '_block1000' pc 36 ((file unknown):36) (/tmp/Y8x1oHyWHs:1)␤»
17:56 Kivutarrr left, jaldhar left 18:01 frhodes_ joined 18:03 frhodes left 18:06 mkramer joined
moritz nqp: set__vPII(1, 1, 1, 1) 18:10
p6eval nqp: OUTPUT«Could not find sub set__vPII␤current instr.: '_block1000' pc 33 ((file unknown):34) (/tmp/mnpyek54YG:1)␤»
moritz nqp: pir::set__vPII(1, 1, 1, 1) 18:11
p6eval nqp: OUTPUT«error:imcc:The opcode 'set_p_i_i_i' (set<4>) was not found. Check the type and number of the arguments␤ in file '(file unknown)' line 45␤»
moritz nqp: pir::set__vPII(1, 1, 1)
p6eval nqp: OUTPUT«error:imcc:The opcode 'set_p_i_i' (set<3>) was not found. Check the type and number of the arguments␤ in file '(file unknown)' line 40479050␤»
[Coke] flussence: did you write a script to do the upload? 18:12
(back from meetings)
18:12 Trashlord left
im2ee Ehh, i forger - what i should use instead of # in perl5 ( to know last index of array)? :) 18:13
jnthn .end
im2ee jnthn++, thanks. :)
flussence [Coke]: just a curl one-liner 18:14
18:14 packetknife joined
[Coke] sweet 18:14
18:15 espadrine left 18:16 Trashlord joined
colomon doh, missed #phasers 18:16
moritz colomon: not yet 18:17
colomon is it in 11 min? 18:19
tadzik I thought I'm late
sorear colomon: it started 49 minutes ago but it's not quite over
PerlJam #phasers starts at 1730 UTC, it's currently 1820 18:20
colomon now has to track EDT, Newfoundland time, and UTC on Wednesdays. :) 18:21
sorear Newfoundland time, why?
and is tracking UTC on Wednesdays that much harder than tracking it on Tuesdays?
colomon sorear: music lesson with a Newfoundlander via Skype. 18:23
18:27 am0c joined
[Coke] does rakudo transcode a lot? 18:28
18:28 am0c left
[Coke] #parrot is asking. 18:28
.. music lessons over skype? huh.
colomon [Coke]: works quick nicely 18:30
tadzik interesting
colomon *quite
18:34 kaleem joined
[Coke] wonders if calling his 14 year old nemo is going to stick. (broke his collarbone this week, so he has a gimpy arm.) 18:36
TimToady masak: re irclog.perlgeek.de/perl6/2011-09-21#i_4458695, $op.$ck is hard ref only, while $op."$ck" is soft ref only
18:37 am0c joined
TimToady s/soft/sym/ 18:37
masak ok. makes sense. 18:39
18:41 risou_awy is now known as risou 18:45 birdwindupbird joined
ingy tadzik: it didn't! 18:45
tadzik eek
18:45 donri left 18:46 donri joined, birdwindupbird left
ingy moritz: I had a great idea. Pegex::Compiler::Emitter::P6Rules 18:46
should be trivial to write
18:48 wamba joined
pmichaud sorry I've missed #phasers -- I was unexpectedly commandeered for the afternoon :-| 18:48
18:54 sayu left
[Coke] pmichaud: o/ . o O (Hope everything's OK!) 18:55
pmichaud things are overall fine; just very hectic around the house at the moment
18:56 MayDaniel left 19:05 kaleem left
moritz rakudo: say (102, 111, 111).chrs 19:10
p6eval rakudo a979de: OUTPUT«Method 'chrs' not found for invocant of class 'Parcel'␤ in <anon> at /tmp/xX_DUeeBSW:1␤ in <anon> at /tmp/xX_DUeeBSW:1␤␤»
moritz rakudo: say (102, 111, 111).list.chrs
p6eval rakudo a979de: OUTPUT«foo␤»
moritz nqp: say(pir::find_encoding__is('UTF-8')) 19:11
p6eval nqp: OUTPUT«encoding 'UTF-8' not found␤current instr.: '_block1000' pc 24 ((file unknown):34) (/tmp/EB3mumY1_0:1)␤»
moritz nqp: say(pir::find_encoding__is('utf-8'))
p6eval nqp: OUTPUT«encoding 'utf-8' not found␤current instr.: '_block1000' pc 24 ((file unknown):34) (/tmp/5FscBLnqSf:1)␤»
moritz nqp: say(pir::find_encoding__is('utf8'))
p6eval nqp: OUTPUT«3␤»
19:14 risou is now known as risou_awy 19:15 risou_awy is now known as risou 19:24 am0c left 19:27 pernatiy joined
masak rakudo: my @dict = <a b c>; say (@dict X @dict X @dict)».join 19:28
p6eval rakudo a979de: OUTPUT«a a a a a b a a c a b a a b b a b c a c a a c b a c c b a a b a b b a c b b a b b b b b c b c a b c b b c c c a a c a b c a c c b a c b b c b c c c a c c b c c c␤»
masak hm.
rakudo: my @dict = <a b c>; say .join for @dict X @dict X @dict
p6eval rakudo a979de: OUTPUT«a␤a␤a␤a␤a␤b␤a␤a␤c␤a␤b␤a␤a␤b␤b␤a␤b␤c␤a␤c␤a␤a␤c␤b␤a␤c␤c␤b␤a␤a␤b␤a␤b␤b␤a␤c␤b␤b␤a␤b␤b␤b␤b␤b␤c␤b␤c␤a␤b␤c␤b␤b␤c␤c␤c␤a␤a␤c␤a␤b␤c␤a␤c␤c␤b␤a␤c␤b␤b␤c␤b␤c␤c␤c␤a␤c␤c␤b␤c␤c␤c␤»…
masak ah.
TimToady you're looking for lol maybe? 19:29
masak seems like.
TimToady by the evidence, lol seems to be HHF
masak :/ 19:30
TimToady if someone would just implement .tree, it'd be LHF :) 19:31
19:31 risou is now known as risou_awy
moritz .tree? 19:31
TimToady S02:4553 19:32
might be misnamed 19:33
masak rakudo: multi combs(@, 0) { "" }; multi comb { combs(@^dict, $^n - 1) X~ @dict }; .say for combs(<a b c>, 4)
p6eval rakudo a979de: OUTPUT«No applicable candidates found to dispatch to for 'combs'. Available candidates are:␤:(Positional, Int)␤␤ in sub combs at /tmp/fqPfCLCp36:1␤ in <anon> at /tmp/fqPfCLCp36:1␤ in <anon> at /tmp/fqPfCLCp36:1␤␤»
masak rakudo: multi combs(@, 0) { "" }; multi combs { combs(@^dict, $^n - 1) X~ @dict }; .say for combs(<a b c>, 4)
p6eval rakudo a979de: OUTPUT«aaaa␤aaab␤aaac␤aaba␤aabb␤aabc␤aaca␤aacb␤aacc␤abaa␤abab␤abac␤abba␤abbb␤abbc␤abca␤abcb␤abcc␤acaa␤acab␤acac␤acba␤acbb␤acbc␤acca␤accb␤accc␤baaa␤baab␤baac␤baba␤babb␤babc␤baca␤bacb␤bacc␤bbaa␤bbab␤bbac␤bbba␤bbbb␤bbbc␤bbca␤bbcb␤bbcc␤bcaa␤bcab␤bcac␤bcba␤bcbb␤bcbc␤bcca␤bccb␤…
masak \o/ 19:34
im2ee \o/
masak im2ee: want me to walk you through it?
TimToady rakudo: my $x = "aaaa"; .say for $x++
p6eval rakudo a979de: OUTPUT«aaaa␤»
im2ee masak, wait, i'm reading :)
masak ok :)
TimToady rakudo: my $x = "aaaa"; .say for $x ... *
p6eval rakudo a979de: OUTPUT«aaaa␤Decrement out of range␤ in method pred at src/gen/CORE.setting:2706␤ in sub coro at src/gen/CORE.setting:3821␤ in method reify at src/gen/CORE.setting:3790␤ in method reify at src/gen/CORE.setting:3594␤ in method reify at src/gen/CORE.setting:3594␤ in me… 19:35
TimToady heh
rakudo: my $x = "aaaa"; .say for $x ... 'zzzz'
im2ee masak, yes.. Could You?
p6eval rakudo a979de: OUTPUT«(timeout)»
masak im2ee: gladly :)
TimToady something looks unlazy
masak im2ee: so, 'multi' means that I can have several subs with the same name, but different signatures.
im2ee: here, I have two of them. the first takes an array and the Int 0. 19:36
TimToady rakudo: $_ = "aaaa"; .++.say while 1
p6eval rakudo a979de: OUTPUT«===SORRY!===␤Method 'unshift' not found for invocant of class 'Undef'␤»
masak im2ee: the second has an implicit signature. that's what the '^' characters are doing.
TimToady o_O
masak im2ee: now, this is a simple recursion. the first multi represents the base case: all combinations of length 0 of some alphabet is the empty string. 19:37
TimToady b: $_ = "aaaa"; .++.say while 1
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Method 'unshift' not found for invocant of class 'Undef'␤»
TimToady niecza: $_ = "aaaa"; .++.say while 1
p6eval niecza v9-32-g380d891: OUTPUT«(timeout)aaaa␤aaab␤aaac␤aaad␤aaae␤aaaf␤aaag␤aaah␤aaai␤aaaj␤aaak␤aaal␤aaam␤aaan␤aaao␤aaap␤aaaq␤aaar␤aaas␤aaat␤aaau␤aaav␤aaaw␤aaax␤aaay␤aaaz␤aaba␤aabb␤aabc␤aabd␤aabe␤aabf␤aabg␤aabh␤aabi␤aabj␤aabk␤aabl␤aabm␤aabn␤aabo␤aabp␤aabq␤aabr␤aabs␤aabt␤aabu␤aabv␤aabw␤aab…
moritz gist.github.com/1233070 # fake Buf class for nom, for your consideration. 19:38
TimToady pugs: $_ = "aaaa"; .++.say while 1
masak im2ee: to get all combinations of strings of length $n, just generate all combinations of length one character shorter, and then append all possible characters from the dictionary to all possible such strings.
p6eval pugs: OUTPUT«(timeout)aaaa␤aaab␤aaac␤aaad␤aaae␤aaaf␤aaag␤aaah␤aaai␤aaaj␤aaak␤aaal␤aaam␤aaan␤aaao␤aaap␤aaaq␤aaar␤aaas␤aaat␤aaau␤aaav␤aaaw␤aaax␤aaay␤aaaz␤aaba␤aabb␤aabc␤aabd␤aabe␤aabf␤aabg␤aabh␤aabi␤aabj␤aabk␤aabl␤aabm␤aabn␤aabo␤aabp␤aabq␤aabr␤aabs␤aabt␤aabu␤aabv␤aabw␤aabx␤aaby␤aabz␤aaca␤…
19:38 daniel-s left
TimToady looks like rakudo has a long-standing bug here... 19:38
masak im2ee: the 'X~' operator means "concatenate all against all".
im2ee: is this making any sense? 19:39
19:39 zby_home joined
TimToady rakudo: $_ = "aaaa"; $_++.say while 1 19:40
moritz I'm sure tehre's a advent claendar post that explains meta ops in more details
p6eval rakudo a979de: OUTPUT«(timeout)aaaa␤aaab␤aaac␤aaad␤aaae␤aaaf␤aaag␤aaah␤aaai␤aaaj␤aaak␤aaal␤aaam␤aaan␤aaao␤aaap␤aaaq␤aaar␤aaas␤aaat␤aaau␤aaav␤aaaw␤aaax␤aaay␤aaaz␤aaba␤aabb␤aabc␤aabd␤aabe␤aabf␤aabg␤aabh␤aabi␤aabj␤aabk␤aabl␤aabm␤aabn␤aabo␤aabp␤aabq␤aabr␤aabs␤aabt␤aabu␤aabv␤aabw␤aabx␤aaby␤a…
im2ee masak, it is awesome! It's clear now. but i have some questions. :)
masak moritz: at least one.
im2ee Can I? :)
Woodi do sub with optional params is slower then with declared ?
TimToady I guess rakudo doesn't like .++
masak im2ee: yes, go ahead :)
rakudo: $_ = 4; .++; .say 19:41
p6eval rakudo a979de: OUTPUT«===SORRY!===␤Method 'unshift' not found for invocant of class 'Undef'␤»
masak submits rakudobug
tadzik Woodi: what do you mean by "declared"? 19:42
im2ee So. my program goes from a up to ccc :)
19:42 am0c joined
masak oh! 19:42
im2ee a, b, c, aa, ab, ac, ba,bb,bc and so on
masak I see.
Woodi known: sub a( $p1, $p2 )
tadzik and, I don't think it's what you should think about, even given the current performance on most of the implementations
im2ee So it's something else, but it's awesome! :)
b: say "aaaa".."aaad";
19:42 perlygatekeeper joined
p6eval b 1b7dd1: OUTPUT«aaaaaaabaaacaaad␤» 19:42
im2ee b: say "aaaa".."aabb"; 19:43
p6eval b 1b7dd1: OUTPUT«aaaaaaabaaacaaadaaaeaaafaaagaaahaaaiaaajaaakaaalaaamaaanaaaoaaapaaaqaaaraaasaaataaauaaavaaawaaaxaaayaaazaabaaabb␤»
tadzik seems that there's pretty many of us, Poles on this channel these days
masak rakudo: multi combs(@, 0) { "" }; multi combs { combs(@^dict, $^n - 1) X~ @dict }; (.say for combs(<a b c>, $_)) for 1..4
p6eval rakudo a979de: OUTPUT«a␤b␤c␤aa␤ab␤ac␤ba␤bb␤bc␤ca␤cb␤cc␤aaa␤aab␤aac␤aba␤abb␤abc␤aca␤acb␤acc␤baa␤bab␤bac␤bba␤bbb␤bbc␤bca␤bcb␤bcc␤caa␤cab␤cac␤cba␤cbb␤cbc␤cca␤ccb␤ccc␤aaaa␤aaab␤aaac␤aaba␤aabb␤aabc␤aaca␤aacb␤aacc␤abaa␤abab␤abac␤abba␤abbb␤abbc␤abca␤abcb␤abcc␤acaa␤acab␤acac␤acba␤acbb␤acbc␤acca…
masak im2ee: there :P
Woodi :) but my Righe Alt not working as expected here :)
masak fixed it.
im2ee masak, so.. My question is. Could You show me some examples of how works ^? 19:44
masak im2ee: sure!
im2ee masak, fantastic. :)
masak rakudo: .say for <a b c> X~ <d e f>
p6eval rakudo a979de: OUTPUT«ad␤ae␤af␤bd␤be␤bf␤cd␤ce␤cf␤»
tadzik im2ee: I see you capitalizing You, as you'd do with Cię :)
masak im2ee: look at that output.
im2ee: do you see how it works?
im2ee tadzik, right :)
tadzik im2ee: been there, done that too :P 19:45
masak rakudo: .say for "OH", "AH" X~ " " X~ "HAI", "NOES"
p6eval rakudo a979de: OUTPUT«OH HAI␤OH NOES␤AH HAI␤AH NOES␤»
im2ee masak, i see, but why .say instead of say? :)
masak im2ee: $_.say
im2ee Oh! right!
masak im2ee: in Perl 5, you just go "say".
in Perl 6, you have to be more exact :)
we don't like to do implicit $_ 19:46
im2ee tadzik, is it wrong here? :)
masak well, except in the sense of .say :P
tadzik im2ee: seems so, English people don't capitilize Ci or Cię
seemed weird to me too ;)
I think one of my blogs posts is still full of those
masak im2ee: it's technically correct to say "You", but it's neither common nor necessary.
the familiarity it projects isn't called for, more or less. 19:47
er, s/familiarity/formality/
im2ee masak, so, i understand .say. Whats next? :)
19:47 wallberg joined
tadzik ttjjss.wordpress.com/2010/08/09/so-...-6-module/ this one :P 19:47
masak im2ee: placeholder variables, probably.
im2ee I know how works X and Z operators.
19:47 am0c left
masak rakudo: sub foo($a, $b) { say "$a is $b!" }; foo "cake", "tasty" 19:48
p6eval rakudo a979de: OUTPUT«cake is tasty!␤»
masak rakudo: sub foo { say "$^a is $^b!" }; foo "cake", "tasty"
p6eval rakudo a979de: OUTPUT«cake is tasty!␤»
masak im2ee: so you see, I can put the parameters to &foo "inside".
they're picked up and populated alphabetically. 19:49
im2ee rakudo: sub foo { say "$^a is $^b and $^c" }; foo "cake", "tasty", "so on";
p6eval rakudo a979de: OUTPUT«cake is tasty and so on␤»
masak :)
rakudo: sub foo { say "$^c is $^a and $^b" }; foo "cake", "tasty", "so on";
p6eval rakudo a979de: OUTPUT«tasty is cake and so on␤»
masak o.O
Woodi tadzik: and where to put stuf like scripts for performance testing (but not to install like in bin) ?
masak submits rakudobug
TimToady rakudo: sub foo { say "$^first is $^second and $^third" }; foo "cake", "tasty", "so on"; 19:50
p6eval rakudo a979de: OUTPUT«cake is tasty and so on␤»
tadzik Woodi: wherever you want them. Unknown directories, like 'donkey' will simply be ignored
Woodi k, just will be skipped
tadzik also, the article is a bit outdated, you use META.info these days 19:51
im2ee masak, you used $^dictonary and $^n in You one liner :)
So i can use any name for them?
jnthn rakudo: ({ say "$^b $^a" })(1, 2);
p6eval rakudo a979de: OUTPUT«2 1␤»
TimToady rakudo: sub foo { say "$^first is $^second and $^third" }; foo "cake", "tasty", "so on";
p6eval rakudo a979de: OUTPUT«cake is tasty and so on␤»
masak im2ee: yes, as long as the order is right. 19:52
19:52 packetknife left
jnthn rakudo: ({ say "$^c $^b $^a" })(1, 2, 3); 19:52
p6eval rakudo a979de: OUTPUT«3 2 1␤»
jnthn rakudo: ({ say "$^b $^a $^c" })(1, 2, 3);
p6eval rakudo a979de: OUTPUT«2 1 3␤»
im2ee masak, alphabetic order, right?
jnthn Yup
TimToady unicodabetical, but yeah
im2ee Ok, so it's clear i think.
jnthn rakudo: ({ say "$^c $^a $^b" })(1, 2, 3); 19:53
p6eval rakudo a979de: OUTPUT«2 1 3␤»
im2ee rakudo: say <a b c> Z <d e f>;
p6eval rakudo a979de: OUTPUT«a d b e c f␤»
im2ee rakudo: say <a b c> X <d e f>;
p6eval rakudo a979de: OUTPUT«a d a e a f b d b e b f c d c e c f␤»
jnthn er...huh.
TimToady * vs ** 19:54
masak jnthn: yeah. submitting that one now.
TimToady is .++ in there yet?
masak aye. 19:55
want the URL?
TimToady nope :)
masak :)
TimToady I just like bugging you
jnthn .++ ?
masak oh, come on!
:P
TimToady rakudo: $_ = "aaaa"; .++.say while 1
p6eval rakudo a979de: OUTPUT«===SORRY!===␤Method 'unshift' not found for invocant of class 'Undef'␤» 19:56
jnthn rakudo: $_ = "aaaa"; $_.++.say while 1
p6eval rakudo a979de: OUTPUT«Could not find sub &postfix:<.>␤ in <anon> at /tmp/572iM_2DAt:1␤ in <anon> at /tmp/572iM_2DAt:1␤␤»
jnthn hm
b: $_ = "aaaa"; $_.++.say while 1
p6eval b 1b7dd1: OUTPUT«Could not find sub &postfix:<.>␤ in main program body at line 22:/tmp/w_RVbwa2Qw␤»
jnthn ah, not a regression.
TimToady a transgression :P 19:57
im2ee Hmm, what does .++? ;>
TimToady pugs: $_ = "aaaa"; .++.say while 1
p6eval pugs: OUTPUT«(timeout)aaaa␤aaab␤aaac␤aaad␤aaae␤aaaf␤aaag␤aaah␤aaai␤aaaj␤aaak␤aaal␤aaam␤aaan␤aaao␤aaap␤aaaq␤aaar␤aaas␤aaat␤aaau␤aaav␤aaaw␤aaax␤aaay␤aaaz␤aaba␤aabb␤aabc␤aabd␤aabe␤aabf␤aabg␤aabh␤aabi␤aabj␤aabk␤aabl␤aabm␤aabn␤aabo␤aabp␤aabq␤aabr␤aabs␤aabt␤aabu␤aabv␤aabw␤aabx␤aaby␤aabz␤aaca␤…
benabik .++ looks odd to me. It seems to mean that ++ is a method. 19:58
Which I can dig, I've used Scala.
TimToady any postfix may be written with a dot
masak im2ee: $_++
TimToady (except alphabetic ones)
masak TimToady: instead of 'while 1', there should be a statement-modifying 'loop' :P 19:59
TimToady no
masak prolly not.
jnthn Just call it "forever"
masak ooh
jnthn $_++ forever;
masak there will be modules! 20:00
TimToady someone needs to write macros
jnthn beer() forever;
PerlJam heh
masak -Ofun forever;
benabik Ah. methods have to start with <alpha>, so .++ can never be a method. (Yes?)
20:01 mkramer left
TimToady correct, and .i is a method, not the i postfix 20:01
perl6: my $real = 42; say $real\i 20:02
p6eval niecza v9-32-g380d891: OUTPUT«0+42i␤»
..rakudo a979de: OUTPUT«0 + 42i␤»
..pugs: OUTPUT«*** ␤ Unexpected "i"␤ expecting "(" or "."␤ at /tmp/7vZDu5oWr8 line 1, column 26␤»
TimToady that works though
benabik I've been doing too much set theory… I read that as "set difference of real and i"
TimToady
.oO(the set of all subsets of set theory that are too much...)
20:04
tadzik what is that backslash doing in there?
masak rakudo: multi fac(0) { 1 }; multi fac(Int $n) { $n * fac $n - 1 }; say fac 5
p6eval rakudo a979de: OUTPUT«120␤»
TimToady it's very short unspace
tadzik I see
jnthn literally un-
benabik nom: my $real = 42; say $real i # does this parse?
tadzik un''
p6eval nom a979de: OUTPUT«===SORRY!===␤Confused at line 1, near "say $real "␤»
TimToady perl6: my $real = 42; say $real\ i 20:05
benabik Didn't think so.
p6eval niecza v9-32-g380d891: OUTPUT«0+42i␤»
..rakudo a979de: OUTPUT«0 + 42i␤»
..pugs: OUTPUT«*** ␤ Unexpected "i"␤ expecting "."␤ at /tmp/vT6E4da7kU line 1, column 33␤»
benabik Poor pugs. I'm seeing more and more errors from it these days.
TimToady spec rot :)
masak yeah. it's a red queen situation. 20:06
TimToady nap & 20:09
masak rakudo: say (<a b c> X <d e f>).perl 20:10
p6eval rakudo a979de: OUTPUT«(("a", "d"), ("a", "e"), ("a", "f"), ("b", "d"), ("b", "e"), ("b", "f"), ("c", "d"), ("c", "e"), ("c", "f")).list␤»
masak rakudo: say (<a b c> X~ <d e f>).perl
p6eval rakudo a979de: OUTPUT«("ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf").list␤»
benabik masak: red queen? 20:14
masak benabik: en.wikipedia.org/wiki/Red_Queen%27s_Hypothesis 20:15
benabik Ooh, wikipedia. I don't need to get work done this afternoon… Wait, I do. Drat. 20:16
masak :P
benabik masak++: Hadn't heard that one. Very interesting.
masak benabik: basically, if you stand still, you lose the race.
because everything else is moving forwards. 20:17
oh dang, that was a really bad explanation :P
benabik masak: I did skim it. That's just my first response to WP links. I get lost in encyclopedias.
masak you have to *run* just to keep your place. that's better.
this is why trees are tall, for example. because all the other trees are. 20:18
jnthn oh meh
colomon shakes his head at these kids today who don't know their Lewis Carroll. ;)
tadzik well
benabik Red Queen's Hypothesis does lead to Philosophy.
tadzik if you're eating all the time, you get fat
masak colomon: I could've found the quote, true.
benabik colomon: I've read it, it just doesn't pop to mind when I'm doing networking homework.
jnthn Turns out iterating an RPA and changing it at the same time causes issues.
20:21 bbkr1 left
jnthn Like...being given back an undef instead of the expected value... :/ 20:22
It then auto-vivs, gets an empty variable name, and thus the placeholder insert gets screwed up.
jnthn just changes it to use splice 20:23
benabik modifying collections you're iterating on is generally hazardous.
jnthn yeah
It's more efficient the splice way.
masak rakudo: my &c = { return "" if !$^a; @^d X~ c $a - 1, @d }; (.say for .&c <a b c>) for ^5
p6eval rakudo a979de: OUTPUT«===SORRY!===␤Confused at line 1, near "(.say for "␤»
masak rakudo: my &c = { return "" if !$^a; @^d X~ c $a - 1, @d }; (.say for .&c: <a b c>) for ^5 20:24
p6eval rakudo a979de: OUTPUT«Too many positional parameters passed; got 4 but expected 2␤ in block <anon> at /tmp/bmCTWPHqtY:1␤ in method dispatch:<var> at src/gen/CORE.setting:670␤ in block <anon> at /tmp/bmCTWPHqtY:1␤ in method reify at src/gen/CORE.setting:3690␤ in method reify at src/…
masak rakudo: my &c = { return "" if !$^a; @^d X~ c $a - 1, @d }; (.say for .&c(<a b c>)) for ^5
p6eval rakudo a979de: OUTPUT«Too many positional parameters passed; got 4 but expected 2␤ in block <anon> at /tmp/WqAqG1KJ9F:1␤ in method dispatch:<var> at src/gen/CORE.setting:670␤ in block <anon> at /tmp/WqAqG1KJ9F:1␤ in method reify at src/gen/CORE.setting:3690␤ in method reify at src/…
masak rakudo: my &c = { return "" if !$^a; @^d X~ c $a - 1, @d }; (.say for .&c([<a b c>])) for ^5
p6eval rakudo a979de: OUTPUT«␤␤␤␤␤»
masak hm.
jnthn o.O
20:24 pmichaud left, hugme left, jrockway_ left
benabik wonders if he can update Colloquy's style CSS to make p6eval's text smaller for less scrolling. 20:24
tadzik oh, nqp doesn't build 20:25
jnthn Just built for me. 20:26
tadzik on the fresh parrot?
jnthn yeah
tadzik get_pointer() not implemented in class 'GLOBALish'
benabik parrot merged a branch that breaks NQP. the kill-useless-defaults branch in nqp.git fixes it.
tadzik odd
jnthn tadzik: Oh, by fresh you mean, bleeding edge?
tadzik oh, thanks
jnthn Not release one?
tadzik jnthn: yep
20:26 Tene_ is now known as Tene___________
jnthn Right, but we don't apply that pull request just yet. 20:26
benabik Release is fine. There was a small batch of "we can break things now!" post-release. :-D 20:27
jnthn As we probably want the compiler release against the Parrot one.
tadzik troo
20:27 mykhal left
dalek kudo/nom: 3b1fe55 | jnthn++ | src/Perl6/Actions.pm:
Fix placeholder parameter sorting bug.
20:30
jnthn masak: ^
If somebody could do a test and close the ticket... :)
masak jnthn++ 20:31
jnthn: so the bug was iterating (with while) and modifying at the same time? 20:32
because otherwise the code looks identical!
20:33 mykhal joined
jnthn masak: Doing shit in a for loop 20:34
...
doing SHIFT in a for loop
tadzik jnthn: you think you'll be able to convince anybody that you didn't write that intentionally :P 20:35
jnthn tadzik: Probably freudian :P
tadzik :P 20:36
jnthn typo'd freudian at the first attempt :S
benabik froodian slip = falling down, but looking cool while you doo.
do. Bah.
jnthn :)
masak jnthn: New explanation for structural programming: "Doing shit in a for loop" :P 20:37
benabik: A Freudian slip is saying one thing but meaning your mother.
20:38 wallberg left
tadzik doo 20:38
jnthn
.oO( If I'd typo'd *any other word* in that sentence... )
oh
Rakudo day tomorrow
Anybody got anything they especially want me to look at?
tadzik jnthn: we will sit silent because there'd be no topic for a conversation? :)
jnthn: Buf
?
jnthn Ah 20:39
tadzik: pmichaud++ has a plan for Buf. I'm happy to task steal it. But I want to find out what he had in mind first. I may be able to do that tomorrow though.
tadzik okay
20:40 tomaw is now known as 5EXAAAB0J, pmichaud joined, hugme joined, jrockway_ joined, zelazny.freenode.net sets mode: +v hugme
tadzik I don't have anything blocking on this, I'm just pointing things out :) 20:40
20:40 5EXAAAB0J is now known as tomaw
tadzik jnthn: how about blizkost/zavolaj? 20:40
jnthn tadzik: Yeah, I should really look at zavolaj soon.
Actually that'd be quite a decent thing to look at tomorrow. 20:41
tadzik as for blizkost, I maybe mean more like :from<parrot> than anything else
so basically, auto-sixmodelizing stuff I suppose
jnthn hm 20:42
Yeah
There's some tricky design stuff to do there, I suspect.
tadzik I was thinking about that some time ago
I believe turning every single thing passing in into a full-blown Perl 6 object could be quite slowish
jnthn Probably, and maybe not feasible in general. 20:43
tadzik a weird idea of a lazy SixModelObject came to my mind, something that will know of its repr, but will fill out the other bits when asked for them
benabik Maybe it would be possible to have a kind of "default HOW" that translates lookups into the appropriate PMC operations and modifications into errors. 20:44
jnthn Well, any solution is probably going to want to be based on delegation.
tadzik yep 20:45
or maybe some sort of a generic ParrotHOW
Parrot being ParrotObject
jnthn yeah
benabik I guess the important thing there is the "Default" part… Something returned for anything that doesn't have an explicit HOW (which should just be Parrot PMCs.)
tadzik hence ParrotObjHOW 20:47
make: *** [blib/Perl6/Pod.pbc] Segmentation fault
fun
jnthn brb 20:48
benabik tadzik: fsvo fun 20:53
tadzik and now it's make: *** [blib/Perl6/SymbolTable.pbc] Segmentation fault 20:54
so it's not about Pod, yay :)
im2ee if $line ~~ any( %!funcs.keys ) # is it correct? 20:55
or == instead of ~~? :) 20:56
tadzik ~~ should work fine
== is numeric comparison
im2ee Ok, so it's correct. thanks tadzik :)
tadzik and if those are strings, and I suppose they are, ~~ will be just eq
im2ee Parcel() is array, right? 20:59
21:03 perlygatekeeper left
tadzik not really 21:04
Parcel is just a comma-separated thing, whatever it is
it more syntactical than semantical
21:05 benabik left
im2ee rakudo: my @tab = 1, 2, <a b c>, 3; say @tab.WHAT; 21:05
p6eval rakudo 3b1fe5: OUTPUT«Array()␤» 21:06
im2ee rakudo: say <a b c>.WHAT;
p6eval rakudo 3b1fe5: OUTPUT«Parcel()␤»
im2ee Hmm, right.
21:07 araujo left, soh_cah_toa joined 21:08 kaare_ left
im2ee So.. It's time for me. 21:08
Good night everyone! :)
tadzik 'night! 21:09
masak 'n
dobranoc
im2ee :)
tadzik so, me being in the same timezone, should be probably going to sleep as well
21:09 im2ee left
masak :) 21:09
cotto_work Am I correct in understanding that nqp's kill-useless-defaults branch will be merged after the Rakudo release on Friday? 21:12
tadzik I think so 21:17
[Coke] I would love to see a reply to Andy D.'s message re: get_pointer. 21:18
masak 'night, #perl6 21:22
jnthn 'night o/
cotto_work 'night 21:23
21:23 mj41 left, pmichaud left, hugme left, jrockway_ left 21:24 araujo joined
cotto_work [Coke]: there you go 21:24
two for the price of one
or the price of four 21:25
21:25 perlygatekeeper joined 21:31 wamba left 21:32 tomaw is now known as 5EXAAAB0J 21:34 5EXAAAB0J is now known as tomaw 21:36 pmichaud joined, hugme joined, jrockway_ joined, zelazny.freenode.net sets mode: +v hugme 21:59 gfldex left 22:01 gfldex joined 22:08 athomason joined 22:11 bakedb__ joined
dalek kudo/nom: a26660d | jnthn++ | src/Perl6/Metamodel/ (2 files):
Fix diamond role composition.
22:21
kudo/nom: b0b9b78 | jnthn++ | src/Perl6/Actions.pm:
Ensure that we compose a ParametricRoleHOW before adding it to the group, so the group gets the fully composed view of it.
22:28 alester left
dalek ast: cdb3f48 | jnthn++ | S14-roles/composition.t:
Improve test for role composition conflict error; don't require it uses the word collides, but do require it mentions the names of the roles.
22:40
ast: ebdee8d | jnthn++ | S14-traits/attributes.t:
Start to de-bitrot traits tests.
22:44 replor___ left
dalek kudo/nom: 1dd4914 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Oops, a26660d made us accidentally miss some real conflicts. Fix that.
22:45
kudo/nom: b72d678 | jnthn++ | src/Perl6/Metamodel/ (4 files):
Roles pass any classes they're made to inherit along.
kudo/nom: df4db06 | jnthn++ | t/spectest.data:
We now pass S14-roles/composition.t.
Woodi jnthn++ nightly work :) 22:54
tadzik make spectest seemed so fast that I stopped it and started timing it 22:56
jnthn heh :) 22:57
tadzik well, it'll take longer for we now pass more tests
jnthn Yeah
tadzik cheating
jnthn It's crept back up to the 3 minute mark here now.
22:59 whiteknight joined
dalek kudo/nom: e606bec | jnthn++ | src/binder/bind.c:
Toss dead code.
23:03
kudo/nom: 5440fde | jnthn++ | src/pmc/perl6lexpad.pmc:
Add a write barrier.
jnthn Almost up to running 15000 tests, it seems. 23:04
mmm. This beer is really nice. 23:06
23:06 japhb_ joined 23:09 molaf__ joined
japhb_ jnthn, did you have a chance to think about my two questions? (1. What' the correct status of the 3 remaining '?' items for nom in the features chart? 2a. How much work would it be to finish the MAIN feature for nom, presumably by autogenerating usage info? 2b. Could that task be done by a non-core developer?) 23:09
dalek atures: 6a65d1d | jnthn++ | features.json:
Update features to fill out blank spots for Rakudo. Also add 'Overriding dispatch' feature.
23:11
jnthn japhb_: I just did 1 ;)
Thanks for prodding me...was a bit preoccupied with $dayjob last time.
japhb_ jnthn++ # Action first
jnthn, np, thanks for doing it! 23:12
jnthn tadzik: I think you worked on MAIN last (or recently)...is there more to USAGE than Just Doing It?
23:13 molaf_ left
jnthn japhb_: In theory, it's writable in Perl 6, just by using signature introspection. 23:13
tadzik jnthn: I don't think USAGE is Even Doing It
and I believe it's moritz++ who worked on it recently
jnthn tadzik: Oh, I thought you did some bits. Sorry :)
japhb_ I also posted an idea to the channel at large for a new Interoperability section for the features table (minor extra details at irclog.perlgeek.de/perl6/2011-09-21#i_4456725 )
tadzik I did some bits yes :)
japhb_ comments welcome
tadzik but moritz worked around of the lack of signature comparison, or what was that 23:14
the-thing-that-made-you-unable-to-find-the-best-matching-MAIN
jnthn tadzik: Well, I think we made the spec more sane in the process of that :)
23:15 envi_laptop joined
japhb_ So in theory spec, implementation, and reality are convergent? :-) 23:15
jnthn In theory ;)
japhb_: src/core/Main.pm is where to look fwiw 23:16
tadzik jnthn: in process of what?
japhb_ jnthn, in both nom and beijing?
tadzik yes
jnthn In nom:
# TODO: check if a dispatch is possible, and if not,
# do some USAGE magic.
return $m(|@($p), |%($n));
japhb_ heh
jnthn Hmm. It looks like it kinda blocks on knowing whether that disatch is going to work out or not.
23:17 bakedb__ left
japhb_ jnthn, Is that still a difficult question? 23:17
jnthn moment, checkin' 23:18
japhb_ nom: .say for Signature.^methods
p6eval nom df4db0: OUTPUT«Unmarshallable foreign language value passed for parameter '$_'␤ in block <anon> at /tmp/HDYX441Vmc:1␤ in method reify at src/gen/CORE.setting:3690␤ in method reify at src/gen/CORE.setting:3595␤ in method reify at src/gen/CORE.setting:3595␤ in method gimme at src…
japhb_ wheee
jnthn ugh.
tadzik heh
jnthn Bootstrapping for the fail...
tadzik jnthn! jnthn! 23:19
Method 'foo' must be resolved by class DD because it exists in multiple roles (DC, DB)
in t/spec/S14-roles/composition.t
jnthn tadzik: huh, that's what I just fixed...
tadzik: Did you pull?
tadzik when? 23:20
I just pulled the last 2
jnthn Hm.
That's...really weird.
tadzik binder, and perl6lexpad
jnthn yeah, I meant the earlier patches. :S
tadzik: Wait, which Parrot are you running?
tadzik: The NQP_REVISION/PARROT_REVISION one? 23:21
tadzik jnthn: blead
jnthn Or latest + the patch?
oh, you applied the NQP patch locally?
tadzik I'm on the branch
i nnqp
jnthn aha
OK, then I'm not surprised.
I can't really do much about that until we merge the branch.
But we can't do that before the release... 23:22
japhb_: I'm guessing there should be a way to take a multi and ask it for all matching candidates.
japhb_: I've got all the primitives in place to do that...
japhb_: Checking the spec to see if there's a defined way. 23:23
23:28 Tene___________ is now known as Tene 23:29 frhodes_ left 23:30 vlixes joined 23:31 uasi left
japhb_ jnthn, thank you. 23:33
23:33 envi_laptop left
vlixes 23:33
/bye
23:33 vlixes left 23:35 maguro joined
jnthn japhb_: Don't see anything off hand, so adding one...should unblock doing stuff. 23:43
japhb_ jnthn, OK. Am I correct in reading your previous comments that this will be relatively easy for you to add? 23:45
jnthn japhb_: Yeah, we already have the primitives there to support deferral. 23:47
Got a patch, testing it.
23:47 mkramer1 joined, uasi joined 23:49 ZapZ_ joined 23:50 donri left, frhodes joined 23:56 uasi_ joined 23:57 uasi_ left 23:59 uasi left