»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by wolfe.freenode.net on 30 October 2009. |
|||
00:02
payload joined
00:05
arthur-_ joined
00:08
thowe left
00:10
hercynium joined
00:20
smash_ left,
Exodist left
|
|||
diakopter | an article. terrychay.com/article/1500-lines-of-code.shtml | 00:25 | |
Juerd | 1500 lines of code a day. I don't think I've ever wrote that much in a single day :) | 00:35 | |
diakopter | the only language in which I've ever done that was JavaScript. But there was a decent amount of copy-and-paste code "reuse". :) | 00:36 | |
s1n | pmichaud: don't forget, dallas.p6m | 00:37 | |
diakopter | and only once. back when my brain worked. | ||
s1n | it's easy to churn out well over 1500 a day in c++ :) | ||
Juerd | You copy-paste-reused even though your brain was fully functional at the time? :) | ||
diakopter | it wasn't fully functional, just barely working. That's my story and I'm sticking to it. | 00:39 | |
Juerd | :) | ||
diakopter | decommuting& | 00:40 | |
s1n | that is _one_long_post_ | 00:41 | |
00:46
arthur-_ left,
blubblub joined,
mikehh left
|
|||
ash_ | counting the lines of code you right a day doesn't seem like the most productive use of your time | 00:48 | |
espcially considering how much or how little you can put on 1 line | 00:49 | ||
cotto_work | you could try to count tokens | 00:51 | |
ash_ | it still doesn't prevent you from inflating the statistic though | 00:53 | |
i could say my $a = 5; or i could say my $a = 1; $a = $a + 1; $a = $a + 1; $a = $a + 1; $a = $a + 1; | 00:54 | ||
cotto_work | It's a slightly less naive way of solving the wrong problem. | ||
sjohnson | i count all the cool stuff i do in one day with perl | ||
01:01
blubblub left
01:08
simcop2387 left
01:10
punkish joined,
simcop2387 joined
|
|||
frew | pmichaud: we need you! | 01:10 | |
punkish | hi all... a n00b question. Is it really necessary to have perl Configure.pl --gen-parrot use https with svn to download the code? My small desire to try out Perl 6 on my Macbook is turning into a long exercise in installing SVN with SSL | 01:11 | |
01:13
ashizawa joined
01:15
lestrrat is now known as lest_away
01:19
ashizawa left
01:20
rgrau` left
01:21
punkish left,
ashizawa joined
01:31
agentzh joined
01:48
alester left
01:51
Meldrake joined
01:57
Exodist joined
01:58
punkish joined
02:00
punkish left
02:02
Meldrake left
02:04
lest_away is now known as lestrrat
02:13
hercynium left,
gbacon left
02:18
orafu left
02:19
orafu joined
02:22
drbean left
02:30
arthur-_ joined
02:32
ShaneC left
02:33
drbean joined
02:38
nihiliad joined
02:40
JimmyZ joined
03:03
cdarroch left
03:20
cognominal joined
|
|||
cognominal | rakudo: my $o = 'hello'; say substr $o, 1, 1, 'i' | 03:20 | |
p6eval | rakudo 3867ff: too many positional arguments: 4 passed, 4 expectedin Main (file <unknown>, line <unknown>) | 03:21 | |
cognominal | ng: my $o = 'hello'; substr $o, 1, 1, 'i' | ||
p6eval | ng 93d662: No applicable candidates found to dispatch to for 'substr'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
03:27
jrockway left
03:29
galf joined
03:33
cxreg joined
03:37
Baggiokwok joined
03:38
justatheory left
|
|||
sjohnson | rakudo: my $o = 'hello'; say $o.substr(1, 1, 'i') | 03:40 | |
cj | ooh, composition key lets me do « and » easily! | ||
p6eval | rakudo 3867ff: too many positional arguments: 4 passed, 4 expectedin Main (file <unknown>, line <unknown>) | ||
cj | why didn't you people tell me about this before? :) | 03:41 | |
03:41
PZt left
|
|||
cj | ¡¿por que?! | 03:41 | |
03:48
nihiliad left
03:53
skeptical_p left,
skeptical_p joined
03:59
JimmyZ left
04:07
stephenlb left
04:14
nihiliad joined
04:17
lestrrat is now known as lest_away,
PZt joined
04:19
lest_away is now known as lestrrat,
lestrrat is now known as lest_away
04:53
pinc0de joined
05:25
nihiliad left,
synth joined
05:30
jackyf left
05:32
Snider joined
05:37
we joined
05:38
we left
05:46
cognominal left
05:48
meteorjay joined
05:50
Snider left
05:57
Chillance joined
|
|||
saschi | moin | 06:09 | |
06:14
lest_away is now known as lestrrat
06:34
JimmyZ joined
06:49
JimmyZ left
06:53
agentzh left
07:05
payload left
07:17
Baggiokwok left
07:22
kaare joined
07:23
kaare is now known as Guest57445
07:26
mikehh joined
07:29
akl_ joined
07:30
LionMade1fLions joined
07:31
Su-Shee joined
|
|||
Su-Shee | good morning | 07:32 | |
07:34
LionMadeOfLions left
07:36
synth left
|
|||
saschi | huhu | 07:37 | |
07:40
galf left,
akl left
07:41
hicx174_ joined,
galf joined
07:54
kangu joined
07:55
kangu left,
iblechbot joined
08:14
galf left
08:15
mberends joined
08:32
Baggiokwok joined
08:35
ihrd joined,
ihrd left
08:42
mikehh_ joined
08:44
mikehh left,
hicx174_ left
08:46
hicx174 joined
08:54
brrant left
09:01
pugs_svn left,
pugs_svn joined,
mssm joined
09:03
Baggiokwok left
09:29
dakkar joined
09:34
PerlJam left,
jnthn left,
Juerd left,
dukeleto left,
pmichaud left,
dalek left,
dalek joined
09:43
breinbaas left,
jonasbn joined
09:44
Juerd joined
09:45
jonasbn left,
jonasbn joined
09:46
jnthn joined
|
|||
Juerd | feather1 was out of memory beyond repair :( | 09:47 | |
Does anyone know what caused this? | |||
Juerd had to reboot the VM | 09:48 | ||
09:48
dduncan left
09:59
buubot left,
buubot joined,
irc.freenode.net sets mode: +v buubot
10:25
meneldor joined
10:27
Mantis left
|
|||
mberends | svn up pugs also timed out, now it works again :) | 10:28 | |
Juerd | It's something with apache. | 10:31 | |
I've done a "killall -9 apache2" because I don't have time to investigate the problem now. | 10:32 | ||
Load was up to 44 again. | |||
If someone has time on their hands and wants to investigate, please do so (request sudo access if necessary) | |||
mberends | sorry, I'd like to, but $work is pretty full time this week :( | 10:36 | |
10:43
frettled sets mode: +oo mberends Juerd
|
|||
frettled | Juerd: what kind of system is it, Debian, Ubuntu, ...? | 10:44 | |
10:47
soupdragon joined
|
|||
Juerd | frettled: Debian | 10:47 | |
frettled | Juerd: In that case, I can at least have a look, I administer one or twenty Debian systems. :) | 10:48 | |
Juerd | Do you have access to feather? | ||
frettled | nopes | ||
I can give you an SSH public key if that helps. | |||
Juerd | Yes please | 10:49 | |
10:50
am0c joined
10:59
somebody_ joined,
somebody_ left,
soupdragon left
11:00
soupdragon joined
|
|||
frettled | Okay, I think I see one possible cause for the problem. Of the last 100k lines in the access log, a Google crawler has over 18% of the hits. | 11:09 | |
So my guess is that a too eager indexer turned nasty. | |||
51.8% of the hits are from 193.200.132.146 (feather3.perl6.nl), so I assume that's something related to SVN. | 11:10 | ||
I've installed a perl (5, sorry ;)) script in /usr/local/sbin which analyzes the log and either sorts by number of hits or number of bytes, called "bandwidthips" and "hitips". | 11:11 | ||
Hmm, actually, the Google crawler came from another IP address as well, 6% more hits. | |||
I see that someone else started Apache now, we'll see how that pans out. | |||
lunch! | 11:12 | ||
11:12
Baggiokwok joined
11:15
Baggiokwok left
11:16
Baggiokwok joined
11:22
cotto_work left,
meppl joined
11:24
Baggiokwok left
11:26
Baggiokwok joined
11:28
buubot left
11:30
Juerd left,
jnthn left,
dalek left
11:31
dalek joined
11:32
Juerd joined
|
|||
Juerd | Damnit! | 11:32 | |
11:34
Baggiokwok left
11:35
buubot joined,
irc.freenode.net sets mode: +v buubot
|
|||
Juerd | And happening again | 11:43 | |
apache2 killed, /etc/init.d/apache2 renamed to /etc/init.d/apache2.disabled | 11:44 | ||
11:46
payload joined
12:00
Baggiokwok joined
12:07
bluescreen joined
|
|||
Infinoid | hmm. Does feather1 still run svn::web? | 12:09 | |
I do remember that was sort of a resource pig, but I don't know what would have changed recently about that | |||
12:09
nico__ joined
12:16
nico__ left
12:22
jonasbn left
12:23
bluescreen left
12:26
pugs_svn left
12:27
pugs_svn joined
12:37
bluescreen joined
12:38
lestrrat is now known as lest_away,
SmokeMachine joined
12:41
jnthn joined
12:45
muixirt joined
12:51
dakkar left
|
|||
takadonet | morning all | 12:51 | |
Juerd | Infinoid: At the moment, feather1 does not run apache at all. | 12:52 | |
12:52
iblechbot left
12:55
ignacio_ joined
12:59
clintongormley joined
13:07
ruoso joined
13:09
ignacio_ left
13:13
colomon joined,
colomon_ left
|
|||
mathw | Hello o/ | 13:19 | |
jnthn | hi mathw | ||
mathw | \o/ jnthn | 13:22 | |
I hope the weather's better where you are | |||
Or at least, that you're better equipped to deal with it | 13:23 | ||
frettled | urghle, I need to figure out how to turn off the fugly syntax highlighting that's default on feather, it's useless in white-on-black or black-on-white terminals | ||
jnthn | mathw: It's not at all bad here. | ||
frettled | Aha, it's elvis, not vim. | ||
mathw | The main problem here is that the pavements are covered in slick, slippery ice | 13:24 | |
on which I have almost zero grip | |||
I need some spiked shoes I think. Or ice saktes. | |||
13:25
ignacio_ joined
13:28
buubot left
|
|||
frettled | Juerd: is ConsoleKit the wrong goose to chase for this? It seems to be somewhat noisy in daemon.log just before there are problems. | 13:30 | |
Juerd | It's a known issue but not causing OOM conditions | 13:33 | |
frettled | It's rather interesting that it hangs at approximately the same periods of time. | 13:34 | |
I'll keep a top running, sorted by memory, refresh each second. | 13:35 | ||
It might be clamd or something like that. | |||
Oooh, it's running an interesting combinatino of etch, sid and experimental. | 13:36 | ||
13:37
buubot joined,
irc.freenode.net sets mode: +v buubot
|
|||
frettled | And there are a bunch of package upgrades pending. Perhaps the clamav and/or kerberos vulnerabilities that were patched recently aren't yet patched on feather? | 13:37 | |
13:39
soupdragon left
13:41
Baggiokwok left
|
|||
Juerd | frettled: Note that apache caused the OOM crashes, and it's not running at the moment :) | 13:43 | |
13:44
astrojp joined
13:45
payload left
|
|||
frettled | Juerd: are you certain that Apache caused them, and that it wasn't just the unlucky process to be killed because one of the daemon processes was unlucky? | 13:47 | |
13:47
frettled sets mode: +o Juerd,
plainhao joined,
payload joined
13:54
ive joined
|
|||
Juerd | frettled: It stopped, twice, when I killed apache2 | 13:54 | |
frettled: It had a dozen processes running at lots of CPU, and was eating memory. | |||
13:54
ive left
|
|||
frettled | Juerd: hrm | 13:54 | |
not fun | 13:55 | ||
Juerd | And it appears that not every site is logged, even. | ||
So it'd require live monitoring on the /server-status | |||
:| | |||
frettled | Juerd: or that the virtualhost line is logged. | ||
I can fix that. | 13:56 | ||
13:56
payload left,
payload joined
|
|||
Juerd | afk | 13:58 | |
14:09
PerlJam joined
14:13
ash_ left
|
|||
PerlJam | good morning #perl6 | 14:19 | |
mathw | good {localtime()} PerlJam | 14:20 | |
takadonet | PerlJam:morning | 14:21 | |
frettled | Good $facepalm! | ||
diakopter | Juerd: pugscode svn down? | 14:23 | |
oh. /me backlogs more | 14:24 | ||
frettled: you working on it? | |||
frettled | diakopter: yup | ||
14:25
sun_ joined
14:26
am0c left
14:27
ash_ joined
|
|||
frettled | It's back up again now. | 14:27 | |
But it may be slightly unrealiable. | 14:28 | ||
diakopter | erm | ||
why unreliable? | 14:29 | ||
14:30
sun_ left
|
|||
frettled | It's already crashed/hung twice because feather ran out of memory. | 14:30 | |
diakopter | hm | 14:31 | |
frettled | Apparently, something in Apache or a module goes haywire. | ||
diakopter | oh, I bet someone upgraded a .pm that Infinoid hacked to solve a memory leak | ||
Infinoid | svn::web again? | 14:32 | |
diakopter | Infinoid: I don't remember where you added those weak scalars | ||
14:32
Exodist left
|
|||
ash_ | jnthn: did the patches i sent apply cleanly? | 14:32 | |
frettled | hrm | ||
If it's a .pm that's part of a Debian package, then it's better to uninstall the Debian package and install the module separately in this case, or it will just happen again. | 14:33 | ||
Alternatively, we can pin the package to a specific version, which may cause breakage later on. | 14:34 | ||
diakopter | many times the Debian package can't be uninstalled because it has too many others that depend on it | 14:38 | |
frettled | mm | ||
pinning is the solution, then | |||
or, of course, create a sub-version of the package which satisfies the requirements of the dependencies, and pin that. | |||
diakopter | but, there isn't a .deb ... yes. | ||
frettled | I prefer that solution myself. | 14:39 | |
But I think it can turn into a proper mess if there suddenly is a Perl package needed that depends on versions which aren't installed, and you use the cpan tool to install them. Kaboom-risky | |||
14:41
soupdragon joined
14:42
pnu left
14:47
nihiliad joined
|
|||
ash_ | so, submethods in roles, they will get composed into a class once? then it can't be inherited to the children of that class? | 14:49 | |
diakopter | frettled: can you unblock the svn::web crawler | ||
ash_ | what if you want to replace a built-in role function? like ^compose | 14:50 | |
frettled | diakopter: is it blocked? hrm. | ||
I don't even know where that is, heh | |||
diakopter | hm | 14:51 | |
ash_ | you don't want your ^compose getting added to a class, that could be bad | ||
frettled | diakopter: might be in a .htaccess somewhere, I don't see any "deny" statements in /etc/apache2 | 14:54 | |
14:55
mssm left
|
|||
frettled | Oh it's only 4 million inodes, how long can it take to find all .htaccess files and grep for "deny" in them. :D | 14:59 | |
hrm, no, 4 million here and 5.5 there, no matter. | |||
15:02
Exodist joined
15:04
Baggiokwok joined,
Guest57445 left
|
|||
ash_ | frettled: do you have locate installed? it should be pretty quick for finding the files (yay cached databases) | 15:05 | |
15:05
Exodist left,
Exodist joined,
Exodist left
|
|||
frettled | ash_: locate is installed on feather, but I'm not sure how much it actually indexes. | 15:05 | |
nor how often it does it | 15:06 | ||
15:06
Exodist joined
|
|||
ash_ | ah, i just use it for its speed, find's good too though | 15:06 | |
frettled | okay, it apparently does it daily, so any changes after 06:25 CET are not in there. | 15:07 | |
I suspect that the block, if it's there, was added after 12:00. | |||
15:08
muixirt left
15:10
Psyche^ joined,
cognominal joined
15:27
Patterner left,
Psyche^ is now known as Patterner
15:28
Baggiokwok left
15:34
meneldor left
|
|||
jnthn | ng: class Hash { } | 15:37 | |
p6eval | ng 93d662: ( no output ) | ||
15:39
payload left
15:40
pnu joined,
payload joined
|
|||
ash_ | jnthn: did you find anything with the patch for meta methods? | 15:46 | |
jnthn | ash_: I didn't get chance to look at it yet today, sorry. | ||
ash_: I will have time later on. | |||
Managed to have two longish phone meetings on one day. Such is life. :-) | 15:47 | ||
ash_ | ah, thats cool, no worries just was gonna bug you since i can | ||
jnthn | :-P | ||
ash_ | so, jnthn, let me see if this logic is sound, i used the get interpreter opcode to inspect the lexpad (which should have the lexical variables right?) in the add_meta_method method which should contain the $meth_name lexical variable, but the lexpad as no lexical variables in it | 15:49 | |
so... .lex '$meth_name', name isn't working, i'd assume? | |||
also, changing that to: $P0 = name \n store_lex '$meth_name', $P0 causes an error (which should be the exact same thing as .lex '$meth_name', name according to the docs | 15:51 | ||
frettled | diakopter, Infinoid, Juerd: I think we can consider it confirmed that it's svnweb that's hogging memory a bit. I see that there are lots of Perl libraries loaded into the apache2 processes, and that those using 70+ MB of resident RAM all reference svnweb. | ||
Juerd | I say disable that for now | ||
frettled | Also, the processes are long-running, they don't jack down their memory usage. | ||
Juerd | Though the hogging processes were using >100 MB when I killed apache | 15:52 | |
frettled | Juerd: two of them are 100 and 105 respectively right now, plus 30-40 that's only virtual | ||
Juerd | Right | ||
frettled | It might be better to use some shorter-living FastCGI thingy for this, if that is possible. | 15:53 | |
Juerd | If svnweb supports that I don't see why not | ||
frettled | That way, memory might get freed up earlier -- I take it that this is modperl-like code. | ||
Juerd | frettled++ for investigating this, by the way | 15:54 | |
ash_ | jnthn: svn.parrot.org/parrot/trunk/t/pmc/lexpad.t contains an example of how i used the lexpad to inspect the method's lexical variables, look towards the bottom at test_iter | ||
Juerd | People with sysadmin clue *and* free time are hard to find | ||
frettled | *blush* | ||
PerlJam | frettled++ for keeping feather healthy | 15:55 | |
frettled | Ah, well, time to go roleplaying in the wonderful universe of Legend of the Five Rings. :) | 15:56 | |
Juerd: I have not changed anything about svnweb, _but_ I've added a %v to the logging. That means that access_log should now contain the virtualhost as the first column in every log entry. I'll upload new versions of hitips and bandwidthips tonight or tomorrow. | 15:57 | ||
frettled idles. | |||
jnthn | ash_: Note that store_lex does not actually declare storage for a lexical. | 15:58 | |
ash_: It just stores it. | |||
ash_: Just to confirm, when you do .lex '$meth_name', name | |||
name is a PMC register? | |||
You should get an error if not though... | |||
Juerd | and there we go agian | 15:59 | |
ash_ | yes, .param string name | ||
Juerd | juerd.nl/i/0c3af3a9a3ba054047f6fdeed41ef4ed.png | ||
apache2 killall'ed (-9) | |||
jnthn | ash_: oh! | 16:00 | |
ash_ | jnthn: is using it as .param string name good enough? or do i need a pmc? | ||
jnthn | ash_: No, that's a string register | ||
ash_ | .lex takes pmc's doesn't it? | ||
jnthn | ash_: Oh no, please say this isn't *the* problem... | ||
*sigh* | |||
ash_: Yes, only | |||
ash_: I'd not thought of that before now | |||
Juerd | frettled: It didn't survive 5 minutes without your presence :) | ||
frettled: I've disabled apache2 again. We'll patiently wait until one of us has time again | 16:01 | ||
jnthn | ash_: It really, *REALLY* sucks that Parrot didn't give you a compile time error about that... | ||
ash_ | *facepalm* told you its related to my lack of parrot knowledge | ||
jnthn | ash_: Well, Parrot (sh|c)ould be a bunch more helpful here though. | ||
Juerd | frettled: juerd.nl/i/0c3af3a9a3ba054047f6fdeed41ef4ed.png was top just before I killed them | ||
ash_ | lets put a ticket in parrot's track for a new feature, error messages on .lex assignments that aren't pmc's | 16:02 | |
:P | |||
16:03
jaldhar left
|
|||
ash_ | hmm | 16:03 | |
16:03
mberends left
|
|||
ash_ | so, here's what i tried, i have a .local pmc meth_name .... meth_name = name \n .lex '$meth_name', meth_name | 16:04 | |
it compiles fine, but now when i run it, i get: Null PMC access in set_string_native() current instr.: 'perl6;ClassHOW;add_meta_method' pc 3884 (src/metamodel/ClassHOW.pir:366) | 16:05 | ||
jnthn | ash_: Yup | 16:06 | |
16:06
pnate left
|
|||
jnthn | You need | 16:06 | |
meth_name = new ['String'] first | |||
ash_ | do i need to box the value? | ||
oh, okay | |||
jnthn | ash_: actually | ||
you can do it in one line | |||
meth_name = box name | |||
:-) | |||
(you still need the .local pmc meth_name decl...then follow it with that) | |||
ash_ | cool, in the test from parrot they box the strings in their assignment s | ||
yeah, i see, lets see if it worked | 16:07 | ||
\o/ it worked | |||
jnthn | \o/ | 16:08 | |
ash_++ | |||
back soon, need a quick break | 16:09 | ||
ash_ | jnthn: one more question, and i'll stop bugging you, addmethod $P0, name, $P1 vs. meta.'add_method'(name, $P1) | 16:10 | |
Juerd made a temporary page at perlcabal.org/svn/ to explain why it's not available | 16:11 | ||
jnthn | ash_: meta.'add_method'(meta, name, $P1) | 16:13 | |
ash_ | k, thats what i thought | ||
is there a type of declaration on role's that don't get inherited into the class they are composed into? so you can override say the ^compose method but not let that get passed into the class | 16:17 | ||
submethod doesn't seem to be correct | |||
16:29
am0c joined
16:31
pmichaud joined
|
|||
pmichaud | good morning, #perl6 | 16:31 | |
16:31
uniejo joined
|
|||
ash_ | good morning pmichaud | 16:32 | |
TimToady | howdydoo | 16:33 | |
pmichaud | screen isn't running for me on feather ("No more PTYs") | 16:35 | |
known issue? | |||
ash_ | feather had some issues eariler, i don't know if screen was one of them | 16:36 | |
pmichaud | I see that other folks have screen processes running, so I'm guessing it's a resource issue. | ||
ash_ | i know they took down SVNWeb because it was causing problems on the server perlcabal.org/svn/ | ||
TimToady | feather2 was running out of memory repeatedly; don't know how that's related | 16:37 | |
pmichaud | maybe I need to find a different host for my screen session :-( | ||
jnthn | pmichaud: oh hai | 16:43 | |
pmichaud | jnthn: oh hai! | ||
jnthn | pmichaud: Server went down, I had to restart screen after the reboot too. | ||
pmichaud | jnthn: right... my problem is that screen won't start | ||
jnthn | oh. | 16:44 | |
That's...sucky. | |||
ash_ | jnthn: i sent another patch to you btw, so, between the 3 of them you should have everything working, if you want i can put them in 1 patch instead | 16:45 | |
jnthn | ash_: The whole "does .^foo add to the metaclass of the role or get held until we compose the role and go into the metaclass of where we compose it" question is why I was putting off having those in roles. :-) | ||
ash_: That may be easier for me, if it's easy for you. | 16:46 | ||
ash_: Especially so if the latest one is a diff off current master. | |||
16:48
fridim_ joined
|
|||
szbalint | moritz_++ # hired. | 16:57 | |
16:59
cdarroch joined
|
|||
pmichaud | afk, lunch | 17:00 | |
ash_ | jnthn i did a clean checkout of ng and am going to apply it vs that | 17:03 | |
colomon | szabgab: how's that? | 17:04 | |
17:15
zloyrusskiy joined
17:16
zloyrusskiy left
17:22
justatheory joined
|
|||
colomon | szbalint: how's that? (I meant) | 17:25 | |
ash_ | jnthn: do you know anything else OO related that needs working on in ng? | 17:33 | |
17:49
justatheory left
17:53
cotto_work joined
17:55
cognominal left
18:08
ignacio_ left
18:12
bbkr joined
18:14
payload left
18:23
justatheory joined
|
|||
bbkr | Does rakudo support variables in regexps like m/$var/ (not-interpolated) ? It returns "Null PMC access in get_string()" for me. $var is Str type. | 18:24 | |
pmichaud | bbkr: rakudo doesn't support those yet. It will soon. | 18:25 | |
hejki | doesn't seem so atm. you could use m:P5// awhile instead | ||
pmichaud | (where "soon" == "next week") | 18:26 | |
bbkr | wow! nice | ||
PerlJam | pmichaud: is ng gonna make it? | 18:27 | |
pmichaud | PerlJam: I hope so. I certainly plan to be working hard to do that. | ||
At the moment that's still my plan. | |||
PerlJam | good enough for me :) | ||
18:29
ash_ left
18:30
ShaneC joined
|
|||
bbkr | will that also include using $.var in grammar tokens? like for example: grammar CSV { has $.quote; token csv_line { (<csv_field> $.separator)+ } } ? | 18:31 | |
18:31
ignacio_ joined
|
|||
bbkr | i mean: grammar CSV { has $.separator; token csv_line { (<csv_field> $.separator)+ } } | 18:32 | |
18:32
fridim_ left
|
|||
pmichaud | that might work. | 18:32 | |
PerlJam | bbkr: you really mean token csv_line { <csv_field> ** $.separator } # :-) | ||
18:32
buubot left
|
|||
pmichaud | one would then need to do $g = CSV.new(separator => ','); $g.parse(...) | 18:33 | |
bbkr | yes, and this currently does not work yet. | ||
18:34
buubot joined,
stephenlb joined
|
|||
bbkr | perl6 -e 'grammar CSV { has $.sep }; CSV.new(sep => ",")' gives too few positional arguments: 1 passed, 2 (or more) expected | 18:34 | |
Pearljam: what does ** operator do? i thought it is for multiplication of results. like m/a ** 2/ is the same as m/aa/. am i wrong? | 18:37 | ||
PerlJam | bbkr: you are correct. But it also has a nifty new semantic where you can say 'a' ** ',' to match "a,a,a,a" | 18:38 | |
(or just "a") | |||
bbkr | that rocks! | 18:39 | |
PerlJam | indeed it does | ||
I've also come to really like the "goal matching" syntax too (though at first it bugged me) | |||
'(' ~ ')' <stuff> / is the same as / '(' <stuff> ')' / | 18:40 | ||
(except that IRC ate my leading /) | |||
18:42
jackyf joined
|
|||
pmichaud | it's the same as / '(' <stuff> ')' / except that you get a useful error message if there's no ')' found after <stuff> | 18:43 | |
bbkr | hmm, this ** is dangerous: easy to make mistake by typing a ** 2 instead of a ** '2' and the other way. but if you pay attention to quotes it makes life easier. | 18:44 | |
PerlJam | I don't know if I'd call it "dangerous", but yes it is surprising sometimes if you make a mistake. | 18:46 | |
(but if you make mistakes, that's an opportunity for you to learn too :) | 18:47 | ||
for instance, your csv_line should have really had anchors on it: token csv_line { ^^ <stuff> ** $.sep $$ } | 18:48 | ||
otherwise you would have had some surprising positive matches. | |||
bbkr | you're right about learning. i've wrote few grammars for various stuff and learned a lot :) | 18:49 | |
18:52
fridim_ joined
18:55
payload joined
18:57
uniejo left,
IllvilJa left
|
|||
bbkr | when $.var in grammars will be working i'll post CSV class on github. now it's too messy because $.var has to be defined as token and stuff like quotings and separators can only be configured by inheriting grammar. | 18:58 | |
19:13
IllvilJa joined,
japhb left
|
|||
PerlJam | bbkr: you might want to call it something other than CSV if the separator is variable | 19:15 | |
pm: Want to come back to TAMUCC as the CIO? Irby is finally retiring. :) | 19:16 | ||
hejki | one of the main reasons to make project euler in perl6: 'sub postfix:<!>($n) { [*] 1..$n }; say [+] gather { for 3..50_000 -> $x { if $x == [+](map { $^a! }, $x.comb()) { take $x; } } }' :) | 19:23 | |
(that's #34) | |||
Tene | It would be nice to see a module that adds operators for math symbols. | 19:25 | |
I've done that with the set operators a few times. | |||
hejki | it would be nice if solving these wouldn't take so long time :P | ||
i can solve one problem, start running the script, have a lunch, walk my dog and solve another problem before i get the answer :P | 19:26 | ||
rakudo being hugely slow :< | |||
19:26
nihiliad left
19:31
nihiliad joined
19:34
bluescreen left
19:35
bluescreen joined
|
|||
hejki | rakudo: reduce { say "$^a + $^b" }, 5..10 | 19:35 | |
p6eval | rakudo 3867ff: 5 + 61 + 71 + 81 + 91 + 10 | ||
Tene | rakudo: reduce { say "$^a + $^b"; $a+$b }, 5..10 | ||
p6eval | rakudo 3867ff: 5 + 611 + 718 + 826 + 935 + 10 | ||
hejki | ahh | 19:36 | |
i was too focused on the say-part :P | |||
pmichaud | PerlJam: No, I don't want to come back to TAMUCC as the CIO. :-) | 19:37 | |
19:38
japhb joined
19:40
ash_ joined
19:41
ash_ left
19:42
ash_ joined
19:54
scp1 joined
19:58
vamped joined
|
|||
TimToady | phone | 20:00 | |
vamped | P06#line_607 | 20:01 | |
rakudo: my @a; push @a,1,2,:a<b>; push @a,3,4,(:b<c>); push @a, 5,6,"d"=>"e"; for @a { printf "%-12s%s\n",.perl,.WHAT } | |||
p6eval | rakudo 3867ff: 1 Int()2 Int()3 Int()4 Int()"b" => "c" Pair()5 Int()6 Int()"d" => "e" Pair() | ||
vamped | doesn't named argument "a" get pushed, or am I missing something? | 20:02 | |
s/P06/S06/ | 20:03 | ||
TimToady | unless there's a version of push that accepts a named arg of 'a', it should fail | 20:04 | |
20:05
nihiliad left,
nihiliad joined
|
|||
vamped | this means I'm likely missing something from the example @ line_607 "push @array,1,2,:a<b>;" | 20:06 | |
TimToady | the example was not intended to be meaningful, actually... | ||
vamped | lol. ok now 'that' makes sense. | ||
TimToady | should probably be marked as # FAILS | ||
ruoso .oO( that should probably be written as push @array,1,2,(:a<b>) | |||
20:07
Lorn left
|
|||
vamped | the following lines state is that way ruoso. it was written that way with intent (whatever that may have been) | 20:07 | |
20:08
rgrau` joined
|
|||
vamped | i think perhaps this makes a better point: my sub x { @_.perl.say; %_.perl.say}; x 1,2,:a<b>; x 3,4,(:b<c>); x 5,6,"d"=>"e"; | 20:10 | |
rakudo: my sub x { @_.perl.say; %_.perl.say}; x 1,2,:a<b>; x 3,4,(:b<c>); x 5,6,"d"=>"e"; | |||
p6eval | rakudo 3867ff: [1, 2]{"a" => "b"}[3, 4, "b" => "c"]{}[5, 6, "d" => "e"]{} | ||
vamped | exit ciao | 20:20 | |
20:20
vamped left
20:25
snearch_ joined
|
|||
jnthn | ash_: Back from food, looking at your patch now :-) | 20:25 | |
20:26
jferrero joined
|
|||
ash_ | jnthn i am talking to #parrot about .lex giving an error, so hopefully people can't make my stupid mistake in the future | 20:28 | |
jnthn | ash_: OK, cool. | 20:29 | |
ash_: Are you adding the method immediately ratehr than as a mix-in role? It looks so... | |||
ash_ | i pass that off to add_method, add_method is adding the method directly, not using a role | 20:30 | |
jnthn | To the HOW of the HOW, yes? | ||
as in, the metaclass of the metaclass? | |||
20:30
clintongormley left
|
|||
jnthn | The problem is that this adds it for _all_ metaclass instances, not just this specific one. | 20:30 | |
So it doesn't quite get the semantics right. | |||
ash_: That aside, the patch looks good. | 20:32 | ||
ash_ | so, my use of addmethod in add_method is wrong then? | ||
jnthn | no, no | ||
ash_ | or my use of HOW.add_method in add_meta_method | 20:33 | |
jnthn | That one. | ||
The latter. | |||
ash_ | hmm | ||
okay | |||
jnthn | It's meant to influence the current metaclass instance, not every metaclass instance. | ||
It's the difference between augmenting a class and mixing in to an instance. | |||
ash_ | yeah, i didn't realize it was affecting all metaclass instances | 20:34 | |
jnthn | OK | ||
I'm going to apply the patch because it's overall good. | |||
And then we can work from there. | |||
Essentially though, it should be something like this: | 20:35 | ||
.local pmc mixin_role, meta_mixin_role | |||
$P0 = get_hll_global 'RoleHOW' | |||
meta_mixin_role = $P0.'new'() | |||
$P0.'add_method'(meta_mixin_role, name, method) | 20:36 | ||
mixin_role = $P0.'compose'(meta_mixin_role) | |||
'&infix:does'(how, mixin_role) | |||
Or some such. | |||
That is, use the metamodel to construct the anonymous role and then mix it in to the metaclass instance. | |||
ash_ | i guess i avoided that because it seemed like a lot to declare a whole new role and mix it in for each method | 20:37 | |
jnthn | Well, thus why master collects them together and makes one role and mixes it in at the end. | ||
That does mean you can't override any of the declarative parts, which may be a blessing. ;-) | 20:38 | ||
ash_ | well that showes me for thinking creating a whole new role was a bit much for 1 method, oops, i should of probably asked a bit more in depth why you guys did it the way you did, now the meta methods are leaking all over the place. I really should write some tests for this and put them in the spec | 20:39 | |
jnthn | ash_: No worries, it's all fixable. :-) | 20:41 | |
ash_: Do you want to work on the patch to do it mix-in style? | 20:42 | ||
ash_ | sure, i can do that | ||
i am at $work though, so i may not be able to finish it today | 20:43 | ||
jnthn | ash_: That's fine, no rush. | ||
I'm quite happy that between the two of us watching this, we won't drop the ball and forget that one of us should fix it. :-) | |||
20:44
jonasbn joined
20:51
justatheory left
|
|||
ash_ | i have a project i'd like to work on in perl 6, and to get it working i'd need most of the OO stuff, including roles functioning properly and AUTO* so i'll probably be hacking on parts of that until rakudo can do what i need it to do | 20:52 | |
hmmm, i am getting a non-existent sub error on infix:does | 20:53 | ||
jnthn | Sorry - should be: &infix:<does> | ||
ng: class Foo { method postcircumfix:<[ ]>() { } } | 20:54 | ||
p6eval | ng 93d662: ( no output ) | ||
ash_ | try calling it :P | ||
ng: class Foo { method postcircumfix:<[ ]>() { } }; my $f = Foo.new; $f['a']; | |||
p6eval | ng 93d662: Too many positional parameters passed; got 2 but expected 1current instr.: 'perl6;Foo;postcircumfix:<[ ]>' pc 285 (EVAL_1:119) | ||
jnthn | ng: class Foo { method postcircumfix:<[ ]>($x) { say "omg" } }; my $a = Foo.new; $a[42] | ||
p6eval | ng 93d662: omg | ||
ash_ | err | 20:55 | |
jnthn | \o/ | ||
ash_ | i thought that didn't parse with ng yet | ||
jnthn | yeah me too. | ||
Apparently it does! :-) | |||
ash_ | hmmm must of been something else i had a problem with then | ||
jnthn | ng: class Foo { method postcircumfix:<{ }>($x) { say "omg" } }; my $a = Foo.new; $a{42} | ||
p6eval | ng 93d662: get_pmc_keyed() not implemented in class 'Foo'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
jnthn | ah, that's the issue I was trying to evoke. | ||
colomon | \o/ indeed! | ||
ash_ | that looks like an error i was seeing | ||
dalek | kudo/ng: 499c7c8 | jonathan++ | (6 files): Start to get method ^foo style declarations working again with the metamodel. Also rip out the ParrotBackend.pir role. Patch courtesy of John Harrison. ash++ |
20:56 | |
kudo/ng: 448f882 | jonathan++ | src/ (2 files): Make sure we emit calls to add_meta_method for roles, even though it's NYI, so we get error saying so. Also make error a bit more awesome. |
|||
jnthn | ng: role Foo { method bar { say "wtf" } }; Foo.bar | 20:58 | |
p6eval | ng 93d662: Method 'bar' not found for invocant of class 'Perl6Role'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
jnthn | ng: role Foo { method bar { say "wtf" } }; Foo!select.bar | ||
p6eval | ng 93d662: Could not find non-existent sub !get_flattened_roles_listcurrent instr.: 'parrot;P6role;!pun' pc 277976 (src/gen/core.pir:33845) | ||
jnthn | kk | ||
time to pun. | |||
ash_ | jnthn: does 'infix:<does>' exist yet? because I am getting: No applicable candidates found to dispatch to for '&infix:<does>' | ||
jnthn | rakudo: role Foo { method bar { say "omg" } }; my $x = 42; $x does Foo; say $x; $x.bar; | 20:59 | |
(I think that works) | |||
oops | |||
ng: role Foo { method bar { say "omg" } }; my $x = 42; $x does Foo; say $x; $x.bar; | |||
p6eval | rakudo 3867ff: ( no output ) | ||
ng 93d662: 42omg | |||
jnthn | yeah | ||
It's there. | |||
ash_ | is it a multi-method? it might be the types i am passing it | 21:00 | |
jnthn | Yes, it is. | ||
But the signature is pretty liberal at the moment due to Other Issues, so should work... | 21:01 | ||
ash_ | gist.github.com/276573 | 21:02 | |
is the top relevant parts of add_meta_method | |||
jnthn | That doesn't look wrong. Hm. | 21:05 | |
Curious. What does $S0 = tyopeof mixin_role \n say $S0 give? | 21:06 | ||
ash_ | is ClassHOW a decedent of Mu | ||
jnthn | Yes, in a twisted kinda way. | ||
ash_ | *building* | 21:07 | |
jnthn | (given that ClassHOW also describes Mu...) | ||
ash_ | P6role # is mixin_role | 21:08 | |
ClassHOW # is meta | |||
jnthn | ng: role Foo[::T] { }; say Foo[Int] ~~ Mu | 21:09 | |
p6eval | ng 93d662: 1 | ||
jnthn | hmm | ||
ng: class Foo { }; say Foo.HOW ~~ ClassHOW | 21:10 | ||
p6eval | ng 93d662: 1 | ||
jnthn | ng: class Foo { }; say Foo.HOW ~~ Mu | ||
p6eval | ng 93d662: 1 | ||
21:10
nihiliad left
|
|||
jnthn | Well no surprises / issues there. | 21:10 | |
21:11
plainhao left
|
|||
ash_ | should it say P6role? | 21:12 | |
jnthn | Yeah | ||
It's the "internal" name of what it si. | |||
*is | |||
For now, anyway. | |||
21:12
payload left
|
|||
jnthn | ng: role Foo[::T] { }; say Foo.WHAT | 21:12 | |
p6eval | ng 93d662: Foo() | ||
jnthn | ng: role Foo[::T] { }; say Foo[Int].WHAT | 21:13 | |
p6eval | ng 93d662: Foo() | ||
jnthn | ng: role Foo[::T] { }; say Foo.perl | ||
p6eval | ng 93d662: Foo | ||
jnthn | ng: role Foo[::T] { }; say Foo[Int].perl | ||
p6eval | ng 93d662: Foo[Int] | ||
jnthn | Those look good. | ||
jnthn ponders what could be wrong | |||
21:14
payload joined
|
|||
ash_ | whats the mixin_role = $P0.'compose'(meta_mixin_role) for? is that calling ^compose? and what does that return? a fully finished role? | 21:15 | |
21:15
Chillance left,
jonasbn left
|
|||
jnthn | ash_: Yes, that's right. | 21:16 | |
ash_: on a class you get back the type object. | |||
For a role it's something analogous. | |||
pmichaud | gone for a while (no screen on feather) | 21:17 | |
21:17
pmichaud left
21:21
ShaneC left,
ewilhelm left
21:22
akl_ is now known as akl
21:25
hudnix joined
21:29
payload left
|
|||
dalek | kudo/ng: 3ebc807 | jonathan++ | src/ (3 files): Delete lots of code, add back a little bit, finish up with role punning working. |
21:30 | |
kudo/ng: 1387712 | jonathan++ | t/spectest.data: We now pass S14-roles/crony.t again. |
|||
21:31
payload joined,
xinming_ joined
21:32
ruoso left
|
|||
dalek | kudo/ng: 7eb763a | jonathan++ | src/core/traits.pm: If somebody tries to inherit from a role, needs to be punned there too. Handled nicely with a multi candidate in ng rather than magic in master. :-) |
21:36 | |
kudo/ng: 9551672 | jonathan++ | t/spectest.data: We now pass S14-roles/instantiation.t again. |
|||
21:36
xinming left
|
|||
jnthn | std: role R1[::T] { method x { T } }; my R1 of Int $x; | 21:38 | |
21:38
bluescreen left
|
|||
p6eval | std 29531: ok 00:01 111m | 21:38 | |
jnthn | ng: role R1[::T] { method x { T } }; my R1 of Int $x; | ||
p6eval | ng 448f88: In "my" declaration, typename R1 must be predeclared (or marked as declarative with :: prefix) at line 1, near " of Int $x"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328) | ||
jnthn | aww | ||
21:41
ashizawa left
|
|||
colomon is very happy to see ng progress again... | 21:42 | ||
jnthn is very happy to have energy and brain cycles to cause ng progress again. :-) | |||
ash_ | any idea about why i am getting this error? | 21:43 | |
21:43
SmokeMachine left
|
|||
jnthn | ash_: Not really. :-( | 21:44 | |
I wonder... | |||
ng: multi test(Mu $x) { say "ok" }; role Foo[::T] { }; test(Foo) | 21:45 | ||
p6eval | ng 448f88: ok | ||
jnthn | ng: multi test(Mu $x) { say "ok" }; role Foo[::T] { }; test(Foo[Int]) | ||
p6eval | ng 448f88: ok | ||
jnthn | Here's the oddness. :-/ | ||
That works too. | 21:46 | ||
Which is like, odd. Because if it were a multi-dispatcher bug I'd also expect that one to fail. | |||
diakopter | ng: test(4) | ||
p6eval | ng 448f88: sh: ./perl6: No such file or directory | ||
jnthn | diakopter: OMG you broke it!! | 21:47 | |
;-) | |||
21:47
Su-Shee left
|
|||
diakopter | ng: multi sub test() { say 3 }; multi sub test() { say 4 }; test() | 21:50 | |
p6eval | ng 955167: Null PMC access in invoke()current instr.: '_block14' pc 29 (EVAL_1:0)... call repeated 1 times | ||
ash_ | jnthn: can you call infix:does directly in perl6? like &('infix:<does>)($b, Foo) or something? | ||
jnthn | ash_: In theroy, &infix:<does> | 21:51 | |
ash_: In practice... | |||
ng: say &infix:<+>(1,2) | |||
p6eval | ng 955167: Symbol '&infix:<+>' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (src/PCT/HLLCompiler.pir:101) | ||
jnthn | We don't recognize that form yet. | ||
ash_ | diakopter: that should be a parser error i think, since there is already a definition of test with no arguements | ||
21:52
jackyf left
|
|||
ash_ | chromatic++ is going to try to add an error message if you use .lex with anything other than a pmc, woot | 21:53 | |
jnthn | chromatic++ | ||
21:54
ignacio_ left
|
|||
diakopter | ng: multi sub test() { say 3 }; &.test | 22:00 | |
p6eval | ng 955167: Lexical 'self' not foundcurrent instr.: '_block14' pc 29 (EVAL_1:0) | ||
22:01
justatheory joined
22:04
nihiliad joined
22:15
zaphar_ps left
|
|||
dalek | kudo/ng: 219899f | jonathan++ | src/Perl6/ (2 files): Re-enable parsing of my Can of Beer $starobrno style declarations. |
22:16 | |
kudo/ng: b653310 | jonathan++ | t/spectest.data: We now pass S14-roles/parameterized-type.t again. |
|||
jnthn | Hmm. | 22:25 | |
STD uses ** <param_sep> | 22:26 | ||
In signature | |||
Which is cute | |||
But seems in Rakudo it only captures the final <param_sep>, not an array of all of them. | |||
22:27
cognominal joined
22:31
nihiliad left
|
|||
jnthn | phenny: tell pmichaud In STD and Grammar.pm, in the signature rule, we use a construct like [ ...parameter... ] ** <param_sep>. However, unfortunately it seems the regex engine doesn't capture all of the parameter seperators, but instead only the last one. Tried a couple of possible workarounds, but no joy...any thoughts? kplzthnxbai. | 22:39 | |
phenny | jnthn: I'll pass that on when pmichaud is around. | ||
22:48
colomon__ joined,
colomon left
22:49
colomon__ is now known as colomon
22:51
cognominal left
|
|||
jnthn -> rest | 22:53 | ||
22:57
colomon left,
cognominal joined
22:58
colomon joined
22:59
snearch_ left,
sjohnson sets mode: +o Tene
23:00
jferrero left
23:02
Limbic_Region joined
23:10
Exodist is now known as X-Exodist,
X-Exodist is now known as Exodist
23:16
payload left
|
|||
ash_ | ng: my $a = Array.new; $a.push(5); | 23:19 | |
p6eval | ng b65331: Method 'elems' not found for invocant of class ''current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1) | ||
ash_ | rakudo: my $a = Array.new; $a.push(5); | ||
p6eval | rakudo 3867ff: ( no output ) | ||
ash_ | hmmm | ||
23:20
cotto_work left,
cotto_work joined
|
|||
colomon | rakudo: my $a = Array.new; $a.push(5); say $a.perl | 23:22 | |
p6eval | rakudo 3867ff: [5] | ||
ash_ | i think ng has a bit of an issue | ||
23:22
_bob_k joined
|
|||
colomon | ash_: agreed | 23:23 | |
colomon wonders if he implemented push... | |||
ash_ | ng: my $a = Array.new; say $a.elems; | ||
p6eval | ng b65331: Method 'elems' not found for invocant of class ''current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1) | ||
colomon | nope, that's more PIR that I'd have used. | 23:24 | |
_bob_k | While trying to build Rakudo, I'm getting error messages similar to this: pastie.org/758753 | ||
Any idea what's going on? | |||
ash_ | i don't know if its a problem with push, but i do see there is also a problem with elems | ||
colomon | _bob_k: that's a new one on me, I fear. | 23:25 | |
ash_ | _bob_k: i haven't seen that one, whats your build enviorment? gcc version? | ||
or cc | |||
colomon | ng: my $a = Array.new; say $a.elems | ||
p6eval | ng b65331: Method 'elems' not found for invocant of class ''current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1) | ||
colomon | my $a = Array.new; say $a.WHAT | 23:26 | |
ash_ | colomon: its funny though, you can list the methods and its in the list | ||
_bob_k | ash_: Ubuntu 8.10, so gcc (Ubuntu 4.3.2-1ubuntu12) 4.3.2 | ||
ash_ | ng: my $a = Array.new; | ||
p6eval | ng b65331: ( no output ) | ||
colomon | ng: my $a = Array.new; say $a.WHAT | ||
p6eval | ng b65331: Array() | ||
ash_ | ng: my $a = Array.new; say ~$a.^methods; | ||
p6eval | ng b65331: postcircumfix:<[ ]> shift pop push unshift perl postcircumfix:<[ ]> list Num postcircumfix:[ ] perl of elems Str Iterator Int unpolar floor asech ord round split match acosh lc p5chop words join sinh cotan acotan atan2 trim reverse asec isa cotanh ucfirst sech tan cos rand fmt first sqrt | ||
..… | |||
ash_ | elems is in the list | 23:27 | |
hmmm | |||
colomon | ash_: I know we've got tests running for elems, too. | ||
ash_ | _bob_k: did you do: perl Configure.pl --gen-parrot ? | ||
or did you use a built in parrot? | |||
colomon: are they fudged in ng? or is this something that hasn't been addressed yet? | 23:28 | ||
colomon | ash_: I suspect it's something wrong with Array.new. | ||
ng: my @a = (1, 2, 3); say @a.elems | |||
p6eval | ng b65331: 3 | ||
colomon | of course, that's a list. hmmm... | 23:29 | |
ng: my $a = [1, 2, 3]; say $a.elems | |||
p6eval | ng b65331: 3 | ||
ash_ | my @a = 1, 2, 3; say @a.WHAT: | ||
colomon | ng: my $a = [1, 2, 3]; say $a.WHAT | ||
p6eval | ng b65331: Array() | ||
ash_ | ng: my @a = 1, 2, 3; say @a.WHAT; | ||
p6eval | ng b65331: Array() | ||
ash_ | ng: my @a = 1, 2, 3; @a.push(5); | ||
p6eval | ng b65331: ( no output ) | ||
_bob_k | ash_: I build parrot before I build rakdudo, so my shell script is basically: | ||
pushd ~/parrot/rakudo/ && make clean && git pull && perl Configure.pl --parrot-config="$HOME/parrot/bin/parrot_config" && make && make test && popd | |||
colomon | so anyway, yeah, elems works. | ||
ash_ | weird... | 23:30 | |
colomon | _bob_k: which branch of rakudo? | ||
_bob_k | colomon: whichever is the default. | ||
So, I believe the non-ng branch. | 23:31 | ||
colomon | right, should be master. | ||
ash_ | master is default in git | ||
_bob_k | Yeah, that's it. | ||
colomon | which version of parrot? | ||
_bob_k | Again, head from svn. | 23:32 | |
colomon | ah, wonder if that's it. | ||
_bob_k | Parrot is to far forward? | ||
colomon | could be. | ||
ash_ | i haven't built rakudo with trunk parrot in a while | ||
colomon | master's default parrot is 43076. | 23:33 | |
_bob_k | And current parrot is 43449, right? | 23:34 | |
Er, head parrot... | |||
ash_ | yeah, thats correct bob | ||
_bob_k | So either I need to bactrack Parrot or hop to ng, correct? | 23:35 | |
colomon | that seems likely to be the problem, let me see if I can duplicate it here. | ||
ash_ | i am trying it too to see if its os related | 23:36 | |
_bob_k | OK, digging around the net a bit, I found this: irclog.perlgeek.de/text.pl?channel=...2009-12-28 | 23:41 | |
colomon | ng: my $a = List.new; say $a.elems | ||
p6eval | ng b65331: Method 'elems' not found for invocant of class ''current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1) | ||
_bob_k | Which seems to indicate that masak was made aware of this issue a couple of weeks ago. | ||
ash_ | hmmm | 23:42 | |
ng builds fine, let me try master | |||
colomon | I get the error in master if I bump PARROT_REVISION to head. | 23:44 | |
23:47
cognominal left
|
|||
colomon | ash_: I've got to go for a bit, but see that List has the same problem Array does.... | 23:49 |