Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-06-10

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 woolfy o/
00:01 colomon \o
00:04 woolfy I LOVE YOU ALL WITH A GREAT HUGH LOVE!
00:04 woolfy You are all awesome.  You did prove that at YAPC::NA.
00:05 * colomon hopes that was meant to be HUGE.  ;)
00:05 colomon woolfy++
00:06 woolfy Nono, hug love.  Let's be politically incorrect here.  :-)
00:06 colomon oh, I'm good with hugs.
00:06 woolfy Yeaaahhh
00:06 colomon I was just worried about this mysterious Hugh guy.
00:06 labster woolfy is awesome too
00:07 labster .oO ( Hugh was my dormmate at YAPC )
00:09 woolfy /sHUGH/PUPPY/
00:09 woolfy BRRRR
00:09 woolfy s/HUGH/PUPPY/
00:11 dalek roast: 5f67245 | (Elizabeth Mattijsen)++ | S32-hash/exists-adverb.t:
00:11 dalek roast: Added tests for {}:exists:(kv|p), fudged for []:exists:(kv|p)
00:11 dalek roast: review: https://github.com/perl6/roast/commit/5f67245218
00:18 colomon rn: say (set <a  b c>).grep(/b|c/)
00:18 camelia rakudo b2072f, niecza v24-70-g6314dd4: OUTPUT«b c␤»
00:27 lizmat resetting bio clock by going to bed real early&
00:30 colomon good luck!  safe home!
00:35 dalek specs: 448160b | labster++ | S32-setting-library/IO.pod:
00:35 dalek specs: document IO copy, rmdir, and unlink
00:35 dalek specs: review: https://github.com/perl6/specs/commit/448160b9b8
00:35 dalek specs: 6772d8c | labster++ | S02-bits.pod:
00:35 dalek specs: Merge branch 'master' of github.com:perl6/specs
00:35 dalek specs: review: https://github.com/perl6/specs/commit/6772d8c55e
00:37 labster Though I wrote that, I'm starting to wonder if functions like dir(), unlink(), etc should actually throw their errors, or just fail instead.
00:37 mrallen1 joined #perl6
00:38 labster And let sink context cause it to throw in most cases.
00:40 flussence fail makes more sense IMO; if you write something like @tmpfiles».unlink you wouldn't particularly care if one's gone missing in the meantime.
00:41 timotimo_ (also it wouldn't give you a way to figure out which ones were unlinked and which weren't up until the failure
00:41 flussence that's what .map is for :)
00:42 timotimo_ sink-failing makes more sense imo
00:46 labster those are good cases
00:46 labster so I'll probably go ahead and change it
00:47 labster Though it's hard to write.  "if it fails, it returns an X::IO::Unlink failure" sounds circular.
00:48 flussence "the failure will be of type X::IO::Unlink"?
00:49 timotimo_ its inner exception will
00:53 eternaleye timotimo_: "If it fails, it will return an X::IO::Unlink exception in an unthrown state" ?
00:55 flussence .oO( maybe we need a trait_mod:<throws>(::T) )
00:55 flussence s/throws/fails/
00:55 eternaleye flussence: Except it doesn't throw, it boxes up an exception in such a way that handling it carelessly makes it throw.
00:56 eternaleye heh, timing!
00:56 eternaleye .oO( Now I have a mental image of an X::Claymore error, with the string "This end to debugger" )
01:00 sorear colomon: it's .tell and .ask
01:00 sorear diakopter: how are you doing?
01:00 flussence would be nice if it could be written something like «sub unlink(--> Mu|X::IO::Unlink)», but we're getting into Maybe monad territory now...
01:01 colomon sorear: yeah, I figured out what I was doing wrong about five lines later.
01:01 sorear I'm surprised by the lack of a reply to 17:59 < sorear> diakopter: I thought "I'm following jnthn's plan fairly closely" would be a good enough answer
01:02 dalek roast: e4136e9 | (Solomon Foster)++ | S02-types/set.t:
01:02 dalek roast: Try to bring Set tests closer to current spec.
01:02 dalek roast: review: https://github.com/perl6/roast/commit/e4136e91e4
01:03 cosimo joined #perl6
01:07 rurban joined #perl6
01:49 raiph joined #perl6
01:54 dalek roast: ae81359 | (Solomon Foster)++ | S03-operators/set.t:
01:54 dalek roast: Fix tests to conform to current spec (I think).
01:54 dalek roast: review: https://github.com/perl6/roast/commit/ae813591ed
02:08 rurban joined #perl6
02:19 RedditAnalytics joined #perl6
02:39 lue flussence: S02/Built-In Data Types/Polymorphic Types (conjectural) [ we're already in that territory :) ]
02:48 sftp joined #perl6
02:51 atroxaper joined #perl6
03:02 dalek specs: fce3dd9 | (Brent Laabs)++ | S32-setting-library/IO.pod:
03:02 dalek specs: change dir, copy, rmdir, unlink to soft fail rather than throw
03:02 dalek specs: review: https://github.com/perl6/specs/commit/fce3dd9ae2
03:05 preflex_ joined #perl6
03:08 dalek roast: b04d766 | (Solomon Foster)++ | S02-types/ (2 files):
03:08 dalek roast: Try to bring KeySet and Bag tests up to spec.
03:08 dalek roast: review: https://github.com/perl6/roast/commit/b04d766dc7
03:08 rurban joined #perl6
03:11 dalek niecza: db4190b | (Solomon Foster)++ | lib/CORE.setting:
03:11 dalek niecza: Lots of updates to Set, KeySet, Bag, and KeyBag.
03:11 dalek niecza:
03:11 dalek niecza: Coercion operators added, simpler .new (as per spec), and corresponding operators tweaked.  This set of chances is not yet complete, there will be more soon.
03:11 dalek niecza: review: https://github.com/sorear/niecza/commit/db4190b7b7
03:22 sftp joined #perl6
03:25 Lorn joined #perl6
03:40 mrallen1 joined #perl6
04:09 rurban joined #perl6
04:27 Psyche^ joined #perl6
04:47 birdwindupbird joined #perl6
05:02 Tsuki-san joined #perl6
05:03 Tsuki-san Hello
05:09 rurban joined #perl6
05:23 raiph joined #perl6
05:46 gdey joined #perl6
05:49 dmol joined #perl6
05:50 SamuraiJack joined #perl6
05:59 PacoAir joined #perl6
06:09 dmol joined #perl6
06:10 rurban joined #perl6
06:20 preflex joined #perl6
06:22 diakopter sorear: :) thanks for asking; I'm doing okay; we just got home; I have a mild cold; $work tomorrow
06:22 diakopter sorear: how are you?
06:27 sorear same, pretty much, including the cold. :/
06:28 sorear I'm just glad I'm not dealing with what Liz & Wendy are :|
06:29 sorear anyway I want to make sure your question is answered
06:29 diakopter yes; it's ok
06:29 kaleem joined #perl6
06:31 Tsuki-san joined #perl6
06:31 sorear good
06:36 xinming_ joined #perl6
06:39 FROGGS joined #perl6
06:43 dalek v5: f632d9d | (Tobias Leich)++ | / (2 files):
06:43 dalek v5: allow var in indirect object context after new/print/say
06:43 dalek v5: review: https://github.com/rakudo-p5/v5/commit/f632d9d0a2
06:43 dalek v5: 473e26a | (Tobias Leich)++ | t/test_summary:
06:43 dalek v5: do multithreaded tests
06:43 dalek v5: review: https://github.com/rakudo-p5/v5/commit/473e26a5f0
06:43 * sorear is considering hilarious edge cases: "hmm, with shift/reset it's possible to wind up with the same frame on the stack multiple times."
06:59 brrt joined #perl6
07:01 sorear nqp: (-> { say(2) })()
07:01 camelia nqp: OUTPUT«2␤»
07:01 diakopter nqp: ({ say(2) })()
07:01 camelia nqp: OUTPUT«2␤»
07:03 moritz sorear: for you it's a hilarious edge case; for masak it's a bugreport waiting to be written :-)
07:04 FROGGS nqp: (-> $x,  { say($x) })( 42 )
07:04 yoleaux 8 Jun 2013 21:46Z <eternaleye> FROGGS: Sorry for taking so long, but futures and promises can be thought of as 'handles' to asynchronous computation. In C++, for instance, a future is a container-ish-thing, which you get the value from like joining a thread, and the default implementation is done with a thread pool.
07:04 camelia nqp: OUTPUT«42␤»
07:04 yoleaux 8 Jun 2013 21:46Z <eternaleye> FROGGS: Examples: http://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-8-futures-and-promises.html
07:04 yoleaux 8 Jun 2013 21:46Z <eternaleye> FROGGS: rough p6ification: Future[Int] answer = async do_foo(); other_stuff(); say answer.get() # Returns Int
07:04 yoleaux 8 Jun 2013 21:46Z <eternaleye> FROGGS: I read this as "async do_foo will give me an Int in the Future. In the meantime, I'll do other_stuff, then wait until I get the answer"
07:04 yoleaux 8 Jun 2013 21:47Z <eternaleye> FROGGS: Actually, a parameterized Future role as the return value of async might work pretty well.
07:04 FROGGS uhh, I haz mail
07:05 Tsuki-san joined #perl6
07:05 FROGGS .tell eternaleye Future[Int] is a type, for me a proper p6ification would be a trait
07:05 yoleaux FROGGS: I'll pass your message to eternaleye.
07:07 sorear yeah
07:07 sorear masak will love playing with shift/reset.
07:10 rurban joined #perl6
07:10 sorear .tell jnthn where I stand so far: https://gist.github.com/sorear/5747025
07:10 yoleaux sorear: I'll pass your message to jnthn.
07:11 sorear (that's a draft design document)
07:14 sorear there's nothing in there about the low-level details, because the low-level details are mostly worked out
07:14 diakopter :)
07:14 sorear there is some stuff there which might want to become permanently part of the docs
07:19 diakopter sorear: for re-enterable frames, will each routine's entry point check for re-enter mode by a parameter? or is there a special version of each re-enterable routine so the check isn't necessary
07:21 sorear diakopter: check by parameter
07:23 diakopter sorear: what are better names for the unfortunate 3 names? :)
07:23 diakopter (srsly)
07:24 sorear "unfortunate" mostly applies to "shift"
07:25 sorear which is the last thing you should call a control-flow operator in Perl, but the name is standard and used in real-ish languages like Racket
07:25 diakopter heh. :)
07:26 sorear we can probably get away with "reset"; the perl 5 function of the same name is mercifully almost forgotten
07:26 sorear trivia: in an earlier draft of that document I had shift and reset swapped everywhere.  that's how mnemonic the standard names are.
07:26 diakopter might as well randomly generate names for these.. they'd be just as memorable/meaningful
07:27 ponbiki joined #perl6
07:27 diakopter nqp::BNCOWKEJT   nqp::ZXMNCBVWETUBV and nqp::WEUBVKUXCTWEYXZZA
07:27 diakopter :D
07:28 sorear I'd rather randomly pick from the ten hundred most often used words in English
07:28 diakopter seriously though, I'm trying to piece together how these would be implemented in moar..
07:29 sorear reset drops a cookie on the stack.  shift memcpys off all the stack up to the cookie.
07:29 diakopter what if a closure is generated "deep" then its stack is swapped out, then the closure is executed and it tries to bind stuff "upvalues"
07:30 diakopter *to
07:31 sorear we don't touch the actual callframe objects
07:31 sorear we just rearrange the pointers to them on the VM stack
07:31 sorear the closure holds direct refereces to the frames with upvalues, so it doesn't even see the pointer shuffling
07:32 diakopter one suggestion: s/cont/dc/ in the opnames
07:32 nwc10 but implicit to all this working is that callframes are (heap) allocated, and not stored directly on the stack?
07:32 diakopter the Java stack, yes. also, yes, the moar stack too
07:33 nwc10 that seems to be an unstated assumption
07:33 diakopter for lexicals anyway
07:33 sorear nwc10: the parts of callframes that need to be referenced by closures, yes
07:34 sorear if nothing gets closed over on a given callframe then it can probably be put on the VM stack
07:34 diakopter locals can be frozen/sublimated O_O
07:34 * sorear does his best ambivalent larry impersonation
07:34 nwc10 sorear: yes, I was just thinking this. More (and this is an optimisation, and right now it's premature)
07:34 diakopter sorear: it's working :P
07:35 nwc10 the GC has forwarding pointers - right? So, store the things on the stack initially. But if a closure is taken, move them off the stack into allocated structures, and have the things on the stack turn into forwarding pointers
07:35 nwc10 but, I repeat, this is a conjectural optimisation
07:35 sorear diakopter: you think s/cont/dc/ would be an improvement?  I started with dc but thought "nah, nobody will guess what dc stands for"
07:36 nwc10 Or they'll all object, because the prefer Tesla to Edison? :-)
07:36 diakopter cont is too ambiguous, but dc is cryptic/distinct enough that it names a new thing, imho
07:36 sorear nwc10: I'm skeptical.  We know at compile time whether a given sub has children that *could* close over it, and my intuition says that if the user bothered to write a nested function, it will almost certainly get used
07:37 nwc10 sorear: OK.
07:37 diakopter nwc10: JVM GC? no.. but Moar GC.. sort of, but not like that
07:38 sorear diakopter: (cont/dc) hmm.  I think I see where you're going here.
07:38 diakopter delcon :D
07:38 diakopter dlmtdcntntn
07:39 sorear that can be jnthn's next branch name
07:40 diakopter nwc10: I suspect it wouldn't be an optimization to use the cpu stack for such things in moar, unless it's *heavily* optimized, native types only, ultra simple control flow, easily-jitted code
07:41 diakopter however, I could be *totally* wrong there, given actual experimentation instead of just thought
07:42 sorear using "the cpu stack" for much of anything in a continuation/coroutine/green thread oriented VM is not going to work very well
07:42 sorear for a variety of issues, including:
07:42 sorear * poor LLVM support for GC mark data for the CPU stack
07:42 sorear * poor Windows kernel support for stack switching
07:42 nwc10 yes, also like Perl 5, moar is "stackless" isn't it? In that language level subroutine calls don't recurse at the C level?
07:43 sorear * gymnastics required for sigaltstacking
07:43 diakopter nwc10: yes
07:43 nwc10 yes. OK. So the language-level "stack" involved is going to be a MoarVM managed thing anyway
07:43 sorear etc
07:43 * nwc10 shuts up and goes back to the Perl 5 code mines :-)
07:43 diakopter nwc10: wait :)
07:43 nwc10 wait?
07:43 nwc10 I've still got the window open
07:43 sqirrel joined #perl6
07:44 diakopter heh, one sec, a further question
07:44 diakopter re: stackless...
07:44 sorear standard-ish practice (used by GHC, for instance) is to set aside a block of memory and treat it like a CPU stack, but explicitly and not using %rsp
07:44 sorear GHC-generated code is stackless on the C-stack.  when compiling using LLVM, every call is a tail call
07:44 nwc10 sorear: yes, I was wondering *that*. Perl 5 does something like that
07:45 sorear GHC uses StackTop, StackEnd, HeapTop, HeapEnd registers, which leaves x86 quite cramped :)
07:45 diakopter nwc10: I was planning to use B::Hooks::XSUB::CallAsOp‎ to "invoke" p5 code from xsubs on moar's p5 thread, to keep recursively-cross-VM callbacks stackless on both sides... sound sane?
07:45 sorear perl 6 probably does not need to optimize memory allocation to *quite* that extent
07:45 nwc10 in which case, it's a trade off about stuffing call frames on that versus explict allocation. And I'll totally agree that the right thing to do *now* is roughly "simplest thing that could possibly work", and worry about optimisations once we have real-world data
07:46 nwc10 I don't know what B::HOoks::XSUB::CallAsOp does
07:46 diakopter nwc10: also, rafl volunteered to make that module re-entrant (it's not at the moment)
07:47 diakopter basically makes an optree node for an xsub invocation
07:47 FROGGS joined #perl6
07:47 diakopter [and what the xsub invokes]
07:47 sorear o/ sqirrel, FROGGS
07:48 nwc10 diakopter: I can't find any terse explanation for what that code does
07:48 Tsuki-san joined #perl6
07:49 raiph joined #perl6
07:49 nwc10 but if I'm guessing right, it seems like it's a way to go
07:49 diakopter it creates a temporary trampoline in the current spot of the p5 op tree that can hold your current xsub invocation
07:49 nwc10 and then returns from the XSUB back out to the runloop?
07:49 diakopter yes
07:49 nwc10 and at the end of the invoked OP (or OPs), re-enters XS and the XS can exit like nothing special happened?
07:49 diakopter yes
07:50 diakopter but currently it supports only 1 descent per thread
07:50 nwc10 approach seems sane. It's what I thought about a few nights ago
07:50 nwc10 I don't want to comment on the implementation :-)
07:50 diakopter :D
07:51 sqirrel o/ sorear
07:51 diakopter can't do anything about recursive cross-VM calls that already create their own nested runloops
07:52 diakopter that's their own problem ;)
07:52 FROGGS hi sorear
07:53 diakopter sorear: implementing your spec in moar would be .. straightforward enough.... however, I think jnthn may grouse about it obviating a lot of optimization potential
07:53 diakopter unless it's blocked more strongly from non-compiler access
07:54 sorear diakopter: it's totally reasonable to restrict portions of it per HLL, or even implement something different
07:55 sorear this spec looks the way it does because 1. it's a well studied API 2. it's a close match to the actual functionality of the JVM stack freezer/thawer
07:55 * nwc10 wonders when jnthn will wake up
07:55 sorear 2 does not apply to moarvm
07:56 diakopter true, I forgot your nqp::xxxx don't actually need to be nqp::xxxx in moar... just moar opcodes
07:56 sorear it would be entirely reasonable for moarvm to implement, say, a "green threads" abstraction instead
07:57 sorear gather/take can be implemented on top of green threads as well as it can on delimited continuations
07:57 sorear not all nqp:: ops are available on all backends
07:58 sorear the ops I'm designing should be interpreted as "JVM only" until such time as some other backend wants to support them
07:59 diakopter sorear: I have a sneaking suspicion that 1 coordinated extra thread/eventloop per gather descent would be more efficient than the jvmstack/callstack swapping... but I'll wait until you're done to even try to attempt an alternative implementation ;)
08:00 sorear diakopter: I look forward to the comparative benchmarks.
08:00 brrt left #perl6
08:01 diakopter the rationale of this truly gut-level suspicion is my sky-high levels of trust/awe in the JVM concurrency efficiency
08:01 diakopter oracle jvm, anyway
08:01 diakopter openjdk, no clue
08:01 diakopter I have no idea how much of that work is open-sourced to the openjdk
08:02 berekuk joined #perl6
08:03 diakopter nwc10: sorry I went dark during yapc... I was .. busy.
08:04 sorear dark?  didn't I see you like, constantly?
08:04 diakopter dark to irc/nwc20
08:04 diakopter nws10
08:05 diakopter cwc10
08:05 diakopter argh.
08:05 diakopter nwc10
08:05 daxim joined #perl6
08:05 sorear generally managing to be in three places at once, doing an awesome job of keeping the entire conference running
08:07 diakopter meh, actually I abandoned the rest of the team most of the time and just did my own thing; I wasn't really keeping the entire conference running at all... just the banquet/gamenight, really
08:07 diakopter and the evening dinners with P6 folk & others
08:08 sorear weren't you managing the talk streaming too?
08:09 diakopter I set it up [with plenty of help from others] Monday morning, but left it to Todd & co. the rest of the time; there was no shortage of things for them to do after Monday morning; I don't want to trivialize their efforts in the least; I just needed to hand it off
08:10 dalek roast: 31080f6 | dagurval++ | S11-modules/ (2 files):
08:10 dalek roast: Added test for RT 118407
08:10 dalek roast: review: https://github.com/perl6/roast/commit/31080f66c1
08:11 rurban joined #perl6
08:13 diakopter sorear: ping
08:13 sorear pong
08:15 diakopter why is continvoke necessary? (couldn't it just use the invokehandler repr op of the $cont object?)
08:15 sorear mostly because there is no invokehandler repr op
08:16 sorear JNQP cannot invoke anything unless it either is or contains a CodeRef
08:16 sorear or references
08:16 sorear it would be possible to make the continuations directly executable, but it would be rather involved
08:17 sorear see:
08:17 sorear http://irclog.perlgeek.de/perl6/2013-06-09#i_7175787
08:17 diakopter so..
08:18 diakopter these 3 ops wouldn't necessarily ever be manually typed... just compiler generated?
08:18 diakopter sorear: oh... yes.
08:18 sorear I was planning to manually use them in GatherIter.pm, inside an #?if JVM block
08:18 diakopter that's what I meant.. the invokespec thing in jnqp
08:19 diakopter it's a little different in moar still
08:19 moritz .oO( still moar different )
08:19 dakkar joined #perl6
08:21 * sorear is now into the actual coding phase :D
08:22 nwc10 IRC is awkward during conferences
08:22 nwc10 as is trying to enjoy the conference if also trying to (help) run the conference
08:24 Tene joined #perl6
08:25 djanatyn joined #perl6
08:30 tadzik mixing those two is hard enough without IRC
08:30 yoleaux 9 Jun 2013 23:54Z <colomon> tadzik: I hacked around the error so I could get the rest of the smoke test run in.  There is something interesting going on here... Several tests are reaching the "tests failing" stage even though their prereqs are failing *their* tests.  DateTime::Utils is an example.
08:31 yoleaux 9 Jun 2013 23:54Z <colomon> tadzik: When I try to install using panda they detect the problem and fail in the prereq stage as expected.
08:31 tadzik oh
08:31 tadzik oddness
08:32 tadzik colomon: I'll try DT::Utils later today
08:32 sorear o/ tadzik
08:34 tadzik hey hey
08:34 sorear .ask jnthn Does JNQP have a line length policy?
08:34 yoleaux sorear: I'll pass your message to jnthn.
08:45 dalek nqp: 97a0ee6 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ (2 files):
08:45 dalek nqp: JNQP continuations 1/N: SaveStackException and ResumeStatus as interpreted by the current design
08:45 dalek nqp: review: https://github.com/perl6/nqp/commit/97a0ee6a64
08:45 sorear sleep&
08:47 FROGGS sleep well sorear
08:47 berekuk_ joined #perl6
08:52 mathw morning
08:52 berekuk joined #perl6
08:52 mathw This I just saw, that's going to be hard to beat today: "C++ is for software development, not writing web applications"
08:55 flussence .oO( C++ is for buffer overflows, not SQL injection! )
08:57 * masak .oO( I'm a doctor, not a software engineer! )
08:57 masak good antenoon, #perl6.
09:00 FROGGS hey hey mathw
09:00 FROGGS hi masak
09:01 Pompel masak \o/
09:02 moritz 'o'
09:02 masak »ö«
09:03 moritz masak: this is a friendly reminder that there are still p6cc reviews ahead of you
09:04 mathw hi folks
09:07 lizmat morning #perl6 from a still dark Houston
09:09 FROGGS lizmat o/
09:09 atroxaper left #perl6
09:11 rurban joined #perl6
09:17 mathw bright but not sunny here
09:17 mathw colder than I expected
09:17 mathw encouraged me to cycle quickly :)
09:20 nwc10 the strange warm thing in the sky has got scared and is hiding again
09:20 nwc10 as if it hasn't rained enough recently
09:22 moritz well, at least Saturday was very nice here; has a barbecue on the terrace and stayed out until 11pm
09:22 masak moritz: yes, p6cc reviews sound like a nice priority this week.
09:22 masak moritz: thanks for the reminder :)
09:22 kresike joined #perl6
09:22 kresike hello all you happy perl6 people
09:23 masak kresike! \o/
09:23 kresike masak, o/
09:23 moritz masak: you're welcome
09:26 mathw Yesterday was lovely here, I roved around Derbyshire for a while enjoying the landscape of the High Peak and eating ice cream.
09:27 * lizmat is jealous
09:27 nwc10 masak: you saw this? http://irclog.perlgeek.de/perl6/2013-06-10#i_7176792
09:28 fhelmberger joined #perl6
09:30 masak nwc10: no; I haven't backlogged yet.
09:30 masak nwc10: but a cursory scan does not reveal a rakudobug. only talk about one.
09:31 nwc10 Oh, I just meant that *line* :-)
09:32 masak ah. heh. :)
09:32 nwc10 I think that sorear intends to deny you your fun. Or a least, pre-empt it
09:33 masak oh, don't worry there won't be any edge cases. :P
09:33 masak if you *design* to take the edge cases into consideration, all you're really doing is create more complicated edge cases somewhere else. :)
09:33 masak it's masak's waterbed theory of edge cases :P
09:34 flaviusb joined #perl6
09:38 * lizmat resists the urge to jump on the waterbed
09:39 moritz .oO( lizmat's theory of waterbed tsunami )
09:40 lizmat I've had good results in the far past by making sure edge cases actually are next to the waterbed already, where they don't matter
09:41 lizmat e.g. building a dungeon game, the outer wall problem: I just made sure there where all rooms around the edge that you could never get into
09:41 masak ooh
09:42 moritz have a row of land mine on the inner side of the outer walls :-)
09:43 * moritz has been reading Hunger Games
09:43 jerome__ joined #perl6
09:44 * lizmat still has to wait 2+ hours for breakfast  :-(
09:44 * Pompel is hungry too.
09:45 * Pompel doesn't know why Pompel has the Pompel nick instead of frettled, but will rectify that soon enough!
09:48 masak frettled! \o/
09:52 dalek nqp/debug-vars: 706ee90 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
09:52 dalek nqp/debug-vars: Refactor arg and variable handling for local variable annotations
09:52 dalek nqp/debug-vars: review: https://github.com/perl6/nqp/commit/706ee90ad0
09:54 flaviusb joined #perl6
10:04 dalek nqp: 706ee90 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
10:04 dalek nqp: Refactor arg and variable handling for local variable annotations
10:04 dalek nqp: review: https://github.com/perl6/nqp/commit/706ee90ad0
10:04 dalek nqp: 35d62ba | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
10:04 dalek nqp: Merge branch 'debug-vars'
10:04 dalek nqp: review: https://github.com/perl6/nqp/commit/35d62ba44e
10:12 rurban joined #perl6
10:12 tgt joined #perl6
10:15 rindolf joined #perl6
10:24 cognominal joined #perl6
10:28 telex joined #perl6
10:31 cognominal joined #perl6
10:36 telex joined #perl6
10:42 census joined #perl6
10:49 daxim joined #perl6
11:07 atroxaper joined #perl6
11:12 rurban joined #perl6
11:30 arlinius joined #perl6
11:47 skids joined #perl6
11:54 gudahtt joined #perl6
12:13 rurban joined #perl6
12:14 ldthien0 joined #perl6
12:14 kaleem joined #perl6
12:16 preflex_ joined #perl6
12:21 preflex joined #perl6
12:25 crab2313 joined #perl6
12:31 JimmyZ joined #perl6
12:37 nwc10 JimmyZ: \o/
12:40 FROGGS joined #perl6
12:42 preflex joined #perl6
12:48 dalek rakudo/nom: dfe2b43 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
12:48 dalek rakudo/nom: Some shifting in candidate order to make searching easier
12:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dfe2b43864
12:48 dalek rakudo/nom: 39e5fdf | (Elizabeth Mattijsen)++ | src/core/Any.pm:
12:48 dalek rakudo/nom: Make sure that [*]:(kv|p|k) pass on their values
12:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/39e5fdf143
12:49 lizmat how can a candidate such as "multi method postcircumfix:<{ }>(:$kv!) { self.kv }" be invoked?
12:50 lizmat isn't that covered by "multi method postcircumfix:<{ }>(\SELF: Whatever, :$kv!) is rw {" ?
12:52 JimmyZ nwc10: hello
12:54 jnthn %h{}:kv
12:54 yoleaux 07:10Z <sorear> jnthn: where I stand so far: https://gist.github.com/sorear/5747025
12:54 yoleaux 08:34Z <sorear> jnthn: Does JNQP have a line length policy?
12:54 lizmat hmmm,,,  then there are no tests for that
12:54 jnthn it's the zen slajs
12:54 jnthn um
12:54 jnthn slice
12:55 lizmat so how is that different from %h{*} ?
12:55 nwc10 nothing vs everything?
12:55 jnthn I think it's the same
12:55 lizmat not as far as the candidates are currently implemented
12:55 jnthn r: my %h = a => 1, b => 2; say %h{*}
12:55 camelia rakudo b2072f: OUTPUT«1 2␤»
12:55 jnthn r: my %h = a => 1, b => 2; say %h{}
12:55 camelia rakudo b2072f: OUTPUT«("a" => 1, "b" => 2).hash␤»
12:56 jnthn oh. :)
12:56 lizmat indeed
12:56 jnthn Well, wonder if that's to spec... :)
12:56 lizmat that candidate just says { self }
12:56 jnthn That may be correct
12:56 [Coke] (RT) looks like it's an rt bug, robrt is pinging the RT folks.
12:57 * lizmat looks up specs about the zen slice
13:01 mrallen1 joined #perl6
13:02 cognominal joined #perl6
13:03 shinobicl joined #perl6
13:10 PacoAir joined #perl6
13:12 ajr joined #perl6
13:14 [Coke] rakudo: sub foo(--> NoSuchType) { say "OH HAI" } # RT 77270
13:14 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0m�Type 'NoSuchType' is not declared�at /tmp/uAYz4pTVgd:1�------> [32msub foo(--> NoSuchType[33m�[31m) { say "OH HAI" } # RT 77270[0m�»
13:15 lizmat rn: my %h=a=>1,b=>2; say %h{}; say %h{*}  # shouldn't they be the same?
13:15 camelia rakudo b2072f: OUTPUT«("a" => 1, "b" => 2).hash␤1 2␤»
13:15 camelia ..niecza v24-71-gdb4190b: OUTPUT«{"a" => 1, "b" => 2}␤1 2␤»
13:15 konundra joined #perl6
13:15 ajr_ joined #perl6
13:16 [Coke] Any lurkers looking to help out, going through tests marked testneeded and extracting the perl6 needed to make a test is verrrry helpful and folks will be happy to help you get your patch in shape.
13:17 [Coke] rakudo: ~[]<c>
13:17 camelia rakudo b2072f: OUTPUT«postcircumfix:<{ }> not defined for type Array␤  in method Str at src/gen/CORE.setting:10160␤  in method Str at src/gen/CORE.setting:876␤  in method Stringy at src/gen/CORE.setting:885␤  in sub prefix:<~> at src/gen/CORE.setting:1272␤  in sub prefix:<~> at src/gen/…
13:17 [Coke] rakudo: ~5<c>
13:17 camelia rakudo b2072f: OUTPUT«postcircumfix:<{ }> not defined for type Int␤  in method Str at src/gen/CORE.setting:10160␤  in method Str at src/gen/CORE.setting:876␤  in method Stringy at src/gen/CORE.setting:885␤  in sub prefix:<~> at src/gen/CORE.setting:1272␤  in sub prefix:<~> at src/gen/CO…
13:17 [Coke] rakudo: ~5{'c'}
13:17 camelia rakudo b2072f: OUTPUT«postcircumfix:<{ }> not defined for type Int␤  in method Str at src/gen/CORE.setting:10160␤  in method Str at src/gen/CORE.setting:876␤  in method Stringy at src/gen/CORE.setting:885␤  in sub prefix:<~> at src/gen/CORE.setting:1272␤  in sub prefix:<~> at src/gen/CO…
13:17 ajr_ joined #perl6
13:19 [Coke] r: say "{297+364+1-88} RTs"
13:20 camelia rakudo b2072f: OUTPUT«574 RTs␤»
13:20 shinobicl left #perl6
13:21 lizmat rn: my %h=a=>1,b=>2; say %h{}:delete; say %h  # shouldn't :delete work on %h{} as well?  If %h{}:x is the same as %h{*}:x ?
13:21 camelia niecza v24-71-gdb4190b: OUTPUT«{"a" => 1, "b" => 2}␤{"a" => 1, "b" => 2}␤»
13:21 camelia ..rakudo b2072f: OUTPUT«("a" => 1, "b" => 2).hash␤("a" => 1, "b" => 2).hash␤»
13:35 rindolf joined #perl6
13:37 Stygia joined #perl6
13:41 lizmat labster: I'm seeing a lot of set/bag related tests fail,  is that expected?
13:42 moritz lizmat: colomon updated lots of those tests
13:43 btyler joined #perl6
13:46 rurban joined #perl6
13:49 masak lizmat: I think %h{}:delete should zen-delete all the keys, yes.
13:49 moritz I don't think so
13:50 moritz if you build up a list of keys to delete
13:50 moritz and it's empty
13:50 moritz you usually want to delete no keys, not all
13:50 masak zen slices are syntactical.
13:50 moritz they are?
13:50 moritz what do they desugar to?
13:50 masak zen slice != empty slice because a list evaluated to empty
13:50 masak I can prove this.
13:50 masak r: my @a = 1, 2, 3; say @a[]; my @empty; say @a[@empty]
13:50 camelia rakudo b2072f: OUTPUT«1 2 3␤␤»
13:51 masak moritz: what do they desugar to? "take all the elements", I guess.
13:51 masak but that feels kinda beside the point.
13:51 moritz r: sub f(|a) { a.perl }; say f(); say f(my @ = ())
13:51 camelia rakudo b2072f: OUTPUT«Capture.new( list => ().list, hash => EnumMap.new())␤Capture.new( list => ().list, hash => EnumMap.new())␤»
13:52 jnthn :() is different to :(Positional)
13:52 masak they're syntactical, is the point.
13:52 jnthn Not syntactical really
13:53 moritz then I retract my objection
13:55 jnthn I mean, %h{} boils down to %h.postcircumfix:<{ }>(), whereas %h{@empty_thing} is %h.postcircumfix:<{ }>(@empty_thing)
13:56 masak jnthn: oh, ok.
13:57 jnthn Which is distinguished by the multi-dispatch.
13:57 masak jnthn: yes, that's not syntactical exactly. it's kind of a wrong-but-still-accurate way to explain it ;)
13:57 jnthn wrong but accurate?! :P
13:57 masak yes -- weird combination, huh? :)
13:58 masak "you're right, but for the wrong reasons!"
13:58 jnthn .oO( your mom is <wrong but accurate statement here> ) :P
13:58 masak jnthn: ...this is supposed to be the family-friendly channel... :)
13:59 jnthn .oO( your mom is family friendly )
13:59 nwc10 :-)
13:59 brrt joined #perl6
13:59 JimmyZ ;)
13:59 masak :)
14:00 lizmat labster: I meant colomon :-)
14:01 skids joined #perl6
14:02 colomon I tried to pre-fudge many of the set test changes for Rakudo, but I may have missed some.
14:02 dalek rakudo/nom: d14d6f9 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
14:02 dalek rakudo/nom: Simplify {*}:(kv|p|k|v) to self.(kv|pairs|keys|values)
14:02 dalek rakudo/nom:
14:02 dalek rakudo/nom: as the value specified doesn't really matter in this case, and it is the same
14:02 dalek rakudo/nom: as the zen-slice logic.
14:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d14d6f9899
14:03 * lizmat is preparing to go off to the airport
14:03 lizmat will give a go at fudging them there
14:03 lizmat unless someone beats me to it
14:04 gdey joined #perl6
14:05 lizmat travelling&
14:06 woolfy left #perl6
14:06 kaare_ joined #perl6
14:11 rurban joined #perl6
14:13 bluescreen10 joined #perl6
14:14 toebu joined #perl6
14:17 cognominal joined #perl6
14:18 diakopter yoleaux: http://www.sportsfirings.com/?p=10106
14:19 diakopter .help
14:19 yoleaux diakopter: I'm yoleaux. Type .commands to see what I can do, or see http://dpk.io/yoleaux for a quick guide.
14:20 diakopter .title http://www.sportsfirings.com/?p=10106
14:20 yoleaux Random notes on YAPC 2013. « Whipped Cream Difficulties
14:21 diakopter .title http://www.sportsfirings.com/?p=10111
14:21 yoleaux No Sleep Till Sunday. « Whipped Cream Difficulties
14:21 diakopter two neat posts on yapc austin
14:22 masak who's the author? I don't see a name on those pages.
14:22 diakopter "stainles" ?
14:23 [Coke] masak: http://www.sportsfirings.com/?page_id=314
14:23 diakopter Dwight Brown, maybe
14:24 masak ok.
14:24 masak no worries; just curious.
14:25 diakopter .title https://plus.google.com/107131450772859671581/about
14:25 yoleaux Dwight Brown - About - Google+
14:28 masak popular vote: "intricacies" -- stressed on the first syllable, or the second?
14:28 xilo joined #perl6
14:29 moritz second!
14:30 [Coke] I just said it out loud a dozen times, sounded like equal stress.
14:31 colomon I'm thinking first -- at least, if I exaggerate the stress, doing on the second sounds bizarre to my ear.  But yeah, pretty close to equal as I say it normally.
14:33 geekosaur slight stress on the first syllable
14:36 kresike bye folks
14:36 * jnthn votes first
14:36 * masak .oO( this vote result contained more intricacies than I expected... )
14:37 diakopter first
14:37 diakopter (2nd stress: 4th syllable)
14:37 * [Coke] votes often
14:37 geekosaur nb. I would *not* be surprised if Commonwealth English differs from American here; somehow, stress on the second syllable "feels" British to me
14:37 * timotimo_ does the 2nd, but is not native
14:38 * brrt votes 2nd, 1st doesn't sound 'natural', not native
14:38 BenGoldberg joined #perl6
14:38 [Coke] tl;dr - say it however you like. at worst, people will think you have an adorable accent.
14:38 masak wow, people really are divided on it.
14:39 masak while we're on the topic: "gist" -- soft g or hard g? :)
14:39 * masak votes hard g
14:39 jnthn hard, same as git :)
14:39 masak I'm talking exclusively about the pastebin-y thing, if that helps.
14:39 timotimo_ i say "djist"
14:40 masak that would be a soft g.
14:40 diakopter it's soft...
14:40 geekosaur I pronounce with soft g because that's how the English word is pronounced
14:40 brrt hard g
14:40 * brrt is unsure what english-people mean by 'hard g'
14:40 diakopter that
14:40 btyler soft, same reason as geekosaur
14:40 brrt and 'soft g
14:40 brrt '
14:40 geekosaur also, fwiw, the Mac dictionary agrees with me that American English stresses the first syllable of "intricacies"
14:41 diakopter brrt: "get"
14:41 diakopter (hard)
14:41 brrt ok
14:41 diakopter soft: giraffe
14:41 geekosaur but again I will repeat that Commonwealth English is likely to differ
14:41 brrt i see
14:41 brrt in dutch a 'hard' g is really a hard one
14:41 brrt like in 'scheveningen' (the first one)
14:42 diakopter gist is... soft always
14:42 diakopter I was surprised to hear someone say ghist
14:42 diakopter at yapc austin
14:42 brrt hmm
14:42 brrt maybe soft gist is acceptable as well
14:42 masak diakopter: that was me, in the car to the airport ;)
14:43 jnthn diakopter: I say it just the same way as masak, fwiw :)
14:43 [Coke] I pronounce gist.github.com  with a hard g, but "the gist of it" with a soft g.
14:43 brrt the github site threw me off
14:43 colomon gist is a word, pronounced with a soft g, right?  like jist
14:43 masak diakopter: I guess it really depends if you came at the word thinking "oh, it's that word from English", or thinking "oh, it's a derivation of 'git'"
14:43 brrt natural 'british' would be soft
14:43 jnthn Right, I would use a soft g for the English word "gist"
14:43 * geekosaur thinks that gist.github is a pun that only works in print
14:43 diakopter [Coke]: but gist.github.com is.... the direct meaning of the english "gist"
14:44 diakopter I didn't think it was a pun
14:44 masak diakopter: how can you be sure?
14:44 jnthn Oh, I saw it as a cute pun :)
14:44 [Coke] diakopter: I'm not trying to rationalize anything, just telling you what my brain is doing.
14:44 geekosaur sure it is, it's mixing gist with gi(s)t
14:44 brrt in the context of Git it is natural to say gist with a hard G
14:44 geekosaur but the differing pronunciations throw it off in speech; it only works in writing
14:45 diakopter well, I should note that I've heard people pronounce the non-github gist with a hard g, too
14:45 diakopter same person who insists that the phrase is "get your goat", fwiw
14:45 colomon diakopter: yeah, me too.
14:46 [Coke] diakopter: get your goat as opposed to?
14:46 geekosaur gist is soft g, per dictionary and derivation (Latin via French, original 'jacere')
14:47 geekosaur (or 'iacere' if you go with classical Latin...(
14:47 masak diakopter: as opposed to "jet your goat"? :P
14:47 diakopter masak: you're a joat
14:47 geekosaur :p
14:48 colomon diakopter: http://idioms.thefreedictionary.com/goat
14:48 diakopter sigh. it's goad
14:48 colomon diakopter: based on what?
14:48 diakopter the meaning of the word
14:49 colomon diakopter: that's a very dangerous thing to rely on in English
14:49 [Coke] I have never ever ever heard "get your goad"
14:49 geekosaur diakopter, if yiu go by meaning, it would be "be a goad" not "get your goad"
14:49 diakopter it's in literature
14:49 [Coke] ... until a few lines ago, of course. :)
14:49 colomon diakopter: so is get your goat
14:50 diakopter it is?
14:50 konundra joined #perl6
14:51 colomon http://www.phrases.org.uk/meanings/get-your-goat.html
14:52 diakopter augh
14:52 masak at this point, we might as well discuss the way people abuse the phrase "begging the question", as well.
14:52 [Coke] ok, those people are all horribly wrong, I think we can agree on that. :)
14:53 gdey joined #perl6
14:53 masak [Coke]: you can't just *assume* that. that would be... oh wait :P
14:54 masak (that would be a correct use of "begging the question", I guess)
14:55 dalek v5: 8e4bf11 | (Tobias Leich)++ | t/test_summary:
14:55 dalek v5: print header in shell
14:55 dalek v5: review: https://github.com/rakudo-p5/v5/commit/8e4bf11664
14:55 dalek v5: ee7bafe | (Tobias Leich)++ | / (2 files):
14:55 dalek v5: show todo and skip
14:55 dalek v5: review: https://github.com/rakudo-p5/v5/commit/ee7bafe4c0
14:55 dalek v5: b29be1c | (Tobias Leich)++ | / (2 files):
14:55 dalek v5: run tests threaded and colorize output
14:55 dalek v5: review: https://github.com/rakudo-p5/v5/commit/b29be1c867
14:56 dalek v5: aff0b4f | (Tobias Leich)++ | t/test_summary:
14:56 dalek v5: typo
14:56 dalek v5: review: https://github.com/rakudo-p5/v5/commit/aff0b4f95a
14:58 colomon lizmat: ping?
15:00 dalek roast: a969a24 | (Solomon Foster)++ | S02-types/bag.t:
15:00 dalek roast: Refudge for Rakudo.
15:00 dalek roast: review: https://github.com/perl6/roast/commit/a969a24df9
15:06 jnthn decommute &
15:06 dalek roast: a476b3f | (Solomon Foster)++ | S02-types/keyset.t:
15:06 dalek roast: Refudge for Rakudo.
15:06 dalek roast: review: https://github.com/perl6/roast/commit/a476b3f8a0
15:10 raiph joined #perl6
15:11 brrt " Building such a virtual machine is a mammoth task typically reserved for software companies like Oracle and Microsoft and VMware" as by wired
15:11 brrt lol
15:11 brrt and a bit of anger, too
15:11 brrt a virtual machine is something that is bizarrely easy to mess up
15:11 brrt not per se a mammoth task
15:12 brrt its like people saying the JVM is awesome because G1 (the garbage collector) has a gazillion LOC
15:12 diakopter it can be a mammoth task
15:12 moritz aye
15:13 brrt no, its a task that is more difficult than your typical CRUD and thus leaves more people afraid of it
15:13 brrt it need not be a mammoth task
15:13 brrt a startup-sized team of capable people can build one
15:13 diakopter it doesn't saying "building a VM"
15:13 brrt exhibit a: MoarVM
15:14 diakopter it says "building such a VM"
15:14 brrt well, context here is a VM for PHP
15:14 colomon anything can be a mammoth task if you put your mind to making it big.
15:14 PerlPilot colomon++
15:14 yoleaux 17 May 2013 01:39Z <[Coke]> PerlPilot: can you get Grammar-Profiler-Simple passing its tests so we can cut a star release?
15:14 brrt true
15:14 moritz according to http://www.ohloh.net/p/parrot the effort for parrot was 76 years, and it still leaves a lot to whish
15:14 brrt thats the part where i said 'there are many things you can do wrong
15:14 brrt '
15:14 brrt which you can
15:15 thou joined #perl6
15:15 brrt but to be fair, parrot isn't much worse than, say, CPython
15:17 atroxaper joined #perl6
15:19 btyler joined #perl6
15:24 dalek roast: 5a13078 | (Solomon Foster)++ | S02-types/set.t:
15:24 dalek roast: Refudge for Rakudo.
15:24 dalek roast: review: https://github.com/perl6/roast/commit/5a130781d8
15:24 kaleem joined #perl6
15:27 diakopter brrt: that's a good article on Wired, imho
15:27 [Coke] PerlJam: that was an old message, I think.
15:28 [Coke] brrt: url?
15:30 brrt coming on
15:30 brrt http://www.wired.com/wiredenterprise/2013/06/facebook-hhvm-saga/all/
15:30 brrt have fun
15:30 * brrt off
15:31 brrt (it is good and interesting, but it is a bit annoying to see people stating that some projects are 'superhuman'. that is glorifying some developers and demotivating many others)
15:31 raiph Chip++ http://www.reddit.com/r/perl/comments/1g1pd0/use_dots_allow_instead_of_everywhere_and_concat/
15:31 brrt (garbage colelectors, compilers, virtual machines are all sensitive to that)
15:32 * brrt really off now
15:35 diakopter .tell brrt frankly, I think those project types are actually superhuman, at least in the attention to detail and skill and training required, if not actual code size
15:35 yoleaux diakopter: I'll pass your message to brrt.
15:36 diakopter .. just like chip design and operating systems and other machines
15:39 diakopter I mean, to be anti-elitist (otherwise) is to claim that all developers are equally good and qualified to do every project..? or are there superhuman projects... just not virtual machines?
15:41 * moritz wastes quite some time on wrestling with the DOM in JS
15:44 diakopter raiph: does dots.pm make $foo->() into $foo.() ?
15:45 [Coke] moritz: are you using a tool like jQuery to simplify the wrestling?
15:45 moritz [Coke]: yes
15:46 moritz [Coke]: it still drives me nuts; not properly knowing JS doesn't help :(
15:47 moritz for example in my naivety I assumed that    for (i in ['a', 'b', 'c']) { console.log(i) }  would log  a\nb\nc\n
15:49 moritz over the weekend I've patched the IRC logs to load the summary information with ajax once summary mode is enabled
15:49 moritz (mostly to make it more cache friendly)
15:49 zby_home_ joined #perl6
15:50 moritz so that involves making an ajax call, constructing some table cells, inserting a row into a table, and pre-checking some check boxes
15:50 moritz not too complicated? no, but it still took me several hours :/
15:51 moritz and all in all it didn't even become a large patch: https://github.com/moritz/ilbot/commit/172513b307b4d99493dd06af4aff740dac229d13
15:54 raiph diakopter: I haven't read the patch but Chip wrote "As discussed at YAPC, this patch adds the pragma "use dots" allowing users to
15:54 raiph write . instead of -> in all places."
15:56 raiph and 14 upvotes and zero downvotes on /r/perl in first hour is good to see
15:56 moritz maybe I should hang out in #jquery and see what the FAQs are :-)
16:02 pmichaud good morning, #perl6
16:08 robinsmidsrod joined #perl6
16:11 PerlJam raiph: I could've sworn that someone else had already written code and submitted a patch to p5p for just that.
16:11 ajr joined #perl6
16:11 timotimo_ moritz: how do you feel about adding a small image to the header of the irc log index to give a context of how the x axis is scaled?
16:12 timotimo_ maybe a picture at the very top that displays year-broad stripes of grey shades with the year number in small letters inside if they are big enough or something like that
16:12 timotimo_ how much data is in the activity graphs btw?
16:16 * timotimo_ afk's
16:23 * jnthn home
16:23 jnthn morning, pmichaud
16:25 rurban joined #perl6
16:28 Chillance joined #perl6
16:39 jeffreykegler joined #perl6
16:41 FROGGS joined #perl6
16:42 jnthn .tell sorear the proposal looks good. Concern is mostly naming of the nqp:: ops. Unfortuantely, a name with "cont" puns badly with ops like nqp::iscont (which refers to containers).
16:42 yoleaux jnthn: I'll pass your message to sorear.
16:43 diakopter jnthn: did you see our discussion of that?
16:43 jnthn .tell sorear given these ops are probably only used in a handful of places, we could just spell out "continuation" in the name; it's huffmanly OK to do that.
16:43 yoleaux jnthn: I'll pass your message to sorear.
16:44 aindilis joined #perl6
16:44 timotimo_ .o(look at him, he's so huffmanly!)
16:45 FROGGS .o(look at him, he's so huffmanly OK!)
16:45 jnthn diakopter: Yes. On the invocation stuff, it'd still be possible to set up a code object that, when invokes, does the nqp::invokecontinuation op on the appropriate thing.
16:45 diakopter yeah
16:45 jnthn diakopter: Though on Moar it's easy enough to set up custom invocation handlers already...
16:46 diakopter I meant the naming though
16:46 jnthn Invoke is really st->invoke
16:46 FROGGS who/what is preflex?
16:47 diakopter http://www.haskell.org/haskellwiki/IRC_channel#preflex
16:48 diakopter preflex: list
16:48 preflex Botsnack: [botsnack]; Cdecl: [cdecl]; 8ball: [8ball]; excuses: [excuse]; Factoid: [+, -, ., ?, delete, get, store]; Help: [help, list]; Karma: [++, --, karma, karmabot, karmatop]; Nickometer: [nickometer]; Nickr: [nickr]; PlokiRE: [re]; Seen: [seen]; Sixst: [6st]; Tell: [ask, clear-messages, messages, tell]; Rot13: [rot13]; Quote: [be, quote, remember]; WCalc: [calc, wcalc]; Version: [version];
16:48 preflex XSeen: [xseen]; ZCode: [zdec, zenc]
16:48 jnthn diakopter: On naming, I think using the full word "continuation" gives enough context to use the "standard" names for the things.
16:48 FROGGS karma jnthn
16:48 diakopter preflex: karma jnthn
16:48 preflex jnthn: 3753
16:48 FROGGS preflx: karma jnthn
16:48 jnthn diakopter: If we pick non-standard names then the ops will just mean nothing to those who do already grok delimited continuations as well as those who don't. :)
16:48 FROGGS k
16:48 FROGGS awesome!
16:49 jnthn preflex: karma jonathan
16:49 preflex jonathan: 2125
16:49 FROGGS diakopter: thanks
16:49 jnthn Hah! I'm beating him!
16:49 FROGGS *g*
16:49 FROGGS preflex: karma FROGGS
16:49 preflex FROGGS: 87
16:49 FROGGS ewww
16:49 diakopter jonathan: no, he's beating you!
16:49 [Coke] preflex: karma Coke
16:49 preflex Coke: 2249
16:49 [Coke] preflex: karma [Coke]
16:49 preflex [Coke]: 191
16:49 diakopter preflex: karma au
16:49 preflex au: 63
16:49 diakopter preflex: karma audreyt
16:49 preflex audreyt: 47
16:49 diakopter preflex: karma TimToady
16:49 preflex TimToady: 360
16:50 diakopter preflex: karma lwall
16:50 diakopter preflex: karma larry
16:50 diakopter preflex: quote TimToady
16:51 diakopter preflex doesn't like me anymore
16:52 preflex lwall: 415
16:52 preflex larry: 57
16:52 preflex no quotes found for TimToady
16:52 cognominal Perl 6 Ints have been created to support jnthn karma because there will be a day when he will not fit in a 32 bit register.  :)
16:52 diakopter preflex: karma (Tobias Leich)
16:52 preflex (Tobias Leich) has no karma
16:53 tadzik hello #perl6
16:53 cognominal s/he/it/
16:53 diakopter preflex: karma Tobias Leich
16:53 preflex Tobias Leich: 82
16:55 raiph joined #perl6
16:56 colomon member:preflex: karma Solomon Foster
16:56 colomon preflex: karma Solomon Foster
16:56 preflex Solomon Foster: 369
16:58 atroxaper left #perl6
17:02 cognominal joined #perl6
17:09 Guest1337 joined #perl6
17:13 rjbs jnthn++
17:14 rjbs diakopter++
17:20 diakopter ? :)
17:22 dmol joined #perl6
17:22 diakopter rjbs: I thought your reply to dots.pm was good.  It seems like the sort of pragma for newly written code, not existing code you would want to translate to that style.
17:23 rjbs diakopter: I appreciated your poise in your moar talk.
17:23 rjbs I think that "cui bono?" is the big question for dots.pm for me.
17:23 rjbs I'm not sure it's good for new users or hurried experts.
17:24 rjbs but the discussion only just kicked off, plenty of time to be convinced
17:25 diakopter $foo.() is definitely p6-y, but it doesn't fit with the overall "industry standard" rationale
17:26 konundra joined #perl6
17:26 nyuszika7h joined #perl6
17:28 zby_home_ joined #perl6
17:34 rjbs nwc10 remarked that 'industry standard' is a bit of a confusing term here, as -> is standard for deref, but . for methods
17:34 rjbs and what p5 does is kind of a mess to begin with, semantically there :)
17:35 ponbiki_ joined #perl6
17:36 sivoais_ joined #perl6
17:36 Ulti_ joined #perl6
17:36 zby_home__ joined #perl6
17:36 avarab joined #perl6
17:36 avarab joined #perl6
17:36 rhr_ joined #perl6
17:37 btyler joined #perl6
17:38 FOAD joined #perl6
17:39 preflex_ joined #perl6
17:40 robins joined #perl6
17:40 jfried_ joined #perl6
17:43 dalek perl6-roast-data: 62e6c92 | coke++ | / (4 files):
17:43 dalek perl6-roast-data: today (automated commit)
17:43 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/62e6c92b73
17:43 dalek perl6-roast-data: 4a9576d | coke++ | / (4 files):
17:43 dalek perl6-roast-data: today (automated commit)
17:43 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/4a9576d9c3
17:43 yeltzooo joined #perl6
17:43 [Coke] colomon: niecza went from 14 failures to 73.
17:43 colomon huh
17:44 [Coke] er, 16 -> 73
17:44 colomon oh, well... that still sucks
17:44 [Coke] roast is at 5a13078, niecza was at db4190b
17:45 [Coke] https://github.com/coke/perl6-roast-data/blob/master/niecza_summary.out#L5845
17:45 colomon maybe should have spectested before going to bed
17:45 [Coke] S03-operators/bag.t aborted 50 test(s)
17:46 colomon of course, the one file I didn't test last night.
17:46 colomon well, I'll have it fixed sometime here.
17:46 [Coke] :)
17:47 [Coke] hokay. Thanks!
17:47 colomon but probably not in the next 90 minutes.
17:48 Rix joined #perl6
17:49 [Coke] you have about 22 hours! ;)
17:54 spider-mario joined #perl6
18:04 eric256 joined #perl6
18:05 BenGoldberg r: my @a := 1..Inf; my @b = @a; @a.perl.say;
18:05 camelia rakudo b2072f: OUTPUT«1..Inf␤»
18:05 BenGoldberg r: my @a := 1..Inf; my @b = @a; @b.perl.say;
18:05 camelia rakudo b2072f: OUTPUT«(timeout)»
18:07 * BenGoldberg is confused.
18:07 timotimo_ = is eager assignment
18:08 timotimo_ er, waiy, what?
18:08 eric256 left #perl6
18:08 BenGoldberg The = makes a copy, right?
18:09 Stygia joined #perl6
18:13 btyler joined #perl6
18:13 konundra joined #perl6
18:19 benabik joined #perl6
18:20 jnthn Well, more precisely it places the range into the unreified portion of @b
18:24 rhr joined #perl6
18:25 kaleem joined #perl6
18:25 lue joined #perl6
18:27 dalek v5: 17d54c6 | (Tobias Leich)++ | t/test_summary:
18:27 dalek v5: removed &nbsp;, strip non-utf8
18:27 dalek v5: review: https://github.com/rakudo-p5/v5/commit/17d54c67b6
18:27 dalek v5: ebb8cf6 | (Tobias Leich)++ | / (2 files):
18:27 dalek v5: added fresh_perl_is
18:27 dalek v5: review: https://github.com/rakudo-p5/v5/commit/ebb8cf67b1
18:35 Lorn joined #perl6
18:36 Lorn joined #perl6
18:39 BenGoldberg joined #perl6
18:47 pmichaud 18:05 <BenGoldberg> r: my @a := 1..Inf; my @b = @a; @b.perl.say;
18:47 pmichaud more precisely, @b.perl is probably infinite right now.
18:47 pmichaud r: my @a := 1..Inf; my @b = @a;  say 'alive';
18:47 camelia rakudo b2072f: OUTPUT«alive␤»
18:47 pmichaud r: my @a := 1..Inf; my @b = @a;  say 'alive'; say @b
18:48 camelia rakudo b2072f: OUTPUT«(timeout)alive␤»
18:48 pmichaud r: my @a := 1..Inf; my @b = @a;  say 'alive'; say @b.infinite
18:48 camelia rakudo b2072f: OUTPUT«alive␤True␤»
18:48 cognominal joined #perl6
18:48 pmichaud apparently .gist on Arrays doesn't know about infinities
18:48 risou_awy joined #perl6
18:49 kbenson joined #perl6
18:54 avuserow1 joined #perl6
18:59 labster good still-technically-morning, #perl6
19:01 PerlJam It's always morning somewhere  :)
19:01 labster yeah, but it's now afternoon here :)
19:02 labster preflex: karma labster
19:02 preflex labster: 69
19:02 labster nice to have a karmabot again
19:04 PerlJam preflex: karma perljam
19:04 preflex perljam: 192
19:04 * PerlJam wonders where the karma was seeded from
19:04 diakopter PerlJam: I think it's just been around a while
19:04 PerlJam maybe so.
19:14 sorear good * #perl6
19:14 yoleaux 16:42Z <jnthn> sorear: the proposal looks good. Concern is mostly naming of the nqp:: ops. Unfortuantely, a name with "cont" puns badly with ops like nqp::iscont (which refers to containers).
19:14 yoleaux 16:43Z <jnthn> sorear: given these ops are probably only used in a handful of places, we could just spell out "continuation" in the name; it's huffmanly OK to do that.
19:16 masak sorear! \o/
19:16 Teratogen joined #perl6
19:16 FROGGS sorear o/
19:16 Teratogen howdy howdy howdy
19:17 masak +1 on "continuation"
19:17 sorear jnthn: what do you think of diakopter's s/cont/dc/ suggestion?
19:18 jnthn sorear: It's a little terse, imho
19:20 masak "a little"? :)
19:20 diakopter there, "a little" simply means "too"
19:20 labster "a ltl"
19:21 colomon sorear!  jnthn!  masak!  diakopter!  FROGGS! \o/
19:22 FOAD colomon!
19:23 colomon FOAD?
19:23 FROGGS \o/
19:23 sorear backlog succeeded
19:23 FOAD Just getting into the spirit of the thing, you know.
19:24 colomon FOAD!  \o/
19:24 lue spirit is important 'round these parts :)
19:24 FOAD :)
19:25 masak FOAD! \o/
19:25 FOAD And now that I am talking anyhow, is there anything a not-very-good Perl 5 programmer can do to help Perl 6 along?
19:25 FOAD masak!
19:25 masak there's plenty to do.
19:26 masak but it's hard to communicate exactly what, to a newcomer. not enough common language.
19:26 sorear colomon: this isn't the first time you've done member:foo.  I'm curious now
19:26 FOAD Okay.  Where do I start?
19:26 masak best is to just follow -Ofun, and do what you like.
19:26 timotimo_ FOAD: i knew nothing of perl5 when i started and i made something that jnthn mentioned in a talk at yapcna! so the "rags to riches" thing that the americans dream of can totally come true in this community!
19:26 masak FOAD: download Rakudo, write 100 one-liners, get to know the language.
19:26 tgt joined #perl6
19:26 masak FOAD: submit bugs (or ask here) as you find things.
19:27 masak FOAD: read the spec. think about how to use Perl 6 for different things. write your first module and upload it. enjoy this cool language.
19:27 masak FOAD: suggest missing documentation. suggest missing modules.
19:27 colomon sorear: when I cut and paste text in my IRC client, it pulls up the member thing automatically.  thing is, I don't remember that ever happening until last week.
19:27 masak FOAD: fix your first Rakudobug :)
19:28 FOAD Ok wow that's a ton of suggestions. :)
19:29 sorear jnthn: the line length question stands
19:30 logie joined #perl6
19:31 FROGGS ahh, feels good to improve my own toolchain... I can now see what tests pass/fail compared to the last run (while running the test, with colors for good/bad changes)
19:31 colomon \o/
19:31 timotimo_ yays!
19:31 FOAD I'll see what I can do, thanks.
19:32 labster Do whatever is fun to you, FOAD.
19:32 labster I started writing modules six months ago, and followed it all the way into the rakudo core.
19:33 FROGGS ITS A TRAP!
19:33 labster it is.  but a very fun trap
19:33 labster Like an MMO that sucks away all of your time by being so fun.
19:33 jnthn sorear: No, there's not a policy, but if you write a 5000 char long line I will probably be like, "wtf" :)
19:34 * lue has yet to jump into the rakudo core, but really really should sometime soon
19:34 jnthn sorear: I certainly haven't stuck to anything strict. But given the font size I need to work at, I actually can't fit all that many chars on a line ;)
19:35 labster ... but I need my variable to be 5000 characters long to do proper reverse double expanded hungarian notation
19:35 lue .oO(How else am I supposed to attach a SHA1 checksum of the variable name to the end of the variable name? Uniqueness is critical!)
19:36 FROGGS labster: variable names are not allowed to be longer than the distance of jnthns eyes! (including sigil and following infix...)
19:36 timotimo_ let's turn single static assignment into *constant* signle static assignment and make it all content-addressed!
19:37 PerlJam labster: is this what's become of perl poetry?  now, each variable name tells a story?
19:37 timotimo_ Slang::Shakespeare?
19:38 * colomon ponders how much information can be encoded in 5000 unicode characters....
19:38 labster mine class Foo { hath $!bar; }
19:38 lue .oO(my $integermeanttoindicatethenumberofcrashesretrievedfromtheconfigfilewhichIhadtoincludeonedaybecauseIreally ...)
19:43 sorear please, separate your words.
19:44 timotimo_ yeah, perl6 has -, _ and '
19:44 timotimo_ should be enough for everybody!
19:44 timotimo_ sadly no unspace inside identifiers ;)
19:45 [Coke] FOAD: find tickets that could be closed if only we had tests and test them
19:45 timotimo_ there's a pre-made search query for that *somewhere* i hope!
19:45 * lue hopes people realize separation was omitted for comedic purposes
19:45 dalek rakudo-star-daily: 32beb6b | coke++ | log/ (5 files):
19:45 dalek rakudo-star-daily: today (automated commit)
19:45 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/32beb6b9b5
19:45 dalek rakudo-star-daily: be132ca | coke++ | log/ (5 files):
19:45 dalek rakudo-star-daily: today (automated commit)
19:45 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/be132ca98f
19:45 dalek rakudo-star-daily: abe5386 | coke++ | log/ (5 files):
19:45 dalek rakudo-star-daily: today (automated commit)
19:45 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/abe5386970
19:45 lue rn: my $a = Mu.new; say so $a;
19:45 camelia rakudo b2072f, niecza v24-71-gdb4190b: OUTPUT«True␤»
19:46 [Coke] timotimo_, FOAD : rakudo.org/rt/testneeded
19:46 timotimo_ was that added very recently?
19:47 lue S02:4663 implies I can't instantiate a Mu, but rakudo and niecza allow it. Who's right?
19:47 [Coke] like a year go
19:47 [Coke] *ago
19:47 timotimo_ okay first: are there more of those? second: why isn't there a huge banner somewhere that displays those short links?
19:47 [Coke] timotimo_: banner where?
19:48 timotimo_ irc topic perhaps, rakudo.org perhaps
19:48 [Coke] http://rakudo.org/tickets/
19:48 [Coke] which is the "Bug Tracker" link in the main nav.
19:48 timotimo_ why have i never seen this? ;_;
19:49 [Coke] lue: the parenthetical makes it "clear" that that's conjectural.
19:50 lue Yes, but having something like "can you create an instance of a Mu object" be undecided bugs me. (For the record, I don't see any reason to make Mu a special case, and not allow it to be instantiated)
19:52 sorear i've been burned far too many times by that
19:52 sorear $uninitialized_variable.new() ought to die
19:52 sorear not return a defined object of type Any
19:52 FOAD Thanks [Coke].
19:54 labster rakudo seems to handle >10000 character identifiers just fine.  of course, my eyes don't.
19:54 jnthn o.O
19:55 jnthn While I'm relieved, the rakudo bug woulda been just great. "Rakudo doesn't support 100 KB long identifiers"
19:56 lue labster: can rakudo support variable names larger than 0xFF_FF_FF_FF (or 0xFFFF_FFFF_FFFF_FFFF) bytes ? :P
19:59 flussence r; say eval("my ${'a' x 99999999999}"); ...nah, just kidding :)
20:04 masak NO LIMITS
20:05 lue That's funny, a variable with name 'a' xx 0xFFFF_FFFF seems to hang and cause a steady increase in my RAM usage :)
20:06 lue (I killed it, by the way, so I'll never know if it would've worked.)
20:10 bruges_ joined #perl6
20:10 * masak suggests more descriptive but maybe not quite as long variable names
20:15 flussence .oO( PHP's more consistent than rakudo here - both identifiers and their length are stored as C chars ;)
20:16 sorear lue: you should have used x, not xdx
20:16 sorear xx
20:17 lue ah, x doesn't create the list xx does, does it? (I typed ('a' xx 0xFFFF_FFFF).join)
20:18 lue Still, I have just 4GiB of RAM, so I doubt a 4GiB long name would succeed for me :)
20:18 flussence it's probably at least 8, since you're making an array and a string there...
20:18 rurban joined #perl6
20:20 flussence (maybe .join with no args should simply return a Cat of the original list [assuming that ever gets implemented])
20:21 lue .oO(We need to find a large enough (most likely a) server to discover if rakudo can handle >=64bit variable names!)
20:22 bluescreen10 joined #perl6
20:27 snearch joined #perl6
20:27 berekuk joined #perl6
20:31 masak I'm surprised at https://rt.perl.org/rt3/Ticket/Display.html?id=105004 .
20:31 masak if "nothing else derives from it" does not mean "nothing else *can* derive from it", then what point is the spec trying to make?
20:32 masak there's a lot of classes that nothing derives from, and we don't keep pointing that out for them.
20:33 labster But, is there a good reason to say that nothing can derive from Whatever?
20:33 sorear r: my $abcdefghi = 12; say $abcdefghi
20:33 camelia rakudo b2072f: OUTPUT«12␤»
20:33 sorear looks like rakudo can handle 72 bit variable names
20:33 FROGGS labster: hmmm, IMO there is never a reason to forbid these things
20:34 sorear masak: I think the point that the spec is trying to make is that it's written by a bunch of people and has an inconsistant level of detail
20:34 masak sorear: at best, that's a meta-point.
20:35 PerlJam masak: "...but nothing else [currently] derives from it"
20:35 lue My question is, what is "it" referring to? It could just as easily refer to C<Any>, which changes that part of the sentence from redundant to wrong (the use of the word "but" especially suggests this to me).
20:36 labster sorear scores one metapoint, and is in the lead in the metagame.
20:36 PerlJam masak: "..but nothing else [in the standard type hierarchy] derives from it"
20:36 masak PerlJam: again, that seems wholly uninteresting to point out.
20:37 masak or at least random and non sequitur-y.
20:37 [Coke] masak: do you care what it says, or you arguing only that since it says what it says anything, it probably means what cognominal read it as?
20:37 lue I feel you should be able to derive from Whatever, and that the phrase in question is superfluous.
20:38 masak [Coke]: I'm saying either it reads as cognominal read it, or it's useless.
20:38 PerlJam masak: the specs were written by humans.   Humans are fallible.  Maybe it was just a prosaic accident.
20:38 [Coke] masak: my read is that it's useless.
20:38 * lue votes useless
20:38 masak anyone object to me removing it?
20:38 PerlJam masak: nope
20:38 PerlJam (I vote useless too :)
20:38 [Coke] (do we have any other java-esque "final" classes hinted at anywhere in the spec?)
20:38 [Coke] masak++
20:39 [Coke] anywhere *else*, that is.
20:41 labster remove +1
20:42 dalek specs: e33d6c9 | masak++ | S02-bits.pod:
20:42 dalek specs: [S02] remove useless information about Whatever
20:42 dalek specs:
20:42 dalek specs: The synopsis pointed out that Whatever derives from Any (which is
20:42 dalek specs: true), and that nothing derives from Whatever (which is true).
20:42 dalek specs:
20:42 dalek specs: If nothing derives from Whatever, does that mean nothing *can*
20:42 dalek specs: derive from Whatever? RT #105004 determined that it doesn't.
20:42 dalek specs:
20:42 dalek specs: Then what does it mean? Only that before someone writes a class
20:42 dalek specs: that derives from Whatever, no class derives from Whatever. While,
20:42 dalek specs: true, that's not a very exciting statement, and possibly
20:42 dalek specs: misleading. Removing.
20:42 dalek specs: review: https://github.com/perl6/specs/commit/e33d6c9c07
20:43 masak s/While,/While/ # *sigh*
20:43 * lue thinks of an "is perfection" trait for those "final" classes [Coke] mentioned
20:44 * [Coke] thinks "final" is a fine name if we go that route.
20:45 * masak thinks "final" is quite incompatible with regular Perl ideals
20:45 masak ...but all is fair if you predeclare :)
20:46 labster Yes.  Perl should allow you to shoot yourself in the foot if you load the ammo, aim downwards, and pull the trigger.  But by default we leave the safety on.
20:47 masak Perl 6 does :)
20:47 lue Perl 6 better let me turn *off* the safety too.
20:49 masak agreed.
20:49 sorear have the slides to "Perl of Christmas Past" been posted anywhere?
20:49 masak that's why the MOP doesn't try to enforce private attributes' privacy, for example.
20:50 masak (because that would make it very hard to write constructor internals, serializers, and debuggers in Perl 6)
20:50 lue r: class Foo { method new { die "Silly programmer, you cannot derive *me*! Tell {self.^name} to try someone else!" if self.^name !eq "Foo" } }; class Baz is Foo { }; my $a = Foo.new(); $a = Baz.new();
20:50 camelia rakudo b2072f: OUTPUT«Silly programmer, you cannot derive *me*! Tell Baz to try someone else!␤  in method new at /tmp/mfCT1xPKz7:1␤  in block  at /tmp/mfCT1xPKz7:1␤␤»
20:50 dalek roast: 1b0e149 | (Solomon Foster)++ | S02-types/ (2 files):
20:50 dalek roast: More Bag tests moved along the the present.
20:50 dalek roast: review: https://github.com/perl6/roast/commit/1b0e1499bc
20:52 masak lue: (but you *could* derive Foo. you just couldn't instantiate Foo or any of its descendants... until someone overrides .new, that is)
20:53 masak a concept like "final" isn't very compatible with an über-dynamic language where most things can be changed at runtime.
20:53 lue Yeah. Also it should choke at compile time (instead of runtime). But at least this makes it more work.
20:53 flussence make it a module, so you can change the finality at runtime :)
20:54 lue .oO(Once again, an idea that seems to require slangs)
20:55 flussence .oO( trait_mod:isn't('yours', $errmsg = 'get off my lawn!') )
20:55 sorear Create a virtual base class with a private constructor, set a 'friend' from the virtual base to the class you want final
20:55 * sorear is looking for the slide of pmichaud with sorear behind him
20:56 colomon :)
20:57 masak sorear: caption: "LOL PMICHAUD I HAVE YOUR BACK"
20:57 * masak wants to see that now
20:57 sorear masak: I think I was just captioned "Perl 6" or something to that effect
20:58 masak sorear: yes, I was just dreaming a little :)
20:58 sorear masak: It was in mdk's christmas past keynote
20:58 masak I half-remember that picture.
20:58 arnsholt joined #perl6
20:59 kivutar joined #perl6
21:01 twigel joined #perl6
21:02 dalek roast: aa647ff | (Solomon Foster)++ | S03-operators/bag.t:
21:02 dalek roast: Use new coercers to construct.
21:02 dalek roast: review: https://github.com/perl6/roast/commit/aa647ffb54
21:02 simcop2387 joined #perl6
21:03 dalek niecza: 3cebbf8 | (Solomon Foster)++ | lib/CORE.setting:
21:03 dalek niecza: Additional fixes to Bag and KeyBag.
21:03 dalek niecza: review: https://github.com/sorear/niecza/commit/3cebbf81be
21:03 colomon probably needs more fudging under Rakudo now.  :\
21:03 * jnthn back
21:04 tadzik sorear: that was a very nice slide too :)
21:04 tadzik fathers of two main Perl 6 implementations
21:05 colomon :)
21:06 * masak .oO( "Niecza, I am your father." -- "noooooo" )
21:07 tadzik :D
21:07 tadzik ooh
21:07 tadzik "And here is your Aunt Beru" "nooooo" "And here is you mother Padme" "noooo"
21:08 masak :)
21:08 sahadev joined #perl6
21:08 flussence std: -> $dir { $dir.path, {$^a.parent.resolve} ...^ {!$^a.d} } # reverse filesystem breadcrumb list, can I golf this down any?
21:08 camelia std 6348f35: OUTPUT«ok 00:00 46m␤»
21:10 ajr joined #perl6
21:13 flussence (I'm getting nowhere with triangle reduce attempts...)
21:14 timotimo_ i think it's already pretty good
21:14 masak me too.
21:16 sahadev hello all
21:16 sahadev perl6: my $b = chr 98; say qq{a{$b}c} eq qq{a{chr 98}c}
21:16 camelia rakudo b2072f, niecza v24-71-gdb4190b: OUTPUT«False␤»
21:17 timotimo_ inside { ... } quotes, {...} interpolation is turned off
21:17 timotimo_ perl6: my $b = "hello!"; say qq{a{$b}c};
21:17 sahadev can someone explain me why the closure in the rhs expression above doesn't interpolate? and, the reason behind it?
21:17 camelia rakudo b2072f, niecza v24-71-gdb4190b: OUTPUT«a{hello!}c␤»
21:17 PerlJam timotimo++ quicker than me :)
21:17 timotimo_ er, wait what?
21:17 timotimo_ oh, of course
21:17 jnthn Nestings of the opener/closer take precedence over escapes in the parser.
21:17 timotimo_ the closure doesn't interpolate, but the variable does
21:17 flussence .oO( actually, «... * ~~ '/'» would be more useful than testing for .d since it doesn't depend on the local filesystem - think website breadcrumbs... )
21:17 masak r: say 51 * 65536
21:17 camelia rakudo b2072f: OUTPUT«3342336␤»
21:17 masak r: perl6 -e 'sub breadcrumb($start, &iter, &until) { $start, &iter ...^ &until }; .say for breadcrumb(3342336, * / 2, * % 2)
21:17 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/NNZ4lbhKrM:1â�¤------> [32mperl6 -e [33mâ��[31m'sub breadcrumb($start, &iter, &until) {[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        statement endâ�¤      â€¦
21:18 masak r: sub breadcrumb($start, &iter, &until) { $start, &iter ...^ &until }; .say for breadcrumb(3342336, * / 2, * % 2)
21:18 camelia rakudo b2072f: OUTPUT«3342336␤1671168␤835584␤417792␤208896␤104448␤52224␤26112␤13056␤6528␤3264␤1632␤816␤408␤204␤102␤»
21:18 masak flussence: ^^
21:18 jnthn sahadev: See https://github.com/perl6/std/blob/master/STD.pm6#L452 if curious for why it parses that way
21:19 timotimo_ does that explain anything? :)
21:19 sahadev :)
21:19 sahadev thanks jnthn, I will try if I can make some sense out of it
21:19 FROGGS hehe
21:19 jnthn sahadev: I remeber asking TimToady++ if that was intentional when I was implementing the quote stuff. I forget the exact reasoning, but I think it was something along the lines of "the quoter is fresher in the programmer's mind" or so :)
21:19 jnthn It's in the logs, if anybody good at searching the logs wants to dig it up.
21:20 sahadev ok
21:20 masak sahadev: basically, the quoter sense of {} overwrites the block sense of {}. if you want the latter, don't quote with {}.
21:20 jnthn You can choose whatever quoting chars you want, fwiw.
21:20 athomason joined #perl6
21:21 jnthn perl6: my $b = chr 98; say qq{{a{$b}c}} eq qq{{a{chr 98}c}} # double 'em like this, for example
21:21 sahadev masak: yeah, i see that the closure interpolates when using non-brace brackets as delimiters
21:21 camelia rakudo b2072f, niecza v24-71-gdb4190b: OUTPUT«True␤»
21:21 FROGGS well, <alpha>'s dont work
21:21 FROGGS :P
21:21 jnthn perl6: my $b = chr 98; say qq[a{$b}c] eq qq[a{chr 98}c] # or these
21:21 camelia rakudo b2072f, niecza v24-71-gdb4190b: OUTPUT«True␤»
21:21 flussence r: say qq:c{{1+1}}
21:21 camelia rakudo b2072f: OUTPUT«1+1␤»
21:22 jnthn flussence: There you chose {{ as the opener and }} as the closer.
21:22 flussence oops
21:22 flussence r: say qq:c{ {1+1} }
21:22 camelia rakudo b2072f: OUTPUT« {1+1} ␤»
21:22 flussence *shrug*
21:22 flussence n: say qq:c{ {1+1} }
21:22 camelia niecza v24-71-gdb4190b: OUTPUT« {1+1} ␤»
21:22 sahadev i am trying to add perl6-ish interpolation (a simplified version of it) in moe and came across this test in Perl6 roast which failed in moe
21:22 jnthn The { and } being treated as nested delimeters takes precedence syntactically, it's not that :c gets disabled.
21:22 flussence ah
21:23 flussence so... qq:c[ would work there?
21:23 jnthn It's a sequential alternation in the thingy I linked
21:23 jnthn Yes, but the :c is redundant :)
21:23 jnthn qq imples :c
21:24 jnthn If you want a quote language that interpolates closures and nothing else, Q:c[ ... ] would work, for example. Q is the mother of all quotes.
21:24 jnthn Or grandpa, or whatever.
21:24 jnthn :)
21:25 lue .oO(Q is the Mu of quoting constructs)
21:29 rurban joined #perl6
21:35 rurban1 joined #perl6
21:46 colomon errr.... I told rakudo   make specitest, and it did this:
21:47 colomon cd t/spec && git pull
21:47 colomon Already up-to-date.
21:47 colomon perl t/harness --fudge --keep-exit-code --icu=1 --tests-from-file=t/spectest.data
21:47 colomon and now it just seems to be sitting there.
21:47 colomon My computer's fan isn't running, so I'm thinking it's not running any tests.
21:47 colomon Ideas?
21:47 flussence strace it?
21:47 FROGGS top? ps ax? taskmanager?
21:48 colomon top is showing three perl scripts in positions #4, 5, and 6.
21:49 colomon and control-C on the alleged spectest run makes them go away.
21:55 labster identical thing is happening here
21:59 labster did something change in the spectests recently?
22:02 cognominal joined #perl6
22:04 FROGGS git bisect might be handy here
22:11 flussence rn: say ?("a" x 103 ~~ /^(aa|aab?)*$/)
22:12 camelia rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«(timeout)»
22:12 timotimo_ oh yikes, backtrack-hell?
22:13 jnthn Quantified quantified things can lead to such situations.
22:13 flussence seen on http://www.reddit.com/r/coding/comments/1g2fw3/
22:13 * jnthn has a similar example and graph of timings in his C# course
22:14 flussence the good news is rakudo's using a fairly constant and small amount of RAM running it locally :)
22:16 benabik joined #perl6
22:19 flussence rn: say ?("a" x 103 ~~ /^(aab?)*$/) # runs quite a lot faster with the constant prefix factored out
22:19 camelia rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«False␤»
22:22 flussence p5eval: ("a" x 103 ~~ /^(aa|aab?)*$/) # p5 appears to already have this optimisation
22:22 p5eval flussence: No output
22:23 ugexe joined #perl6
22:23 rindolf joined #perl6
22:33 xilo joined #perl6
22:38 pretty-gurl joined #perl6
22:38 pretty-gurl Hello hello hello
22:38 masak pretty-gurl: hi!
22:38 masak bye!
22:39 * masak .oO( pretty-impatient )
22:41 census joined #perl6
22:46 fgomez joined #perl6
22:48 sivoais joined #perl6
22:49 rurban joined #perl6
22:51 BenGoldberg joined #perl6
22:51 dalek roast: eeedf1a | (Solomon Foster)++ | S03-operators/bag.t:
22:51 dalek roast: Didn't need the new coercers after all.
22:51 dalek roast: review: https://github.com/perl6/roast/commit/eeedf1a122
22:52 masak 'night, #perl6
22:54 FROGGS gnight masak
22:55 colomon hmmm.... make t/spec/S02-types/keybag.t seems to be taking a Very Long Time under Rakudo...
22:55 Ben_Goldberg joined #perl6
22:58 colomon rn: my $b = KeyBag.new("a", "foo", "a", "a", "a", "a", "b", "foo"); say $b
22:58 camelia rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«keybag("a" => 5, "foo" => 2, "b" => 1)␤»
23:00 labster colomon: does that mean you can get 'make spectest' to run now?
23:00 colomon labster: nope, I just started running the set tests by hand to see if they might be the culprits
23:01 colomon I don't even start to understand how a hang in one test could cause make spectest to not return any output.
23:02 colomon maybe it's a fudgeandrun problem?
23:02 colomon if I try to prove the .t file directly without fudgeandrun, it gets through 40 tests.
23:03 jnthn sleep...hope I will be much more productive tomorrow...
23:03 jnthn 'night o/
23:03 colomon \o
23:04 lizmat joined #perl6
23:04 rurban1 joined #perl6
23:05 skids joined #perl6
23:09 * lizmat is "enjoying" another change of itinerary: going from Newark to Amsterdam via Oslo
23:10 sorear lizmat: gonna say hi to arnsholt while there? :)
23:13 lizmat well, I hope that we won't have time to go out of the airport
23:13 lizmat we just missed our plane *again* by 10 minutes
23:14 lizmat our previous flight had delays, but in principle we could still make it
23:15 lizmat but at the gate, it took 15 minutes for someone to arrive to get the jetway in place, so we could get out of the plane
23:15 lizmat grrrr
23:18 diakopter lizmat: :(
23:19 athomason joined #perl6
23:20 lizmat travelling sucks
23:24 PZt joined #perl6
23:25 sorear where are you now?  newark?
23:26 sorear never having had to deal with anything like this, I have one question: is it also turning into a huge money sink?  I assume you have to pay for the two empty chairs that you've flown across the Atlantic?
23:26 census good night masak!
23:26 lizmat Newark Liberty
23:26 lizmat sorear: no, we didn't have to pay anything extra.
23:26 census vacation in u.s. after yapc?
23:27 lizmat but since we want extra legroom, you can pay for "Economy Plus" with United
23:27 sorear census: not intentionally.  lizmat & woolfy are just having WONDERFUL LUCK getting back home
23:27 lizmat *that* I had to do again, or run the risk of not being able to upgrade
23:27 lizmat sorear: except of course an extra hotel night
23:28 sorear s/two empty chairs/four empty chairs/
23:28 lizmat yup
23:28 * sorear momentarily forget about woolfy
23:29 * pmichaud has spent many hours at newark liberty
23:29 lizmat hehe.. woolfy did a good job holding me back when I exploded after having run through most of Newark Liberty to make it to the gate at the farthest end
23:29 lizmat only to be told we were too late
23:30 dukeleto joined #perl6
23:30 lizmat ok, checking in again...
23:30 dukeleto o/
23:30 lizmat later!
23:31 dalek roast: 36f2bc2 | (Elizabeth Mattijsen)++ | S02-types/set.t:
23:31 dalek roast: Slight adaptation in fudge for bag test
23:31 dalek roast: review: https://github.com/perl6/roast/commit/36f2bc2b04
23:43 colomon r: say {a => 1000, b => 2}.KeyBag
23:43 camelia rakudo b2072f: OUTPUT«No such method 'KeyBag' for invocant of type 'Hash'␤  in block  at /tmp/6I81ywuC1P:1␤␤»

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

Perl 6 | Reference Documentation | Rakudo