Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-03-09

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:36 obra joined #perl6
00:44 cognominal joined #perl6
00:50 lue would the variable @a be an example of a flattening parameter?
01:00 xilo joined #perl6
01:03 census_ joined #perl6
01:06 census joined #perl6
01:07 TimToady what do you mean by "flattening", and what do you mean by "parameter"?
01:08 TimToady depending on either of those, the answer might be "yes" or "no"
01:10 lue I'm reading S02/Parcels, parameters, and Captures, and it doesn't give examples of the opposite of an "argumentative" parameter.
01:11 TimToady in that case, @a is not flattening, but *@a is.
01:13 TimToady sub foo (@argument, *@rest) { say "@argument[] and then @rest[]" }; foo (1,2,3), (4,5,6), (7,8,9)
01:13 TimToady nr: sub foo (@argument, *@rest) { say "@argument[] and then @rest[]" }; foo (1,2,3), (4,5,6), (7,8,9)
01:13 p6eval rakudo 8c0f87, niecza v24-32-g4b68456: OUTPUT«1 2 3 and then 4 5 6 7 8 9␤»
01:14 colomon TimToady: https://gist.github.com/colomon/5121943 # slightly cleaned up version
01:14 TimToady the parens are important for the first argument (no flattening), but the parens are not important for the rest
01:15 lue OK, I read that wrong. I interpreted the first paragraph as meaning    slice parameter is argumentative and contains a flattening version and a slicing version
01:15 TimToady well, slice is different from slurpy that way
01:16 TimToady slurpy flattens parens, but slice doesn't
01:16 TimToady nr: sub foo (@argument, *@rest) { say "@argument[] and then first frest @rest[0]" }; foo (1,2,3), (4,5,6), (7,8,9)
01:16 p6eval rakudo 8c0f87, niecza v24-32-g4b68456: OUTPUT«1 2 3 and then first frest 4␤»
01:16 TimToady nr: sub foo (@argument, **@rest) { say "@argument[] and then first rest @rest[0]" }; foo (1,2,3), (4,5,6), (7,8,9)
01:17 p6eval niecza v24-32-g4b68456: OUTPUT«[31m===[0mSORRY![31m===[0m��Slice parameters NYI at /tmp/FBPg8C33Rj line 1:�------> [32msub foo (@argument, **@rest[33m�[31m) { say "@argument[] and then first rest[0m��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CORE.setti…
01:17 p6eval ..rakudo 8c0f87: OUTPUT«1 2 3 and then first rest 4 5 6␤»
01:17 TimToady see, the parens matter again with the **
01:20 lue OK, I just misparsed the paragraph is all. Good thing I asked then :)
01:21 TimToady colomon: I'd probably write that: my @primes := grep *.is-prime, 2, (3,5,7...*);
01:22 TimToady or my @primes := 2, grep *.is-prime, (3,5,7...*);
01:23 TimToady my @primes := 2, (3,5,7...*).grep: *.is-prime; ain't so bad either
01:24 colomon fine notion
01:24 TimToady nr: my @primes := (2,3,5,7...*).grep: *.is-prime; say @primes[^20]
01:24 p6eval rakudo 8c0f87, niecza v24-32-g4b68456: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71␤»
01:24 TimToady I guess that works too
01:25 TimToady since it only goes on the last 3
01:29 TimToady colomon: another tweak, .map(); at the end of the line can always transform to .map: {} and then you don't need either parens or a semi
01:29 TimToady just seems a bit less cluttered that way to me
01:30 TimToady basically, }); at the end of a line is kind of a smell
01:31 TimToady another option you can take or leave is turning ([*] ...) into [*](...)
01:31 TimToady since it's basically just a listop, it can take parens just like a function
01:33 TimToady but looks pretty good overall
01:37 adu joined #perl6
01:37 colomon TimToady: I stubbornly like the ({ }), actually.
01:39 colomon The various blah: forms always look wrong to me.
02:09 TimToady the ({}); forms always looks cluttered to me, and I can kind of ignore everything after the : because I know it goes to the end of the line
02:14 FROGGS_ joined #perl6
02:14 TimToady std: my @primes := grep(*.is-prime): 2,3,5,7 ... *; say @primes[^20]
02:14 p6eval std 86b102f: OUTPUT«ok 00:00 45m␤»
02:15 TimToady STD accepts that syntax, but nobody implements it yet
02:15 TimToady n: my @primes := grep(*.is-prime): 2,3,5,7 ... *; say @primes[^20]
02:15 p6eval niecza v24-32-g4b68456: OUTPUT«[31m===[0mSORRY![31m===[0m��Interaction between semiargs and args is not understood at /tmp/mCiDE2efLN line 1:�------> [32mrimes := grep(*.is-prime): 2,3,5,7 ... *[33m�[31m; say @primes[^20][0m��Unhandled exception: Check failed��  at /home/p6eval/…
02:15 colomon "is not understood"  :)
02:15 TimToady love that message
02:16 TimToady n: my @primes := do grep(*.is-prime) <== 2,3,5,7 ... *; say @primes[^20]
02:16 p6eval niecza v24-32-g4b68456: OUTPUT«Unhandled exception: Feed ops NYI␤  at /home/p6eval/niecza/lib/CORE.setting line 1490 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3422 (infix:<<==> @ 4) ␤  at /tmp/sSIW0NTq2i line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting li…
02:17 TimToady r: my @primes := do grep(*.is-prime) <== 2,3,5,7 ... *; say @primes[^20]
02:17 p6eval rakudo 8c0f87: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71␤»
02:17 TimToady there's that...
02:17 TimToady r: my @primes := do grep *.is-prime <== 2,3,5,7 ... *; say @primes[^20]
02:17 p6eval rakudo 8c0f87: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71␤»
02:18 TimToady look ma, no parens!
02:19 TimToady well, 'do' is kind of a super left paren
02:21 TimToady r: my @primes := (grep *.is-prime <== 2,3,5,7 ... *); say @primes[^20]
02:21 p6eval rakudo 8c0f87: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71␤»
02:21 TimToady that's kinda pretty
02:22 census joined #perl6
02:22 TimToady r: my @primes := (2,3,5,7 ... * ==> grep *.is-prime); say @primes[^20]
02:22 p6eval rakudo 8c0f87: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71␤»
02:22 TimToady or that
02:24 census hi! is anybody a ph.d. student or academic?
02:24 TimToady yes, I'm sure someone is.
02:24 TimToady :P
02:24 census thanks.  i just wanted to ask someone advice about something in the c/s field.
02:25 TimToady oh, we don't have to be academic to have lots of advice :)
02:25 census about academic c/s publishing ?
02:26 TimToady well, maybe not about that, but that's arguably a bit off topic, unless you want to publish about Perl 6 :)
02:26 census yea it can be in perl6.
02:27 census i just wanted to understand the incenties for a developer in say perl6 to publish in academic journals
02:27 TimToady jeffreykegler is one of our more academic folks who shows up here periodically
02:29 census oh ok thanks!
02:30 TimToady but I suspect most of the folks here don't have much incentive to publish in a journal
02:31 census i did not think so
02:31 census but i don't understand why or what academic c/s people publish
02:31 TimToady I have a son who publishes physics papers, but that's a whole different ballgame.
02:31 census yes physics i can understand
02:32 labster I assume they publish so they can get grant funding like every other field.
02:34 census here is the issue i'm having.
02:34 census i'm not sure how many of you are aware of the project that i'm doing.
02:34 census but i have spoken to some c/s people about it
02:35 census i mean some academic c/s people who have worked on this issue, i think theoretically (but maybe i'm mistaken)
02:35 census i want a solution that i can implement even in perl6
02:35 census perl6.  r.  something open source or at least that i can somewhat follow
02:35 labster http://c2.com/cgi/wiki?PerlSix  So, when is Perl 6 going to be able to convert Python into C?
02:36 * geekosaur doesn't think ;login: counts, not that he's planning to submit anything in the near future
02:36 census 2 people have said that maybe they can publish the thing i want programed.
02:36 census i don't see how.  it is not theoretical in anysense.  it would just be an aplication of an algorithm i suppose. i have no idea.
02:37 census but in the fields i'm more familiar with, this would not be a very good publication at all.  but maybe c/s works differently?
02:37 labster Applications of old algorithms in new fields is still a useful form of scientific discovery.
02:37 census i'm just supplying the dataset.
02:38 census in the fields i know, running an old algorithm on a new data set would not be very interesting unless that dataset were just amazingly different from anything ever seen before
02:38 census even if it is only mildly different it would not be very well regarded i believe
02:39 labster Computer Science departments tend to be less theoretical and more focused on engineering and practical applications, IME.
02:40 labster I mean, much of the CS work seems pretty arcane to me, but it didn't seem quite so theoretical in general compared to my meteorology studies.
02:40 census so what are you implying?  that just using the data set i'm providing can be of great value to a c/s person?
02:41 census it just seems odd.  like it should not be hard to find good data sets if that is the limiting factor . . .
02:41 census but maybe that is odd only to me because i work with data sets all of the tiem?
02:41 labster If it's just a dataset, probably not.  If the dataset represents a new application, then people might be interested in how well it works.
02:42 census i cannot see how it coudl be a new application, but i'm not in c/s. . .
02:43 census i mean the dataset i'm using does not seem that special (although i think it is for the historical application i have in mind).
02:43 census but that is only because it has certain variables in it.
02:43 census nothing to do with the c/s application.
02:44 labster Well, currently your question is still vague enough that maybe this would be a good question for slashdot or reddit.
02:44 census which question in particular?
02:45 census basically i'm wondering if my dataset is just that cool that i shoudl be advertising it for potential c/s coauthors ?
02:45 census i am doutbful of that . .
02:45 census it just doesn't add up to me
02:46 TimToady sounds more like a sociology paper to me...  :)
02:46 census well i'm working on some record linkage stuff
02:46 labster /r/compsci?
02:47 TimToady records of social interactions?  :)
02:47 census no.
02:47 census it is a bigger deal in bioinformatics
02:47 census and people have programemd stuff in perl actually
02:47 census like in bioinformatics the application is for medical stuff
02:47 TimToady oh, well, then it sounds more like a biology paper
02:47 census like you have a doctor record at one hospital and you want to link that to the electronic record at another hospital
02:47 census but i want to apply the record linkage to the census to study some historical questions
02:48 TimToady .oO("How Perl Saved the Human Genome Project")
02:48 census and i just know how i shoudl be linking . . .
02:48 labster Actually, more of a history paper, since census' work is geneaology-related.
02:49 census yep! :)
02:49 TimToady it just sounds to me more like a paper for whoever would be interested in the results, not the means
02:49 census but anyways. . . 2 c/s people told me that we should write a paper together on the c/s part of the record linkage.
02:49 census independent of the historical application for which i intend to use the linkage for
02:50 census one of the issues is that it is hard to discern the name.
02:50 TimToady well, maybe you should, but then your c/s folks probably have more of an idea of what publishing in that field is like
02:50 census the name is listed as a 24-character string
02:50 census and with typos--of which there are many--it is sometimes hard to find where the first name begins and what that first name is
02:51 census this guy told me it woudl be a good aplication of his string comparison algorithm
02:52 labster That sounds like a new algorithm, which is definitely paperable.
02:52 labster If paperable is a word.
02:52 census what?!?
02:52 census i did not write the alogirthm though
02:52 census i am just supplying data.
02:54 adu joined #perl6
02:58 census i'll be back.
02:58 census thank you for teh advice
03:00 cognominal joined #perl6
03:08 census joined #perl6
03:10 census labster: so, you are saying there may be a c/s application to this work?
03:11 orafu joined #perl6
03:17 labster census: maybe.  but why don't you ask a CS professor?
03:17 census i don't know one.  that is why i asked if one was here.
03:17 diakopter what exactly is the question
03:19 census i have a project that i've been working on.  it is as an historian.  but i need to use perl to do some data work
03:19 census there are 2 steps i am struggling with.
03:19 census i contacted some c/s people i found over the internet who seem to have worked on this sort of thing.
03:20 census and 2 of them responded that maybe we can get a publication out of this.
03:20 census i was just not sure how or why.
03:20 diakopter out of what
03:20 census i guess the programming quandry i'm facing ?
03:21 census you mean you want to hear specifically what it is?
03:21 census (i would gladly share)
03:21 diakopter sure why not
03:21 census the first one:
03:22 census i have a data set that provides the name -- first name and last name -- within a 24-character string
03:22 census usually as last name (in caps) a space and then the first name
03:22 census but there are many typgraphical errors and spaces all over the place in some of the names, making it difficult to spot where the first name begins and what the first name is.
03:23 census For example: SM TH BE JAM N is Benjamin Smith.
03:23 census Not SM as last name, TH as first name.
03:23 census I know that is likely because Smith is such a common last name and Benjamin is such a common first name.
03:24 census But imagine: JOHNSO BENJAMIN: That is probably a typo for Benjamin Johnson, rather than Benjamin Johnso.
03:24 census I went through the census -- which is 100% count of the population -- and attempt to get counts of all first names and all last names
03:24 census so I know that Johnso appears very infrequently but Johnson so frequently that Johnso is probably a typo.
03:26 cognominal joined #perl6
03:26 diakopter have you found a list of known names and frequencies?
03:27 census no.  i assembled it.
03:27 diakopter you wrote it yourself?
03:27 census i used the census, which is 100% of the population (it should be)
03:27 census and i queried nearly every string combination under the sun
03:27 census yes, i wrote a script to do this.
03:28 jaldhar_ joined #perl6
03:29 census but i don't have a good system of using these frequencies or string comparison algorithms to do much with the 24-character string
03:30 census i've been doing it very ad hoc.  almost going through it one at a time.  very unscentific.
03:30 diakopter are you certain there are always only two names?
03:31 census what do you mean by 2 names?
03:31 diakopter first and last
03:31 census i've checked nearly 1 million.
03:31 census oh no.  there can be more than 2
03:31 census middle name can be there.
03:31 census JR (suffix) can be there
03:31 diakopter heh, ok.
03:31 census some last names are more than 2 words
03:32 census you can have a name like Zachary Running Wolf.  and Running Wolf is the last name
03:32 census lots of crazy combination
03:32 census and the typos are crazy too
03:32 census typos like SMITHABENJAMIN = Benjamin Smith
03:32 census Zachary Earl Wolf could be Earl as a middle name, Wolf as a last name
03:35 cognominal joined #perl6
03:35 diakopter do you have any information about where the names came from? or what population they represent?
03:35 census i just thought this was an issue i have to tackle.  i have trouble conceiving how this can be of academic c/s interest but i do not know the c/s field at all
03:36 census diakopter: like do i know the race of the individual? yes
03:36 census in fact, i know enough about the person, that i shoudl be able to find them in the census if their demographic information is unique enough
03:38 diakopter https://cdc.confex.com/cdc/responses/irc2002/83.pdf
03:38 diakopter there's a list of resources at the end
03:39 diakopter http://nlp.stanford.edu/software/CRF-NER.shtml
03:39 diakopter there you go
03:40 diakopter just paste your list into their online demo
03:41 diakopter http://scholar.google.com/scholar?q=named+entity+recognition
03:41 census Thank you for finding this!! :)
03:42 census Am I applying it incorrectly?
03:42 census http://nlp.stanford.edu:8080/ner/process
03:42 census I went to there for the online demo
03:42 census I tried: SM TH BEN IM N
03:45 diakopter so.. your extraneous spaces are going to make it somewhat more interesting.. you might want to try all letters in all spaces, including blank, and see which ones are closest to names using something like this http://search.cpan.org/~bkb/Text-Fuzzy-0.07/lib/Text/Fuzzy.pod
03:45 diakopter gtg; l8r &
03:49 census thank you!! :)
03:51 lue r: try {die "42"; CATCH { say $!.WHAT }}
03:51 p6eval rakudo 8c0f87: OUTPUT«Can only use get_what on a SixModelObject␤  in block  at /tmp/PZ5L6oW1y2:1␤  in block  at /tmp/PZ5L6oW1y2:1␤␤»
03:53 * lue files rakudobug
03:54 colomon n: try {die "42"; CATCH { say $!.WHAT }}
03:54 p6eval niecza v24-32-g4b68456: OUTPUT«(Any)␤»
03:54 lue r: say $!.WHAT
03:54 p6eval rakudo 8c0f87: OUTPUT«(Any)␤»
04:15 mberends joined #perl6
04:46 quester joined #perl6
04:53 preflex_ joined #perl6
05:46 adu joined #perl6
06:00 LlamaRider joined #perl6
06:05 LlamaRider diakopter: Seeing you mentioned Text::Fuzzy, is anything like it native in Perl6? If not, this might be fun for me to port to P6.
06:06 diakopter http://modules.perl6.org/ everything's there
06:06 LlamaRider Yeah, I checked it before writing, there is nothing matching "fuzzy" on that page
06:07 diakopter well, you can use Text-Levenshtein to make one
06:09 LlamaRider I guess that might be the saner strategy than port the CPAN module... It has no dependencies and uses a bunch of XS to get things done.
06:09 LlamaRider thanks!
06:32 xinming joined #perl6
06:34 Leonis joined #perl6
07:48 ObseLeTe joined #perl6
07:57 cognominal joined #perl6
08:02 cognominal__ joined #perl6
08:06 nwc10 jnthn: the usual at 2a77c202a085416635a8e
08:08 cognominal__ joined #perl6
08:15 Infamous joined #perl6
08:27 Heather joined #perl6
08:35 cognominal__ joined #perl6
08:36 Gwyxx joined #perl6
08:42 cognominal__ joined #perl6
08:48 census joined #perl6
08:50 xinming joined #perl6
09:05 cognominal__ joined #perl6
09:09 census_ joined #perl6
09:13 wk_ joined #perl6
09:19 woolfy joined #perl6
09:23 donaldh joined #perl6
09:37 snearch joined #perl6
09:43 wk joined #perl6
09:53 cognominal joined #perl6
10:03 cognominal joined #perl6
10:05 araujo joined #perl6
10:05 araujo joined #perl6
10:09 grondilu joined #perl6
10:10 grondilu r: https://gist.github.com/grondilu/5123715
10:10 p6eval rakudo 8c0f87: OUTPUT«2 Nil␤»
10:11 grondilu ^ this works better if I replace 'callwith' with 'erat' (the name of the multi).  I don't understand why.
10:12 grondilu r: multi foo(Str $msg) { say $msg }; multi foo { callwith("hello") }; foo;
10:12 p6eval rakudo 8c0f87:  ( no output )
10:13 grondilu n: multi foo(Str $msg) { say $msg }; multi foo { callwith("hello") }; foo;
10:13 p6eval niecza v24-32-g4b68456: OUTPUT«Unhandled exception: Cannot call &foo; none of these signatures match:␤    Str␤    Any␤  at /tmp/Q9Ikd8GQJU line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4285 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4286 (module-C…
10:13 grondilu What am I missing here?
10:15 masak grondilu: jnthn will be able to answer better, but...
10:16 masak grondilu: something like "the dispatcher has already discarded the 'Str' candidate at that point".
10:20 masak (g'm' #perl6)
10:28 wk joined #perl6
10:48 cognominal joined #perl6
11:03 sorear good masak
11:05 jnthn afternoon o/
11:06 jnthn grondilu: It's what masak said. callwith doesn't redispatch, it walks the current set of candidates.
11:06 jnthn As in, the candidates that could satisfy the original arguments.
11:13 cognominal joined #perl6
11:15 SamuraiJack joined #perl6
11:21 cognominal joined #perl6
11:31 dalek niecza: fc6d5fd | (Solomon Foster)++ | lib/CORE.setting:
11:31 dalek niecza: Get rid of tabs.
11:31 dalek niecza: review: https://github.com/sorear/niecza/commit/fc6d5fdbb3
11:32 masak grondilu: because of the way 'callwith' works, it's often a good idea to replace it with the name of the multi.
11:33 masak grondilu: or, if you want to avoid repetition, I guess &*ROUTINE works well, too.
11:33 sorear &?ROUTINE will _not_ work in niecza
11:33 sorear it sees the candidate, not the multi
11:33 masak aww
11:34 sorear r: &?ROUTINE
11:34 p6eval rakudo 8c0f87: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared name:�    &?ROUTINE used at line 1��»
11:34 sorear r: sub { &?ROUTINE }
11:34 p6eval rakudo 8c0f87:  ( no output )
11:34 sorear rn: multi foo(Str) { say "hi" }; multi foo(Int) { foo("moo") }; foo(3)
11:34 p6eval rakudo 8c0f87, niecza v24-32-g4b68456: OUTPUT«hi␤»
11:35 sorear rn: multi foo(Str) { say "hi" }; multi foo(Int) { &?ROUTINE("moo") }; foo(3)
11:35 p6eval niecza v24-32-g4b68456: OUTPUT«Unhandled exception: Nominal type check failed in binding '' in 'foo'; got Str, needed Int␤  at /tmp/CVo3aWemNa line 0 (foo @ 1) ␤  at /tmp/CVo3aWemNa line 1 (foo @ 4) ␤  at /tmp/CVo3aWemNa line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting l…
11:35 p6eval ..rakudo 8c0f87: OUTPUT«Nominal type check failed for parameter ''; expected Int but got Str instead␤  in sub foo at /tmp/V69zC83wOW:1␤  in sub foo at /tmp/V69zC83wOW:1␤  in block  at /tmp/V69zC83wOW:1␤␤»
11:35 sorear rn: multi foo(Str) { say "hi" }; multi foo(Int) { callwith("moo") }; foo(3)
11:35 p6eval niecza v24-32-g4b68456: OUTPUT«Unhandled exception: No next function to call!␤  at /home/p6eval/niecza/lib/CORE.setting line 1528 (callwith @ 5) ␤  at /tmp/EGLYAnF1x7 line 1 (foo @ 4) ␤  at /tmp/EGLYAnF1x7 line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4285 (ANON …
11:35 p6eval ..rakudo 8c0f87:  ( no output )
11:35 sorear well, we seem to have partial agreement
11:35 sorear what's rakudo doing?  did the segfault catcher in p6eval break?
11:36 sorear rn: multi foo(Str) { say "hi" }; multi foo(Int) { callwith("moo") }; foo(3); say "got here"
11:36 p6eval niecza v24-32-g4b68456: OUTPUT«Unhandled exception: No next function to call!␤  at /home/p6eval/niecza/lib/CORE.setting line 1528 (callwith @ 5) ␤  at /tmp/Nwi1qXtLXy line 1 (foo @ 4) ␤  at /tmp/Nwi1qXtLXy line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4285 (ANON …
11:36 p6eval ..rakudo 8c0f87: OUTPUT«got here␤»
11:36 sorear rn: multi foo(Str) { say "hi" }; multi foo(Int) { callwith("moo") }; say foo(3);
11:36 p6eval rakudo 8c0f87: OUTPUT«Nil␤»
11:36 p6eval ..niecza v24-32-g4b68456: OUTPUT«Unhandled exception: No next function to call!␤  at /home/p6eval/niecza/lib/CORE.setting line 1528 (callwith @ 5) ␤  at /tmp/fYzLNy3nvL line 1 (foo @ 4) ␤  at /tmp/fYzLNy3nvL line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4285 (ANON …
11:36 sorear is that spec?  would be a very straightforward niecza change if so
11:38 kaare__ joined #perl6
11:42 FROGGS_ ha: "Unmarshallable foreign language value passed for parameter '$_'"
11:42 FROGGS_ interesting error msg
11:47 jnthn sorear: We've been back and forth on "should callwith die when there's no next candidate" more than once. I think the current view, as Rakudo has it, is "no, it shouldn't die"
11:48 jnthn masak has, in his time filing tickets, managed to file tickets complaining about it both complaining and not complianing :P
11:48 jnthn *complaining
11:50 * masak , for one, is not surprised
11:50 masak just try to file 1500 tickets yourself, and see if you can keep track of them all! :P
11:51 masak it's like a CAP theorem. ask me to be available and partitionable (clones again), but don't ask me to be consistent :)
11:53 masak fwiw, 'callnext' and 'callwith' not giving an error feels consistent with the way 'next' works in loops.
11:54 jnthn ah, that's a good way of looking at it
11:57 masak but I'm not savvy enough about the latest callnext/callwith semantics to know whether the similarity holds up across the board.
11:57 masak it would if what the dispatcher is doing is basically iterating through a set of candidates, calling them in order.
11:58 jnthn That's conceptually what you're doing, yes
11:58 masak how closely does this match with what the LTM is doing when it's testing candidates, ooc?
11:58 masak I know the LTM is using custom code and not 'callnext'.
11:59 masak but conceptually, how close are these two things?
12:00 jnthn Fairly. The NFA builds an ordered candidate list to try, and then we try the things in order.
12:01 FROGGS r: my $rex='rex'; say "Rex" ~~ m:i/$rex/; say "Rex" ~~ m:i/<$rex>/;
12:01 p6eval rakudo 8c0f87: OUTPUT«「Rex」␤␤#<failed match>␤»
12:01 jnthn FROGGS: That's not surprising in a sense.
12:02 jnthn :i affects the regex compilation.
12:02 jnthn Oh, wait
12:02 FROGGS ya, just was a test about a ticket, it is easy to fix IMO
12:02 jnthn I thought you were doing something like <$rex> where $rex was already a regex object.
12:02 jnthn In which case it's a problem.
12:03 FROGGS jnthn: how can I iterate over an ResizableIntegerArray within rakudo's Cursor.pm?
12:03 jnthn But yeah, if you're gonna be compiling the thing on demand, sure, just set the flags.
12:03 FROGGS NFA.run gives me that
12:03 masak FROGGS++ # new NFA guy
12:03 FROGGS :o)
12:03 jnthn FROGGS: while loop, nqp::atpos_i($array, $i) to get an element
12:03 FROGGS k, thanks
12:31 dalek nqp-jvm-prep: ffda411 | jnthn++ | src/org/perl6/nqp/ (2 files):
12:31 dalek nqp-jvm-prep: Add base-64 encoding of serialized output.
12:31 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/ffda4113ca
12:31 dalek nqp-jvm-prep: 7ee241f | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java:
12:31 dalek nqp-jvm-prep: Get endianness right.
12:31 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/7ee241fca8
12:31 dalek nqp-jvm-prep: 6e9482f | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java:
12:31 dalek nqp-jvm-prep: Fix thinko.
12:31 dalek nqp-jvm-prep:
12:31 dalek nqp-jvm-prep: Can now round-trip an empty SC.
12:31 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/6e9482f70c
12:32 colomon \o/
12:33 dalek nqp: 80dfcef | jnthn++ | t/serialization/01-basic.t:
12:33 dalek nqp: Update SC test file to use correct op.
12:33 dalek nqp: review: https://github.com/perl6/nqp/commit/80dfcef41c
12:34 * jnthn is glad there's a reasonable test suite for serialization.
12:36 spider-mario joined #perl6
12:42 jnthn ...apart from the tests use the wrong API all over
12:44 crab2313 joined #perl6
12:47 dalek nqp: fe2575e | jnthn++ | t/serialization/01-basic.t:
12:47 dalek nqp: Use correct API to look in SCs also.
12:47 dalek nqp: review: https://github.com/perl6/nqp/commit/fe2575e0e2
12:48 dalek nqp-jvm-prep: 5c9264f | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
12:48 dalek nqp-jvm-prep: Be more eager about owning STables.
12:48 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/5c9264f0e9
12:48 dalek nqp-jvm-prep: ffbaa3b | jnthn++ | src/org/perl6/nqp/sixmodel/ (2 files):
12:48 dalek nqp-jvm-prep: API consistency.
12:48 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/ffbaa3bbf9
12:48 dalek nqp-jvm-prep: f5c98f8 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6 (3 files):
12:48 dalek nqp-jvm-prep: Serialization of (non-inlined) P6int/P6num/P6str.
12:48 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/f5c98f85a1
12:56 Heather ping'
12:56 Heather is there something who is using cperl mode
12:56 Chillance joined #perl6
12:57 masak I have been, on and off.
12:57 masak mostly during the year I was making myself do everything with Emacs instead of vim :)
13:01 bowtie joined #perl6
13:13 bowtie joined #perl6
13:16 xinming joined #perl6
13:19 bowtie joined #perl6
13:22 dalek nqp-jvm-prep: 784d31f | jnthn++ | src/org/perl6/nqp/sixmodel/ (4 files):
13:22 dalek nqp-jvm-prep: Get inlined P6int/P6num/P6str to serialize.
13:22 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/784d31f3d2
13:22 dalek nqp-jvm-prep: 908bcb4 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque.java:
13:22 dalek nqp-jvm-prep: Serialization of P6opaque instances.
13:22 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/908bcb42fa
13:22 dalek nqp-jvm-prep: b2d6b35 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6OpaqueBaseInstance.java:
13:22 dalek nqp-jvm-prep: Eliminate a warning.
13:22 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/b2d6b35ed3
13:27 ggoebel_ joined #perl6
13:32 jnthn walk, bbiab
13:35 PacoAir joined #perl6
13:37 nyuszika7h joined #perl6
13:52 xuan joined #perl6
13:53 xuan Respected ones: I'm a freshman of perl5. Can I really do some help with perl6?
13:53 tadzik sure
13:54 tadzik there are people here who don't know Perl 5 but contribute to Perl 7
13:54 tadzik erm, Perl 6
13:54 xuan How can I do that?
13:56 tadzik do what, contribute? :
13:56 tadzik :)
13:56 xuan yes
13:56 xuan I wanna do something for it ~
13:56 tadzik you can write a module
13:56 tadzik or help with bugfixing
13:56 xuan i wanna give, not just get~
13:56 tadzik or contribute to the compiler
13:56 tadzik or just use stuff, you're likely to stumble upon bugs
13:57 tadzik that's a very useful contribution, seriously
13:57 xuan I see~ I think the best I can do is to use it~
13:57 xuan en~
13:57 tadzik we, the insiders usually approach things from our own, known, angle; a fresh view on things always helps
13:58 xuan Ok, thanks~ I think I know what I can do to help~
13:58 tadzik great :) Don't hesitate to ask if something is troubling you
13:58 tadzik what other languages do you know?
13:59 xuan actually~ VB
13:59 xuan It‘ an old languages~
14:00 xuan And I am not a good programmer~
14:01 JimmyZ joined #perl6
14:01 JimmyZ 您好,xuan
14:02 xuan You are  Chinese?
14:02 JimmyZ 是的
14:02 xuan Amazing world~
14:03 spider-mario what’s with the ~s? :p
14:03 JimmyZ 这里有几个人懂中文的,一些是大陆的
14:04 masak xuan: 您好!
14:04 xuan 您好~
14:04 masak spider-mario: I think the ~s mark excitement or happiness.
14:04 xuan perl 的世界越来越让我着迷了~
14:05 masak :)
14:05 spider-mario oh, ok. thanks. :D
14:05 spider-mario then most chinese people I meet are happy. :)
14:07 xuan I'm not an IT man. But I love programming~
14:10 xuan See you~guys
14:11 masak o/
14:12 masak "the perl world increasingly fascinates me". me too ;)
14:12 xuan left #perl6
14:15 JimmyZ masak: 前几天你去了中国的哪里了?
14:22 Psyche^ joined #perl6
14:26 masak JimmyZ: 去了北京。我妻子住的城市。
14:27 masak 呵。在#perl6我通常不提,我已经结婚了。
14:28 masak I probably got that wrong in a number of ways... ;)
14:31 bowtie joined #perl6
14:33 masak 请原谅我糟糕的使用您的语言~
14:36 dalek nqp-jvm-prep: 3ee9559 | jnthn++ | src/org/perl6/nqp/sixmodel/KnowHOWBootstrapper.java:
14:36 dalek nqp-jvm-prep: Ensure boot types go in the core SC.
14:36 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/3ee9559f22
14:36 dalek nqp-jvm-prep: 8d205a7 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/VMArray.java:
14:36 dalek nqp-jvm-prep: VMArray serialization.
14:36 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/8d205a7541
14:36 dalek nqp-jvm-prep: 38f58ba | jnthn++ | src/org/perl6/nqp/sixmodel/ (3 files):
14:36 JimmyZ joined #perl6
14:36 dalek nqp-jvm-prep: Get hash serialization in place.
14:36 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/38f58ba17d
14:36 JimmyZ masak: :)
14:37 bowtie joined #perl6
14:38 dalek rakudo/nom: b58945c | jnthn++ | src/Perl6/Grammar.pm:
14:38 dalek rakudo/nom: Sync integer parsing warnings/errors with STD.
14:38 dalek rakudo/nom:
14:38 dalek rakudo/nom: Of note, the one that warns about leading 0 not being octal is now
14:38 dalek rakudo/nom: shown.
14:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b58945c72a
14:39 dalek roast: 3e1f77b | jnthn++ | integration/error-reporting.t:
14:39 dalek roast: Un-todo octal warning test.
14:39 dalek roast: review: https://github.com/perl6/roast/commit/3e1f77bc53
14:44 jnthn Another RT down... :)
14:44 JimmyZ jnthn++
14:47 bowtie joined #perl6
14:50 bowtie joined #perl6
14:51 Heather I'm awake
14:51 Heather masak: and you use vim now? :S
14:52 masak yeah. for a while I used Emacs for prose and vim for coding.
14:52 masak but now it's mostly vim, 'cus I'm lazy.
14:52 masak Heather: you sounded like you had a cperl question.
14:52 Heather yes, it is
14:53 Heather I used to write it here https://github.com/jrockway/cperl-mode/issues/14
14:53 masak "but seems like it doesn't make a sense or I do something wrong" -- I'm sorry, that's not a bug report.
14:54 masak that's more like literary criticism.
14:54 masak please say *what you observe*, and *what you expect*.
14:54 zby_home joined #perl6
14:54 Heather masak: damn, it's my English I think... I expected it will indent brackets as code blocks as well
14:55 masak hence the name, yes :)
14:55 masak if you expect that, you should write it in the issue.
14:55 masak I guess what you observe is that the setting does nothing?
14:55 masak i.e. the behavior is like before?
14:56 Heather at least it doesn't indent the closing bracket
14:56 masak does it do *anything*?
14:56 masak what do you see?
14:56 Heather I don't know, I can't detect any change
14:56 masak right, ok.
14:57 masak if you can, please reword the last line so that it's clear that (a) you expected cperl-indent-parens-as-block to indent the '}' as the block, but (b) it didn't, and you didn't see any other effect either.
14:58 Heather masak: ok
14:59 masak fwiw, this setting variable is mentioned only twice in https://github.com/jrockway/cperl-mode/blob/master/cperl-mode.el
14:59 Heather masak: I was asking emacs people and they say setq is correct way to set customize settings like that so I don't know where to ask more
14:59 * JimmyZ is a vim guy
14:59 dalek rakudo/nom: baa9b00 | thundergnat++ | src/core/Exception.pm:
14:59 dalek rakudo/nom: fix error message typo; associtiave -> associative
14:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/baa9b00fdc
14:59 dalek rakudo/nom: 5a6b52c | jonathan++ | src/core/Exception.pm:
14:59 dalek rakudo/nom: Merge pull request #111 from thundergnat/nom
14:59 dalek rakudo/nom:
14:59 dalek rakudo/nom: Update Exception.pm.  Fix error message typo; associtiave -> associative
14:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5a6b52c5ab
14:59 masak the first time looks like a declaration to me, so it's uninteresting.
14:59 masak so the only interesting mention is the one at 2898.
15:00 census joined #perl6
15:00 spider-mario I use Kate in vi mode
15:00 spider-mario :p
15:00 Heather I also use Kate for some stuff in KDevelop
15:01 Heather but emacs works faster
15:01 masak from what I can glean of the mention at 2898, indentation should work like Heather wants.
15:03 jnthn std: if()
15:03 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'if' used at line 1�Check failed�FAILED 00:01 41m�»
15:03 timotimo oh, it only does the "did you mean to put a space there" when you have a block in a weird position
15:04 timotimo and then it looks back to see if "if" as a routine was used in the prior 5 lines
15:04 Heather masak: well I think I can try to edit el file directly set there t to see if this is anyhow related project
15:04 jnthn timotimo: Yes
15:05 timotimo maybe explain_mistery could also get that check, but that would only help if the whole code still parses until the end, which is unlikely, no?
15:05 jnthn timotimo: RT#73806 tracks that one
15:05 JimmyZ std: if ()
15:05 timotimo or is that helpful for postfix ifs?
15:05 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing block at /tmp/Rivz2aiMT5 line 1 (EOF):�------> [32mif ()[33m�[31m<EOL>[0m�Parse failed�FAILED 00:00 42m�»
15:05 timotimo std: say "what" if(5 + 6 >= 9);
15:05 JimmyZ std: foo ()
15:05 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row at /tmp/eVsMHGFNJb line 1:�------> [32msay "what" [33m�[31mif(5 + 6 >= 9);[0m�    expecting any of:�  infix or meta-infix�    infixed function�       statement modifier loop�        statement_mod_cond�Parse failed�FAILED
15:05 p6eval ..00:00 43m…
15:05 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'foo' used at line 1�Check failed�FAILED 00:00 42m�»
15:05 jnthn timotimo: I was thinking of doing it the way STD does to get the errors
15:06 timotimo i recently tried to port it, but failed
15:06 jnthn timotimo: ah, k. mebbe I'll have a go.
15:06 masak Heather: sounds like a good thing to try.
15:06 isBEKaml joined #perl6
15:06 Heather masak: I did it and get same effect
15:07 timotimo i think the only problem i did have was a) getting the line position of the cursor at that point and b) a really weird parse failure of the grammar code, which i *could not* figure out
15:08 masak Heather: then the problem is the code, not the setting of the variable.
15:08 Heather masak: yes or maybe I understand the setting wrong and it does another thing...
15:11 timotimo jnthn: i have a WIP diff that you can build upon if you wish
15:11 Heather I don't understand why people like to ident closing block bracket
15:13 timotimo jnthn: http://paste.ee/p/zVYsL - there was more code once, but i cut some of it trying to make it parse
15:15 isBEKaml joined #perl6
15:17 masak Heather: me neither.
15:18 Heather fault... I wanted to say that I don't understand why people like to NOT indent it...
15:20 isomorphisms joined #perl6
15:20 timotimo so, you prefer the closing brace to be in the same indent level as the code block it closes?
15:20 jnthn timotimo: Thanks
15:20 isBEKaml OHHAI, #perl6!
15:20 dalek nqp: a3c130b | jnthn++ | t/serialization/01-basic.t:
15:20 dalek nqp: Last few tweaks to 01-basic.t for portability.
15:20 dalek nqp: review: https://github.com/perl6/nqp/commit/a3c130b2dd
15:20 dalek nqp-jvm-prep: f7de85f | jnthn++ | src/org/perl6/nqp/sixmodel/ (3 files):
15:20 dalek nqp-jvm-prep: Final bits to pass all serialization/01-basic.t.
15:20 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/f7de85fe45
15:21 raiph joined #perl6
15:21 masak Heather: because the '}' is not part of the contents of the block, and only the contents are worth indenting? clearly that reason is subjective, but I suspect that's how many people see it.
15:22 isBEKaml jnthn: you push to several repos simultaneously? Sounds like someone who knows teleporting! :P
15:22 jnthn isBEKaml: Shhh! :P
15:22 * isBEKaml oops, it's out guys!
15:24 Heather masak: so I just don't like brackets and like indent based code (alike python) and indented with code closing bracket is yet another empty string after block for me
15:25 timotimo so, a slang should be makable to get rid of closing braces and drop in indentation based blocking a la python?
15:25 masak this gets suggested now and then.
15:25 masak yes, that should be entirely possible.
15:26 isBEKaml Is there any way to specify the number of jobs to run simultaneously in R* builds? something like make -j# but to propagate to parrot, nqp and rakudo?
15:28 timotimo MAKE_OPTIONS or something?
15:28 timotimo but doesn't gnu make at least automatically put that number to the number of cores or something?
15:28 isBEKaml timotimo: an environment variable would also be useful, yes.
15:28 timotimo or is that some makefile generator that does that?
15:28 geekosaur iirc -j without a number uses the number of cores
15:29 isBEKaml the Configure.pl script generates the makefile. So I don't really know how to set it into makefiles.
15:29 timotimo it "doesn't limit", so perhaps it just fires all parallel jobs?
15:30 isBEKaml geekosaur: I'm not sure I want make to automatically do that since some builds in Rakudo can fail if it's too optimistic in parallel builds.
15:30 isBEKaml geekosaur: I'd prefer to let user handle that.
15:31 geekosaur right, that's why there's no automatic parallel, you must specify some form of -j option
15:31 timotimo http://www.gnu.org/software/make/manual/html_node/Environment.html#Environment - this helps?
15:31 timotimo oh, no it doesn't
15:33 dalek nqp-jvm-prep: 71f6d63 | jnthn++ | / (2 files):
15:33 dalek nqp-jvm-prep: Run t/serialization/01-basic.t in selftest.
15:33 dalek nqp-jvm-prep:
15:33 dalek nqp-jvm-prep: Should pass entirely; good to get some more testing of it.
15:33 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/71f6d63c87
15:33 geekosaur you may want $MAKEFLAGS
15:34 dalek nqp: 7151a17 | jnthn++ | t/serialization/02-types.t:
15:34 dalek nqp: Portability changes for t/serialization/02-types.t
15:34 dalek nqp: review: https://github.com/perl6/nqp/commit/7151a17ee9
15:34 timotimo geekosaur: why is it so damn hard to find that in the documentation? :(
15:34 geekosaur because gnu >.>
15:35 arnsholt Oooh, I didn't know about MAKEFLAGS
15:35 isBEKaml MFLAGS or MAKEFLAGS :)
15:35 isBEKaml geekosaur: awesome.
15:36 arnsholt I've been wanting the same thing as isBEKaml as well, just not bad enough to actually figure out how to get it =)
15:36 isBEKaml arnsholt: Heh. Neither am I, but in this case, I'm packaging an R* build for slackware. :)
15:36 isBEKaml (after a couple of years, finally!)
15:42 isBEKaml Be back later, thanks all!
15:51 bowtie_ joined #perl6
16:00 masak I wonder if sometimes it would be nice for collections like lists and sets, to extract all the equivalence classes.
16:01 masak that is, given a collection and an equivalence relation, give me all the equivalence classes.
16:01 masak that's close to but not the same as what .classify does.
16:01 masak .classify takes a mapping, not an equivalence relation.
16:07 masak relatedly, and perhaps more fundamentally, it'd be nice to easily be able to produce the closure of some starting element and some operation.
16:07 masak or a set of operations.
16:10 FROGGS joined #perl6
16:11 TimToady young people these days...
16:11 colomon and their "
16:11 colomon bother
16:11 colomon and their "equivalence classes".  ;)
16:12 TimToady when I was young, we didn't even have mappings, we just had to count on our fingers
16:13 FROGGS jnthn: what is the equivalent of nqp::atpos_i for ResizablePMCArray
16:13 TimToady FROGGS: you should be able to learn that in the equivalence class :)
16:14 FROGGS if jnthn would be the teacher...
16:14 jnthn FROGGS: nqp::atpos :)
16:15 FROGGS ahh, k
16:15 FROGGS :o)
16:17 diakopter FROGGS: in NQP?
16:17 LlamaRider joined #perl6
16:18 FROGGS diakopter: in rakudo's internals
16:19 PacoAir joined #perl6
16:21 FROGGS jnthn: I'm currently trying to make INTERPOLATE NFAish, using the following example:
16:21 FROGGS r: say "abcdef" ~~ /@(<a bc def>)+/
16:21 p6eval rakudo 5a6b52: OUTPUT«「abcdef」␤␤»
16:21 masak r: https://gist.github.com/masak/5124688
16:21 p6eval rakudo 5a6b52: OUTPUT«set(abcd, bacd, acbd, abdc, badc, adbc, dabc, adcb, dacb, acdb, cadb, cdab, cabd, cbad, bcad, cbda, bcda, cdba, dcba, dbca, dcab, bdca, dbac, bdac)␤»
16:21 masak \o/
16:22 FROGGS so this one creates an QAST::Regex( :rxtype<alt>, ... ) containing the three lexcials
16:23 FROGGS when running the nfa, it tells me to try fate 2, then 1, but not 0
16:23 masak just a BFS, really.
16:23 FROGGS because interpolate only gets the @(...), and not the +
16:23 timotimo @s[$p1, $p2].=reverse;  -  this is a perl6 idiom i really like.
16:24 jnthn lexicals? Or literals?
16:24 FROGGS so, I'm thinking that the NFA should get everything within / ... / instead to do the right job
16:24 FROGGS literals
16:24 FROGGS sorry
16:24 jnthn @(<a bc def>)+ parses as just like [@(<a bc def>)]+
16:24 jnthn iiuc
16:24 FROGGS ya, right
16:25 TimToady masak: $set = $set (|) $d;  <-- why not (|)=  ?
16:25 jnthn I'd expect the NFA only give you one candidate ever each time around.
16:25 masak TimToady: didn'a work :(
16:25 FROGGS but the NFA part I am doing is within metachar:sym<rakvar>, and this one doesnt know about the quantifier
16:25 masak r: my $s = set; $s (|)= 5
16:25 p6eval rakudo 5a6b52: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/VbH2WyDu5i:1�------> [32mmy $s = set; $s [33m�[31m(|)= 5[0m�    expecting any of:�        postfix�        infix or meta-infix�        infix stopper�        statement end�        statement modifier�      Ã¢â‚¬Â¦
16:25 jnthn FROGGS: It shouldn't.
16:25 * masak submits rakudobug
16:25 TimToady masak: you should get masak to file a...
16:26 jnthn FROGGS: The quantifier is external to it.
16:26 FROGGS but it tells me to try "e
16:26 masak TimToady: this time, I was faster than that guy! :P
16:26 TimToady n: my $s = set; $s (|)= 5
16:26 FROGGS but it tells me to try "def" for my string "abcdef"
16:26 p6eval niecza v24-33-gfc6d5fd: OUTPUT«Unhandled exception: Cannot coerce 5 to a Set; use set(5) to create a one-element set␤  at /home/p6eval/niecza/lib/CORE.setting line 1490 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2148 (to-set @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting…
16:26 masak Niecza++
16:26 TimToady huh
16:26 masak that's probably a better way to do it.
16:27 jnthn FROGGS: Then it's telling you wrong.
16:27 masak at least if we are serious about sets of sets.
16:27 TimToady n: my $s = set; $s (|)= set 5
16:27 p6eval niecza v24-33-gfc6d5fd:  ( no output )
16:27 jnthn FROGGS: It should end up running the NFA 4 times.
16:27 jnthn FROGGS: And thus call interpolate the 4 times.
16:27 TimToady n: my $s = set; $s (|)= (5,)
16:27 p6eval niecza v24-33-gfc6d5fd:  ( no output )
16:27 TimToady interesting, can coerce a list, but not an item
16:28 jnthn FROGGS: The first time it should just indicate the a, the next time the bc, the next time the def, and the next time nothing which is how the quant knows it's done all it can.
16:28 FROGGS jnthn: hmmm, now that you're saying it.... my example only match stuff that matched at pos 0
16:28 TimToady n: my $s = set; $s (|)= set set 5; say $s.perl
16:28 p6eval niecza v24-33-gfc6d5fd: OUTPUT«set("5")␤»
16:28 FROGGS brb
16:28 TimToady er...
16:29 TimToady that's like wrong, and the whole point of not coercing items to sets is to allow sets of sets, methinks
16:29 masak aye.
16:29 timotimo the stringification is right, though?
16:30 TimToady r: my $s = set; $s = $s (|) set set 5; say $s.perl
16:30 p6eval rakudo 5a6b52: OUTPUT«set("5")␤»
16:30 TimToady also wrong
16:30 TimToady r: my $s = set; $s = $s (|) set set(5).item; say $s.perl
16:30 p6eval rakudo 5a6b52: OUTPUT«set("5")␤»
16:31 timotimo r: say (set set(5)).perl
16:31 p6eval rakudo 5a6b52: OUTPUT«set("5")␤»
16:31 TimToady sets apparently need a lot less flattening in various places
16:31 timotimo hmmhmm.
16:31 masak yeah.
16:32 TimToady I think the constructor may be saying, "Oh, this item is a set, I'll just intersect it"
16:32 TimToady nr: say set(set(5),set(6)).perl
16:32 p6eval rakudo 5a6b52, niecza v24-33-gfc6d5fd: OUTPUT«set("5", "6")␤»
16:32 TimToady wrong and wrong
16:33 masak yeah.
16:33 TimToady nr: say set(set(5).item,set(6).item).perl
16:33 p6eval rakudo 5a6b52, niecza v24-33-gfc6d5fd: OUTPUT«set("5", "6")␤»
16:33 masak I think the implementations that we have are well-meaning but not very clear on the need not to flatten sets.
16:33 TimToady yeah, gotta be the constructor
16:33 masak partly because we're gradually realizing that we do not want that.
16:33 jnthn Is it as with Array where Array.new(...) produces a flattening thing, and and set(...) is like [...] which itemizes?
16:33 * TimToady blames himself for confusing the DWIM with the WAT earlier
16:33 timotimo r: ((5, 6).set.item, (7, 8).set.item).set.perl.say
16:33 p6eval rakudo 5a6b52: OUTPUT«set("5", "6", "7", "8")␤»
16:34 jnthn Set.new(...) # set, flattening, like Array.new
16:34 jnthn set(...) # set, item, like [...
16:34 jnthn ]
16:34 TimToady er, I set intersect above where I meant union, dru
16:34 TimToady dur even
16:34 aindilis joined #perl6
16:35 TimToady *said !?!
16:35 TimToady my keyboard must be going bad...   :)
16:35 spider-mario :D
16:38 * FROGGS .oO( ya, the keyboard )
16:38 FROGGS :o)
16:39 diakopter pmichaud: yer email - he said gentoo I thought
16:40 diakopter pmichaud: also the version of parrot is 33a40fc
16:47 bowtie joined #perl6
16:48 Gwyxx joined #perl6
16:57 SamuraiJack_ joined #perl6
16:58 TimToady nr: sub infix:<whatever> ($a,$b) { say "Whatever!" }; my $x; $x whatever= 42;
16:58 p6eval niecza v24-33-gfc6d5fd: OUTPUT«Potential difficulties:�  $a is declared but not used at /tmp/E2_4guws2A line 1:�------> [32msub infix:<whatever> ([33m�[31m$a,$b) { say "Whatever!" }; my $x; $x wh[0m�  $b is declared but not used at /tmp/E2_4guws2A line 1:�------> [32msub infix:<wha…
16:58 p6eval ..rakudo 5a6b52: OUTPUT«Not enough positional parameters passed; got 0 but expected 2␤  in sub infix:<whatever> at /tmp/FugCbyZfKg:1␤  in block  at src/gen/CORE.setting:12873␤  in block  at /tmp/FugCbyZfKg:1␤␤»
16:58 SamuraiJack_ joined #perl6
16:58 TimToady masak: seems to be a more general problem than just (|)
16:59 TimToady n: sub infix:<whatever> ($,$) { say "Whatever!" }; my $x; $x whatever= 42;
16:59 p6eval niecza v24-33-gfc6d5fd: OUTPUT«Whatever!␤»
16:59 jnthn huh, how's that busted...
17:00 SunilJoshi joined #perl6
17:07 dalek rakudo/nom: d9dc404 | jnthn++ | src/Perl6/Grammar.pm:
17:07 dalek rakudo/nom: Add $*IN_META and use it as STD does.
17:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d9dc4046e6
17:08 dalek roast: f17c27b | jnthn++ | S03-metaops/not.t:
17:08 dalek roast: Unfudge.
17:08 dalek roast: review: https://github.com/perl6/roast/commit/f17c27b3fe
17:10 not_gerd joined #perl6
17:10 not_gerd o/
17:10 adu_ joined #perl6
17:10 not_gerd as supersede is apparantly not implemented in Rakudo, how do I use the metamodel to replace a method?
17:16 jnthn not_gerd: I think the supersede thing isn't actually implemented in the meta-class yet, either.
17:17 TimToady you could wrap a method
17:17 PacoAir joined #perl6
17:17 jnthn That probably is the best workaround at the moment, yes.
17:18 jnthn TimToady: in token infix:lambda, what is the return () if $*IN_REDUCE; about?
17:18 not_gerd thanks
17:19 TimToady jnthn: lemme check, but at a guess, it's a way to fail by returning no cursors
17:20 jnthn TimToady: oh, since reduce can lookahead?
17:21 TimToady probably was a misparse fo something at one time
17:21 jnthn OK
17:21 jnthn Will try and preserve it :)
17:22 PacoAir joined #perl6
17:28 aindilis joined #perl6
17:36 jnthn TimToady: Is a "return self" like in stdstopper indicating a successful match?
17:37 TimToady that would be a zero-width success, yes
17:37 jnthn OK
17:38 TimToady STD assumes all backtracking is done with lazy lists
17:38 jnthn masak: Dunno if you recall...do we have some parsing bug where we look for an infix where we shouldn't?
17:38 TimToady so return () basically just throws away the current continuation
17:38 jnthn I think adding infix:lambda shows it up...
17:40 masak jnthn: I'll check.
17:41 TimToady ah, it's the test for a misplaced lambda that could fool reduce
17:42 jnthn r: sub infix:<> ( ){};
17:42 p6eval rakudo d9dc40: OUTPUT«[31m===[0mSORRY![31m===[0m�Null operator is not allowed�at /tmp/OU9UhApETO:1�------> [32msub infix:<> [33m�[31m( ){};[0m�    expecting any of:�        colon pair�Other potential difficulties:�    Pair with <> really means an empty list, not null string; use…
17:42 masak jnthn: didn't find one.
17:46 jnthn r: sub postfix:{}($a) { say "$a bracey brace" }; 42{}
17:46 p6eval rakudo d9dc40: OUTPUT«===SORRY!===␤Method 'ast' not found for invocant of class 'NQPMu'␤»
17:46 jnthn hm.
17:46 jnthn Not what I was looking for...
17:55 masak hm.
17:55 masak r: sub postfix:<{}>($a) { say "$a bracey brace" }; 42{}
17:55 p6eval rakudo d9dc40: OUTPUT«42 bracey brace␤»
17:55 * masak submits rakudobug
17:56 fgomez joined #perl6
17:56 jnthn masak: That one is fine, no?
17:56 * jnthn sees nothing wrong with the last one
17:57 jnthn The thing I was checking was if the first gives the "can't declare null operator" thing
17:57 jnthn masak: And the previous one is an RT ticket already :)
17:57 jnthn https://rt.perl.org/rt3/Ticket/Display.html?id=114554
17:58 isBEKaml joined #perl6
17:58 masak oh!
17:58 masak was gonna ask ;)
17:59 PacoAir joined #perl6
18:02 PacoAir joined #perl6
18:04 matlads left #perl6
18:05 jnthn r: https://gist.github.com/jnthn/5125077
18:05 p6eval rakudo d9dc40: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    a used at line 2��»
18:05 jnthn masak: https://rt.perl.org/rt3/Ticket/Display.html?id=102690 is the ticket I was looking for
18:06 TimToady n: https://gist.github.com/jnthn/5125077
18:06 p6eval niecza v24-33-gfc6d5fd: OUTPUT«Potential difficulties:�  &c is declared but not used at /tmp/gxN5BpBXw5 line 1:�------> [32mmy %a; sub c [33m�[31m{ }[0m��»
18:06 isBEKaml joined #perl6
18:07 masak jnthn: oh! hehe, I searched for 'infix', and would've found it if moritz++' bug had been merged into mine, not the other way around :P
18:08 jnthn TimToady: Rakudo's stdstopper doesn't do the stuff with endstmt that STDs does. I'm wondering if that is to blame.
18:08 TimToady could well be
18:20 Ulti moritz: am I right in thinking once upon a time you had contact with the BioPerl community?
18:20 lichtkind_ joined #perl6
18:24 jnthn TimToady: Hm, I'm confused. stdstopper seems to be the only thing that sets endstmt to 1, or cares if it's set to 1.
18:24 jnthn TimToady: Everything else sets it to 2 or checks if it's 2.
18:25 jnthn TimToady: Is the setting of it at all in stdstopper an optimization?
18:26 jnthn Also, is there a reason we <?before <stopper>> rather than just <?stopper>
18:33 masak what's the semantic difference between those two?
18:34 jnthn masak: I'm not sure there is one.
18:34 jnthn But I know the <?before ...> form is less efficient...
18:34 jnthn ===SORRY!===
18:34 jnthn Word 'if' interpreted as 'if()' function call;
18:34 jnthn \o/
18:36 not_gerd joined #perl6
18:37 rindolf joined #perl6
18:37 rindolf Hello, all Perl 6 Hackers and Hackeresses.
18:41 masak aloha, rindolf!
18:41 rindolf masak: hi.
18:41 rindolf masak: what's up?
18:42 rindolf masak: happy 1 day after Intl. Woman's Day.
18:42 rindolf masak: every  day of the year is special.
18:43 masak happy 1DAIWD to you too, rindolf.
18:43 masak today my regular kitchen ceiling is up.
18:44 rindolf masak: heh.
18:44 rindolf masak: up is absolute.
18:44 rindolf masak: all is up and up is all.
18:44 * rindolf still summons Chuck Norris to club masak senseless.
18:44 rindolf Because I like it this way.
18:44 masak up is absolute in my block world.
18:45 rindolf masak: OK, what are you working now?
18:45 masak just meaning to look at the production-readiness repo.
18:46 rindolf masak: sounds good.
18:46 rindolf masak: I've written a post to blogs.perl.org.
18:47 masak whee
18:47 rindolf masak: this one - http://blogs.perl.org/users/shlomi_fish/2013/03/ann-my-transition-from-software-developer-to-writerentertaineramateur-philosopherinternet-celebrity.html
18:47 rindolf Sorry for the long topic.
18:47 rindolf I mean the long URL.
18:48 rindolf masak: http://xrl.us/bonezw - get the shorty URL.
18:49 * masak read the post
18:49 masak I don't know what to say :)
18:50 masak good luck following your dreams, I guess.
18:53 cognominal joined #perl6
19:01 PacoAir joined #perl6
19:05 cognominal rindolf: emulating popular TV, people magazine talks, speaking of star wars and star trek are sure markers of places I won't want to be in… I don't feel elitist, I just to enjoy myself with like people.
19:05 rindolf cognominal: what?
19:05 rindolf cognominal: why are you telling me that here?
19:05 rindolf cognominal: that came out of the blue.
19:06 masak because you posted the article here...?
19:06 cognominal that your post does not make any sense to me...
19:06 rindolf cognominal: hmm...
19:06 rindolf cognominal: OK, then maybe I failed.
19:06 rindolf cognominal: other people seem to have understood it.
19:06 rindolf cognominal: which post BTW ? The one on blogs.perl.org ?
19:07 rindolf cognominal: anyway, I'm a geek.
19:07 rindolf cognominal: Star Trek is part of who I am.
19:07 rindolf So is the Hebrew Bible, and Buffy and The Three Musketeers and Sesame Street, and Ozy and Millie and Aesop and a lot of other stuff.
19:08 rindolf cognominal: I think my stories have something for everyone.
19:09 TimToady jnthn: no, stdstopper doesn't test to see if it's 2, it merely tests to see if it exists, so setting it to 1 merely caches the match decision at that point
19:09 fgomez joined #perl6
19:09 rindolf And I hope that with http://www.shlomifish.org/humour/Selina-Mandrake/ , my personal insanity  reached its climax and I will write “saner” (but equally subversive) stories from now on.
19:09 jnthn TimToady: OK
19:09 rindolf cognominal: anyway, feel free to put a comment on blogs.perl.org.
19:09 jnthn TimToady: I got it working and it fixes the parse issue. Got a couple of spectest bustages as a result, however.
19:09 rindolf cognominal: or just read what Eric Sink and Joel on Software wrote.
19:10 TimToady and there is one test for >= 2, but I think that's probably bogus
19:10 jnthn TimToady: As well a couple of passing todos.
19:10 rindolf cognominal: anyway, I don't spend 100% of the time discussing Star Trek or Buffy or other geeky stuff.
19:10 rindolf cognominal: I know a little of everything.
19:12 rindolf TimToady: hi, what's up?
19:14 TimToady got the boys here, with associated spouses (where applicable)
19:18 jnthn std: https://gist.github.com/jnthn/5125371
19:18 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable $z is not predeclared at /tmp/K5SsFj_GYV line 1:�------> [32m<BOL>[33m�[31m$z = [ do { 1 }[0m�Check failed�FAILED 00:00 45m�»
19:18 jnthn std: https://gist.github.com/jnthn/5125371
19:18 p6eval std 86b102f: OUTPUT«ok 00:00 45m␤»
19:19 not_gerd joined #perl6
19:19 jnthn rn: https://gist.github.com/jnthn/5125371
19:19 p6eval rakudo d9dc40:  ( no output )
19:19 p6eval ..niecza v24-33-gfc6d5fd: OUTPUT«Potential difficulties:�  $z is declared but not used at /tmp/atwGOHydDv line 1:�------> [32mmy [33m�[31m$z = [ do { 1 }[0m��»
19:19 jnthn rn: https://gist.github.com/jnthn/5125371
19:19 p6eval niecza v24-33-gfc6d5fd: OUTPUT«2␤»
19:19 p6eval ..rakudo d9dc40: OUTPUT«3␤»
19:19 jnthn TimToady: Is niecza correct on this one?
19:21 * not_gerd sent https://github.com/rakudo/rakudo/pull/112
19:21 not_gerd fixes the Rakudo-side of sockets
19:22 not_gerd no idea if it helps with the reported failures or if that's really a Parrot issue, though
19:27 masak rn: say [1; 2]
19:27 p6eval niecza v24-33-gfc6d5fd: OUTPUT«2␤»
19:27 p6eval ..rakudo d9dc40: OUTPUT«WARNINGS:␤Useless use of constant integer 1 in sink context (line 1)␤2␤»
19:28 masak jnthn: hm, I'd say Niecza is correct.
19:28 masak (in your paste)
19:28 masak '}' at the end of a line induces a ';' -- that's the rule.
19:29 masak doesn't matter if we're in the middle of an expression or not.
19:29 jnthn masak: Yeah. Rakudo things the same as Niecza with my local patches
19:29 masak and so the '+' on the next line is a prefix, not an infix.
19:29 masak jnthn: \o/
19:29 jnthn masak: I ask because there's a spectest that wants it Rakudo's current way
19:29 jnthn masak: And wanted a second opinion before declaring it a bad test
19:29 masak maybe the test is a fossil.
19:30 masak we got the '}\n' rule fairly late.
19:32 TimToady yes, niecza is correct
19:32 TimToady well, it doesn't actually introduce a ;, but it does terminate the statement
19:36 dalek rakudo/nom: a91c1e8 | jnthn++ | src/Perl6/Grammar.pm:
19:36 dalek rakudo/nom: Align end of statement handling with STD.
19:36 dalek rakudo/nom:
19:36 dalek rakudo/nom: Fixes RT#102690 and maybe more.
19:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a91c1e8bb8
19:36 dalek rakudo/nom: 8ea992a | jnthn++ | src/Perl6/Grammar.pm:
19:36 dalek rakudo/nom: Port most of STD's infix:lambda.
19:36 dalek rakudo/nom:
19:36 dalek rakudo/nom: Gives good errors for if(1 < 2) { ... } style mistakes.
19:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8ea992aecf
19:39 masak jnthn++
19:40 Ulti this is quite cool http://vimeo.com/51893508 has anyone made a gource video of perl6 related commits?
19:40 dalek roast: c9de385 | jnthn++ | S04-statements/terminator.t:
19:40 dalek roast: Correct a test.
19:40 dalek roast:
19:40 dalek roast: Also unfudge it for Niecza, which gets it right now it's corrected.
19:40 dalek roast: review: https://github.com/perl6/roast/commit/c9de385220
19:40 dalek roast: c9e8cad | jnthn++ | S0 (2 files):
19:40 dalek roast: Rakudo unfudges.
19:40 dalek roast: review: https://github.com/perl6/roast/commit/c9e8cadf05
19:42 FROGGS Ulti: not that I know, but the perl 5 gource video was pretty cool
19:45 timotimo jnthn: well done :)
19:46 jnthn :)
19:47 timotimo doesn't seem like you could use much of what i had already written, but whatever :)
19:53 raiph joined #perl6
20:03 dalek nqp-jvm-prep: b225f6c | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java:
20:03 dalek nqp-jvm-prep: Implement STable serialization.
20:03 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/b225f6ced2
20:03 dalek nqp-jvm-prep: b3747d7 | jnthn++ | src/org/perl6/nqp/sixmodel/KnowHOWMethods.java:
20:03 dalek nqp-jvm-prep: Set type check cache properly for KnowHOWs.
20:03 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/b3747d7858
20:03 dalek nqp-jvm-prep: 975f9b0 | jnthn++ | src/org/perl6/nqp/sixmodel/ (2 files):
20:03 dalek nqp-jvm-prep: Implement serialization of KnowHOWREPR.
20:03 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/975f9b0657
20:18 GlitchMr niecza on GitHub: "Sorry, this tree took too long to generate."
20:18 GlitchMr Sounds like an error that should never happen, yet it did...
20:18 masak just ask any gardener.
20:19 jnthn It's a difficult world north of the taiga...
20:19 * masak .oO( crouching taiga, hidden permafrost )
20:19 adu_ joined #perl6
20:59 grondilu joined #perl6
21:05 dalek nqp-jvm-prep: ec4d91f | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/KnowHOWAttribute.java:
21:05 dalek nqp-jvm-prep: KnowHOWAttribute serialization.
21:05 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/ec4d91fbc7
21:05 dalek nqp-jvm-prep: cfff5e2 | jnthn++ | src/org/perl6/nqp/sixmodel/ (3 files):
21:05 dalek nqp-jvm-prep: P6opaque REPR data serialization.
21:05 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/cfff5e269e
21:11 masak rn: say (<0 1> xx 5).list.pick(*).join
21:11 p6eval rakudo 8ea992: OUTPUT«0101010101␤»
21:11 p6eval ..niecza v24-33-gfc6d5fd: OUTPUT«0011100101␤»
21:11 masak rn: say (<0 1> xx 5).pick(*).join
21:11 p6eval rakudo 8ea992: OUTPUT«0101010101␤»
21:11 p6eval ..niecza v24-33-gfc6d5fd: OUTPUT«0101011010␤»
21:11 masak I'm with Niecza on this one -- any second opinion?
21:12 * jnthn tries to spot the problem
21:12 SamuraiJack__ joined #perl6
21:13 jnthn Oh...some flattening context thing?
21:13 jnthn rn: say (<0 1> xx 5).flat.pick(*).join
21:13 p6eval rakudo 8ea992: OUTPUT«0011100011␤»
21:13 p6eval ..niecza v24-33-gfc6d5fd: OUTPUT«0100011011␤»
21:13 masak yeah.
21:14 * masak submits rakudobug
21:14 jnthn .oO( If I ever design a language, I am *not* doing flattening this "clever"... )
21:14 timotimo i must admit, flattening seems somewhat confusing
21:15 timotimo at least sometimes
21:17 masak jnthn: we've put in a lot of DWIM but haven't washed out all the WAT ;)
21:18 masak rn: say (<0 1> xx 5).roll
21:18 p6eval rakudo 8ea992, niecza v24-33-gfc6d5fd: OUTPUT«0 1␤»
21:19 masak hm.
21:19 jnthn Well, I'll do the usual thing with flattening related tickets: wait for pmichaud++ to comment on the ticket ;)
21:20 jnthn I suspect this one should do what you expect though.
21:21 dalek nqp-jvm-prep: bb1ccc4 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
21:21 dalek nqp-jvm-prep: Coderefs should have SC set when added to one.
21:21 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/bb1ccc41ce
21:21 dalek nqp-jvm-prep: e972b32 | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java:
21:21 dalek nqp-jvm-prep: Code ref serialization (non-closure case).
21:21 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/e972b323b0
21:21 dalek nqp-jvm-prep: ce2ff53 | jnthn++ | t/serialization/02-types.t:
21:21 dalek nqp-jvm-prep: Add now-passing t/serialization/02-types.t.
21:21 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/ce2ff5357d
21:22 masak but Rakudo and Niecza agree on .roll -- that makes me uncertain about .pick
21:22 masak because I always saw .pick() and .roll() as equivalent in semantics.
21:23 jnthn *nod*
21:26 masak fwiw, my stance is that both .pick and .roll should select items without regard for those pesky nested () thingies in my lists :)
21:26 masak but I have a feeling that if it were completely up to me, those pesky nested () thingies would not be there at all...
21:26 jnthn Trouble with making 01-basic.t and 02-types.t pass is that the next serialization test file is 03-closure.t...
21:26 masak hahaha :)
21:27 masak How Hard Can It Be?(tm)
21:27 timotimo jnthn has been showing us the impossible actually is possible, so i don't see a problem :P
21:27 masak a closure is just a data structure, whose indexing operation strange-loops back into the runtime.
21:28 jnthn Well, this is probably the easier side of the story.
21:28 jnthn I already deserialize them.
21:28 jnthn Where you gotta fix all the stuff up into the right places.
21:28 masak just do the deserialization in reverse!
21:29 jnthn }).get_lexinfo().get_static_code(); ...oh heck, what does that do...
21:29 masak 'lexinfo'... sounds parrotty... :(
21:29 jnthn Yeah
21:29 jnthn oh...
21:29 timotimo is serialisation the last folder of tests that have to be pulled over from nqp to nqp-jvm-prep
21:29 timotimo ?
21:30 * masak .oO( Joker: "Why so serialous?" )
21:30 jnthn timotimo: Well, it and the nqp folder's tests are the major ones.
21:30 yakshavr joined #perl6
21:30 jnthn Yeah, I remember what I did here...
21:32 jnthn Ah, and it's easy to port. Phew.
21:32 timotimo i overcame my lazyness and actually looked ... so qregex and pmc, hll are still missing i guess
21:33 jnthn Well, pmc is Parrot specific.
21:33 timotimo oh, right, parrot magic cookie, no?
21:33 jnthn hll is small and mostly tests stuff in HLL::Compiler, which must be working pretty well or nothing in the self-host would be.
21:33 jnthn And qregex...yes, that one is worth worrying about.
21:34 jnthn But otoh if the grammar/regex compiler are good enough to compile a working NQP parser, I don't think we'll have too many problems in there :)
21:34 jnthn Trying to get the qregex/* to run on nqp-jvm is a good LHF task.
21:34 timotimo ok and hll/ are pretty much empty tests
21:34 jnthn (Not fixing any bugs they show up, just running it.)
21:35 timotimo i have no idea what's there to actually do to run those tests. just copying the test files over?
21:36 jnthn copy tyem over
21:36 jnthn then
21:36 jnthn java -cp 3rdparty/bcel/bcel-5.2.jar;bin;. NQPJVM t/qregex/01-qregex.t # or so
21:38 timotimo well, that seems simple enough, i guess i'll try
21:39 lue hello world o/
21:40 dalek nqp: 9927e00 | jnthn++ | t/serialization/03-closures.t:
21:40 dalek nqp: First pass at 03-closure.t portability.
21:40 dalek nqp:
21:40 dalek nqp: Tests that depend on getting static code-ref need more work.
21:40 dalek nqp: review: https://github.com/perl6/nqp/commit/9927e005a4
21:46 FROGGS damn, this world in between of rakudo and nqp is a bit exhausting
21:47 woolfy left #perl6
21:48 jnthn FROGGS: How so?
21:49 dalek nqp: a95354d | jnthn++ | src/QAST/Operations.nqp:
21:49 dalek nqp: Add nqp::getstaticcode.
21:49 dalek nqp:
21:49 dalek nqp: Abstracts away turning a closure to its original static code ref.
21:49 dalek nqp: review: https://github.com/perl6/nqp/commit/a95354d7df
21:49 dalek nqp: 2acf690 | jnthn++ | t/serialization/03-closures.t:
21:49 dalek nqp: Use nqp::getstaticcode in 03-closures.t.
21:49 dalek nqp: review: https://github.com/perl6/nqp/commit/2acf690861
21:49 FROGGS well, I made thatworking nfa example, which is less then 20 lines or so (including the ast of literals...)
21:49 FROGGS and well, you cant use this code within Cursor.pm, since the types you get are not pure nqp
21:50 FROGGS and right now I always get all fates back from running the nfa, and I dont know why
21:51 FROGGS so I'm trying to declare some vars as Mu, but I see no changes (except for beeing able to iterate of lists created that way)
21:55 jnthn Well, it's typically using := instead of = that tends to help as much as the Mu
21:56 FROGGS hmm, I always use binding there
21:57 jnthn ah, ok
21:57 dalek nqp: 5ba5881 | jnthn++ | t/serialization/03-closures.t:
21:57 dalek nqp: Missed a couple of lex_info uses.
21:57 dalek nqp: review: https://github.com/perl6/nqp/commit/5ba5881c69
21:57 jnthn Feel free to gist me any code that you want me to look at.
22:00 dalek nqp-jvm-prep: c7ef5f0 | jnthn++ | / (4 files):
22:00 dalek nqp-jvm-prep: Implement nqp::getstaticcode.
22:00 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/c7ef5f0bea
22:02 FROGGS jnthn: I will as soon as my temper rises :o)
22:04 jnthn FROGGS: The key rule is that if you make a method call to an NQP method, what comes back is automatically marshalled to a Perl 6 type if possible.
22:04 jnthn FROGGS: An RPA becomes a Parcel.
22:04 FROGGS ya, what if I want to pass it back to nqp land?
22:04 FROGGS just bind it to something Mu-ish?
22:05 timotimo my development computer doesn't even have a javac yet :|
22:05 jnthn Well, no, it's then got the RPA wrapped up.
22:05 jnthn You can pull it out of the Parcel using getattr
22:05 jnthn Note that
22:05 FROGGS aha
22:05 jnthn my Mu $foo := nqp::list(); # gives you an RPA that is safe to pass to NQP
22:06 jnthn There is also a trick if you don't want the auto-marshalling
22:06 jnthn Instead of $obj.foo('bar')
22:06 jnthn do
22:06 jnthn nqp::findmethod($obj, 'foo')($obj, 'bar')
22:06 FROGGS that might be it, because what I pass to mergesubstates is probably wrong
22:06 jnthn Then it won't Perl6-ize the thing that comes back.
22:07 jnthn BTW, are you working on this in the actual setting, or in Perl 6 space?
22:07 jnthn er, in a script?
22:07 FROGGS in Cursor.pm directly
22:07 jnthn Oh, then you're waiting for compiles all the time.
22:07 FROGGS right
22:07 FROGGS 140s
22:07 jnthn Maybe just write a grammar and copy-paste !INTERPOLATE or whatever you're working on into it.
22:07 timotimo there apparently is no javac on linux mint, wtf.
22:08 jnthn And put the code to test into a token in that grammar
22:08 FROGGS k, will try
22:08 jnthn Then normal method dispatch will hit the !INTERPOATE you're hacking on
22:08 jnthn No more recompiles until you're done. :)
22:08 FROGGS cool
22:10 FROGGS nqp::findmethod($obj, 'foo')($obj, 'bar') # how to pass named args?
22:10 jnthn Same way as normal
22:10 jnthn :foo('bar')
22:10 SamuraiJack__ joined #perl6
22:10 FROGGS k
22:10 jnthn for foo => 'bar'
22:15 SamuraiJack joined #perl6
22:19 adu_ joined #perl6
22:21 timotimo hm, i replaced the ; with a : in the classpath for make selftest, but i get java.lang.NoClassDefFoundError: org/perl6/nqp/runtime/CompilationUnit for each of the selftests anyway
22:21 timotimo wasn't that the way to fix it? am i missing something?
22:22 timotimo whoops, missed a ;
22:22 jnthn Does your bin folder contain a bunch of .class files?
22:22 jnthn ah :)
22:23 dalek nqp-jvm-prep/asm_port: d5207b0 | (Donald Hunter)++ | / (15 files):
22:23 dalek nqp-jvm-prep/asm_port: Broken.
22:23 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/d5207b02de
22:23 dalek nqp-jvm-prep/asm_port: 9f4368e | (Donald Hunter)++ | / (6 files):
22:23 dalek nqp-jvm-prep/asm_port: Working asm based P6Opaque.
22:23 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/9f4368e8af
22:23 dalek nqp-jvm-prep/asm_port: 44af9e1 | (Donald Hunter)++ | src/org/perl6/nqp/sixmodel/reprs/P6 (4 files):
22:23 dalek nqp-jvm-prep/asm_port: Remove commented BCEL code.
22:23 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/44af9e1f03
22:23 dalek nqp-jvm-prep/asm_port: 3ea082c | (Donald Hunter)++ | Makefile~:
22:23 dalek nqp-jvm-prep/asm_port: Cleanup
22:23 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/3ea082c2e1
22:26 donaldh_ joined #perl6
22:27 timotimo jnthn: Opcode 'l2i  ' not recognized - is this something i'd fix by changing my environment or pulling a newer version of something?
22:28 jnthn Uh...what...
22:28 jnthn Can you paste me details?
22:28 timotimo you want the "stacktrace"?
22:28 timotimo http://paste.ee/p/rBgHw
22:31 jnthn wtf...
22:31 jnthn What did you run to get what?
22:31 jnthn *that
22:32 jnthn oh, wow
22:32 jnthn I found it
22:32 jnthn how on earth...
22:32 timotimo :D
22:33 FROGGS jnthn: I believe it is working now
22:34 dalek nqp-jvm-prep: 250f868 | jnthn++ | lib/QAST/JASTCompiler.nqp:
22:34 dalek nqp-jvm-prep: Remove spaces that somehow sneaked in.
22:34 dalek nqp-jvm-prep:
22:34 dalek nqp-jvm-prep: timotimo++ for reporting.
22:34 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/250f868c74
22:35 timotimo spaces? wow.
22:37 timotimo i didn't even *see* those spaces in the error message m)
22:37 dalek nqp-jvm-prep: fe1bc10 | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java:
22:37 dalek nqp-jvm-prep: Serialization of cloned code refs.
22:37 dalek nqp-jvm-prep:
22:37 dalek nqp-jvm-prep: Doesn't yet serialize the context, but this is the first half of the
22:37 dalek nqp-jvm-prep: closure serialization and passes a bunch of the 03-closure.t tests.
22:37 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/fe1bc10ab8
22:37 FROGGS timotimo: well, I see 'em now ;o)
22:37 jnthn FROGGS: yay
22:38 jnthn timotimo: For a moment I was fearing a corrupted string heap or something crazy...
22:38 donaldh_ jnthn++ for noticing them so quickly
22:40 dalek Heuristic branch merge: pushed 28 commits to nqp-jvm-prep/asm_port by donaldh
22:48 not_gerd joined #perl6
22:51 not_gerd do lazy lists created via gather/take try to 'pre-fetch' elements?
22:51 not_gerd .say for gather while defined my $line = $*IN.get { take $line }
22:51 not_gerd ^^ blocks until EOF
22:52 not_gerd .say while defined $_ = $*IN.get
22:52 not_gerd ^^ works fine
22:52 jnthn I think for may be trying to batch there...not sure
22:53 timotimo https://github.com/perl6/nqp/blob/master/t/qregex/01-qregex.t#L28 - this line makes the test not run with this error: java.lang.VerifyError: (class: 07C87E64F5266FA1D6501589F887510830833A75, method: qb_25 signature: (Lorg/perl6/nqp/runtime/ThreadContext;Lorg/perl6/nqp/runtime/CodeRef;Lorg/perl6/nqp/runtime/CallSiteDescriptor;[Ljava/lang/Object;)V) Expecting to find long on stack
22:53 jnthn Seem to remember pmichaud++ was looking at something in that area last time he had tuits.
22:53 Ulti what happened in June 2011 to Rakudo is that the introduction of nom?
22:53 Ulti in this gource animation the whole repo just explodes
22:53 FROGGS Ulti: link?
22:53 Ulti I'll render and upload in a bit :)
22:53 FROGGS :o)
22:54 jnthn timotimo: yowser
22:54 not_gerd jnthn: well, batching IO is not really a good idea
22:54 timotimo did that talk by masak in yapc::eu get uploaded yet?
22:54 colomon last time I checked (admittedly months ago) Rakudo's for grabbed elements non-lazily
22:54 FROGGS timotimo: should be, since december or so
22:54 not_gerd (or rather, batching blocking operations)
22:55 timotimo wait, december?
22:55 timotimo this must be a different talk we're talking about
22:55 timotimo maybe not yapc::eu then
22:55 jnthn not_gerd: Yeah, it wants fixing.
22:55 timotimo i'm talking about one at most 2 months old
22:55 jnthn timotimo: Any chance you can golf it a bit?
22:55 jnthn timotimo: Is it just the regex that does it, for example?
22:56 timotimo i can certainly try
22:56 timotimo give me a few days =)
22:56 FROGGS timotimo: you mean the fosdem talk at feb 1st or so?
22:57 timotimo maybe!
22:57 FROGGS no idea about that one
22:58 LlamaRider joined #perl6
23:01 FROGGS timotimo: what was the topic? https://fosdem.org/2013/news/2013-02-05-videos-uploading/
23:01 FROGGS cant find it
23:02 timotimo he did something on perl6, at the end there was a livecoding session
23:02 timotimo jnthn: i removed the **4 part of the regex and made it work that way
23:03 timotimo haha, what
23:04 timotimo i'm currently confused by this.
23:05 timotimo okay, with **1 it works, with any other number it fails
23:05 jnthn timotimo: ooh
23:05 jnthn that's a good clue
23:05 jnthn thanks
23:05 timotimo you're welcome :)
23:06 * jnthn isn't cruel enough to now point timotimo at the quantifier compiler :)
23:06 timotimo hahaha :)
23:13 dalek nqp-jvm-prep: 30d9eef | jnthn++ | src/org/perl6/nqp/ (2 files):
23:13 adu_ joined #perl6
23:13 dalek nqp-jvm-prep: Finish up closure serialization.
23:13 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/30d9eef3d2
23:13 dalek nqp-jvm-prep: dc5a013 | jnthn++ | t/serialization/03-closures.t:
23:13 dalek nqp-jvm-prep: Add now-passing t/serialization/03-closures.t.
23:13 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/dc5a01389f
23:18 jnthn nqp-jvm: /a**4/
23:19 p6eval nqp-jvm: OUTPUT«Opcode 'l2i  ' not recognized␤  in opname2code␤  in BUILD␤  in <anon>␤  in BUILDALL␤  in bless␤  in new␤  in <anon>␤  in quant␤  in regex_jast␤  in <anon>␤  in concat␤  in regex_jast␤  in <anon>␤  in concat␤  in regex_jast␤  in as_jast␤  in as_jast␤  in <anon>␤  in compi…
23:19 jnthn timotimo: Turns out the above triggers it
23:19 timotimo ah, yeah
23:19 timotimo also, that nqp-jvm is a bit too old :)
23:19 jnthn Happens in cross-comp too
23:19 jnthn Yeah
23:20 jnthn oh, that l2i is probably bogus
23:21 jnthn There's an lcmp right above it
23:21 jnthn (which leaves an i, not an l, on the stack)
23:21 timotimo oh, so there's a comparison result on the stack rather than a long?
23:21 jnthn yeah
23:21 jnthn Trying deleting that line...suspect it was accidental copy-paste
23:22 jnthn Guess we never quantify anything an absolute number of times anywhere in the NQP grammar... :)
23:22 timotimo that's amusing :)
23:24 timotimo i don't know what "that line" is, anyway
23:25 jnthn Used to be lib/QAST/JASTCompiler.nqp:4227
23:26 jnthn Bother, I did exaclty the same mistake ten or so lines up...
23:26 jnthn In fact, that's probably where I copied the thing from...
23:26 timotimo tee hee
23:29 jnthn ooh, this time in 2 weeks I'll be on a plane heading for a week's afk vacation :)
23:30 dalek perl6-roast-data: 39e7649 | coke++ | / (4 files):
23:30 dalek perl6-roast-data: today (automated commit)
23:30 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/39e7649f3d
23:30 dalek nqp-jvm-prep: e79a20a | jnthn++ | lib/QAST/JASTCompiler.nqp:
23:30 dalek nqp-jvm-prep: Remove bogus type conversion instructions.
23:30 dalek nqp-jvm-prep:
23:30 dalek nqp-jvm-prep: Fixes /a**4/ bug, found by timotimo++.
23:30 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/e79a20a18a
23:31 timotimo now i get a bunch of "not ok $n basic match" and then a Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "main"
23:31 timotimo i'm investigating now
23:31 jnthn OK, commit above should fix the first thing you found at least :)
23:32 mavcunha joined #perl6
23:32 timotimo yes, i applied that manually
23:33 jnthn ah, ok
23:33 timotimo now i'm building a new nqpjvm
23:34 dalek nqp-jvm-prep: 83d173e | jnthn++ | docs/ROADMAP:
23:34 dalek nqp-jvm-prep: Remove serialization from todo list.
23:34 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/83d173e6a2
23:35 timotimo stack overflow errors en masse!
23:35 timotimo one could say: stack overflow overflow
23:37 timotimo seems like an exception is handled and reraised and the same handler re-raises that or something like that
23:37 jnthn oops
23:38 jnthn I'm kinda half way thorugh exception stuff, though.
23:38 jnthn Well, maybe two thirds...
23:38 timotimo in that case i guess i'll wait
23:38 jnthn Well, but it shouldn't be failing like that I guess
23:38 not_gerd left #perl6
23:38 jnthn Does it successfully run any tests?
23:39 timotimo yes, the tests of one file. but these are all "not ok"
23:39 timotimo i'll get some debugging going on now, though
23:40 jac50 joined #perl6
23:40 timotimo SC with handle 8CE216723D9D381371041A6319E5BB581F0064BBalready exists
23:40 timotimo >_<
23:42 timotimo i don't know what.
23:42 jnthn Hm.
23:42 masak 'night, #perl6
23:42 jnthn 'night, masak
23:43 timotimo 'night masak
23:43 FROGGS gnight all
23:43 jnthn o/ FROGGS
23:45 timotimo i do not know how i created a duplicate of that SC
23:45 jnthn timotimo: I'm wondering if the IDs are not unique enough...
23:45 jnthn moment...
23:47 jnthn :my $*W := QRegex::P6Regex::World.new(:handle(nqp::sha1(self.target)));
23:48 jnthn hm.
23:48 timotimo please run sed -i -e 's/"already exists"/" already exists"/' src/org/perl6/nqp/runtime/Ops.java
23:49 adu_ joined #perl6
23:50 dalek nqp-jvm-prep: a5095fd | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
23:50 dalek nqp-jvm-prep: Space-o fix; timotimo++.
23:50 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/a5095fd323
23:50 jnthn timotimo: Looking into the error, on Parrot it silently ignores the duplicate name.
23:50 jnthn timotimo: Thus why we never noticed it before.
23:51 timotimo ah, good to know
23:51 jnthn You can try commenting out that if/throw
23:51 jnthn (the one with the typo fix)
23:51 timotimo hehe, ok
23:51 jnthn To see if that helps
23:52 timotimo i love that kind of fix :)
23:52 jnthn Well, needs a proper one too...
23:53 timotimo null pointer exception, then unhandled exception, category = 1
23:53 timotimo so that fix wasn't good enough
23:53 jnthn Ah
23:54 jnthn OK, think I should rest rather than hunt it tonight.
23:54 timotimo OK, good rest! :)
23:55 jnthn Thanks
23:55 jnthn 'night o/

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

Perl 6 | Reference Documentation | Rakudo