»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:03
FROGGS left
00:06
FROGGS joined
00:07
Zhtwn left
00:08
ggoebel left
|
|||
dalek | c/choices: d3ef4e1 | ab5tract++ | bin/p6doc: No longer theoretical |
00:13 | |
00:13
msouth left
00:14
lizmat left
00:18
quietfanatic left
00:20
rurban left
00:23
lizmat joined
00:25
amurf left
00:26
amurf joined
00:27
amurf left
00:38
kurahaupo1 left,
msouth joined,
llfourn joined
00:44
laouji joined
00:46
msouth left
00:53
msouth joined
00:54
Zhtwn joined,
bin_005 joined
01:09
cognominal joined
01:14
nys left
01:18
adu joined
01:21
cognominal left
01:22
prevost joined
01:38
BenGoldberg joined
01:46
yqt left
01:54
gtodd1 joined
01:59
Ben_Goldberg joined
02:01
dayangkun joined
02:02
BenGoldberg left
02:04
prevost left,
ggoebel joined
|
|||
dalek | c/choices: 145185a | ab5tract++ | bin/p6doc: Run doc output through fmt on the way to page |
02:04 | |
c/choices: 571f437 | ab5tract++ | bin/p6doc: Cleaner by far |
|||
02:11
rurban joined
|
|||
dalek | c/choices: d7ae128 | ab5tract++ | bin/p6doc: Fix menu |
02:13 | |
02:17
msouth left
02:22
adu left
02:26
ggoebel left
|
|||
pmichaud | good evening, #perl6 | 02:26 | |
02:27
AlexDaniel left
02:28
noganex joined
|
|||
hoelzro | evening pmichaud | 02:29 | |
02:30
msouth joined
02:31
noganex_ left
02:35
Ben_Goldberg left,
rmgk_ joined,
rmgk is now known as Guest7371,
rmgk_ is now known as rmgk
02:36
kurahaupo1 joined
02:39
Guest7371 left
02:48
adu joined
02:50
jack_rabbit joined
02:51
Zhtwn left
|
|||
pmichaud | TimToady: ... is "take" considered an instance of abnormal control, in the sense of being trappable by CONTROL handlers...? | 02:53 | |
*abnormal control flow | |||
02:54
sunnavy left
|
|||
TimToady | presumably | 02:54 | |
at least as currently implemented | |||
pmichaud | well, I mean more "as designed" | ||
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. | ||
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 :) | ||
it's more like an interrupt than a control flow break :) | |||
TimToady | certainly we want to maintain the right to optimize | 02:57 | |
pmichaud | yes | ||
works for me. | |||
skids | Well, someone will come looking for a coruotine construct if take stops behaving as one. | ||
pmichaud | skids: I'm not changing that. | 02:58 | |
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 left,
adu joined
|
|||
skids | Ah, good, I am all for optimizing those too :-) | 02:59 | |
pmichaud | when it's not safe, it does the continuation/jump bit. | 03:00 | |
adu | TimToady: you're such a libertarian | ||
TimToady | you can say that again | ||
adu | libertarian | ||
it's a Good Thing | 03:01 | ||
Liberty is what protects us from Hitler and population reductionism | 03:02 | ||
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 | ||
pmichaud | Aha. Good to know. | 03:05 | |
adu | I'm 5% sure that the original Hitler is dead | ||
03:06
rurban left
|
|||
skids | m: say 2015-1889; # I'm a bit more than 5% sure. | 03:06 | |
camelia | rakudo-moar 15c6fb: OUTPUT«126» | ||
adu | make that 45% sure | 03:07 | |
dalek | ecs: a62d2ce | pmichaud++ | S07-glr-draft.pod: More GLR discussion, plans, and notes. |
03:12 | |
pmichaud | TimToady: not sure it's a good idea, but @@ popped into my head as a possible flattener. | 03:14 | |
it's very steamroller-y | |||
I'm afk # walk, packing | 03:17 | ||
03:24
laouji left
03:25
laouji joined
03:29
laouji left
03:37
sunnavy joined
|
|||
dalek | ecs: e71c0a1 | skids++ | S07-glr-draft.pod: Minor pronoun clarification Historical note for those not up to date on GLR progress |
03:37 | |
03:48
yeahnoob joined
03:51
prevost joined
03:54
kst left,
bin_005 left
03:55
bin_005 joined
03:57
Gardner joined
04:01
laouji joined
|
|||
dalek | ecs: b95b2a1 | Mouq++ | S07-glr-draft.pod: Ask about a list concatenation op |
04:04 | |
ecs: 2a7daba | Mouq++ | S07-glr-draft.pod: Untypo last commit |
04:07 | ||
04:16
kaare_ joined,
adu left
04:17
mattp__ left
|
|||
TimToady | Mouq: yes, re irclog.perlgeek.de/perl6/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 | |
*something | |||
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 | |
otherwise it's rather uselessly redundant with .slurp.parse | |||
well, .parse(slurp) or some such | 04:24 | ||
dalek | ecs: 4482589 | pmichaud++ | S07-glr-draft.pod: Add answer to skids++'s e71c0a1 question. |
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 :/ | ||
TimToady | that seems right to me | 04:26 | |
pmichaud | I suspect a lot of new information will fall out of the new GLR semantics | ||
er, phrased that wrong | |||
I suspect we'll have a lot better picture of how it should work once the initial GLR semantics are in implementation | 04:27 | ||
I'm very much liking the model that is emerging from thoughts/discussions | |||
it feels clean, elegant, and (potentially) fast | |||
04:31
hanekomu left
04:32
broquaint left
04:40
araujo_ left
|
|||
japhb | .oO( Choose three ... ) |
04:42 | |
dalek | ecs: 99aeec7 | pmichaud++ | S07-glr-draft.pod: Conjecture names for the conjectured insert-into-list type. |
04:43 | |
ecs: 43f7fde | pmichaud++ | S07-glr-draft.pod: Answer Mouq++'s b95b2a1 question. |
|||
ecs: 69b6eb5 | pmichaud++ | S07-glr-draft.pod: More answer to Mouq's example. |
04:50 | ||
04:50
araujo joined
|
|||
dalek | ecs: 84ff4f3 | pmichaud++ | S07-glr-draft.pod: Add "Sublist" to the brainstorm. |
04:51 | |
pmichaud | Also "SList", which combines "sublist" but maybe sounds a bit like "slice". :-) | ||
04:52
SevenWolf joined
|
|||
TimToady | the conjectured type won't replace Nil, only Empty | 04:54 | |
pmichaud | correct. | ||
Nil ends up being quite orthogonal to lists, I think. | 04:56 | ||
as in, it doesn't have any special listy properties. | |||
pmichaud adds to S07 | |||
TimToady | I just was reading a partial context line, and didn't see the pre-GLR note on Nil | ||
04:57
lkjkj joined
04:58
lkjkj left
|
|||
Mouq | pmichaud++ btw | 04:58 | |
dalek | ecs: d419e70 | pmichaud++ | S07-glr-draft.pod: Add note about post-GLR C<Nil>. |
||
TimToady kinda wonders whether our new type is really just an iterator, rather than something you ask for an iterator | |||
pmichaud | it's certainly Iterable. | ||
and in pre-GLR, all Iterators were Iterables. | 04:59 | ||
Mouq | Also, "Expand"? (Seq bikeshedding) | ||
TimToady | .oO(Shoehorn) |
||
Hoist | 05:00 | ||
pmichaud | I knew I'd be opening the bikeshed paint store with that commit. :) | ||
Clip, Cut, Paste were ideas coming from the notion of film editing. :) | |||
TimToady | Splice | ||
pmichaud | I thought of Splice, but it's too close to .splice for my taste. | ||
TimToady | well, rather similar idea | 05:01 | |
pmichaud | yes, but part of me feels that .splice should then return a Splice. :) | ||
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 | ||
TimToady | More() | ||
pmichaud | I kind of like Seq() | 05:03 | |
I didn't at first, but it's growing on me. | |||
Mouq | To bad we already used Mu :P | ||
pmichaud | Lu | ||
TimToady | Moo | 05:04 | |
we were wanting a Dog type... | |||
pmichaud | I'm also toying with the idea that the type object itself disappears in a list. | ||
05:04
lolisa left
|
|||
pmichaud | like Empty does now. | 05:04 | |
m: say Empty.defined | |||
camelia | rakudo-moar 15c6fb: OUTPUT«False» | ||
pmichaud | so then one could just return Seq | ||
and not have to do Seq() | |||
TimToady | but Seq doesn't feel empty | ||
pmichaud | (or whatever it gets called) | 05:05 | |
TimToady | Slot | ||
pmichaud | Hole | ||
TimToady | Virus | ||
pmichaud | Gene | ||
TimToady | Intron | 05:06 | |
Slip | |||
as in, "slip this in" | |||
but also "slip one cog" when nothing is there | |||
pmichaud | "Welcome to Pm's Bikeshed Paint Emporium! Today we have a special running on all sorts of list-related terms" | 05:07 | |
yes, I like the double-meaning to slip | |||
I was thinkng "slip by this one" | |||
TimToady | and it implies "sneaky" | ||
pmichaud | Sneak | ||
(slip is better) | |||
Mouq | Pm() | ||
pmichaud | are you implying I'm empty? :-) | ||
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 | ||
TimToady | me2 | ||
dalek | ecs: 3c71890 | pmichaud++ | S07-glr-draft.pod: s/Seq/Slip/ # better bikeshed choice for now |
05:10 | |
pmichaud | fwiw, I tried really hard to convince myself that C<Dog> could work. :-P | ||
and perhaps C<Tac> is too much "you think that's cute today" | 05:11 | ||
05:14
llfourn left,
skids left
|
|||
pmichaud | I wonder if the result of an infix:<...> should naturally be a Slip | 05:30 | |
(idle thought) | |||
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 :) | ||
TimToady | .u 、 | 05:34 | |
yoleaux | U+FF64 HALFWIDTH IDEOGRAPHIC COMMA [Po] (、) | ||
pmichaud | I get a box for that char in my font. | 05:35 | |
TimToady | .u ⸴ | 05:36 | |
yoleaux | U+2E34 RAISED COMMA [Po] (⸴) | ||
pmichaud | same there. :) | ||
TimToady | looking for non-Texas forms :) | ||
"raised" is cute though | |||
pmichaud | well, we want to make sure it's visually distinct from normal commas, too. | ||
TimToady | u ⨩ | 05:37 | |
.u ⨩ | |||
yoleaux | U+2A29 MINUS SIGN WITH COMMA ABOVE [Sm] (⨩) | ||
TimToady has been considering various Texas forms | |||
05:37
prevost left
|
|||
TimToady | ,, or \, or ^, and such | 05:37 | |
the (,) ain't so bad except it would imply a set operator | 05:38 | ||
pmichaud | yup | ||
TimToady | <,> | ||
pmichaud | I conjectured @, at one point. | ||
but too sigil/twigilish | 05:39 | ||
TimToady | it's kind of a shame that _ is considered alpha | 05:40 | |
as a "flat" sugar | |||
other possible flat sugars: *() *: | 05:41 | ||
would obviously have to win under LTM, but fit nicely with * for slurp | |||
pmichaud | there's always *** :-) | 05:42 | |
that's the Alaska form. :) | |||
TimToady | too bad there isn't a monster truck glyph | 05:43 | |
05:43
RabidGravy joined
|
|||
pmichaud | aha | 05:44 | |
the O_O operator | |||
TimToady | maybe we should use snowman for hierarchical, and comet for "flattening" :) | ||
pmichaud | O_O looks like a steamroller :) | ||
TimToady | O¯O | 05:45 | |
pmichaud | I'm pretty sure someone can create a Texas monster truck | ||
but for that matter, how about infix:<slip> | 05:46 | ||
I really don't expect it to be common at all. | |||
TimToady | o̿o | ||
pmichaud | (perhaps I'm wrong about that with all of the other flattening/itemization changes we're making... perhaps it'll be very common) | ||
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> | ||
TimToady | prefix slip is close to your one-level flat | ||
pmichaud | yes, and it fits with the other "list" and "flat" contextualizers. | ||
and then you can do return slip; | |||
as well as return slip() | |||
TimToady | but a reduce on the infix is probably sufficient instead of a prefix | 05:48 | |
pmichaud | indeed | ||
TimToady | return Slip; ain't so bad | ||
pmichaud | yeah, but Slip.new(1,2) isn't so much fun. | ||
It works, but.... | |||
TimToady | [,,] 1,2 | 05:49 | |
pmichaud | I suppose we can do Slip(1,2), but that feels wrongish also. | ||
TimToady | not opposed to a slip listop | ||
pmichaud | return [slip] 1,2 feels interesting also | ||
the "slip" almost looks parenthetical :) | |||
FROGGS | hmmmm, 'return Slip' would be identical to 'return Panties' where I am | 05:50 | |
pmichaud | FROGGS: TMI | ||
TimToady | the Slips I'm familiar with are not identical to Panties... | ||
pmichaud | WTMI | ||
FROGGS | :D | 05:51 | |
good morning :o) | |||
05:51
FROGGS[mobile] joined,
FROGGS left
|
|||
TimToady | @x X (@y Zslip @z) feels odd | 05:52 | |
@x X, (@y Z^, @z) seems more better | |||
or @x X, (@y Z\, @z) | 05:53 | ||
so I'd like it to seem like a comma variant | |||
pmichaud | I'd be okay with ^, or \. | ||
TimToady | that's probably what bothers me about slip | ||
pmichaud | er, \, | ||
yes, I prefer a comma variant of some sort also. | |||
I just haven't come up with one I like better than slip. :) | 05:54 | ||
I just haven't come up with one I like. | |||
TimToady | [\,] is bad though | ||
m: .say for [\,] ^5 | 05:55 | ||
camelia | rakudo-moar 15c6fb: OUTPUT«00 10 1 20 1 2 30 1 2 3 4» | ||
pmichaud | ,, seems like it could work but it scares me somehow. | ||
TimToady | yeah, looks like an error | ||
*, maybe | 05:56 | ||
pmichaud | aha! | ||
infix:<⏏> :-P | |||
TimToady | .p ❟ | 05:57 | |
.u ❟ | |||
yoleaux | U+275F HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT [So] (❟) | ||
pmichaud | I'm going to go with "slip" for now, knowing we'll likely change it to something comma-based. | 05:58 | |
I definitely like the prefix "slip" form. | 05:59 | ||
06:00
bin_005 left
06:01
bin_005 joined
|
|||
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:03 | |
pmichaud | put a "hole" between the commas, then. | 06:05 | |
like ,O, | |||
but not alpha | |||
so that it doesn't look like a typo but is obviously deliberate. | 06:06 | ||
06:10
diana_olhovik_ joined
|
|||
pmichaud | perhaps we could do ,, and make it illegal to mix ,, and , in the same chain. | 06:12 | |
3,,4 # okay | 06:13 | ||
3,4,,5 # error | |||
3,(4,,5) # okay, but same as 3,4,5 | |||
oh! | 06:14 | ||
for that matter, even if someone typoed the ,, they'd end up with the same result. | 06:15 | ||
(I think) | |||
I can probably find a case where that doesn't work. | |||
TimToady | well, 3,4,,5 would already be an error, since two list assoc have to be the same operator already | 06:18 | |
06:18
quietfanatic joined
|
|||
quietfanatic | Insert() was what I was thinking | 06:18 | |
06:18
llfourn joined
|
|||
TimToady | we've mostly settled on Slip for the moment | 06:18 | |
quietfanatic | ah | ||
06:19
Gardner left
|
|||
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» | ||
quietfanatic | I was really hoping that would work | ||
06:20
FROGGS joined
|
|||
quietfanatic | I wonder why that error message happened though? | 06:20 | |
06:20
msouth left
|
|||
TimToady | extra arg to 2nd TOP | 06:20 | |
quietfanatic | But the signature of first TOP is (ASDF: *%_) | 06:21 | |
according to introspection | |||
so why would anything be calling anything with two args? | |||
RabidGravy | struggling to reproduce this "smallbin double linked list corrupted" thing in a bite size chunk of code | 06:22 | |
it appears to only happen when running tests with "panda-test" | 06:23 | ||
which is odd | 06:24 | ||
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
telex left
|
|||
TimToady | quietfanatic: you're probably completel freaking out the LTM analyzer by mixing a rule and a method... | 06:26 | |
quietfanatic | Well I wouldn't freak out if I were it. :) | 06:27 | |
pmichaud | Yes you would. | ||
The entire regex engine is a big mess of "OMG WTF I AM SO FREAKED OUT!" | |||
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)) | ||
camelia | rakudo-moar 15c6fb: OUTPUT«WAThello(Any)» | ||
06:28
telex joined
|
|||
pmichaud | rule TOP { ^ asdf $ { $/.make: "asdf" } } | 06:28 | |
quietfanatic | Yes, that's what TimToady replied offline | ||
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. | ||
TimToady | there was a point where make didn't work in rakudo if you used it there | ||
but that's been fixed | |||
FROGGS | quietfanatic: yes, it becomes more dirty and dirty when your grammar grows | ||
quietfanatic | ah, maybe that wasa it | ||
pmichaud | well, putting the two methods in the grammar is going to get dirty as well :) | ||
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 | ||
pmichaud | agreed. | ||
quietfanatic | ah, that makes sense too | ||
TimToady | such as a pretty-printer | ||
pmichaud | that, and also to make it easier to read | ||
I always found it really hard to follow parsing when the action code was intermingled in the rules. | |||
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. | ||
tbh, I didn't expect it to be adopted. :) :) | |||
TimToady | yeah, and it's difficult to optimize away the double dispatch too | ||
06:31
domidumont joined
|
|||
TimToady | we really need a composition operator of some sort | 06:31 | |
with a grammar and a set of actions | 06:32 | ||
06:32
mattp__ joined
|
|||
pmichaud | 'action' keyword, perhaps? | 06:32 | |
grammar Something does SomethingActions | |||
TimToady | well, important thing is to set up some wrapping scheme so only a single dispatch is needed | ||
FROGGS | I guess the proto has some trouble coping with a rule and a method in the ASDF example here... | ||
quietfanatic | or hey, what about | ||
FROGGS | I bet it is auto-gen'd wrongish | ||
quietfanatic | grammar X is Y { | 06:33 | |
whoops, hold on | |||
TimToady | this strikes me as the same problem as wrapping role's BUILD submethods around the class's | ||
pmichaud | compose the actions directly into the grammar, and find a way to link the two. | ||
quietfanatic | grammar X is Y { method TOP { callsame; $/.make: whatever; } } | ||
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
Klaudioh left
|
|||
quietfanatic | Y is the original grammar without actions. | 06:34 | |
pmichaud | could be a runtime mixin | ||
anyway, I vote post-6C :) | |||
TimToady | well, I wanna rework the fate system first, I suspect | ||
and that probaby wants to be pre | |||
FROGGS | quick! rewrite all the things! /o/ | 06:35 | |
:D | |||
TimToady | well, I pretty much know how, since STD did it without rescanning the same token multiple times | ||
06:35
domidumont left
|
|||
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
|
|||
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:36 | |
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 | ||
pmichaud | I consumed all of TimToady's bikeshedding cycles for the night, I think :) | ||
FROGGS | pmichaud++ | 06:38 | |
TimToady: this if on topic somewhat... a recent nqp commit of yours causes a regression: RT #125345 | |||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125345 | ||
FROGGS | this is* | 06:39 | |
TimToady | yes, I know | ||
been thinking about it, will probably clean up with adding :: and ::: support | |||
FROGGS still giggles internally about the "I asked you if you want to take a seat" :D | |||
ohh | |||
nice | |||
TimToady: I'll port it to jvm for you | 06:40 | ||
TimToady | and the fates cleanup also probably gets us <*...> | ||
quietfanatic | now why doesn't that inheritance one work? Another regex engine freakout? | ||
FROGGS | yeah... I still wonder if I will every use that | ||
TimToady | it's very difficult to write for anything that is not literal abbreviations | 06:41 | |
whereas it's easy for the NFA to simply return success instead of failure when it reaches as far as it can | |||
FROGGS | p6: grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP($/) { callsame; $/.make: "fdsa" } }; say FDSA.parse("asdf") | ||
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» | ||
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» | ||
TimToady | surely you want to capture the return value of callsame into $/ | 06:43 | |
06:44
SevenWolf left
|
|||
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 | |
m: grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP { my \m = callsame; m.make: "fdsa"; m } }; say FDSA.parse("asdf") | |||
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» | ||
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") | ||
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» | ||
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」» | ||
FROGGS | m: grammar ASDF { rule TOP { ^ asdf $ } }; grammar FDSA is ASDF { method TOP { my \m = callsame; say m.^mro; m } }; say FDSA.parse("asdf") | ||
camelia | rakudo-moar 15c6fb: OUTPUT«(FDSA) (ASDF) (Grammar) (Cursor) (Any) (Mu)「asdf」» | ||
quietfanatic | I got that far, but it doesn't return what I've made. | 06:49 | |
pmichaud | sleepytime for me | ||
be back tomorrow evening | |||
TimToady | sleep/drive well | 06:50 | |
quietfanatic | You know, if regexes (as methods) simply returned what they either matched or made, this would be really easy. | 06:51 | |
TimToady | yeah, always returning both is kinda silly | 06:52 | |
quietfanatic | method TOP { return process(callsame); } | ||
currently they return Mu | |||
TimToady | there are a few places in the P6 grammar that revisit the submatches after make, but not many | ||
quietfanatic | in those cases you could just save the matches inside of what you make manually | 06:53 | |
TimToady | conceivably | ||
06:57
mr-fooba_ left
06:58
mr-foobar joined
06:59
Ven joined
|
|||
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 | ||
RabidGravy | marnin | ||
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:01 | |
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. | ||
quietfanatic | and probably more optimizable. | ||
okay I'm done for the night. Later everyone. | 07:03 | ||
moritz | quietfanatic: there's just one problem: those lists need to be lazy | ||
quietfanatic | which lists? | ||
moritz | and lazy lists aren't very fast | ||
the list of possible matches | |||
quietfanatic | ah | ||
I don't entirely understand the situation I guess | 07:04 | ||
Do you mean this would require more lazy lists, or it would prevent them from working right? | 07:06 | ||
well, I should really get to sleep soon. I'll be back later. | 07:07 | ||
07:07
quietfanatic left
|
|||
moritz | it would mean more places where we need lazy lists, which are expensive | 07:07 | |
so a performance problem | |||
pmichaud | which are *currently* expensive | ||
moritz | yes | 07:08 | |
when they become faster, it might be worth evaluating the regex design again | |||
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 :-) | ||
pmichaud | regex methods return cursors, though. Making them return match objects will get expensive. | ||
07:09
_mg_ joined
|
|||
pmichaud | (and returning match objects directly was pge's original model, which needed to be abandoned in favor of cursors) | 07:11 | |
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:19 | |
but github.com/jonathanstowe/Audio-Snd...ree/crashy reliably does it with 2015.05-76-g94eed8f built on MoarVM version 2015.05 | 07:25 | ||
pmichaud | Oh! The Slip type may also be a way to relax the need for immutable iterators! | 07:30 | |
very intriguing. | |||
RabidGravy | (and yes it does still do it with the correct "multi sub infix:<~~> ......) | ||
dalek | c/choices: cdff8ec | ab5tract++ | bin/p6doc: Remove confusiong between routine/method |
07:31 | |
moritz | pmichaud: do you have any links to Slip types? | 07:33 | |
07:33
kaare_ left
|
|||
moritz | googling for it mostly shows up clothing stuff :-) | 07:33 | |
Ven waves | 07:34 | ||
dalek | ecs: 15083d9 | pmichaud++ | S07-glr-draft.pod: Add discussion note about immutable iterators. |
07:36 | |
pmichaud | moritz: S07-glr-draft.pod describes the proposed Slip objects | 07:37 | |
(it's a type we just came up with today, largely replaces Empty) | |||
07:39
g5 joined
|
|||
RabidGravy | (^(10)).map({$_}) isn't lazy is it? | 07:40 | |
pmichaud | depends on the target | 07:41 | |
it can be lazy | |||
07:41
[TuxCM] left
|
|||
RabidGravy | it's assigning to an array | 07:41 | |
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 }" | ||
pmichaud | why use gather/take there? | 07:43 | |
RabidGravy | where infact "10" could be a fairly large number | ||
dalek | ecs: c756e93 | pmichaud++ | S07-glr-draft.pod: Fix grammatical error. |
07:44 | |
RabidGravy | pmichaud, because it was the first thing that fell under my fingers ;-) | ||
pmichaud | at the moment gather/take is inherently slow. | ||
(GLR will fix this.) | |||
RabidGravy | I know, hence "looking for a qucker why" | ||
pmichaud | still, a .map would almost certainly be a lot faster than gather/take. | ||
RabidGravy | but the actual number of items may be in the tens or even hundreds of thousands | 07:45 | |
pmichaud | so? | ||
you already have a map there, even using the given/take | 07:46 | ||
you aren't avoiding the map | |||
moritz | the 'for' does a map too | ||
and for/map can also be lazy | |||
pmichaud | take @bar[$_] for ^10 is the same as (^10).map( { take @bar[$_] } ) | ||
it actually compiles that way. | |||
07:47
bin_005 left,
bin_005_c joined
|
|||
RabidGravy | right, the question was probably more "will (^1000000).map({$_})" evaluate the range to make 1000000 items up front? | 07:48 | |
07:49
brrt joined
|
|||
pmichaud | no | 07:49 | |
range generation is lazy too :) | |||
(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 | ||
at any rate, it doesn't create 1000000 items "up front" | |||
RabidGravy | oh wait, "*** Error in `/home/jonathan/.rakudobrew/moar-nom/install/bin/moar': free(): invalid pointer: 0x0000000005af7cf0 ***" | 07:51 | |
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 | ecs: 5681a77 | pmichaud++ | S07-glr-draft.pod: Typo fix. |
||
RabidGravy | good grief, that only happens when it's run with "panda-test" as well | 07:53 | |
pmichaud | sleep time for me for real now -- be back tomorrow evening | 07:54 | |
moritz | m: say (1, (2, 3)).elems | 07:55 | |
camelia | rakudo-moar 15c6fb: OUTPUT«2» | ||
moritz | m: say (1, 2..5).elems | ||
camelia | rakudo-moar 15c6fb: OUTPUT«2» | ||
dalek | ecs: e0fe72a | pmichaud++ | S07-glr-draft.pod: Minor corrections. |
08:01 | |
08:02
gagalicious left
|
|||
RabidGravy | I'm beginning to conclude that this crashiness is partially due to libsndfile | 08:02 | |
08:02
virtualsue joined
|
|||
RabidGravy | ==4323== Invalid write of size 4 | 08:03 | |
==4323== at 0x397FE2FBB9: ??? (in /usr/lib64/libsndfile.so.1.0.25) | |||
08:07
virtualsue_ joined,
virtualsue left,
virtualsue_ is now known as virtualsue
08:08
llfourn left
08:11
darutoko joined
08:18
Ven left
08:27
zakharyas joined
08:32
itz joined,
domidumont left
|
|||
dalek | c/choices: b10614c | ab5tract++ | bin/p6doc: Check fmt before using it |
08:41 | |
08:43
nowan_ left,
espadrine joined
08:45
nowan joined
|
|||
RabidGravy | gah, even more crashy on other machine, but again only with "panda-test" | 08:45 | |
08:47
espadrine_ joined
08:48
espadrine left
|
|||
RabidGravy | not just panda-test it seems | 08:49 | |
08:49
mattp__ left
|
|||
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
|
|||
RabidGravy | FROGGS, github.com/jonathanstowe/Audio-Sndfile | 08:51 | |
08:51
nebuchadnezzar left
|
|||
RabidGravy | it's very much in progress | 08:52 | |
I'm wondering whether the inner class is causing the instability when changing stuff | |||
08:53
pyrimidine joined,
cognominal joined,
cdc left
|
|||
RabidGravy | it crapped out when I added the sub infix .... at the end, removing that worky again | 08:53 | |
FROGGS | github.com/jonathanstowe/Audio-Snd...nfo.pm#L11 | ||
never return 'int', return something specific | |||
08:54
itz left
|
|||
FROGGS | RabidGravy: I guess it should 'returns int32' | 08:55 | |
www.mega-nerd.com/libsndfile/api.html confirms | |||
RabidGravy | no fucking way | ||
no crashy | 08:56 | ||
FROGGS | aye | ||
RabidGravy | FROGGS++ | ||
FROGGS | int in Perl 6 means most like 64bits on your platform | ||
likely* | |||
hence the invalid read of 4 | |||
08:57
zakharyas left
|
|||
FROGGS | this is a very common (and frustrating) Stolperstein when getting into NativeCall | 08:58 | |
RabidGravy | I'll check and clarify if necessary in the nativecall doc later | 09:00 | |
09:00
nebuchadnezzar joined
|
|||
RabidGravy | (if nothing else this is testing my ability to understand the documentation properly ;) | 09:00 | |
09:01
AlexDaniel joined
|
|||
dalek | ecs: f709a04 | (Steve Mynott)++ | S02-bits.pod: a a to a |
09:02 | |
RabidGravy | anyway, as it is likely to be very hot today we are going to the seaside :) catch you later | ||
and cheers for that spot FROGGS | 09:03 | ||
09:03
espadrine joined
|
|||
FROGGS | RabidGravy: have fun! | 09:03 | |
[Tux] | paste.scsys.co.uk/488181 <= can rakudobrew please do some better cleanup? | 09:04 | |
09:07
RabidGravy left,
espadrine_ left
|
|||
FROGGS | [Tux]: what has rakudobrew todo with this? | 09:08 | |
[Tux] | that is the process that creates my perl6. I was just assuming it was the culprit | 09:09 | |
it isn't? | |||
09:09
zakharyas joined
|
|||
[Tux] | what process *does* leave those files if it isn't? | 09:09 | |
itz_ | the first google hit suggests Inline-Perl5 | 09:10 | |
[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 :) | ||
[Tux] | paste.scsys.co.uk/488181 <= can Inline::Perl5 please do some better cleanup? | ||
FROGGS | [Tux]: Inline::Perl5's build mechanism creates these tmp files | ||
[Tux] | tadzik, I tried to use github gists, but it seemd down/irresponsive | 09:12 | |
itz_ pokes tadzik about github.com/tadzik/panda/pull/164 :) | |||
tadzik | internet is acting funny today | ||
09:15
breinbaas left,
breinbaas joined
|
|||
tadzik | itz_: oh, right. I'll try to fix it later today | 09:18 | |
thanks for the reminder | |||
09:30
gagalicious joined
|
|||
gagalicious | how do i match characters <200e> and <202c> ? | 09:31 | |
does anyone know what i mean? it's a special character. | |||
FROGGS | m: say "\x200e" ~~ / \x200e / | 09:33 | |
camelia | rakudo-moar 15c6fb: OUTPUT«「」» | ||
FROGGS | m: say "\x200e" ~~ / \x200e | \x202c / | 09:34 | |
camelia | rakudo-moar 15c6fb: OUTPUT«「」» | ||
FROGGS | gagalicious: that does it | ||
m: say uniname "\x200e" | |||
camelia | rakudo-moar 15c6fb: OUTPUT«LEFT-TO-RIGHT MARK» | ||
gagalicious | i'm using perl5 ... $string=~s!\x202c! !g; <--- why doesnt this work? | 09:35 | |
FROGGS | gagalicious: ohh, this is a Perl 6 channel, sorry | 09:36 | |
09:37
vendethiel left
|
|||
FROGGS | gagalicious: you might want to ask in the channel #perl-help on irc.perl.org | 09:37 | |
09:37
vendethiel joined
|
|||
[Tux] | $str =~ m/\x{200e}/ | 09:38 | |
gagalicious | froggs : no one there at perl-help | ||
FROGGS | gagalicious: not here on freenode, on irc.perl.org, that's a different irc server | ||
Timbus | You mean like, Unicode Character 'POP DIRECTIONAL FORMATTING' (U+202C) ? | ||
gagalicious | funny i cant access irc.perl.org 6667 port? | 09:39 | |
[tux] : doesnt work | |||
Timbus | oh man i lagged out hard there | 09:40 | |
gagalicious | ok i'm using the webchat for it | ||
[Tux] | $ perl -MDP -wE'my $foo = "Foo \x{200e} bar"; DPeek $foo; $foo =~ m/\x{200e}/ and say "MATCH"' | 09:41 | |
PV("Foo \342\200\216 bar"\0) [UTF8 "Foo \x{200e} bar"] | |||
MATCH | |||
but as FROGGS said. this channel is about perl6, not perl5 | |||
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. | ||
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. | ||
Timbus | he can* | ||
09:42
bin_005_c left,
bin_005_c joined
09:43
rurban joined,
yeahnoob left
09:45
pecastro joined
|
|||
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. | ||
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 | ||
Ulti | gagalicious you can call Perl 5 stuff from Perl 6 though so you can take your time learning | ||
gagalicious | Ulti : is there any advantage to switch to perl6? | 09:48 | |
09:48
AlexDaniel left
|
|||
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:48 | |
gagalicious | Ulti : ... ok. i'm not technology adverse. it's good to see new things develop. | 09:50 | |
10:01
FROGGS[mobile] left
10:03
laouji left
10:05
gagalicious left
10:08
kaare_ joined
10:10
kaare__ joined
10:13
kaare_ left
10:15
dayangkun left
10:16
btyler left
10:17
btyler joined
10:19
zakharyas1 joined,
zakharyas left
10:20
oetiker left
10:21
oetiker joined
10:22
Timbus left,
Timbus joined
10:25
_mg_ left
10:27
domidumont joined
10:32
xinming left
10:33
xinming joined
10:34
kaare__ is now known as kaare_
10:41
brrt left,
beastd joined
|
|||
dalek | p: 996b4d4 | (Steve Mynott)++ | src/QRegex/P6Regex/Grammar.nqp: correct typo |
11:05 | |
p: 5d6d942 | moritz++ | src/QRegex/P6Regex/Grammar.nqp: Merge pull request #237 from stmuk/stmuk correct typo |
|||
11:16
aborazmeh joined,
aborazmeh left,
aborazmeh joined
11:26
zakharyas joined
11:28
zakharyas1 left
11:38
zakharyas left
11:43
[particle] left
11:45
bin_005_c left
11:46
laouji joined
11:57
Ven joined
11:59
rurban left
12:02
_mg_ joined
12:07
Ven left,
aborazmeh left
12:08
[particle] joined
12:10
aborazmeh joined,
aborazmeh left,
aborazmeh joined
12:15
Ven joined
12:17
aborazmeh left
12:18
mr-foobar left
|
|||
Ven waves at #perl6 | 12:18 | ||
Reading the glr-draft, I get this feeling that "flat" should really be an adverb on "for". | 12:19 | ||
It does feel too crazy to have it that way, though | |||
12:19
muraiki joined
|
|||
Ven admits to not really liking that `my @a = _` is different from `@a = _` | 12:20 | ||
(it just feels weird to me, probably because I'm not used to it...) | |||
I have one question, though: what are [] and {} useful for if they don't itemize? (I mean -- what makes them different from `()`) | 12:21 | ||
(wrt list concat, I like haskell's ++. it's a pretty often used operator...) | 12:27 | ||
muraiki | Ven++ | 12:28 | |
(trying to make a pun using symbols) | 12:29 | ||
Ven | *g* | 12:31 | |
12:34
_mg_ left
|
|||
muraiki | but yeah I do like ++ as a list concat op | 12:36 | |
arnsholt | I'm not sure if infix:<++> would be possible, since we already have postfix:<++> | 12:37 | |
12:37
Ven left
12:39
Ven joined
|
|||
timotimo | you have to put spaces in that case | 12:39 | |
we don't force people to put spaces around infix ops yet | |||
pmichaud | the difference between [] and () is that [] creates an Array and {} creates a Hash | 12:41 | |
timotimo | that's not the difference between [] and () :) | ||
pmichaud | sorry | ||
the difference between [], {}, and () is that [] creates an Array, {} creates a Hash, and () creates a List. | |||
Better? | 12:42 | ||
timotimo | fair enough | ||
so it's no longer about the scalar around it, but about the scalars inside | |||
pmichaud | and the type of the container itself | ||
timotimo | right | 12:43 | |
but the differentiation between array and list is mostly scalarification of the things inside? | |||
pmichaud | yes | 12:44 | |
timotimo | 'k | ||
pmichaud | and perhaps also that arrays are "flat" | 12:45 | |
timotimo | OK, so it's mostly LoL, rarely AoA? | ||
pmichaud | Not sure I follow that part. | 12:46 | |
timotimo | well, you wouldn't use arrays for nesting, was my thought | ||
pmichaud | you can use arrays for nesting, yes. | ||
my @a = [[1,2,3], [4,5, [7,8]], 9] # does what you expect. | |||
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 ;) | ||
timotimo | er, i meant: "arrays considered 'flat'" | ||
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. | ||
timotimo | oh | ||
i'd call that "firm" instead of "flat" | |||
TimToady | I don't think [] will flatten inside, though | ||
by default | |||
pmichaud | right | 12:48 | |
anyway, I have to go check out of hotel and hit road -- bbl | |||
timotimo | oke | ||
muraiki | p6: my @a = [[1,2], [3,4]]; say @a[0]; | ||
camelia | rakudo-moar 15c6fb: OUTPUT«1 2 3 4» | ||
TimToady | we'll probably strip all autoflattening from everything but slurpy, and then add things back in after we get a feel | ||
timotimo | i haven't been able to really follow the detailed changes and discussions, sadly | ||
pmichaud | timotimo: no problem, nobody has. That's why S07-glr exists. | 12:49 | |
muraiki: what we're discssing is written down in S07-glr-draft.pod in the design docs (specs) | |||
gone | |||
muraiki | thanks | ||
dalek | ecs: cf95b0f | moritz++ | S07-glr-draft.pod: Markup fix |
12:50 | |
muraiki | how convenient | 12:51 | |
12:52
Ven left
12:55
bbkr_ joined
13:00
_mg_ joined,
lolisa joined
13:01
lolisa left,
lolisa joined
13:03
uncleyea1 is now known as uncleyear,
_mg_ left,
uncleyear left,
uncleyear joined
|
|||
muraiki | ok, that clarifies a lot. but it makes me scared to write any p6 code in the meantime... | 13:08 | |
13:13
AlexDaniel joined
|
|||
TimToady | everything with a top-level comma should continue to work the same at least | 13:14 | |
well, with maybe an occasional flat thrown in | 13:15 | ||
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
|
|||
itz_ | www.bsdnow.tv/live is supposed to stream Bourne (of sh fame) shortly | 13:20 | |
timotimo | so, has anybody started implementing the language in the latest xkcd? | 13:23 | |
13:25
bbkr_ left
|
|||
muraiki | heh, colors.sort yields "rainbow" | 13:27 | |
moritz | m: class colors { method sort() { "rainbow" } }; say colors.sort | 13:28 | |
camelia | rakudo-moar 15c6fb: OUTPUT«rainbow» | ||
moritz | nothin' easier than that | ||
muraiki | moritz++ | 13:29 | |
timotimo | m: say NaN but "NaP" | 13:31 | |
camelia | rakudo-moar 15c6fb: OUTPUT«NaP» | ||
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 | ||
yoleaux | TimToady: I'll pass your message to dduncan. | ||
13:33
espadrine_ joined
13:34
g5 left
13:36
broquaint joined,
espadrine left
|
|||
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 | ||
gtodd1 | panda installing Linenoise after the fact creates some sort of strange loop with endless streams of ">" prompts appearing | ||
timotimo | :o | ||
gtodd1 | do I need to *disable* linenoise elsewhere (in nqp moar etc ... ) ? | 13:38 | |
timotimo | no | ||
muraiki | whoa, what does "but" do? | 13:40 | |
gtodd1 | hmm maybe perl6 can't find Linenoise after I panda it | ||
muraiki | I really need to finish the learn perl 6 in y minutes article | ||
there's just endless amounts of things to learn | |||
gtodd1 | perl6 -V gives me more and different information than perl -V does :) | ||
TimToady | muraiki: do you know what a mixin is? | 13:41 | |
that's what 'but' does | |||
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
|
|||
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 | |
it's exciting, but overwhelming | |||
gtodd1 | I guess I'll just keep git pulling and rebuilding and panda installing and hope it goes away .... usually dioesn't take long | ||
Util | timotimo: For similar mixed-type humor, see the 4 minute lightning talk: www.destroyallsoftware.com/talks/wat | ||
gtodd1 | I only got paid to program once | ||
itz_ | m: say $().flat | ||
camelia | rakudo-moar 15c6fb: OUTPUT«Use of Nil in string context in block <unit> at /tmp/NOodX21fcp:1» | ||
gtodd1 | and it was for a perl script ! :-D | 13:45 | |
Util | gtodd1: your coding career is flawless; 100% Perl! | ||
itz_ | m: say $().flat.perl | ||
camelia | rakudo-moar 15c6fb: OUTPUT«Use of Nil in string context in block <unit> at /tmp/TxMkxOlw8p:1("",)» | ||
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! | ||
gtodd1 | yeah ... I charged 750$ a line ... too bad it was only one line :-D | 13:46 | |
muraiki | haha | ||
Util | moritz++ ; # Providing key resource to new hackathon volunteer | 13:47 | |
gtodd1: ha! | 13:48 | ||
gtodd1 | hmmm ~/perl6/share/perl6/site/lib/ has various kinds of linenoisy things | 13:51 | |
TimToady | .tell smls just to clarify, irclog.perlgeek.de/perl6/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 | ||
yoleaux | TimToady: I'll pass your message to smls. | ||
TimToady | ab5tract: note ^^ if you copied that anywhere | 13:52 | |
13:53
FROGGS left
13:54
tadzik left
13:55
tadzik joined
|
|||
gtodd1 | hmm running perl6 -MLinenoise sometestscript.p6 works ... | 13:57 | |
but the repl itself goes off looping madly .... This is perl6 version 2015.05-155-gd58e397 built on MoarVM version 2015.05-74-gc14339c | 13:58 | ||
neat ... if I ktrace it .... : | 14:01 | ||
hoelzro | gtodd1: which OS are you on? | ||
gtodd1 | 44391 moar GIO fd 1 wrote 2 bytes | ||
"> " | |||
.... | |||
44391 moar RET read -1 errno 35 Resource temporarily unavailable | |||
FreeBSD | |||
I thought one or two devs used FreeBSD :-D | |||
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" | ||
hoelzro is it a low level tty terminal sort of thing? | |||
hoelzro | it could be that this line is failing: github.com/hoelzro/p6-linenoise/bl...ise.pm#L69 | 14:04 | |
because I'm dumb and lazy and didn't check for errors. | |||
gtodd1 | hoelzro: :-D | ||
14:05
yqt joined
|
|||
hoelzro | gtodd1: you could try adding some error checking to that line, see if it doesn't succeed on FreeBSD | 14:05 | |
gtodd1 | you mean like tell it to stop trying if it doesn't work? | 14:08 | |
14:08
ZuZu joined
|
|||
hoelzro | gtodd1: yeah, have it die or something | 14:09 | |
just so we can see if that's the problem | |||
I'll fix it to be smarter once I know what the problem is | 14:10 | ||
... | |||
I think I already know | |||
I'm betting these aren't the same on FreeBSD: github.com/hoelzro/p6-linenoise/bl...ise.pm#L11 | |||
14:11
telex left,
msouth joined
14:12
telex joined
|
|||
gtodd1 | oh ... right I forgot it would use nativecall and maybe not find something you thought was there | 14:12 | |
hmm so modify Linenoise.pm but then rebuild so Linenoise.pm.moarvm since this is not "pure perl" | 14:14 | ||
14:15
JimmyZ_ joined
14:18
laouji left
|
|||
TimToady | AlexDaniel: re irclog.perlgeek.de/perl6/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:21 | |
gtodd1 | hoelzro ... well adding or die; makes it die :-) | 14:24 | |
hoelzro at that line | 14:25 | ||
14:27
bjz joined
|
|||
hoelzro | gtodd1: excellent | 14:29 | |
if you'd like to dig more, I could use a trace of the program, or a print out of what errno contains | |||
otherwise, I can spin up a FreeBSD VM later and have a look | 14:30 | ||
this raises an interesting point of how to deal with C-defined constants and such | |||
14:31
bjz left,
bjz joined
|
|||
hoelzro | I forget - is there a way to get errno from Perl 6? | 14:39 | |
or does one need a wrapper function to get at it? | |||
lizmat | good *, #perl6 | 14:44 | |
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: rt.perl.org/Public/Bug/Display.html?id=125391 | ||
hoelzro | greetings lizmat | ||
so you think I should include a helper library? | |||
14:45
grondilu joined
|
|||
AlexDaniel | TimToady: so it seems like it should be even less efficient because it does not check .to right now | 14:46 | |
but I think that correctness is more important in this case | |||
otherwise why bother with sorting at all, just shuffle it and let the user think about the rest | 14:47 | ||
14:48
khisanth_ is now known as Khisanth
|
|||
lizmat | hoelzro: I'm not sure, but yes, that seems to be at least a temporary solution | 14:50 | |
but, maybe this is a X/Y | |||
what are you trying to achieve> | |||
? | |||
hoelzro | lizmat: I'm handling fcntl errors, so I'd like to include the strerror(errno) message in the message I fail() with | 14:53 | |
14:55
ZuZu left,
RabidGravy joined
14:59
msouth left
15:00
rurban joined,
espadrine_ is now known as espadrine,
FROGGS joined
15:04
zakharyas left
15:06
msouth joined
15:11
kurahaupo1 left
15:13
captain-adequate joined
15:23
kaare__ joined
15:24
kaare_ left
15:25
kurahaupo1 joined,
mr-foobar joined,
diana_olhovik_ left
15:39
msouth_ joined,
mr-foobar left,
msouth left
15:43
virtualsue left
15:45
Zhtwn joined
15:46
virtualsue joined
|
|||
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:46 | |
FROGGS | Zhtwn: do you say it can't fetch this? ecosystem-api.p6c.org/projects.json | 15:47 | |
timotimo | do you get the same thing after another "panda update"? | ||
tadzik | LHF: make panda verify that the downloaded json is indeed json | 15:48 | |
FROGGS | tadzik: not even P5's cpan client does that | 15:49 | |
tadzik | a chance for us to excel | ||
15:49
msouth_ left
|
|||
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 | ||
Zhtwn | Ah. gotta rm the broken projects.json before "panda update" | ||
Yeah, I'll open a ticket | |||
tadzik | thank you Zhtwn | ||
FROGGS | Zhtwn++ | 15:52 | |
15:52
virtualsue left
15:53
virtualsue joined
|
|||
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 | |
15:53
msouth joined
|
|||
hoelzro | gtodd1: I'm thinking that that's the result of fcntl failing | 15:54 | |
gtodd1 | guess so | ||
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:55 | |
gtodd1 | k | 15:56 | |
www.freebsd.org/cgi/man.cgi?sektio...uery=fcntl Zzzzz .... OMG ... I have chores to do so BBL | 15:58 | ||
Zhtwn | yeah, "panda update" got same problem. downloaded "projects.json" directly, and it works. Thanks all. | 15:59 | |
FROGGS | weird | ||
I hope it is now about the latest changes to panda | |||
though, unlikely | |||
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:00 | |
16:04
gfldex joined
|
|||
japhb | Woah | 16:06 | |
hoelzro | panda has an issue with ipv6 | 16:07 | |
that's how I've seen such behavior in the past | |||
timotimo | design.perl6.org is the default vhost that th web server on p6c.org offers | ||
japhb now knows where the 'Woah' went that was intended for another window ... | |||
timotimo | try whatisthisidonteven.perl6.org | ||
16:12
wingfold joined
|
|||
tadzik | kekekekek | 16:14 | |
16:16
uncleyea1 joined
16:17
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
mr-foobar joined
16:19
uncleyear left
|
|||
lizmat | tadzik o/ | 16:21 | |
commuting for the rest of the day& | 16:22 | ||
16:22
lizmat left,
aborazmeh left
16:23
wingfold_ joined
16:25
diana_olhovik_ joined
16:26
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
wingfold left
16:28
lolisa left
16:29
yqt left
|
|||
Woodi | hallo today :) | 16:29 | |
16:31
aborazmeh left
|
|||
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:31 | |
Parcel looks like C struct containing List... and with Captures it creates some strange device :) I wonder from where it was borrowed... | 16:33 | ||
also Ranges looks complicated a bit... I think they are mainly syntax and when they are accesed they immediatelly slipping into List... | 16:36 | ||
16:37
domidumont left
|
|||
Woodi | so Slip is more behaviour then data structure or operator... | 16:37 | |
and about big lists or streams of data viewed by list/array window: en.wikipedia.org/wiki/Sliding_window_protocol | 16:38 | ||
16:41
JimmyZ_ left
|
|||
Woodi | and one thing more: we have Iterators, maybe Visitor pattern could be usefull too | 16:42 | |
16:42
yqt joined
|
|||
dalek | c/choices: 35ea309 | ab5tract++ | bin/p6doc: Make interactivity an env var -- P6DOC_INTERACT |
16:48 | |
16:50
rurban left
16:52
domidumont joined
16:56
xinming left
16:57
xinming joined
17:06
rurban joined
17:16
espadrine left
17:18
mr-foobar left
17:20
mr-foobar joined
|
|||
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 | ||
ab5tract: I'll pass your message to moritz. | |||
17:27
cognominal left
17:32
wingfold joined
17:36
wingfold_ left
17:37
mr-fooba_ joined
17:39
xfix joined,
xfix left,
xfix joined
17:41
mr-foobar left
17:43
labster joined
|
|||
dalek | kudo/nom: af886d1 | TimToady++ | src/core/Match.pm: include .to for .caps order tiebreaker fixes #125391 |
17:43 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125391 | ||
17:48
wingfold left
|
|||
AlexDaniel | cool | 17:50 | |
17:51
yqt left
|
|||
AlexDaniel | TimToady: now if only somebody fixed this bug that I keep stumbling upon all the time: rt.perl.org/Public/Bug/Display.html?id=125285 | 17:53 | |
:) | |||
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. | ||
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
|
|||
japhb | .oO( "... and always twirling, twirling, twirling towards freedom!" ) |
18:09 | |
18:10
mr-fooba_ left
18:11
daotoad joined,
daotoad left
18:12
mr-foobar joined
18:17
mr-foobar left
18:27
Sqirrel joined
18:31
labster left
18:35
Zhtwn left
|
|||
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:36 | |
18:48
lembark joined
18:49
yqt joined
|
|||
msouth | hi lembark | 18:49 | |
lembark | hello | ||
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:50 | ||
hmmm... looks like 'temp' was the right place to be. | 18:51 | ||
ugexe | $*TMPDIR ? | ||
or a temporary variable | 18:52 | ||
18:54
rurban left
18:55
mr-foobar joined
|
|||
lembark | Not a temp variable, temp value for a hash value (e.g., p5 as "local $ENV{PGDATABASE} = 'foobar';"). | 18:58 | |
19:00
nys joined
19:04
yqt left
19:05
diana_olhovik_ left
|
|||
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:/home/camelia/perl5/perlbrew/perls/perl-5.20.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin/bin:/sbin/home/camelia/perl5/perlbrew/bin:/home/camelia/perl5/perlbrew/perls/perl-5.20.1/bin:/usr/local/s…» | ||
flussence | bah | ||
m: say %*ENV<PATH>.chars; { temp %*ENV<PATH> = '/bin:/sbin'; say %*ENV<PATH> }; say %*ENV<PATH>.chars | |||
camelia | rakudo-moar af886d: OUTPUT«144/bin:/sbin144» | ||
19:16
lembark left
19:18
[particle] left,
diana_olhovik_ joined,
bin_005 joined
19:19
xfix left
19:24
[particle] joined
19:28
yqt joined
19:31
bin_005_p joined
19:33
bin_005 left
19:42
dwarring joined
19:48
domidumont left
19:51
muraiki left
19:59
rurban joined
20:03
Zhtwn joined
20:07
xinming left,
skids left,
|Tux| left,
Patterner left,
dj_goku left,
nwc10 left,
maettu left,
_sri left,
xiaomiao left,
bonsaikitten joined,
dj_goku joined,
dj_goku left,
dj_goku joined,
moritz joined,
espadrine joined,
xinming joined
20:08
nwc10 joined,
|Tux| joined,
Patterner joined
20:09
maettu joined,
skids joined
20:12
_sri joined
20:25
spider-mario joined
20:32
darutoko left
20:36
FROGGS left
20:51
kaare__ left
20:57
Gardner joined
|
|||
Zhtwn | I'm getting an unhandled exception with perl6-debug-m on Perl6::TypeGraph (from perl6/doc): gist.github.com/Zhtwn/06bda4ea1932075be431 | 21:02 | |
gist has traces both with and without --ll-exception | 21:03 | ||
21:04
msouth left
21:07
bin_005_p left
|
|||
Zhtwn | I'm also seeing 0xffffffff line numbers: CORE.setting.moarvm:reify:4294967295 | 21:10 | |
21:10
telex left
21:11
skids left
21:12
telex joined
21:14
wingfold joined
21:18
Gardner left
21:22
bin_005 joined
21:23
diana_olhovik_ left
|
|||
timotimo | fwiw, those are instruction indices, not line numbers | 21:25 | |
but that's still not cool | |||
Zhtwn | ah, gotcha | ||
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:26
preyalone left
|
|||
Zhtwn | Yup, they're there: "from src/gen/m-CORE.setting:10088". | 21:27 | |
timotimo | good | 21:28 | |
Zhtwn | fwiw, the 0xffffffff doesn't seem to show up when using --ll-exception | ||
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 | |
but for bytecode number that doesn't make too much sense | |||
Zhtwn | ah, that's a reasonable explanation. | 21:33 | |
21:38
AlexDaniel left,
rurban left
|
|||
cognominal | I am dabbling with a slang. Is it possible to use QAST from Perl 6? | 21:38 | |
21:40
lembark joined
|
|||
cognominal | now, I remember, there something like :from<nqp> | 21:43 | |
probably more like :from<NQP> | 21:49 | ||
21:50
quietfanatic joined
|
|||
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» | ||
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» | ||
quietfanatic | p6: sub foo (Str() @args) { @args }; say foo(('a', 'b', 'c')) | ||
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']) | ||
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» | ||
quietfanatic | I has a sad. | 21:53 | |
p6: sub foo (Positional[Str] @args) { @args }; say foo(['a', 'b', 'c']) | |||
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» | ||
quietfanatic | p6: sub foo (Positional[Str] $args) { $args }; say foo(['a', 'b', 'c']) | ||
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» | ||
quietfanatic | p6: sub foo (Positional $args) { $args }; say foo(['a', 'b', 'c']) | 21:54 | |
camelia | rakudo-moar af886d: OUTPUT«a b c» | ||
quietfanatic | p6: sub foo (Positional[Any] $args) { $args }; say foo(['a', 'b', 'c']) | ||
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» | ||
quietfanatic | p6: sub foo (Positional[Mu] $args) { $args }; say foo(['a', 'b', 'c']) | ||
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» | ||
quietfanatic | sub foo (Str @a) { @a }; my @b = 'a', 'b', 'c'; say foo @b; | 21:55 | |
p6: sub foo (Str @a) { @a }; my @b = 'a', 'b', 'c'; say foo @b; | |||
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» | ||
quietfanatic | p6: sub foo (Str @a) { @a }; my Str @b = 'a', 'b', 'c'; say foo @b; | ||
camelia | rakudo-moar af886d: OUTPUT«a b c» | ||
quietfanatic | I at least expected the Str() one to work. | ||
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» | ||
quietfanatic | p6: sub foo (Positional[Str]() $a) { $a }; say foo(('a', 'b', 'c')); | ||
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» | ||
RabidGravy | m: sub foo (Str @a) { @a }; my @b = 'a', 'b', 'c'; say foo |@b; | ||
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» | ||
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/cj68VZiOxvSlurpy 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…» | ||
RabidGravy | out of options | ||
quietfanatic | sub foo (Positional $a) { $a }; say foo(('a', 'b', 'c')) | ||
p6: sub foo (Positional $a) { $a }; say foo(('a', 'b', 'c')) | 21:58 | ||
camelia | rakudo-moar af886d: OUTPUT«a b c» | ||
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/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> 3sub foo (Str @a) { @a }; say foo((Array7⏏5 of Str)('a', 'b', 'c')); expecting any of: infix infix stopper st…» | ||
quietfanatic | p6: sub foo (Str @a) { @a }; subset StrArray of Array of Str; say foo(StrArray('a', 'b', 'c')); | ||
camelia | rakudo-moar af886d: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0) in block <unit> at /tmp/tmpfile:1» | ||
quietfanatic | p6: sub foo (Str @a) { @a }; say foo(my Str @ = ('a', 'b', 'c')); | 22:00 | |
camelia | rakudo-moar af886d: OUTPUT«a b c» | ||
quietfanatic | Well at least it's possible. | 22:01 | |
22:14
beastd left
|
|||
quietfanatic | p6: say (reduce *+*, 1, 2).WHAT | 22:17 | |
camelia | rakudo-moar af886d: OUTPUT«(Int)» | ||
quietfanatic | p6: say (reduce *+*, 1).WHAT | ||
camelia | rakudo-moar af886d: OUTPUT«(List)» | ||
quietfanatic | Hah. If that isn't a reportable bug, I don't know what is. | ||
p6: say (reduce *+*).WHAT | |||
camelia | rakudo-moar af886d: OUTPUT«(List)» | ||
quietfanatic | that should probably be Empty | 22:18 | |
or Slip() :) | |||
22:23
virtualsue left
|
|||
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 | ||
also what's wrong with Void that's empty sounding and yet to be used and exists in most languages :P | 22:26 | ||
my flat has a bikeshed I like hanging out down there polishing my bike | 22:27 | ||
TimToady | it's not just for 0 values of Void :) | 22:33 | |
quietfanatic | Well we want it to be a general list inserter, so it should be something that makes sense with values in it. | 22:34 | |
I stlil like prefix:<|> the best. :) | 22:35 | ||
We already make pair syntax mean something special in function parameters, so I don't see why | can't be the same. | 22:36 | ||
Ulti | then Slot was kind of nice... | 22:40 | |
since its both the noun and the verb | |||
you slot things into slots | |||
22:43
sue_ left,
Khisanth left
22:44
sue joined
22:46
Khisanth joined,
RabidGravy left
22:47
wingfold left
|
|||
cognominal | m: use QAST:from<NQP> | 22:51 | |
camelia | ( no output ) | ||
22:55
spintronic left
23:03
skids joined
23:05
spintronic joined
|
|||
spintronic | Hi guys, what is the best way to read a tab separated file into a multidimensional array? | 23:06 | |
23:07
elimik31 joined
23:08
spider-mario left
|
|||
flussence | if "multi" means "2"... $filename.IO.lines».split(/\t/) should work fine | 23:13 | |
spintronic | flussense: yes, in 2-D. Thank you! | 23:14 | |
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 | |
` (moar does not) | |||
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:23 | ||
timotimo | oh | 23:25 | |
huh | |||
we didn't get the multi-linesep-thingie yet? | |||
23:25
nys left
23:27
bin_005 left,
bin_005 joined
23:29
pecastro left
|
|||
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' | ||
<!DOCT | |||
tony-o | ugexe++ | ||
yoleaux | 24 May 2015 18:16Z <jdv79> tony-o: HTML::Parser::XML seems broken and/or super slow | ||
25 May 2015 17:41Z <jdv79> tony-o: yeah, its not deprecations or warnings - its just too slow:( | |||
31 May 2015 02:11Z <timotimo> tony-o: in general i'm okay with being pm'd by anyone at any time :) | |||
tony-o | i've seen all these yoleaux | 23:34 | |
ugexe | there isnt even a TT in <!DOCTYPE | ||
tony-o | supports your idea of it only matching on the first character | ||
ugexe | hopefully... this probably isnt a difficult fix | 23:35 | |
timotimo | i've seen all these yoleauxes | ||
23:38
captain-adequate left
23:40
egrep left
|
|||
quietfanatic | pardon me if this is a basic question, but why doesn't this work? | 23:41 | |
p6: class A { sub foo { } }; class B is A { method bar { foo } }; B.new.bar | |||
camelia | rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileUndeclared routine: foo used at line 1» | ||
ugexe | m: class A { method foo { } }; class B is A { method bar { $.foo } }; B.new.bar | 23:43 | |
camelia | ( no output ) | ||
ugexe | or do you want to know specifically why the sub did not work | ||
flussence | m: class A { our sub foo { } }; class B is A { method bar { foo } }; B.new.bar | ||
camelia | rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qzjFvbaCr2Undeclared routine: foo used at line 1» | ||
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» | ||
flussence | hm, I dunno. | ||
quietfanatic | hm | 23:45 | |
I guess I'm too much in C++ mode | 23:46 | ||
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/V0tAtVERXVA is not composable, so B cannot compose itat /tmp/V0tAtVERXV:1» | ||
flussence | m: role A { sub foo { } }; class B does A { method bar { foo } }; B.new.bar | ||
camelia | rakudo-moar af886d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1_ORI8Ze3cUndeclared routine: foo used at line 1» | ||
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/oCSNXOhpwIA is not composable, so B cannot compose itat /tmp/oCSNXOhpwI:1» | ||
23:58
cognominal left,
spintronic left
|