»ö« 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:05
robinsmidsrod left
00:06
robinsmidsrod joined
|
|||
Juerd | This is NOT a Perl 5 channel. Please do not ask or answer Perl 5 questions here, unless they're also related to Perl 6. | 00:12 | |
geekosaur | they keep cominbg back here; apparently they've decided if they want this to be a perl5 channel, it is obligated | 00:15 | |
Juerd | geekosaur: What do you mean? | ||
00:17
uvtc left
|
|||
perlhelp_ | perl6 people are nicer. | 00:17 | |
perl5 is scary | |||
grondilu | does you question involve a large bunch of code we should inspect? | ||
perlhelp_ | No. | 00:19 | |
A small bunch of code. | |||
Juerd | Please, don't. Even if it's one line. | ||
Harzilein | i think one easy way to turn everything into a perl6 question is to add "after i get it to work on perl5, i want to port it to perl6." at the end ;) | ||
perlhelp_ | I think Juerd is in the wrong perl room :) | 00:20 | |
grondilu | I'm curious now. Ask me your question in private if you want. | 00:21 | |
timotimo | Juerd: the amount of code you can put into a signle line is ... :) | 00:22 | |
00:30
colomon left
00:31
colomon joined
|
|||
Tene | perlhelp_: No, you're in the wrong room. You've been pointed to several other places for help with Perl 5. | 00:33 | |
00:37
perlhelp_ left
00:39
alester left
|
|||
swarley | I don't think he's going to get it.. | 00:40 | |
00:57
robinsmidsrod left
00:58
alec__1 left
00:59
robinsmidsrod joined
01:05
alec__ joined,
alec__ left
01:06
alec__ joined,
alec__ left
|
|||
skids | r: my @a = [1,2,3],[4,5,6]; my @b = ^10; @b[@a[1]].say; @b[@a[1].flat].say; @b[@a[1].list].say | 01:23 | |
p6eval | rakudo a3869a: OUTPUT«34 5 64 5 6» | ||
skids | r: my @a = [1,2,3],[4,5,6]; my @b = ^10; @b[|@a[1]].say | ||
p6eval | rakudo a3869a: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&prefix:<|>' called (lines 1, 1)» | ||
swarley | and then you have moments like these.. Moments where you can't remember, "Did I name that attribute, 'SerializationContext' or 'SerialContext' | 01:26 | |
skids | That's why you should have named it "Fred" | 01:27 | |
swarley | i know someone who names all of his methods after LoTR characters so that his work would have a hard time replacing him | ||
skids | Well, there's a balance to be struck between having meaningful names and being so blandly meanigful that you just pile up compounds until people's eyes glaze over. | 01:30 | |
I've worked on a few products that went to the latter part of the extreme; the docs were nearly incomprehensible because keeping track of what a "service group bundle" was versus a "bundle group service" is not natural to the human brain. | 01:32 | ||
swarley | o-O | 01:35 | |
That sounds painfully dull | |||
skids | The amount of overloading on vernacular in networking tech is pretty abysmal. And it's made worse by different vendors overloading in different ways. E.g. what many vendors call a "trunk" Cisco calls a "etherchannel", and Cisco uses "trunk" for something else entirely. | 01:41 | |
swarley | ugh I hate that | ||
Half way through serialization | 02:00 | ||
diakopter | swarley: good job :) | 02:01 | |
02:02
sqirrel_ joined
|
|||
swarley | thank you (: It's helpful to have jnthn's code to learn from. It's just my job to make sure that it's in Go for at this point really | 02:02 | |
I don't have a very interesting job until the run time | |||
02:03
sqirrel left
|
|||
timotimo | masak: i enjoyed your blogpost | 02:05 | |
02:05
happydude joined
|
|||
TimToady | did you mean moritz? | 02:06 | |
phenny | TimToady: 12 Feb 18:50Z <FROGGS> ask TimToady what @( code ) is supposed to do inside regexes (if it should do anything at all) | ||
02:07
Vlavv left
02:08
raiph_ left,
raiph left,
raiph__ left
|
|||
timotimo | er, hold on | 02:11 | |
yes, i did mean moritz! | |||
i just briefly glanced at the tab i had open and it was the gist by masak with the evaluator | |||
it's past at least one bedtime for me, it seems! | |||
swarley | Finished stubbing serializationReader.go (albeit incorrectly, given that everything should be private) but I think that's enough for tonight | 02:15 | |
not much to it yet, but if anyone wants to look at it and point out any issues, the file I'm working on is github.com/swarley/nqp-go/blob/mas...nReader.go there are probably a few minor syntax errors that will get sorted out later, I'm more worried about the binary read being incorrect | 02:19 | ||
02:20
Vlavv joined
02:22
sqirrel__ joined
02:25
awwaiid left,
sqirrel_ left
|
|||
TimToady | phenny: tell FROGGS it is as some have speculated; from the outside Perl 6 should not be able to tell @() from @foo; it is merely that it must work a bit harder to figure out (or create) the identity of the array before applying consistent array semantics | 02:26 | |
phenny | TimToady: I'll pass that on when FROGGS is around. | ||
02:30
aindilis left
02:32
census joined
02:33
aindilis joined
02:49
census left
03:01
robinsmidsrod left
03:03
robinsmidsrod joined
03:07
robinsmidsrod left
03:09
robinsmidsrod joined
03:16
raiph joined,
raiph_ joined,
raiph__ joined
03:18
aindilis left
03:35
uvtc joined
03:37
jaldhar joined
03:38
sivoais left
|
|||
uvtc | Does Perl 6 have a literal syntax for sets? | 03:38 | |
03:39
sivoais joined
|
|||
uvtc | Oh darn, shapecatcher's not working for me atm. | 03:39 | |
03:41
gfldex left
|
|||
sorear | uvtc: no. use set(1,2,3) | 03:42 | |
uvtc | thanks, sorear . | 03:43 | |
03:43
gfldex joined
03:50
gry left
03:54
happydude left
03:56
EDWIN left
|
|||
TimToady | r: sub circumfix:<⦃ ⦄> (*@items) { set @items }; say ⦃ 1, 2, 3 ⦄.perl | 03:56 | |
p6eval | rakudo a3869a: OUTPUT«===SORRY!===Confusedat /tmp/fEwnnjoPrP:1------> ix:<⦃ ⦄> (*@items) { set @items }; say ⦃⏏ 1, 2, 3 ⦄.perl expecting any of: prefix or term prefix or meta-prefix» | ||
TimToady | n: sub circumfix:<⦃ ⦄> (*@items) { set @items }; say ⦃ 1, 2, 3 ⦄.perl | 03:57 | |
p6eval | niecza v24-23-g0520c7c: OUTPUT«set("1", "2", "3")» | 03:58 | |
TimToady | uvtc: ^^ | ||
uvtc | TimToady: That's neat. Do you expect Perl 6 will come with that built-in but not enabled by default? | 03:59 | |
TimToady: anyhow, thanks for the example. :) | 04:00 | ||
TimToady | it's not really the standard notation, so probably not built-in | 04:06 | |
but as you see, if you want it, it's not far away | |||
standard notation is usually just normal braces, but we don't want to overload them for that | 04:07 | ||
uvtc | Right. I see what you mean. For example, in Clojure, hashes are {} and sets are #{}. | ||
That's interesting that I can create a set by either `set(1, 2, 3)` or `set(@a)`. I'd've expected to need to use an `apply`... | 04:09 | ||
Well, I mean, in Perl 5 I expect the flattening. Wasn't sure about P6. | |||
(er, not sure if "flattening" is the right word there.) | 04:10 | ||
swarley | I think I'm going to give emacs a try for a bit and see how I like it | 04:11 | |
I've been using vim for a good long while, maybe it's time to mix it up | |||
TimToady | Perl 6 likes its variadic arguments still | ||
only we call them slurpies now | |||
we still have "list context", but it is now determined by the signature being bound to | 04:12 | ||
context is also lazy in Perl 6, unlike Perl 5 where it's eager | |||
04:13
SamuraiJack joined
|
|||
uvtc | TimToady: so, the context provided to the args passed into a function is determined by the function signature? Is list context generally the most common? | 04:14 | |
TimToady | depends on how you measure, of course | 04:15 | |
sub foo($a,$b,$c, *@list) {...} | |||
04:15
gfldex left
|
|||
TimToady | there are three times as many positionals there as list arguments :) | 04:16 | |
this is all explained in S06 | |||
uvtc | TimToady: I was about to say, "I should probably try reading the Synopses before asking". :) | ||
04:16
gfldex joined
|
|||
TimToady | but the default is flipped from Perl 5, so by default you get scalar arguments, and have to ask for a slurpy with the * | 04:17 | |
uvtc | Oh. Reminds me of Python there. Where it captures any extra args you pass and puts them into an array. Or like Clojure's `(defn [x y & z] ...)` | 04:18 | |
. | |||
Er, shouldn't've added that last part. Right. The start reminds me of how Python does it. | 04:19 | ||
*star | |||
swarley: Emacs is nice because all commands are either Ctrl-something, Alt-something, (and sometimes Ctrl-Alt-something), or else one of those keyboard shortcuts is a prefix for the key that comes next. | 04:21 | ||
So, if you've got a keyboard with easy access to Ctrl and Alt, you're set. :) | |||
TimToady | my pinky is starting to ache... | 04:22 | |
uvtc | swarley: Ah, actually, speaking of easy Ctrl and Alt, I recommended a Kinesis keyboard to TimToady at least a couple/few years ago. | 04:23 | |
TimToady: ^^ | |||
:) | |||
TimToady: kinesis-ergo.com/contoured.htm | 04:24 | ||
You use your thumbs for the Ctrl and Alt (I actually shift mine just a bit from the defaults to be more symmetrical). Now all my pinkies have to do are the Shift keys (and you can even get a pedal for those, if you like). | 04:25 | ||
Anyhow, I've got no interest in the company, except that I'm now addicted to their keyboards. :) | 04:26 | ||
(Actually, my left pinky still does Tab too, but if it were a problem, I'd probably try to use a pedal for it.) | 04:28 | ||
Sorry for going so far off-topic! | |||
TimToady | I have an arthritic thumb as well... | 04:29 | |
uvtc | Hm. Sorry to hear that. If it helps, the keyboards are programmable, and you can remap any keys around that you need to. Between than and a couple of pedals (you'll feel like you're playing a pipe organ!), I bet you could put together a setup that works for you. | 04:31 | |
I also do the trick of taping a trackpad in the area between the keypads. Using the mouse makes my hand sore fast. The trackpad you barely have to touch. | 04:32 | ||
s/Between than/Between that/ | 04:33 | ||
jdv79 | i use the freestyle. very nice. | ||
uvtc | jdv79: But the keys don't line up in straight lines on that one! :) Also, that one comes in two parts, so it would constantly fall off my lap. :) | 04:35 | |
jdv79: also, my thumbs are smart now and know where Ctrl and Alt are. I wouldn't want to give that job back to my pinkies. They'd go on strike! | 04:37 | ||
jdv79 | at home (at the moment) i'm using one of these - forget the name - www.dansdata.com/images/clicky2/spa...er1280.jpg | 04:39 | |
but the freestyle for serious work helps me a lot with "pre-rsi" (says the doc). to each his own. | 04:40 | ||
uvtc | jdv79: cool. Glad to hear it works for you. | 04:41 | |
04:41
thou joined
|
|||
uvtc | Oh, nice: `comb` is like `split`, except you specify what you *want*. :) | 04:49 | |
o/ | 04:53 | ||
diakopter | bye :) | ||
04:53
uvtc left,
preflex_ joined,
preflex left
04:54
preflex_ is now known as preflex
05:01
thou left
05:17
xinming_ joined
05:20
xinming left
05:27
quester joined
05:35
SamuraiJack left
|
|||
moritz | \o | 05:39 | |
diakopter | good morning moritz | ||
05:51
autark left
|
|||
sorear | o/ | 06:00 | |
06:18
gfldex left
06:20
gfldex joined
06:30
alec__ joined
06:32
kaleem joined
06:43
gfldex left
06:44
gfldex joined
06:51
xinming_ left
06:52
xinming joined
07:03
b1rkh0ff left
07:20
b1rkh0ff joined
07:24
quester left
07:25
alec__ left
07:26
wk joined
07:32
wk left
07:36
alec__ joined
07:43
wk joined
|
|||
nwc10 | oops, I seem to have launched a denial-of-service attack on jnthn | 07:47 | |
07:49
SamuraiJack joined
08:02
gfldex left
08:04
gfldex joined
08:11
proller left
|
|||
cotto | How does the break between nqp master and parrot master exhibit itself? | 08:12 | |
08:14
not_gerd joined
|
|||
not_gerd | cotto: irclog.perlgeek.de/perl6/2013-02-01#i_6401627 and github.com/perl6/nqp/issues/74 | 08:15 | |
cotto: however, I just built latest Parrot/NQP/Rakudo without issue | |||
no idea if the underlying issue got fixed or just hidden again | |||
cotto | not_gerd: much obliged | 08:16 | |
I like build bugs. They're hard to miss. | 08:17 | ||
not_gerd | if it really was a GC or memory corruption thingy, it might crop up again after another round of code reshuffling | 08:20 | |
not_gerd keeps his fingers crossed | |||
08:21
not_gerd left
08:22
not_gerd joined
|
|||
cotto | not_gerd: an energetic developer could always debug using known-bad versions of nqp and parrot | 08:22 | |
I'm glad that it doesn't appear to be an immediate problem. | 08:23 | ||
08:24
PZt left
|
|||
moritz | fwiw I think I was able to compile NQP again after a very thorough clean on parrot/master | 08:25 | |
though it might have been on a different machine (but both 64bit) | 08:26 | ||
08:46
infosophy left
|
|||
not_gerd | moritz: at most, it could have been interference from an installed Parrot | 08:49 | |
on cygwin, it's normally enought to rename libparrot.dll.a | |||
I would be surprised if I had not tried that, but I can of course no longer be 100% certain | 08:50 | ||
I always could try it again, but at best, I'll look like a fool, so nevermind ;) | |||
08:50
PZt joined
08:51
hoelzro|away is now known as hoelzro,
domidumont joined
|
|||
moritz | not_gerd: well, I think there were some NQP changes that the makefile didn't quite cope with | 08:51 | |
on yet another machine I had trouble building NQP with the recommended parrot version of a while (which was about a week after the trouble on newest NQP, so it might or might not have been related) | 08:52 | ||
08:57
kresike joined
|
|||
kresike | hello all you happy perl6 people | 08:57 | |
08:58
fhelmberger joined
09:04
fgomez left
09:13
fgomez joined
09:20
robinsmidsrod left
|
|||
jnthn | morning, #perl6 | 09:24 | |
09:25
dakkar joined
|
|||
moritz | \o * | 09:27 | |
09:28
robinsmidsrod joined
09:33
dakkar_ joined,
dakkar_ left
09:39
not_gerd left
|
|||
dalek | kudo/nom: 5a12919 | jnthn++ | tools/build/NQP_REVISION: Bump to an NQP with a build fix. |
09:46 | |
09:57
daxim joined,
lizmat left
09:59
Liz_ joined
|
|||
masak | good forenoon, #perl6 | 10:20 | |
jnthn | o/ masak | ||
daxim | nethackwiki.com/mediawiki/index.php...h=forelimb | 10:24 | |
masak | something tells me lue would really enjoy nethack... :) | 10:26 | |
dalek | p: c83b4b5 | jnthn++ | src/QRegex/NFA.nqp: s/our/my/ in a place things needn't be our. |
10:32 | |
p: d89a658 | jnthn++ | src/QAST/Compiler.nqp: Toss dead code-path. |
|||
p: a746f77 | jnthn++ | src/QRegex/Cursor.nqp: Performance/portability tweaks to Cursor. |
|||
10:35
ObseLeTe joined
|
|||
arnsholt | masak: I hate and love nethack, all at once =) | 10:44 | |
masak | arnsholt: I have a deep respect for nethack... but I've always been more of an angband man myself. | 10:46 | |
arnsholt: sometimes I accidentally spend *days* on angband, not noticing the time pass. | 10:47 | ||
felher | <3 nethack :) | ||
masak: same here with nethack. :) | |||
Hm, angband and nethack do seem to be quite alike, aren't they? | 10:53 | ||
arnsholt | I've never tried angband, actually | ||
masak | highly recommended. | 10:56 | |
oh, oh! I have an idea for a new loop control word. like 'last', 'next', and 'redo'. | |||
I'm not proposing we put it into the language. | 10:57 | ||
maybe this can be added through macros, or something. | |||
I call it 'slip'. the semantics is "stay in this place of the code, but advance to the next iteration". | |||
nwc10 | would be useful to determine *if* it can be implemented as macros | 10:58 | |
and if not, what stops it being so | |||
masak | yeah. I don't immediately see it. | ||
the problem is something like, what the macro would need to act on would be the topology of the rest of the loop, not the keyword itself. | 10:59 | ||
felher | masak: do you already have a usage example for it? If so, I would like to see it :) | ||
masak | so, for example, I don't see a problem handling it with macros if I also did 'slipfor', 'slipwhile', etc. | 11:00 | |
felher: yes. inspired by perlhack I did some scraping yesterday using Perl 5. | |||
felher: I first thought I'd use Web::Scraper to capture the data from the page, but I quickly decided to just parse out individual lines from the HTML instead. the HTML was computer-generated and regular enough for that. | 11:01 | ||
felher: so what I ended up with was a loop like: 'my @os; my $o; for lines { if A { $o = ... } elsif $o && B { ... } elsif $o && C { push @os, $o; $o = undef } }' | 11:02 | ||
with the 'slip' keyword, I could scope $o correctly and rewrite it as 'my @os; for lines { next until A; my $o = ...; slip until B; ...; slip until C; push @os, $o }' | 11:03 | ||
also, it reads *really* well. | |||
felher | uhhh, this is pretty cool. | 11:04 | |
masak | it's a bit like a CPS transform in the language. | ||
(folding several iterations/states into "one") | 11:06 | ||
actually, I can't properly estimate how many times my brain has done this trick manually: "oh, and the rest of the information is on the next line/record/whatever, so I need to, um, store intermediary information in this variable, `next`, and detect the state of affairs from there..." | 11:07 | ||
felher | masak: yeah, right. Actually, in your first example, before checking C, you would have to assert that B was true once, right? Something like 'elsif $o && $b-was-true && C {...}' instead of 'elsif $o && C'. | 11:09 | |
masak: to match the much nicer slip-code | |||
masak | felher: funny you mention that. the first time I ran the program, there was a bug that made B not trigger, and I got lots of undefinedness warnings. I somehow fixed it, but I never really figured out what was wrong or what the fix was. as far as I can remember, I did nothing and suddenly it worked. | 11:10 | |
yeah, so 'slip' is in a sense *safer*, too. | 11:11 | ||
I guess, just like 'next', it should silently exit the loop if there are no more iterations. unless it should consider that an error, but I don't think so. | |||
felher | masak++ #yeah, nice idea. | 11:13 | |
masak | nwc10: what a macro would need to do would be to essentially recreate the ifs-in-loop state machine from the 'slip's. so it'd need to work on the level of the loop, not on the level of the individual 'slip' statements. | 11:14 | |
fun challenge for someone: find RC examples that could be rewritten to take advantage of 'slip' :) | 11:15 | ||
felher -> lunch | |||
11:19
ObseLeTe left
|
|||
dalek | p-jvm-prep: 41c2723 | jnthn++ | nqp-src/NQPCORE.setting: Add a couple more NQPMu methods. |
11:20 | |
p-jvm-prep: 17464f8 | jnthn++ | / (2 files): Add/build a somewhat commented out QRegex.nqp. The uncommented bits all cross-compile; the commented out bits need things to be implemented. |
|||
masak | heh, a 'next' is like a 'slip' plus a 'redo' :) we've just not considered it as doing two different things up until now. | ||
dalek | p: 749768c | jnthn++ | src/ (2 files): Fix nqp::isinvokable to know invocation spec. |
||
masak | also, 'slip' has nice connections to 'take'. (in that it relinquishes control while also remembering its own state/PC) | 11:24 | |
masak 's eyes glaze over thinking about 'slip LABEL' | 11:25 | ||
man, I have to learn more about the CPS transform. | 11:30 | ||
11:37
Timbus left
11:38
Timbus joined
|
|||
nwc10 | jnthn: #3All tests successful. on "my" machine. | 11:39 | |
jnthn | nwc10: nice :) | ||
moritz | masak: 'slip' feels a bit like a goto into an inner scope | ||
masak: which Perl 5 deprecates, and Perl 6 explicitly doesn't support, IIRC | 11:40 | ||
masak | moritz: are you familiar with the CPS transform? | 11:41 | |
moritz | masak: for your use case, it seems you'd rather write my @lines := lines; while @lines { do stuff; manually call @lines.shift instead of slip } | ||
masak: no | |||
masak | hm, @lines.shift works in a 'for' loop, I guess, but not in a 'while' loop. | ||
moritz | erm, why not? | 11:42 | |
I'd think it's the other way round :-) | |||
masak | hm, yes :) | ||
moritz: briefly, the compiler rewrites what would have been a set of 'goto' into inner scopes, to a set of states in a state machine, often represented as a switch statement in a loop in a lambda. | 11:43 | ||
moritz: the nice thing about it is how clean and general it is. | |||
again, I am *not* proposing we stuff this into the spec. | |||
moritz: section 2.2 of research.microsoft.com/en-us/um/peo...s5full.pdf is a nice example of the technique. | 11:45 | ||
moritz | masak: now I wonder how CPS transform and ENTER/LEAVE phasers interact :-) | 11:46 | |
masak | heh. | 11:47 | |
might be ENTER/LEAVE would have to attach to a "logical" block, one that's represented in source, but not in IL. | |||
dalek | p: 28961ee | jnthn++ | src/NQP/World.pm: Update a comment. |
12:11 | |
p: da26f1c | jnthn++ | src/NQP/World.pm: Replace one use of nqp_get_package_through_who. This op really needs to go away. |
|||
p: cf72dc1 | jnthn++ | src/NQP/Actions.pm: Eliminate final nqp_get_package_through_who use. This also means that Foo::Bar can now work on nqp-jvm. |
|||
p-jvm-prep: a7fe411 | jnthn++ | t/nqp/43-package-var.t: With latest NQP, we pass 43-package-var.t. |
|||
p-jvm-prep: 0ddb900 | jnthn++ | nqp-src/Q (2 files): Uncomment Foo::Bar uses in QASTNodes and QRegex. Now we support it, we can compile quite a few more bits of both of these. |
|||
12:13
ObseLeTe joined
|
|||
masak | $ nom -p -e '$_ = "foo"' | 12:18 | |
(write anything on the first line) | |||
^D | |||
Cannot assign to a readonly variable or a value in block at -e:1 | 12:19 | ||
may I please consider this a rakudobug? :) | |||
12:21
leprevost joined
|
|||
jnthn | Hm, maybe a bug in -p handling? | 12:21 | |
12:21
leprevost left
|
|||
moritz | you can, and it's already submitted, afaict | 12:21 | |
12:22
leprevost joined,
leprevost left,
leprevost joined
|
|||
moritz | the problem is that I couldn't figure out how to make the $_ rw in the wrapper when fixing -n and -p | 12:22 | |
masak | maybe it should be 'is copy'? | 12:24 | |
I mean, it's not like there's some outer scope to write back to. | |||
moritz | of course there is | ||
the one where -p prints it | 12:25 | ||
masak | yeah, but that's ultimately tied to $*IN.lines, or something like that, no? | ||
12:25
kaleem left
|
|||
masak | which is very much readonly. | 12:25 | |
moritz | you want perl6 -p -e 's:g/no/yes/' to actually print out the modified stuff, no? | 12:26 | |
masak | I see what you mean now. | ||
moritz | well, then we need to introduce a container somehwere inbetween | ||
masak | yes, we actually do this with scopes, that's right. | ||
so it should be 'is rw'. | |||
moritz | it must probably be something like for lines() { my $var = $_; (<-> $_ { user code here } ).($var) } | 12:27 | |
masak | for lines() { (<-> $_ { user code here } ).(my $ = $_) } | 12:31 | |
then it doesn't leave a trace in the lexpad. | |||
moritz | and how do you print the modified $_ ? | 12:34 | |
masak | hm. :) didn't think of that :) | 12:37 | |
there should be a way to declare "local but not lexical" variables, which are not seen in inner scopes... | 12:38 | ||
the setting could probably use that too. | |||
my $-local = $_; | 12:39 | ||
12:42
leprevost left
|
|||
nwc10 | jnthn: *still* works on "my" machine - try harder :-) | 12:47 | |
12:49
skids left
12:57
ObseLeTe left
|
|||
dalek | p-jvm-prep: ac9068a | jnthn++ | / (2 files): Implement nqp::iscclass and associated constants. Those who dream of Unicode character properties at night, feel free to review this. :-) |
13:08 | |
p-jvm-prep: ea496e2 | jnthn++ | nqp-src/QRegex.nqp: Uncomment some more of QRegex. |
|||
nwc10 | jnthn: *Still* works on "my" machine | 13:14 | |
jnthn | Gee, I really need to work on that :P | 13:15 | |
13:16
leprevost joined
|
|||
pmichaud | nwc10: Get masak++ to try it on "your" machine, that'll probably break it. :-P | 13:17 | |
It's just a matter of having the appropriate sledgehammer. | |||
anyone besides me planning to attend yapc::na in austin? | 13:18 | ||
the organizers are really hoping to get some more Perl 6 related talks. | |||
jnthn | pmichaud: Decent chance I'll be there. | ||
Is submission deadline soon? | 13:19 | ||
Or they just want some clue about who's coming? | |||
pmichaud | jnthn: looking. | ||
I think more the latter. | 13:20 | ||
Looks like 27 talks submitted thus far. | |||
13:21
am0c left
13:22
Spandox joined
|
|||
nwc10 | good am, Pm | 13:22 | |
pmichaud | good morning, #perl6 | ||
nwc10 | pmichaud: the machine in question is still users.perl5.git.perl.org, so if masak does Perl 5 release, he'd end up with an account on it as a side effect | 13:24 | |
Spandox | Has anyone else seen horrible performance when trying to work with large arrays? I have a 200,000 word list that rakudo perl 6 takes 400 seconds to do a simple map | ||
perl 5 it can do it in less than a second | |||
13:27
Spandox left
|
|||
jnthn | my @a = ^200000; my @b = @a.map({ 2 * $_ }); say now - INIT now # 3.78s here | 13:28 | |
masak | <3 INIT now | ||
jnthn | So I'm guessing there's a little more going on to make it that slow... | ||
oh, darn, I was too slow | 13:29 | ||
pmichaud | I can't seem to find any sort of talk deadline, no. Maybe I'll suggest that there be one. :-) | 13:34 | |
nwc10 is curious how far JVM will be by the German Perl Workshop | 13:35 | ||
I guess and "how many more holes Oracle has admitted to" | 13:36 | ||
jnthn | nwc10: When is it? | ||
13:36
kaleem joined
|
|||
moritz | around March 16, iirc | 13:36 | |
jnthn | hah, that's over a month away | ||
nwc10 | 10:30 on 2013/03/13 to 15:25 on 2013/03/15 -- act.yapc.eu/gpw2013/schedule | 13:37 | |
Given current progress, the date range is probably important. | 13:38 | ||
pmichaud | yes | ||
nwc10 | it's nice to have "this week" back in Perl 6 | 13:39 | |
but additive, rather than mutative | |||
13:40
geekosaur left
13:41
geekosaur joined
|
|||
pmichaud | ooooh, LEGOWORLD opens tomorrow in Copenhagen. Wish I could go.... :-) | 13:42 | |
jnthn | Nordic Perl Workshop will be in CPH this year, afaik ;) | 13:43 | |
pmichaud | holy cow | ||
roundtrip flight to copenhagen is only $900 USD | 13:44 | ||
nwc10 | pmichaud: are you sure? In Europe these days it might be a horse :-) | ||
(this joke may be old, but it's not over yet) | |||
pmichaud | nwc10: whether cow or horse, $900 for a round-trip flight to CPH is pretty good, especially for 1-day-advance purchase :) | 13:45 | |
nwc10 | gosh. 1 day. | ||
you didn't say "tomorrow" | |||
that really isn't bad | |||
pmichaud | and that's the fare on multiple airlines | ||
13:46
imarcusthis left
|
|||
pmichaud | heh. $920 round-trip for a flight leaving today. :) | 13:47 | |
afk for a bit | |||
masak | those two lines in succession... :P | ||
jnthn | :D | ||
13:48
raiph left,
raiph__ left,
raiph_ left
|
|||
jnthn | nwc10: Guess that's what aiming for a stable meat market produced...:) | 13:48 | |
jnthn is still amused about the bologneighs :) | 13:49 | ||
nwc10 | I did like that one | 13:50 | |
[Coke] | (yapc:na) - I just priced out tickets. the difference between refundable and non is crazy. | 13:52 | |
r: say 528/191 | |||
p6eval | rakudo 5a1291: OUTPUT«2.764398» | ||
[Coke] grumbles at the lack of university dorm rates. | 13:54 | ||
dalek | p-jvm-prep: 5b2a14a | jnthn++ | src/org/perl6/nqp/sixmodel/ (4 files): Stub in NFA representation. |
13:56 | |
p-jvm-prep: 6671c23 | jnthn++ | / (2 files): Stub in NFA related opcodes. Will implement them once we get to needing them. |
|||
p-jvm-prep: 006688b | jnthn++ | nqp-src/QRegex.nqp: More uncommenting. |
|||
[Coke] | pmichaud: prety sure jnthn has expressed interest. | ||
13:57
PacoAir joined
|
|||
nwc10 | jnthn: All tests successful. | 14:05 | |
pmichaud | [Coke]: 13:18 <jnthn> pmichaud: Decent chance I'll be there. | ||
so yes. :-) | |||
jnthn | Yeah. Flights are uncheap but not terrible. | ||
Seems I have a choice of routes/airlines/airports. | |||
14:08
bluescreen10 joined
14:11
kivutar joined,
uvtc joined
14:17
salv01 joined
|
|||
PerlJam | good morning #perl6 | 14:19 | |
14:19
Liz_ left
14:21
Psyche^ joined
|
|||
felher | o/ PerlJam | 14:21 | |
pmichaud | good morning, PerlJam | 14:22 | |
14:25
Patterner left,
Psyche^ is now known as Patterner
|
|||
[Coke] | jnthn: It's a trap, they all suck. | 14:27 | |
I am a very tentative yes. | 14:28 | ||
14:35
MAAJU1C joined,
raiph_ joined,
AAB3N03 joined
14:39
skids joined
14:41
Targen left,
awwaiid joined
14:42
jaldhar left,
sqirrel__ left,
bluescreen100 joined
14:46
bluescreen10 left
14:49
jaldhar joined
|
|||
masak | rn: sub circumfix:<begin end>($contents) { say "$contents!" }; begin "OH HAI" end | 14:56 | |
p6eval | rakudo 5a1291: OUTPUT«===SORRY!===Two terms in a rowat /tmp/1gjjKHnzrL:1------> s) { say "$contents!" }; begin "OH HAI" ⏏end expecting any of: postfix infix or meta-infix infix stopper statement end stat… | ||
..niecza v24-23-g0520c7c: OUTPUT«OH HAI!» | |||
masak submits rakudobug | |||
pmichaud | does circumfix: even work in Rakudo? | 14:57 | |
masak | dunno. | ||
[Coke] | rn:sub circumfix:<||>($contents){ say ~$contents}; |3|; | ||
rn: sub circumfix:<||>($contents){ say ~$contents}; |3|; | 14:58 | ||
masak | [Coke]: space after colon. | ||
p6eval | niecza v24-23-g0520c7c: OUTPUT«===SORRY!===Bogus term at /tmp/SjUKNDLM3V line 1:------> ix:<||>($contents){ say ~$contents}; |3|⏏;Parse failed» | ||
..rakudo 5a1291: OUTPUT«===SORRY!===Unable to find starter and stopper from '||'» | |||
[Coke] | rn: sub circumfix:<| |>($contents){ say ~$contents}; |3|; | ||
p6eval | rakudo 5a1291: OUTPUT«===SORRY!===Bogus statementat /tmp/c_anNffbAH:1------> x:<| |>($contents){ say ~$contents}; |3|⏏; expecting any of: postfix infix or meta-infix infix stopper prefix or term prefix o… | ||
..niecza v24-23-g0520c7c: OUTPUT«===SORRY!===Bogus term at /tmp/tCF8WYl1KS line 1:------> x:<| |>($contents){ say ~$contents}; |3|⏏;Parse failed» | |||
15:00
benabik joined
|
|||
masak | pmichaud: if it doesn't work, then it feels sensible that Rakudo should emit a "circumfix not implemented" error. | 15:00 | |
pmichaud: so either way, sump'n's up. | 15:01 | ||
moritz | rn: sub circumfix:<::: !!!>($x) { say $x }; ::: 42 !!! | ||
p6eval | rakudo 5a1291: OUTPUT«===SORRY!===Confusedat /tmp/KDAJbdBK_q:1------> circumfix:<::: !!!>($x) { say $x }; :::⏏ 42 !!! expecting any of: prefix or term prefix or meta-prefix colon pair» | ||
..niecza v24-23-g0520c7c: OUTPUT«===SORRY!===Ternary !! seems to be missing its ?? at /tmp/34wENHZmPP line 1:------> mfix:<::: !!!>($x) { say $x }; ::: 42 !!⏏!Parse failed» | |||
moritz | rn: sub circumfix:<::: :::>($x) { say $x }; ::: 42 ::: | 15:02 | |
p6eval | rakudo 5a1291: OUTPUT«===SORRY!===Confusedat /tmp/cm4V0ssGMk:1------> circumfix:<::: :::>($x) { say $x }; :::⏏ 42 ::: expecting any of: prefix or term prefix or meta-prefix colon pair» | ||
..niecza v24-23-g0520c7c: OUTPUT«42» | |||
15:02
stopbit joined
15:14
SunilJoshi joined
15:18
kaleem left
15:25
robinsmidsrod left
15:28
robinsmidsrod joined
|
|||
arnsholt | Ooooooh... | 15:28 | |
arnsholt gets an idea for extracting information from C | |||
15:32
alester joined
|
|||
dalek | p-jvm-prep: 83511d5 | jnthn++ | docs/ROADMAP: ROADMAP update. |
15:44 | |
p-jvm-prep: abe1de2 | jnthn++ | / (3 files): Add ops and REPR funcs for natively typed arrays. |
|||
p-jvm-prep: 4c589a7 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/VMArray (4 files): Teach VMArray about int/num/str storage. There may be more beautiful solutions, but this one will should Just Work. |
|||
p-jvm-prep: 4defaa5 | jnthn++ | / (4 files): Create BOOTIntArray etc.; implement list_i/n/s. nqp::list_i() was the pressing one for the regex engine, but did the rest while I was at it. |
|||
p-jvm-prep: 6bbebf9 | jnthn++ | nqp-src/QRegex.nqp: Uncomment various key parts of Cursor. |
|||
arnsholt | Oooh, regexen | ||
15:45
robinsmidsrod left
|
|||
TimToady mostly ignores the blognays | 15:47 | ||
masak | TimToady++ | ||
15:48
robinsmidsrod joined
|
|||
uvtc | "blognays"? | 15:48 | |
TimToady | pun on bologneighs | 15:49 | |
skids | It's a frothy combination of bolgna and mayonaise | ||
hoelzro | bolognese? | ||
TimToady | only made by a sect of hermitic horses | 15:50 | |
masak .oO( a hermetically sealed sect of hermitic horses ) | |||
15:51
am0c joined
|
|||
masak | did you know that hermitic horses are equal to their own conjugate transpose? | 15:51 | |
TimToady | at least that's the story; actually they make it from the herpatic tissues of herpetic creatures | ||
python pate | 15:52 | ||
masak | those horses are all hippocrates, the lot of them. | ||
TimToady | Help, is there a doctor in the horse?!? | 15:53 | |
masak | stand back. I can make the patient stable again. | ||
masak .oO( 'cus I swore the Hippocratic oats ) | 15:54 | ||
TimToady trots off to the shower & | 15:55 | ||
15:56
leprevost left
|
|||
masak .oO( with TimToady gone, no more jockeying around ) | 15:57 | ||
uvtc | Sorry, I was lost at "bologneighs". Perhaps a pun in a pun? | 15:59 | |
PerlJam | uvtc: if you're lost around here, that's "normal" :) | 16:00 | |
nwc10 | uvtc: it relates to this: www.bbc.co.uk/news/world-europe-21437317 | ||
masak | consumers are so frustrating! first they want their daily meat really really cheap, and then they act all shocked when it turns out to be horse!</sarcasm> | 16:02 | |
uvtc | nwc10: Ah. | ||
masak | it's like, make up your minds, consumers! | ||
nwc10 | uvtc: as a result of tests relating to *that* little scandal, it has also turned out that some kosher products supplied to UK prisons contained trace amounts of pig DNA. | 16:03 | |
actually, I think I mean /that/ "little" | |||
masak | ;) | ||
uvtc | nwc10: Yeah, I'm a bit ignorant of the rules. I just hope the animals were treated humanely. | ||
nwc10 | well, the horsemeat seems to have come from Romania | 16:04 | |
masak | ...a country well-known for their humane treatment of horses? | ||
nwc10 | well, within the EU, but I have no idea what their standards are like locally. | 16:05 | |
the scandal is far more about "things not being labelled correctly, so what else is mislabled?" than "this particular meat isn't safe" | |||
masak | aye. | ||
nwc10 | in *this* case, it's believed that it's all safe to eat | ||
but, who do you trust | |||
(probably more likely your local butcher than a supermarket, and more likely lumps of things that look like meat than processed food) | 16:06 | ||
masak .oO( don't look a gift horse in the mouth ) | |||
and (local butchers)++ | |||
16:07
kaare_ joined
16:09
xenoterracide left
|
|||
nwc10 | jnthn: 6bbebf9b3a9d0ad85b2a494f731a3ea739b33903 works on "my" machine | 16:13 | |
16:13
xenoterracide joined
16:14
sftp left
|
|||
skids | what was that skit comedy show with the local butcher selling some taboo mystery meat -- "league of gentlemen"? | 16:15 | |
16:20
am0c left
|
|||
jnthn | pmichaud: gist.github.com/jnthn/4945749 # Cursor, cross-compiled to the JVM, seems basically functional. \o/ | 16:21 | |
dalek | p-jvm-prep: e9de357 | jnthn++ | nqp-src/QRegex.nqp: Uncomment reduce decl, but not body yet. |
16:22 | |
p-jvm-prep: 7bc9337 | jnthn++ | lib/QAST/JASTCompiler.nqp: Fix code-gen for if/unless (yes, really). I'm amazed so much worked without hitting this... |
|||
pmichaud | jnthn: \o/ | ||
wow | |||
that's cool | |||
benabik | jnthn: Insufficent testing for if/unless? | ||
nwc10 | $ diff -u src/org/perl6/nqp/sixmodel/reprs/VMArrayInstance_[is].java | diffstat VMArrayInstance_s.java | 50 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) | ||
(and naughty terminaly for wrapping that) | 16:23 | ||
but sigh, I see why some people end up using Perl to generate their Java | |||
jnthn | benabik: Apparently... :) | ||
pmichaud: Even better: it's pretty much exactly the same as the Cursor implementation atop of Parrot. | 16:24 | ||
pmichaud: Only difference being a few things commented out and that it doesn't transcode to fixed width. | |||
pmichaud | well, we could make transcoding a no-op on some platforms | ||
jnthn | pmichaud: Yeah, I was pondering making an nqp::makeniceforrx or soemthing :) | 16:25 | |
nwc10 | so parrot is still better for some things? such as cuneiform scripts? | ||
and emoji such as piles of poo? (and beer) | |||
jnthn | nwc10: I'm not going to work too hard on getting us doing stuff outside of the BMP right on the JVM. | ||
nwc10 | wise man. | 16:26 | |
jnthn | nwc10: Because in the long run it all needs to go away in favor of NFG. | ||
nwc10 | keep beer real. | ||
aye | |||
NFG++ | |||
NFG for the win | |||
jnthn | Where long run is perhaps medium run :) | ||
nwc10 | I hope. I really hope. That NFG ends up being a killer Perl 6 feature. | ||
jnthn | But still, not until after I've got a good number of other things working. :) | ||
kresike | bye folks | ||
16:26
kresike left
|
|||
masak | nwc10: it feels good to have discovered NFG already. | 16:27 | |
other languages are likely to need something like that if they are serious about Unicode. | |||
nwc10 | "I tried to render stackoverflow.com/questions/1732348...ained-tags but it went all O(n**2) on me" | 16:28 | |
masak | :P | ||
16:28
kthakore left
|
|||
nwc10 | jnthn: *still* works on my machine. OK, still passes all the tests | 16:29 | |
benabik | Are all p6 strings intended to be NFG? Is there thought about how that interacts with pathnames? | 16:32 | |
FS -> NFG -> FS isn't guaranteed to work. | 16:33 | ||
jnthn | 128,987 QRegexJVM.class | ||
340,656 QRegexJVM.pbc | |||
benabik | And does anybody know in what situations NFC leaves composing characters around/ | 16:34 | |
jnthn | Despite all the crap in the bytecode we're generating thanks to not doing invokedynamic yet, the JVM outoupt still comes out a good bit smaller :) | 16:35 | |
masak | benabik: I still personally haven't gotten to the bottom of how to treat pathnames. but from what I understand, sometimes one can do no better than to treat them as Buf (sequence of bytes), not Str. | 16:36 | |
nwc10 | jnthn: JVM bytecode is *byte*code, whereas Parrot opcode streams are quantized as 32 or 64 bit quanitities? | 16:37 | |
benabik | masak: I think, in the general case, Buf is the best you can do. Responses to Unicode are very OS+FS dependent. | ||
16:37
alec__ left
|
|||
benabik | nwc10: I'm fairly certain that java bytecode is based on larger than 8bit values. | 16:37 | |
jnthn | nwc10: Something like that. | ||
The ops are 8 bits. Arguments to the ops...it depends. | |||
But most ops find their arguments on the stack top. | 16:38 | ||
nwc10 | jnthn: what was the thing that needed re-writing from PIR to NQP? And how many tasks remain until it's a blocker? | ||
16:38
sqirrel joined
|
|||
benabik | Java has ≤ 256 ops? I wrote a compiler to the JVM and never noticed that. | 16:39 | |
Felt like a lot more than that. | |||
16:42
jeffreykegler joined
|
|||
jnthn | nwc10: EXPR, and kboga++ already supplied patches, though I will need to tweak them a bit to use native types etc. | 16:44 | |
nwc10: Won't block on it until after I've ported the regex engine. | |||
er, the rest of the... :) | |||
At this point I'm ready to dig into code-gen for QAST::Regex, I think. | 16:45 | ||
benabik: Full list at en.wikipedia.org/wiki/Java_bytecode...n_listings | |||
16:47
hoelzro is now known as hoelzro|away
|
|||
nwc10 | wikipedia-- # why isn't there a "Lists" category? | 16:49 | |
masak | ...because it wouldn't be a very useful category? :) | 16:50 | |
16:50
thou joined
|
|||
masak | there's also not a "tables" category, or an "images" category. | 16:50 | |
daxim | en.wikipedia.org/wiki/List_of_lists | 16:51 | |
skids | What, no category category? | 16:52 | |
masak | skids: en.wikipedia.org/wiki/Category:Category_theory ;) | 16:55 | |
daxim | en.wikipedia.org/w/index.php?title=...;limit=500 | ||
16:55
geekosaur left
|
|||
pmichaud | there is no system that cannot be solved by layering another index on top of it, except for the problem of too many indexes. | 16:55 | |
or something like that :) | |||
16:55
geekosaur joined
|
|||
benabik | jnthn: I have the JVM spec bookmarked. :-) | 16:58 | |
masak | I'm reading the "List of lists" article, and getting something akin to both knowledge vertigo, a sense of being a very finite creature, and distress at how little time there is left to learn everything. | ||
geekosaur | russell's paradox? | ||
masak | geekosaur: no, I've made peace with Russell's paradox. | ||
benabik | To answer my question about what doesn't get composed in NFC: unicode.org/reports/tr15/#Primary_E...List_Table | 16:59 | |
masak | oh, oh! has anyone every drawn any parallel between Russell's paradox and the Observer Effect in physics? | 17:01 | |
benabik | Huh. Russell's paradox is the halting problem. Interesting. | 17:02 | |
masak | yes, that feels intuitively right. | 17:03 | |
benabik | The usual given reason for the halting problem is that it allows you to build a program that doesn't halt iff an input program halts. The behavior of the program on itself is then...? | 17:05 | |
Russell's paradox. | |||
masak | right. | ||
the counterargument that fells the halting problem *is* Russell's paradox. | 17:06 | ||
we can put equals signs with Cantor's diagonalization while we're at it. | |||
they all do pretty much the same thing. | |||
uvtc | What are "NFG" and "BMP"? | 17:08 | |
masak | uvtc: the latter is the Basic Multilingual Plane. | ||
uvtc: it's where most Unicode characters (so far) hang out. | 17:09 | ||
uvtc | Ah, right. :) | ||
masak | I think "NFG" stands for "Normalized Form G" or something. | 17:10 | |
benabik | NFG is "Normal Form Grapheme", which AFAICT is an invention of ours based on the fact that NFC isn't composed enough. | ||
masak | ah. benabik++ | ||
benabik | Well, I guess it would be Normal Form G, given that NFC is technically Normal Form C, and not composed. :-/ | 17:11 | |
[Coke] wonders how many centuries until someone solves unicode by saying "dammit, we're just going to use language <foo>" | |||
uvtc | [Coke]: plus dingbats. But that's *it*! | 17:12 | |
daxim | masak, s/most/in common use/ | ||
BMP 43561, not-BMP 55462 | |||
masak | daxim: *nod* | 17:13 | |
jnthn | nqp: say("\$\x{a2}") | ||
p6eval | nqp: OUTPUT«Unrecognized backslash sequence: '\x' at line 2, near "\\x{a2}\")"current instr.: 'panic' pc 14030 (src/stage2/gen/NQPHLL.pir:4994) (src/stage2/gen/NQPHLL.pm:330)» | ||
masak | [Coke]: I've spent over a decade among IAL people. I believe a common (second-language) IAL is more or less inevitable. but it's going to take time, maybe centuries. | 17:14 | |
benabik | Mi devus re-lerni esperanton | 17:16 | |
17:16
SunilJoshi left,
SunilJoshi joined
|
|||
benabik | Sorry: lerni esperanton denove | 17:17 | |
masak | ambaŭ taŭgas laŭ mi. | ||
benabik | Had used Google translate and worried that the prefix was just a "didn't get translated" bit | 17:18 | |
uvtc | Ne plu esperanton, mi pensas ĝi. | ||
masak | no, the 're-' prefix is there, and it works the same as in English :) | ||
uvtc: something weird with the accusative near the end of your sentence :) | 17:19 | ||
uvtc was waiting for the reply "Neniu volas mani?" | |||
masak | uvtc: did you mean to say "No more Esperanto, I think"? | ||
uvtc | "No more esperanto, I mean it!" ... "Anybody want a peanut?" | 17:20 | |
masak | :P | ||
daxim | aŭgh! | ||
masak | "Ne plu uzu Esperanton, mi petas!" -- "Arakidon por vi mi metas." | 17:21 | |
I don't know what GT is on when it thinks "peanut" translates to "mani"... :) | |||
uvtc | masak: Oh, do you know (some) esperanto? I was just using google translate. :) | 17:22 | |
masak | uvtc: yeah, it's my third language. | ||
I speak it practically daily with friends. | |||
benabik | Arakidon? | ||
uvtc | masak: oh, wow. Neat. | 17:23 | |
masak | benabik: "peanut", in the accusative (-n) | ||
uvtc: one of my friends is a *native* speaker. :) | 17:24 | ||
benabik | A native speaker of Esperanto? | ||
masak | yes! | ||
17:24
FROGGS joined
|
|||
benabik | Although one of my thoughts on Esperanto is "if I start speaking it to my kid..." | 17:25 | |
masak | the household language in his parents' home was Esperanto. | ||
FROGGS | hi there | ||
phenny | FROGGS: 02:26Z <TimToady> tell FROGGS it is as some have speculated; from the outside Perl 6 should not be able to tell @() from @foo; it is merely that it must work a bit harder to figure out (or create) the identity of the array before applying consistent array semantics | ||
arnsholt | If you start teaching it to your kids, the regularities are going to get screwed up within a generation or two =) | ||
uvtc | masak: Curious #1: What are your 1st and 2nd spoken langs? Curious #2: What do you think of Esperanto? | 17:26 | |
masak | arnsholt: I'm not so sure. Esperanto holds those regularities more dear than other languages. | ||
FROGGS | TimToady: right, so I'm on the right track | ||
arnsholt | masak: Yeah, but that's the thing. Kids learning a language don't =) | 17:27 | |
uvtc | masak: I ask because it appears you speak english like it's your native language. | ||
Sorry -- getting way off-topic here. | 17:28 | ||
masak | arnsholt: I thought it was the other way around. kids prefer regularities. "gå, gådde, gått" | ||
17:29
jeffreykegler left
|
|||
arnsholt | Yeah, there's that as well | 17:29 | |
benabik | How many english kids say "I getted a cookie" | ||
arnsholt | But contractions and simplifications (FSVO simple) have a way of creeping into all mother tongues | ||
masak | uvtc: #1: .sv and .en -- #2: I think it's OK. it has its flaws, and is fairly Europe-centric, and we know more about linguistics these days. but it got the community bit right, and is fun to speak, and that's why it survives. | ||
arnsholt: I'm not necessarily saying you're wrong, and yes, maybe we'd see such an effect if there were more native speakers. right now, the counter-force of keeping the regularities win out easily. | 17:30 | ||
arnsholt | For example, the German pair gast/gäste is perfectly sensible and regular in the context where it arose. It's just that the reason has disappeared but the phenomenon hasn't =) | ||
uvtc | masak: .sv? That's El Salvador... | 17:31 | |
arnsholt | It's Swedish =) | ||
The ISO language codes are subtly different from the country codes | |||
uvtc | hehehe :) Thanks, arnsholt . | 17:32 | |
masak | yes, languages != countries ;) | ||
daxim | also, scripts != languages (Unicode) | 17:33 | |
masak | arnsholt: gotta löve the ablaut. | ||
arnsholt | Ah, but it's umlaut! | 17:34 | |
Ablaut is different and older, but looks exactly the same =D | |||
masak | I thought "umlaut" was a graphical decoration, whereas "ablaut" was when words changed depending on their form. | ||
like gast/gäste. | 17:35 | ||
17:35
jeffreykegler joined
|
|||
arnsholt | Ablaut is an inherited phenomenon from PIE (seen in strong verbs), whereas umlaut stems from vowels that were present in common Germanic and coloured neighbouring vowels | 17:35 | |
masak | s/words/vowels/ | ||
arnsholt: oh! | |||
well, that explains it. | |||
arnsholt | It's also the name of the phenomenon | ||
masak | It's älså the näjm of the phönomenön. | ||
arnsholt | In the case of gast, the root was originally gasti- and something about the shape of the plural (can't remember off-hand) made the stem-final -i colur the a to ä | 17:36 | |
(Also, gast- is cognate with the Latin hostis, which meant both stranger and enemy. Thus English hostile but also hostel) | 17:37 | ||
And I guess that's enough historical linguistics for today =) | 17:41 | ||
masak | arnsholt++ # :) | 17:43 | |
17:48
fgomez left
|
|||
geekosaur | .oO { "Actually, it means 'neighbor.' Which tells you something." } | 17:48 | |
FROGGS .oO { "Actually, it means 'Nachbar.' Which tells you something." } | 17:49 | ||
17:50
dakkar left
|
|||
masak .oO( bologneighbor ) | 17:50 | ||
17:50
Chillance joined
|
|||
FROGGS | yammi | 17:51 | |
17:52
uvtc left
17:57
ObseLeTe joined
17:58
jaldhar left,
sftp joined
18:00
kaleem joined
18:02
FROGGS[mobile] joined,
FROGGS left
|
|||
jnthn | break, bbl & | 18:04 | |
18:04
daxim left
18:08
AndChat|356841 joined,
awwaiid left
18:11
FROGGS[mobile] left,
sivoais left,
SamuraiJack left
18:12
sivoais joined
18:13
jaldhar joined
18:19
SunilJoshi left
18:21
jaldhar left
|
|||
arnsholt | Is it possible to special-case certain specialisations of a parametric type? | 18:26 | |
18:26
SunilJoshi joined
|
|||
arnsholt | For example so that one specialisation is used for Buf[int8] and another for Buf[SomeClass]? | 18:27 | |
A very special specialisation =) | |||
18:35
kaleem left,
zby_home_ joined
18:37
SunilJoshi left
|
|||
arnsholt | Hmm. Or maybe I don't have to. Buf isn't actually parametrised, so I could just replace it | 18:38 | |
18:39
rindolf joined
|
|||
rindolf | Hi all. | 18:39 | |
TimToady: hi. | |||
18:43
FROGGS[mobile] joined
18:44
Liz joined
|
|||
moritz | arnsholt: Buf is supposed to parameterized, fwiw | 18:44 | |
18:44
Liz is now known as Guest74378
|
|||
arnsholt | Yeah, that's why I wondered about the special specialisations | 18:44 | |
But since the current implementation isn't, I could ignore that wrinkle for the time being =) | |||
benabik | Specializations are useful. | 18:45 | |
moritz | specializations are hard. | 18:46 | |
18:46
Guest74378 is now known as lizmat,
census joined
|
|||
census | I've been banned again from #perl !! | 18:47 | |
Go me. | |||
18:47
AndChat|356841 left
|
|||
census | I think because I use windows. | 18:47 | |
I changed my username to appease them. | |||
benabik | Could you could write something like `class Int8Buf is Buf[int8]`, and pass Int8Bufs around where you otherwise expect Bufs? | 18:48 | |
moritz | s/is/does/ | ||
but yes | |||
18:48
rDo_ joined
18:50
forestial joined,
forestial left
|
|||
masak | census: so, you're formerly known as perlhelp, yes? | 18:52 | |
PerlJam | census: your name change did not appease anyone. | 18:53 | |
masak | census: I'm curious, how does it happen that you get repeatedly banned from #perl ? | ||
census | i was before | ||
i don't know | |||
i thought i was supposed to chagne my name | |||
i'll go back to perlhelp | |||
i don't care what my name is | |||
i don't know why i get banned because it comes without warning | 18:54 | ||
it just happens | |||
no explanation afterwards either | |||
i thought i was asking reasonable q's about using perl in windows | |||
i was told windowws is terrible | |||
so is the version of perl i use | 18:55 | ||
and aperion went wild | |||
PerlJam | census: People have long memories. | ||
huf | masak: want logs? it's not particularly pretty but i think it was avoidable. | ||
on perlhelp's part | 18:56 | ||
census | huf: what was the problem? | ||
masak | huf: I'm curious; if you can gist something, I'd be grateful. | ||
census | why won't anybody explain to me what was the problem today? | ||
huf | census: you dont listen. that's the main problem. | ||
census | the advice was to use a new version. | ||
I didn't listen to that? | |||
so i got banned | |||
i said i feel comfortable on the version i use | |||
huf | census: and #perl is a _lot_ more abrupt and a _lot_ less forgiving than this channel :) | ||
census: see? this is the sort of thing that got you banned | 18:57 | ||
census | because i like the version of perl i use? So i got banned? | ||
i said i am nervous about changing versions? | |||
au | census: hi. on a completely unrelated topic, did you know that wkhtmltopdf ( code.google.com/p/wkhtmltopdf/ ) has a windows installer, and it can convert familysearch.org web page to PDF, and you can open the PDF file and retrieve all result URLs from them? | ||
huf | 1) you have a problem 2) people tell you what to do to solve it 3) you start blathering about things instaed of listening to the advice | ||
TimToady | I suspect it's more because you go on and on about it | ||
census | frankly, i think that was a terrible solution | ||
huf | replacing a known-to-be-broken perl distro with a better one? | 18:58 | |
au | agreed. it's the one that worked though. :p | ||
huf | but i'll stop. this isnt the channel for it. | ||
census | i did not take it seriously because it was a terrible solution | ||
no channel is | |||
BAN PERLHELP AND NEVER TELL HIM WHY | |||
Because I do not want to switch versions of perl | |||
huf | i just told you. | ||
census | Yes, because I don't want to switch versions of perl!! | ||
huf | census: so solve your own problems. | ||
PerlJam | census: you quickly got us to "solve your own problems" space and didn't reach escape velocity again. | ||
census | I did not criticize anybody for it until I got banned | ||
huf | census: nobody cares. | 18:59 | |
census | PerlJam: look. | ||
It is awful being banned | |||
I write perl code now on my own | |||
I don't need the perl room | |||
I'm more upset about being banned. That is all | |||
The way in which I am banned is inhumane. | |||
TimToady | so you inflict it on us? | 19:00 | |
I'm beginning to suspect that it is more humane than inhumane... | |||
masak | :P | ||
census: if you don't like being banned from #perl, I suggest you find ways to get along with the people over there. | |||
census: from *your own description* of the discussion, I'm not all that surprised you got banned. | |||
TimToady | "It's always someone else's fault." is not how to do that... | 19:01 | |
masak | and I haven't even read the logs. | ||
census | why aren't you surprised? | 19:02 | |
i didn't give an attiude. | |||
TimToady | sure you did | ||
census | someone asked why i use active perl. I said it is all i am comfortable | ||
NOW I have an attitude | |||
masak | census: if you go into a channel where competent people can help you, they give their advice, and you adamantly refuse to follow it, you get banned. | ||
census | I developed an aftitude AFTER I got banned with now warning | ||
TimToady | why are you have the attitude at US? | ||
19:02
salv01 left
|
|||
TimToady | *having | 19:02 | |
census | That's terrible advice | ||
masak | it's not advice. | ||
census | I mean the advice they gave me was terrrible | ||
It was 1 person's advice | 19:03 | ||
I thought there might be other people with advice | |||
THe room has nearly 700 people | |||
1 person said get a new version. | |||
I said no, and got banned. | |||
huf | masak: sprunge.us/gViC, but it's noisy and i cant be arsed to clean it up better. | ||
census | I might have to change all of my code if I get a new version | ||
masak | huf: thanks. | ||
PerlJam | census: then again, you might now. | ||
er ,not | |||
census | Please do read it. I was trashed for using windows nonstop | ||
masak | census: Perl 5 takes backwards compat pretty seriously. | ||
huf | census: and you also got answers. | 19:04 | |
census | huf: I got 1 answer to change versions | ||
TimToady | census: you don't want help, do you? You just want to yell. At anyone. | ||
19:04
jeffreykegler left
|
|||
census | I'm yelling HERE. I did not yell there. | 19:04 | |
I thought I was polite. | |||
huf | census: btw, what you're doing here right now is quite appalling. | ||
and _certainly_ not polite. | |||
census | huf: Yes it is appalling. | ||
I am impolite here right now. I agree | |||
PerlJam | census: yelling here isn't helping. | ||
19:04
kivutar left
|
|||
census | I was NOT impolite in #perl | 19:04 | |
huf | we thought so | ||
census | I even said I am ok with the insults in #perl | ||
I was very nice in #perl | |||
TimToady | why aren't you nice here? | 19:05 | |
census | I did not insult the other version of perl | ||
I am so angry about being banned. I am looking for sympathy. | |||
TimToady | you won't get it | ||
census | Because y'all love aperion? | ||
huf | census: grow up and learn to handle yourself and other people better. | ||
geekosaur | census, the os bashing in #perl was a somewhat different issue, and a problem in itself, but you were banned because you ask the same questions and do not learn | ||
helping you, yes. thinking for you is ultimately beyond anyone on IRC | 19:06 | ||
TimToady thinks it's time to kick census here too | |||
census | I asked the same question because people wanted to sit around and talk about windows being bad. | ||
I wanted to ask about the module | |||
whatever | |||
huf | *sigh* | ||
19:06
census left,
fhelmberger left
|
|||
geekosaur | [13 14:00] <apeiron> not when the person demonstrably refuses to think | 19:07 | |
^^ that is the bottom line | |||
huf | i dont see what liking apeiron has to do with it, i cant stand him :D | ||
but he has ops and i like the channel, so i dont bother him :) | |||
PerlJam | So ... how are everyone's Perl 6 projects coming along? :-) | ||
huf | :) | ||
masak | :) | 19:08 | |
19:09
jeffreykegler joined
|
|||
TimToady | a little slow this morning for some reason... | 19:09 | |
jnthn back from dinner | |||
PerlJam | masak: did you find that document I gave you useful as a starting point to write something about the Parrot/Perl6 relationship? | 19:10 | |
nwc10 | TimToady: someone defrauding you with decaf? | 19:11 | |
jnthn | arnsholt: You can write multiple roles with the same name and it will do a multi-dispatch to decide which one matches. Given you can sneak where clauses into multi-dispatch, then you can potentially have two roles and pick one or the other based on moon phase, or whatever. | ||
masak | PerlJam: I like it, yes. thank you. | ||
PerlJam: I haven't seen alester around today, so I haven't been active in working on a text. | 19:12 | ||
arnsholt | jnthn: Right, so "class Buf[int8] { ... }; class Buf[::T] { .. };" should do more or less what I want? | ||
PerlJam | aye. I thought as much. | ||
masak | until he arrives, Imma spend some time reviewing p6cc solutions :) | 19:13 | |
by the way, I like the term "help vampire". as long as it's not overapplied, which is always a risk, just as with "troll". | 19:14 | ||
it's more important to get through to people than to label them. | 19:15 | ||
huf | masak: well yes, but perhaps they dont deserve death :) | ||
jnthn | arnsholt: Yeah | ||
masak | huf: well, people have long memories. he renames himself to 'census', and then the kick message is 'get out, perlhelp'. | 19:17 | |
huf: this tells me that this wasn't an isolated thing. he's been bugging them (and been kickbanned) before. | |||
huf | oh yes, i agree with that part | 19:18 | |
geekosaur | yes | ||
masak | we are unusually blessed over here from vampires and their ilk. | ||
huf | i just try to not wish death on anyone, as a principle :) | ||
geekosaur | in fact that was why he poked in here, he bhad been banned from #perl and tries to demand help from us instead | ||
masak | when we told census to stop, he left on his own. | ||
huf | masak: only for a while, i hope. | ||
err, you know what i mean | |||
masak | aye. | ||
PerlJam | So ... how are everyone's Perl 6 projects coming along? :-) | 19:19 | |
:-) | |||
arnsholt | jnthn: Brilliant! In that case I may try to improve Buf a bit =) | ||
Juerd | PerlJam: Keep trying :) | ||
masak | PerlJam: I wrote a perl6 -p script today. (re)discovered that $_ isn't rw. | ||
PerlJam: I think community matters are on-topic if we believe we can one-up Perl 5 in that area. | |||
jnthn | PerlJam: I'm working on the JVM targeting for the regex compiler. It's quite some work :P | 19:20 | |
colomon | jnthn++ | ||
jnthn digs back into his day's Perl 6 project :) | |||
PerlJam | jnthn++ keep on keeping on and you'll get where you're going :) | 19:21 | |
arnsholt | I'm stretched a bit thin across a couple of semi-interrelated projects, but I'm still hopeful that some cool things can result | ||
TimToady | (people who solve their own problems, and other people's too)++ | ||
otoh some folks are never interested in finding out what the real problem is... | 19:22 | ||
au | ...well, privmsg is more effective for that kind of thing; it's getting solved now. | 19:25 | |
nwc10 | jnthn: presumably 7bc93374c783dc0 [Fix code-gen for if/unless (yes, really).] means that the NQP regression tests are insufficient? | ||
masak | au++ | 19:26 | |
jnthn | nwc10: Well, yes, if you want to discover the issue in a simple test file :) | 19:27 | |
nwc10: ohbtw, what's the latest on the patches you sent in for exists/delete stuff? | 19:29 | ||
nwc10: Waiting on myself/Pm to look at latest? | |||
nwc10 | yes, sort of | 19:30 | |
19:30
rDo_ left,
benabik left
|
|||
nwc10 | As much, waiting for Pm to say "no, taking out existspos and deletepos from NQP is a daft thing" | 19:30 | |
moritz | r: my @a = <a b c>; @a.map: <-> $_ { .=uc }; say @a.perl | ||
p6eval | rakudo 5a1291: OUTPUT«Array.new("A", "B", "C")» | ||
nwc10 | to be clearer "talking them out from NQP, and relying on NQP to implement them for Rakudo in terms of binding null" | 19:31 | |
I *thought* that it was useful to take them out, as I can see a chunk of new Java code today to implement existspos | |||
or for Pm not to say that :-) | 19:32 | ||
jnthn | nwc10: Yeah, but that new code was just copy paste L :) | ||
19:32
jeffreykegler left
|
|||
jnthn | s/L// | 19:32 | |
moritz | masak: heh, you were right about -n/-p code having $_ as 'is copy' | ||
masak | moritz: oh, I see. | ||
nwc10 | jnthn: give the diffstat between the 3 files, they were mostly copy paste of each other. Hence the comment about templating Java using Perl | ||
moritz | masak: because for -p, $_ is printed on the inside | ||
masak | moritz: that makes me feel much less confused. :) | 19:33 | |
19:33
jeffreykegler joined
|
|||
Juerd | "Printed on the inside" sounds funny. | 19:33 | |
moritz | Juerd: that's ok :-) | ||
Juerd | Doesn't that interfere with the eskimo, though? :) | ||
masak | well, what it means is that when you have the AST, you can do slightly more than when you just have callable things at runtime :) | 19:34 | |
Juerd: yes, it does! :D | |||
moritz | so, now the question is, why doesn't the $param<is_copy> := 1 work? | ||
masak digs up the appropriate blog post | |||
moritz: maybe that's not how it's spelled? | |||
Juerd | Darn. Oh well, END { ... } probably works just as well. | ||
masak | Juerd: except you probably want LAST { ... } | ||
Juerd | On my oneliner I want whatever is less typing :P | 19:35 | |
masak | Juerd: strangelyconsistent.org/blog/dash-n-and-dash-p | ||
Juerd | Thank you | ||
masak | the eskimo operator gets an honorable mention. | ||
Juerd | Least you could do for the dying species :D | ||
masak | yah. | 19:37 | |
Juerd | Lovely article | 19:38 | |
masak | thank you. | 19:39 | |
it has two follow-up articles, because I ended up understanding settings in the process. | 19:40 | ||
Juerd | That's the risk you take... | 19:41 | |
masak | :) | 19:42 | |
moritz | oh hrm | 19:43 | |
Perl6::World.create_parameter simply sets the flags for an is_copy parameter | 19:44 | ||
19:45
census joined
|
|||
census | Hi I'm sorry I was rude before | 19:45 | |
I calmed down a bit | |||
moritz | but Parameter.set_copy also does a .set_rw on the container descriptor | ||
diakopter | census: all is forgiven :) | ||
census | Thank you. | ||
It does not feel good to get banned :( | |||
I'm sorry for lashing out | 19:46 | ||
It is not the fault of people here (unless maybe they are also in perl5) | |||
moritz | so the code path through the trait does more than the codepath through World.create_parameter | ||
masak | moritz: oh! | ||
diakopter | census: I suggest solving the problem of not being able to connect to the #perl-help channel first | ||
moritz | which might be the reason that the %param<is_copy> := 1; doesn't work | ||
masak | moritz: yeah, sounds like. | 19:47 | |
jnthn | I wonder if is_copy is legacy now and it's expected to always do it through the trait... | ||
moritz | jnthn: seems like | ||
jnthn | Any reason you can't just apply the trait? | 19:49 | |
moritz | jnthn: but how do I make the $_ by the -n option is_copy then? | ||
erm, hurm | |||
jnthn | iirc, create_parameter gives you back a Paramter | ||
And you can then $*W.apply_trait on that, or something along those lines. | |||
diakopter | census: go here www.irc.lc/magnet/perl-help | 19:50 | |
and be careful to be non-huffy and non-snippy | 19:51 | ||
moritz | jnthn: I'll try that route | ||
masak | census: it is big of you to apologise. you rise in my regard for doing so. | 19:52 | |
census | masak: it is no problem | ||
au | census: feel free to take our work in progress, gist.github.com/anonymous/4947480 , to the perl-help channel diakopter mentioned above and ask for improvements/feedback | ||
...and I'm off to sleep for real \o & | |||
moritz | good night | ||
geekosaur | also worth noting is disccusion about you in #perl: people actualy have less animosity about snippiness/huffiness than about your appearing unwilling to even try to learn | 19:53 | |
masak | census: "you need to learn how to figure out stuff yourself" :D | ||
census | thak you for that | ||
But | |||
masak | :( | ||
census | I have LEARNED so much perl. | 19:54 | |
diakopter | heh heh. you have much more to go | ||
[Coke] | jnthn++ for doing all the jvm work! | ||
diakopter | it is quite depp | ||
deep | |||
census | Those people do not understand because they have not seen the script I wrote! | ||
There probably things in it that many people here do not know. | |||
diakopter | hrm | ||
masak | census: "the bigger the island of knowledge, the longer the shore of wonder" ;) | ||
diakopter | this is a pretty erudite group | ||
census | Yes | ||
I am not trying to brag | |||
I don't mean it like that | |||
I mean I did some highly specialized routines | |||
I spent 9 days nonstop | 19:55 | ||
little sleep | |||
But I have some basic gaps | |||
masak | census: and when you say "I know a whole lot, you know", that comes across as en.wikipedia.org/wiki/Dunning%E2%8...ger_effect | ||
census | Ok. I mean I know a whole lot. But there is a whole lot I don't know. | ||
nwc10 | jnthn: I don't know if this *matters*, but right now, try this: | 19:56 | |
nqp nqp-jvm-cc.nqp -e 'for 1 -> $i { unless $i {nqp::say("T");}; {nqp::say("F");}}' | |||
diakopter | census: would you try the link I sent above? | ||
nwc10 | and then run it on regular NQP | ||
census | #perl treats me like I know zero | ||
19:56
jaldhar joined
|
|||
nwc10 | is the JVM *prototype* supposed to produce LTA errors? :-) | 19:56 | |
it's qutie splattacular. | |||
masak | census: well, you're not on #perl to have them treat you like a celebrity, I suppose. | 19:57 | |
census: you're on there to get help. | |||
which has more to do with lack of knowledge than with knowledge. | |||
census | Yes I know that | 19:58 | |
I know very little | |||
But I don't know zero | |||
I know a few things | |||
I have learned a lot | |||
I have lost lots of sleeptrying | |||
I still have a lot more to learn | |||
but i have learned a lot | |||
masak | put differently, if you find that you fall out with #perl because of your disagreement on how much you know... then you have an attitude problem. | ||
and fixing that will make your dealings with #perl better. | |||
census | even if a lot amoutns to a 2nd grade level plus the ability to do an integral somehow if theis were calculus | ||
no, that was not he falling out | 19:59 | ||
this is the argument we are havijg right now. I don't know why. | |||
i respect their abilities | |||
they know sooo much more than me | |||
they are superir to me | |||
they can treat me however they want | |||
i deserve nothing | 20:00 | ||
because i know so little | |||
i just want to be efficient | |||
if i am banned, i want to fix the problem | |||
that is how people negotiate | |||
and work things out | |||
masak | census: hey, slow down :) | ||
census | you have to know what the problem is | ||
TimToady | census: you're using up all the oxygen in here... | 20:01 | |
masak | census: it's simple. you get help on #perl iff you play by their rules. so far, you haven't learned how to do that. *you* are not being efficient at getting help. | ||
census: you need to learn that. | |||
census | i don't know their rules | ||
yes i agreee | |||
that is why i ask them what is wrong | |||
and i cannnot understand it | 20:02 | ||
i still think it is because i said i don't want to use a different version of perl | |||
20:02
fgomez joined
|
|||
census | and i don't think i said anything wrong by saying that | 20:02 | |
masak | census: again, slow down... | ||
jnthn | nwc10: wow :) | ||
huf | and yet here you are, making noise. | ||
census | i was not trying to deny advice, but rather say that that is not practical advice for me since i've learned so much about active perl | ||
huf | _this_ is part of the problem. | ||
census | HUF: We are not talking. | ||
diakopter | census: that is not nice | 20:03 | |
moritz | census: stop that | ||
census | You are right. | ||
huf | census: this is also part of the problem. | ||
census | It was not nice. | ||
masak | census: you're walking on thin ice here. | ||
moritz | census: when you're in a public channel, you#re talking to everybody | ||
huf | you will continue to encounter problems on irc as long as you do things like this. | ||
nwc10 | jnthn: compared with the real NQP error. | ||
20:03
ChanServ sets mode: +o masak
|
|||
huf | census: concentrate on how to trick people into giving you free help | 20:03 | |
census | HUF: What is "_this_ | ||
That language means nothing to me. | |||
huf | census: if common decency doesnt work in your case. | 20:04 | |
census: huge amounts of noise, attitude. | |||
census | who am i tricking? | ||
huf | ah. reading comprehension is required too. | ||
masak | moritz: how do I become op again? something with ChanServ, right? | ||
oh, I succeeded. :) | |||
diakopter | /msg chanserv op #perl6 | ||
masak | right. apparently I did le right thing. | ||
moritz | masak: I was just wonderigng why you asked *after* succeeding :-) | ||
masak | hehe. | ||
alester | masak: Sorry I don't have anything yet. Real life intruded. | ||
diakopter | census: see, masak is prepared to kick you if you're rude again | 20:05 | |
census | i appreciate that warning | ||
ok i'm sorry. | |||
that is clear | |||
TimToady | census: you are tricking yourself; see www.biblegateway.com/passage/?searc...ersion=NIV | ||
20:05
ChanServ sets mode: -o masak
|
|||
huf | oh, this saying comes from the bible too? heh :) | 20:05 | |
masak | census: try to speak slower and with more thought. | ||
census: we're not gaining anything from you dominating the channel with your quick utterances. | 20:06 | ||
census: we pretty much know how you're arguing now, so please don't repeat things you already said. | 20:07 | ||
census | i'm very sorry about that. | ||
huf | i <3 the language of the KJV | ||
20:07
jeffreykegler left
|
|||
masak | TimToady: Jesus grokked poetic irony. | 20:07 | |
alester | huf: The Bible is just full of cliches. That Shakespeare guy wrote all in cliches, too. | ||
TimToady | and Tolkiens elves are so...derivative... | ||
jnthn | It's all so cliche... | 20:08 | |
huf | alester: yes yes, but never having read it or been to church, i only know some of these sayings as "common" | ||
alester: and then i am surprised when yet another one of them comes from the bible :) | |||
masak | woman, upon hearing the person in line ahead of her ordering Madonna-with-child stamps: "She's on *stamps* now? Where does it end?" | ||
diakopter | hey, she's the eternal sinless virgin to many | ||
alester | www.phrases.org.uk/meanings/bible-p...yings.html | ||
diakopter: Not to me. She was sinless up through "True Blue" and everything after that is crap. | 20:09 | ||
masak | heh. | ||
ingy | Look, matey, I know a dead parrot when I see one, and I'm looking at one right now. | ||
masak | ingy! \o/ | 20:10 | |
ingy: bet you waited *years* to do that one! :D | 20:11 | ||
pmichaud | oh dear, I had forgotten about the dead Parrot jokes. | ||
ingy | heya masak! | ||
pmichaud | ingy++ | ||
masak | ingy++ | ||
ingy | :D | ||
Go Perl6! | |||
masak | let's get in our time machines, go back 10 years, and tell them "...and then they dismantled the Parrot project, and everyone had a party." | ||
atrodo | pmichaud: I've been surprised how little dead parrot quotes have been going around | ||
ingy | good stuff takes time. great stuff takes even longer. | ||
geekosaur | it's actually in the bible twice, there's a phrasing of that in I think proverbs (or maybe lamentations) | ||
masak | bet they'll go "wuh!? how'd *THAT* happen?" | ||
20:11
census left
|
|||
pmichaud | nwc10 / jnthn : I was just a little surprised at the patches is all, plus I wanted to make sure we weren't adopting Parrot's semantics of using nulls without considering the impact on other VMs | 20:13 | |
20:14
jeffreykegler joined
|
|||
pmichaud | also, I didn't know if it was related to solving the @array.delete issue, which is actually something quite different. | 20:14 | |
nwc10 | pmichaud: yes, the @array.delete is orthogonal | 20:15 | |
jnthn | pmichaud: We use some form of null in too many other places already. | ||
nwc10 | and also, as I see it, it's which is the lesser of two evils? | ||
20:15
census joined
|
|||
jnthn | pmichaud: As in, if we find ourselves on a platform that can't in some way represent a null value, we have a lot of other places that will be tricky. In reality, I think there'll always be some way. | 20:16 | |
nwc10 | a) mandating that the underlying VM somehow provides "sparseness" indicators, so that delete and exists ops exist | ||
or | |||
pmichaud | jnthn: it's not the existence of the null itself that concerned me; just the semantics of null and binding. After my latest comments I have no issue with the patches, as long as they don't result in slowdowns. | ||
nwc10 | b) doing the sentinal values in the NQP layer | ||
I'm not sure of the best way to check for slowdowns. The code in that RT ticket is roughly unchanged | |||
TimToady | I'm fine if there's a performance discontinuity at the decision to go sparse, as long as the API semantics remain sane | 20:17 | |
20:18
jeffreykegler left
|
|||
jnthn | pmichaud: I don't see a slowdown; we're just doing about what the ops did, in terms of some simpler ops. | 20:19 | |
pmichaud: As in, a couple rather than one. | |||
pmichaud | at some level I think I want nqp::atpos to be defined only for indexes in the array, to keep it fast/simple. | 20:20 | |
nwc10 | how does "undefined" manifest itself - range exceptions? or nasal daemons? | ||
pmichaud | well | 20:21 | |
if nqp::atpos has to do a check of the index to decide whether to throw an exception, it could just as easily return a sentinel | |||
20:22
benabik joined
|
|||
pmichaud | (this is reprising the question from p6c about how 'defensive' does platform code need to be) | 20:23 | |
20:23
labster joined
|
|||
TimToady notes that the Nil value should generally be indistinguishable from a missing value, so might be a decent sentinal | 20:24 | ||
*nel | |||
benabik | nel value? ;-) | ||
pmichaud | Yes, at a P6 level I agree with using Nil, Mu, or Any | 20:25 | |
I'm just wondering what the nqp-vm policy should be. | |||
nwc10 | right now, nqp can distinguish between a position in an array where you never assigned anything, and a position where you assigned Mu | ||
TimToady | well, Mu and Any aren't supposed to considered to mean "not there" in the sense that Nil is | ||
rjbs | thus coining the term "Setinil" | ||
nwc10 | (or whatever of those three it is that it returns if you ask for the value at an index that was never assigned) | ||
moritz | rjbs++ # fully assimilated to #perl6, with bad puns and all :-) | 20:26 | |
pmichaud | TimToady: yes; but I'm also thinking that if I have my Int @array; then @array[$bigindex] should return Int | ||
20:26
domidumont left
|
|||
nwc10 | er, Any() | 20:26 | |
pmichaud | we can make it return Nil if it's never been initialized, but that somewhat departs from the way that we handle other uninitialized containers. | 20:27 | |
labster | I thought that SETINil was the search for extraterrestrial Nil values. | 20:28 | |
pmichaud | labster: you can search for extraterrestrial Nil values, but they're "not there" | ||
20:28
sqirrel left
|
|||
moritz | jnthn: I tried this patch here: perlpunks.de/paste/show/511bf758.7ea6.187 | 20:28 | |
jnthn: and now with -n, I get a Null PMC acces in get_bool | |||
the line that dies is if $cd { $cd.set_rw(1) } in src/Perl6/Metamodel/BOOTSTRAP.pm | 20:29 | ||
TimToady | we're trying to move to a model in which variables can have default values, so an Int array could have Int as its default, so in that sense it doesn't matter (semanticall) if you actually store the Int | ||
*cally | |||
moritz | so, for some reason, it doesn't get a container descriptor | ||
swarley | rewriting everything to use better style and incorporate serialization | ||
should be able to expect progress again starting this weekend at the latest | 20:30 | ||
pmichaud | nwc10: I do think that at the NQP level we need to be able to distinguish between "never bound" and "bound to Mu"; that's quite intentional on my part. | ||
jnthn | moritz: That doesn't happen "for free" | ||
TimToady | and, in fact, hashes with defaults of the KeyHash persuasion are supposed to remove values matching the default | ||
swarley | I think I'm giving up on emacs | ||
labster | Okay, I have a question. If I have a module Foo::Bar with a sub foo, is it possible for me to call it as Foo::Bar::foo(...), or do I have to import it into the current namespace? | ||
moritz | jnthn: what does that mean? | 20:31 | |
labster: subs are lexical by default | |||
pmichaud | TimToady: correct, we're in agreement then on how things should work at that level. | ||
TimToady | I think if you're going to have NCI inputs you're going to have to be able to talk about null pointers at some level | ||
moritz | labster: so you either need to import/export, or write 'our sub foo' | ||
TimToady | and p5 kind of lets you talk about the null pointers in an array using exists | 20:32 | |
labster | moritz: thanks... that does it. I knew I was missing something. | ||
20:32
zby_home_ left
|
|||
TimToady | in general, systems where one part assumes that another part has checked for nulls tend to be more fragile, so p5 checks for nulls in most places | 20:33 | |
moritz | labster: though importing/exporting is the preferred mechanism in Perl 6 | ||
TimToady | and I always figured as long as you were checking for nulls anyway, you can do something sensbible with them | 20:34 | |
TimToady understands that other VMs may approach this question differently though | |||
pmichaud | nwc10: let's try this path, then: If having nqp::atpos returns a null sentinel for missing/out-of-bound elements makes the Rakudo code better, let's go with that. If the Rakudo code needs to do checking anyway, let's make nqp::atpos simpler if we can. | ||
(to avoid the extra check overhead) | 20:35 | ||
jnthn | moritz: See code in sub declare_param | ||
labster | moritz: I just thought that my sub names were a little well... terse otherwise, and I didn't want to cause needless collisions with user subs. Maybe I should just rename them. | ||
pmichaud | there's also the question as to whether nqp::atpos should be able to handle default values. Lots to be said for going that direction. | 20:36 | |
jnthn | moritz: Really, I just mean that the container descriptor is explicitly made and placed into the thing passed to create_parameter | ||
dalek | rl6-roast-data: ac6f59f | coke++ | / (4 files): today (automated commit) |
||
TimToady | in any case, the way to avoid null checks in many arrays is to make them hold natives rather than pointers :) | ||
[Coke] | rakudo now failing 218 tests. | ||
moritz | jnthn: ah | ||
[Coke] | (more than niecza) | ||
pugs in the lead, only failing 8. | 20:37 | ||
labster | I'm working on a port of File::Compare, because it's a core P5 module and it's about at my skill level. | ||
moritz | jnthn: maybe make_thunk_ref isn't the right choice for the -n wrapper, and there's a routine that already does what I want? | ||
pmichaud | if our aggregates have a way of specifying the value to use for nonexistent/out-of-bound elements, that could be a nice win | ||
moritz | I don't understand what the various coderef-creating subs do, and how they differ | 20:38 | |
jnthn | moritz: make_thunk_ref doesn't sound quite right. make_topic_block? | ||
pmichaud | (and an aggregate could specify "null" if that's the best approach) | ||
it'd be pretty easy to get QRPA in Parrot to have that capability. | |||
moritz | jnthn: er wait, that's what is used right now | ||
ok, I'll try to improve it | 20:39 | ||
pmichaud | TimToady: +1 (hold natives rather than pointers) | ||
[Coke] | labster++ | ||
masak | labster: cool! | 20:40 | |
pmichaud misses writing Perl 6 / NQP code | |||
labster | The original File::Compare::compare returns 0 on equality and 1 on difference, but that seems -- I dunno, contrary to natural language to me. | 20:41 | |
masak | labster: you could define an enum. | ||
or just use Bool, I dunno. | |||
jnthn misses pmichaud writing Perl 6 / NQP code ;) | 20:42 | ||
pmichaud | I hope to have more p6-shaped tuits soon. | ||
labster | Yeah, that's what I was going for. But maybe making the function names like are_different and are_alike. | ||
masak | labster: that sounds even saner. | ||
pmichaud | at least I'm able to find some #perl6-shaped ones again. :) | ||
geekosaur | compare is more intended for ordering, where it's appropriate for 0 to indicate no difference between the two for ordering purposes. maybe compare should be called ordering or something | ||
masak | rn: say Ordering.enums.values | 20:43 | |
p6eval | niecza v24-23-g0520c7c: OUTPUT«===SORRY!===Undeclared name: 'Ordering' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /ho… | ||
..rakudo 5a1291: OUTPUT«===SORRY!===Undeclared name: Ordering used at line 1» | |||
masak | hrm. | ||
moritz | masak: Order | ||
masak | rn: say Order.enums.values | ||
pmichaud | rn: say Order.enums.values | ||
p6eval | rakudo 5a1291, niecza v24-23-g0520c7c: OUTPUT«-1 0 1» | ||
masak | rn: say Order.enums.keys | ||
p6eval | rakudo 5a1291, niecza v24-23-g0520c7c: OUTPUT«Increase Same Decrease» | ||
moritz | rn: say Order.enums.perl | ||
p6eval | rakudo 5a1291: OUTPUT«("Increase" => -1, "Same" => 0, "Decrease" => 1).hash» | ||
..niecza v24-23-g0520c7c: OUTPUT«EnumMap.new(...)» | |||
masak | advantage Rakudo :) | 20:44 | |
pmichaud | I'm afk | ||
jnthn | o/ | 20:45 | |
labster | File::Compare returned -1 for error, so it wasn't exactly useful for ordering. | ||
20:46
pupoque joined,
alec__ joined
|
|||
moritz | well, you can always fail() on error in Perl 6 :-) | 20:47 | |
masak | I don't see people do this a lot. | 20:48 | |
labster | Actually, I am using fail. | ||
moritz | \o/ IT WORKS | ||
masak | moritz: \o/ | ||
labster | My code is full of fail, I'm sure. | 20:49 | |
jnthn | moritz++ | ||
moritz | spectesting now | ||
Ulti | from within rakudo is there a way to check which version is running? | 20:51 | |
moritz | r: say $*VM | ||
p6eval | rakudo 5a1291: OUTPUT«("name" => "parrot", "config" => {"git_describe" => "RELEASE_4_10_0", "sha1" => "08a70fe50d07fc932b5505b13f09fa74b01622e9", "a" => ".a", "ar" => "ar", "ar_extra" => "", "ar_out" => "", "archname" => "i486-linux-gnu-thread-multi-64int", "arflags" => "cr", "as" => "a… | ||
Ulti | thanks | ||
moritz | r: say $*PERL | ||
p6eval | rakudo 5a1291: OUTPUT«("name" => "rakudo", "compiler" => {"name" => "rakudo", "ver" => "2013.01-115-g5a12919", "release-number" => "", "build-date" => "2013-02-13T10:13:32Z", "codename" => ""}).hash» | 20:52 | |
moritz | that's better | ||
Ulti | n: say $*PERL | ||
p6eval | niecza v24-23-g0520c7c: OUTPUT«Any()» | ||
Ulti | ok neat | ||
labster | One thing I noticed is that Buf eqv Buf is really slow. | 20:53 | |
r: my $exes = ('x' x 10000).encode; my $n = now; $exes eqv $exes; say now - $n; | |||
p6eval | rakudo 5a1291: OUTPUT«3.249693052» | ||
labster | r: my $exes = ('x' x 10000).encode; my $n = now; $exes.decode('Binary') eqv $exes.decode('Binary'); say now - $n; | ||
p6eval | rakudo 5a1291: OUTPUT«0.02707558» | ||
labster | string comparison only 1200 times faster | 20:54 | |
colomon | woah | ||
20:54
swarley| joined
20:55
census_ joined
|
|||
Ulti | o__O | 20:55 | |
arnsholt | And since I just looked at the Buf code, I think I know why | ||
moritz | arnsholt: me too, without even looking at it :-) | ||
20:55
census left
|
|||
arnsholt | Buf.eqv($a, $b) does $a.list eqv $b.eqv | 20:56 | |
20:56
fgomez left
|
|||
census_ | For the record, I figure out the problm I had posed to #perl | 20:56 | |
arnsholt | So it probably iterates over the list forms in Perl 6 and compares each element, while the string compare goes straight to C | ||
moritz | that's from the times where Buf was implemented with ByteBuffer | ||
arnsholt: yes, I'll fix that | 20:57 | ||
labster | thanks moritz++ | ||
arnsholt | There are some PIR bits in there as well, I noticed | ||
I'll probably give Buf a whack soonish though, since we're really gonna need it for proper Zavolaj | 20:59 | ||
moritz | labster: thanks for reporting that. This is exactly the kind of feedback we need to actually make rakudo faster | ||
labster++ | 21:00 | ||
spectesting... | |||
Ulti | might be an interseting test to add in runtime sanity too | ||
21:00
swarley| left
|
|||
Ulti | if you know that string equivalence should be near by in runtime | 21:00 | |
dalek | p-jvm-prep: e033394 | jnthn++ | lib/QAST/JASTCompiler.nqp: Start getting the regex compiler in place. Implemented concat, literal and pass. Empty, cheating scan so we can try the other bits. Also got most of the prologue being emitted, but none of the postlude that handles backtracking yet. |
21:03 | |
p-jvm-prep: 27c4de7 | jnthn++ | / (2 files): Implement nqp::findmethod. |
|||
p-jvm-prep: d1763c9 | jnthn++ | nqp-src/QRegex.nqp: Uncomment parse, wich ACCEPTS calls to match. With this, it's now possible to do a very, very basic regex: use QRegexJVM; say(('abcdef' ~~ /abc/).Str()) Which produces 'abc' as output. |
|||
[Coke] | jnthn++ | 21:05 | |
arnsholt | Oooh! | ||
Ulti | I dont get how you are all so productive given dayjobs existing :S | 21:06 | |
pmichaud | dayjob? what's that? | ||
Ulti | heh those things you avoid doing work at | ||
jnthn | The thing I didn't have to do today :) | ||
Should probably look after it a bit tomorrw, though :) | 21:07 | ||
21:10
raiph_ left,
fgomez joined
|
|||
Ulti | jnthn do you have a limit on how many of your lessons can be on compilers and object models? | 21:11 | |
nwc10 | pmichaud: I don't have a good enough overview of the Rakudo code (and what should be at which level) to be able to judge whether something makes the Rakudo code better. I also don't have any good idea of what the significant difference between Mu and Any is. | 21:12 | |
so, whilst that's a reasonable criteria at the design level, it's not something I'm able to continue with. | |||
timotimo | Any derives from Mu, Junction derives from Mu, too. everything else derives from Any (is what i believe) | 21:17 | |
jnthn | Ulti: I don't really teach compilers and how to implement object systems. :) But I do find knowing such things helps when teaching pretty much any programming topic :) | ||
21:18
rindolf left
|
|||
nwc10 | jnthn: *still* passes all tests. | 21:18 | |
jnthn | nwc10: Darn...I might go a whole day without breaking anything?! | 21:19 | |
nwc10 | the night is young, surely? | ||
jnthn | Just deciding what to pick off next. | 21:20 | |
21:20
zby_home joined
|
|||
jnthn | I think I'll leave the backtracking for another day...but there's still other things I can do :) | 21:20 | |
21:20
zby_home left
21:21
xy left,
yx joined
|
|||
pmichaud | nwc10: okay, I'll look in more detail shortly. If anyone (including you) wants to go ahead and apply the patches, I'm okay with that. | 21:25 | |
21:25
AAB3S99 joined,
raiph_ joined,
JTAAF61X joined
|
|||
jnthn | imho, we're better off without nqp::existspos and nqp::deletepos | 21:27 | |
21:29
FROGGS_ joined
|
|||
pmichaud | jnthn: noted. I'll re-examine a bit over the next couple of days. | 21:31 | |
jnthn | pmichaud: We may also want to declare the passing negative indexes to nqp::atpos is erroeneous, while you're pondering these things. | 21:32 | |
pmichaud | well, if we assume that nqp::atpos gives sentinels, then nqp::existspos is just a macroish comparison :) | ||
jnthn | Yes, exactly. | 21:33 | |
pmichaud | jnthn: what's your opinion about how nqp::atpos should handle out-of-bounds indexes? | ||
nwc10 | but NQP itself doesn't need this sparesness. Rakudo does | ||
er, sparseness. | 21:34 | ||
and ENOPUN for sparesness. | |||
that's the biggest thing that is bugging me here. | |||
jnthn | pmichaud: I think we rely on it giving back null in a bunch of places, as a sign of "this element doesn't yet exist", for some definition of exists :) | ||
pmichaud: We could make it throw an exception in any case, but sentinels tend to be cheaper to handle, and we already have good things to do that. | 21:35 | ||
QAST::VarWithFallback for example. | |||
pmichaud | if we're already checking boundedness, what's the harm in handling negative indexes then? I think there are a couple of places that we make use of negative indexing too. | 21:36 | |
*checking bounds | |||
jnthn | I think whatever you do it'd best not segfault, but if we make negative mean "undefined behavior" we can punt that check down to the VM and it can complain how it feels like. | ||
On the JVM I guess it's already having to check for that. OTOH, it may well spot that we are do come JIT... | |||
*already do | 21:37 | ||
What do you mean by handling negative, ooc? | 21:38 | ||
pmichaud | atpos(-1) | ||
jnthn | As in, "subtract the elem count and check again"? | ||
Or "return the sentinel reliably"? | |||
pmichaud | add the elem count and check again | ||
could also be return the sentinel reliably. Either way, the point is that we still are having to do the check. | |||
21:38
lizmat left
|
|||
jnthn | True | 21:38 | |
And I guess given that we only do the second check if the first one fails means it's only a single check for non-negative | 21:39 | ||
pmichaud | right. | ||
jnthn | So it's not actually extra cost in terms of instruction count. | ||
pmichaud | correct. | ||
jnthn | OK, then I can go with add elem count and check again. | ||
Which is...the status quo :) | |||
pmichaud | indeed | ||
how do you feel about letting aggregates choose their sentinel? | 21:40 | ||
too costly for the extra pointer? | 21:41 | ||
s/pointer/reference/ | |||
jnthn | Well, depends how we do it. | ||
If you count it as part of the type, then it can be stored once per type (at the cost of a slightly more pricey lookup) | |||
pmichaud | I'm thinking per-instance | 21:42 | |
jnthn | Otherwise it'd have to be per instance. | ||
pmichaud | it could be per-type if our types are smart enough to handle that | ||
i.e., if we really do recognize my Int @array as being a different type from my Any @array | |||
jnthn | Well, on JVM an array type is using the VMArray REPR, so it's decidedly smart enough :) | ||
21:42
benabik left
|
|||
jnthn | I think those are different types already | 21:43 | |
Thing is that there's then the underlying storage. | |||
Oh, wait, what level are you thinking of putting this at? | 21:44 | ||
pmichaud | possibly fairly low | ||
jnthn | The QRPA level, or the Perl 6 Array level? | ||
pmichaud | QRPA level | ||
21:44
benabik joined
|
|||
jnthn | Yeah. Then we get two levels of type-y thing. | 21:44 | |
The Perl 6 Array[Int] or however we choose to see it, and also the low level storage. | |||
Having that typed also is fine I guess. | 21:45 | ||
pmichaud | well, Array[Int] can just tell the QRPA "here's what I what you to return for non-existent elements" | ||
which of course can continue to be PMCNULL (the default), but it could also be Nil or Any or Mu or ... | |||
jnthn | *nod* | ||
pmichaud | but it does mean an extra slot in every QRPA | 21:46 | |
and maybe we don't want that. | |||
jnthn | Over in JVM land, QRPA's functionality is done as a REPR. | ||
That means that there's the usual STable slot for hanging off type-specific info from. | |||
pmichaud | yup | ||
jnthn | In which case we get to have our sentinel cake and eat it. | 21:47 | |
pmichaud | also, it means that QAST::VarWIthFallback can be a lot simpler | ||
(maybe, if I'm understanding what QAST::VWF is doing) | |||
jnthn | It does a lookup like a usual Var lookup would, and if it comes back with a null, it evaluates to the fallback | 21:48 | |
pmichaud | right | ||
jnthn | It's mostly a convenience. | ||
pmichaud | this lets the aggregate specify the fallback | ||
21:49
donaldh joined
|
|||
jnthn | Right, which would make QAST::VWF needed in...well, not that situation at lesat. | 21:49 | |
And that's it's main usage iirc. | |||
er, amke it *not be needed* | |||
nwc10 | (I'm somewhat completely lost on the details now... | ||
jnthn | oh, huh, I confused myself in the negations ;) | ||
nwc10 | but I have found that NQP-JVM makes it a lot clearer to see which level is which. There's NQP. There's some Java code that "we" own (ie Jonathan) | 21:50 | |
and beneath it is the real VM, which someone else owns) | |||
(which could have been written in Ook!, for all we care. | 21:51 | ||
The layers are much clearer) | |||
jnthn | Please, somebody else is allowed to own it too ;) | ||
pmichaud | I'm glad the layers are clearer :) | ||
[Coke] | you're too fast! | ||
pmichaud tapes Coke's virtual mouth shut. | |||
Ignore that part about being "too fast" :) | |||
jnthn | :P | ||
pmichaud | anyway, we'll want to do some defaulting with KeyHash type aggregates also. So it might be helpful to have some sort of defaulting built-in to our NQP-level aggregates | 21:52 | |
nwc10 | [Coke]: this file changes quite slowly: github.com/jnthn/nqp-jvm-prep/comm...ocs/LHF.md | 21:54 | |
pmichaud | (including hashes) | ||
which would eliminate other of the VarWithFallback instances | |||
jnthn | Yeah. | ||
pmichaud | the theory being that fallbacking from within the aggregate code could be faster than fallbacking at the QAST level | ||
which is certainly the case for QRPA | |||
jnthn | It's a win everywhere in the sense of more compact code. | ||
pmichaud | so maybe we end up with a QHash too :-/ | ||
jnthn | No, maybe not | ||
pmichaud | (not that I mind a QHash too much) | 21:55 | |
jnthn | I'd rather we throw the tuits at fully standardizing our stuff on 6model, not having even more PMCs in the mix... | ||
benabik | nwc10: It's also fairly short. | ||
pmichaud | jnthn: oh, I'm happy with that also. | ||
census_ | SOS | 21:56 | |
nwc10 | and it still has deletepos in it | ||
jnthn | boo | ||
jnthn updates | |||
pmichaud | deletepos needs to be considered with respect to how Array.delete works | 21:57 | |
and where compaction takes place | |||
nwc10 | yes, but it probably should come out of Low Hanging Fruit for now | ||
pmichaud | well, "compaction" as in shortening the virtual length of the array | ||
sadly, I have to run now | |||
jnthn: think a bit more on having a slot for "default sentinel" in aggregates and let me know if you like it or dislike it as a general notion | 21:58 | ||
donaldh | jnthn: I updated my impl of nqp::split to use indexOf and substring. | ||
phenny | donaldh: 07 Feb 00:52Z <diakopter> tell donaldh I commented on your pull request's commit | ||
census_ | I have a very strange outputting situation!! Can somone pleease help? :) | ||
donaldh | jnthn: I sent a pull request update last week. | ||
[Coke] | nwc10: I know, I know. I did make it smaller at one point. :) | ||
pmichaud | I'm afk again... bbt | ||
[Coke] | census_: Is this Perl 6 code? | 21:59 | |
Or for some p5 code used in the build of one of the Perl 6s? | |||
census_ | No perl 5. But I know some people know perl 5 here. I would chat in private so not to distract the room. | ||
jnthn | pmichaud: Will do. | 22:00 | |
donaldh: oh, I missed the update... | |||
22:00
benabik left
|
|||
dalek | p-jvm-prep: ac0348c | jnthn++ | / (2 files): QAST::Regex dba nodes, and uncomment some of !dba. |
22:01 | |
p-jvm-prep: 77328b7 | jnthn++ | docs/LHF.md: Update LHF. |
|||
donaldh | jnthn: np. I have been away since then and am just catching up. | ||
jnthn | donaldh: d'oh, now it dosn't want to automatically merge it. | 22:02 | |
jnthn sorts it out | |||
donaldh | I just merged upstream. It looks like it's just the plan in 59-ops.t | 22:03 | |
22:04
skids left
|
|||
donaldh | 59-nqpop.t even :-) | 22:04 | |
swarley | What is up with people coming in here to talk about perl5? | 22:12 | |
diakopter | swarley: it's just the one person, different usernames | ||
swarley | ah | ||
dalek | p-jvm-prep: b8a759e | jnthn++ | / (2 files): Add nqp::split implementation; donaldh++. |
||
p-jvm-prep: 20756af | jnthn++ | nqp-src/ (2 files): Uncomment some code that needed nqp::split. |
|||
p-jvm-prep: 867be66 | jnthn++ | t/nqp/59-nqpop.t: Add nqp::split tests; donaldh++. |
|||
p: c9bc4a2 | jnthn++ | t/nqp/59-nqpop.t: Add nqp::split tests; donaldh++. |
22:13 | ||
swarley | Is anyone familiar with how libraries like libdl work? I'm going to need to make something like it so that I can do dynamic code loading for Go | 22:14 | |
Well, I suppose everything could be statically linked | 22:15 | ||
jnthn | swarley: eval? :) | ||
swarley | In Go? :o | ||
:p* | |||
jnthn | swarley: No, I meant, implementing eval :) | ||
swarley | I was hoping that I could just compile features as they're made and link them in | ||
But, Go doesn't have easy support for dynamic loading | |||
so I suppose I'll so the static route. | 22:16 | ||
And right now I'm doing a rewrite of what I have so far | |||
I'm about to get into the REPR | |||
but I'm getting all of the ThreadContext/SerializationContext etc in the code base before I get too far down the road | |||
diakopter | donaldh: I haven't read the code; what does it do with multiple delimiter matches in succession? | 22:17 | |
22:17
bluescreen100 left
|
|||
donaldh | zero length string between each delimiter match | 22:18 | |
nwc10 | jnthn: meta-fail. (It still passes) | 22:19 | |
diakopter | nqp: say(nqp::split(" ", "a a a")) | 22:20 | |
p6eval | nqp: OUTPUT«[ "a", "", "a", "", "a" ]» | ||
diakopter | donaldh: ^^ it collapses them | ||
donaldh | diakopter: sorry, you've lost me | 22:21 | |
diakopter | nqp: say(nqp::split("x", " xx xx ")) | 22:22 | |
p6eval | nqp: OUTPUT«[ " ", "", " ", "", " " ]» | ||
diakopter | oh | ||
nm | |||
jnthn | diakopter: Gives same output on both. | ||
(the a one at least) | |||
jnthn just tried it locally | |||
diakopter | sorry, I thought I saw something different the other day | ||
stevan_ | nqp: say(undef) | 22:23 | |
p6eval | nqp: OUTPUT«» | ||
stevan_ | nqp: say(true) | ||
p6eval | nqp: OUTPUT«» | ||
stevan_ | nqp: say(false) | ||
p6eval | nqp: OUTPUT«» | ||
donaldh | I should add a test for consecutive delimiters. | ||
stevan_ | hmm, am I using the p6eval bot wrong? | ||
jnthn | nqp: say(i_turn_all_unknown_lookups_info_nqpmu) | ||
p6eval | nqp: OUTPUT«» | ||
nwc10 | stevan_: did you want nqp? or Rakudo? | ||
jnthn | *into | 22:24 | |
Anyway, there's no undef/true/false defined in nqp | |||
22:24
kaare_ left
|
|||
stevan_ | oh, I guess Rakudo :) | 22:24 | |
nwc10 | nqp: say(Rickroll) | ||
p6eval | nqp: OUTPUT«» | ||
nwc10 | quite safe :-) | ||
r: say "Hello world" | 22:25 | ||
lue | [backlog] masak: I have actually played nethack [ in spite of gentoo's wails of security vulnerabilities ], but Dwarf Fortress is more fun :) | ||
p6eval | rakudo 5a1291: OUTPUT«Hello world» | ||
stevan_ | nwc10: thanks | ||
jnthn | nwc10: You're never gonna give that meme up? :) | ||
stevan_ | r: say undef | ||
p6eval | rakudo 5a1291: OUTPUT«===SORRY!===Unsupported use of undef as a value; in Perl 6 please use something more specific: Mu (the "most undefined" type object), an undefined type object such as Int, Nil as an empty list, !*.defined as a matcher or method, Any:U as a | ||
..t… | |||
stevan_ | ouch | ||
ok | |||
r: say true | |||
p6eval | rakudo 5a1291: OUTPUT«===SORRY!===Undeclared routine: true used at line 1» | ||
nwc10 | you can also talk to it as a privmsg | ||
jnthn | r: say True | ||
p6eval | rakudo 5a1291: OUTPUT«True» | ||
stevan_ | is true not true | ||
nwc10 | but, I discovered, you need to start your message with r: | 22:26 | |
or n: | |||
or the other things it accepts | |||
stevan_ | ah | ||
r: say False | |||
p6eval | rakudo 5a1291: OUTPUT«False» | ||
masak | in a method in a grammar, how do I refer to the string matched against? | ||
stevan_ | got it | ||
thanks | |||
nwc10 | I don't think that there's a prize for DOSing it. Or pwning it | ||
jnthn | masak: self.orig iirc | ||
masak | jnthn: dz | ||
jnthn | pzh | ||
masak | jnthn: indeed, it is. jnthn++ | 22:27 | |
r: grammar G { regex TOP { { die self.orig } } }; G.parse("OH HAI") | 22:28 | ||
p6eval | rakudo 5a1291: OUTPUT«OH HAI in regex TOP at /tmp/Fpk8RNpPLu:1 in method parse at src/gen/CORE.setting:10733 in block at /tmp/Fpk8RNpPLu:1» | ||
masak | r: grammar G { regex TOP { { die self.^methods } } }; G.parse("OH HAI") | ||
p6eval | rakudo 5a1291: OUTPUT«No such method 'Stringy' for invocant of type 'NQPRoutine' in method join at src/gen/CORE.setting:1293 in method Str at src/gen/CORE.setting:5792 in method Str at src/gen/CORE.setting:5093 in method message at src/gen/CORE.setting:9333 in regex TOP at /tm… | ||
masak | jnthn: should this work? ;) | ||
jnthn | yeah, but we already know it doesn't :) | ||
masak | ah. | ||
dang, I keep finding stale bugs! | |||
jnthn | Yeah. I'm too slow at fixing them :P | ||
masak | someone should srsly think about not reporting them before I do :P | 22:29 | |
jnthn | You reported this one already, I thknk :P | ||
masak | masak: stop doing that! | ||
jnthn | yeah, you tell him! | ||
masak | masak: no, *you* stop! | ||
nwc10 | if you moved to github, you'd get more contributors. | ||
Oh, wait. | |||
Ulti | r: print | 22:31 | |
p6eval | rakudo 5a1291: ( no output ) | ||
masak | Ulti: known bug. | ||
Ulti | you mean the True return value? | ||
jnthn | std: print | ||
p6eval | std 7551b8f: OUTPUT«===SORRY!===Unsupported use of bare 'print'; in Perl 6 please use .print if you meant $_, or use an explicit invocant or argument at /tmp/HHblMkrlu3 line 1:------> print⏏<EOL>Check failedFAILED 00:00 41m» | ||
masak | I mean that. | ||
Ulti | k | ||
just checking :P | |||
jnthn | You need to clothe your prints in Perl 6 :) | 22:32 | |
masak | print decently! | ||
Ulti | well you can do a bare say and get a newline so thought you might get a null string or something | ||
lue | .oO(What if a module interfacing with printers created a bare print function to do what it says on the tin?) |
22:33 | |
Ulti | ahhh I get it though, you are printing a null string which is doing nothing and you successfully have done that | 22:34 | |
and say does the same its just you also get the output | 22:35 | ||
thats not a bug its just the prompt does slightly different things in each case | |||
22:36
FROGGS[mobile] left,
donaldh left
22:37
PacoAir left
|
|||
Ulti | r: my $say = say; my $print = print; say $say.perl ~ " " ~ $print.perl; | 22:38 | |
p6eval | rakudo 5a1291: OUTPUT«Bool::True Bool::True» | ||
Ulti | its all good | ||
swarley | Slowly rewriting everything | 22:44 | |
I'm going to need to organize this code better after the rewrite is done though I think | |||
23:04
wk left,
pupoque left
|
|||
_sri | blog.headius.com/2012/10/so-you-wan...-ruby.html # interesting post about optimizing ruby implementations and the jvm | 23:08 | |
jnthn was reading some of headius++'s code last night :) | 23:10 | ||
_sri | :) | ||
masak | heady stuff :P | 23:11 | |
jnthn | It was...invokedynamic takes some getting one's head around :) | ||
It does...quite a lot more than invocation stuff :) | 23:12 | ||
23:18
_daniel-s__ joined
23:19
ObseLeTe left
23:20
_daniel-s__ left
23:21
_daniel-s__ joined
|
|||
masak .oO( invokedynamic is WEB SCALE ) | 23:21 | ||
jnthn throws a PIC axe at masak | |||
23:22
daniel-s__ left
|
|||
masak hides behind a register alligator | 23:22 | ||
23:30
census joined
23:33
census_ left
|
|||
masak | 'night, #perl6 | 23:33 | |
23:35
census_ joined,
skids joined
23:37
census left
23:44
araujo left
23:49
k-man joined
23:52
k-man left
23:55
_daniel-s__ left
|
|||
dalek | p-jvm-prep: f1b70d2 | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement enumcharlist compilation. |
23:55 | |
p-jvm-prep: 71e1f67 | jnthn++ | lib/QAST/JASTCompiler.nqp: ws just delegates to (todo) subrule. |
|||
p-jvm-prep: 0faad58 | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement qastnode; code blocks in regex now work. |
|||
p-jvm-prep: 9827646 | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement cclass. |
|||
p-jvm-prep: 7a8bf7b | jnthn++ | docs/ROADMAP: ROADMAP update. |
|||
23:55
_daniel-s__ joined
23:57
_daniel-s__ left
23:58
_daniel-s__ joined
|