»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:08
xilo left
00:25
Inglorious` left
00:36
obra joined
00:44
cognominal joined
|
|||
lue | would the variable @a be an example of a flattening parameter? | 00:50 | |
01:00
xilo joined
01:03
census_ joined
01:05
census left,
census_ left
01:06
census joined
|
|||
TimToady | what do you mean by "flattening", and what do you mean by "parameter"? | 01:07 | |
depending on either of those, the answer might be "yes" or "no" | 01:08 | ||
lue | I'm reading S02/Parcels, parameters, and Captures, and it doesn't give examples of the opposite of an "argumentative" parameter. | 01:10 | |
TimToady | in that case, @a is not flattening, but *@a is. | 01:11 | |
sub foo (@argument, *@rest) { say "@argument[] and then @rest[]" }; foo (1,2,3), (4,5,6), (7,8,9) | 01:13 | ||
nr: sub foo (@argument, *@rest) { say "@argument[] and then @rest[]" }; foo (1,2,3), (4,5,6), (7,8,9) | |||
p6eval | rakudo 8c0f87, niecza v24-32-g4b68456: OUTPUT«1 2 3 and then 4 5 6 7 8 9» | ||
colomon | TimToady: 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 | ||
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 | |
slurpy flattens parens, but slice doesn't | |||
nr: sub foo (@argument, *@rest) { say "@argument[] and then first frest @rest[0]" }; foo (1,2,3), (4,5,6), (7,8,9) | |||
p6eval | rakudo 8c0f87, niecza v24-32-g4b68456: OUTPUT«1 2 3 and then first frest 4» | ||
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«===SORRY!===Slice parameters NYI at /tmp/FBPg8C33Rj line 1:------> sub foo (@argument, **@rest⏏) { say "@argument[] and then first restUnhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setti… | ||
..rakudo 8c0f87: OUTPUT«1 2 3 and then first rest 4 5 6» | |||
TimToady | see, the parens matter again with the ** | ||
lue | OK, I just misparsed the paragraph is all. Good thing I asked then :) | 01:20 | |
TimToady | colomon: I'd probably write that: my @primes := grep *.is-prime, 2, (3,5,7...*); | 01:21 | |
or my @primes := 2, grep *.is-prime, (3,5,7...*); | 01:22 | ||
my @primes := 2, (3,5,7...*).grep: *.is-prime; ain't so bad either | 01:23 | ||
colomon | fine notion | 01:24 | |
TimToady | nr: my @primes := (2,3,5,7...*).grep: *.is-prime; say @primes[^20] | ||
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» | ||
TimToady | I guess that works too | 01:25 | |
since it only goes on the last 3 | |||
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 | ||
just seems a bit less cluttered that way to me | |||
basically, }); at the end of a line is kind of a smell | 01:30 | ||
another option you can take or leave is turning ([*] ...) into [*](...) | 01:31 | ||
since it's basically just a listop, it can take parens just like a function | 01:32 | ||
but looks pretty good overall | 01:33 | ||
01:34
japhb_ left
01:37
adu joined
|
|||
colomon | TimToady: I stubbornly like the ({ }), actually. | 01:37 | |
The various blah: forms always look wrong to me. | 01:39 | ||
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:09 | |
02:14
FROGGS_ joined
|
|||
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 | ||
n: my @primes := grep(*.is-prime): 2,3,5,7 ... *; say @primes[^20] | |||
p6eval | niecza v24-32-g4b68456: OUTPUT«===SORRY!===Interaction between semiargs and args is not understood at /tmp/mCiDE2efLN line 1:------> rimes := grep(*.is-prime): 2,3,5,7 ... *⏏; say @primes[^20]Unhandled exception: Check failed at /home/p6eval/… | ||
TimToady | love that message | 02:16 | |
colomon | "is not understood" :) | ||
TimToady | n: my @primes := do grep(*.is-prime) <== 2,3,5,7 ... *; say @primes[^20] | 02:17 | |
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… | ||
TimToady | r: my @primes := do grep(*.is-prime) <== 2,3,5,7 ... *; say @primes[^20] | ||
p6eval | rakudo 8c0f87: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71» | ||
TimToady | there's that... | ||
r: my @primes := do grep *.is-prime <== 2,3,5,7 ... *; say @primes[^20] | 02:18 | ||
p6eval | rakudo 8c0f87: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71» | ||
TimToady | look ma, no parens! | ||
02:18
FROGGS left
|
|||
TimToady | well, 'do' is kind of a super left paren | 02:19 | |
02:21
census left
|
|||
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» | ||
TimToady | that's kinda pretty | 02:22 | |
02:22
census joined
|
|||
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» | ||
TimToady | or that | ||
census | hi! is anybody a ph.d. student or academic? | 02:24 | |
TimToady | yes, I'm sure someone is. | ||
:P | |||
census | thanks. i just wanted to ask someone advice about something in the c/s field. | 02:25 | |
02:25
PacoAir left
|
|||
TimToady | oh, we don't have to be academic to have lots of advice :) | 02:25 | |
census | about academic c/s publishing ? | ||
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. | ||
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 | ||
census | oh ok thanks! | 02:29 | |
TimToady | but I suspect most of the folks here don't have much incentive to publish in a journal | 02:30 | |
census | i did not think so | 02:31 | |
but i don't understand why or what academic c/s people publish | |||
TimToady | I have a son who publishes physics papers, but that's a whole different ballgame. | ||
census | yes physics i can understand | ||
labster | I assume they publish so they can get grant funding like every other field. | 02:32 | |
census | here is the issue i'm having. | 02:34 | |
i'm not sure how many of you are aware of the project that i'm doing. | |||
but i have spoken to some c/s people about it | |||
i mean some academic c/s people who have worked on this issue, i think theoretically (but maybe i'm mistaken) | 02:35 | ||
i want a solution that i can implement even in perl6 | |||
perl6. r. something open source or at least that i can somewhat follow | |||
labster | c2.com/cgi/wiki?PerlSix So, when is Perl 6 going to be able to convert Python into C? | ||
02:35
gdey left
|
|||
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. | ||
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. | |||
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 | ||
02:37
adu left
|
|||
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. | ||
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 | ||
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. | ||
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? | ||
it just seems odd. like it should not be hard to find good data sets if that is the limiting factor . . . | 02:41 | ||
but maybe that is odd only to me because i work with data sets all of the tiem? | |||
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. | ||
census | i cannot see how it coudl be a new application, but i'm not in c/s. . . | 02:42 | |
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 | ||
but that is only because it has certain variables in it. | |||
nothing to do with the c/s application. | |||
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? | ||
basically i'm wondering if my dataset is just that cool that i shoudl be advertising it for potential c/s coauthors ? | 02:45 | ||
i am doutbful of that . . | |||
it just doesn't add up to me | |||
TimToady | sounds more like a sociology paper to me... :) | 02:46 | |
census | well i'm working on some record linkage stuff | ||
labster | /r/compsci? | 02:47 | |
TimToady | records of social interactions? :) | ||
census | no. | ||
it is a bigger deal in bioinformatics | |||
and people have programemd stuff in perl actually | |||
like in bioinformatics the application is for medical stuff | |||
TimToady | oh, well, then it sounds more like a biology paper | ||
census | like you have a doctor record at one hospital and you want to link that to the electronic record at another hospital | ||
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") |
||
census | and i just know how i shoudl be linking . . . | ||
labster | Actually, more of a history paper, since census' work is geneaology-related. | 02:49 | |
census | yep! :) | ||
TimToady | it just sounds to me more like a paper for whoever would be interested in the results, not the means | ||
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. | ||
independent of the historical application for which i intend to use the linkage for | |||
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 | ||
census | the name is listed as a 24-character string | ||
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 | |||
this guy told me it woudl be a good aplication of his string comparison algorithm | 02:51 | ||
labster | That sounds like a new algorithm, which is definitely paperable. | 02:52 | |
If paperable is a word. | |||
census | what?!? | ||
i did not write the alogirthm though | |||
i am just supplying data. | |||
02:54
adu joined
02:57
cognominal left
|
|||
census | i'll be back. | 02:58 | |
thank you for teh advice | |||
02:58
census left
03:00
cognominal joined
03:08
census joined
|
|||
census | labster: so, you are saying there may be a c/s application to this work? | 03:10 | |
03:10
orafu left
03:11
orafu joined
|
|||
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. | ||
diakopter | what exactly is the question | 03:18 | |
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 | |
there are 2 steps i am struggling with. | |||
i contacted some c/s people i found over the internet who seem to have worked on this sort of thing. | 03:20 | ||
and 2 of them responded that maybe we can get a publication out of this. | |||
i was just not sure how or why. | |||
diakopter | out of what | ||
census | i guess the programming quandry i'm facing ? | ||
you mean you want to hear specifically what it is? | 03:21 | ||
(i would gladly share) | |||
diakopter | sure why not | ||
03:21
cognominal left
|
|||
census | the first one: | 03:21 | |
i have a data set that provides the name -- first name and last name -- within a 24-character string | 03:22 | ||
usually as last name (in caps) a space and then the first name | |||
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. | |||
For example: SM TH BE JAM N is Benjamin Smith. | 03:23 | ||
Not SM as last name, TH as first name. | |||
I know that is likely because Smith is such a common last name and Benjamin is such a common first name. | |||
But imagine: JOHNSO BENJAMIN: That is probably a typo for Benjamin Johnson, rather than Benjamin Johnso. | 03:24 | ||
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 | |||
so I know that Johnso appears very infrequently but Johnson so frequently that Johnso is probably a typo. | |||
03:26
Chillance left,
cognominal joined
|
|||
diakopter | have you found a list of known names and frequencies? | 03:26 | |
census | no. i assembled it. | 03:27 | |
diakopter | you wrote it yourself? | ||
census | i used the census, which is 100% of the population (it should be) | ||
and i queried nearly every string combination under the sun | |||
yes, i wrote a script to do this. | 03:28 | ||
03:28
jaldhar_ joined
|
|||
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:29 | |
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? | ||
diakopter | first and last | ||
census | i've checked nearly 1 million. | ||
oh no. there can be more than 2 | |||
middle name can be there. | |||
JR (suffix) can be there | |||
diakopter | heh, ok. | ||
census | some last names are more than 2 words | ||
you can have a name like Zachary Running Wolf. and Running Wolf is the last name | 03:32 | ||
lots of crazy combination | |||
and the typos are crazy too | |||
typos like SMITHABENJAMIN = Benjamin Smith | |||
03:32
cognominal left
|
|||
census | Zachary Earl Wolf could be Earl as a middle name, Wolf as a last name | 03:32 | |
03:35
cognominal joined
|
|||
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 | ||
diakopter: like do i know the race of the individual? yes | 03:36 | ||
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 | |||
diakopter | cdc.confex.com/cdc/responses/irc2002/83.pdf | 03:38 | |
there's a list of resources at the end | |||
nlp.stanford.edu/software/CRF-NER.shtml | 03:39 | ||
there you go | |||
just paste your list into their online demo | 03:40 | ||
scholar.google.com/scholar?q=named+...ecognition | 03:41 | ||
census | Thank you for finding this!! :) | 03:42 | |
Am I applying it incorrectly? | |||
nlp.stanford.edu:8080/ner/process | |||
I went to there for the online demo | |||
I tried: SM TH BEN IM N | |||
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 search.cpan.org/~bkb/Text-Fuzzy-0.0.../Fuzzy.pod | 03:45 | |
gtg; l8r & | 03:46 | ||
census | thank you!! :) | 03:49 | |
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» | ||
lue files rakudobug | 03:53 | ||
colomon | n: try {die "42"; CATCH { say $!.WHAT }} | 03:54 | |
p6eval | niecza v24-32-g4b68456: OUTPUT«(Any)» | ||
lue | r: say $!.WHAT | ||
p6eval | rakudo 8c0f87: OUTPUT«(Any)» | ||
04:00
ggoebel_ left
04:12
am0c left
04:15
mberends joined
04:47
quester joined
04:53
preflex_ joined,
preflex left
04:54
preflex_ is now known as preflex
05:43
adu left
05:46
quester left,
adu joined
06:00
LlamaRider joined
|
|||
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:05 | |
diakopter | modules.perl6.org/ everything's there | 06:06 | |
LlamaRider | Yeah, I checked it before writing, there is nothing matching "fuzzy" on that page | ||
diakopter | well, you can use Text-Levenshtein to make one | 06:07 | |
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 | |
thanks! | |||
06:19
LlamaRider left
06:29
skids left
06:30
xinming left
06:32
xinming joined
06:34
Leonis joined
06:40
Leonis left
06:59
adu left
07:02
snarkyboojum_ is now known as snarkyboojum
07:09
araujo left
07:48
ObseLeTe joined
07:51
cognominal left
07:57
cognominal joined
08:02
cognominal left,
cognominal__ joined
|
|||
nwc10 | jnthn: the usual at 2a77c202a085416635a8e | 08:06 | |
08:07
cognominal__ left
08:08
cognominal__ joined
08:15
Infamous joined
08:27
Heather joined
08:30
cognominal__ left
08:33
census left
08:35
cognominal__ joined
08:37
Gwyxx joined
08:41
cognominal__ left
08:42
cognominal__ joined
08:47
isomorphisms left
08:48
census joined
08:49
xinming left
08:50
xinming joined
08:58
cognominal__ left
09:05
cognominal__ joined
09:09
census left,
census_ joined
09:13
wk_ joined
09:14
wk left
09:19
woolfy joined,
donaldh left
09:23
donaldh joined
09:24
wk_ left
09:37
snearch joined
09:43
wk joined
09:47
Uakh left
09:52
cognominal__ left
09:53
cognominal joined,
wk left
09:55
snearch left
09:58
cognominal left
10:03
cognominal joined
10:05
araujo joined
10:09
grondilu joined
|
|||
grondilu | r: gist.github.com/grondilu/5123715 | 10:10 | |
p6eval | rakudo 8c0f87: OUTPUT«2 Nil» | ||
grondilu | ^ this works better if I replace 'callwith' with 'erat' (the name of the multi). I don't understand why. | 10:11 | |
r: multi foo(Str $msg) { say $msg }; multi foo { callwith("hello") }; foo; | 10:12 | ||
p6eval | rakudo 8c0f87: ( no output ) | ||
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… | ||
grondilu | What am I missing here? | ||
10:14
raiph left
10:15
census_ left
|
|||
masak | grondilu: jnthn will be able to answer better, but... | 10:15 | |
grondilu: something like "the dispatcher has already discarded the 'Str' candidate at that point". | 10:16 | ||
(g'm' #perl6) | 10:20 | ||
10:22
ObseLeTe left
10:28
wk joined
10:44
cognominal left
10:48
cognominal joined
|
|||
sorear | good masak | 11:04 | |
jnthn | afternoon o/ | 11:05 | |
grondilu: It's what masak said. callwith doesn't redispatch, it walks the current set of candidates. | 11:06 | ||
As in, the candidates that could satisfy the original arguments. | |||
11:08
cognominal left
11:13
cognominal joined
11:15
SamuraiJack joined
11:19
cognominal left
11:21
cognominal joined
|
|||
dalek | ecza: fc6d5fd | (Solomon Foster)++ | lib/CORE.setting: Get rid of tabs. |
11:31 | |
masak | grondilu: because of the way 'callwith' works, it's often a good idea to replace it with the name of the multi. | 11:32 | |
grondilu: or, if you want to avoid repetition, I guess &*ROUTINE works well, too. | 11:33 | ||
sorear | &?ROUTINE will _not_ work in niecza | ||
it sees the candidate, not the multi | |||
masak | aww | ||
sorear | r: &?ROUTINE | 11:34 | |
p6eval | rakudo 8c0f87: OUTPUT«===SORRY!===Undeclared name: &?ROUTINE used at line 1» | ||
sorear | r: sub { &?ROUTINE } | ||
p6eval | rakudo 8c0f87: ( no output ) | ||
sorear | rn: multi foo(Str) { say "hi" }; multi foo(Int) { foo("moo") }; foo(3) | ||
p6eval | rakudo 8c0f87, niecza v24-32-g4b68456: OUTPUT«hi» | ||
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… | ||
..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» | |||
sorear | rn: multi foo(Str) { say "hi" }; multi foo(Int) { callwith("moo") }; foo(3) | ||
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 … | ||
..rakudo 8c0f87: ( no output ) | |||
sorear | well, we seem to have partial agreement | ||
what's rakudo doing? did the segfault catcher in p6eval break? | 11:36 | ||
rn: multi foo(Str) { say "hi" }; multi foo(Int) { callwith("moo") }; foo(3); say "got here" | |||
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 … | ||
..rakudo 8c0f87: OUTPUT«got here» | |||
sorear | rn: multi foo(Str) { say "hi" }; multi foo(Int) { callwith("moo") }; say foo(3); | ||
p6eval | rakudo 8c0f87: OUTPUT«Nil» | ||
..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 … | |||
sorear | is that spec? would be a very straightforward niecza change if so | ||
11:38
kaare__ joined
|
|||
FROGGS_ | ha: "Unmarshallable foreign language value passed for parameter '$_'" | 11:42 | |
interesting error msg | |||
11:42
FROGGS_ is now known as FROGGS
|
|||
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:47 | |
masak has, in his time filing tickets, managed to file tickets complaining about it both complaining and not complianing :P | 11:48 | ||
*complaining | |||
masak , for one, is not surprised | 11:50 | ||
just try to file 1500 tickets yourself, and see if you can keep track of them all! :P | |||
it's like a CAP theorem. ask me to be available and partitionable (clones again), but don't ask me to be consistent :) | 11:51 | ||
fwiw, 'callnext' and 'callwith' not giving an error feels consistent with the way 'next' works in loops. | 11:53 | ||
jnthn | ah, that's a good way of looking at it | 11:54 | |
11:55
fgomez left
|
|||
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 | |
it would if what the dispatcher is doing is basically iterating through a set of candidates, calling them in order. | |||
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? | ||
I know the LTM is using custom code and not 'callnext'. | |||
but conceptually, how close are these two things? | 11:59 | ||
jnthn | Fairly. The NFA builds an ordered candidate list to try, and then we try the things in order. | 12:00 | |
FROGGS | r: my $rex='rex'; say "Rex" ~~ m:i/$rex/; say "Rex" ~~ m:i/<$rex>/; | 12:01 | |
p6eval | rakudo 8c0f87: OUTPUT«「Rex」#<failed match>» | ||
jnthn | FROGGS: That's not surprising in a sense. | ||
:i affects the regex compilation. | 12:02 | ||
Oh, wait | |||
FROGGS | ya, just was a test about a ticket, it is easy to fix IMO | ||
jnthn | I thought you were doing something like <$rex> where $rex was already a regex object. | ||
In which case it's a problem. | |||
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. | ||
FROGGS | NFA.run gives me that | ||
masak | FROGGS++ # new NFA guy | ||
FROGGS | :o) | ||
jnthn | FROGGS: while loop, nqp::atpos_i($array, $i) to get an element | ||
FROGGS | k, thanks | ||
dalek | p-jvm-prep: ffda411 | jnthn++ | src/org/perl6/nqp/ (2 files): Add base-64 encoding of serialized output. |
12:31 | |
p-jvm-prep: 7ee241f | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java: Get endianness right. |
|||
p-jvm-prep: 6e9482f | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java: Fix thinko. Can now round-trip an empty SC. |
|||
colomon | \o/ | 12:32 | |
dalek | p: 80dfcef | jnthn++ | t/serialization/01-basic.t: Update SC test file to use correct op. |
12:33 | |
jnthn is glad there's a reasonable test suite for serialization. | 12:34 | ||
12:36
spider-mario joined
|
|||
jnthn | ...apart from the tests use the wrong API all over | 12:42 | |
12:44
crab2313 joined
|
|||
dalek | p: fe2575e | jnthn++ | t/serialization/01-basic.t: Use correct API to look in SCs also. |
12:47 | |
p-jvm-prep: 5c9264f | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Be more eager about owning STables. |
12:48 | ||
p-jvm-prep: ffbaa3b | jnthn++ | src/org/perl6/nqp/sixmodel/ (2 files): API consistency. |
|||
p-jvm-prep: f5c98f8 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6 (3 files): Serialization of (non-inlined) P6int/P6num/P6str. |
|||
Heather | ping' | 12:56 | |
is there something who is using cperl mode | |||
12:56
Chillance joined
|
|||
masak | I have been, on and off. | 12:57 | |
mostly during the year I was making myself do everything with Emacs instead of vim :) | |||
13:01
bowtie joined,
Infamous left
13:12
bowtie left
13:13
bowtie joined
13:14
xinming left
13:15
cognominal left
13:16
xinming joined
13:18
bowtie left
13:19
bowtie joined
|
|||
dalek | p-jvm-prep: 784d31f | jnthn++ | src/org/perl6/nqp/sixmodel/ (4 files): Get inlined P6int/P6num/P6str to serialize. |
13:22 | |
p-jvm-prep: 908bcb4 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque.java: Serialization of P6opaque instances. |
|||
p-jvm-prep: b2d6b35 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6OpaqueBaseInstance.java: Eliminate a warning. |
|||
13:27
ggoebel_ joined
|
|||
jnthn | walk, bbiab | 13:32 | |
13:35
PacoAir joined
13:36
nyuszika7h left
13:37
nyuszika7h joined
13:50
wk left
13:52
xuan joined
|
|||
xuan | Respected ones: I'm a freshman of perl5. Can I really do some help with perl6? | 13:53 | |
tadzik | sure | ||
there are people here who don't know Perl 5 but contribute to Perl 7 | 13:54 | ||
erm, Perl 6 | |||
xuan | How can I do that? | ||
tadzik | do what, contribute? : | 13:56 | |
:) | |||
xuan | yes | ||
I wanna do something for it ~ | |||
tadzik | you can write a module | ||
or help with bugfixing | |||
xuan | i wanna give, not just get~ | ||
tadzik | or contribute to the compiler | ||
or just use stuff, you're likely to stumble upon bugs | 13:57 | ||
that's a very useful contribution, seriously | |||
xuan | I see~ I think the best I can do is to use it~ | ||
en~ | |||
tadzik | we, the insiders usually approach things from our own, known, angle; a fresh view on things always helps | ||
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 | ||
what other languages do you know? | 13:59 | ||
xuan | actually~ VB | ||
It‘ an old languages~ | |||
And I am not a good programmer~ | 14:00 | ||
14:01
JimmyZ joined
|
|||
JimmyZ | 您好,xuan | 14:01 | |
xuan | You are Chinese? | 14:02 | |
JimmyZ | 是的 | ||
xuan | Amazing world~ | ||
spider-mario | what’s with the ~s? :p | 14:03 | |
JimmyZ | 这里有几个人懂中文的,一些是大陆的 | ||
masak | xuan: 您好! | 14:04 | |
xuan | 您好~ | ||
masak | spider-mario: I think the ~s mark excitement or happiness. | ||
xuan | perl 的世界越来越让我着迷了~ | ||
masak | :) | 14:05 | |
spider-mario | oh, ok. thanks. :D | ||
then most chinese people I meet are happy. :) | |||
xuan | I'm not an IT man. But I love programming~ | 14:07 | |
See you~guys | 14:10 | ||
masak | o/ | 14:11 | |
"the perl world increasingly fascinates me". me too ;) | 14:12 | ||
14:12
xuan left
|
|||
JimmyZ | masak: 前几天你去了中国的哪里了? | 14:15 | |
14:17
Gwyxx left
14:22
Psyche^ joined
14:23
JimmyZ left
14:25
bowtie left,
Patterner left,
Psyche^ is now known as Patterner
|
|||
masak | JimmyZ: 去了北京。我妻子住的城市。 | 14:26 | |
呵。在#perl6我通常不提,我已经结婚了。 | 14:27 | ||
I probably got that wrong in a number of ways... ;) | 14:28 | ||
14:31
bowtie joined
|
|||
masak | 请原谅我糟糕的使用您的语言~ | 14:33 | |
14:36
bowtie left
|
|||
dalek | p-jvm-prep: 3ee9559 | jnthn++ | src/org/perl6/nqp/sixmodel/KnowHOWBootstrapper.java: Ensure boot types go in the core SC. |
14:36 | |
p-jvm-prep: 8d205a7 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/VMArray.java: VMArray serialization. |
|||
p-jvm-prep: 38f58ba | jnthn++ | src/org/perl6/nqp/sixmodel/ (3 files): Get hash serialization in place. |
|||
14:36
JimmyZ joined
|
|||
JimmyZ | masak: :) | ||
14:38
bowtie joined
|
|||
dalek | kudo/nom: b58945c | jnthn++ | src/Perl6/Grammar.pm: Sync integer parsing warnings/errors with STD. Of note, the one that warns about leading 0 not being octal is now shown. |
14:38 | |
ast: 3e1f77b | jnthn++ | integration/error-reporting.t: Un-todo octal warning test. |
14:40 | ||
jnthn | Another RT down... :) | 14:44 | |
JimmyZ | jnthn++ | 14:45 | |
14:46
bowtie left
14:47
bowtie joined
14:50
bowtie left,
bowtie joined
|
|||
Heather | I'm awake | 14:51 | |
masak: and you use vim now? :S | |||
masak | yeah. for a while I used Emacs for prose and vim for coding. | 14:52 | |
but now it's mostly vim, 'cus I'm lazy. | |||
Heather: you sounded like you had a cperl question. | |||
Heather | yes, it is | ||
I used to write it here 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. | ||
that's more like literary criticism. | 14:54 | ||
please say *what you observe*, and *what you expect*. | |||
14:54
zby_home joined
|
|||
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 :) | ||
if you expect that, you should write it in the issue. | |||
I guess what you observe is that the setting does nothing? | |||
i.e. the behavior is like before? | |||
Heather | at least it doesn't indent the closing bracket | 14:56 | |
masak | does it do *anything*? | ||
what do you see? | |||
Heather | I don't know, I can't detect any change | ||
masak | right, ok. | ||
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:57 | ||
Heather | masak: ok | 14:58 | |
masak | fwiw, this setting variable is mentioned only twice in github.com/jrockway/cperl-mode/blo...rl-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 | ||
JimmyZ is a vim guy | |||
dalek | kudo/nom: baa9b00 | thundergnat++ | src/core/Exception.pm: fix error message typo; associtiave -> associative |
||
kudo/nom: 5a6b52c | jonathan++ | src/core/Exception.pm: Merge pull request #111 from thundergnat/nom Update Exception.pm. Fix error message typo; associtiave -> associative |
|||
masak | the first time looks like a declaration to me, so it's uninteresting. | ||
so the only interesting mention is the one at 2898. | |||
15:00
census joined
|
|||
spider-mario | I use Kate in vi mode | 15:00 | |
:p | |||
Heather | I also use Kate for some stuff in KDevelop | 15:01 | |
but emacs works faster | |||
masak | from what I can glean of the mention at 2898, indentation should work like Heather wants. | ||
jnthn | std: if() | 15:03 | |
p6eval | std 86b102f: OUTPUT«===SORRY!===Undeclared routine: 'if' used at line 1Check failedFAILED 00:01 41m» | ||
timotimo | oh, it only does the "did you mean to put a space there" when you have a block in a weird position | ||
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 | ||
jnthn | timotimo: Yes | ||
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 | ||
JimmyZ | std: if () | ||
timotimo | or is that helpful for postfix ifs? | ||
p6eval | std 86b102f: OUTPUT«===SORRY!===Missing block at /tmp/Rivz2aiMT5 line 1 (EOF):------> if ()⏏<EOL>Parse failedFAILED 00:00 42m» | ||
timotimo | std: say "what" if(5 + 6 >= 9); | ||
JimmyZ | std: foo () | ||
p6eval | std 86b102f: OUTPUT«===SORRY!===Two terms in a row at /tmp/eVsMHGFNJb line 1:------> say "what" ⏏if(5 + 6 >= 9); expecting any of: infix or meta-infix infixed function statement modifier loop statement_mod_condParse failedFAILED | ||
..00:00 43m… | |||
std 86b102f: OUTPUT«===SORRY!===Undeclared routine: 'foo' used at line 1Check failedFAILED 00:00 42m» | |||
jnthn | timotimo: I was thinking of doing it the way STD does to get the errors | ||
timotimo | i recently tried to port it, but failed | 15:06 | |
jnthn | timotimo: ah, k. mebbe I'll have a go. | ||
masak | Heather: sounds like a good thing to try. | ||
15:07
isBEKaml joined
|
|||
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 | ||
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... | ||
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 | ||
timotimo | jnthn: paste.ee/p/zVYsL - there was more code once, but i cut some of it trying to make it parse | 15:13 | |
15:14
isBEKaml left
15:15
isBEKaml joined
|
|||
masak | Heather: me neither. | 15:17 | |
Heather | fault... I wanted to say that I don't understand why people like to NOT indent it... | 15:18 | |
15:20
isomorphisms joined
|
|||
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 | ||
isBEKaml | OHHAI, #perl6! | ||
dalek | p: a3c130b | jnthn++ | t/serialization/01-basic.t: Last few tweaks to 01-basic.t for portability. |
||
p-jvm-prep: f7de85f | jnthn++ | src/org/perl6/nqp/sixmodel/ (3 files): Final bits to pass all serialization/01-basic.t. |
|||
15:21
raiph joined
|
|||
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 | ||
jnthn | isBEKaml: Shhh! :P | ||
isBEKaml oops, it's out guys! | |||
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:24 | |
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. | ||
yes, that should be entirely possible. | |||
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:26 | |
timotimo | MAKE_OPTIONS or something? | 15:28 | |
but doesn't gnu make at least automatically put that number to the number of cores or something? | |||
isBEKaml | timotimo: an environment variable would also be useful, yes. | ||
timotimo | or is that some makefile generator that does that? | ||
geekosaur | iirc -j without a number uses the number of cores | ||
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? | ||
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 | |
geekosaur: I'd prefer to let user handle that. | |||
geekosaur | right, that's why there's no automatic parallel, you must specify some form of -j option | 15:31 | |
timotimo | www.gnu.org/software/make/manual/ht...nvironment - this helps? | ||
oh, no it doesn't | |||
dalek | p-jvm-prep: 71f6d63 | jnthn++ | / (2 files): Run t/serialization/01-basic.t in selftest. Should pass entirely; good to get some more testing of it. |
15:33 | |
geekosaur | you may want $MAKEFLAGS | ||
dalek | p: 7151a17 | jnthn++ | t/serialization/02-types.t: Portability changes for t/serialization/02-types.t |
15:34 | |
timotimo | geekosaur: why is it so damn hard to find that in the documentation? :( | ||
geekosaur | because gnu >.> | ||
arnsholt | Oooh, I didn't know about MAKEFLAGS | 15:35 | |
isBEKaml | MFLAGS or MAKEFLAGS :) | ||
geekosaur: awesome. | |||
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. :) | ||
(after a couple of years, finally!) | |||
Be back later, thanks all! | 15:42 | ||
15:42
isBEKaml left
15:44
isomorphisms left
15:47
FROGGS left
15:51
bowtie_ joined
|
|||
masak | I wonder if sometimes it would be nice for collections like lists and sets, to extract all the equivalence classes. | 16:00 | |
that is, given a collection and an equivalence relation, give me all the equivalence classes. | 16:01 | ||
that's close to but not the same as what .classify does. | |||
.classify takes a mapping, not an equivalence relation. | |||
16:02
JimmyZ left
|
|||
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 | |
or a set of operations. | 16:08 | ||
16:10
FROGGS joined
|
|||
TimToady | young people these days... | 16:11 | |
colomon | and their " | ||
bother | |||
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 | ||
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 :) | ||
FROGGS | if jnthn would be the teacher... | 16:14 | |
jnthn | FROGGS: nqp::atpos :) | ||
FROGGS | ahh, k | 16:15 | |
:o) | |||
diakopter | FROGGS: in NQP? | 16:17 | |
16:17
LlamaRider joined,
PacoAir left
|
|||
FROGGS | diakopter: in rakudo's internals | 16:18 | |
16:19
PacoAir joined
|
|||
FROGGS | jnthn: I'm currently trying to make INTERPOLATE NFAish, using the following example: | 16:21 | |
r: say "abcdef" ~~ /@(<a bc def>)+/ | |||
p6eval | rakudo 5a6b52: OUTPUT«「abcdef」» | ||
masak | r: gist.github.com/masak/5124688 | ||
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)» | ||
masak | \o/ | 16:22 | |
FROGGS | so this one creates an QAST::Regex( :rxtype<alt>, ... ) containing the three lexcials | ||
when running the nfa, it tells me to try fate 2, then 1, but not 0 | 16:23 | ||
masak | just a BFS, really. | ||
FROGGS | because interpolate only gets the @(...), and not the + | ||
timotimo | @s[$p1, $p2].=reverse; - this is a perl6 idiom i really like. | ||
jnthn | lexicals? Or literals? | 16:24 | |
FROGGS | so, I'm thinking that the NFA should get everything within / ... / instead to do the right job | ||
literals | |||
sorry | |||
jnthn | @(<a bc def>)+ parses as just like [@(<a bc def>)]+ | ||
iiuc | |||
FROGGS | ya, right | ||
TimToady | masak: $set = $set (|) $d; <-- why not (|)= ? | 16:25 | |
jnthn | I'd expect the NFA only give you one candidate ever each time around. | ||
masak | TimToady: didn'a work :( | ||
FROGGS | but the NFA part I am doing is within metachar:sym<rakvar>, and this one doesnt know about the quantifier | ||
masak | r: my $s = set; $s (|)= 5 | ||
p6eval | rakudo 5a6b52: OUTPUT«===SORRY!===Two terms in a rowat /tmp/VbH2WyDu5i:1------> my $s = set; $s ⏏(|)= 5 expecting any of: postfix infix or meta-infix infix stopper statement end statement modifier … | ||
jnthn | FROGGS: It shouldn't. | ||
masak submits rakudobug | 16:26 | ||
TimToady | masak: you should get masak to file a... | ||
jnthn | FROGGS: The quantifier is external to it. | ||
FROGGS | but it tells me to try "e | ||
masak | TimToady: this time, I was faster than that guy! :P | ||
TimToady | n: my $s = set; $s (|)= 5 | ||
FROGGS | but it tells me to try "def" for my string "abcdef" | ||
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… | ||
masak | Niecza++ | ||
TimToady | huh | ||
masak | that's probably a better way to do it. | 16:27 | |
jnthn | FROGGS: Then it's telling you wrong. | ||
masak | at least if we are serious about sets of sets. | ||
TimToady | n: my $s = set; $s (|)= set 5 | ||
p6eval | niecza v24-33-gfc6d5fd: ( no output ) | ||
jnthn | FROGGS: It should end up running the NFA 4 times. | ||
FROGGS: And thus call interpolate the 4 times. | |||
TimToady | n: my $s = set; $s (|)= (5,) | ||
p6eval | niecza v24-33-gfc6d5fd: ( no output ) | ||
TimToady | interesting, can coerce a list, but not an item | ||
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 | ||
TimToady | n: my $s = set; $s (|)= set set 5; say $s.perl | ||
p6eval | niecza v24-33-gfc6d5fd: OUTPUT«set("5")» | ||
FROGGS | brb | ||
TimToady | er... | ||
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. | ||
timotimo | the stringification is right, though? | ||
TimToady | r: my $s = set; $s = $s (|) set set 5; say $s.perl | 16:30 | |
p6eval | rakudo 5a6b52: OUTPUT«set("5")» | ||
TimToady | also wrong | ||
r: my $s = set; $s = $s (|) set set(5).item; say $s.perl | |||
p6eval | rakudo 5a6b52: OUTPUT«set("5")» | ||
timotimo | r: say (set set(5)).perl | 16:31 | |
p6eval | rakudo 5a6b52: OUTPUT«set("5")» | ||
TimToady | sets apparently need a lot less flattening in various places | ||
timotimo | hmmhmm. | ||
masak | yeah. | ||
TimToady | I think the constructor may be saying, "Oh, this item is a set, I'll just intersect it" | 16:32 | |
nr: say set(set(5),set(6)).perl | |||
p6eval | rakudo 5a6b52, niecza v24-33-gfc6d5fd: OUTPUT«set("5", "6")» | ||
TimToady | wrong and wrong | 16:33 | |
masak | yeah. | ||
TimToady | nr: say set(set(5).item,set(6).item).perl | ||
p6eval | rakudo 5a6b52, niecza v24-33-gfc6d5fd: OUTPUT«set("5", "6")» | ||
masak | I think the implementations that we have are well-meaning but not very clear on the need not to flatten sets. | ||
TimToady | yeah, gotta be the constructor | ||
jnthn | Is it as with Array where Array.new(...) produces a flattening thing, and and set(...) is like [...] which itemizes? | ||
masak | partly because we're gradually realizing that we do not want that. | ||
TimToady blames himself for confusing the DWIM with the WAT earlier | 16:34 | ||
timotimo | r: ((5, 6).set.item, (7, 8).set.item).set.perl.say | ||
p6eval | rakudo 5a6b52: OUTPUT«set("5", "6", "7", "8")» | ||
jnthn | Set.new(...) # set, flattening, like Array.new | ||
set(...) # set, item, like [... | |||
] | |||
TimToady | er, I set intersect above where I meant union, dru | ||
dur even | |||
16:35
aindilis joined
|
|||
TimToady | *said !?! | 16:35 | |
my keyboard must be going bad... :) | |||
spider-mario | :D | ||
FROGGS .oO( ya, the keyboard ) | 16:38 | ||
:o) | |||
diakopter | pmichaud: yer email - he said gentoo I thought | 16:39 | |
pmichaud: also the version of parrot is 33a40fc | 16:40 | ||
16:45
bowtie_ left,
bowtie left
16:47
bowtie joined
16:48
Gwyxx joined
16:58
SamuraiJack_ joined,
SamuraiJack_ left
|
|||
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:------> sub infix:<whatever> (⏏$a,$b) { say "Whatever!" }; my $x; $x wh $b is declared but not used at /tmp/E2_4guws2A line 1:------> sub infix:<wha… | ||
..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,
SamuraiJack left
|
|||
TimToady | masak: seems to be a more general problem than just (|) | 16:58 | |
n: sub infix:<whatever> ($,$) { say "Whatever!" }; my $x; $x whatever= 42; | 16:59 | ||
p6eval | niecza v24-33-gfc6d5fd: OUTPUT«Whatever!» | ||
jnthn | huh, how's that busted... | ||
17:00
SunilJoshi joined
|
|||
dalek | kudo/nom: d9dc404 | jnthn++ | src/Perl6/Grammar.pm: Add $*IN_META and use it as STD does. |
17:07 | |
ast: f17c27b | jnthn++ | S03-metaops/not.t: Unfudge. |
17:08 | ||
17:10
not_gerd joined
|
|||
not_gerd | o/ | 17:10 | |
17:10
adu_ joined
|
|||
not_gerd | as supersede is apparantly not implemented in Rakudo, how do I use the metamodel to replace a method? | 17:10 | |
17:14
crab2313 left
17:15
PacoAir left
|
|||
jnthn | not_gerd: I think the supersede thing isn't actually implemented in the meta-class yet, either. | 17:16 | |
TimToady | you could wrap a method | 17:17 | |
17:17
PacoAir joined
|
|||
jnthn | That probably is the best workaround at the moment, yes. | 17:17 | |
TimToady: in token infix:lambda, what is the return () if $*IN_REDUCE; about? | 17:18 | ||
not_gerd | thanks | ||
TimToady | jnthn: lemme check, but at a guess, it's a way to fail by returning no cursors | 17:19 | |
jnthn | TimToady: oh, since reduce can lookahead? | 17:20 | |
TimToady | probably was a misparse fo something at one time | 17:21 | |
jnthn | OK | ||
Will try and preserve it :) | |||
17:22
PacoAir left
17:23
PacoAir joined,
aindilis left
17:28
aindilis joined
17:36
LlamaRider left
|
|||
jnthn | TimToady: Is a "return self" like in stdstopper indicating a successful match? | 17:37 | |
TimToady | that would be a zero-width success, yes | ||
jnthn | OK | ||
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? | ||
TimToady | so return () basically just throws away the current continuation | ||
jnthn | I think adding infix:lambda shows it up... | ||
masak | jnthn: I'll check. | 17:40 | |
TimToady | ah, it's the test for a misplaced lambda that could fool reduce | 17:41 | |
jnthn | r: sub infix:<> ( ){}; | 17:42 | |
p6eval | rakudo d9dc40: OUTPUT«===SORRY!===Null operator is not allowedat /tmp/OU9UhApETO:1------> sub infix:<> ⏏( ){}; expecting any of: colon pairOther potential difficulties: Pair with <> really means an empty list, not null string; use… | ||
masak | jnthn: didn't find one. | 17:43 | |
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'» | ||
jnthn | hm. | ||
Not what I was looking for... | |||
masak | hm. | 17:55 | |
r: sub postfix:<{}>($a) { say "$a bracey brace" }; 42{} | |||
p6eval | rakudo d9dc40: OUTPUT«42 bracey brace» | ||
masak submits rakudobug | |||
17:56
fgomez joined
|
|||
jnthn | masak: That one is fine, no? | 17:56 | |
jnthn sees nothing wrong with the last one | |||
The thing I was checking was if the first gives the "can't declare null operator" thing | 17:57 | ||
masak: And the previous one is an RT ticket already :) | |||
rt.perl.org/rt3/Ticket/Display.html?id=114554 | |||
17:58
isBEKaml joined
|
|||
masak | oh! | 17:58 | |
was gonna ask ;) | |||
17:59
PacoAir left,
PacoAir joined
18:01
raiph left
18:02
PacoAir left,
PacoAir joined
18:03
isBEKaml left
18:04
matlads left
|
|||
jnthn | r: gist.github.com/jnthn/5125077 | 18:05 | |
p6eval | rakudo d9dc40: OUTPUT«===SORRY!===Undeclared routine: a used at line 2» | ||
jnthn | masak: rt.perl.org/rt3/Ticket/Display.html?id=102690 is the ticket I was looking for | ||
TimToady | n: 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:------> my %a; sub c ⏏{ }» | ||
18:06
isBEKaml joined
|
|||
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:07 | |
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:12
Gwyxx left
|
|||
Ulti | moritz: am I right in thinking once upon a time you had contact with the BioPerl community? | 18:20 | |
18:20
adu_ left,
lichtkind_ joined
18:22
lichtkind left
|
|||
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 | |
TimToady: Everything else sets it to 2 or checks if it's 2. | |||
TimToady: Is the setting of it at all in stdstopper an optimization? | 18:25 | ||
Also, is there a reason we <?before <stopper>> rather than just <?stopper> | 18:26 | ||
masak | what's the semantic difference between those two? | 18:34 | |
jnthn | masak: I'm not sure there is one. | ||
18:34
not_gerd left
|
|||
jnthn | But I know the <?before ...> form is less efficient... | 18:34 | |
===SORRY!=== | 18:35 | ||
Word 'if' interpreted as 'if()' function call; | |||
\o/ | |||
18:36
not_gerd joined
18:37
isBEKaml left,
rindolf joined
|
|||
rindolf | Hello, all Perl 6 Hackers and Hackeresses. | 18:37 | |
masak | aloha, rindolf! | 18:41 | |
18:41
fgomez left
|
|||
rindolf | masak: hi. | 18:42 | |
masak: what's up? | |||
masak: happy 1 day after Intl. Woman's Day. | |||
masak: every day of the year is special. | |||
masak | happy 1DAIWD to you too, rindolf. | 18:43 | |
today my regular kitchen ceiling is up. | 18:44 | ||
rindolf | masak: heh. | ||
masak: up is absolute. | |||
masak: all is up and up is all. | |||
rindolf still summons Chuck Norris to club masak senseless. | |||
Because I like it this way. | |||
masak | up is absolute in my block world. | 18:45 | |
rindolf | masak: OK, what are you working now? | ||
masak | just meaning to look at the production-readiness repo. | ||
rindolf | masak: sounds good. | 18:46 | |
masak: I've written a post to blogs.perl.org. | |||
masak | whee | 18:47 | |
rindolf | masak: this one - blogs.perl.org/users/shlomi_fish/20...brity.html | ||
Sorry for the long topic. | |||
I mean the long URL. | |||
masak: xrl.us/bonezw - get the shorty URL. | 18:48 | ||
masak read the post | 18:49 | ||
I don't know what to say :) | |||
good luck following your dreams, I guess. | 18:50 | ||
18:53
cognominal joined
18:59
PacoAir left
19:01
PacoAir joined
|
|||
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? | ||
cognominal: why are you telling me that here? | |||
cognominal: that came out of the blue. | 19:06 | ||
masak | because you posted the article here...? | ||
cognominal | that your post does not make any sense to me... | ||
rindolf | cognominal: hmm... | ||
cognominal: OK, then maybe I failed. | |||
19:06
not_gerd left
|
|||
rindolf | cognominal: other people seem to have understood it. | 19:06 | |
cognominal: which post BTW ? The one on blogs.perl.org ? | |||
cognominal: anyway, I'm a geek. | 19:07 | ||
cognominal: Star Trek is part of who I am. | |||
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 | ||
cognominal: I think my stories have something for everyone. | |||
19:09
grondilu left
|
|||
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 | |
19:09
fgomez joined
|
|||
rindolf | And I hope that with www.shlomifish.org/humour/Selina-Mandrake/ , my personal insanity reached its climax and I will write x93sanerx94 (but equally subversive) stories from now on. | 19:09 | |
jnthn | TimToady: OK | ||
rindolf | cognominal: anyway, feel free to put a comment on blogs.perl.org. | ||
jnthn | TimToady: I got it working and it fixes the parse issue. Got a couple of spectest bustages as a result, however. | ||
rindolf | cognominal: or just read what Eric Sink and Joel on Software wrote. | ||
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. | ||
rindolf | cognominal: anyway, I don't spend 100% of the time discussing Star Trek or Buffy or other geeky stuff. | ||
cognominal: I know a little of everything. | |||
TimToady: hi, what's up? | 19:12 | ||
TimToady | got the boys here, with associated spouses (where applicable) | 19:14 | |
jnthn | std: gist.github.com/jnthn/5125371 | 19:18 | |
p6eval | std 86b102f: OUTPUT«===SORRY!===Variable $z is not predeclared at /tmp/K5SsFj_GYV line 1:------> <BOL>⏏$z = [ do { 1 }Check failedFAILED 00:00 45m» | ||
jnthn | std: gist.github.com/jnthn/5125371 | ||
p6eval | std 86b102f: OUTPUT«ok 00:00 45m» | 19:19 | |
19:19
not_gerd joined
|
|||
jnthn | rn: gist.github.com/jnthn/5125371 | 19:19 | |
p6eval | rakudo d9dc40: ( no output ) | ||
..niecza v24-33-gfc6d5fd: OUTPUT«Potential difficulties: $z is declared but not used at /tmp/atwGOHydDv line 1:------> my ⏏$z = [ do { 1 }» | |||
jnthn | rn: gist.github.com/jnthn/5125371 | ||
p6eval | niecza v24-33-gfc6d5fd: OUTPUT«2» | ||
..rakudo d9dc40: OUTPUT«3» | |||
jnthn | TimToady: Is niecza correct on this one? | ||
not_gerd sent github.com/rakudo/rakudo/pull/112 | 19:21 | ||
fixes the Rakudo-side of sockets | |||
no idea if it helps with the reported failures or if that's really a Parrot issue, though | 19:22 | ||
19:25
spider-mario left
|
|||
masak | rn: say [1; 2] | 19:27 | |
p6eval | niecza v24-33-gfc6d5fd: OUTPUT«2» | ||
..rakudo d9dc40: OUTPUT«WARNINGS:Useless use of constant integer 1 in sink context (line 1)2» | |||
masak | jnthn: hm, I'd say Niecza is correct. | 19:28 | |
(in your paste) | |||
'}' at the end of a line induces a ';' -- that's the rule. | |||
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 | ||
masak | and so the '+' on the next line is a prefix, not an infix. | ||
jnthn | masak: I ask because there's a spectest that wants it Rakudo's current way | ||
masak | jnthn: \o/ | ||
jnthn | masak: And wanted a second opinion before declaring it a bad test | ||
masak | maybe the test is a fossil. | ||
we got the '}\n' rule fairly late. | 19:30 | ||
TimToady | yes, niecza is correct | 19:32 | |
well, it doesn't actually introduce a ;, but it does terminate the statement | 19:33 | ||
dalek | kudo/nom: a91c1e8 | jnthn++ | src/Perl6/Grammar.pm: Align end of statement handling with STD. Fixes RT#102690 and maybe more. |
19:36 | |
kudo/nom: 8ea992a | jnthn++ | src/Perl6/Grammar.pm: Port most of STD's infix:lambda. Gives good errors for if(1 < 2) { ... } style mistakes. |
|||
masak | jnthn++ | 19:40 | |
Ulti | this is quite cool vimeo.com/51893508 has anyone made a gource video of perl6 related commits? | ||
dalek | ast: c9de385 | jnthn++ | S04-statements/terminator.t: Correct a test. Also unfudge it for Niecza, which gets it right now it's corrected. |
||
ast: c9e8cad | jnthn++ | S0 (2 files): Rakudo unfudges. |
|||
FROGGS | Ulti: not that I know, but the perl 5 gource video was pretty cool | 19:42 | |
timotimo | jnthn: well done :) | 19:45 | |
jnthn | :) | 19:46 | |
timotimo | doesn't seem like you could use much of what i had already written, but whatever :) | 19:47 | |
19:53
raiph joined
19:57
kaare__ left
|
|||
dalek | p-jvm-prep: b225f6c | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java: Implement STable serialization. |
20:03 | |
p-jvm-prep: b3747d7 | jnthn++ | src/org/perl6/nqp/sixmodel/KnowHOWMethods.java: Set type check cache properly for KnowHOWs. |
|||
p-jvm-prep: 975f9b0 | jnthn++ | src/org/perl6/nqp/sixmodel/ (2 files): Implement serialization of KnowHOWREPR. |
|||
20:08
not_gerd left
|
|||
GlitchMr | niecza on GitHub: "Sorry, this tree took too long to generate." | 20:18 | |
Sounds like an error that should never happen, yet it did... | |||
masak | just ask any gardener. | ||
jnthn | It's a difficult world north of the taiga... | 20:19 | |
masak .oO( crouching taiga, hidden permafrost ) | |||
20:20
adu_ joined
20:33
SunilJoshi left
20:38
kst left
20:59
grondilu joined
21:03
Heather left
|
|||
dalek | p-jvm-prep: ec4d91f | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/KnowHOWAttribute.java: KnowHOWAttribute serialization. |
21:05 | |
p-jvm-prep: cfff5e2 | jnthn++ | src/org/perl6/nqp/sixmodel/ (3 files): P6opaque REPR data serialization. |
|||
masak | rn: say (<0 1> xx 5).list.pick(*).join | 21:11 | |
p6eval | rakudo 8ea992: OUTPUT«0101010101» | ||
..niecza v24-33-gfc6d5fd: OUTPUT«0011100101» | |||
masak | rn: say (<0 1> xx 5).pick(*).join | ||
p6eval | rakudo 8ea992: OUTPUT«0101010101» | ||
..niecza v24-33-gfc6d5fd: OUTPUT«0101011010» | |||
masak | I'm with Niecza on this one -- any second opinion? | ||
jnthn tries to spot the problem | 21:12 | ||
21:12
SamuraiJack__ joined
21:13
SamuraiJack_ left
|
|||
jnthn | Oh...some flattening context thing? | 21:13 | |
rn: say (<0 1> xx 5).flat.pick(*).join | |||
p6eval | rakudo 8ea992: OUTPUT«0011100011» | ||
..niecza v24-33-gfc6d5fd: OUTPUT«0100011011» | |||
masak | yeah. | ||
masak submits rakudobug | 21:14 | ||
jnthn | .oO( If I ever design a language, I am *not* doing flattening this "clever"... ) |
||
timotimo | i must admit, flattening seems somewhat confusing | 21:15 | |
at least sometimes | |||
masak | jnthn: we've put in a lot of DWIM but haven't washed out all the WAT ;) | 21:17 | |
rn: say (<0 1> xx 5).roll | 21:18 | ||
p6eval | rakudo 8ea992, niecza v24-33-gfc6d5fd: OUTPUT«0 1» | 21:19 | |
masak | hm. | ||
jnthn | Well, I'll do the usual thing with flattening related tickets: wait for pmichaud++ to comment on the ticket ;) | ||
I suspect this one should do what you expect though. | 21:20 | ||
dalek | p-jvm-prep: bb1ccc4 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Coderefs should have SC set when added to one. |
21:21 | |
p-jvm-prep: e972b32 | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java: Code ref serialization (non-closure case). |
|||
p-jvm-prep: ce2ff53 | jnthn++ | t/serialization/02-types.t: Add now-passing t/serialization/02-types.t. |
|||
masak | but Rakudo and Niecza agree on .roll -- that makes me uncertain about .pick | 21:22 | |
because I always saw .pick() and .roll() as equivalent in semantics. | |||
jnthn | *nod* | 21:23 | |
21:23
cognominal left
21:24
yakshavr left
|
|||
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 | |
but I have a feeling that if it were completely up to me, those pesky nested () thingies would not be there at all... | |||
jnthn | Trouble with making 01-basic.t and 02-types.t pass is that the next serialization test file is 03-closure.t... | ||
masak | hahaha :) | ||
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
rindolf left
|
|||
masak | a closure is just a data structure, whose indexing operation strange-loops back into the runtime. | 21:27 | |
jnthn | Well, this is probably the easier side of the story. | 21:28 | |
I already deserialize them. | |||
Where you gotta fix all the stuff up into the right places. | |||
masak | just do the deserialization in reverse! | ||
jnthn | }).get_lexinfo().get_static_code(); ...oh heck, what does that do... | 21:29 | |
masak | 'lexinfo'... sounds parrotty... :( | ||
jnthn | Yeah | ||
oh... | |||
timotimo | is serialisation the last folder of tests that have to be pulled over from nqp to nqp-jvm-prep | ||
? | |||
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
|
|||
jnthn | Yeah, I remember what I did here... | 21:30 | |
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. | ||
timotimo | oh, right, parrot magic cookie, no? | ||
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. | ||
And qregex...yes, that one is worth worrying about. | 21:34 | ||
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 :) | |||
Trying to get the qregex/* to run on nqp-jvm is a good LHF task. | |||
timotimo | ok and hll/ are pretty much empty tests | ||
jnthn | (Not fixing any bugs they show up, just running it.) | ||
timotimo | i have no idea what's there to actually do to run those tests. just copying the test files over? | 21:35 | |
jnthn | copy tyem over | 21:36 | |
then | |||
java -cp 3rdparty/bcel/bcel-5.2.jar;bin;. NQPJVM t/qregex/01-qregex.t # or so | |||
21:38
zby_home left
|
|||
timotimo | well, that seems simple enough, i guess i'll try | 21:38 | |
lue | hello world o/ | 21:39 | |
dalek | p: 9927e00 | jnthn++ | t/serialization/03-closures.t: First pass at 03-closure.t portability. Tests that depend on getting static code-ref need more work. |
21:40 | |
21:43
adu_ left
|
|||
FROGGS | damn, this world in between of rakudo and nqp is a bit exhausting | 21:46 | |
21:47
woolfy left
|
|||
jnthn | FROGGS: How so? | 21:48 | |
dalek | p: a95354d | jnthn++ | src/QAST/Operations.nqp: Add nqp::getstaticcode. Abstracts away turning a closure to its original static code ref. |
21:49 | |
p: 2acf690 | jnthn++ | t/serialization/03-closures.t: Use nqp::getstaticcode in 03-closures.t. |
|||
FROGGS | well, I made thatworking nfa example, which is less then 20 lines or so (including the ast of literals...) | ||
and well, you cant use this code within Cursor.pm, since the types you get are not pure nqp | |||
and right now I always get all fates back from running the nfa, and I dont know why | 21:50 | ||
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:51 | ||
jnthn | Well, it's typically using := instead of = that tends to help as much as the Mu | 21:55 | |
FROGGS | hmm, I always use binding there | 21:56 | |
jnthn | ah, ok | 21:57 | |
dalek | p: 5ba5881 | jnthn++ | t/serialization/03-closures.t: Missed a couple of lex_info uses. |
||
jnthn | Feel free to gist me any code that you want me to look at. | ||
dalek | p-jvm-prep: c7ef5f0 | jnthn++ | / (4 files): Implement nqp::getstaticcode. |
22:00 | |
FROGGS | jnthn: I will as soon as my temper rises :o) | 22:02 | |
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 | |
FROGGS: An RPA becomes a Parcel. | |||
FROGGS | ya, what if I want to pass it back to nqp land? | ||
just bind it to something Mu-ish? | |||
timotimo | my development computer doesn't even have a javac yet :| | 22:05 | |
jnthn | Well, no, it's then got the RPA wrapped up. | ||
You can pull it out of the Parcel using getattr | |||
Note that | |||
FROGGS | aha | ||
jnthn | my Mu $foo := nqp::list(); # gives you an RPA that is safe to pass to NQP | 22:06 | |
There is also a trick if you don't want the auto-marshalling | |||
Instead of $obj.foo('bar') | |||
do | |||
nqp::findmethod($obj, 'foo')($obj, 'bar') | |||
FROGGS | that might be it, because what I pass to mergesubstates is probably wrong | ||
jnthn | Then it won't Perl6-ize the thing that comes back. | ||
BTW, are you working on this in the actual setting, or in Perl 6 space? | 22:07 | ||
er, in a script? | |||
FROGGS | in Cursor.pm directly | ||
jnthn | Oh, then you're waiting for compiles all the time. | ||
FROGGS | right | ||
140s | 22:08 | ||
jnthn | Maybe just write a grammar and copy-paste !INTERPOLATE or whatever you're working on into it. | ||
timotimo | there apparently is no javac on linux mint, wtf. | ||
jnthn | And put the code to test into a token in that grammar | ||
FROGGS | k, will try | ||
jnthn | Then normal method dispatch will hit the !INTERPOATE you're hacking on | ||
No more recompiles until you're done. :) | |||
FROGGS | cool | ||
22:09
SamuraiJack__ left
|
|||
FROGGS | nqp::findmethod($obj, 'foo')($obj, 'bar') # how to pass named args? | 22:10 | |
jnthn | Same way as normal | ||
:foo('bar') | |||
22:10
SamuraiJack__ joined
|
|||
FROGGS | k | 22:10 | |
jnthn | for foo => 'bar' | ||
22:15
SamuraiJack joined,
SamuraiJack__ left
22:19
adu_ joined
|
|||
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 | |
wasn't that the way to fix it? am i missing something? | |||
whoops, missed a ; | 22:22 | ||
jnthn | Does your bin folder contain a bunch of .class files? | ||
ah :) | |||
dalek | p-jvm-prep/asm_port: d5207b0 | (Donald Hunter)++ | / (15 files): Broken. |
22:23 | |
p-jvm-prep/asm_port: 9f4368e | (Donald Hunter)++ | / (6 files): Working asm based P6Opaque. |
|||
p-jvm-prep/asm_port: 44af9e1 | (Donald Hunter)++ | src/org/perl6/nqp/sixmodel/reprs/P6 (4 files): Remove commented BCEL code. |
|||
p-jvm-prep/asm_port: 3ea082c | (Donald Hunter)++ | Makefile~: Cleanup |
|||
22:26
donaldh_ joined
|
|||
timotimo | jnthn: Opcode 'l2i ' not recognized - is this something i'd fix by changing my environment or pulling a newer version of something? | 22:27 | |
jnthn | Uh...what... | 22:28 | |
Can you paste me details? | |||
timotimo | you want the "stacktrace"? | ||
paste.ee/p/rBgHw | |||
jnthn | wtf... | 22:31 | |
What did you run to get what? | 22:32 | ||
*that | |||
oh, wow | |||
I found it | |||
how on earth... | |||
timotimo | :D | ||
FROGGS | jnthn: I believe it is working now | 22:33 | |
dalek | p-jvm-prep: 250f868 | jnthn++ | lib/QAST/JASTCompiler.nqp: Remove spaces that somehow sneaked in. timotimo++ for reporting. |
22:34 | |
timotimo | spaces? wow. | 22:35 | |
i didn't even *see* those spaces in the error message m) | 22:37 | ||
dalek | p-jvm-prep: fe1bc10 | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java: Serialization of cloned code refs. Doesn't yet serialize the context, but this is the first half of the closure serialization and passes a bunch of the 03-closure.t tests. |
||
FROGGS | timotimo: well, I see 'em now ;o) | ||
jnthn | FROGGS: yay | ||
timotimo: For a moment I was fearing a corrupted string heap or something crazy... | 22:38 | ||
donaldh_ | jnthn++ for noticing them so quickly | ||
dalek | Heuristic branch merge: pushed 28 commits to nqp-jvm-prep/asm_port by donaldh | 22:40 | |
22:49
not_gerd joined
22:50
adu_ left
|
|||
not_gerd | do lazy lists created via gather/take try to 'pre-fetch' elements? | 22:51 | |
.say for gather while defined my $line = $*IN.get { take $line } | |||
^^ blocks until EOF | |||
.say while defined $_ = $*IN.get | 22:52 | ||
^^ works fine | |||
jnthn | I think for may be trying to batch there...not sure | 22:53 | |
timotimo | github.com/perl6/nqp/blob/master/t...egex.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 | ||
jnthn | Seem to remember pmichaud++ was looking at something in that area last time he had tuits. | ||
Ulti | what happened in June 2011 to Rakudo is that the introduction of nom? | ||
in this gource animation the whole repo just explodes | |||
FROGGS | Ulti: link? | ||
Ulti | I'll render and upload in a bit :) | ||
FROGGS | :o) | 22:54 | |
jnthn | timotimo: yowser | ||
not_gerd | jnthn: well, batching IO is not really a good idea | ||
timotimo | did that talk by masak in yapc::eu get uploaded yet? | ||
colomon | last time I checked (admittedly months ago) Rakudo's for grabbed elements non-lazily | ||
FROGGS | timotimo: should be, since december or so | ||
not_gerd | (or rather, batching blocking operations) | ||
timotimo | wait, december? | 22:55 | |
this must be a different talk we're talking about | |||
maybe not yapc::eu then | |||
jnthn | not_gerd: Yeah, it wants fixing. | ||
timotimo | i'm talking about one at most 2 months old | ||
jnthn | timotimo: Any chance you can golf it a bit? | ||
timotimo: Is it just the regex that does it, for example? | 22:56 | ||
timotimo | i can certainly try | ||
give me a few days =) | |||
FROGGS | timotimo: you mean the fosdem talk at feb 1st or so? | ||
timotimo | maybe! | 22:57 | |
FROGGS | no idea about that one | ||
22:58
LlamaRider joined
|
|||
FROGGS | timotimo: what was the topic? fosdem.org/2013/news/2013-02-05-vi...uploading/ | 23:01 | |
cant find it | |||
timotimo | he did something on perl6, at the end there was a livecoding session | 23:02 | |
jnthn: i removed the **4 part of the regex and made it work that way | |||
haha, what | 23:03 | ||
i'm currently confused by this. | 23:05 | ||
okay, with **1 it works, with any other number it fails | |||
jnthn | timotimo: ooh | ||
that's a good clue | |||
thanks | |||
timotimo | you're welcome :) | 23:06 | |
jnthn isn't cruel enough to now point timotimo at the quantifier compiler :) | |||
timotimo | hahaha :) | ||
23:13
adu_ joined
|
|||
dalek | p-jvm-prep: 30d9eef | jnthn++ | src/org/perl6/nqp/ (2 files): Finish up closure serialization. |
23:13 | |
p-jvm-prep: dc5a013 | jnthn++ | t/serialization/03-closures.t: Add now-passing t/serialization/03-closures.t. |
|||
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… | ||
jnthn | timotimo: Turns out the above triggers it | ||
timotimo | ah, yeah | ||
also, that nqp-jvm is a bit too old :) | |||
jnthn | Happens in cross-comp too | ||
Yeah | 23:20 | ||
oh, that l2i is probably bogus | |||
There's an lcmp right above it | 23:21 | ||
(which leaves an i, not an l, on the stack) | |||
timotimo | oh, so there's a comparison result on the stack rather than a long? | ||
jnthn | yeah | ||
Trying deleting that line...suspect it was accidental copy-paste | |||
Guess we never quantify anything an absolute number of times anywhere in the NQP grammar... :) | 23:22 | ||
timotimo | that's amusing :) | ||
i don't know what "that line" is, anyway | 23:24 | ||
jnthn | Used to be lib/QAST/JASTCompiler.nqp:4227 | 23:25 | |
Bother, I did exaclty the same mistake ten or so lines up... | 23:26 | ||
In fact, that's probably where I copied the thing from... | |||
timotimo | tee hee | ||
jnthn | ooh, this time in 2 weeks I'll be on a plane heading for a week's afk vacation :) | 23:29 | |
dalek | rl6-roast-data: 39e7649 | coke++ | / (4 files): today (automated commit) |
23:30 | |
p-jvm-prep: e79a20a | jnthn++ | lib/QAST/JASTCompiler.nqp: Remove bogus type conversion instructions. Fixes /a**4/ bug, found by timotimo++. |
|||
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 | |
i'm investigating now | |||
jnthn | OK, commit above should fix the first thing you found at least :) | 23:32 | |
23:32
mavcunha joined
|
|||
timotimo | yes, i applied that manually | 23:32 | |
jnthn | ah, ok | 23:33 | |
timotimo | now i'm building a new nqpjvm | ||
dalek | p-jvm-prep: 83d173e | jnthn++ | docs/ROADMAP: Remove serialization from todo list. |
23:34 | |
timotimo | stack overflow errors en masse! | 23:35 | |
one could say: stack overflow overflow | |||
seems like an exception is handled and reraised and the same handler re-raises that or something like that | 23:37 | ||
jnthn | oops | ||
I'm kinda half way thorugh exception stuff, though. | 23:38 | ||
Well, maybe two thirds... | |||
timotimo | in that case i guess i'll wait | ||
jnthn | Well, but it shouldn't be failing like that I guess | ||
23:38
not_gerd left
|
|||
jnthn | Does it successfully run any tests? | 23:38 | |
timotimo | yes, the tests of one file. but these are all "not ok" | 23:39 | |
i'll get some debugging going on now, though | 23:40 | ||
23:40
SamuraiJack left,
jac50 joined,
lichtkind_ is now known as lichtkind
|
|||
timotimo | SC with handle 8CE216723D9D381371041A6319E5BB581F0064BBalready exists | 23:40 | |
>_< | |||
i don't know what. | 23:42 | ||
jnthn | Hm. | ||
masak | 'night, #perl6 | ||
jnthn | 'night, masak | ||
timotimo | 'night masak | 23:43 | |
FROGGS | gnight all | ||
23:43
FROGGS left
|
|||
jnthn | o/ FROGGS | 23:43 | |
23:44
adu_ left
|
|||
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... | ||
moment... | |||
23:47
donaldh_ left
|
|||
jnthn | :my $*W := QRegex::P6Regex::World.new(:handle(nqp::sha1(self.target))); | 23:47 | |
hm. | 23:48 | ||
timotimo | please run sed -i -e 's/"already exists"/" already exists"/' src/org/perl6/nqp/runtime/Ops.java | ||
23:50
adu_ joined
|
|||
dalek | p-jvm-prep: a5095fd | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Space-o fix; timotimo++. |
23:50 | |
jnthn | timotimo: Looking into the error, on Parrot it silently ignores the duplicate name. | ||
timotimo: Thus why we never noticed it before. | 23:51 | ||
timotimo | ah, good to know | ||
jnthn | You can try commenting out that if/throw | ||
(the one with the typo fix) | |||
timotimo | hehe, ok | 23:52 | |
jnthn | To see if that helps | ||
timotimo | i love that kind of fix :) | ||
jnthn | Well, needs a proper one too... | ||
timotimo | null pointer exception, then unhandled exception, category = 1 | 23:53 | |
so that fix wasn't good enough | |||
jnthn | Ah | ||
OK, think I should rest rather than hunt it tonight. | 23:54 | ||
timotimo | OK, good rest! :) | ||
jnthn | Thanks | 23:55 | |
'night o/ |