»ö« 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. |
|||
jnthn | timotimo: To go backwards. | 00:01 | |
timotimo | oh, that's so blatantly obvious | ||
00:06
sjohnson left,
sjohnson joined
|
|||
pmurias | jnthn: I'm too sleepy to fix that today | 00:09 | |
jnthn | pmurias: There's a new day tomorrow ;) | 00:10 | |
diakopter | maybe! | 00:11 | |
pmurias | hopefully ;) | 00:15 | |
if there wasn't I'm not sure fixing java code is what I would be doing right now ;) | 00:16 | ||
g'night | 00:18 | ||
00:18
pmurias left
|
|||
timotimo | i hope i'm learning by osmosis here or something | 00:23 | |
00:31
kst` joined
00:32
bapa left,
bapa joined
00:36
kst left
00:42
lichtkind left
00:43
alec__ left
|
|||
jnthn blug: 6guts.wordpress.com/2013/01/18/a-qu...nd-update/ | 00:44 | ||
And now, sleep...hopefully & | 00:45 | ||
diakopter | o/ | ||
00:48
benabik joined
|
|||
timotimo | okay, time for a bit of sleeping things over, i think | 00:52 | |
my walk_block thing doesn't seem to work excellently yet. it only finds very few things: Baggy, &bag, &infix:<(.)>, &infix:<(+)> and Version. maybe i need to find_symbol(["QAST", "Block"]) instead of just QAST::Block. | 00:54 | ||
nope, that did not help. | 01:00 | ||
01:05
For-Odin joined
01:06
hypolin joined
|
|||
timotimo | hm, do i have to iterate through Stmts, too? or do i have to go through GLOBALish first, too? | 01:07 | |
01:10
anuby joined
01:22
stevan__ left
01:39
wk left
01:46
stevan_ joined
01:58
anuby_ joined,
anuby left
02:01
stevan_ left
02:03
FROGGS_ joined
|
|||
swarley | So, I'm still trying to get a hold on the P6 regular expressions, excuse me for my lack of knowledge on the subject I was just wondering if this is the correct usage of the :Nx directive | 02:03 | |
token TkHexEscape { '\\x' [ :2x <TkHexDigit> <TkHexDigit> ] } | |||
err | |||
Only one occurance of <TkHexDigit> was intentional | |||
02:06
FROGGS left
|
|||
PerlJam | swarley: no. | 02:20 | |
swarley: if you want to match something 2 times, then you'd use ** 2 like so: token TkHexEscape { '\\x' <TkHexDigit> ** 2 } | 02:21 | ||
swarley | oh, okay | ||
That makes more sense syntax wise | |||
02:23
fgomez left
|
|||
swarley | Also, I noticed that the {,} pair is no longer in the regex, how would you simulate its functionality? | 02:27 | |
02:28
fgomez joined
|
|||
sorear | use a Range | 02:30 | |
<TkHexDigit> ** 2..4 | |||
swarley | Oh, that's actually really neat | ||
And how would you express "at least 2, and infinitely more possible" | 02:31 | ||
PerlJam | swarley: 2..* | ||
swarley | oh, lol. Now I remember why I was so intrigued by p6 | 02:32 | |
sorear | this mirrors the syntax for open-ended ranges | ||
although I should note that the parsing is not actually unified in this case | 02:33 | ||
you can't just stick arbitrary perl 6 expression syntax into a regex unannounced | |||
there is, however, an escape mechanism to switch to expression syntax | 02:34 | ||
<TkHexDigit> ** {2**16} # match a lot of hex digits | |||
PerlJam | yeah, but that block has to return a range or a number otherwise Perl freaks out :) | 02:35 | |
swarley | hm. Well, fortunately in this case I don't believe I have anything that requires something like that | ||
PerlJam | swarley: the regex syntax that still makes me a little giggly inside is % / [ \d+ ]+ % ',' / | 02:38 | |
swarley | o-O | 02:39 | |
PerlJam | try that on strings like "57" and "23,423,52,2" | ||
swarley | what does the modulus do in that case? | 02:40 | |
sorear | [\d,?]*\d | ||
swarley: it's not a modulus operator; % declares the separator | |||
swarley | oh | 02:41 | |
sorear | it can be used after any quantifier | ||
geekosaur doesn't mind it but then it looks a lot like the syntax he uses privately for such things (which uses phi) | |||
sorear | x+ % y matches x, xyx, xyxyx, ... | ||
swarley | So it's an arbitrary spacer? | ||
sorear | you could even do <foo> ** 3..5 % <bar> | 02:42 | |
yes | |||
swarley | Oh that's nice. Much easier than a bunch of (?:)/[] | ||
02:53
Targen left
02:56
baijingjao joined
02:58
baijingjao left
02:59
dayangkun left
03:08
xenoterracide_ joined
03:11
stevan_ joined
03:16
stevan_ left
03:23
xenoterracide_ left
03:24
xenoterracide joined
03:38
alec__ joined
03:39
SunilJoshi joined
03:41
orafu left,
orafu joined
03:54
For-Odin left
03:56
For-Odin joined
04:05
cibs joined
04:07
anuby joined
04:11
anuby_ left
04:21
kaleem joined
04:25
preflex left,
preflex_ joined
04:26
preflex_ is now known as preflex
04:30
fgomez left,
Targen joined
04:35
For-Odin left,
fgomez joined
05:17
telex left
05:24
telex joined
05:36
telex left,
simcop2387 left
05:38
SamuraiJack joined
05:39
telex joined,
simcop2387 joined,
telex left
05:40
telex joined
05:42
For-Odin joined
05:55
SunilJoshi left
|
|||
tewk | window 1 | 05:56 | |
05:56
SunilJoshi joined
|
|||
sorear | you can shorten that to just "/w 1", or alt-1 | 05:57 | |
shachaf | /w is /who by default in my irssi | 05:58 | |
Maybe I should rebind it. | |||
06:18
preflex left
06:19
SunilJoshi left
06:20
preflex joined
06:24
sevin joined
06:25
SunilJoshi joined
06:31
PacoAir joined
06:32
PacoAir left,
kaleem left
06:44
thou joined
06:47
SunilJoshi left,
SunilJoshi1 joined
06:50
quester joined
07:12
thou left
07:13
FROGGS_ left
07:14
sevin left
|
|||
diakopter | hm. allocating 4294967295 * sizeof(bigStruct) probably wasn't going to work | 07:20 | |
sorear | is that -1? | 07:23 | |
diakopter | mm hm | 07:24 | |
07:26
cibs left
07:28
cibs joined
07:35
FROGGS joined
07:39
kaleem joined
07:42
kv_ joined
07:48
sqirrel joined
08:06
dayangkun joined
08:07
dayangkun left
08:08
dayangkun joined
08:09
dayangkun left
08:10
dayangkun joined,
dayangkun left
08:11
dayangkun joined
|
|||
kv_ | Hi, ppl! | 08:12 | |
08:12
dayangkun left
|
|||
FROGGS | hi kv_ | 08:13 | |
08:14
dayangkun joined
08:15
quester left
|
|||
kv_ | can you help with perl6 max operator? | 08:16 | |
FROGGS | well, I can try | ||
kv_ | my $max=[max] -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say; | ||
FROGGS | r: my $max=[max] -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say; | ||
p6eval | rakudo 3a8d48: OUTPUT«61» | ||
FROGGS | r: say +'101' | 08:17 | |
p6eval | rakudo 3a8d48: OUTPUT«101» | ||
kv_ | how can I change type of sort from cmp to <=>? | ||
FROGGS | hold on | 08:19 | |
kv_ | yes, in this case I can use + or just remove '', but in common case I can't | 08:20 | |
FROGGS | you can do the same like sort{$a <=> $b} in perl 6, but I cant remember the syntax right now | 08:21 | |
r: my $max=sort { $^a <=> $^b } -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say; | 08:23 | ||
p6eval | rakudo 3a8d48: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \v: Mu *%_) in method Numeric at src/gen/CORE.setting:844 in sub infix:<-> at src/gen/CORE.setting:2818 in block at /tmp/3v1E4IIVsB:1» | ||
08:23
dayangkun left
|
|||
FROGGS | r: my $max=sort { +$^a <=> +$^b } -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say; | 08:23 | |
p6eval | rakudo 3a8d48: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \v: Mu *%_) in method Numeric at src/gen/CORE.setting:844 in sub infix:<-> at src/gen/CORE.setting:2818 in block at /tmp/RtuxVe3cjy:1» | ||
FROGGS | r: my $max=sort { +$^a <=> +$^b } (-101, 28, 9, 35, 61, 19, '101', 59, 3); $max.say; | ||
p6eval | rakudo 3a8d48: OUTPUT«===SORRY!===Two terms in a rowat /tmp/y9pqgRToCV:1------> my $max=sort { +$^a <=> +$^b } ⏏(-101, 28, 9, 35, 61, 19, '101', 59, 3); expecting any of: postfix infix or meta-infix infix stopper … | ||
FROGGS | r: my $max = (-101, 28, 9, 35, 61, 19, '101', 59, 3).sort { $^a <=> $^b }; $max.say; | 08:24 | |
p6eval | rakudo 3a8d48: OUTPUT«===SORRY!===Two terms in a rowat /tmp/3OBCIUTaLG:1------> , 28, 9, 35, 61, 19, '101', 59, 3).sort ⏏{ $^a <=> $^b }; $max.say; expecting any of: method arguments postfix infix or meta-infix … | ||
FROGGS | damn it | ||
r: my $max=sort { +$^a <=> +$^b }, (-101, 28, 9, 35, 61, 19, '101', 59, 3); $max.say; | |||
p6eval | rakudo 3a8d48: OUTPUT«-101 3 9 19 28 35 59 61 101» | ||
FROGGS | there you go | ||
r: my $max = sort { +$^b <=> +$^a }, (-101, 28, 9, 35, 61, 19, '101', 59, 3); say $max[0]; | 08:25 | ||
p6eval | rakudo 3a8d48: OUTPUT«101» | ||
kv_ | my $max=max { $^a <=> $^b }, -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say; | ||
FROGGS | put "r: " before that | 08:26 | |
kv_ | r: my $max=max { $^a <=> $^b }, -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say; | ||
p6eval | rakudo 3a8d48: OUTPUT«61» | ||
FROGGS | r: my $max=max { $^a.Num <=> $^b.Num }, (-101, 28, 9, 35, 61, 19, '101', 59, 3); $max.say; | ||
p6eval | rakudo 3a8d48: OUTPUT«61» | ||
FROGGS | I'm not sure why it does that | ||
moritz | r: say '101'.Num | 08:28 | |
kv_ | in docs I read that I should use adverb to change sorting method from cmp to smth other | ||
p6eval | rakudo 3a8d48: OUTPUT«101» | ||
08:29
kst` left
|
|||
moritz | r: say max :by( { $^a <=> $^b } }, -101, 28, 9, 35, 61, 19, '101' | 08:29 | |
p6eval | rakudo 3a8d48: OUTPUT«===SORRY!===Unable to parse expression in parenthesized expression; couldn't find final ')'at /tmp/LNtDalScR1:1------> say max :by( { $^a <=> $^b } ⏏}, -101, 28, 9, 35, 61, 19, '101' expecting any of: postfix … | ||
moritz | r: say max :by( { $^a <=> $^b } ), -101, 28, 9, 35, 61, 19, '101' | ||
p6eval | rakudo 3a8d48: OUTPUT«101» | ||
moritz | ah yes, that seems to work | ||
withou the :by, it simply compared the block and the string as strings | |||
kv_ | r: my $max=[max :by{ $^a <=> $^b } ] -101, 28, 9, 35, 61, 19, 101, 59, 3; $max.say; | 08:31 | |
p6eval | rakudo 3a8d48: OUTPUT«-100» | ||
kv_ | %) | ||
r: my $max=max :by{ $^a <=> $^b }, -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say; | 08:35 | ||
p6eval | rakudo 3a8d48: OUTPUT«101» | ||
FROGGS | ":by" isnt that intuitive though | ||
moritz: morning, btw ;o) | |||
kv_ | amzng | ||
thanks, guys! | |||
moritz | r: say ( -101, 28, 9, 35, 61, 19, '101', 59, 3).max: { $^a <=> $^b } | 08:36 | |
p6eval | rakudo 3a8d48: OUTPUT«101» | ||
moritz | if you don't like adverbs, you can always use the method form :-) | ||
yes, :by is inconsistent with sort | |||
08:37
dayangkun joined
|
|||
Su-Shee | good morning everyone! | 08:41 | |
moritz | \o | 08:44 | |
FROGGS | gmorning Su-Shee | 08:50 | |
08:51
fhelmberger joined
|
|||
sorear | o/ Su-Shee | 08:58 | |
09:03
dayangkun left
09:05
hoelzro|away is now known as hoelzro
09:12
Pleiades` left
09:17
dayangkun joined
09:18
dayangkun left,
dayangkun joined,
Pleiades` joined
09:19
kv__ joined
09:20
kv__ left
|
|||
kv_ netrino | 09:23 | ||
09:24
kv_ is now known as netrino
09:25
skids left
09:29
am0c joined
09:42
Psyche^ joined
09:44
Patterner left,
Psyche^ is now known as Patterner
09:45
SunilJoshi1 left
09:46
SunilJoshi joined
09:51
For-Odin left
09:54
dakkar joined
10:04
hypolin left
10:07
dayangkun left
10:08
kresike joined
|
|||
kresike | hello all you happy perl6 people | 10:08 | |
FROGGS | hi kresike | ||
kresike | FROGGS, o/ | ||
10:10
ServerSage left
10:13
anuby left
10:14
xinming_ joined
10:17
xinming left
|
|||
jnthn | o/ | 10:23 | |
nwc10 | \o | 10:24 | |
FROGGS | o| | 10:26 | |
sorear | |o | 10:28 | |
tadzik | ó | 10:29 | |
FROGGS | .oO( united colors of #perl6 ) |
||
hehe | |||
sorear | ō | ||
tadzik | United Kingdom Colours of Perl | ||
nwc10 | Orange! | ||
sorear | orange? | ||
FROGGS | acme? | ||
nwc10 | For this purpose I'm just his minion. | 10:31 | |
Or maybe I'm just spoofing his meme. | |||
10:35
kaleem left
10:45
Pleiades` left
10:50
Pleiades` joined
10:54
wk joined
|
|||
nwc10 | has parrot actually made its release yet? | 11:00 | |
11:04
grondilu joined
11:05
Su-Shee_ joined
11:06
Su-Shee left,
Su-Shee_ is now known as Su-Shee
11:27
Targen left
|
|||
masak | nwc10: not according to parrot-dev, at least. | 11:40 | |
nwc10 | Oh. :-( Get well soon, DukeLeto | 11:44 | |
masak | FROGGS: I'm not head-over-heels in love with :by. it feels to me like its presence on various methods indicates that there's an abstraction there that could be factored out, not repeated everywhere we discover it makes sense. | 11:46 | |
FROGGS: more exactly, often you want to do an operation "under a transform", like the Swartzian transform. that's what :by is about, in all its incarnations. | 11:47 | ||
sometimes you want to restore the initial values, doing the moral equivalent of an inverse transform. sometomes you want to keep the new values. sometimes you want to keep both old and new around. | |||
FROGGS | in case of max(), is there a usecase where you compare blocks? | 11:48 | |
but I see the need for :by BLOCK in various cases, but maybe not for min() and max() ;o) | 11:49 | ||
masak | r: say max( -> $a? { say "one"! }, -> $a?, $b?, $c? { say "three!" }, -> $a?, $b? { say "two!" }, :by(*.count) )() | 11:50 | |
p6eval | rakudo 3a8d48: OUTPUT«===SORRY!===Two terms in a rowat /tmp/PJcCn162Zz:1------> say max( -> $a? { say "one"!⏏ }, -> $a?, $b?, $c? { say "three!" }, - expecting any of: infix or meta-infix infix stopper» | ||
masak | oops | ||
r: say max( -> $a? { say "one!" }, -> $a?, $b?, $c? { say "three!" }, -> $a?, $b? { say "two!" }, :by(*.count) )() | |||
p6eval | rakudo 3a8d48: OUTPUT«three!True» | ||
masak | r: max( -> $a? { say "one!" }, -> $a?, $b?, $c? { say "three!" }, -> $a?, $b? { say "two!" }, :by(*.count) )() | ||
p6eval | rakudo 3a8d48: OUTPUT«three!» | ||
masak | FROGGS: like that? max on blocks. | ||
FROGGS | what the | ||
masak .oO( "you think that's air you're breathing?" ) :P | 11:51 | ||
FROGGS | *g* | ||
masak | srsly tho, blocks are just objects. they have methods. calling a block is just a weird kind of method. | 11:52 | |
FROGGS | well, I guess I get used to it, treating the first block special by automagic isnt a good thing in case you meant something else | 11:53 | |
I was just thinking that sort and max are working the same somehow | 11:54 | ||
masak | we're still treating the first block as special!? | 11:56 | |
gee, I sure hope not. | |||
jnthn | For sort? I think so... | ||
masak | oh, for sort, yes. | ||
hm. | |||
that's not likely to want to change, either. | |||
FROGGS | I never said that | ||
I wouldnt change these kind of things at this point too | 11:57 | ||
masak | it's not even an "at this point" thing in this case. | 11:58 | |
the sort($BLOCK, *@LIST) thing goes way back. | 11:59 | ||
Perl 6 is all about breaking tradition, but some things stay the way they are because they are inherently Perl. | |||
11:59
dayangkun joined
|
|||
masak | TimToady tried to reverse the parameters of split once, I think. it got into the spec and into Rakudo, but it had to be reverted once we tried it out in the ecosystem. :) | 12:00 | |
the change was just too weird. | |||
even though it got more consistent with other methods or something. | 12:01 | ||
dalek | p-jvm-prep: ba7a5bf | jnthn++ | lib/QAST/JASTCompiler.nqp: Start to port code-gen for SCs. |
||
p-jvm-prep: 248a860 | jnthn++ | src/org/perl6/nqp/runtime/ (2 files): Add SC data structure and SC tables. |
|||
p-jvm-prep: 54f66d9 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Implement wval (SC object lookup) op. Of course, no deserialization yet, so it won't find anything. |
|||
p-jvm-prep: d380c6b | jnthn++ | src/org/perl6/nqp/ (3 files): Oops, already had a SerializationContext stub. |
|||
p-jvm-prep: 555cc21 | jnthn++ | src/org/perl6/nqp/sixmodel/ (3 files): Add an SCRef REPR. This allows an SC to be referenced in an objecty way. |
|||
12:07
wk left
|
|||
grondilu | I'm quite amazed that Perl6 may target JVM soon. Has someone written something about the implications of that? | 12:17 | |
tadzik | MOAR SPEED | 12:18 | |
plus we can interoperate with JVM ecosystem | |||
which may soon mean Perl5-on-JVM | |||
aka moe | |||
grondilu | so it's potentially as huge as I thought? | 12:19 | |
(tough this make me wonder why JVM was not chosen as the target in the first place) | 12:20 | ||
diakopter | MOAR SPEED plz | ||
masak | one of these days, people, I will reveal the sublime secret of how to spell "more". | 12:22 | |
masak .oO( sheesh! ) | 12:23 | ||
:P | |||
jnthn | MOAR SPELLING LESSONS, plz | ||
colomon | grondilu: back when the p6 project started, there was no .NET and none of the cool new languages targeted JVM. It was widely believed it would be terrible for a dynamic language. | 12:25 | |
12:25
mtk joined
|
|||
moritz | www.c2lang.org/docs/c2lang_design.pdf | 12:26 | |
first example | |||
package hello_world; | |||
use stdio; | |||
func int main(int argc, char*[] argv) { | |||
\o/ | |||
[X] stealing 'package' from perl | 12:27 | ||
colomon | some people still believe that, I guess, but it sure seems like there have been a lot of compilers written in the last ten years which seem to suggest JVM and .NET are suitable to host p6. | ||
moritz | [X] stealing 'use' from perl | ||
[X] using a keyword for function defitions | |||
12:27
wk joined
|
|||
masak | moritz: wow! | 12:29 | |
Juerd | [X] Sufficiently complicated syntax for what could have been simple arrays | ||
masak | without looking at that page, the immediate impression I get is C:c2lang::JavaScrip:CoffeeScript. | ||
diakopter | I'll Scrip your Java | 12:31 | |
masak | t | 12:32 | |
diakopter | t | 12:33 | |
12:37
jlaire left
12:44
netrino is now known as zoomby
|
|||
Ulti | also C2 looks an awful lot like Go.... | 12:45 | |
tadzik | which should be a good thing. Go's awesome | 12:46 | |
Ulti | yup | ||
13:13
SunilJoshi left
13:18
SunilJoshi joined
13:19
SunilJoshi left
13:21
jlaire joined
|
|||
dalek | p-jvm-prep: 06284c1 | jnthn++ | / (6 files): Implement a bunch of SC-related ops. |
13:25 | |
p-jvm-prep: 7edcd6f | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement list_b. |
|||
p-jvm-prep: 9a95f10 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: These ops should take a tc. |
|||
p-jvm-prep: e06e1f2 | jnthn++ | / (2 files): Fix things so we make it to the deserialize op. This means the string heap and code ref lists are being assembled successfully. Commented out post-deserialization tasks for now; these will need some abstraction work later on. This means that things are in place to start the real work of implementing deserialization. |
|||
arnsholt | Oooh, serialization! | 13:28 | |
jnthn++ | |||
13:29
SunilJoshi joined
|
|||
jnthn | arnsholt: uh, no, this is just the preparation for doing the hard stuff. | 13:30 | |
FROGGS is a bit miffy because he thinks jvm gets moar love | 13:31 | ||
13:32
SunilJoshi left
|
|||
jnthn | FROGGS: moar love than what? :) | 13:32 | |
FROGGS | than me *g* | 13:33 | |
jnthn | :P | ||
13:33
SunilJoshi joined
13:34
SunilJoshi left
|
|||
moritz huggs FROGGS | 13:34 | ||
hugme: hug everyone | |||
hugme hugs everyone | |||
FROGGS | awww, thats nice | ||
13:35
SunilJoshi joined
|
|||
masak hugs FROGGS, too | 13:36 | ||
tadzik | do you know the "sandwich!" game? | 13:38 | |
phenny: "kanapka!"? | |||
phenny | tadzik: "sandwich !" (pl to en, translate.google.com) | ||
masak | tadzik: no. do tell. | 13:41 | |
tadzik | so it goes like this: I point my finger at FROGGS and shout "kanapka!" | ||
then we all form a stack of hugs and hug FROGGS until he begs to stop | |||
it's called "sandwich" because it looks like one, if formed properly | 13:42 | ||
masak | hehe. | 13:43 | |
I've been at the bottom of a hugpile of (I think) four or five once. | |||
we didn't call it "kanapka", though. just hug pile. | |||
tadzik | I guess it's known everywhere, just named differently | ||
masak | I couldn't breathe, and my phone which I had forgotten to take out of my pocket lost the ability to take pictures forever. | 13:44 | |
that said, it was an interesting experience. | |||
like being massage-pushed on all parts of the body at once. | 13:45 | ||
in retrospect though, shouting a safe-word isn't realistic when you're under four other people and can't inhale. :P | |||
dalek | p: 5c25b77 | (Tobias Leich)++ | .gitignore: rule 'nqp' matched 't/nqp/*', which is wrong |
13:46 | |
p: 8ac18c6 | (Tobias Leich)++ | / (2 files): allow identifiers to begin with "next" If one declared a sub that began with "next", "redo" or "last", it was treated like statement "next" directly followed by an identifier, which crashed. |
|||
13:46
fhelmberger left
|
|||
masak | FROGGS++ | 13:46 | |
FROGGS | I always tell my kids they should whistle if they want me to stop ;o) | 13:48 | |
arnsholt | jnthn: Well, preparation is work as well =) | ||
FROGGS | (a three and a almost two year old) | ||
13:48
colomon left
13:49
SamuraiJack left
|
|||
masak | FROGGS: that's cruel :P | 13:50 | |
FROGGS | just makes 'em stronger | ||
masak | (though perhaps the fastest way to teach them to whistle) | ||
FROGGS | I dont see any progress there *g* | ||
13:59
hash_table joined
14:00
PacoAir joined
|
|||
sqirrel | we never really explained how to whisle, did we? | 14:01 | |
<- froggs wife | |||
masak | :) | 14:02 | |
FROGGS | our secret weapon! | 14:06 | |
diakopter | women? | ||
[Coke] | FROGGS: are you in Bulgaria? | ||
if so, Здравейте! | 14:07 | ||
FROGGS | [Coke]: well, "Guten Tag" is what I say usually ;o) | 14:08 | |
[Coke] | (though looking at my freenode server, I'm guessing your round robin dns was just ... rounder) | ||
nwc10 is a bit surprised that [Coke] didn't stalk the IP address that he's connected from | 14:09 | ||
14:09
hash_table left
|
|||
[Coke] | nwc10: Laaaazy | 14:09 | |
diakopter | nwc10: what tz ar eyou | 14:10 | |
nwc10 | :-) maybe I've looked at too many IP addresses. Some reverse DNS is looking familiar | ||
CET these days | |||
[Coke] looks up FROGGS IP address. | 14:11 | ||
Yup, definitely guten tag makes more sense. I worked with a team in sofia at some point, so I always perk up when I see Bulgaria. | 14:12 | ||
FROGGS | [Coke]: you are in NL if I remember right? | 14:13 | |
[Coke] | nope. Just use a machine there to connect to irc. :) | ||
I'm in NY, US. | |||
FROGGS | ohh, okay | 14:14 | |
sorry 'bout that ;o) | 14:15 | ||
[Coke] | nwc10: were you in .au for a while or am I misremembering? | 14:16 | |
14:16
PacoAir left,
PacoAir joined
|
|||
FROGGS | we need a #perl6 world map | 14:17 | |
hoelzro | FROGGS: like the ones the XKCD guy makes? | ||
FROGGS .oO( world.pam: { #perl6 } .... # <--- new sigil) | 14:18 | ||
hoelzro: never seen it I think | |||
s/pam/map/ | |||
-.- | |||
hoelzro | FROGGS: xkcd.com/802/ | ||
masak | FROGGS, sqirrel: I wonder if you're the only married couple on #perl6. :) | 14:19 | |
moritz has to bring her wife here too | |||
FROGGS | hoelzro: no, I mean a map where you see the pins of the homes of the folks | 14:20 | |
hoelzro | oh, ok =) | ||
FROGGS | masak: no idea, looks like we are the only couple that is active at least | ||
moritz: _her_ wife? | |||
THAT's new to me ;o) | 14:21 | ||
[Coke] | we had a parrot map at one point.. | ||
masak | yes, interesting thinko :P | ||
[Coke] | but we can easily make one with the google geo api. | ||
nwc10 | [Coke]: no. You're either misremembering, or confused. There are no kangaroos here. | 14:22 | |
FROGGS | I someone would provide an url, I'd place my POI | ||
nwc10 | g | 14:23 | |
oops, wrong window :-) | |||
FROGGS | *cough* [Coke] *cough* | ||
moritz | FROGGS: grammatical gender is overrated :-) | 14:24 | |
masak | moritz++ # :) | 14:25 | |
[Coke] | nwc10: it's happening a lot today! ;) | ||
14:28
bluescreen10 joined
|
|||
masak | last day for sending in p6cc solutions, people. | 14:38 | |
timotimo | hello people | ||
nwc10 | hurry up. Because tomorrow if you're bored, your only option is going to be help jnthn on the JVM port :-) | ||
masak | :P | 14:39 | |
[Coke] | masak: do I have until end of day my time? :( | 14:40 | |
tadzik | bah | 14:41 | |
masak | I'm usually lenient in that way, yes. | ||
tadzik | examstorm killing p6cc for me again | ||
masak | doing "by end of Friday in all possible time zones". | ||
I'm pretty confident there'll be a p6cc2013, if that helps. | |||
tadzik | :) | ||
sounds good | |||
maybe I'll make a summer edition | 14:42 | ||
masak | ooh | ||
timotimo | nqp: my @a := List.new; nqp::push(@a, "1"); | ||
p6eval | nqp: OUTPUT«push_pmc() not implemented in class 'NQPMu'current instr.: '' pc 95 ((file unknown):163248328) (/tmp/En3f0hnw12:1)» | ||
timotimo | nqp: my @a := []; nqp::push(@a, "1"); | ||
p6eval | nqp: ( no output ) | ||
timotimo | oh, that's how that works | ||
tadzik | masak: do want? :) | 14:43 | |
masak | timotimo: List != Array | ||
tadzik | I think it's doable | ||
moritz | masak: NQP doesn't have lists | ||
masak | tadzik: yes, I like the idea. | ||
timotimo | i thought list was the one you could easily push into and array was static-sized. apparently it's the other way around? | ||
jnthn | nqp: my @a := nqp::list(); nqp::push(@a, "1"); | ||
p6eval | nqp: ( no output ) | ||
jnthn | ;) | ||
masak | moritz: oh! but my point still stands. NQPMu != Array. :P | ||
jnthn | nqp::list() is what [] desugars too ;) | 14:44 | |
masak | tadzik: I'd be grateful if you marketed the thing a bit differently, so that the events are distinct. but mostly to make people confuse them less. | ||
tadzik | masak: I'll consider that | ||
masak | tadzik: calling yours "p6cc" might be a less-than-perfect idea, for example ;) | 14:45 | |
tadzik | I'll probably ask you for organizational tips when the time is right :) | ||
masak | oh, certainly. | ||
timotimo | STBCC: Summer Time Buterfly Coding Competition | ||
moritz | SOCC, Sumer Of Coding Contest :-) | 14:46 | |
tadzik | :D | ||
FROGGS .oO( "SPEW" - Society for the Promotion of Elfish Welfare ) | 14:47 | ||
masak | TDD - tadzik's developer derby | ||
jnthn | .oO( Why did FROGGS have to bring that up... ) |
||
14:47
SunilJoshi left
|
|||
moritz | FROGGS: isn't that "Warfare"? :-) | 14:48 | |
FROGGS | bah | ||
tadzik | moritz: moreover, isn't that Elvish? | ||
FROGGS | .phenny "Banausen"? | ||
phenny: "Banausen"? | 14:49 | ||
phenny | FROGGS: "Clods" (de to en, translate.google.com) | ||
FROGGS | ahh | ||
tadzik | or maybe Elven | ||
FROGGS | ;o) | ||
tadzik | Insensitive Bananen | ||
FROGGS | hehe | ||
Sh*t is bananas <- somebody has to explain that to me | |||
tadzik | "x is bananas" like "x is crazy" | 14:50 | |
14:50
SunilJoshi joined
|
|||
tadzik | same for "x goes bananas" | 14:50 | |
FROGGS | (Gwen Stefani)-- # for that | ||
stupid text anyway | |||
tadzik | maybe she meant it the other way around | ||
not everyone likes banans ;_; | |||
FROGGS | perfectly true | 14:51 | |
[Coke] | masak: excellent. I have some fixes to submit, even if I don't any more coding done. but I have $dayjob and $pokergame today. | 14:52 | |
14:54
stopbit joined
|
|||
[Coke] | masak++ for hosting the contest. | 14:56 | |
timotimo | i'm still doing something wrong with my push, it seems. push_pmc() not implemented in class 'Array', but i initialise that parameter with []. what could be going wrong? | ||
masak | timotimo: nopaste some code? | 14:57 | |
jnthn | timotimo: Confusing NQP types and Perl 6 types, perhaps? | ||
moritz agress with jnthn | |||
timotimo | ah, that might be the case. | ||
moritz | push_pmc should be called on an RPA (or QRPA) | ||
timotimo | my complete diff is here: sprunge.us/CIGI | 14:58 | |
find the push in apply_trait in the evaluator sub | |||
it's initialised down in the implementation of "is" with *%fail | |||
14:59
TimToady left,
cedrvint joined,
doy joined,
TimToady joined
|
|||
FROGGS | cool | 15:00 | |
timotimo++ # thats an awesome idea | |||
timotimo | the things you do when you get bored ;)) | ||
moritz | timotimo: $payload.suggestions.push(...) might work | ||
$payload.suggestions semss to be a Perl 6 type | 15:01 | ||
oh, and mit need to be | |||
FROGGS | s/mit/might/ | ||
timotimo | oh, yeah, that implementation of is is in perl6 space! | ||
in hindsight it's pretty obvious | 15:02 | ||
moritz | $payload.suggestions.push(nqp::box_s($name, self.find_symbol(['Str'])) | ||
) | |||
to make sure it's a Perl 6 string | |||
best look up the Str type object outside of the sub | |||
15:03
SunilJoshi left
|
|||
moritz | speaking of which, in Perl6::World, all references of $*W can likely be replaced with 'self' | 15:03 | |
15:03
SunilJoshi joined
15:04
SunilJoshi left
15:05
SunilJoshi joined
|
|||
timotimo | closing in on the first properly working version of this code! :D | 15:06 | |
moritz | \o/ | 15:07 | |
FROGGS | moritz: how easily can p6eval be told to compile all rakudo branches and make them available here? | ||
timotimo | pugs: say "my name" | 15:08 | |
p6eval | pugs: OUTPUT«my name» | ||
timotimo | also, how can pugs output its version, too? | ||
kresike | bye folks | 15:09 | |
15:09
kresike left
|
|||
timotimo | wasted a compile cycle to writing "sel" instead of "self" :| | 15:11 | |
FROGGS | ohh, three minutes lost ó.ò | ||
but I dont really like these things too | |||
moritz | FROGGS: not easily | 15:12 | |
timotimo: it needs a file where its version is written down | |||
timotimo | it's in .git/HEAD :P | 15:14 | |
15:14
SunilJoshi left
|
|||
moritz | erm, what? | 15:14 | |
jnthn | .oO( Only if your HEAD is detached... ) |
15:15 | |
moritz | the version of the pugs binary built on p6eval is in .git/HEAD? | ||
timotimo | oh, that's true | ||
benabik | .git/HEAD will usually contain something like 'ref: refs/heads/master' | ||
timotimo | ===SORRY!=== | 15:16 | |
Foo cannot inherit from VersionW because it is unknown.\nDid you mean Version | |||
jnthn | wow :) | ||
FROGGS | cool | ||
jnthn | Mebbe we should do this for undeclared variables too | ||
sjn | o_O | 15:17 | |
whoa | |||
timotimo | jnthn: you said i only had to care about things where nqp::isconcrete gives 0, but when i walk all my blocks, i get all kinds of things that seem like they should be non-concrete, like Rat or Grammar or Hash | ||
FROGGS | we should, since there is no slowdown when all goes well in someones code... | ||
jnthn | timotimo: It's about type objects | ||
timotimo: So yes, Rat, Grammar and Hash are type objects | |||
timotimo | maybe it's because those come from the symbol tables of QAST::Block objects and they are nqp-level or something? | ||
jnthn | timotimo: Youv'e walked into the setting. | 15:18 | |
Lemme check the code... | |||
+ if nqp::istype($_.value, QAST::Block) { | 15:19 | ||
That will never be true | |||
ah, yeah, this is fairly wrong... | |||
timotimo | heh, ok :) | ||
jnthn | %symtable maps each registered name to a hash | 15:20 | |
If that hash has a key value, then the actual symbol is in there | |||
That's what you need to look at | |||
timotimo | oh! i see | 15:21 | |
that hash will only ever have one key? | |||
or none? | |||
jnthn | for %symtable { if nqp::existskey($_.value, 'value') { $code($_.key, $_.value<value>) } } # or so | 15:22 | |
timotimo: The hash will potentially have a load of keys | |||
timotimo: If the value is known at compile time (which it always is for types) then it will certainly have a value key | |||
For things like variables, there ain't one. | |||
15:23
MayDaniel joined
15:24
jaldhar left
15:28
hash_table joined
|
|||
timotimo | No type check cache and no type_check method in meta-object - whaaa, how did i get this error :o | 15:31 | |
masak | is this the first month that Rakudo has released *before* Parrot? | 15:33 | |
jnthn | timotimo: urgh | ||
timotimo | jnthn: it seems to happen from the $_.value<value> line (although it was checked with existskey first) | 15:34 | |
jnthn | timotimo: I'm not sure off hand. Can you show me the code and the output of --ll-exception? | ||
timotimo | sure thing | ||
first the code: sprunge.us/OObV | |||
and this is the ll-exception output: sprunge.us/SXOf | |||
lines around 1400 refer to the evaluator block, 1800+ refer to walk_blocks | 15:35 | ||
tadzik | jnthn: nqp-jvm-prep tests fail, right? | ||
[Coke] | tadzik: running them now to check | 15:38 | |
where are you seeing failures, OOC? | 15:39 | ||
tadzik | JASTCompiler doesn't compile | 15:40 | |
[Coke] | all tests successful here. | ||
tadzik | Error while compiling block : Error while compiling block : Error while compiling block deserialization_code: Error while compiling op bind: Error while compiling op serialize: No registered operation handler for 'serialize' | ||
[Coke] | tadzik: you need a newer nqp | ||
tadzik | oh | ||
[Coke] | I am using 2012.12-49-g4084b68 | ||
tadzik | yeah, I'm no -39 | ||
thanks | 15:41 | ||
timotimo | i'm considering considering a case-error in levenshtein as only 0.5 instead of 1 distance. seems good? | 15:42 | |
masak | I wouldn't be able to answer "yes" without actually using the result a bit. | 15:43 | |
are you doing this with tests backing you up? | |||
timotimo | only the one >_< | ||
i will of course write tests before i push this upstream | 15:44 | ||
arnsholt | A priori, I'd agree with making casing less wrong than wrong character | ||
tadzik | std: my %a = foo-bar => 5 | 15:45 | |
p6eval | std 7deb9d7: OUTPUT«ok 00:00 42m» | ||
jnthn | r: say nqp::istype(CORE::<!CORE_MARKER>, Mu) | 15:46 | |
p6eval | rakudo 3a8d48: OUTPUT«No type check cache and no type_check method in meta-object in block at /tmp/4Tm6txbCew:1» | ||
masak | ywa, I agree a priori, too. | ||
15:46
benabik left
|
|||
jnthn | timotimo: Seems that symbol is to blame... | 15:46 | |
timotimo | jnthn: easy, just hard-code a check for that! ... ... >_< | ||
jnthn | timotimo: uh, for now, but I wanna fix it. | ||
timotimo | i'll put an XXX there or a FIXME | 15:47 | |
do you think checking $_.key against "!CORE_MARKER" is good enough for now? | |||
jnthn | timotimo: That'll do for now yes | ||
timotimo | i'm still thinking about what the best way to do the cut-off for levenshtein is. i think a solid number like "4" is dumb. maybe half the length of the thing plus one? or maybe calculate all distances and enumerate up to 5 of the shortest-distance-words? | 15:49 | |
moritz | if you always take the 5 best, you'll usually include some very bad crap | 15:51 | |
timotimo | hm. got an example? | 15:52 | |
ah, you mean if the best one has a score of 100? | |||
okay, so a cut-off should definitely be there. like "changing every letter of the original word is not helpful" | |||
moritz | right | ||
timotimo | but this is all fine-tuning for when it actually works properly in the first place :) | ||
masak | my expectations as a user is to only include one really good guess. maybe I would have the patience to read two or three. | ||
but then they'd all have to be really good guesses. | 15:53 | ||
moritz | aye | ||
timotimo | hm, yes, good point. | ||
good guess > no guess > bad guess | |||
moritz | $ git dif | ||
git: 'dif' is not a git command. See 'git --help'. | |||
Did you mean one of these? diff dch | |||
I don't think I meant 'dch' :-) | |||
timotimo | i don't even have dch! | 15:54 | |
is that an alias you made? | |||
moritz | git-dch - Generate the Debian changelog from git commit messages | ||
timotimo | ah, ok | ||
moritz | part of the git-buildpackage debian package | ||
timotimo | there's another symbol in the tables that gives the same error as !CORE_MARKER. i'll hunt it down, though. | 15:55 | |
[Coke] | I like "no more than 3 but they better be really good." | ||
masak | right. if you have one good solution and two crap ones, show me the good one. | 15:58 | |
[Coke] | timotimo++ btw. | ||
timotimo | can i sort with a swartian transform in nqp? | ||
∑:3 | |||
jnthn | timotimo: Testing a patch for the !CORE_MARKER thing here | 15:59 | |
timotimo | do the same thing for NQPCursorRole, too please | ||
16:00
fgomez left
|
|||
jnthn | um, that wouldn't explode with that error. | 16:01 | |
*shouldn't | |||
timotimo | i added a say $_.key before the $_.value<value> dereferenciation and that was the last thing that came up | ||
jnthn | r: say CORE::<NQPCursorRole> | 16:02 | |
p6eval | rakudo 3a8d48: OUTPUT«No method cache and no find_method method in meta-object in sub say at src/gen/CORE.setting:7559 in block at /tmp/zvW1DmxHtP:1» | ||
jnthn | r: say nqp::istype(CORE::<NQPCursorRole>, Mu) | ||
p6eval | rakudo 3a8d48: OUTPUT«No type check cache and no type_check method in meta-object in block at /tmp/C1EnyBxFj2:1» | ||
jnthn | hm | ||
That needs fixing in a different place, however. | 16:03 | ||
dalek | p: 56d2292 | jnthn++ | src/how/NQPClassHOW.pm: Remove outdated comment. |
||
p: 5826673 | jnthn++ | src/QAST/Operations.nqp: Provide nqp:: ops for low-level iterator usage. NQP will continue to support the $_.key/$_.value approach for hash iteration in normal code. However, off Parrot this will be provided through the NQPCORE.setting, and thus is not available to the MOP. Essentially, these ops are to saw a circularity that we got away with up until now, but isn't really sensible to burden other backends with. |
|||
p: 1bcaac4 | jnthn++ | src/QAST/Operations.nqp: Add ops for get/set of a coderef's name. |
|||
p: 3b7e5a3 | jnthn++ | src/stage0/ (9 files): Update bootstrap. |
|||
p: ce967e9 | jnthn++ | src/how/ (5 files): A variety of circularity-sawing MOP updates. |
|||
p: e29532a | jnthn++ | src/ (15 files): Merge branch 'mop-cleanup' |
|||
timotimo | should i rebase off those commits? | 16:04 | |
jnthn | timotimo: oh, that wasn't it | ||
timotimo: I was just merging a branch there. | |||
(Unrelated to the fix I'm testing for you :)) | |||
timotimo | OK | 16:05 | |
now it gets through all objects, but i think i made a mistake in my levenshtein or something | |||
VersionTwo is 13 away from our goal - since the goal is VersionW, that should definitely not be 13 | 16:06 | ||
unless i'm running into a case where the V from VersionTwo would not eq the V from VersionW, or something | 16:07 | ||
due to boxedness/unboxedness | |||
is that a possibility? | |||
jnthn | I'm pretty sure eq works correctly ;) | 16:08 | |
masak .oO( but what *is* equality, from a philosophical standpoint? ) :P | |||
16:10
dakkar left
|
|||
dalek | kudo/nom: ebb415d | jnthn++ | src/Perl6/Grammar.pm: Add some missing compose calls. Prevents some weird errors when trying to look through CORE. |
16:11 | |
16:14
kaare_ joined
|
|||
timotimo | jnthn: does that fix NQPCursorRole, too? | 16:14 | |
bbiab | 16:16 | ||
jnthn | no | 16:18 | |
16:18
fgomez joined
|
|||
dalek | p: 769044f | jnthn++ | src/how/NQP (2 files): Fix missing type check and method caches. |
16:26 | |
kudo/nom: 98a4a8a | jnthn++ | tools/build/NQP_REVISION: Get NQPCursorRole non-explodey fix. |
16:31 | ||
jnthn | timotimo: OK, that should do it :) | ||
r: .say for CORE::.keys | 16:32 | ||
p6eval | rakudo 3a8d48: OUTPUT«Baggy&bag&infix:<(.)>&infix:<(+)>Version&infix:<=>&infix:<does>&infix:<but>&SEQUENCE&WHAT&infix:<...>&infix:<...^>&undefine&prefix:<temp>&prefix:<let>&INDIRECT_NAME_LOOKUP&REQUIRE_IMPORT&infix:<andthen>&METAOP_ASSIGN&METAOP_TEST_ASSIGN:<//>&META… | ||
16:34
grondilu left
16:38
spider-mario joined
|
|||
timotimo | "Can not get attribute '$!ex' declared in class 'Exception' with this object" - what might i be doing wrong here? | 16:44 | |
moritz | timotimo: you might be missing a p6decont() | 16:45 | |
erm, nqp::p6decont | |||
timotimo | when i use --ll-exception i can see my own exception: "Foo cannot inherit from VersionW because it is unknown." (although the @.suggestions doesn't seem to work) | ||
moritz | ie you're calling the getattr on the container, not the actual object | 16:46 | |
I guess I'd need to see the actual diff; but have to decommute now | |||
timotimo | oh, i may be rethrowing a containered exception | ||
16:54
johnjohn101 left
|
|||
timotimo | or maybe i have to wrap the list that i created with [] before passing it to X::Inheritance::UnknownParent.new. | 16:54 | |
16:54
johnjohn101 joined
16:56
johnjohn101 left
16:57
johnjohn101 joined
17:00
thou joined
17:03
Chillance joined,
FROGGS left
17:21
skids joined
17:31
hoelzro is now known as hoelzro|away
17:34
kaleem joined
|
|||
[Coke] hurls twitter.com/pdcawley/status/292317748401410049 for masak. | 17:44 | ||
17:46
SamuraiJack joined
17:48
stevan_ joined
17:52
colomon joined
17:53
atrodo_ joined
17:55
atrodo left
|
|||
masak | ^ autopun :) | 17:55 | |
17:55
atrodo_ is now known as atrodo
|
|||
masak | (I'm tagging them because then I can find them easily in the backlog) | 17:55 | |
17:57
stevan_ left,
Myk267 joined
|
|||
johnjohn101 | is perl 6 official yet? | 18:03 | |
TimToady | Who's officiating? | 18:04 | |
[Coke] | Yes, have some. | ||
johnjohn101 | was going to experiment with some rakudo on ubuntu | 18:05 | |
TimToady | Perl 6 is much more complete than Perl 1 was when it came out... :) | ||
Su-Shee | TimToady: you're not wearing your officiating sash. | ||
johnjohn101: go ahead, works. | |||
18:06
stevan_ joined
|
|||
TimToady | niecza tends to run a bit faster, if you need more speed, but has complementary warts to rakudo :) | 18:07 | |
[Coke] | if you like haskell, there's another option, but you have to really like haskell. | ||
johnjohn101 | will niecza work with mono? | ||
TimToady | yes | ||
I've been using that combo regularly for about two years now for production-ish code | 18:08 | ||
what's there has been very solid | |||
johnjohn101 | what would be the advantage over perl 5, in your opinion? | ||
can you use c# class objects (or whatever it's called). | |||
Su-Shee | johnjohn101: there is no perl5 written in c#.. | 18:09 | |
johnjohn101 | i understand that. but perl 5 seems to work fine with linux. | ||
TimToady | The advantage of Perl 6 is that it fixes most of the problems pointed out in the 361 RFCs from 12.5 years ago, and Perl 5 hasn't fixed most of 'em eyt | ||
*yet | |||
Perl 5 is still a fine language, it's just that Perl 6 is finer, but for the speed | 18:10 | ||
well, and CPAN | |||
Su-Shee | johnjohn101: well, what's your goal exactly? curiosity? then go ahead and try it. like fancy features? try it, too. need to hack together some production thing fast with 10 modules? then don't try it. | 18:11 | |
[Coke] | johnjohn101: if you already have a large corpus of perl5 code, no one is expecting you to convert to 6. | ||
johnjohn101 | so perl 5 is still faster but perl 6 is better language? | ||
[Coke] | johnjohn101: basically. | ||
geekosaur | perl6 is still being optimized; get it right first, then speed it up | ||
TimToady | if you compare examples on rosettacode.org, you'll see that the p6 code tends to be cleaner and more elegant | ||
johnjohn101 | gotcha | 18:12 | |
my big thing for not doing perl six is no odbc yet. I do a lot of db work | 18:14 | ||
diakopter | Su-Shee: actually Microsoft had an internal project to do so while prototyping .NET before it was released, with the goal of providing enough "unsafe" features to the unsafe portion of C# that a Perl implementation could be written in C#... it was never released publicly, I'm sure because it just wasn't worth productizing it, if even to demo the potential for the language | 18:15 | |
johnjohn101 | ironperl!! | 18:16 | |
diakopter | no, many years before the DLR | 18:17 | |
18:17
quester joined
|
|||
masak | ooh, going through all of the 361 RFCs, seeing where Perl 5 is today (and where Perl 6 is today) wrt to them, would make a great blog post. or thirty or so. | 18:17 | |
would probably need some planning, in fact :) | 18:18 | ||
johnjohn101 | i'd love to see all that spelled out | ||
diakopter | I thought Damian did that in that 2001 paper | ||
oh wait; that was 2001 | |||
masak | ;) | ||
johnjohn101: do you know about the Apocalypses or the Synopses? | |||
johnjohn101 | not a clue | 18:19 | |
masak | johnjohn101: basically, the Apocalypses lay out the direction for the Perl 6 design, and the RFC'd promises it lives up to. | ||
it's still a great read if you want to know what Perl 6 *is*. | |||
johnjohn101 | i'll look for it | ||
what got me back looking at perl 6 was a very recent blog on how to fix perl | |||
masak | but they're 8 to 12 years old, so they're a bit inaccurate at this point. | 18:20 | |
the Synopses are up-to-date, but they're talking about the *current* design of Perl 6. everything we know about the language in one place. | |||
johnjohn101: oh, chromatic's post. | |||
TimToady | or stevan's? | 18:21 | |
masak | johnjohn101: anyway, have a look at perlcabal.org/syn/ for the Apocalypses and the Synopses. | ||
johnjohn101: or perl6.org/ in general for all kinds of leads and docs. | |||
johnjohn101 | the one that wanted to move it to scala or something like that | ||
masak | could still be both :) | ||
but yeah, stevan++ is working on that. | |||
TimToady | we're bypassing Scala and going straight to the JVM soon | 18:22 | |
johnjohn101 | is perl.org really going to lose funding as he mentions? | ||
seriously moving to jvm? | |||
TimToady | adding it as a backend, yes | ||
jnthn | Not so much moving as additionally supporting. | ||
TimToady | jnthn++ is currently working on it | ||
[Coke] | where do you see "perl.org losing funding" ? | 18:23 | |
TPF seems to have had a pretty good year, according to their annual statement. | |||
masak | maybe referring to the "only booking.com actually use Perl" snipe stevan_ made in his talk. | 18:24 | |
johnjohn101 | yeah. Hey, I've paid my dues trying to implement a modern VM and modern Perl implementation. The real question is whether an alternate implementation of Perl 5 can demonstrate its value for real programs before Booking.com's money runs out keeping Perl 5 on life support. | ||
that's the quote. i was in shock when i read that | |||
masak | he's... exaggerating. | ||
johnjohn101 | figured it was a lot of FUD but didn't know enough to make a real judgement | 18:25 | |
masak | but at this point, maybe scaring people into action is a good thing. | ||
dalek | rl6-roast-data: e44a55a | coke++ | / (4 files): today (automated commit) |
||
masak | while it's not the truth, it's sorta kinda shaped the same way as the truth. | ||
[Coke] | yay, pugs is failing the least # of tests. ;) | ||
TimToady | truthinessiness | ||
masak | [Coke]: speaking of truthiness :P | 18:26 | |
TimToady wouldn't mind if pugs tried a little harder :) | |||
TimToady wonders in johnjohn101's general direction how hard it would be to add an odbc driver to DBIish... | 18:27 | ||
[Coke] | TimToady: I just need someone who speaks haskell. | 18:28 | |
I have a ton of small tasks that could improve pugs, I just can't do them myself. :) | |||
geekosaur notes that he has not relly beein in a position to do useful things | |||
TimToady | [Coke]: you need someone whose native tongue is haskell | ||
18:29
wk left
|
|||
johnjohn101 | what would haskell be used for? with perl 6 that is. | 18:30 | |
arnsholt | Pugs, the very first Perl 6 compiler is implemented in Haskell | ||
TimToady | pugs: say 'hi' | ||
p6eval | pugs: OUTPUT«hi» | ||
johnjohn101 | gotcha, I see | 18:31 | |
[Coke] | counting by spectests, it does about 1/3 of what rakudo and niecza do. | ||
drove a lot of initial design back and forth, and gave us the spec test suite. | |||
timotimo | so i set up my desktop at home so that i can ssh to it, except it seems to drop connections from outside the local area network >_< | 18:32 | |
[Coke] | If we could get "bless" to work in classes, that'd give us a few hundred more passes from the trig stuff. | 18:33 | |
masak | I've always pictured myself as helping a lot with getting Pugs back on its feet. | 18:36 | |
but the tuits never seem to materialize. :/ | |||
[Coke] | I can find you a small task if you like. | 18:37 | |
masak | we could try that :) | ||
18:38
kst joined
|
|||
[Coke] | pugs: my $str = "foobar"; say substr($str, *-1); | 18:42 | |
p6eval | pugs: OUTPUT«foobar» | ||
[Coke] | pugs: my $str = "foobar"; say substr($str, -1); | ||
p6eval | pugs: OUTPUT«r» | ||
masak | ooh. | ||
[Coke] | Pugs has a few cases like that where the whatevercode isn't respected (and the old perl5 style still is) | ||
t/spec/S32-str/substr.t | 18:43 | ||
masak | p: (* + *)(5) | ||
p6eval | pugs: OUTPUT«*** Cannot cast from VNum Infinity to VCode (VCode) at /tmp/6G9kaNbRCP line 1, column 1 - line 2, column 1» | ||
TimToady | while you're in there, you could add a MOP as well :) | ||
masak | TimToady: sure, as long as it fits within the "small task" category :P | ||
jnthn | masak: I can give you some ideas on a design :P | 18:44 | |
dalek | p-jvm-prep: 3c67db0 | jnthn++ | src/org/perl6/nqp/ (4 files): Get serialized blob from Base64; stub reader. |
||
p-jvm-prep: d5fa57f | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationReader.java: Port serialization blob header read/disection. |
|||
[Coke] | masak: added github.com/perl6/Pugs.hs/issues/26 for you. | ||
diakopter | jnthn: I'll get you and your dissection someday | ||
TimToady | ...and your little dog, too! | 18:45 | |
jnthn | :P | ||
Seems I've reached the point where I gotta think rather than just port stuff. Guess that means it's dinner time... :) | |||
timotimo | github.com/timo/rakudo/tree/levenshtein - having trouble getting the exception actually thrown. currently building to figure out what the error du jour is | 18:46 | |
[Coke] | noooo | ||
diakopter | wait, you mean there's some harder kind of programming than porting? | ||
jnthn | diakopter: stouting. | ||
diakopter | s/harder/other/ | ||
[Coke] | LHF: roast has 'thrid' in several spots. | 18:47 | |
18:47
FROGGS joined
|
|||
TimToady doesn't think stout is harder than port | 18:47 | ||
18:47
am0c left
|
|||
FROGGS | local or remote port? | 18:48 | |
g'evening btw | |||
TimToady | all of it is local to begin with | ||
diakopter | sterr is definitely harder than port | ||
jnthn | TimToady: Clearly we haven't encountered the same stouts ;) | 18:49 | |
mikemol | Can't niecza use .net's ODBC bindings? | ||
jnthn wonders off to the shop to find some food | |||
uh, wanders | |||
& | |||
[Coke] | p: say Inf.Int | 18:50 | |
p6eval | pugs: OUTPUT«1797693134862315907729305190789024733617976978942306572734300811577326758055009631327084773224075360211201138798713933576587897688144166224928474306394741243777678934248654852763022196012460941194530829520850057688381506823424628814739131105408272371633505106845862982399472… | ||
[Coke] | p: say ~Inf.Int | ||
p6eval | pugs: OUTPUT«1797693134862315907729305190789024733617976978942306572734300811577326758055009631327084773224075360211201138798713933576587897688144166224928474306394741243777678934248654852763022196012460941194530829520850057688381506823424628814739131105408272371633505106845862982399472… | ||
[Coke] | masak: that should be "Inf" | ||
timotimo | Method 'ast' not found for invocant of class 'String' <- :| | ||
18:51
ravi joined,
ravi is now known as Guest11927
|
|||
TimToady | p: say Inf.WHAT | 18:51 | |
p6eval | pugs: OUTPUT«Num()» | ||
TimToady | huh | ||
Guest11927 | #help | ||
TimToady | No help available. | 18:52 | |
[Coke] | TimToady: weird, since we know there's a VInfinity type. | ||
p: say rand * Inf | 18:53 | ||
p6eval | pugs: OUTPUT«***  Unexpected "Inf" expecting operator, ":" or "," at /tmp/cbyaTvpZ8o line 1, column 12» | ||
TimToady | p: say NaN.WHAT | ||
p6eval | pugs: OUTPUT«Num()» | ||
TimToady | p: say NaN | ||
p6eval | pugs: OUTPUT«NaN» | ||
TimToady | p: say NaN.Int | ||
p6eval | pugs: OUTPUT«-269653970229347386159395778618353710042696546841345985910145121736599013708251444699062715983611304031680170819807090036488184653221624933739271145959211186566651840137298227914453329401869141179179624428127508653257226023513694322210869665811240855745025766026879447359920… | ||
TimToady | I guess the … makes it not a number... | 18:54 | |
I dunno, might be easier just to port NQP to run on Haskell... | |||
[Coke] | I was JUST thinking that. | 18:55 | |
creepy. | |||
TimToady | maybe we need an nqp-porters mailing list... | 18:56 | |
timotimo | nqp on pypy? :] | 18:57 | |
[Coke] | Looking forward to the giant refudge that will be necessary once we have a jakudo. | 18:58 | |
18:58
Guest11927 left
|
|||
johnjohn101 | is there help to get niecza installed and up and running? may mess with that. | 18:58 | |
arnsholt | NQP and Rakudo on PyPy would be kind of hilarious, actually =D | 18:59 | |
PerlJam | johnjohn101: if you ask here, I'm sure someone will help you :) | ||
TimToady | :P | ||
18:59
atrodo left
|
|||
timotimo | arnsholt: at least it'd have a pretty nice JIT | 18:59 | |
PerlJam | johnjohn101: I got it going on ubuntu with minimal problems (had to install some .debs) | ||
18:59
atrodo joined
|
|||
TimToady | johnjohn101: probably a link on perl6.org | 18:59 | |
timotimo | Method 'ast' not found for invocant of class 'String' - how did i get this error to happen? :\ it seems like it comes from trying to have the %seen here: github.com/timo/rakudo/blob/levens...d.pm#L1467 | 19:03 | |
indeed, removing those next if nqp::existskey(%seen, $name-str); and %seen{$name-str} := 1; makes it work again (but i get a different error) | 19:05 | ||
19:05
donaldh joined
19:06
kaleem left
|
|||
FROGGS | timotimo: can you try to pass the key to existskey as an unboxed one? | 19:06 | |
timotimo | sure. with nqp::payload? | ||
FROGGS | since this isnt: github.com/timo/rakudo/blob/levens...d.pm#L1951 | 19:07 | |
timotimo | er, getpayload is the name | ||
FROGGS | dont know about payload ;o) | ||
TimToady | FROGGS: the problem with your acronym is that a native English speaker would always say "Try it and see." | 19:08 | |
johnjohn101 | perl6 on .net. who'd have thunk it. | 19:09 | |
FROGGS | TimToady: what acronym? | ||
TimToady | irclog.perlgeek.de/perl6/2013-01-12#i_6325304 | ||
FROGGS | ahh, k ;o) | 19:10 | |
TimToady | you'd only ever get 'to see' if you followed it up something: "try it to see if it works", and even then, you'd likely get 'and' instead of 'to' | 19:11 | |
FROGGS | TimToady: since you are somewhere in the logs, can you have a look at this question please? irclog.perlgeek.de/perl6/2013-01-10#i_6316425 | ||
skids | NNTYTI "Never know..." | 19:12 | |
TimToady | FROGGS: in theory that kind of stuff should already show up in the .syml file | ||
FROGGS | TimToady: still like to scream TITS! here now and then | ||
skids | oh nktyti | ||
TimToady | FROGGS: yes, well, we do want to keep this a butterfly friendly place from time to time | 19:13 | |
FROGGS | that's what I thought too, since it is a bit dangerous to rely on that bit of magic, so the auth has supply this information in the metadata | ||
TimToady | but I understand that we all carry a bit of our junior high days around with us :) | ||
timotimo | FROGGS: using $name instead of $name-str didn't help (unless i broke it again by using $name in %seen{$name}. | 19:14 | |
FROGGS | timotimo: I can try to hunt that bug down later, so in an hour when kids are sleeping (and not singing anymore, loudly) | 19:15 | |
masak | FROGGS: in this acronym, does the German expression use the word corresponding to "to"? | 19:16 | |
timotimo | cool, thank you :) | ||
masak | "versuchen, es zu sehen" or some such? | ||
Su-Shee | masak: "um ... zu" is the basic construct. | 19:20 | |
timotimo | still no idea how to get "Can not get attribute '$!ex' declared in class 'Exception' with this object" gone again :| | 19:21 | |
and, even more confusing, i get messages that there were things pushed to the @.suggestions, but the message method of the exception returns "Foo cannot inherit from VersionW because it is unknown." anyway (without the suggestions) | 19:22 | ||
jnthn | timotimo: Latest patch? | 19:26 | |
jnthn can glance while his nom cooks :) | 19:27 | ||
timotimo | yes, it's up on my github in the levenshtein branch | 19:28 | |
do i really have to rebuild CORE.setting every time i change even something in src/Perl6? | 19:29 | ||
hm, probably :| | |||
jnthn | yeah | ||
PerlJam | timotimo: there's a reason we tend to prototype things that would go in CORE outside of CORE :) | ||
timotimo | yeah, i can totally see that | 19:30 | |
[Coke] wonders if that'll be faster to rebuild on jakudo. | |||
timotimo | that'd be fine | ||
[Coke] will keep using that until someone comes up with something better. :) | |||
jnthn | timotimo: hm, I don't see it? | ||
timotimo: Or is your github ID not your irc name? :) | |||
PerlJam | [Coke]: and the haskell backen will beget hakudo ? | 19:31 | |
er, s/backen/backend/ | |||
timotimo | oh, the github id is just timo | ||
jnthn | oh | ||
:) | |||
timotimo | i got in pretty early :) | ||
SixModelObject does not implement get_pmc_keyed_str when i throw what i get from nqp::getpayload($_) in the rethrow, so at least i know that the error does come from that rethrow | 19:32 | ||
19:32
wk joined
|
|||
jnthn | my $dist := levenshtein($payload.parent, $name); | 19:33 | |
You probably want to do my $dist := levenshtein(nqp::unbox_s($payload.parent), $name); | 19:34 | ||
19:34
johnjohn101 left,
johnjohn101 joined
|
|||
masak | Su-Shee: thank you. | 19:35 | |
[Coke] | pugs: "\c[LATIN CAPITAL LETTER A WITH DOT ABOVE, COMBINING DOT BELOW]".chars.say | 19:36 | |
p6eval | pugs: OUTPUT«62» | ||
jnthn | timotimo: And self.rethrow($/, $ex); may just want to be nqp::rethrow($ex) | 19:37 | |
19:37
SamuraiJack left
|
|||
timotimo | "not a throwable object" | 19:43 | |
oh, oops, made a silly mistake again | |||
19:43
fgomez left
|
|||
timotimo | those compile times are driving me insane, very slowly. | 19:45 | |
nqp::rethrow gives me "Can not get attribute '$!ex' declared in class 'Exception' with this object" again :( | 19:48 | ||
arnsholt | timotimo: Yeah, it's a bit crazy | ||
For my dyncall work I discovered I could work around it by just recompiling a single so file | 19:49 | ||
19:50
fgomez joined
|
|||
arnsholt | Which is a LOT quicker than recompiling all of NQP and then all of Rakudo | 19:51 | |
timotimo | now i don't know any more how to proceed :( | 20:03 | |
moritz | timotimo: show me the patch? | 20:04 | |
20:07
MikeFair_ joined,
MikeFair left
|
|||
timotimo | moritz: github.com/timo/rakudo - it's here in the levenshtein branch | 20:08 | |
moritz | timotimo: it'll take a while for me to build it | 20:13 | |
timotimo | yeah, i know that feel :( | 20:14 | |
20:14
stevan_ left
|
|||
moritz builds it on the faster machine | 20:15 | ||
jnthn back from food | 20:16 | ||
colomon is just starting food | 20:17 | ||
timotimo is craving food | |||
jnthn builds timotimo's branch also | 20:19 | ||
moritz | ok, built | 20:20 | |
timotimo | i'll try to get some food | 20:22 | |
moritz | timotimo: I'm doing a nqp::say(pir::typeof__SP($!)) right before the line that dies | 20:23 | |
h, the type is X::AdHoc | 20:26 | ||
FROGGS | not very informative though | 20:27 | |
FROGGS build also | |||
builds* | |||
moritz | ah, since it's a perl object, you can call .perl on it, and print it | 20:28 | |
jnthn | Here's a patch: gist.github.com/a113bd54654a940a51df | 20:31 | |
timotimo: ^^ | |||
20:32
bluescreen10 left
20:35
bluescreen10 joined
20:36
vividsnow joined
20:41
benabik joined
|
|||
moritz | EXCEPTION X::AdHoc.new(payload => "elements() not implemented in class 'Array'") | 20:41 | |
jnthn | moritz: yeah, it's 'cus nqp::join got used on a Perl 6 Array. | 20:43 | |
20:47
johnjohn101 left
|
|||
moritz | yes, one needs to be very careful about which types are Perl 6 and which ones are parrot | 20:49 | |
[Coke] | seems odd that a function called "nqp::join" only works on parrot. | 20:50 | |
(not when I think about it, but at first glance) | 20:51 | ||
jnthn | Well, it works on the things you have in NQP :) | ||
20:51
alec__ left
|
|||
timotimo | thank you, jnthn, i'll build that right away | 20:53 | |
20:54
fgomez left
|
|||
timotimo | after this works (and the suggestions are nice enough), i think i'll do a pull request and the next thing is misspelt variables and functions, does that soundg ood? | 20:57 | |
moritz | +1 | 20:58 | |
masak | +1 | 21:00 | |
"all is fair if you're already showing an error" :) | |||
FROGGS | +2 | ||
21:04
alec__ joined
21:07
raiph left
|
|||
timotimo | github.com/timo/rakudo/blob/d270cb...d.pm#L1475 - still got no clue why this fails :( "Method 'ast' not found for invocant of class 'String'" | 21:08 | |
21:09
colomon left
|
|||
jnthn | timotimo: Where is the "next" going? | 21:10 | |
jnthn doesn't see a loop | |||
timotimo | oh, i see it doesn't make sense :) | ||
timotimo writes return 1 instead | |||
jnthn | that'll be better :) | 21:11 | |
21:13
fgomez joined
21:15
hoelzro|away is now known as hoelzro
|
|||
timotimo | i have *no* idea why that gave me *that* error! | 21:15 | |
jnthn | Me either! | ||
timotimo | oh, wait, that was after i changed {$name} to <<$name>> | 21:16 | |
that caused "ast not found" to "it works, but it doesn't seem to change anything | |||
21:17
Myk267 left
21:18
sqirrel left
21:19
hash_table left
21:21
MayDaniel left,
nyuszika7h joined
|
|||
timotimo | it seems to work now! | 21:22 | |
excellent. | |||
jnthn | \o. | ||
timotimo++ | |||
[Coke] | timotimo++ | ||
tadzik | aww yeah | ||
21:22
kaare_ left
|
|||
tadzik | timotimo++ | 21:22 | |
[Coke] | so, where do we test this. | 21:23 | |
21:23
rindolf joined
|
|||
rindolf | Hi all. | 21:23 | |
FROGGS | timotimo: you know what that means, right? we got better error messages than STD.pm!! \o/ | 21:26 | |
masak | hiya, rindolf. | ||
timotimo++ | 21:27 | ||
rindolf | masak: what's up? | 21:28 | |
FROGGS: hi, sup? | |||
masak | rindolf: not much. Perl 6 is getting better all the time. we're just hoping it gets to "good enough" before the world stops caring. | 21:29 | |
rindolf | masak: good luck. :-) | ||
masak | rindolf: jnthn is doing awesome stuffs with the JVM, and keeps playing it down :) | 21:30 | |
er, I mean jnthn++ | |||
rindolf | masak: heh, OK. | ||
jnthn++ Indeed. | |||
skids | .oO(We are the knights who say NYI) |
||
21:30
colomon joined
|
|||
timotimo | FROGGS: \m/ | 21:30 | |
masak | skids: :P | 21:31 | |
21:31
donaldh left
|
|||
skids | .oO(We well tell you where to find Perl6. But first... you must implement usss... a shrubbery!) |
21:31 | |
The rest writes itself. So it's NYI. | |||
21:31
benabik left
|
|||
masak | skids: I won't go as far as saying your thought process makes sense. but I like it ;) | 21:33 | |
21:35
benabik joined
21:38
stevan_ joined
21:39
stevan__ joined
21:43
stevan_ left
21:44
donaldh joined
22:01
bruges_ joined
22:03
bruges left
22:05
atrodo left,
skids left
22:12
hash_table joined
|
|||
timotimo | so, nqp doesn't have use Test? | 22:14 | |
22:15
snearch joined
|
|||
jnthn | timotimo: No, put it has plan and ok built in. | 22:15 | |
Well, in its setting. | |||
22:17
hash_table left
|
|||
timotimo | ooooh nice | 22:17 | |
nqp: my %ex := (Foo=>"bar", Barf=>"barfoo"); for %ex { say($_) } | 22:19 | ||
p6eval | nqp: OUTPUT«barbarfoo» | ||
timotimo | nqp: my %ex := (Foo=>"bar", Barf=>"barfoo"); for %ex { say($_.key) } | ||
p6eval | nqp: OUTPUT«Method 'key' not found for invocant of class 'String'current instr.: '' pc 108 ((file unknown):72) (/tmp/cDZ2ZahENP:1)» | ||
timotimo | i'm confused. why don't i get the key-value-object here? | ||
nqp: my %ex := (Foo=>"bar", Barf=>"barfoo").hash; for %ex { say($_.key) } | |||
p6eval | nqp: OUTPUT«Method 'hash' not found for invocant of class 'ResizablePMCArray'current instr.: '' pc 72 ((file unknown):48) (/tmp/ou4NofgAAF:1)» | ||
jnthn | nqp: my %ex := hash(Foo=>"bar", Barf=>"barfoo"); for %ex { say($_.key) } | 22:20 | |
p6eval | nqp: OUTPUT«FooBarf» | ||
timotimo | ah, that would be it. thanks! | ||
now i'm prototyping some changes to the levenshtein. a sort of pseudotypocoustics. | |||
benabik | Looking for typos instead of soundalikes? | 22:23 | |
Typex instead of Soundex? | 22:24 | ||
jnthn | git st | ||
...oops | |||
benabik | fatal: Not a git repository (or any of the parent directories): .git | ||
timotimo | cd #.git | 22:27 | |
now Junction and Juntcion are only 1 distance apart. that ought to make suggestions better if there are typos. | 22:30 | ||
22:32
hoelzro is now known as hoelzro|away
22:33
vividsnow left,
benabik left
|
|||
timotimo | i should totally add a thesaurus for common computing terms | 22:35 | |
22:35
japhb_ joined
|
|||
timotimo | "substitute" -> "replace" would be a cost of 1 then :P | 22:35 | |
japhb_ | That's a cool idea -- go beyond merely typos to thinkos. | 22:36 | |
Mind you, I think it's going a bit *too* far, but still a cool idea. :-) | 22:37 | ||
22:37
stevan__ left
|
|||
timotimo | i was only half serious | 22:37 | |
japhb_ | re: irclog.perlgeek.de/perl6/2013-01-18#i_6348742 , you can use `git describe --always --dirty` or if you always want a commit sha1 prefix, `git rev-parse --short HEAD` | 22:42 | |
timotimo, I guessed as much. :-) | |||
22:49
donaldh left
22:53
donaldh joined,
donaldh left
|
|||
Ulti | timotimo use sentiment analysis to stop people using negative sounding comments too | 22:54 | |
23:00
bluescreen10 left
|
|||
timotimo | that's actually a cute idea :) | 23:02 | |
23:06
zoomby left,
zoomby joined
|
|||
timotimo makes adding/removing - and _ cheaper | 23:07 | ||
23:09
Pleiades` left
23:10
rindolf left
|
|||
japhb_ | timotimo++ # Not just edit distance, *thoughtfully weighted* edit distance | 23:14 | |
japhb_ hates brute-force edit distance "suggestions" that end up laughingly ridiculous | 23:15 | ||
s/laughingly/laughably/ | |||
23:16
Pleiades` joined
|
|||
timotimo | trying my best. still struggling getting a sensible threshold calculation | 23:16 | |
probably will go with a histogram of the distances to all known things and some heuristic on that | 23:17 | ||
23:18
sizz_ joined
23:21
stopbit left
23:24
zoomby left,
zoomby joined
23:26
Chillance left
23:31
donaldh joined
23:32
donaldh left
23:34
skids joined
|
|||
timotimo | does nqp have sorting at all? | 23:41 | |
oh, it apparently does, neat. | |||
it sorts very strange, though | 23:42 | ||
Ulti | jnthn in zavolaj if I want to pass in a null for an OpaquePointer what should I do? | 23:45 | |
timotimo | my @l := [[1, "foo"], [2, "bar"], [9, "quux"], [1, "yoink"]]; @l := @l.sort({ $_[0] }); for @l { say(nqp::join(",", $_)) } | ||
nqp: my @l := [[1, "foo"], [2, "bar"], [9, "quux"], [1, "yoink"]]; @l := @l.sort({ $_[0] }); for @l { say(nqp::join(",", $_)) } | |||
p6eval | nqp: OUTPUT«Null PMC access in get_pmc_keyed_int()current instr.: '' pc 188 ((file unknown):96) (/tmp/TfKJp1nhun:1)» | ||
jnthn | Ulti: Pass a type object. | ||
(e.g. just pass OpaquePointer) | 23:46 | ||
Ulti | okedoke | ||
yeah once I get this to work I will make nice types for everything ;) | |||
timotimo | in what sorting method is the order "17, 17, 18, 17, 15, 34" a sorted order? :/ | 23:47 | |
23:47
stevan_ joined
23:52
stevan_ left
23:54
zoomby left
|
|||
dalek | p-jvm-prep: 3f98780 | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationReader.java: Resolve dependent SCs table. |
23:57 | |
p-jvm-prep: 3094a4b | jnthn++ | src/org/perl6/nqp/sixmodel/KnowHOWBootstrapper.java: Set up the __6MODEL_CORE__ SC. |
|||
p-jvm-prep: 9516dc1 | jnthn++ | src/org/perl6/nqp/sixmodel/ (13 files): Stub STables and objects at deserialization start. |
|||
p-jvm-prep: e664ef5 | jnthn++ | src/org/perl6/nqp/sixmodel/ (13 files): Fill out STable and object deserialization logic. This also adds the REPR deserialize functions for some representations but others (especially the rather more complex P6opaque) are to come. This gets a knowhow with a method in to deserialize well enough to be able to call the method, at least. |
|||
timotimo | nqp: say(0.1 < 0 <= 0.2) | ||
p6eval | nqp: OUTPUT«1» | ||
p-jvm-prep: 1bcb2aa | jnthn++ | lib/QAST/JASTCompiler.nqp: Twiddle deserialization code-gen a little. |
|||
timotimo | ah, no chaining | 23:58 | |
dalek | p-jvm-prep: 689f958 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/KnowHOWAttribute.java: Handle deserialization of KnowHOWAttribute. Turns out that with this, we can now deserialize nqp-mo.pm's blob successfully! |
23:59 | |
p-jvm-prep: b8395aa | jnthn++ | / (2 files): Enable emitting deserialize code by default. |