Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-06-12

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:06 FROGGS joined #perl6
00:13 dalek doc/choices: d3ef4e1 | ab5tract++ | bin/p6doc:
00:13 dalek doc/choices: No longer theoretical
00:13 dalek doc/choices: review: https://github.com/perl6/doc/commit/d3ef4e1a50
00:23 lizmat joined #perl6
00:26 amurf joined #perl6
00:38 msouth joined #perl6
00:38 llfourn joined #perl6
00:44 laouji joined #perl6
00:53 msouth joined #perl6
00:54 Zhtwn joined #perl6
00:54 bin_005 joined #perl6
01:09 cognominal joined #perl6
01:18 adu joined #perl6
01:22 prevost joined #perl6
01:38 BenGoldberg joined #perl6
01:54 gtodd1 joined #perl6
01:59 Ben_Goldberg joined #perl6
02:01 dayangkun joined #perl6
02:04 ggoebel joined #perl6
02:04 dalek doc/choices: 145185a | ab5tract++ | bin/p6doc:
02:04 dalek doc/choices: Run doc output through fmt on the way to page
02:04 dalek doc/choices: review: https://github.com/perl6/doc/commit/145185a373
02:04 dalek doc/choices: 571f437 | ab5tract++ | bin/p6doc:
02:04 dalek doc/choices: Cleaner by far
02:04 dalek doc/choices: review: https://github.com/perl6/doc/commit/571f437dbb
02:11 rurban joined #perl6
02:13 dalek doc/choices: d7ae128 | ab5tract++ | bin/p6doc:
02:13 dalek doc/choices: Fix menu
02:13 dalek doc/choices: review: https://github.com/perl6/doc/commit/d7ae128926
02:26 pmichaud good evening, #perl6
02:28 noganex joined #perl6
02:29 hoelzro evening pmichaud
02:30 msouth joined #perl6
02:35 rmgk_ joined #perl6
02:36 kurahaupo1 joined #perl6
02:48 adu joined #perl6
02:50 jack_rabbit joined #perl6
02:50 Zhtwn left #perl6
02:53 pmichaud TimToady: ... is "take" considered an instance of abnormal control, in the sense of being trappable by CONTROL handlers...?
02:53 pmichaud *abnormal control flow
02:54 TimToady presumably
02:54 TimToady at least as currently implemented
02:54 pmichaud well, I mean more "as designed"
02:55 TimToady it doesn't really have to be control flow, if it merely knows where to put the next value
02:55 pmichaud I'd prefer it not be control flow.
02:56 TimToady fine by me
02:56 pmichaud in some sense it is, in another it's not, since as far as the block is concerned execution continues immediately following the take anyway :)
02:56 pmichaud it's more like an interrupt than a control flow break :)
02:57 TimToady certainly we want to maintain the right to optimize
02:57 pmichaud yes
02:57 pmichaud works for me.
02:57 skids Well, someone will come looking for a coruotine construct if take stops behaving as one.
02:58 pmichaud skids: I'm not changing that.
02:59 adu TimToady: you're such a libertarian
02:59 pmichaud There are just cases where take can be smart enough to recognize that it's safe to store the value somewhere and proceed without immediately doing the control jump.
02:59 adu joined #perl6
02:59 skids Ah, good, I am all for optimizing those too :-)
03:00 pmichaud when it's not safe, it does the continuation/jump bit.
03:00 adu TimToady: you're such a libertarian
03:00 TimToady you can say that again
03:00 adu libertarian
03:01 adu it's a Good Thing
03:02 adu Liberty is what protects us from Hitler and population reductionism
03:04 pmichaud .oO( is Hitler still a threat? I thought he was dead. )
03:04 adu I'm 100% sure that Hitler's public double is dead
03:05 pmichaud Aha.  Good to know.
03:05 adu I'm 5% sure that the original Hitler is dead
03:06 skids m: say 2015-1889; # I'm a bit more than 5% sure.
03:06 camelia rakudo-moar 15c6fb: OUTPUT«126␤»
03:07 adu make that 45% sure
03:12 dalek specs: a62d2ce | pmichaud++ | S07-glr-draft.pod:
03:12 dalek specs: More GLR discussion, plans, and notes.
03:12 dalek specs: review: https://github.com/perl6/specs/commit/a62d2ce733
03:14 pmichaud TimToady: not sure it's a good idea, but @@ popped into my head as a possible flattener.
03:14 pmichaud it's very steamroller-y
03:17 pmichaud I'm afk   # walk, packing
03:25 laouji joined #perl6
03:37 sunnavy joined #perl6
03:37 dalek specs: e71c0a1 | skids++ | S07-glr-draft.pod:
03:37 dalek specs: Minor pronoun clarification
03:37 dalek specs: Question about last-statement-loops and laziness
03:37 dalek specs: Historical note for those not up to date on GLR progress
03:37 dalek specs: review: https://github.com/perl6/specs/commit/e71c0a16bc
03:48 yeahnoob joined #perl6
03:51 prevost joined #perl6
03:55 bin_005 joined #perl6
03:57 Gardner joined #perl6
04:01 laouji joined #perl6
04:04 dalek specs: b95b2a1 | Mouq++ | S07-glr-draft.pod:
04:04 dalek specs: Ask about a list concatenation op
04:04 dalek specs: review: https://github.com/perl6/specs/commit/b95b2a159d
04:07 dalek specs: 2a7daba | Mouq++ | S07-glr-draft.pod:
04:07 dalek specs: Untypo last commit
04:07 dalek specs: review: https://github.com/perl6/specs/commit/2a7daba921
04:16 kaare_ joined #perl6
04:19 TimToady Mouq: yes, re http://irclog.perlgeek.de/p​erl6/2015-06-10#i_10729270 a deepmap is intented to retain structure, so there's that's gone buggy with some of our GLR stuff, and will need fixing
04:19 TimToady *something
04:22 Mouq Okay
04:22 TimToady jnthn: the intent of having a .parsefile in the first place is to capture the filename for use in error messages
04:23 TimToady otherwise it's rather uselessly redundant with .slurp.parse
04:24 TimToady well, .parse(slurp) or some such
04:25 dalek specs: 4482589 | pmichaud++ | S07-glr-draft.pod:
04:25 dalek specs: Add answer to skids++'s e71c0a1 question.
04:25 dalek specs: review: https://github.com/perl6/specs/commit/448258912b
04:25 Mouq Part of me, after implementing it, is still uncertain about »+» creating lists of the same type as were passed, until we get coersion worked out better :/
04:26 TimToady that seems right to me
04:26 pmichaud I suspect a lot of new information will fall out of the new GLR semantics
04:26 pmichaud er, phrased that wrong
04:27 pmichaud I suspect we'll have a lot better picture of how it should work once the initial GLR semantics are in implementation
04:27 pmichaud I'm very much liking the model that is emerging from thoughts/discussions
04:27 pmichaud it feels clean, elegant, and (potentially) fast
04:42 japhb .oO( Choose three ... )
04:43 dalek specs: 99aeec7 | pmichaud++ | S07-glr-draft.pod:
04:43 dalek specs: Conjecture names for the conjectured insert-into-list type.
04:43 dalek specs: review: https://github.com/perl6/specs/commit/99aeec763a
04:43 dalek specs: 43f7fde | pmichaud++ | S07-glr-draft.pod:
04:43 dalek specs: Answer Mouq++'s b95b2a1 question.
04:43 dalek specs: review: https://github.com/perl6/specs/commit/43f7fdeb67
04:50 dalek specs: 69b6eb5 | pmichaud++ | S07-glr-draft.pod:
04:50 dalek specs: More answer to Mouq's example.
04:50 dalek specs: review: https://github.com/perl6/specs/commit/69b6eb5acf
04:50 araujo joined #perl6
04:50 araujo joined #perl6
04:51 dalek specs: 84ff4f3 | pmichaud++ | S07-glr-draft.pod:
04:51 dalek specs: Add "Sublist" to the brainstorm.
04:51 dalek specs: review: https://github.com/perl6/specs/commit/84ff4f37ea
04:51 pmichaud Also "SList", which combines "sublist" but maybe sounds a bit like "slice".  :-)
04:52 SevenWolf joined #perl6
04:54 TimToady the conjectured type won't replace Nil, only Empty
04:54 pmichaud correct.
04:56 pmichaud Nil ends up being quite orthogonal to lists, I think.
04:56 pmichaud as in, it doesn't have any special listy properties.
04:56 * pmichaud adds to S07
04:56 TimToady I just was reading a partial context line, and didn't see the pre-GLR note on Nil
04:57 lkjkj joined #perl6
04:58 Mouq pmichaud++ btw
04:58 dalek specs: d419e70 | pmichaud++ | S07-glr-draft.pod:
04:58 dalek specs: Add note about post-GLR C<Nil>.
04:58 dalek specs: review: https://github.com/perl6/specs/commit/d419e70147
04:58 * TimToady kinda wonders whether our new type is really just an iterator, rather than something you ask for an iterator
04:58 pmichaud it's certainly Iterable.
04:59 pmichaud and in pre-GLR, all Iterators were Iterables.
04:59 Mouq Also, "Expand"? (Seq bikeshedding)
04:59 TimToady .oO(Shoehorn)
05:00 TimToady Hoist
05:00 pmichaud I knew I'd be opening the bikeshed paint store with that commit.  :)
05:00 pmichaud Clip, Cut, Paste were ideas coming from the notion of film editing.  :)
05:00 TimToady Splice
05:00 pmichaud I thought of Splice, but it's too close to .splice for my taste.
05:01 TimToady well, rather similar idea
05:01 pmichaud yes, but part of me feels that .splice should then return a Splice.  :)
05:02 TimToady whatever it is, Foo() has to feel like Empty
05:02 pmichaud thesuarus.com only knows about the verb form of "splice", and the noun definitions I've seen think of a "splice" as the whole result of the join, and not the piece being joined
05:02 TimToady More()
05:03 pmichaud I kind of like Seq()
05:03 pmichaud I didn't at first, but it's growing on me.
05:03 Mouq To bad we already used Mu :P
05:03 pmichaud Lu
05:04 TimToady Moo
05:04 TimToady we were wanting a Dog type...
05:04 pmichaud I'm also toying with the idea that the type object itself disappears in a list.
05:04 pmichaud like Empty does now.
05:04 pmichaud m: say Empty.defined
05:04 camelia rakudo-moar 15c6fb: OUTPUT«False␤»
05:04 pmichaud so then one could just return Seq
05:04 pmichaud and not have to do Seq()
05:04 TimToady but Seq doesn't feel empty
05:04 pmichaud (or whatever it gets called)
05:05 TimToady Slot
05:05 pmichaud Hole
05:05 TimToady Virus
05:05 pmichaud Gene
05:06 TimToady Intron
05:06 TimToady Slip
05:06 TimToady as in, "slip this in"
05:06 TimToady but also "slip one cog" when nothing is there
05:07 pmichaud "Welcome to Pm's Bikeshed Paint Emporium! Today we have a special running on all sorts of list-related terms"
05:07 pmichaud yes, I like the double-meaning to slip
05:07 pmichaud I was thinkng "slip by this one"
05:07 TimToady and it implies "sneaky"
05:07 pmichaud Sneak
05:07 pmichaud (slip is better)
05:07 Mouq Pm()
05:07 pmichaud are you implying I'm empty?  :-)
05:08 Mouq You just fit in so well
05:08 pmichaud I think I'll tentatively go with Slip for now, I like it better than Seq
05:08 TimToady me2
05:10 dalek specs: 3c71890 | pmichaud++ | S07-glr-draft.pod:
05:10 dalek specs: s/Seq/Slip/   # better bikeshed choice for now
05:10 dalek specs: review: https://github.com/perl6/specs/commit/3c71890b9f
05:10 pmichaud fwiw, I tried really hard to convince myself that C<Dog> could work.  :-P
05:11 pmichaud and perhaps C<Tac>  is too much "you think that's cute today"
05:30 pmichaud I wonder if the result of an infix:<...>  should naturally be a Slip
05:30 pmichaud (idle thought)
05:33 TimToady we might implement the postulated foo(@inner): @outer using a slip of some sort too
05:33 pmichaud this feels very much like a primitive type we've been missing for some time :)
05:34 TimToady .u 、
05:34 yoleaux U+FF64 HALFWIDTH IDEOGRAPHIC COMMA [Po] (、)
05:35 pmichaud I get a box for that char in my font.
05:36 TimToady .u ⸴
05:36 yoleaux U+2E34 RAISED COMMA [Po] (⸴)
05:36 pmichaud same there.  :)
05:36 TimToady looking for non-Texas forms :)
05:36 TimToady "raised" is cute though
05:36 pmichaud well, we want to make sure it's visually distinct from normal commas, too.
05:37 TimToady u ⨩
05:37 TimToady .u ⨩
05:37 yoleaux U+2A29 MINUS SIGN WITH COMMA ABOVE [Sm] (⨩)
05:37 * TimToady has been considering various Texas forms
05:37 TimToady ,, or \, or ^, and such
05:38 TimToady the (,) ain't so bad except it would imply a set operator
05:38 pmichaud yup
05:38 TimToady <,>
05:38 pmichaud I conjectured @, at one point.
05:39 pmichaud but too sigil/twigilish
05:40 TimToady it's kind of a shame that _ is considered alpha
05:40 TimToady as a "flat" sugar
05:41 TimToady other possible flat sugars: *() *:
05:41 TimToady would obviously have to win under LTM, but fit nicely with * for slurp
05:42 pmichaud there's always ***   :-)
05:42 pmichaud that's the Alaska form.  :)
05:43 TimToady too bad there isn't a monster truck glyph
05:43 RabidGravy joined #perl6
05:44 pmichaud aha
05:44 pmichaud the O_O operator
05:44 TimToady maybe we should use snowman for hierarchical, and comet for "flattening" :)
05:44 pmichaud O_O looks like a steamroller :)
05:45 TimToady O¯O
05:45 pmichaud I'm pretty sure someone can create a Texas monster truck
05:46 pmichaud but for that matter, how about  infix:<slip>
05:46 pmichaud I really don't expect it to be common at all.
05:46 TimToady o̿o
05:46 pmichaud (perhaps I'm wrong about that with all of the other flattening/itemization changes we're making... perhaps it'll be very common)
05:46 TimToady I considered infix:<slip>, but while it's huffmanly ok, it just doesn't quite feel right for some reason
05:47 pmichaud or even prefix:<slip>
05:47 TimToady prefix slip is close to your one-level flat
05:47 pmichaud yes, and it fits with the other "list" and "flat" contextualizers.
05:47 pmichaud and then you can do   return slip;
05:47 pmichaud as well as return slip()
05:48 TimToady but a reduce on the infix is probably sufficient instead of a prefix
05:48 pmichaud indeed
05:48 TimToady return Slip; ain't so bad
05:48 pmichaud yeah, but   Slip.new(1,2)  isn't so much fun.
05:48 pmichaud It works, but....
05:49 TimToady [,,] 1,2
05:49 pmichaud I suppose we can do Slip(1,2), but that feels wrongish also.
05:49 TimToady not opposed to a slip listop
05:49 pmichaud return [slip] 1,2     feels interesting also
05:49 pmichaud the "slip" almost looks parenthetical :)
05:50 FROGGS hmmmm, 'return Slip' would be identical to 'return Panties' where I am
05:50 pmichaud FROGGS: TMI
05:50 TimToady the Slips I'm familiar with are not identical to Panties...
05:50 pmichaud WTMI
05:51 FROGGS :D
05:51 FROGGS good morning :o)
05:51 FROGGS[mobile] joined #perl6
05:52 TimToady @x X (@y Zslip @z) feels odd
05:52 TimToady @x X, (@y Z^, @z) seems more better
05:53 TimToady or @x X, (@y Z\, @z)
05:53 TimToady so I'd like it to seem like a comma variant
05:53 pmichaud I'd be okay with ^, or \.
05:53 TimToady that's probably what bothers me about slip
05:53 pmichaud er, \,
05:53 pmichaud yes, I prefer a comma variant of some sort also.
05:54 pmichaud I just haven't come up with one I like better than slip.  :)
05:54 pmichaud I just haven't come up with one I like.
05:54 TimToady [\,] is bad though
05:55 TimToady m: .say for [\,] ^5
05:55 camelia rakudo-moar 15c6fb: OUTPUT«0␤0 1␤0 1 2␤0 1 2 3␤0 1 2 3 4␤»
05:55 pmichaud ,, seems like it could work but it scares me somehow.
05:55 TimToady yeah, looks like an error
05:56 TimToady *, maybe
05:56 pmichaud aha!
05:56 pmichaud infix:<⏏>   :-P
05:57 TimToady .p ❟
05:57 TimToady .u ❟
05:57 yoleaux U+275F HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT [So] (❟)
05:58 pmichaud I'm going to go with "slip" for now, knowing we'll likely change it to something comma-based.
05:59 pmichaud I definitely like the prefix "slip" form.
06:01 bin_005 joined #perl6
06:03 TimToady the thing I like about ,, though is that it kinda implies the two commas in the upper list on either side of the bit we're slipping in, a kind of comma-hole
06:05 pmichaud put a "hole" between the commas, then.
06:05 pmichaud like   ,O,
06:05 pmichaud but not alpha
06:06 pmichaud so that it doesn't look like a typo but is obviously deliberate.
06:10 diana_olhovik_ joined #perl6
06:12 pmichaud perhaps we could do ,,  and make it illegal to mix ,, and , in the same chain.
06:13 pmichaud 3,,4  # okay
06:13 pmichaud 3,4,,5  # error
06:13 pmichaud 3,(4,,5)  # okay, but same as 3,4,5
06:14 pmichaud oh!
06:15 pmichaud for that matter, even if someone typoed the ,, they'd end up with the same result.
06:15 pmichaud (I think)
06:15 pmichaud I can probably find a case where that doesn't work.
06:18 TimToady well, 3,4,,5 would already be an error, since two list assoc have to be the same operator already
06:18 quietfanatic joined #perl6
06:18 quietfanatic Insert() was what I was thinking
06:18 llfourn joined #perl6
06:18 TimToady we've mostly settled on Slip for the moment
06:18 quietfanatic ah
06:19 quietfanatic p6: grammar ASDF { multi rule TOP { ^ asdf $ }; multi method TOP ($/) { $/.make: "asdf" } }; say ASDF.parse("asdf", :actions(ASDF))
06:19 camelia rakudo-moar 15c6fb: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in regex TOP at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
06:19 quietfanatic I was really hoping that would work
06:20 FROGGS joined #perl6
06:20 quietfanatic I wonder why that error message happened though?
06:20 TimToady extra arg to 2nd TOP
06:20 quietfanatic But the signature of first TOP is (ASDF: *%_)
06:21 quietfanatic according to introspection
06:21 quietfanatic so why would anything be calling anything with two args?
06:22 RabidGravy struggling to reproduce this "smallbin double linked list corrupted" thing in a bite size chunk of code
06:23 RabidGravy it appears to only happen when running tests with "panda-test"
06:24 RabidGravy which is odd
06:25 quietfanatic And those two multis really shouldn't affect one another.  Even if this is an unlikely use case, it looks like a bug to me.
06:25 RabidGravy and also makes it difficult to run valgrind on it
06:26 TimToady quietfanatic: you're probably completel freaking out the LTM analyzer by mixing a rule and a method...
06:27 quietfanatic Well I wouldn't freak out if I were it. :)
06:27 pmichaud Yes you would.
06:27 pmichaud The entire regex engine is a big mess of "OMG WTF I AM SO FREAKED OUT!"
06:28 pmichaud if you're wanting to put the action methods into the grammar, how about just using a closure?
06:28 FROGGS m: grammar ASDF { multi rule TOP { { say "WAT" } }; multi method TOP (*@, *%) { say "hello" } }; say ASDF.parse("asdf", :actions(ASDF))
06:28 camelia rakudo-moar 15c6fb: OUTPUT«WAT␤hello␤(Any)␤»
06:28 telex joined #perl6
06:28 pmichaud rule TOP { ^ asdf $ { $/.make: "asdf" } }
06:28 quietfanatic Yes, that's what TimToady replied offline
06:29 quietfanatic I recall somebody several years ago on here telling me not to do that though
06:29 pmichaud you don't get inheritance/substitutability, but I suspect it works just as well.
06:29 TimToady there was a point where make didn't work in rakudo if you used it there
06:29 TimToady but that's been fixed
06:29 FROGGS quietfanatic: yes, it becomes more dirty and dirty when your grammar grows
06:29 quietfanatic ah, maybe that wasa it
06:29 pmichaud well, putting the two methods in the grammar is going to get dirty as well :)
06:30 FROGGS true
06:30 TimToady the main reason for separating out to a separate class is that you can use the same grammar with different actions
06:30 pmichaud agreed.
06:30 quietfanatic ah, that makes sense too
06:30 TimToady such as a pretty-printer
06:30 pmichaud that, and also to make it easier to read
06:30 pmichaud I always found it really hard to follow parsing when the action code was intermingled in the rules.
06:31 quietfanatic it's easier to read but there's a lot of coupling of method names and organization
06:31 pmichaud yes, I didn't find a way to avoid the name coupling.
06:31 pmichaud tbh, I didn't expect it to be adopted.  :) :)
06:31 TimToady yeah, and it's difficult to optimize away the double dispatch too
06:31 domidumont joined #perl6
06:31 TimToady we really need a composition operator of some sort
06:32 TimToady with a grammar and a set of actions
06:32 mattp__ joined #perl6
06:32 pmichaud 'action' keyword, perhaps?
06:32 pmichaud grammar Something does SomethingActions
06:32 TimToady well, important thing is to set up some wrapping scheme so only a single dispatch is needed
06:32 FROGGS I guess the proto has some trouble coping with a rule and a method in the ASDF example here...
06:32 quietfanatic or hey, what about
06:32 FROGGS I bet it is auto-gen'd wrongish
06:33 quietfanatic grammar X is Y {
06:33 quietfanatic whoops, hold on
06:33 TimToady this strikes me as the same problem as wrapping role's BUILD submethods around the class's
06:33 pmichaud compose the actions directly into the grammar, and find a way to link the two.
06:33 quietfanatic grammar X is Y { method TOP { callsame; $/.make: whatever; } }
06:34 TimToady but you don't want the grammar saying what it's mixing in
06:34 quietfanatic You can just inherit the grammar and override and supercall all its methods
06:34 quietfanatic Y is the original grammar without actions.
06:34 pmichaud could be a runtime mixin
06:34 pmichaud anyway, I vote post-6C   :)
06:34 TimToady well, I wanna rework the fate system first, I suspect
06:34 TimToady and that probaby wants to be pre
06:35 FROGGS quick! rewrite all the things! /o/
06:35 FROGGS :D
06:35 TimToady well, I pretty much know how, since STD did it without rescanning the same token multiple times
06:36 quietfanatic p6: grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP { callsame; $/.make: "fdsa" } }; say FDSA.parse("asdf")
06:36 camelia rakudo-moar 15c6fb: OUTPUT«Method 'to' not found for invocant of class 'Any'␤  in block <unit> at /tmp/tmpfile:1␤␤»
06:36 domidumont joined #perl6
06:36 FROGGS TimToady: btw, I'm going to make run() and shell() able to do what pipe() does right now... I just need a better name for Proc::Status, and I'm thinking IO::Proc might not be too bad
06:37 TimToady it's too late for me to bikeshed :)
06:37 FROGGS TimToady: ahh, that's what you mean (fates), yeah, I'm looking forward to that
06:37 pmichaud I consumed all of TimToady's bikeshedding cycles for the night, I think :)
06:38 FROGGS pmichaud++
06:38 FROGGS TimToady: this if on topic somewhat... a recent nqp commit of yours causes a regression: RT #125345
06:38 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125345
06:39 FROGGS this is*
06:39 TimToady yes, I know
06:39 TimToady been thinking about it, will probably clean up with adding :: and ::: support
06:39 * FROGGS still giggles internally about the "I asked you if you want to take a seat" :D
06:39 FROGGS ohh
06:39 FROGGS nice
06:40 FROGGS TimToady: I'll port it to jvm for you
06:40 TimToady and the fates cleanup also probably gets us <*...>
06:40 quietfanatic now why doesn't that inheritance one work?  Another regex engine freakout?
06:40 FROGGS yeah... I still wonder if I will every use that
06:41 TimToady it's very difficult to write for anything that is not literal abbreviations
06:41 TimToady whereas it's easy for the NFA to simply return success instead of failure when it reaches as far as it can
06:41 FROGGS p6: grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP($/) { callsame; $/.make: "fdsa" } }; say FDSA.parse("asdf")
06:41 camelia rakudo-moar 15c6fb: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in method TOP at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
06:42 FROGGS p6: grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP { callsame; self.CURSOR.make: "fdsa" } }; say FDSA.parse("asdf")
06:42 camelia rakudo-moar 15c6fb: OUTPUT«Method 'CURSOR' not found for invocant of class 'FDSA'␤  in method TOP at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
06:42 TimToady surely you want to capture the return value of callsame into $/
06:45 TimToady grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP { my \m = callsame; m.make: "fdsa"; m } }; say FDSA.parse("asdf")
06:45 TimToady m: grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP { my \m = callsame; m.make: "fdsa"; m } }; say FDSA.parse("asdf")
06:45 camelia rakudo-moar 15c6fb: OUTPUT«Method 'make' not found for invocant of class 'FDSA'␤  in method TOP at /tmp/o1gWyYnEgP:1␤  in block <unit> at /tmp/o1gWyYnEgP:1␤␤»
06:45 TimToady m: grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP { my \m = callsame; m.CURSOR.make: "fdsa"; m } }; say FDSA.parse("asdf")
06:45 camelia rakudo-moar 15c6fb: OUTPUT«Method 'CURSOR' not found for invocant of class 'FDSA'␤  in method TOP at /tmp/9r5zfg8Qb0:1␤  in block <unit> at /tmp/9r5zfg8Qb0:1␤␤»
06:46 FROGGS m: grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP { my \m = callsame; say m.WHAT; m } }; say FDSA.parse("asdf")
06:46 camelia rakudo-moar 15c6fb: OUTPUT«(FDSA)␤「asdf」␤»
06:46 FROGGS m: grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP { my \m = callsame; say m.^mro; m } }; say FDSA.parse("asdf")
06:46 camelia rakudo-moar 15c6fb: OUTPUT«(FDSA) (ASDF) (Grammar) (Cursor) (Any) (Mu)␤「asdf」␤»
06:48 quietfanatic I got that far, but it doesn't return what I've made.
06:49 pmichaud sleepytime for me
06:49 pmichaud be back tomorrow evening
06:50 TimToady sleep/drive well
06:51 quietfanatic You know, if regexes (as methods) simply returned what they either matched or made, this would be really easy.
06:52 TimToady yeah, always returning both is kinda silly
06:52 quietfanatic method TOP { return process(callsame); }
06:52 quietfanatic currently they return Mu
06:52 TimToady there are a few places in the P6 grammar that revisit the submatches after make, but not many
06:53 quietfanatic in those cases you could just save the matches inside of what you make manually
06:53 TimToady conceivably
06:58 mr-foobar joined #perl6
06:59 Ven joined #perl6
07:00 moritz good morning
07:00 yoleaux 11 Jun 2015 22:30Z <ab5tract> moritz: I pushed a 'choices' branch to doc.git for disambiguating, for instance, -f push
07:00 RabidGravy marnin
07:01 quietfanatic Not that I want to encourage yet another big refactor before Christmas, but having regex routines return their matches is more functional, more object-oriented, more composable, and simpler.
07:02 moritz .tell ab5tract nice. A few small comments: 1) you should probe for the 'fmt' executable before using it. 2) I don't like interactive prompts much; maybe just show the docs for all matches (much as 'man less more' does)? 3) the routine/method distinction in the user interface is weird, because Method ~~ Routine
07:02 yoleaux moritz: I'll pass your message to ab5tract.
07:02 quietfanatic and probably more optimizable.
07:03 quietfanatic okay I'm done for the night.  Later everyone.
07:03 moritz quietfanatic: there's just one problem: those lists need to be lazy
07:03 quietfanatic which lists?
07:03 moritz and lazy lists aren't very fast
07:03 moritz the list of possible matches
07:03 quietfanatic ah
07:04 quietfanatic I don't entirely understand the situation I guess
07:06 quietfanatic Do you mean this would require more lazy lists, or it would prevent them from working right?
07:07 quietfanatic well, I should really get to sleep soon.  I'll be back later.
07:07 moritz it would mean more places where we need lazy lists, which are expensive
07:07 moritz so a performance problem
07:07 pmichaud which are *currently* expensive
07:08 moritz yes
07:08 moritz when they become faster, it might be worth evaluating the regex design again
07:09 RabidGravy does ':::' as a "package part separator" actually exist or is it being silently ignored or turned into something else?
07:09 moritz after all, the lazy list of matches/cursors is what the design docs say :-)
07:09 pmichaud regex methods return cursors, though.  Making them return match objects will get expensive.
07:09 _mg_ joined #perl6
07:11 pmichaud (and returning match objects directly was pge's original model, which needed to be abandoned in favor of cursors)
07:19 RabidGravy lizmat, I don't think I'm going to be able to golf that crashiness - it doesn't even do it if I run the tests in question on their own, only with "panda-test"
07:25 RabidGravy but https://github.com/jonathanst​owe/Audio-Sndfile/tree/crashy reliably does it with 2015.05-76-g94eed8f built on MoarVM version 2015.05
07:30 pmichaud Oh!  The Slip type may also be a way to relax the need for immutable iterators!
07:30 pmichaud very intriguing.
07:30 RabidGravy (and yes it does still do it with the correct "multi sub infix:<~~> ......)
07:31 dalek doc/choices: cdff8ec | ab5tract++ | bin/p6doc:
07:31 dalek doc/choices: Remove confusiong between routine/method
07:31 dalek doc/choices: review: https://github.com/perl6/doc/commit/cdff8ec210
07:33 moritz pmichaud: do you have any links to Slip types?
07:33 moritz googling for it mostly shows up clothing stuff :-)
07:34 * Ven waves
07:36 dalek specs: 15083d9 | pmichaud++ | S07-glr-draft.pod:
07:36 dalek specs: Add discussion note about immutable iterators.
07:36 dalek specs: review: https://github.com/perl6/specs/commit/15083d9008
07:37 pmichaud moritz: S07-glr-draft.pod describes the proposed Slip objects
07:37 pmichaud (it's a type we just came up with today, largely replaces Empty)
07:39 g5 joined #perl6
07:40 RabidGravy (^(10)).map({$_}) isn't lazy is it?
07:41 pmichaud depends on the target
07:41 pmichaud it can be lazy
07:41 RabidGravy it's assigning to an array
07:42 pmichaud you didn't show that part.  Array assignment is currently eager, yes.
07:42 RabidGravy I'm just looking for a qucker why to do "@foo = gather { take @bar[$_] for ^10 }"
07:43 pmichaud why use gather/take there?
07:43 RabidGravy where infact "10" could be a fairly large number
07:44 dalek specs: c756e93 | pmichaud++ | S07-glr-draft.pod:
07:44 dalek specs: Fix grammatical error.
07:44 dalek specs: review: https://github.com/perl6/specs/commit/c756e936c8
07:44 RabidGravy pmichaud, because it was the first thing that fell under my fingers ;-)
07:44 pmichaud at the moment gather/take is inherently slow.
07:44 pmichaud (GLR will fix this.)
07:44 RabidGravy I know, hence "looking for a qucker why"
07:44 pmichaud still, a .map would almost certainly be a lot faster than gather/take.
07:45 RabidGravy but the actual number of items may be in the tens or even hundreds of thousands
07:45 pmichaud so?
07:46 pmichaud you already have a map there, even using the given/take
07:46 pmichaud you aren't avoiding the map
07:46 moritz the 'for' does a map too
07:46 moritz and for/map can also be lazy
07:46 pmichaud take @bar[$_] for ^10   is the same as   (^10).map( { take @bar[$_] } )
07:46 pmichaud it actually compiles that way.
07:47 bin_005_c joined #perl6
07:48 RabidGravy right, the question was probably more "will (^1000000).map({$_})" evaluate the range to make 1000000 items up front?
07:49 brrt joined #perl6
07:49 pmichaud no
07:49 pmichaud range generation is lazy too :)
07:50 pmichaud (in the current implementation, yes, it's possible you'll end up with 1000000 integers in memory before they get GC'd.  But GLR is going to address that also.)
07:50 pmichaud at any rate, it doesn't create 1000000 items "up front"
07:51 RabidGravy oh wait, "*** Error in `/home/jonathan/.rakudobrew/​moar-nom/install/bin/moar': free(): invalid pointer: 0x0000000005af7cf0 ***"
07:52 pmichaud at least, it's not supposed to create them up front.  I can't say what it's actually doing with the various "optimizations" that have been added since I last looked at the code  :)
07:52 dalek specs: 5681a77 | pmichaud++ | S07-glr-draft.pod:
07:52 dalek specs: Typo fix.
07:52 dalek specs: review: https://github.com/perl6/specs/commit/5681a77c12
07:53 RabidGravy good grief, that only happens when it's run with "panda-test" as well
07:54 pmichaud sleep time for me for real now -- be back tomorrow evening
07:55 moritz m: say (1, (2, 3)).elems
07:55 camelia rakudo-moar 15c6fb: OUTPUT«2␤»
07:55 moritz m: say (1, 2..5).elems
07:55 camelia rakudo-moar 15c6fb: OUTPUT«2␤»
08:01 dalek specs: e0fe72a | pmichaud++ | S07-glr-draft.pod:
08:01 dalek specs: Minor corrections.
08:01 dalek specs: review: https://github.com/perl6/specs/commit/e0fe72a2f1
08:02 RabidGravy I'm beginning to conclude that this crashiness is partially due to libsndfile
08:02 virtualsue joined #perl6
08:03 RabidGravy ==4323== Invalid write of size 4
08:03 RabidGravy ==4323==    at 0x397FE2FBB9: ??? (in /usr/lib64/libsndfile.so.1.0.25)
08:07 virtualsue_ joined #perl6
08:11 darutoko joined #perl6
08:27 zakharyas joined #perl6
08:32 itz joined #perl6
08:41 dalek doc/choices: b10614c | ab5tract++ | bin/p6doc:
08:41 dalek doc/choices: Check fmt before using it
08:41 dalek doc/choices: review: https://github.com/perl6/doc/commit/b10614ce5b
08:43 espadrine joined #perl6
08:45 nowan joined #perl6
08:45 RabidGravy gah, even more crashy on other machine, but again only with "panda-test"
08:47 espadrine_ joined #perl6
08:49 RabidGravy not just panda-test it seems
08:50 RabidGravy "*** Error in `/home/jonathan/.rakudobrew/​moar-nom/install/bin/moar': free(): invalid pointer: 0x00000000050104f0 ***" when run with prove as well
08:50 FROGGS RabidGravy: can you point me to your libsndfile code?
08:50 mattp__ joined #perl6
08:51 RabidGravy FROGGS, https://github.com/jonathanstowe/Audio-Sndfile
08:52 RabidGravy it's very much in progress
08:52 RabidGravy I'm wondering whether the inner class is causing the instability when changing stuff
08:53 pyrimidine joined #perl6
08:53 cognominal joined #perl6
08:53 RabidGravy it crapped out when I added the sub infix .... at the end, removing that worky again
08:53 FROGGS https://github.com/jonathanstowe/Audio-Sndfi​le/blob/master/lib/Audio/Sndfile/Info.pm#L11
08:53 FROGGS never return 'int', return something specific
08:55 FROGGS RabidGravy: I guess it should 'returns int32'
08:55 FROGGS http://www.mega-nerd.com/libsndfile/api.html confirms
08:55 RabidGravy no fucking way
08:56 RabidGravy no crashy
08:56 FROGGS aye
08:56 RabidGravy FROGGS++
08:56 FROGGS int in Perl 6 means most like 64bits on your platform
08:56 FROGGS likely*
08:56 FROGGS hence the invalid read of 4
08:58 FROGGS this is a very common (and frustrating) Stolperstein when getting into NativeCall
09:00 RabidGravy I'll check and clarify if necessary in the nativecall doc later
09:00 nebuchadnezzar joined #perl6
09:00 RabidGravy (if nothing else this is testing my ability to understand the documentation properly ;)
09:01 AlexDaniel joined #perl6
09:02 dalek specs: f709a04 | (Steve Mynott)++ | S02-bits.pod:
09:02 dalek specs: a a to a
09:02 dalek specs: review: https://github.com/perl6/specs/commit/f709a04b27
09:02 RabidGravy anyway, as it is likely to be very hot today we are going to the seaside :) catch you later
09:03 RabidGravy and cheers for that spot FROGGS
09:03 espadrine joined #perl6
09:03 FROGGS RabidGravy: have fun!
09:04 [Tux] http://paste.scsys.co.uk/488181 <= can rakudobrew please do some better cleanup?
09:08 FROGGS [Tux]: what has rakudobrew todo with this?
09:09 [Tux] that is the process that creates my perl6. I was just assuming it was the culprit
09:09 [Tux] it isn't?
09:09 zakharyas joined #perl6
09:09 [Tux] what process *does* leave those files if it isn't?
09:10 itz_ the first google hit suggests Inline-Perl5
09:11 [Tux] In which case I'd like to rephrase my plea :)
09:11 tadzik paste.scsys.co.uk could use some better servers, that's for sure :)
09:11 [Tux] http://paste.scsys.co.uk/488181 <= can Inline::Perl5 please do some better cleanup?
09:11 FROGGS [Tux]: Inline::Perl5's build mechanism creates these tmp files
09:12 [Tux] tadzik, I tried to use github gists, but it seemd down/irresponsive
09:12 * itz_ pokes tadzik about https://github.com/tadzik/panda/pull/164 :)
09:12 tadzik internet is acting funny today
09:15 breinbaas joined #perl6
09:18 tadzik itz_: oh, right. I'll try to fix it later today
09:18 tadzik thanks for the reminder
09:30 gagalicious joined #perl6
09:31 gagalicious how do i match characters <200e> and  <202c> ?
09:31 gagalicious does anyone know what i mean? it's a special character.
09:33 FROGGS m: say "\x200e" ~~ / \x200e /
09:33 camelia rakudo-moar 15c6fb: OUTPUT«「‎」␤»
09:34 FROGGS m: say "\x200e" ~~ / \x200e | \x202c /
09:34 camelia rakudo-moar 15c6fb: OUTPUT«「‎」␤»
09:34 FROGGS gagalicious: that does it
09:34 FROGGS m: say uniname "\x200e"
09:34 camelia rakudo-moar 15c6fb: OUTPUT«LEFT-TO-RIGHT MARK␤»
09:35 gagalicious i'm using perl5 ... $string=~s!\x202c! !g; <--- why doesnt this work?
09:36 FROGGS gagalicious: ohh, this is a Perl 6 channel, sorry
09:37 FROGGS gagalicious: you might want to ask in the channel #perl-help on irc.perl.org
09:37 vendethiel joined #perl6
09:38 [Tux] $str =~ m/\x{200e}/
09:38 gagalicious froggs : no one there at perl-help
09:38 FROGGS gagalicious: not here on freenode, on irc.perl.org, that's a different irc server
09:38 Timbus You mean like, Unicode Character 'POP DIRECTIONAL FORMATTING' (U+202C) ?
09:39 gagalicious funny i cant access irc.perl.org 6667 port?
09:39 gagalicious [tux] : doesnt work
09:40 Timbus oh man i lagged out hard there
09:40 gagalicious ok i'm using the webchat for it
09:41 [Tux] $ perl -MDP -wE'my $foo = "Foo \x{200e} bar"; DPeek $foo; $foo =~ m/\x{200e}/ and say "MATCH"'
09:41 [Tux] PV("Foo \342\200\216 bar"\0) [UTF8 "Foo \x{200e} bar"]
09:41 [Tux] MATCH
09:41 [Tux] but as FROGGS said. this channel is about perl6, not perl5
09:41 gagalicious i like perl a lot. will skim through here... see what perl6 is up to... is it production ready? perl6? a lot of people say... "wait and see" i wonder what they mean. i'm truly comfortable with perl5. so i'm not sure what perl6 has to offer... seriously. i really hope nothing change... coz i dont hv to learn something new... else pls make it backward compatible :D thanks.
09:41 Timbus i was going to say 'im pretty sure tux's works' but alright, i guess hca can go ahead and prove it really hard
09:42 gagalicious webchat irc.perl.org works! thanks.
09:42 Timbus he can*
09:42 bin_005_c joined #perl6
09:43 rurban joined #perl6
09:45 pecastro joined #perl6
09:46 Ulti gagalicious #perl on freenode is quite active
09:46 gagalicious yeah it is... just that they banned me from asking benchmark questions. i was having a lot of benchmark questions coz i was doing big data... funny i dont have that big data issue anymore coz i optimized a lot. but they banned me... oh well.
09:47 Ulti gagalicious if you are learning averse and pro backwards compatibility then Perl 6 isn't for you, Perl 5 is still maintained and developed though 5.22 just came out with loads of new features and more performance
09:47 gagalicious Ulti: u r right. i'm very impressed with the 22% speed improvement over 5.12
09:47 Ulti gagalicious you can call Perl 5 stuff from Perl 6 though so you can take your time learning
09:47 gagalicious Ulti : is there any advantage to switch to perl6?
09:48 Ulti only if you are the kind of person who already appreciates a lot what other languages have had for a long time and the promise of some of the unique features in Perl 6 like Grammars
09:49 gagalicious Ulti : ... ok. i'm not technology adverse. it's good to see new things develop.
10:08 kaare_ joined #perl6
10:10 kaare__ joined #perl6
10:17 btyler joined #perl6
10:19 zakharyas1 joined #perl6
10:21 oetiker joined #perl6
10:22 Timbus joined #perl6
10:27 domidumont joined #perl6
10:33 xinming joined #perl6
10:41 brrt left #perl6
10:41 beastd joined #perl6
11:05 dalek nqp: 996b4d4 | (Steve Mynott)++ | src/QRegex/P6Regex/Grammar.nqp:
11:05 dalek nqp: correct typo
11:05 dalek nqp: review: https://github.com/perl6/nqp/commit/996b4d4f66
11:05 dalek nqp: 5d6d942 | moritz++ | src/QRegex/P6Regex/Grammar.nqp:
11:05 dalek nqp: Merge pull request #237 from stmuk/stmuk
11:05 dalek nqp:
11:05 dalek nqp: correct typo
11:05 dalek nqp: review: https://github.com/perl6/nqp/commit/5d6d9423e9
11:16 aborazmeh joined #perl6
11:16 aborazmeh joined #perl6
11:26 zakharyas joined #perl6
11:46 laouji joined #perl6
11:57 Ven joined #perl6
12:02 _mg_ joined #perl6
12:08 [particle] joined #perl6
12:10 aborazmeh joined #perl6
12:10 aborazmeh joined #perl6
12:15 Ven joined #perl6
12:18 * Ven waves at #perl6
12:19 Ven Reading the glr-draft, I get this feeling that "flat" should really be an adverb on "for".
12:19 Ven It does feel too crazy to have it that way, though
12:19 muraiki joined #perl6
12:20 * Ven admits to not really liking that `my @a = _` is different from `@a = _`
12:20 Ven (it just feels weird to me, probably because I'm not used to it...)
12:21 Ven I have one question, though: what are [] and {} useful for if they don't itemize? (I mean -- what makes them different from `()`)
12:27 Ven (wrt list concat, I like haskell's ++. it's a pretty often used operator...)
12:28 muraiki Ven++
12:29 muraiki (trying to make a pun using symbols)
12:31 Ven *g*
12:35 muraiki but yeah I do like ++ as a list concat op
12:37 arnsholt I'm not sure if infix:<++> would be possible, since we already have postfix:<++>
12:39 Ven joined #perl6
12:39 timotimo you have to put spaces in that case
12:39 timotimo we don't force people to put spaces around infix ops yet
12:41 pmichaud the difference between [] and () is that [] creates an Array and {} creates a Hash
12:41 timotimo that's not the difference between [] and () :)
12:41 pmichaud sorry
12:41 pmichaud the difference between [], {}, and () is that [] creates an Array, {} creates a Hash, and () creates a List.
12:42 pmichaud Better?
12:42 timotimo fair enough
12:42 timotimo so it's no longer about the scalar around it, but about the scalars inside
12:42 pmichaud and the type of the container itself
12:43 timotimo right
12:43 timotimo but the differentiation between array and list is mostly scalarification of the things inside?
12:44 pmichaud yes
12:44 timotimo 'k
12:45 pmichaud and perhaps also that arrays are "flat"
12:45 timotimo OK, so it's mostly LoL, rarely AoA?
12:46 pmichaud Not sure I follow that part.
12:46 timotimo well, you wouldn't use arrays for nesting, was my thought
12:46 pmichaud you can use arrays for nesting, yes.
12:46 pmichaud my @a = [[1,2,3], [4,5, [7,8]], 9]   # does what you expect.
12:46 timotimo so in what way are lists considered "flat"?
12:47 muraiki is there somewhere where an explanation of these things are written down? besides the irc logs of course ;)
12:47 timotimo er, i meant: "arrays considered 'flat'"
12:47 pmichaud once something goes into an array, it's already "flat".  Flattening an array just returns the array itself, because all of its elements are itemized.
12:47 timotimo oh
12:47 timotimo i'd call that "firm" instead of "flat"
12:47 TimToady I don't think [] will flatten inside, though
12:47 TimToady by default
12:48 pmichaud right
12:48 pmichaud anyway, I have to go check out of hotel and hit road -- bbl
12:48 timotimo oke
12:48 muraiki p6: my @a = [[1,2], [3,4]]; say @a[0];
12:48 camelia rakudo-moar 15c6fb: OUTPUT«1 2 3 4␤»
12:48 TimToady we'll probably strip all autoflattening from everything but slurpy, and then add things back in after we get a feel
12:48 timotimo i haven't been able to really follow the detailed changes and discussions, sadly
12:49 pmichaud timotimo: no problem, nobody has.  That's why S07-glr exists.
12:49 pmichaud muraiki: what we're discssing is written down in S07-glr-draft.pod in the design docs (specs)
12:49 pmichaud gone
12:49 muraiki thanks
12:50 dalek specs: cf95b0f | moritz++ | S07-glr-draft.pod:
12:50 dalek specs: Markup fix
12:50 dalek specs: review: https://github.com/perl6/specs/commit/cf95b0f3dd
12:51 muraiki how convenient
12:55 bbkr_ joined #perl6
13:00 _mg_ joined #perl6
13:00 lolisa joined #perl6
13:01 lolisa joined #perl6
13:03 uncleyear joined #perl6
13:08 muraiki ok, that clarifies a lot. but it makes me scared to write any p6 code in the meantime...
13:13 AlexDaniel joined #perl6
13:14 TimToady everything with a top-level comma should continue to work the same at least
13:15 TimToady well, with maybe an occasional flat thrown in
13:16 TimToady we might be able to detect where things could change and offer advice
13:16 muraiki thanks :) which then leads me to: I need to think of something to write in p6, hehe
13:19 zakharyas joined #perl6
13:20 itz_ http://www.bsdnow.tv/live is supposed to stream Bourne (of sh fame) shortly
13:23 timotimo so, has anybody started implementing the language in the latest xkcd?
13:27 muraiki heh, colors.sort yields "rainbow"
13:28 moritz m: class colors { method sort() { "rainbow" } }; say colors.sort
13:28 camelia rakudo-moar 15c6fb: OUTPUT«rainbow␤»
13:28 moritz nothin' easier than that
13:29 muraiki moritz++
13:31 timotimo m: say NaN but "NaP"
13:31 camelia rakudo-moar 15c6fb: OUTPUT«NaP␤»
13:31 TimToady .tell dduncan the intention is that auth dominate version, such that each auth gets its own independent versioning scheme, and if two different auths match up their versions, it's by agreement or by accident, but not enforced
13:31 yoleaux TimToady: I'll pass your message to dduncan.
13:33 espadrine_ joined #perl6
13:36 broquaint joined #perl6
13:37 gtodd1 can I build perl6 with linenoise/editline/readline  in the repl ? ....
13:37 timotimo you need to install Linenoise via panda to get that
13:37 gtodd1 panda installing Linenoise after the fact creates some sort of strange loop with endless streams of ">" prompts appearing
13:37 timotimo :o
13:38 gtodd1 do I need to *disable* linenoise elsewhere (in nqp moar etc ... ) ?
13:38 timotimo no
13:40 muraiki whoa, what does "but" do?
13:40 gtodd1 hmm maybe perl6 can't find Linenoise after I panda it
13:40 muraiki I really need to finish the learn perl 6 in y minutes article
13:40 muraiki there's just endless amounts of things to learn
13:40 gtodd1 perl6 -V gives me more and different information than perl -V does :)
13:41 TimToady muraiki: do you know what a mixin is?
13:41 TimToady that's what 'but' does
13:42 gtodd1 timotimo: when the loop starts and the prompts start scrolling by it's moarvm that spikes my CPU :-D
13:42 Util muraiki: We don't know yet if it is endless, but at least it is a *lazy* list of things to learn :^)
13:43 skids joined #perl6
13:44 muraiki haha. I wasn't necessarily speaking about p6 but about programming in general. I've only been working as a programmer professionally for 1.5 years, and sometimes it's overwhelming
13:44 muraiki it's exciting, but overwhelming
13:44 gtodd1 I guess I'll just keep git pulling and rebuilding and panda installing and hope it goes away .... usually dioesn't take long
13:44 Util timotimo: For similar mixed-type humor, see the 4 minute lightning talk: https://www.destroyallsoftware.com/talks/wat
13:44 gtodd1 I only got paid to program once
13:44 itz_ m:  say $().flat
13:44 camelia rakudo-moar 15c6fb: OUTPUT«Use of Nil in string context  in block <unit> at /tmp/NOodX21fcp:1␤␤»
13:45 gtodd1 and it was for a perl script ! :-D
13:45 Util gtodd1: your coding career is flawless; 100% Perl!
13:45 itz_ m:  say $().flat.perl
13:45 camelia rakudo-moar 15c6fb: OUTPUT«Use of Nil in string context  in block <unit> at /tmp/TxMkxOlw8p:1␤("",)␤»
13:45 muraiki TimToady: I have a vague idea of what a mixin does, but apparently not enough to grok what's going on. but now I know what direction to look in. thanks!
13:46 gtodd1 yeah ... I charged 750$ a line ... too bad it was only one line :-D
13:46 muraiki haha
13:47 Util moritz++ ; # Providing key resource to new hackathon volunteer
13:48 Util gtodd1: ha!
13:51 gtodd1 hmmm  ~/perl6/share/perl6/site/lib/  has various kinds of linenoisy things
13:51 TimToady .tell smls just to clarify, http://irclog.perlgeek.de/p​erl6/2015-06-11#i_10735146 is not quite truthy enough to be true; assignment to @ does not enforce Positional, it merely coerces any non-positional to a list of one element
13:51 yoleaux TimToady: I'll pass your message to smls.
13:52 TimToady ab5tract: note ^^ if you copied that anywhere
13:55 tadzik joined #perl6
13:57 gtodd1 hmm running perl6 -MLinenoise sometestscript.p6   works  ...
13:58 gtodd1 but the repl itself goes off looping madly  .... This is perl6 version 2015.05-155-gd58e397 built on MoarVM version 2015.05-74-gc14339c
14:01 gtodd1 neat ... if I ktrace it ....  :
14:01 hoelzro gtodd1: which OS are you on?
14:01 gtodd1 44391 moar     GIO   fd 1 wrote 2 bytes
14:01 gtodd1 "> "
14:01 gtodd1 ....
14:01 gtodd1 44391 moar     RET   read -1 errno 35 Resource temporarily unavailable
14:01 gtodd1 FreeBSD
14:01 gtodd1 I thought one or two devs used FreeBSD :-D
14:02 hoelzro gtodd1: I think I saw this before when I wrote Linenoise, but I thought I fixed it
14:03 gtodd1 my Daddy always said "if you use the same OS as the devs you can haz more funz"
14:03 gtodd1 hoelzro is it a low level tty terminal sort of thing?
14:04 hoelzro it could be that this line is failing: https://github.com/hoelzro/p6-lineno​ise/blob/master/lib/Linenoise.pm#L69
14:04 hoelzro because I'm dumb and lazy and didn't check for errors.
14:04 gtodd1 hoelzro: :-D
14:05 yqt joined #perl6
14:05 hoelzro gtodd1: you could try adding some error checking to that line, see if it doesn't succeed on FreeBSD
14:08 gtodd1 you mean like tell it to stop trying if it doesn't work?
14:08 ZuZu joined #perl6
14:09 hoelzro gtodd1: yeah, have it die or something
14:09 hoelzro just so we can see if that's the problem
14:10 hoelzro I'll fix it to be smarter once I know what the problem is
14:10 hoelzro ...
14:10 hoelzro I think I already know
14:10 hoelzro I'm betting these aren't the same on FreeBSD: https://github.com/hoelzro/p6-lineno​ise/blob/master/lib/Linenoise.pm#L11
14:11 msouth joined #perl6
14:12 telex joined #perl6
14:12 gtodd1 oh ... right I forgot it would use nativecall and maybe not find something you thought was there
14:14 gtodd1 hmm so modify Linenoise.pm but then rebuild so Linenoise.pm.moarvm since this is not "pure perl"
14:15 JimmyZ_ joined #perl6
14:21 TimToady AlexDaniel: re http://irclog.perlgeek.de/p​erl6/2015-06-11#i_10738316 it's just a hash of match lists, so unordered; .caps is what returns captures in order, but that's less efficient since it basically has to sort them for you based on position
14:24 gtodd1 hoelzro ... well adding or die; makes it die :-)
14:25 gtodd1 hoelzro at that line
14:27 bjz joined #perl6
14:29 hoelzro gtodd1: excellent
14:29 hoelzro if you'd like to dig more, I could use a trace of the program, or a print out of what errno contains
14:30 hoelzro otherwise, I can spin up a FreeBSD VM later and have a look
14:30 hoelzro this raises an interesting point of how to deal with C-defined constants and such
14:31 bjz joined #perl6
14:39 hoelzro I forget - is there a way to get errno from Perl 6?
14:39 hoelzro or does one need a wrapper function to get at it?
14:44 lizmat good *, #perl6
14:45 lizmat hoelzro: I don't know of a way to get at errno.  suggest NativeCall for now  :-)
14:45 AlexDaniel TimToady: I've already reported it: https://rt.perl.org/Public/​Bug/Display.html?id=125391
14:45 hoelzro greetings lizmat
14:45 hoelzro so you think I should include a helper library?
14:45 grondilu joined #perl6
14:46 AlexDaniel TimToady: so it seems like it should be even less efficient because it does not check .to right now
14:46 AlexDaniel but I think that correctness is more important in this case
14:47 AlexDaniel otherwise why bother with sorting at all, just shuffle it and let the user think about the rest
14:50 lizmat hoelzro: I'm not sure, but yes, that seems to be at least a temporary solution
14:50 lizmat but, maybe this is a X/Y
14:50 lizmat what are you trying to achieve>
14:50 lizmat ?
14:53 hoelzro lizmat: I'm handling fcntl errors, so I'd like to include the strerror(errno) message in the message I fail() with
14:55 RabidGravy joined #perl6
15:00 rurban joined #perl6
15:00 FROGGS joined #perl6
15:06 msouth joined #perl6
15:13 captain-adequate joined #perl6
15:23 kaare__ joined #perl6
15:24 kurahaupo1 joined #perl6
15:25 mr-foobar joined #perl6
15:39 msouth_ joined #perl6
15:45 Zhtwn joined #perl6
15:46 virtualsue joined #perl6
15:46 Zhtwn I installed panda through rakudobrew, but projects.json is messed up - has HTML for timeout on design.perl6.org rather than valid JSON. Ideas?
15:47 FROGGS Zhtwn: do you say it can't fetch this? http://ecosystem-api.p6c.org/projects.json
15:47 timotimo do you get the same thing after another "panda update"?
15:48 tadzik LHF: make panda verify that the downloaded json is indeed json
15:49 FROGGS tadzik: not even P5's cpan client does that
15:49 tadzik a chance for us to excel
15:49 Zhtwn fetching through wget works fine. re-did "rakudobrew build-panda", same results. I'll try "panda update".
15:49 tadzik would anyone mind opening a ticket real quick?
15:50 FROGGS I spent quite some time getting behind a weird error message.... the downloaded 01packages.tar.gz was an html page from a office proxy
15:50 Zhtwn Ah. gotta rm the broken projects.json before "panda update"
15:50 Zhtwn Yeah, I'll open a ticket
15:50 tadzik thank you Zhtwn
15:52 FROGGS Zhtwn++
15:53 virtualsue joined #perl6
15:53 gtodd1 hoelzro: well I have ktrace of perl6 trying to start ... the part where it gives error on non-blocking and interrupt i/o   errrno 35   Resource temporarily unavailable
15:53 msouth joined #perl6
15:54 hoelzro gtodd1: I'm thinking that that's the result of fcntl failing
15:54 gtodd1 guess so
15:55 hoelzro I've started working on fixing the problem, but I don't know if I'll really be able to make headway until later today
15:56 gtodd1 k
15:58 gtodd1 https://www.freebsd.org/cgi/man​.cgi?sektion=2&amp;query=fcntl  Zzzzz .... OMG ...  I have chores to do so BBL
15:59 Zhtwn yeah, "panda update" got same problem. downloaded "projects.json" directly, and it works. Thanks all.
15:59 FROGGS weird
15:59 FROGGS I hope it is now about the latest changes to panda
15:59 FROGGS though, unlikely
16:00 Zhtwn yup. no clue yet why wget works, but panda download always gets timeout, or why the timeout is on design.perl6.org, not ecosystem-api.p6c.org
16:04 gfldex joined #perl6
16:06 japhb Woah
16:07 hoelzro panda has an issue with ipv6
16:07 hoelzro that's how I've seen such behavior in the past
16:07 timotimo design.perl6.org is the default vhost that th web server on p6c.org offers
16:07 * japhb now knows where the 'Woah' went that was intended for another window ...
16:07 timotimo try http://whatisthisidonteven.perl6.org
16:12 wingfold joined #perl6
16:14 tadzik kekekekek
16:16 uncleyea1 joined #perl6
16:17 aborazmeh joined #perl6
16:17 aborazmeh joined #perl6
16:17 mr-foobar joined #perl6
16:21 lizmat tadzik o/
16:22 lizmat commuting for the rest of the day&
16:23 wingfold_ joined #perl6
16:25 diana_olhovik_ joined #perl6
16:26 aborazmeh joined #perl6
16:26 aborazmeh joined #perl6
16:29 Woodi hallo today :)
16:31 Woodi yesterday I wished rewrite of history to remove Parcels but looks I messed Parcels with Pairs which are similiar to Lisp cons/car/cdr thingies...
16:33 Woodi Parcel looks like C struct containing List... and with Captures it creates some strange device :) I wonder from where it was borrowed...
16:36 Woodi also Ranges looks complicated a bit... I think they are mainly syntax and when they are accesed they immediatelly slipping into List...
16:37 Woodi so Slip is more behaviour then data structure or operator...
16:38 Woodi and about big lists or streams of data viewed by list/array window:  https://en.wikipedia.org/wi​ki/Sliding_window_protocol
16:42 Woodi and one thing more: we have Iterators, maybe Visitor pattern could be usefull too
16:42 yqt joined #perl6
16:48 dalek doc/choices: 35ea309 | ab5tract++ | bin/p6doc:
16:48 dalek doc/choices: Make interactivity an env var -- P6DOC_INTERACT
16:48 dalek doc/choices: review: https://github.com/perl6/doc/commit/35ea309033
16:52 domidumont joined #perl6
16:57 xinming joined #perl6
17:06 rurban joined #perl6
17:20 mr-foobar joined #perl6
17:23 ab5tract .tell moritz done, done, and done ;)
17:23 yoleaux 07:02Z <moritz> ab5tract: nice. A few small comments: 1) you should probe for the 'fmt' executable before using it. 2) I don't like interactive prompts much; maybe just show the docs for all matches (much as 'man less more' does)? 3) the routine/method distinction in the user interface is weird, because Method ~~ Routine
17:23 yoleaux ab5tract: I'll pass your message to moritz.
17:32 wingfold joined #perl6
17:37 mr-fooba_ joined #perl6
17:38 xfix joined #perl6
17:38 xfix joined #perl6
17:43 labster joined #perl6
17:43 dalek rakudo/nom: af886d1 | TimToady++ | src/core/Match.pm:
17:43 dalek rakudo/nom: include .to for .caps order tiebreaker
17:43 dalek rakudo/nom:
17:43 dalek rakudo/nom: fixes #125391
17:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af886d1b15
17:43 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125391
17:50 AlexDaniel cool
17:53 AlexDaniel TimToady: now if only somebody fixed this bug that I keep stumbling upon all the time: https://rt.perl.org/Public/​Bug/Display.html?id=125285
17:53 AlexDaniel :)
17:56 AlexDaniel lately I have figured out that it is not only limited to % or %%
17:56 labster Yes, I'm a fan of fixing that grammar bug too.  Or explaining why it's working correctly, and what we're doing wrong.
17:57 AlexDaniel \o/
17:57 TimToady AlexDaniel: I know what's wrong, but I'd like to fix it by moving forward rather than backward :)
18:07 cognominal joined #perl6
18:09 japhb .oO( "... and always twirling, twirling, twirling towards freedom!" )
18:11 daotoad joined #perl6
18:12 mr-foobar joined #perl6
18:27 Sqirrel joined #perl6
18:36 tony-o_ is that a bug with the way the match prints out or the grammar itself?  if you .Str $1 in the case above then it prints out as you'd expect, if it was a bug in the grammar i'd expect it'd stringify each one and come out ffofoo
18:48 lembark joined #perl6
18:49 yqt joined #perl6
18:49 msouth hi lembark
18:49 lembark hello
18:50 lembark Q: Where is p6 equivalent of "local $ENV{ foobar } = '' " described? I've gotten to $*ENV{ PGDATABASE } but not sure if "temp" is the correct alternative.
18:51 lembark hmmm... looks like 'temp' was the right place to be.
18:51 ugexe $*TMPDIR ?
18:52 ugexe or a temporary variable
18:55 mr-foobar joined #perl6
18:58 lembark Not a temp variable, temp value for a hash value (e.g., p5 as "local $ENV{PGDATABASE} = 'foobar';").
19:00 nys joined #perl6
19:16 flussence m: say %*ENV<PATH>; { temp %*ENV<PATH> = '/bin:/sbin'; say %*ENV<PATH> }; say %*ENV<PATH>
19:16 camelia rakudo-moar af886d: OUTPUT«/home/camelia/perl5/perlbrew/bin:/hom​e/camelia/perl5/perlbrew/perls/perl-5.20.1/b​in:/usr/local/sbin:/usr/local/bin:/usr/sbin:​/usr/bin:/sbin:/bin␤/bin:/sbin␤/home/camelia​/perl5/perlbrew/bin:/home/camelia/perl5/perl​brew/perls/perl-5.20.1/bin:/usr/local/s…»
19:16 flussence bah
19:16 flussence m: say %*ENV<PATH>.chars; { temp %*ENV<PATH> = '/bin:/sbin'; say %*ENV<PATH> }; say %*ENV<PATH>.chars
19:16 camelia rakudo-moar af886d: OUTPUT«144␤/bin:/sbin␤144␤»
19:18 diana_olhovik_ joined #perl6
19:18 bin_005 joined #perl6
19:24 [particle] joined #perl6
19:28 yqt joined #perl6
19:31 bin_005_p joined #perl6
19:42 dwarring joined #perl6
19:59 rurban joined #perl6
20:03 Zhtwn joined #perl6
20:07 bonsaikitten joined #perl6
20:07 dj_goku joined #perl6
20:07 dj_goku joined #perl6
20:07 moritz joined #perl6
20:07 espadrine joined #perl6
20:07 xinming joined #perl6
20:08 nwc10 joined #perl6
20:08 |Tux| joined #perl6
20:08 Patterner joined #perl6
20:09 maettu joined #perl6
20:09 skids joined #perl6
20:12 _sri joined #perl6
20:25 spider-mario joined #perl6
20:57 Gardner joined #perl6
21:02 Zhtwn I'm getting an unhandled exception with perl6-debug-m on Perl6::TypeGraph (from perl6/doc): https://gist.github.com/Zhtwn/06bda4ea1932075be431
21:03 Zhtwn gist has traces both with and without --ll-exception
21:10 Zhtwn I'm also seeing 0xffffffff line numbers: CORE.setting.moarvm:reify:4294967295
21:12 telex joined #perl6
21:14 wingfold joined #perl6
21:21 bin_005 joined #perl6
21:24 timotimo fwiw, those are instruction indices, not line numbers
21:25 timotimo but that's still not cool
21:25 Zhtwn ah, gotcha
21:25 timotimo for a .moarvm file you get instruction indices, for everything else you get line numbers; hopefully you get both most of the time
21:27 Zhtwn Yup, they're there: "from src/gen/m-CORE.setting:10088".
21:28 timotimo good
21:28 Zhtwn fwiw, the 0xffffffff doesn't seem to show up when using --ll-exception
21:31 timotimo i think in some places we search for a line number annotation and set -1 if we can't find one, and that probably gets reinterpreted as unsigned at some point
21:31 timotimo but for bytecode number that doesn't make too much sense
21:33 Zhtwn ah, that's a reasonable explanation.
21:38 cognominal I am dabbling with a slang. Is it possible to use QAST from Perl 6?
21:40 lembark joined #perl6
21:43 cognominal now, I remember, there something like :from<nqp>
21:49 cognominal probably more like :from<NQP>
21:50 quietfanatic joined #perl6
21:50 quietfanatic p6: sub foo (Str @args) { @args }; say foo(['a', 'b', 'c'])
21:50 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding @args; expected 'Positional[Str]' but got 'Array'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:51 quietfanatic p6: sub foo (Str @args) { @args }; say foo(('a', 'b', 'c'))
21:51 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding @args; expected 'Positional[Str]' but got 'Parcel'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:51 quietfanatic p6: sub foo (Str() @args) { @args }; say foo(('a', 'b', 'c'))
21:51 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding @args; expected 'Positional[Any]' but got 'Parcel'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:52 quietfanatic p6: sub foo (Str() @args) { @args }; say foo(['a', 'b', 'c'])
21:52 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding @args; expected 'Positional[Any]' but got 'Array'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:53 quietfanatic I has a sad.
21:53 quietfanatic p6: sub foo (Positional[Str] @args) { @args }; say foo(['a', 'b', 'c'])
21:53 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding @args; expected 'Positional[Positional[Str]]' but got 'Array'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:53 quietfanatic p6: sub foo (Positional[Str] $args) { $args }; say foo(['a', 'b', 'c'])
21:53 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding $args; expected 'Positional[Str]' but got 'Array'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:53 quietfanatic p6: sub foo (Positional $args) { $args }; say foo(['a', 'b', 'c'])
21:53 camelia rakudo-moar af886d: OUTPUT«a b c␤»
21:54 quietfanatic p6: sub foo (Positional[Any] $args) { $args }; say foo(['a', 'b', 'c'])
21:54 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding $args; expected 'Positional[Any]' but got 'Array'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:54 quietfanatic p6: sub foo (Positional[Mu] $args) { $args }; say foo(['a', 'b', 'c'])
21:54 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding $args; expected 'Positional[Mu]' but got 'Array'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:55 quietfanatic sub foo (Str @a) { @a }; my @b = 'a', 'b', 'c'; say foo @b;
21:55 quietfanatic p6: sub foo (Str @a) { @a }; my @b = 'a', 'b', 'c'; say foo @b;
21:55 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding @a; expected 'Positional[Str]' but got 'Array'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:55 quietfanatic p6: sub foo (Str @a) { @a }; my Str @b = 'a', 'b', 'c'; say foo @b;
21:55 camelia rakudo-moar af886d: OUTPUT«a b c␤»
21:55 quietfanatic I at least expected the Str() one to work.
21:56 quietfanatic p6: sub foo (Str() @a is copy) { @a }; say foo(('a', 'b', 'c'));
21:56 camelia rakudo-moar af886d: OUTPUT«Type check failed in binding @a; expected 'Positional[Any]' but got 'Parcel'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:56 quietfanatic p6: sub foo (Positional[Str]() $a) { $a }; say foo(('a', 'b', 'c'));
21:56 camelia rakudo-moar af886d: OUTPUT«Method 'Positional[Str]' not found for invocant of class 'Parcel'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
21:56 RabidGravy m: sub foo (Str @a) { @a }; my @b = 'a', 'b', 'c'; say foo |@b;
21:56 camelia rakudo-moar af886d: OUTPUT«Too many positionals passed; expected 1 argument but got 3␤  in sub foo at /tmp/BSmGrN44in:1␤  in block <unit> at /tmp/BSmGrN44in:1␤␤»
21:56 RabidGravy m: sub foo (Str *@a) { @a }; my @b = 'a', 'b', 'c'; say foo |@b;
21:57 camelia rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cj68VZiOxv␤Slurpy positionals with type constraints are not supported.␤at /tmp/cj68VZiOxv:1␤------> 3sub foo (Str *@a7⏏5) { @a }; my @b = 'a', 'b', 'c'; say foo␤    expecting any of:␤        con…»
21:57 RabidGravy out of options
21:57 quietfanatic sub foo (Positional $a) { $a }; say foo(('a', 'b', 'c'))
21:58 quietfanatic p6: sub foo (Positional $a) { $a }; say foo(('a', 'b', 'c'))
21:58 camelia rakudo-moar af886d: OUTPUT«a b c␤»
21:59 quietfanatic p6: sub foo (Str @a) { @a }; say foo((Array of Str)('a', 'b', 'c'));
21:59 camelia rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> 3sub foo (Str @a) { @a }; say foo((Array7⏏5 of Str)('a', 'b', 'c'));␤    expecting any of:␤        infix␤        infix stopper␤        st…»
21:59 quietfanatic p6: sub foo (Str @a) { @a }; subset StrArray of Array of Str; say foo(StrArray('a', 'b', 'c'));
21:59 camelia rakudo-moar af886d: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤  in block <unit> at /tmp/tmpfile:1␤␤»
22:00 quietfanatic p6: sub foo (Str @a) { @a }; say foo(my Str @ = ('a', 'b', 'c'));
22:00 camelia rakudo-moar af886d: OUTPUT«a b c␤»
22:01 quietfanatic Well at least it's possible.
22:17 quietfanatic p6: say (reduce *+*, 1, 2).WHAT
22:17 camelia rakudo-moar af886d: OUTPUT«(Int)␤»
22:17 quietfanatic p6: say (reduce *+*, 1).WHAT
22:17 camelia rakudo-moar af886d: OUTPUT«(List)␤»
22:17 quietfanatic Hah.  If that isn't a reportable bug, I don't know what is.
22:17 quietfanatic p6: say (reduce *+*).WHAT
22:17 camelia rakudo-moar af886d: OUTPUT«(List)␤»
22:18 quietfanatic that should probably be Empty
22:18 quietfanatic or Slip() :)
22:25 quietfanatic Or maybe Nil
22:25 Ulti re: Slip or Seq plz don't go with Seq since it's a class name we'd want in bioinfo land
22:26 Ulti also what's wrong with Void that's empty sounding and yet to be used and exists in most languages :P
22:27 Ulti my flat has a bikeshed I like hanging out down there polishing my bike
22:33 TimToady it's not just for 0 values of Void :)
22:34 quietfanatic Well we want it to be a general list inserter, so it should be something that makes sense with values in it.
22:35 quietfanatic I stlil like prefix:<|> the best. :)
22:36 quietfanatic We already make pair syntax mean something special in function parameters, so I don't see why | can't be the same.
22:40 Ulti then Slot was kind of nice...
22:40 Ulti since its both the noun and the verb
22:40 Ulti you slot things into slots
22:44 sue joined #perl6
22:46 Khisanth joined #perl6
22:51 cognominal m: use QAST:from<NQP>
22:51 camelia rakudo-moar af886d: ( no output )
22:55 spintronic left #perl6
23:03 skids joined #perl6
23:05 spintronic joined #perl6
23:06 spintronic Hi guys, what is the best way to read a tab separated file into a multidimensional array?
23:07 elimik31 joined #perl6
23:13 flussence if "multi" means "2"... $filename.IO.lines».split(/\t/) should work fine
23:14 spintronic flussense: yes, in 2-D. Thank you!
23:22 ugexe im starting to wonder if some moar async IO problems are caused by "/* For now, take last character. */" in re: setting input line seperator because in IO::Socket::INET $sep-len is used in a substr (so if a "\r\n" is passed it would leave "\r" but $sep-len would still be 2). JVM properly splits multi character input line seperators, and hence properly handles `start { <handle chunked encoding or keep-alive> }
23:22 ugexe ` (moar does not)
23:23 ugexe my $sock = IO::Socket::INET.new(:host<httpbin.org>, :port(80)); $sock.send("GET /stream-bytes/1024?chunk_size=100\r\nHost: httpbin.org\r\n\r\n"); my $data = utf8.new; await start { while my $d = $sock.recv(:bin) { $data ~= $d;  }; }; say $data.bytes; # returns 1024 on jvm, 0 on moar
23:25 timotimo oh
23:25 timotimo huh
23:25 timotimo we didn't get the multi-linesep-thingie yet?
23:27 bin_005 joined #perl6
23:33 spintronic @data = $filename.IO.lines>>.split(/\t/) appears to give me a 1-D array instead of 2-D.
23:33 ugexe nickl@localhost:~/perl6/zef$ perl6 -e 'my $sock = IO::Socket::INET.new(:host<httpbin.org>, :port(80)); $sock.input-line-separator = "TT"; $sock.send("GET /\r\nHost: httpbin.org\r\n\r\n"); say $sock.get'
23:33 ugexe <!DOCT
23:33 tony-o ugexe++
23:33 yoleaux 24 May 2015 18:16Z <jdv79> tony-o: HTML::Parser::XML seems broken and/or super slow
23:33 yoleaux 25 May 2015 17:41Z <jdv79> tony-o: yeah, its not deprecations or warnings - its just too slow:(
23:33 yoleaux 31 May 2015 02:11Z <timotimo> tony-o: in general i'm okay with being pm'd by anyone at any time :)
23:34 tony-o i've seen all these yoleaux
23:34 ugexe there isnt even a TT in <!DOCTYPE
23:34 tony-o supports your idea of it only matching on the first character
23:35 ugexe hopefully... this probably isnt a difficult fix
23:35 timotimo i've seen all these yoleauxes
23:41 quietfanatic pardon me if this is a basic question, but why doesn't this work?
23:41 quietfanatic p6: class A { sub foo { } }; class B is A { method bar { foo } }; B.new.bar
23:41 camelia rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤    foo used at line 1␤␤»
23:43 ugexe m: class A { method foo { } }; class B is A { method bar { $.foo } }; B.new.bar
23:43 camelia rakudo-moar af886d: ( no output )
23:43 ugexe or do you want to know specifically why the sub did not work
23:43 flussence m: class A { our sub foo { } }; class B is A { method bar { foo } }; B.new.bar
23:43 camelia rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qzjFvbaCr2␤Undeclared routine:␤    foo used at line 1␤␤»
23:44 flussence m: class A { our sub foo { } }; class B is A { method bar { self::foo } }; B.new.bar
23:44 camelia rakudo-moar af886d: OUTPUT«Could not find symbol '&foo'␤  in method bar at /tmp/1a1599EvJx:1␤  in block <unit> at /tmp/1a1599EvJx:1␤␤»
23:44 flussence hm, I dunno.
23:45 quietfanatic hm
23:46 quietfanatic I guess I'm too much in C++ mode
23:48 flussence m: class A { sub foo { } }; class B does A { method bar { foo } }; B.new.bar
23:48 camelia rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/V0tAtVERXV␤A is not composable, so B cannot compose it␤at /tmp/V0tAtVERXV:1␤»
23:48 flussence m: role A { sub foo { } }; class B does A { method bar { foo } }; B.new.bar
23:48 camelia rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1_ORI8Ze3c␤Undeclared routine:␤    foo used at line 1␤␤»
23:49 flussence m: module A { sub foo { } }; class B does A { method bar { foo } }; B.new.bar
23:49 camelia rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oCSNXOhpwI␤A is not composable, so B cannot compose it␤at /tmp/oCSNXOhpwI:1␤»
23:58 spintronic left #perl6

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

Perl 6 | Reference Documentation | Rakudo