»ö« | perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is your friend! Set by Tene on 14 May 2009. |
|||
00:05
frew|work joined,
frew|wor2 joined
00:06
unitxt left
00:09
jferrero left
00:12
hanekomu joined,
DanielC left
00:15
synth left
00:18
synth joined
00:19
hanekomu left,
exodist left
00:24
frew|wor2 is now known as frew
00:29
bacek joined,
amoc joined
00:30
frew|work left,
justatheory left
00:35
synthEEEE left
00:43
Limbic_Region left
00:45
synthEEEE joined,
synthEEEE left
00:46
synthEEEE joined
00:51
justatheory joined
00:52
ZuLuuuuuu left
00:55
synth left,
Limbic_Region joined
00:59
Chillance left
01:07
agentzh joined
01:08
frew|work joined
01:17
frew|work left
01:28
davidad joined,
davidad left
01:41
icwiener_ left
01:43
justatheory left
01:48
rewt left
01:52
Whiteknight left
01:53
rewt joined
01:55
stepnem left,
stepnem joined
02:02
rhr joined
|
|||
Util | Whiteknight: I think you need `git pull origin`. If that is not enough, then run `git branch -r`, choose the branch, and `git pull origin/branchname`. Caution: I may be quite wrong. Taken from www.kernel.org/pub/software/scm/git...-pull.html and www.sourcemage.org/Git_Guide . | 02:08 | |
02:12
justatheory joined
02:16
rhr_ left
02:19
Limbic_Region left
02:25
payload left
|
|||
meppl | good night | 02:26 | |
02:27
meppl left
02:41
payload joined
02:42
payload left
03:03
lisppaste3 left,
lisppaste3 joined
03:19
stepnem left
03:20
donaldh left,
stepnem joined,
donaldh joined
03:51
hercynium left
04:01
stepnem left
|
|||
jdv79 | anyone know the transportation options to get to the parrot/p6 workshop from the dorms? | 04:07 | |
04:09
synthEEEE left
04:10
synth joined
04:17
unitxt joined
04:31
snarkyboojum left
04:40
skids left
04:47
FurnaceBoy left
04:55
ssm left
04:57
ssm joined,
cj joined,
cj_ left
05:00
shinobi-cl joined
05:01
unitxt left,
sri_kraih left
05:09
shinobi-cl left
05:11
davidad joined
05:12
frew left,
davidad left
05:28
stepnem joined
05:52
justatheory left
05:59
TimToady sets mode: +o japhb,
TimToady sets mode: +o cognominal,
TimToady sets mode: +o Tene
06:00
TimToady sets mode: +o Matt-W
06:01
TimToady sets mode: +o szabgab
06:03
Maghnus_ joined,
TimToady sets mode: +o xinming
06:04
Maghnus left
06:09
Maghnus joined
06:24
unitxt joined
06:25
Maghnus_ left
06:46
baest_ left
06:47
baest joined
06:49
DemoFreak joined
06:57
eMaX joined
06:58
unitxt left
06:59
araujo left
07:01
iblechbot joined
07:02
yves joined
07:14
araujo joined
07:20
donaldh left,
donaldh joined
07:23
dakkar joined
07:35
TimToady left,
TimToady joined
07:44
icwiener joined
08:01
barney joined
08:08
finanalyst joined
08:09
davidad joined,
davidad left
08:14
tulcod joined
08:16
snarkyboojum joined
08:23
viklund joined
08:25
eMaX left
08:28
eMaX joined
08:48
DanielC joined
08:49
hcchien left
|
|||
DanielC | Moring. | 08:49 | |
*Morning | |||
08:49
clkao left
08:50
clkao joined
|
|||
viklund | Morning | 08:52 | |
08:53
snarkyboojum left
|
|||
DanielC waves | 08:53 | ||
viklund | ~~ | 08:54 | |
08:54
hcchien joined
|
|||
Matt-W | hi DanielC | 08:56 | |
wow | |||
DanielC | hi Matt-W | ||
Matt-W | where did I get a snail from? | ||
DanielC | ? | ||
Matt-W | That can't be right | 08:57 | |
Oh, apparently TimToady set +o | 08:58 | ||
DanielC | Ah, you are an op. | ||
viklund | perl6: my @a="".split(":"); @a.push(1);say "Hej", @a.join(":") | ||
p6eval | elf 26994: OUTPUT«Hej1» | ||
..pugs, rakudo c907d3: OUTPUT«Hej:1» | |||
viklund | perl6: my @a="".split(":"); @a.push(1);say @a.join(":") | 08:59 | |
p6eval | pugs, rakudo c907d3: OUTPUT«:1» | ||
..elf 26994: OUTPUT«1» | |||
viklund | hmm | ||
08:59
xomas_ joined
|
|||
viklund | that must be a bug in pugs and rakudo | 08:59 | |
Matt-W | that is slightly strange | ||
quick, go file a bug before masak notices and does it for you | 09:00 | ||
viklund | ;) | ||
he has filed a few bugs for me already actually... | 09:01 | ||
but this works (in rakudo) | |||
perl6: my @a="".split(":");say @a.join(":") | |||
p6eval | elf 26994, pugs, rakudo c907d3: OUTPUT«» | ||
viklund | and this: | 09:02 | |
perl: my @a=();@a.push(1);say @a.join(":") | |||
it's only when you split first ;) | |||
perl6: my @a=();@a.push(1);say @a.join(":") | |||
p6eval | elf 26994, pugs, rakudo c907d3: OUTPUT«1» | ||
viklund | oh, well... | 09:03 | |
viklund files bug | |||
09:05
masak joined
|
|||
DanielC | o/ masak | 09:05 | |
masak | DanielC: \o | ||
viklund | masak: I found a bug in rakudo ;) | 09:06 | |
before you ;) | |||
DanielC | heh | ||
masak | viklund: that tends to happen... occasionally. | ||
09:08
bacek left
|
|||
viklund | perl6: my @a="".split(":"); @a.push(1);say @a.join(":") | 09:08 | |
p6eval | pugs, rakudo c907d3: OUTPUT«:1» | ||
..elf 26994: OUTPUT«Permission denied at ./elf_h line 324.» | |||
masak | viklund: did you file it yet? | ||
ah, you did. | 09:09 | ||
(dang!) | |||
viklund | I did?? | ||
when... | |||
masak | [09:03] * viklund files bug | ||
viklund | it's still rakudobug, right? | ||
masak | aye. | 09:10 | |
viklund | ahh, I just realized I should search for it before I submit it | ||
(didn't find it) | |||
09:14
barney left
|
|||
viklund | perl6: "".split(":").elems.say | 09:14 | |
p6eval | pugs, rakudo c907d3: OUTPUT«1» | 09:15 | |
..elf 26994: OUTPUT«0» | |||
viklund | perl6: "".split("snuffe").elems.say | ||
p6eval | pugs, rakudo c907d3: OUTPUT«1» | ||
..elf 26994: OUTPUT«0» | |||
viklund | perl6: "".split("").elems.say | ||
p6eval | elf 26994, pugs, rakudo c907d3: OUTPUT«0» | ||
viklund | ;) | ||
masak | DanielC: could you summarize to me the smallest possible change that you think would advance the ver-auth-modules branch in Rakudo? | ||
DanielC | masak: I'm not sure I understand your question... | 09:17 | |
masak | DanielC: ok, rephrasing: | 09:18 | |
DanielC: I would like to change the 'use' sub we looked at so it starts to recognize version and/or author information. right now we're at zero. | |||
viklund | bug filed | ||
masak | viklund++ | ||
DanielC: what's the smallest possible such change you can conceive of that would still be an improvement? | 09:19 | ||
DanielC | masak: Reading the version as a string, without any searching, and ignoring the author. That would be an improvement. | ||
It would be enough to start playing with package management. | |||
masak | perfect, thanks. | 09:20 | |
what should Rakudo do on disk, instead of just plain looking in @*INC? | |||
DanielC | masak: I was hoping we could talk about that :-) | ||
masak | we can. :) | ||
DanielC | I have an incomplete prototype for a package manager, and I just hit precisely that question. | 09:21 | |
viklund | dang, I can't send mail to perl.org. It rejects my messages since the "envelope sender is in my [perl.org] badmailform list" | ||
where do I complain?? | |||
masak | good question. | ||
maybe ask on #perl on irc.perl.org? | |||
viklund | hmm, worth a try | 09:22 | |
masak | or maybe it's obra you should contact. he maintains RT, I think. | 09:23 | |
09:23
ZuLuuuuuu joined
|
|||
DanielC | masak: I am thinking of installing module Foo::Bar in @*INC[$i]/Foo/Bar-v1.2.0/lib <-- I add the 'lib' so that there can be another subdirectory, META-INF, with metadata. | 09:23 | |
masak: But I haven't thought thoroughly about all the implications. | 09:24 | ||
viklund | masak: I also get this problem when I try to send to perl.org based mailing-lists | ||
DanielC | viklund: The list archive page says to send comments to Ask Bjørn Hansen at [email@hidden.address] | 09:26 | |
masak | won't that one be rejected also? | 09:27 | |
DanielC | Depends on whether it's a problem with the mailing list or all of perl.org | 09:28 | |
viklund | DanielC: problem is, I can't send mail to perl.org ... | 09:30 | |
DanielC | :( | ||
viklund | masak: can you send my mail to ask if I forward it to you? | ||
masak | viklund: yes, I can. | 09:31 | |
DanielC | Or use a google mail address just for this communication. | ||
viklund | DanielC: I am using my gmail account... | ||
DanielC | ok, hotmail then ... | ||
viklund | >.< | ||
masak | oh please no. not hotmail. | ||
09:33
eMaX left
|
|||
masak | DanielC: fwiw, I agree about the tone being somewhat too harsh on p6l right now. and it's not just you. | 09:34 | |
viklund | masak: you've got it now | ||
masak | DanielC: OTOH, I'm not surprised. these are big, important questions, and they will not find answers quickly. of course people will dig themselves down into different camps. | ||
DanielC | masak: I seem to have had a few communication issues on the list. | 09:36 | |
masak | DanielC: you're a brave person entering into this kind of discussion from the beginning. :) | ||
DanielC | :) | ||
masak | DanielC: look what happened to the Pod discussions in 2006, for example. | ||
DanielC | I guess those were problematic too. | 09:37 | |
masak | DanielC: yes, see use.perl.org/~masak/journal/38644 | ||
DanielC | *click* | 09:38 | |
It seems weird that people would argue about things like this... | 09:39 | ||
masak | why? | 09:40 | |
DanielC | I keep thinking "it's just pod... how could that bother anybody?" | ||
viklund | It's just a modulename... | 09:41 | |
DanielC | I know... | ||
viklund: I was surprised that my email sparked criticism... and then I lost patience myself :-P | |||
masak | I think it's a combination of (1) everybody has used it, so they feel entitled to an opinion and (2) those are really big questions, and it's hard to get compass directions in the issues. | ||
same reasons for people arguing about politics and religion, incidentally. | 09:42 | ||
DanielC | And (3) it's a non-technical question, ripe for bikeshedding. | ||
masak | oh, right. yes. | ||
DanielC | "The vocal opposition, headed (in some sense) by Mark Overmeer" ... That's the guy I was arguing with earlier about CPAN6, right? | 09:43 | |
masak | yes. | 09:44 | |
DanielC | ok | ||
masak | I don't dislike the guy, but he has a tendency to work on his own, and then express very strong opinions during this type of discussion. he often seems unwilling to compromise or take the other person's view. | 09:45 | |
DanielC | That's the impression I got of him, based on my limited experience. | 09:46 | |
masak | DanielC: on a totally unrelated note, you might want to look at this video: video.google.com/videoplay?docid=-4...1522818645 | 09:47 | |
DanielC | I used to be like that a lot. After spending a lot time thinking about a problem I would be confident I had the best solution, so I had very strong opinions about the solution. Eventually I kind of learned to "release early" and thus be less attached to my proposals. | 09:48 | |
*click* | |||
masak | well, as TimToady said on-list, we're all working on different time scales here. | ||
DanielC | masak: Ok, I'll watch that. And maybe I'll get a tip how not to become a poisonous person myself. I'm sure that most "poisonous people" don't mean bad. | 09:49 | |
09:49
presh left
|
|||
masak | working solo for several years and then springing forth with a complete solution is not a priori a bad idea. but it does give a certain disadvantage when the agile people wake up and start their early-often cycling. | 09:50 | |
DanielC | yeah | ||
Matt-W | It's a good way to get resentful when people spring on your glorious design and rip it to pieces | ||
It's happened to me before | |||
And I must admit I've done it to other people | 09:51 | ||
DanielC | Matt-W: Same here (been on both sides) | ||
09:51
Maghnus_ joined
|
|||
Matt-W | Including a fairly recent project at work, where we've had to gradually convince the guy who wrote it that while it might be gloriously flexible, it's entirely unusable because it's so bloody obscure | 09:51 | |
masak | it can also be seen as slightly arrogant to go "don't you people worry, I got it covered. go and do something else; I'll be done in a year or two". | ||
09:51
Maghnus left
09:52
eMaX joined,
Maghnus_ is now known as Maghnus
|
|||
Matt-W | yes and then people just say "But we want it next week" | 09:52 | |
But it is always tempting to retreat and do it and present it fully-formed to the world | |||
I found it quite hard to put Form up on github straight away | |||
Of course, nothing's happening there at the moment, sorrya bout that :) | |||
DanielC | Yeah. As I said, I used to do that a lot, and a friend pointed out to me that this was a source of argument, so I started releasing more often. | 09:53 | |
masak | Matt-W: that's ok. just be aware that I'm looking forward to ever new feature you add. :) | ||
Matt-W | masak: I think the main reason for delay at the moment is that I'm not really looking forward to tackling numbers | ||
masak | Matt-W: want some help? | 09:54 | |
Matt-W | I would never say no :) | ||
(to anybody who writes decent code) | |||
masak | let's set a meeting. for a small online hackathon. | ||
Matt-W | okay | 09:55 | |
masak | well, my Perl 6 coding is still evolving, but I've written a bunch of popular modules, so I dare say it's at least decent. | ||
:) | |||
Matt-W | I'm sure in some ways it's better than mine | 09:56 | |
Possibly in all ways | |||
anyway, I just gave you access to the form repo | |||
now when shall we have our hackathon | |||
masak | this week? | 09:57 | |
DanielC | Matt-W: What's the hackathon about? | ||
masak | Friday? | ||
Matt-W | Form.pm | ||
specifically the provision of number formatting | |||
masak: when? | |||
masak: I think your time zone is an hour ahead of mine | 09:58 | ||
masak | Matt-W: something like that, yes. it's 12 o'clock here now. | ||
Matt-W | yes it's 11 here | ||
that does ease the scheduling constraints somewhat :) | |||
09:58
jferrero joined
|
|||
Matt-W | now obviously I can't do it while I'm at work | 09:58 | |
09:59
synth left
|
|||
masak | which leaves...? | 09:59 | |
Matt-W | friday evening! | 10:01 | |
masak | aye. | 10:02 | |
viklund | DanielC: re module naming conventions, I think that Johns point was that saying that it's in C isn't enough, you need to say C/Rakudo or C/Perl6ImplemenationX | 10:03 | |
DanielC | viklund: *AHHHHH* | ||
viklund: I had no idea that that's what he meant. | |||
masak | Matt-W: I usually dine at 7 or 8 in the evenings. sometime after that would be fine. | ||
viklund | it might be | ||
DanielC | It might be. | ||
viklund: I assumed that there would be some sort of agreement on what the C bindings should look like. | 10:04 | ||
viklund: Otherwise, the modules are obviously a lot less useful. | |||
viklund | DanielC: I don't think there will be | 10:05 | |
DanielC | For precisely the reason you said. | ||
This could be a problem, don't you think? | |||
10:06
pjcj_ joined
|
|||
DanielC | It would make the modules with C bindings a lot less useful, and those modules are important. | 10:06 | |
All the high-performance modules use C. | |||
Matt-W | masak: yes that sounds about right | ||
masak | Matt-W: so, let's make it 19:00 UTC? | 10:08 | |
which translates to 20:00 your time and 21:00 my time. | |||
Matt-W | sounds good | 10:11 | |
masak | how much time do we need? an hour? | 10:12 | |
10:12
presh joined
|
|||
Matt-W | depends how much we want to do really | 10:12 | |
if we aim to sketch out a way of doing the numeric formatting sanely, an hour may well prove sufficient to get something outlined | 10:13 | ||
DanielC | masak: Watching the video... say say that a derailing technique of poisonous people is to reply to every single email on a thread... Hm.. I tend to reply a lot but I don't do it in order to derail the discussion. | ||
s/say say/says/ | 10:14 | ||
masak | DanielC: you started many of those threads. it's a bit different. :) I think. | 10:15 | |
DanielC | :-) | ||
Matt-W | sometimes that's a valid thing to do | 10:16 | |
masak | but it might be a good idea to combine replies when possible. the longer a thread gets, the more people on the list will defect and go read something else. | ||
DanielC | Combining replies is good advice. | 10:17 | |
10:17
payload joined
|
|||
DanielC | I don't normally combine replies, but there is no reason why I couldn't. | 10:17 | |
masak | also, thought it's very difficult, it sometimes helps to leave the per-paragraph reply style, take a step back and look at the whole discussion. I should do that more often myself. | 10:18 | |
Matt-W | you could fight against doing it based on the integrity of the threading information in the list archive :) | ||
10:19
pjcj left
|
|||
Matt-W | masak: yes that can help, it's easy to get bogged down on the details and forget the wider view | 10:19 | |
DanielC | I think that most flames would be helped a lot by doing what masak just said. | ||
The flame wars that I have seen and/or participated in were like that. People replying paragraph per paragraph to individual details. | 10:20 | ||
masak | the most powerful debate technique I know in email discussions is spending ten minutes imagining that you hold the other person's views. and then replying. | ||
viklund | personally though, I dont' see it as a big problem that some ppl use ::PurePerl, some ::Perl and some nothing..., TemplateToolkit uses XS if it can and otherwise perl for example... | 10:21 | |
masak | viklund: nod. | ||
I don't think that implementation/bindings should be a part of the module name. | |||
DanielC | masak: In principle, I agree, but unless something changes, they will be (Foo::PurePerl) | 10:22 | |
masak | and what's wrong with that? | ||
it works for CPAN. | |||
viklund | but I don't have any strong opinions here | ||
DanielC | masak: It's not wrong. | ||
masak | then let's not try and fix it. :) | 10:23 | |
DanielC | masak: And yes, it works. My earlier post was meant to be a simple suggestion: use a common way to denote this. | ||
e.g. Instead of some being ::Perl an others ::PurePerl, maybe we can pick one or the other an make them all the same. | 10:24 | ||
viklund | I guess that some conventions are better if they are silent | ||
masak | DanielC: there are so many other, necessary, pieces of this puzzle that need conscious design. let's focus on those. :) | ||
DanielC | But it was a very minor suggestion. | ||
masak: Sure. There are more important things to do. | |||
masak | build the simplest thing that could possible work. and then we can expand from that. | ||
DanielC | I didn't expect to seen an argument about the module name. It's not worth arguing about, so I think I'll just drop it. | 10:25 | |
viklund | ;) | ||
masak | a working module says more than a thousand bikeshedding list emails. | ||
DanielC | That's a good way to look at it. | 10:26 | |
You can skip the whole bikeshedding discussion by just writing the <xyz> yourself. | |||
Peaking of which, I have a rough prototype for a package manager for Perl modules. | 10:27 | ||
masak | cool. | ||
DanielC | I should think about posting it somewhere. What's the normal place to post this? | ||
masak | use.perl.org? perl-users? | ||
CPAN? | |||
depends on the type of 'posting it somewhere'. | 10:28 | ||
DanielC | I was thinking more like github. | ||
Or per6-examples | |||
masak | that's certainly an option. | 10:29 | |
DanielC | Most people seem to post their work in github. Is that the standard place to put new work for Perl 6? | 10:30 | |
DanielC starts making a new repository in github | 10:31 | ||
Project name... Is that the full name with spaces? Like "Perl Package Manager"? | |||
masak | DanielC: no, it's the 'unix name' of the project | 10:33 | |
DanielC | Or is that the short name, like "PPM" ? | ||
ok | |||
masak | the Discription is the long name. | ||
DanielC | Will that name end up in the URL? Should I pick PPM or ppm ? | ||
masak | ppm. yes. | 10:34 | |
DanielC | And what's the Home Page URL field for? Is it *my* home page? Like my blog? | ||
masak | leave it blank. | 10:35 | |
DanielC | k | ||
masak | it's for projects that already have a home page elsewhere. | ||
DanielC | ah | ||
DanielC is setting up his repository | |||
viklund | masak: this seems to be another place where we, inadvertently, set a standard ;) | 10:37 | |
github for perl6 stuff... | 10:38 | ||
masak | viklund: maybe. or we were simply the first ones in an inevitable trend. | 10:39 | |
github is a very good place. | 10:40 | ||
DanielC | Is there a way to recursively 'git add' every file in a directory? | ||
masak | DanielC: yes. | ||
DanielC | 'git add -r *' ? | ||
viklund | yes, ror++ | ||
git add . | |||
masak | DanielC: just add the directory. | ||
viklund | git add <dir> | ||
masak | no flags needed. | ||
DanielC | ok, thanks | ||
masak | DanielC: also, RTFM. it's not that long. | ||
:P | |||
DanielC | ok | 10:41 | |
masak | 'git help add' | ||
DanielC | ok | ||
viklund | or, 'git add --help' or 'man git-add' | ||
masak | or google for git-add. | ||
viklund | timtowtdi++ | 10:42 | |
masak lunches | |||
DanielC | \o/ it works | 10:45 | |
github.com/dcarrera/ppm/tree/master | |||
Now I have my first ever git repository. | |||
viklund | DanielC: Congratulations!! | ||
DanielC | :-D | ||
10:49
abra joined
10:51
ZuLuuuuuu left
10:56
payload left,
ssm left
10:58
abra left
11:06
ssm joined
11:10
kimtaro joined
11:20
donaldh left,
donaldh joined
|
|||
masak | DanielC: added ppm to proto's projects.list, and added you as a proto contributor (in the even that you'd like to change something) welcome aboard! | 11:27 | |
DanielC | masak: :-D | ||
masak: Thanks. | |||
masak | there are now 20 projects in that list, excluding pseudo-packages. | 11:30 | |
DanielC | That's pretty good. | ||
masak | I expect proto will have played out its role before we reach 100. | ||
DanielC | More than I'd expect for a language that technically doesn't exist yet. | ||
masak | let the world wait. I'm coding Perl 6 today, and I don't see what all the Christmas fuss is about. | 11:32 | |
viklund | masak: smth for the quote file! | 11:34 | |
masak | :) | ||
granted, I too want Perl 6 to be in some sense "prepared" for the world out there. that's why I'm reporting Rakudo bugs, writing user documentation, working on a package manager and a web framework, and complaining loudly about unacceptable technical deficiencies. | 11:37 | ||
DanielC | masak: Let me know if you get a chance to glance a the program. Right now I'm just going for a simple prototype so we can experiment a bit. | ||
masak looks | |||
DanielC | In particular, it is packed with Unix commands (run "xyz"). | 11:38 | |
masak | './proto install ppm' -- aah. :) | ||
DanielC | :-) | ||
masak | DanielC: that goes for many of the Perl 6 projects out there right now. | ||
DanielC: we're not yet at a point where we can be very platform independent. | |||
DanielC | yeah... | ||
Even chdir() doesn't work. | 11:39 | ||
11:39
DemoFreak left
|
|||
masak | DanielC++ # code | 11:39 | |
DanielC | :) | 11:40 | |
masak | ready for a quickie review? | ||
DanielC | sure | ||
masak | %params{'verbose'} better written as %params<verbose> | ||
no biggie, just nicer. | |||
DanielC | thanks | 11:41 | |
DanielC changes %params{'dir'} too | |||
masak | and %params{'sign'} | 11:42 | |
DanielC | found it | ||
masak | I don't see much else to nag about actually. good job. | 11:43 | |
DanielC | :-) | ||
Matt-W applauds | 11:52 | ||
11:53
clintongormley joined
11:54
flexibeast left
11:56
payload joined
11:57
payload1 joined,
payload left
|
|||
DanielC | masak: I just finished watching the video. It was very interesting. Thanks for the link. | 12:07 | |
masak | you're welcome. I got it from an email from allison on the parrot-dev list. | ||
some dev had just written an uncharacteristically acerbic post. | 12:08 | ||
DanielC | .ety acerbic | ||
phenny | Can't find the etymology for "acerbic". Try etymonline.com/?search=acerbic | ||
masak | hm, might be English Fail on my part... | ||
DanielC | I suppose there isn't a dictionary bot here. | ||
Anyways, I get your meaning. | 12:09 | ||
masak | ah, no. there is such a word: dictionary.reference.com/browse/acerbic | ||
DanielC | harsh | ||
masak | aye. | ||
DanielC | Anyways... on a different topic: did you glance at the Pod documentation for ppm? Do you think I'm going in the right direction? | 12:10 | |
I'm planning to use a SQLite db to track dependencies, and the packages I think I'll install in @*INC[$x]/Foo/Bar-v1.2.0--$count | 12:12 | ||
masak | only glanced. didn't read. | ||
DanielC | ok | ||
masak | will peruse later, with delight. | ||
DanielC | Thanks. | ||
masak | DanielC: here's the acerbic thread: groups.google.com/group/parrot-dev/...f86517fed# | 12:13 | |
DanielC | *click* | ||
masak | allison++ # tough-skinned | 12:15 | |
Matt-W | that is a wonderfully cool, calm and professional reply | 12:20 | |
12:20
synth joined,
ZuLuuuuuu joined
|
|||
DanielC | masak: Before reading the Pod, update the repository so you get best documentation. | 12:26 | |
12:26
jferrero left
12:27
hanekomu joined
|
|||
masak | oki. | 12:28 | |
'./proto update ppm' :) | |||
12:33
ssm left
12:36
pmurias joined
12:39
FurnaceBoy joined
12:50
pyrimidine joined
12:53
jferrero joined
12:54
ssm joined
|
|||
pyrimidine | DanielC re: my p6l reply on modules, my response wasn't just aimed at you, but at the discussion as a whole. | 12:56 | |
DanielC | pyrimidine: Hi. | 12:57 | |
pyrimidine | o? | ||
DanielC | Thanks. I thought it was just me. | ||
pyrimidine | Hi | ||
No, it wasn't just you. | |||
12:57
mizioumt joined
|
|||
DanielC | In any case, I'll try to be more careful on the list. | 12:57 | |
12:58
pmurias left
|
|||
pyrimidine | I've fallen into the same trap. With bioperl we have a 'whoever codes it first implements it', which sort of drives the problem you are seeing re:CPAN6 | 12:59 | |
12:59
pmurias joined
|
|||
pyrimidine | OTOH, it also drives the work to get done faster | 12:59 | |
DanielC | If I may change topic... what is bioperl? It sounds interesting. | 13:00 | |
13:00
Scorp1us left
|
|||
pyrimidine | search.cpan.org/~cjfields/BioPerl-1.6.0/ | 13:00 | |
13:00
Scorp1us joined
|
|||
DanielC | *click* | 13:00 | |
pyrimidine | www.bioperl.org/wiki/Main_Page | ||
DanielC | cool | 13:01 | |
I had heard that Perl was popular in biotech. | |||
Is biotech the right name for DNA sequencing? | |||
pyrimidine | Not just sequencing | 13:02 | |
DanielC | ok | ||
pyrimidine | anythinh sequence-based | ||
*anything | |||
actually, anything that could represent something relevant to biology | 13:03 | ||
Trees, sequences, alignments, blah blah blah | |||
DanielC | "bioinformatics" is the term I was looking for. | ||
pyrimidine | ye | ||
*yes | |||
DanielC | Very interesting stuff. | ||
I always thought of Perl as a language for the web an system administration. I only recently learned that it is big in biology. | 13:04 | ||
pyrimidine | what I would like is to get others in the field interested in perl 6 | ||
DanielC | Do you use bioperl for work? | 13:06 | |
pyrimidine | but it's tricky to get a biologist to learn more than one computer language | ||
yes | |||
13:06
jferrero left
|
|||
pyrimidine | (note the author for the cpan release) | 13:06 | |
DanielC | What other language do they use besides Perl? | ||
pyrimidine | python, ruby, java | ||
smattering of C/C++ | 13:07 | ||
DanielC | I wouldn't think that those would match Perl, since sequencing is fundamentally text searching. | ||
pyrimidine | yes, but the problem we face is parsing through very large files/databases | ||
masak | pyrimidine: I can already attest to Rakudo being more fit for that purpose in at least one instance. :) | 13:08 | |
DanielC | Can python/ruby/java do that better than Perl? I thought Perl was supposed to be mighty fast at text searching. | ||
pyrimidine | perl is popular b/c of 'whipuptitude', perl 6 more so | ||
masak | I'm going to be teaching BioPerl this summer, by the way. | ||
pyrimidine | and I think it will eventually solve the speed issue | ||
masak: cool! | |||
13:09
payload1 left
|
|||
DanielC | pyrimidine: So Perl is actually slower? | 13:09 | |
masak | the other day I read that someone was into BioPerl and even porting it to Perl 6. now where did I read that? | ||
pyrimidine | there is some cruft in the code ;) | ||
that would be me | |||
(re: bioperl -> bioperl6) | |||
github.com/cjfields/bioperl6/tree/master | |||
DanielC | It's on github! | 13:10 | |
Quick, masak, add it to proto | |||
:) | |||
pyrimidine | nothing really there yet | ||
but working on it | |||
masak | pyrimidine: it is you! :) | ||
masak adds to proto | |||
21 projects and counting. | |||
pyrimidine | \o/ | 13:11 | |
DanielC | I was the 20th project :-D | ||
pyrimidine | I've been playing with Moose a bit to test out conversion of interfaces to roles (also on github) | ||
github.com/cjfields/biomoose/tree/master | 13:12 | ||
a bit more work on that one | 13:13 | ||
masak | I also think that proto is the Perl 6 project with the highest number of committers: 17 | ||
pyrimidine | nice | ||
masak | but that might have something to do with the fact that I force-add everyone. :) | ||
pyrimidine: speaking of which, welcome aboard! :) | 13:14 | ||
DanielC | :-) | ||
he he | |||
pyrimidine | thanks! | ||
DanielC | masak: I know you only mean proto to be a temporary tool, but I think that it has some seriously good ideas (using git) that could be useful in the long term. | 13:15 | |
masak | DanielC: sure, why not? | 13:16 | |
proto dies, some ideas live on. | |||
that's ok by me. :) | |||
DanielC | Or proto itself might leave on. | ||
I mean... Linux was only meant to be a quick hack for a kid at school. | 13:17 | ||
s/leave/live/ :-) | |||
pyrimidine going to work | |||
DanielC | stoopid English phonetics. | ||
13:17
snarkyboojum joined,
cmarcelo joined
|
|||
masak | DanielC: I don't know why people find the idea of proto living on comforting. I certainly don't. it's based on at least three core concepts that will cease to hold as Perl 6 matures. | 13:18 | |
DanielC | What are those core concepts? | 13:19 | |
masak | 1. PERL6LIB | ||
2. no multiple versions, no multiple authors | |||
DanielC | oh, right... | ||
13:20
Scorp1us left
|
|||
masak | 3. no thought at all given to different platforms, Perl 6 implementations, etc. | 13:21 | |
DanielC | I don't know what PERL6LIB is, but I understand the others. | ||
13:21
snarkyboojum left
|
|||
DanielC | Ok, then an offspring of proto can carry on its legacy. :-) | 13:21 | |
masak | in effect, proto is the dead end you get if you just implement a package manager without caring about the known requirements. :) | ||
DanielC: you sound exactly like mberends. :P | 13:22 | ||
13:22
Scorp1us joined
|
|||
pyrimidine | PERL6LIB is somewhat equiv to PERL5LIB | 13:22 | |
DanielC | Yeah, but what is PERL5LIB? | ||
masak | pyrimidine: better known as PERLLIB, I think. | ||
pyrimidine | yes | ||
DanielC | Do you use it to embed Perl in your programs? | ||
s/programs/C programs/ | |||
Matt-W | no it's an environment variable which tells perl where to find modules | ||
masak | DanielC: it's a way of injecting paths into @*INC. | ||
DanielC | ah | 13:23 | |
ok | |||
masak | it's a time bomb, to be deprecated sometime before Christmas. | ||
pyrimidine | and it's 'replacement' is ...? | 13:24 | |
masak | pyrimidine: ...what we're discussing at the moment. :) | ||
DanielC | Does proto use @*INC at all? I checked yesterday and in Rakudo @*INC is just ['lib', '.'] which is not very useful. | ||
masak | pyrimidine: see also S11. | ||
DanielC: that's because PERL6LIB isn't set to anything useful on that server. | |||
DanielC | pyrimidine: I'm working on some ideas for that. github.com/dcarrera/ppm/tree/master | ||
pyrimidine | I was also guessing this relates to the current threads on p6l | 13:25 | |
masak | DanielC: proto makes use of PERL6LIB during building of modules. | ||
pyrimidine: aye. | |||
pyrimidine | hence the drama (discussed in backlog) | ||
DanielC | pyrimidine: Yes. Many of my posts on p6l were inspired by discussions here. | ||
masak | pyrimidine: well, people care deeply about module distribution, packaging, and management. | 13:26 | |
DanielC | And everyone has an opinion... | 13:27 | |
13:27
Util left
|
|||
pyrimidine | masak: yes, particularly since perl begat CPAN (thus making it that much easier to install what you need) | 13:28 | |
masak | and there's no clear right or wrong... | ||
pyrimidine | yes | ||
just very passionate folks | |||
DanielC | y | ||
masak | pyrimidine: CPAN is great, so no wonder people want it for Perl 6 too. | ||
DanielC | Life would be much simpler if everyone would just realize that I'm always right :-) | ||
masak | pyrimidine: some people want to rebuild it from scratch, the CPAN people want an adaption path... | ||
pyrimidine | no other language has anything to really match it | 13:29 | |
and there isn't really a decent middle ground | |||
seems like some of the logjam we're finding ourselves in atm (with bioperl) | |||
DanielC | What's happening at bioperl atm? | 13:30 | |
pyrimidine | everyone's adopted it, so no one wants to break the code, deprecation has become a pita | ||
DanielC | ah | ||
masak | time for a clean break. | ||
pyrimidine | sound familar? | ||
DanielC | yeah... | ||
masak | yup. | 13:31 | |
pyrimidine reading lots of chromatic's Modern Perl blog lately | |||
Anyway, bioperl (v5) is still anchored to p 5.6.1 b/c we have users bound via sysadmins to that version (usually on large clusters) | 13:34 | ||
and thus: biomoose, bioperl6 | |||
clean break | |||
masak | pyrimidine++ | ||
pyrimidine thinking about sneaking Modern::Perl into Bio::Moose | 13:35 | ||
but I'm actually thinking a better use of my time is to start porting more to perl 6 | 13:36 | ||
DanielC | If you port to Perl 6 you can help find bugs in Rakudo. | ||
pyrimidine already foudn a few | 13:37 | ||
*found | |||
I have a few tickets in RT | |||
Matt-W | yay! | ||
pyrimidine | and contributed the .trans operator (transliteration) | ||
(though it really needs to be reimplemented as an alternating grammar) | 13:38 | ||
13:38
unitxt joined,
payload joined
|
|||
pyrimidine | rakudo: my $str = 'ATGCATGAT'; $str .= trans('ATGC'=> 'TACG'); say $str; | 13:39 | |
p6eval | rakudo c907d3: OUTPUT«TACGTACTA» | ||
13:39
skids joined,
zamolxes joined
|
|||
pyrimidine really going to work this time! | 13:40 | ||
pmichaud | good morning, #perl6 | 13:42 | |
masak | gm, pm. | ||
DanielC | o/ | ||
13:42
mizioumt1 joined
|
|||
pyrimidine | morning | 13:42 | |
13:43
ZuLuuuuuu left,
pyrimidine left
13:47
Patterner left,
hudnix left,
avar left,
rhr left,
lambdabot left,
frew|wor1 left,
krakan left,
Tene left,
szabgab left,
Sark left,
andreasg_ left,
masak left,
dakkar left,
araujo left,
cj left,
sjn left,
meteorjay left,
kane__ left,
pastorn left,
literal left,
nnunley left,
DanielC left,
kolibrie left,
omega left,
nsh left,
tarbo2 left,
ashizawa left,
TimToady left,
[particle]1 left,
Matt-W left,
lumi left,
frettled left,
JDlugosz left,
cotto left,
shachaf left,
betterworld left,
breinbaas left,
drbean left,
BinGOs left,
unitxt left,
FurnaceBoy left,
zev left,
antiphase left,
pugs_svn left,
patmat left,
jiing left,
Caelum left,
pnu left,
mizioumt1 left,
kimtaro left,
cognominal left,
Jedai left,
c9s left,
synth left,
yves left,
iblechbot left,
[particle]- left,
mj41 left,
ascent_ left,
Eevee left,
broquaint left,
elmex left,
silug left,
cavelife^ left,
mizioumt left,
Maghnus left,
yahooooo left,
Maddingue left,
gbacon left,
revdiablo left,
hcchien left,
finanalyst left
13:48
japhb left,
buubot left,
phenny left,
Infinoid left,
hanekomu left,
buu left,
dalek left,
mkfort left,
allbery_b left,
frodwith left,
ssm left,
agentzh left,
amoc left,
estrabd left,
jrockway left,
kst left,
Helios left,
gfldex left,
stepnem left,
Aisling left,
REPLeffect left,
payload left,
Scorp1us left,
pjcj_ left,
baest left,
cls_bsd left,
dfort left,
lucs left,
r0bby left,
Woody2143 left,
mtve left,
zamolxes left,
skids left,
viklund left,
PacoLinux left,
charsbar left,
jdv79 left,
kcwu left,
Lorn left,
PerlJam left,
cxreg left,
pmurias left,
clintongormley left,
eMaX left,
xomas_ left,
sjohnson left,
bloonix left,
jnthn left,
pochi left,
ilbot2 left,
sbp left,
rafl left,
awwaiid left,
pasteling left,
icwiener left,
renormalist left,
edenc left,
AzureStone_ left,
Grrrr left,
s1n left,
arnsholt left,
StephenPollei left,
donaldh left,
rewt left,
dukeleto left,
windsok left,
nbrown left,
xinming left,
presh left,
felipe left,
pmichaud left,
hexmode left,
mattp left,
scrottie left,
DQuest left
13:49
clkao left,
jiing_ left
13:50
hatseflats left
13:55
cmarcelo left
13:56
japhb joined,
cmarcelo joined,
hatsefla1s joined,
jiing_ joined,
clkao joined,
barney joined,
mizioumt1 joined,
zamolxes joined,
skids joined,
payload joined,
unitxt joined,
Scorp1us joined,
pmurias joined,
mizioumt joined,
ssm joined,
FurnaceBoy joined,
hanekomu joined,
synth joined,
clintongormley joined,
donaldh joined,
kimtaro joined,
presh joined,
pjcj_ joined,
eMaX joined,
Maghnus joined,
masak joined,
xomas_ joined,
hcchien joined,
DanielC joined,
viklund joined,
finanalyst joined,
icwiener joined,
TimToady joined,
dakkar joined,
araujo joined,
yves joined,
iblechbot joined,
baest joined,
stepnem joined,
cj joined,
rhr joined,
rewt joined,
agentzh joined,
amoc joined,
avar joined,
Patterner joined,
hudnix joined,
[particle]1 joined,
mkfort joined,
REPLeffect joined,
irc.freenode.net sets mode: +o japhb,
estrabd joined,
PacoLinux joined,
[particle]- joined,
lambdabot joined,
cognominal joined,
buubot joined,
sjn joined,
sjohnson joined,
phenny joined,
dukeleto joined,
jrockway joined,
yahooooo joined,
bloonix joined,
buu joined,
jnthn joined,
charsbar joined,
Maddingue joined,
dalek joined,
windsok joined,
felipe joined,
Sark joined,
pastorn joined,
meteorjay joined,
nnunley joined,
kane__ joined,
literal joined,
frew|wor1 joined,
krakan joined,
Tene joined,
szabgab joined,
irc.freenode.net sets mode: +oooo cognominal jnthn Tene szabgab,
andreasg_ joined,
Matt-W joined,
shachaf joined,
lumi joined,
frettled joined,
breinbaas joined,
betterworld joined,
BinGOs joined,
JDlugosz joined,
drbean joined,
cotto joined,
zev joined,
jiing joined,
Caelum joined,
patmat joined,
antiphase joined,
pugs_svn joined,
pnu joined,
tarbo2 joined,
irc.freenode.net sets mode: +o Matt-W,
kolibrie joined,
ashizawa joined,
nsh joined,
omega joined,
nbrown joined,
renormalist joined,
Jedai joined,
c9s joined,
mj41 joined,
pochi joined,
xinming joined,
ascent_ joined,
broquaint joined,
elmex joined,
Eevee joined,
cls_bsd joined,
jdv79 joined,
dfort joined,
kcwu joined,
allbery_b joined,
gbacon joined,
frodwith joined,
kst joined,
edenc joined,
revdiablo joined,
silug joined,
cavelife^ joined,
ilbot2 joined,
sbp joined,
DQuest joined,
lucs joined,
Lorn joined,
r0bby joined,
Gothmog_ joined,
moritz_ joined,
PZt joined,
diakopter joined,
cosimo joined,
gabiruh joined,
zostay joined,
Bucciarati joined,
nothingmuch joined,
rjh joined,
Trey joined,
Khisanth joined,
ingy joined,
obra_ joined,
integral joined,
PerlJam joined,
AzureStone_ joined,
gfldex joined,
Infinoid joined,
Aisling joined,
irc.freenode.net sets mode: +oo xinming PerlJam,
Helios joined,
Grrrr joined,
pmichaud joined,
s1n joined,
Woody2143 joined,
mtve joined,
cxreg joined,
pasteling joined,
awwaiid joined,
rafl joined,
StephenPollei joined,
arnsholt joined,
scrottie joined,
mattp joined,
hexmode joined,
irc.freenode.net sets mode: +o pmichaud
|
|||
pmichaud | 08:59 <viklund> perl6: my @a="".split(":"); @a.push(1);say @a.join(":") | 13:57 | |
08:59 <p6eval> pugs, rakudo c907d3: OUTPUT«:1» | |||
Not a bug. | |||
masak | viklund: <nelson>ha ha!</nelson> | ||
13:59
snarkyboojum joined
14:00
pmurias left
14:04
mizioumt1 left
14:05
mizioumt left,
`alpha joined
|
|||
`alpha | hello | 14:05 | |
14:05
mizioumt joined
|
|||
`alpha | would it be possible in perl 6 to get $1 out of grep ? | 14:05 | |
Tene | eh? | 14:06 | |
`alpha | well | ||
this does not compute in perl5 | |||
pmichaud | my @a = <apple beta gamma delta>; my @b = grep /e./, @a; say @b.perl; | ||
`alpha | perl -e '$v=sub {print shift};$v->($1) for grep {/(c)/} ("aa","bbcd","cdde");' | ||
pmichaud | rakudo: my @a = <apple beta gamma delta>; my @b = grep /e./, @a; say @b.perl; | ||
p6eval | rakudo c907d3: OUTPUT«["beta", "delta"]» | ||
pmichaud | rakudo: my @a = <apple beta gamma delta>; my @b = grep /(e.)/, @a; say @b.perl; | 14:07 | |
p6eval | rakudo c907d3: OUTPUT«["beta", "delta"]» | ||
pmichaud | rakudo: my @a = <apple beta gamma delta>; my @b = grep /e(.)/, @a; say @b.perl; | ||
p6eval | rakudo c907d3: OUTPUT«["beta", "delta"]» | ||
pmichaud | rakudo: my @a = <apple beta gamma delta>; my @b = grep /e(.)/, @a; for @b { say $_[0]; } | ||
p6eval | rakudo c907d3: OUTPUT«Method 'postcircumfix:[ ]' not found for invocant of class 'Str'» | ||
pmichaud | ...Str? Hmmpf. | 14:08 | |
oh, yes. | |||
map is probably your friend here | |||
`alpha | yes I know | ||
but grep has regex | |||
I just wonder why that regex does not provide $1 | |||
pmichaud | so does map | ||
`alpha | grep is better | 14:09 | |
pmichaud | rakudo: my @a = <apple beta gamma delta>; my @b = map /e(.)/, @a; for @b { say $_[0] if $_; } | ||
p6eval | rakudo c907d3: OUTPUT«tl» | ||
`alpha | it's like | ||
grep = map + if | |||
more suitable for some things | |||
pmichaud | rakudo: my @a = <apple beta gamma delta>; my @b = grep { /e(.)/ && $_ = $0 }, @a; for @b { say $_[0]; } | 14:10 | |
p6eval | rakudo c907d3: OUTPUT«Attempting to do sub operation on non-Sub.in method Any::grep (/tmp/tWuyKoLBB3:2)called from sub grep (src/gen_setting.pm:134)called from Main (/tmp/tWuyKoLBB3:2)» | ||
pmichaud | I have no clue what that means. | ||
`alpha | rakudo: say for <win rar>; | ||
p6eval | rakudo c907d3: OUTPUT«say requires an argument at line 2, near "for <win r"in Main (src/gen_setting.pm:2420)» | ||
`alpha | rakudo: say $_ for <win rar>; | 14:11 | |
p6eval | rakudo c907d3: OUTPUT«winrar» | ||
`alpha | rakudo: say ($_,$1) for grep {/i/} <win rar>; | ||
p6eval | rakudo c907d3: OUTPUT«Statement not terminated properly at line 2, near ">;"in Main (src/gen_setting.pm:0)» | ||
`alpha | rakudo: say ($_,$1) for grep {/i/}, <win rar>; | ||
p6eval | rakudo c907d3: OUTPUT«winUse of uninitialized value» | ||
`alpha | mk | 14:12 | |
so it still fails | |||
:( | |||
pmichaud | because $1 isn't defined there | ||
(1) you didn't capture anything | |||
(2) anything that gets captured by /i/ is going to be local to its closure | |||
`alpha | okay | ||
pmichaud | (3) a parenthesis capture will go first to $0 | ||
`alpha | orly | ||
masak | yarly | 14:13 | |
`alpha: see S05. | |||
`alpha | rakudo: my$x;say ($_,$x) for grep {/i/ && $x=$0}, <win rar>; | ||
p6eval | rakudo c907d3: ( no output ) | ||
`alpha clueless | |||
pmichaud | rakudo: say $_[0] if $_ for map /(i)/ , <win rar>; | ||
p6eval | rakudo c907d3: OUTPUT«i» | ||
`alpha | sigh | 14:14 | |
pmichaud | rakudo: say $_[0] if $_ for map /(i.)/ , <win rar trie simple>; | ||
p6eval | rakudo c907d3: OUTPUT«inieim» | ||
`alpha | grep must be capable of it. | ||
I dont know why it isnt. | 14:15 | ||
bummer. | |||
pmichaud | rakudo: my $x; say $x for grep { /i/ && $x=$/ }, <win rar>; | ||
p6eval | rakudo c907d3: ( no output ) | ||
pmichaud | rakudo: my $x; say $x for grep { /i/ && $x=~$/ }, <win rar>; | ||
p6eval | rakudo c907d3: OUTPUT«Use of uninitialized valueUse of uninitialized value» | ||
14:15
decasm joined
|
|||
pmichaud | rakudo: my $x; say $x for grep { /i/ && ($x=$/) }, <win rar>; | 14:15 | |
p6eval | rakudo c907d3: ( no output ) | ||
pmichaud | weird. | 14:16 | |
`alpha | yes it is | ||
:( | |||
and does not compute in perl 5 too | |||
pmichaud | my $x; for (grep { /i/ && $x=$_ }, <win rar>) { say $x; } | ||
oh, I know why. | |||
grep isn't lazy yet. | 14:17 | ||
dakkar | uh? it runs the closure for each element of the list, setting $x for each element | ||
then prints the last assignemnt | |||
pmichaud | so the entire grep is completing before the for loop starts. | ||
right. | |||
`alpha | O.o | ||
why? | |||
dakkar | I would have been surprised of a different behaviour | ||
`alpha: because grep has to build its result before returning it | |||
pmichaud | all of the iterations of grep are occurring before the "for" loop even starts. | 14:18 | |
`alpha | I see. | ||
bad bad bad/ | |||
dakkar | it ends up equivalent to: for <win rar> -> $_ { $x=$_ if /i/ }; say $x | ||
pmichaud | my @x; grep { /i/ && @x.push($/) }, <win rar>; .say for @x; | ||
rakudo: my @x; grep { /i/ && @x.push($/) }, <win rar>; .say for @x; | 14:19 | ||
p6eval | rakudo c907d3: OUTPUT«Use of uninitialized value» | ||
dakkar | now, this is a different problem :/ | ||
pmichaud | rakudo: my @x; grep { /i/ && @x.push(~$/) }, <win rar>; .say for @x; | ||
p6eval | rakudo c907d3: OUTPUT«Use of uninitialized value» | ||
`alpha tries in p5 | |||
dakkar | hmmm. | ||
pmichaud | rakudo: my @x; grep { @x.push(~$/) if /i/ }, <win rar>; .say for @x; | 14:20 | |
p6eval | rakudo c907d3: OUTPUT«Use of uninitialized value» | ||
dakkar | rakudo: "test" ~~ /(e.)/; say $/ | ||
p6eval | rakudo c907d3: OUTPUT«es» | ||
14:20
REPLeffect left
|
|||
pmichaud | anyway, doing the 'if' inside of the grep is equivalent to using map+if, so grep doesn't buy anything there. | 14:20 | |
`alpha | works in p5 | ||
the push trick | |||
dakkar | rakudo: my $x="test";given $x { /(e.)/; say $/ } | ||
p6eval | rakudo c907d3: OUTPUT«Use of uninitialized value» | 14:21 | |
pmichaud | yes, but if doing the push trick, might as well use map. | ||
dakkar | pmichaud: rakudobug? | ||
`alpha | true pmichaud | ||
not interesting | |||
:> | |||
pmichaud | dakkar: yes, that looks like a rakudo bug to me. Either that or I'm not following something obvious. | ||
14:22
snarkyboojum left
|
|||
pmichaud | rakudo: my $x = "test"; given $x { say $_; /(e.)/; say $/ } | 14:22 | |
p6eval | rakudo c907d3: OUTPUT«testUse of uninitialized value» | ||
dakkar | rakudo: my $x = "test"; given $x { say $_; $_ ~~ /(e.)/; say $/ } | ||
p6eval | rakudo c907d3: OUTPUT«testes» | ||
dakkar | ok, I'd say this is a minimal test case | ||
pmichaud | oh! | ||
`alpha | ah I know the solution | 14:23 | |
pmichaud | /(e.)/ isn't evaluating the regex because it's not in boolean context. | ||
`alpha | haha | ||
pmichaud | That's probably the rakudobug. | ||
`alpha | for p5 | ||
pmichaud | rakudo: my $x = "test"; given $x { say $_; ?/(e.)/; say $/ } | ||
p6eval | rakudo c907d3: OUTPUT«testUse of uninitialized value» | ||
pmichaud | rakudo: my $x = "test"; given $x { say $_; ?(/(e.)/); say $/ } | ||
`alpha | grep {/reg(ex)/ and func($_,$1)} @list | ||
p6eval | rakudo c907d3: OUTPUT«testUse of uninitialized value» | ||
pmichaud | hmmm, that's not it either, I guess. | ||
dakkar | `alpha: that works, but it's rather ugly | ||
`alpha | well it is | ||
heh | 14:24 | ||
pmichaud | note that (ex) captures to $0, not $1 | ||
`alpha | yes I got it | ||
I'm still p5 guy | |||
viklund | pmichaud: Not? | ||
pmichaud | viklund: Not. | ||
dakkar | I mean, you're doing a half-obfu of: for (@list) { func($_,$1) if /reg(ex)/ } | ||
viklund | ;) | ||
`alpha | :> | ||
true dakkar | |||
pmichaud | depending on whether the return value of func() is intended to be a selector to the grep | 14:25 | |
viklund | ahh, I get the string | ||
pmichaud | viklund: yes. | ||
dakkar | pmichaud: right, in that case the 'func inside grep' is useful | ||
viklund | luckily, I can't mail perl.org... | ||
dakkar | rakudo: my $x = "test"; given $x { say $_; /(e.)/ and say "ok\n$/" } | 14:26 | |
p6eval | rakudo c907d3: OUTPUT«testUse of uninitialized valueok» | ||
dakkar | ! | ||
14:27
DanielC left
|
|||
dakkar | it's not matching against $_ | 14:27 | |
14:28
sri_kraih joined
|
|||
`alpha dropped grep altogether | 14:29 | ||
/reg(ex)/ && $cref->($_,$1) for @list | 14:30 | ||
kthxbai | |||
14:30
`alpha left
|
|||
pmichaud | rakudo: my $x = "test"; given $x { say $_; m/(e.)/; say $/ } | 14:30 | |
p6eval | rakudo c907d3: OUTPUT«testUse of uninitialized value» | ||
pmichaud | bug. | ||
gotta run -- back later | 14:31 | ||
14:31
payload left
|
|||
masak submits rakudobug | 14:31 | ||
dakkar: unless you're already on it, of course. | 14:32 | ||
dakkar | masak: go on | ||
I should be working :) | |||
masak | rakudo: $_ = 'test'; say $_; m/(e.)/; say $/ | 14:33 | |
p6eval | rakudo c907d3: OUTPUT«testUse of uninitialized value» | ||
masak | bit simpler. | ||
dakkar | rakudo: $_ = 'test'; say $_; m/(e.)/; say "result: >$/<" | 14:36 | |
p6eval | rakudo c907d3: OUTPUT«testUse of uninitialized valueresult: ><» | ||
dakkar | better shows that the problem is in the match operation, not in the match/result object | ||
masak | how so? | 14:38 | |
14:42
tulcod left
14:43
justatheory joined
14:46
Psyche^ joined,
icwiener_ joined
14:47
zamolxes left,
icwiener left
14:48
barney left
14:49
barney joined
|
|||
dakkar | masak: it could have looked like the "uninitialized value" were $/ | 14:50 | |
14:50
lichtkind joined
|
|||
masak | but it does. | 14:50 | |
dakkar | uh… really? | ||
rakudo: $_ = 'test'; say $_; m/(e.)/; | |||
p6eval | rakudo c907d3: OUTPUT«test» | ||
dakkar | ok, I'm stupid :) | 14:51 | |
masak | probably just momentarily confused. :) | ||
jnthn | Good afternoon | ||
masak | oh hai jnthn! | ||
Matt-W | jnthn! | 14:53 | |
jnthn | pmichaud: (not-reading-any-email over the past 3-4 days / p6l) I'd save your time and not bother. ;-) | 14:54 | |
I wish I hadn't. | |||
Hi Matt-W :-) | |||
14:54
Patterner left,
Psyche^ is now known as Patterner
|
|||
jnthn | So, today's tasks...try and get mberends++ Temporal.pm into Rakudo. | 14:55 | |
And maybe look at BUILD, and try and work out some of the deferal test fails. | |||
masak | yay! | 14:56 | |
does that mean it's some kind of Rakudo day today? | |||
jnthn | No, just that I have a grant. :-) | 14:57 | |
masak has a deja vu | |||
jnthn | BUILD is sort of in the stuff in my grant. | ||
And deferal certainly is. | |||
.oO( deferal? deference? meh, my English sucks ) |
14:58 | ||
masak | deferral, I'd guess. | 15:02 | |
masak checks | |||
hm, deferral or deferment, it seems. | 15:03 | ||
learn Esperanto today! :) the language that doesn't put up with this kind of crap. | 15:04 | ||
jnthn | masak: Too bad, I'm learning Slovak instead. ;-) | 15:05 | |
masak | yes, it's probably a good idea not to mix. | 15:07 | |
15:08
ruoso joined
|
|||
jnthn | Esperanto may have been an easier option. | 15:08 | |
masak | ya think? | ||
anyway, I don't condone learning other languages. | |||
just saying Esperanto helped my meta-learning of languages a lot. | 15:09 | ||
jnthn | 'cus it's logical? | ||
masak | fsvo logical, yes. | ||
Tene | esperanto isn't logical. | ||
it's... it has issues. | 15:10 | ||
masak | no, it's not logical like, say, logic is. | ||
Tene | google for 'ranto' for a good summary. | ||
masak | a summary, at least. | ||
Tene | I'm a fan of lojban, though, so I have different biases. :) | ||
masak | the critiques in that one range from the on-the-spot to the very silly. | ||
lojban seems nice. but it's for a completely different target group than Esperanto. | 15:11 | ||
Tene | yeah | ||
jnthn should read up on them at some point to try and get the point/what they're about. | 15:12 | ||
Tene | esperanto's "language neutral" claim seems silly when you notice that it's very very european, with no notice whatsoever of asia. | ||
Patterner | ' as a character is strange. | ||
masak | Tene: that comes up a lot. I won't try to defend it. however, it is interesting to note that Eo has many isolating qualities, just like Mandarin and Japanese. | 15:13 | |
e.g. 'hospitalo' works as well as 'mal-san-ul-ejo' (place for people who are not well) | 15:14 | ||
15:16
nihiliad joined
|
|||
Tene | The other part that bugs me is the standard esperanto claim of an extremely simple language definition, when the language definition imports huge amounts (uses terms like "noun" and "verb" without defining them | 15:16 | |
) | |||
But, I'm rather picky. :) | |||
masak | indeed. the sixteen rules are just a facade. real grammar books are rather thicker. | 15:17 | |
Tene: on the other hand, the largest obstacle for me to learning Lojban is the complete reinvention of all grammatical terms. | |||
I've started looking at it at times, and it's... different. | 15:18 | ||
Tene | I wouldn't be working on Perl 6 if I wasn't very opinionated about languages. :) | ||
15:18
mizioumt left
|
|||
jnthn | So, but Temporal into the setting and we build. yay. :-) | 15:19 | |
15:20
donaldh left
|
|||
masak | \o/ | 15:20 | |
jnthn | temporal.t currently contains a fully copy of the module. | ||
Ah, with a comment saying that should go... | |||
Tene | What's this temporal thing? | ||
15:20
ssm left
15:21
donaldh joined
|
|||
jnthn | Tene: Date/time handling. | 15:21 | |
Tene | Relevant to this channel, I had a translation of the lojban grammar into perl 6 rules, but I lost it on a crashed HD. | ||
jnthn | Aww. :-( | ||
Oh noes...we fail test 18. | 15:22 | ||
Tene | rakudo: say "mu xagji sofybakni cu zvati le purdi" ~~ Lojban::#ridi | ||
p6eval | rakudo c907d3: OUTPUT«Could not find non-existent sub Lojban» | ||
Tene | Bridi | ||
Quite right, p6eval. Could not find indeed. | 15:23 | ||
[particle]- | that's kind of a funny error message | 15:25 | |
masak | [particle]-: Rakudo thinks that all undeclared things are subs. | ||
[particle]- | success: non-existant sub Lojban found! | 15:26 | |
15:26
_REPLeffect joined
|
|||
jnthn | masak: That's 'cus they are ;-) | 15:26 | |
[particle]- | masak: yeah, they are :) | ||
15:26
_REPLeffect left
|
|||
masak | nonexistent things are subs? | 15:26 | |
[particle]- | all of them. | ||
15:26
REPLeffect joined
|
|||
masak | Perl 6 never ceases to amaze me. | 15:27 | |
jnthn | rakudo: world-peace | ||
[particle]- | :) | ||
p6eval | rakudo c907d3: OUTPUT«Could not find non-existent sub world-peace» | ||
jnthn | See? | ||
masak | jnthn: do you agree that the error message is a bit tautological, though? | ||
15:27
meppl joined
|
|||
masak | of course we could not find the sub, it's non-existent! | 15:27 | |
[particle]- | we'll get better error messages with std | 15:28 | |
masak | ah, so we should just give up trying to improve them and wait for STD? :P | ||
[particle]- can't wait for next week, when he can start actively developing again | 15:29 | ||
masak: don't give up submitting bug reports! | |||
masak | of course no, don't be silly. :) | 15:30 | |
but I can't decide if there's something wrong with the error message or not... | |||
[particle]- | i kinda like how your bug reports are a de facto "this week in #perl6" | ||
the error message is silly. of course you can't find something that's non-existant | 15:31 | ||
and if it's non-existant, how do you know it's a sub? | |||
masak | so, how should it read, then? | ||
[particle]- | silly compiler. | ||
masak | "green colourless ideas sleep furiously." | 15:32 | |
[particle]- | 'world-peace' cannot be found. give up, and go home. | ||
jnthn | The original quote I think had colourless first. :-) | ||
15:32
alester joined
|
|||
jnthn | .oO( gah, I shouldn't know that ) |
15:33 | |
masak | jnthn: you're probably right. | ||
[particle]- | s/ideas/dreams/ | ||
but we know what you meant :) | |||
masak | yup: en.wikipedia.org/wiki/Colorless_gre..._furiously | ||
[particle]-: no, ideas. | |||
[particle]- | hrmm | ||
future. i just got back from the | 15:34 | ||
masak laughs at the subsection "Attempts at meaningful interpretations" | 15:35 | ||
15:36
mizioumt joined
|
|||
pugs_svn | r26995 | jnthn++ | [t/spec] Fudging of defer-call.t that I forgot to check in yesterday. Ooops. | 15:37 | |
jnthn | oh, gah, I had an out of date temporal.t | 15:40 | |
So actually we pass all. | |||
mberends++ | |||
viklund is glad that november now has reported bugs | 15:43 | ||
masak | indeed. lichtkind++ | 15:44 | |
now we just need to get back to hacking on november again. :) | |||
the last big thing I did was to add a nightly smoke. feather.perl6.nl/~masak/november-smoke.html | 15:45 | ||
need to upgrade the rakudo version I smoke against, now that it's possible. | |||
would be nice to smoke both against latest-release and bleeding every night. | 15:46 | ||
15:46
jan_ joined
|
|||
viklund | hmm, why not smoke all proto projects that have tests? | 15:46 | |
s/proto projects/projects proto knows about/ | 15:47 | ||
masak | viklund: that's a really cool idea. | 15:48 | |
but I am old and weak, and lack a sense of initiative... | |||
viklund | how does one smoke? | ||
masak | oh, how I wish there were young, entrepreneurial souls on this channel who like a good challenge! | ||
viklund: see my ~/bin on feather. | 15:49 | ||
viklund | ok | ||
and then you put that in cron? | |||
seems straight forward... | |||
masak | it is. | ||
15:51
payload joined
15:57
frew|wor1 left
|
|||
pugs_svn | r26996 | jnthn++ | [t/spec] Re-fudge something I prematurely unfudged. | 15:59 | |
pmichaud | 15:31 <[particle]-> the error message is silly. of course you can't find something that's non-existant | 16:02 | |
15:31 <[particle]-> and if it's non-existant, how do you know it's a sub? | |||
we know it's a sub because all undeclared barewords are assumed to be subs. | |||
16:02
frew joined
|
|||
jnthn | pmichaud: I think the issue was more about the "couldn't find" and "non-existent" :-) | 16:03 | |
16:03
frew left
|
|||
masak | exactly. | 16:03 | |
[particle]- | pmichaud: yes, that i know, jnthn is correct | ||
pmichaud | std: world-peace | ||
p6eval | std 26995: OUTPUT«Undeclared routine: world-peace used at 1 ok 00:02 35m» | ||
jnthn | But that's a compile time warning rather than a runtime error. | ||
pmichaud | at some point we'll be able to issue that warning as well, yes. | ||
16:03
frew joined
|
|||
dalek | kudo: 304ae9b | jnthn++ | t/spectest.data: Add defer-call.t and defer-next.t to spectest.data. |
16:03 | |
kudo: 11c1c84 | jnthn++ | : Merge branch 'master' of [email@hidden.address] |
|||
kudo: e5c8a34 | jnthn++ | (2 files): Add Temporal.pm to the setting. mberends++ |
|||
jnthn | Aye. | ||
16:03
frew left
|
|||
kudo: 12a6019 | jnthn++ | t/spectest.data: Add temporal.t to spectest.data. |
|||
jnthn | Whee. | ||
pmichaud: I'm looking at re-working BUILD a bit to be more like a sub-call kinda thing. | |||
pmichaud | jnthn: that's fine. | ||
jnthn | pmichaud: The main issue is that the default BUILD then doesn't quite know what the current class is so easily. | ||
16:04
frew joined
|
|||
pmichaud | oh, hmmm. | 16:05 | |
jnthn | smop seems to solve it by using a $*BUILD context var. | ||
erm, | |||
sorry | |||
$*CLASS | |||
pmichaud | I'm okay with using a context var for that for now. | ||
jnthn | See BUILD in svn.pugscode.org/pugs/v6/smop/src-s1p/Object.pm | ||
OK. It may even make sense as the long term solution. | |||
pmichaud | were you going to do BUILD in PIR or P6? | 16:06 | |
jnthn | PIR | ||
pmichaud | either way, it's no problem to get at the context var | ||
find_caller_lex does what you want. | |||
jnthn | I think we need it available for compiling the setting. | ||
Oh, The Awesome. | |||
The other thing I was going to ask you about on this topic... | |||
pmichaud | find_caller_lex will find any lexical, not only those that are marked "is context" | ||
jnthn | S12: | ||
Whether you write your own C<BUILD> or not, at the end of the C<BUILD>, | |||
any default attribute values are implicitly copied into any attributes | |||
that haven't otherwise been initialized. | |||
How do we text not-otherwise-initialized? | 16:07 | ||
*detect | |||
pmichaud | My approach had been that attributes would be left as PMCNULL until initialized | ||
jnthn | That epic fails though. :-( | ||
pmichaud | ...because? | ||
jnthn | And is the reason I already did the refactor of CREATE. | ||
masak | set them in the beginning of the BUILD. :) | ||
jnthn | Because submethod BUILD { $!name = "fido" } # oops, null PMC access | 16:08 | |
16:08
hanekomu left
|
|||
pmichaud | okay. | 16:08 | |
viklund | hah, I had almost forgotten how to read a file in perl5... | ||
jnthn | Also because of the refactor to CREATE already to use a kind of "proto-instance" so we'll be able to do the traits on containers later on. | ||
pmichaud | then this is what you want | ||
(more) | |||
viklund | parental leave and only perl6 hacking... | 16:09 | |
pmichaud | currently we initialize things to Perl6Scalar | ||
by default the Perl6Scalar references a common Failure object | |||
jnthn | (Or Perl6Array or Perl6Hash or whatever the "is" is) | ||
pmichaud | instead, we should make the Perl6Scalar reference some common "I'm not initialized yet" object. | 16:10 | |
[particle]- | ProtoFailure | ||
pmichaud | or for that matter, make a Perl6Scalar that points to PMCNULL | ||
null $P0 | |||
$P1 = new ['Perl6Scalar'], $P0 | |||
jnthn | I suspected that's where you were going, but it doesn't handle an uninitialized array or hash or other thingy. | ||
pmichaud | the only other option I can see is an "uninitialized" property on the PMC then | 16:11 | |
jnthn | And assignment clears it? | ||
pmichaud | yeah, but I'd hate for assignment to have to do that every time. | ||
jnthn | Yeah. :-| | ||
[particle]- | yeah, that's weighty | ||
pmichaud | I'm about to implement Proxy objects, though -- perhaps it can be done with a form of proxy. | 16:12 | |
jnthn | That could work. | ||
Alternatively | |||
We already have to check if it's rw | |||
erm, ro | |||
but you plan to flip that | |||
pmichaud | yes, but flipping that depends on proxy | ||
16:12
dakkar left
|
|||
pmichaud | (which in turn depended on fixing self-method calls, which I did yesterday :-) | 16:12 | |
jnthn | OK | 16:13 | |
pmichaud | anyway, you're correct, we already have to check it's rw. | ||
jnthn | But my thought is that when we'd give an error, we then as a fallback check another property. | ||
a "to_be_inited_attribute" | |||
pmichaud | We could have a special value of "rw" that means "rw but uninitialized" | ||
jnthn | At whcih point we clear that and enable rw | ||
So we're only doing one check as usual, and before we go to error we can check this other case. | 16:14 | ||
pmichaud | actually, I can envision several values of rw | ||
"rw but constant" being another | |||
[particle]- | write-once | ||
jnthn | Aye. | ||
OK, my sense is that if I put anything in now it'll only make you refactor more soon. | |||
pmichaud | I do like the "check on error" | ||
16:14
masak left
|
|||
pmichaud | I think we'll go for that approach. | 16:14 | |
jnthn | And we're not going to get More Wrong than we are now by skipping this step now. | 16:15 | |
pmichaud | I do expect my refactors to land soonish. | ||
jnthn | So I think best is I leave you go for the refactor you plan, and then one of us gets this in afterwards. | ||
And in the meantime, I'll just do the refactor to make BUILD work more like spec. | |||
pmichaud | that sounds like we have an excellent plan. | ||
jnthn | But not initialize the uninitializeds. | ||
pmichaud | And now I plan to head to lunch. | ||
jnthn | Wow, so many good plans! :-) | ||
pmichaud | (have to run -- I'm not in a place conducive to long discussions anyway). | 16:16 | |
bbiah | |||
16:17
finanalyst left,
pmurias joined
|
|||
pmurias | ruoso: is incremenatly adding features a good idea or should i follow some specific direction with my gsoc project? | 16:18 | |
ruoso: hi | |||
16:20
barney left
16:23
hanekomu joined
|
|||
jnthn | > class Foo { has $.answer; submethod BUILD { $!answer = 42 } } | 16:25 | |
> my $x = Foo.new; say $x.answer; | |||
42 | |||
lambdabot | <no location info>: parse error on input `class' | ||
<no location info>: parse error on input `=' | |||
jnthn | \o/ | ||
ruoso | hi pmurias | 16:26 | |
Tene | masak: I see you were talking about a branch trying to parse ver info on modules? | 16:28 | |
oh, enomasak | |||
ruoso | pmurias, let's take a look at the original roadmap | 16:29 | |
16:29
DanielC joined
|
|||
pmurias | ruoso: you mean the gsoc schedule? | 16:30 | |
ruoso | yes | ||
pmurias | it seems to suggest expanding Signature | 16:31 | |
16:32
pyrimidine joined
|
|||
pmurias | or i could make mildew support $! and finish Failures | 16:33 | |
ruoso | pmurias, let's take the gsoc schedule to the wiki, so we can detail it a bit more | 16:34 | |
ruoso creating a wiki page | 16:35 | ||
16:35
Patterner left
|
|||
Tene | jnthn: sweet | 16:35 | |
pmurias | bjj& # i'll be back later today | 16:36 | |
16:36
pmurias left
|
|||
ruoso | @tel pmurias www.perlfoundation.org/perl6/index...._gsoc_2009 | 16:37 | |
lambdabot | Consider it noted. | ||
Tene | jnthn: if that works now, it'll be your fault that I start working on my POE clone again. | 16:39 | |
16:40
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
jnthn | Tene: I found to pass BUILD.t I needed to do methods having a default *%_ too | 16:41 | |
Tene: Which was part of my grant, and which is now sufficiently done to pass the tests. | |||
spectesting now, the two changes :-) | 16:42 | ||
Also, I'm very happy to be to blame for progress on your POE clone. ;-) | |||
Tene | I have too much to work on... maybe I should quit my job. | 16:43 | |
16:45
donaldh left,
ZuLuuuuuu joined
|
|||
ruoso | @tell pmurias I think we don't need to support $! properly for starts, because this depends on the handling of additional closures in each block. I think we just need to throw exceptions, and that you already done... | 16:45 | |
lambdabot | Consider it noted. | ||
Tene | jnthn: did we ever get sufficient tests for exception behavior for me to implement it better? | 16:47 | |
16:52
lichtkind left
|
|||
jnthn | Tene: Well, one big issue (though I'm not sure about tests for it) is that at least return, maybe all control exceptions, are meant to be lexically, not dynamically scoped. | 16:55 | |
rakudo: sub foo { (1,2,3).map({ return "wtf" }); say "lolz I'm still here" }; foo() | 16:56 | ||
p6eval | rakudo 12a601: OUTPUT«Type check failed on return valuein method Any::map (src/gen_setting.pm:30)called from sub foo (/tmp/SPYK9F0sms:2)called from Main (/tmp/SPYK9F0sms:2)» | ||
jnthn | We there tried to return from the map, but should instead have returned from the lexically enclosing foo. | 16:57 | |
Tene | ah, that. | ||
pugs_svn | r26997 | jnthn++ | [t/spec] Unfudge for Rakudo an enum test we've been passing since the dispatch refactor. | 16:58 | |
jnthn | I think TimToady++ clarified another bit of the S04 recently too. | 16:59 | |
That related to exceptions. | |||
pugs_svn | r26998 | jnthn++ | [t/spec] Various corrections to BUILD.t. | 17:03 | |
17:05
mizioumt left
|
|||
dalek | kudo: 05a4a1c | jnthn++ | src/parser/actions.pm: Initial cut of giving methods and submethods a *%_ unless they already have a slurpy hash parameter, to meet Interface Consistency section of S12. |
17:09 | |
kudo: a17b297 | jnthn++ | src/ (2 files): Refactor BUILD to be more in line with the spec. This should resolve the most common issues people run into. |
|||
pugs_svn | r26999 | jnthn++ | [t/spec] Unfudge 4 tests that now pass after Rakudo started conforming to interface consistency section of S12. | ||
pyrimidine | \o/ | 17:10 | |
dalek | kudo: 7cfa196 | jnthn++ | t/spectest.data: Add S12-construction/BUILD.t to spectest.data; we now pass all of it. |
17:14 | |
17:18
DemoFreak joined,
cmarcelo left
|
|||
jnthn | std: say 1.infix:<+>(1) | 17:22 | |
p6eval | std 26999: OUTPUT«ok 00:02 36m» | ||
17:22
mizioumt joined
17:24
japhb left
17:28
iblechbot left
|
|||
pmichaud | jnthn++ # BUILD fixes and improvements | 17:28 | |
jnthn | pmichaud: For RT 64930, I don't think we can do a great deal. | 17:29 | |
pmichaud: I think best is to add a note on the Get Rakudo page about the workaround for the bug. | |||
And then resolve the ticket. | |||
17:30
estrabd left
|
|||
jnthn | It's a GCC bug, affecting a specific (and prerelease) version. So I'm not inclined to waste any more time looking for a workaround. | 17:30 | |
pmichaud | agreed. | ||
btw, I assigned a couple more tickets to your id yesterday. :-P | |||
jnthn | (I already did try on the laptop of a local friend to work around it and no fun...) | ||
oh noes! | 17:31 | ||
erm, no luck | |||
Sark | std: say 'this is a test' | 17:32 | |
p6eval | std 26999: OUTPUT«ok 00:02 35m» | 17:33 | |
Sark | std: loop(my $i=0;$i<= 100000;$i++){}; say 'im finish' | 17:34 | |
p6eval | std 26999: OUTPUT«##### PARSE FAILED #####Unable to parse quote-words subscript; couldn't find right angle quote at /tmp/zIKeGymg9y line 1:------> FAILED 00:02 36m» | ||
Sark | tz | 17:35 | |
is perl6 on a loop faster than perl5 ? | 17:37 | ||
pmichaud | rakudo is slower at the moment. | 17:38 | |
perhaps even much slower | |||
17:39
DanielC left
|
|||
StephenPollei | rakudo: loop(my Int $i=0;$i<= 100;$i++){}; say 'im finish' | 17:39 | |
p6eval | rakudo 12a601: OUTPUT«im finish» | ||
TimToady | that shouldn't work | ||
two ways | |||
needs whitespace after loop and before <= | 17:40 | ||
rakudo's parser is being too forgiving there | |||
StephenPollei | rakudo: loop (my Int $i=0; $i <= 100;$i++){}; say 'im finish' | 17:41 | |
p6eval | rakudo 12a601: OUTPUT«im finish» | ||
17:41
DanielC joined
|
|||
TimToady | std: loop (my Int $i=0; $i <= 100;$i++){}; say 'im finish' | 17:41 | |
p6eval | std 26999: OUTPUT«ok 00:02 36m» | ||
jnthn | pmichaud: done | ||
TimToady | perl 6 distinguishes control stuctures from ordinary sub calls, and loop() would be a sub call | 17:42 | |
*structures | |||
DanielC | Is Perl 6 going to have C bindings like Perl 5? Is it hard to get all the implementations to have the same C bindings? | ||
I'm thinking of all the performance-intensive modules that use C. | |||
TimToady | eventually | ||
DanielC | Oh, and the modules that hook up to C libraries... | 17:43 | |
TimToady | but also eventually, we hope to be able to compile Perl down to nearly as fast as C | ||
17:43
estrabd joined
|
|||
DanielC | perl as fast as C == good | 17:43 | |
TimToady | if you're willing to supply sufficient type info | ||
jnthn | And somebody is willing to write a sufficiently good type based optimizer. ;-) | ||
TimToady | will probably also need pragmas to tell it where it's allowed to cheat | 17:44 | |
PerlJam | jnthn: looks like you're set for grant money for the next decade or so ;) | ||
pmichaud | PerlJam: I think the bottleneck there may be "having sufficient grant resources" | ||
but assuming they're available, then yes, jnthn++ is set :-) | |||
DanielC | That means that you won't have to go to the Parrot level for performance either... | ||
But in any case, you still need C bindings to use all the C libraries that are around. | 17:45 | ||
PerlJam | perhaps. TPF has always seemed to come up with "grant resources" one way or another. | ||
DanielC | So I'm wondering if having multiple implementations would create a problem for C bindings (e.g. having each implementation do it differently). | 17:46 | |
pmichaud | PerlJam: I have about 4+ years of working on Parrot/Perl6 that says otherwise :-) | ||
make that 3+ years | 17:47 | ||
StephenPollei | well swig can make binding for different languages, so I think you could make it work with multiple different binding styles, but then again you could try to standardize on one style | ||
DanielC | StephenPollei: So I guess that if nothing else, people can at least use swig. | 17:49 | |
[particle]- | as long as swig has the right emitter | 17:50 | |
17:50
pmichaud sets mode: +o TimToady
|
|||
StephenPollei | emitter(s) , it would be helpful for them to not duplicate similar emitters | 17:50 | |
jnthn | rakudo: class P { submethod foo() { say "wtf" } }; class C is P { }; C.new.foo | 17:53 | |
p6eval | rakudo 7cfa19: OUTPUT«Method 'foo' not found for invocant of class 'C'» | ||
jnthn | Yay. | ||
rakudo: class P { }; class C is P { submethod foo() { say "wtf" } }; P.new.foo | 17:54 | ||
p6eval | rakudo 7cfa19: OUTPUT«Method 'foo' not found for invocant of class 'P'» | ||
jnthn | Good. | ||
goto DINNER; | 17:55 | ||
17:56
Chillance joined
|
|||
pmichaud | jnthn: be sure to take a continuation so that you can easily get back here!!! :-) | 18:03 | |
18:07
elmex left
|
|||
rjh | it's too late, he's already left this lexical scope | 18:09 | |
DanielC | S30 (Standard Library) is not written yet. Does that mean that currently there is no definition of such functions as open() and chdir() ? | ||
StephenPollei | rakudo: chdir('.') | 18:10 | |
p6eval | rakudo 7cfa19: OUTPUT«Could not find non-existent sub chdir» | ||
pmichaud | DanielC: S32 has most of it. | 18:11 | |
DanielC | thanks | ||
pmichaud | fwiw, I can easily write a chdir() but I'm not sure what package it belongs in. | ||
DanielC | rakudo: open("/etc/passwd") | 18:12 | |
p6eval | rakudo 7cfa19: OUTPUT«operation not permitted in safe modein Main (lib/Safe.pm:25)» | ||
[particle]- | DINNER: | 18:13 | |
DanielC | Well, looks like open() is available. | ||
[particle]- | is jnthn back now? ;) | ||
pmichaud | I think it might be a lazy goto. | 18:14 | |
[particle]- | buubot: spack chdir | ||
buubot | [particle]-: Sorry, I couldn't find any matches for: chdir | ||
DanielC | How do I get the file handle out of open()? Is it $FH = open("foo.txt",true) ? | ||
pmichaud | my $fh = open('foo.txt', :r) | 18:15 | |
DanielC | thanks | ||
and then I print with print $fh,"hello world"? | |||
say $fh,"hello" | 18:16 | ||
pmichaud | $fh.print('hello world') | ||
DanielC | thanks | ||
pmichaud | $fh.say('hello world') | ||
StephenPollei | so does that mean there might be a 'os' and/or 'posix' package so the global namespace doesn't get too polluted? | ||
pmichaud | I don't know if the functional form of printing to a filehandle works yet (ever?) | ||
StephenPollei: well, I'm more interested in knowing the Package so I know what source file in Rakudo should receive the code :-) | 18:17 | ||
[particle]- | say $fh: 'hello' | 18:18 | |
is there prior art in pugs? | 18:19 | ||
rjh | Is it okay that Junction.eigenstates returns a ResizablePMCArray? Or is that a fudge until you have a read-only Perl 6 list object | ||
[particle]- | that should not be a native parrot pmc, but i don't know the reason it is that way now | 18:20 | |
StephenPollei | rakudo/src/builtins/io.pir has open, but I don't think chdir should go there | ||
rakudo/src/builtins/posix.pir maybe? | 18:21 | ||
DanielC | Can I run $fh.slurp? | 18:26 | |
18:27
justatheory left
18:28
japhb joined
18:29
payload left
18:30
payload joined
|
|||
pmichaud | I'm wanting chdir() (and eventually open()) to appear in src/setting/ somewhere. | 18:33 | |
we're trying to move things out of src/builtins except for those things that _have_ to be there (i.e., are too specific/complex to be handled in src/setting/) | |||
StephenPollei | ok yes I see IO/ and IO.pm there now and lots of things that appear to be associated with types | 18:34 | |
IO.pm has close but not open | 18:35 | ||
setting/IO/Socket and setting/IO/Socket.pm .. so I still don't think chdir and many of the old perl5 functions that were posixy should go there | 18:37 | ||
18:37
iblechbot joined
|
|||
StephenPollei | "chdir", "chmod", "chown", "chroot", "fcntl", "ioctl", "link", "lstat", "mkdir", "open", "opendir", "readlink", etc etc .. some of the old perl5 functions were very posixy | 18:39 | |
pmichaud | oh, I think that open() belongs in IO, definitely. | 18:41 | |
I haven't gotten around to moving that one yet. | |||
StephenPollei | sure but what about ioctl, chroot, getpwent, waitpid | 18:43 | |
pmichaud | right, I don't know where those belong. | 18:44 | |
I'm not opposed to creating IO::POSIX for now as a place for them. | 18:45 | ||
StephenPollei | yes open should go in IO.pm most likely, I just wonder about the rest, even chdir could go in IO if you strentch IO to be all file related stuff | ||
pmichaud | or even just POSIX | ||
doesn't have to be "official" yet -- this is one of those places where any implementation (even if it's ultimately wrong) probably trumps "no working implementation" | |||
It's easy enough to change later, too. | |||
StephenPollei | OS::POSIX OS::WIN maybe | 18:46 | |
pmichaud | I'll go with that for now. | ||
well, I don't want to get too os-specific yet. | |||
StephenPollei | k and perl5 did emulate the other functions on other platforms iirc | 18:47 | |
pmichaud | correct, as does Parrot. | ||
besides, iirc POSIX describes an API, not an OS. | |||
StephenPollei | true true api not os .. otherwise it would be OS:Unix and OS:Win | 18:48 | |
DanielC | rakudo: pack() | 18:51 | |
p6eval | rakudo 7cfa19: OUTPUT«Could not find non-existent sub pack» | ||
DanielC | Are pack() / unpack() gone in Perl 6 or just not implemented in Rakudo? | ||
pmichaud | I seem to recall a leaning towards "gone" | 18:52 | |
I think this came up recently either here or on p6l | |||
DanielC | I don't need pack(). I just want to know if it's ok to make a function called pack() and want to know if it'll conflict. | ||
jnthn | pmichaud: Error: continuation trying to jump from runloop 'relax' to runloop 'perl6' | ||
;-) | |||
pmichaud | jnthn: D'oh! | ||
Those parrot runloops are always causing us trouble! | |||
TimToady | actually, the original goto had an undefined label; needed goto 'DINNER' for forward ref | 18:53 | |
pmichaud | jnthn: BTW, I have to take a brief moment to say "Wow." on getting the new dispatch stuff in place. | ||
That is a truly impressive achievement, in my book. | |||
jnthn | pmichaud: You like it? | 18:54 | |
pmichaud | I haven't looked at the code (don't necessarily want to :-), but the fact that it works at all is.... nice. | 18:55 | |
jnthn | It's probably more right than wrong, and it's certainly more right than before. :-) | ||
I've got a good bit of thinking to do on the roles stuff. | 18:56 | ||
pmichaud | if it weren't for the fact that you said you were going to do it, I would've doubted it could be done at all in current Parrot. | ||
jnthn | TimToady: Actually, you may have some thoughts here. | ||
The issue I ran up against that I'm not happy I've a good answer to yet is: | |||
"What methods on a role are punned?" | |||
For example. We can't pun ACCEPTS, otherwise we blow away type checking on the role. | 18:57 | ||
We run into issue with .WHAT too, but that one goes away when we make it really a macro and not a method. | |||
Ah, and .Scalar and .list got us into trouble too... | 18:58 | ||
TimToady | perhaps ACCEPTS is only ever called on defined patterns | ||
pmichaud | .Scalar is a rakudo-only thing. | ||
jnthn | .list isn't... | ||
pmichaud | correct. | ||
hopefully .Scalar will disappear in the capture/list refactors. | 18:59 | ||
jnthn | At the moment I kinda have a pun blacklist. | ||
But Perl 6 + special list = oh noes, generally. | |||
I have the same kinda situation with Whatever too. | |||
Generally, a method call on it should make a closure. | |||
But equally *.ACCEPTS doing that gets us into all kinds of bother. | 19:00 | ||
pmichaud | for Whatever methods, it might be worth thinking about autoload semantics. | ||
jnthn | And again, a blacklist controls it. | ||
pmichaud: Maybe - can you elaborate? | |||
TimToady | well, I've wondered whether *.foo in general should be hardwired at compile time | ||
pmichaud | there's a way to autoload methods | 19:01 | |
for classes | |||
i.e., $foo.bar( ) could refer to a method that needs to be autoloaded at runtime | |||
if that's the case, then *.bar() is something of a "generate this method at runtime" sort of thing. | |||
jnthn | pmichaud: Been there, tried it that way too. :-( | ||
pmichaud: Whatever ~~ Any | |||
pmichaud: Any has a bunch of methods that we'd rather like to make closures out of. | 19:02 | ||
19:02
mberends joined
|
|||
TimToady | I think *.foo wants hardwiring because of the arguments anyway | 19:02 | |
19:02
justatheory joined
|
|||
jnthn | Unless the AUTOLOAD takes precedence over the method search rather than being a fallback. | 19:02 | |
TimToady | otherwise you eval the args too early | ||
pmichaud | TimToady: very good point, thanks. | ||
Yes, it does sound like *.foo is syntactical then. | |||
TimToady | *.foo(bar()) wants to be { $^a.foo(bar()) } | 19:03 | |
pmichaud | I think we also ran into a similar thing | ||
jnthn | TimToady: That's a really good point, though we've only moved the blacklist to the compiler. | ||
pmichaud | where *.foo.bar wants to be { *.foo.bar } and not { *.foo }.bar | ||
jnthn | (No bad thing for performance of course. But still doessn't solve the Other Issue.) | ||
pmichaud: We could probably deal with transforming the whole chain at compile time. | 19:04 | ||
TimToady | I think there's a defined/undefined criterion on parameters that determines whether they will bind abstractly or concretely | ||
jnthn | TimToady: Sorry, I don't follow. | ||
TimToady | multi method ACCEPTS ($self where {not .defined}: $targ) is the abstract interface | 19:05 | |
multi method ACCEPTS ($self where {.defined}: $targ) is the concrete interface | |||
but perhaps with sugar | |||
pmichaud | or perhaps even | ||
multi method ACCEPTS (Defined $self: ... ) | |||
jnthn | OK, but if we're saying we're going to do the Whatever transformation int he compiler, we can't statically know whether we have something defined. | 19:06 | |
Oh, or maybe it's not a problem there... | |||
pmichaud | or, for that matter | ||
jnthn | Since we'd never write *.ACCEPTS when we wanted to type check. | ||
TimToady | *.foo is just sugar, doesn't have anything to do with dispatch now | ||
jnthn | Or smart-match | ||
Right. | |||
pmichaud | multi method ACCEPTS (Abstraction $self: ... } # abstract interface | ||
jnthn | OK, so that solves the whatever problem. | ||
19:06
REPLeffect left
|
|||
jnthn | The role punning one is still interesting though. :-) | 19:07 | |
TimToady | remember we once had a discussion about meta vs method vs metamethod, but I see them as parameter constraints now | ||
pmichaud | Yes, that seems to work for me. | ||
I like the notion of using the Abstraction role to distinguish. | |||
jnthn | I agree with that. | 19:08 | |
pmichaud | but defined/undefined works for me too. | ||
TimToady | may be unifiable | ||
jnthn | I agree it solves the problem of ACCEPTS on type-y things vs none-type-y things. | ||
I'm just not quite straight on how it solves the role punning issue yet. | |||
ruoso | the Abstraction role would mean that the undefined object is of a different type from the defined object | 19:09 | |
jnthn | ruoso: It already is in Rakudo anyway. | ||
We've always had the proto-object as "an instance plus a role" | |||
ruoso | I'm aware of that... but I thought we already had agreed that this poses a problem... | 19:10 | |
pmichaud | however, it's possible for us to make Abstraction into a subset instead of a role, though. | ||
jnthn | ruoso: I'm struggling to remember exactly why. | ||
19:11
elmex joined
|
|||
ruoso | jnthn, Dog{ :name<Fido> } | 19:11 | |
pmichaud | ruoso: that by itself doesn't pose a problem for us. | ||
19:11
REPLeffect joined
|
|||
ruoso | conceptually, the only difference between Dog{ :name<Fido> } and Dog is the WHENCE | 19:11 | |
pmichaud | Sure, no problem. | 19:12 | |
jnthn | Right. | ||
pmichaud | unless we say that Dog{ :name<Fido> } isn't an Abstraction. | ||
ruoso | well... it certainly isn't a "Abstraction" | ||
in a semantic sense | |||
it's a soon-to-be object | |||
pmichaud | afaik, it's still not a specific concrete instance, though. | 19:13 | |
anyway, we could naively start with the notion that subset Abstraction where { .defined } | |||
TimToady | that's correct, the Dog role may be impossible to pun into a class on its own | ||
not defined | |||
pmichaud | sorry, where !defined | ||
19:14
lichtkind joined
|
|||
TimToady | Dog{} is also related to lvalues that can autovivify somehow | 19:14 | |
pmichaud | well, Dog is that way too, yes? | ||
my Dog $x; $x is something that can autovivify to a concrete Dog | |||
TimToady | there's extra potential work to be done by the closure | ||
to install itself into the array/hash where it's missing | |||
mberends | viklund: should november-wiki.org be down? (it is) | 19:15 | |
lichtkind | mberends: started you any effort ? :) | 19:22 | |
19:22
mizioumt1 joined
|
|||
jnthn | Does my $x = Dog{}; $x.method cause $x to become an instance, then? | 19:22 | |
lichtkind | jnthn: did you said anything after the laughter? | 19:23 | |
pmichaud | S12: | ||
my $dog = Dog{ :name<Fido> }; | |||
defined $dog or say "doesn't exist"; # Fido doesn't exist | |||
$dog.wag() # Fido wags his tail | |||
jnthn | OK, and then defined $dog is true? | 19:24 | |
lichtkind: No, I just laughed. | |||
mberends | lichtkind: it was your arrival today that made me curious about your tutorial pages. I would like to help you with some content there. | ||
lichtkind | jnthn: thats healthy | ||
mberends: allright you mean some bits in the perl 6 kompendium not translate? | 19:25 | ||
pmichaud | S12 doesn't say that, but I suspect "yes". | ||
jnthn | pmichaud: OK. That's not so hard to handle. | ||
pmichaud | it's much easier now with our custom dispatcher :-) | 19:26 | |
jnthn | Yeah, quite. | ||
I don't see how it gets in the way of us doing proto-objects being plus a role though. | |||
pmichaud | Agreed. | ||
mberends | lichtkind: both, probably, small things initially as we find out what is needed. | ||
jnthn | I might try and get that in place at some point in the not too distant future anyway. | 19:27 | |
Just so we Know We Can. | |||
pmichaud | Good. | ||
or better | |||
+1 | |||
lichtkind | mberends: good last days i put my p6 tutorial onlike and konverted it from pod to wiki syntax | 19:28 | |
mberends: maybe you can translate the appendices that can be done in small portions | |||
pmichaud | opensourcebridge.org/ # huh?!? This got schedule on top of YAPC::NA ?!? | ||
jnthn | pmichaud: By the way, we are now down to only one =head1 level section of S12 that we don't have coverage of in Rakudo yet. | ||
19:28
pmurias joined
|
|||
jnthn | pmichaud: (As in, no coverage at all. Not implying we have complete coverage of all the others!) | 19:29 | |
pmichaud | oh, I guess it's not directly on top of YAPC::NA, just tight for PVWM folks. | ||
StephenPollei | jnthn, thats good for me as I was seriously thinking of helping write some tests | 19:30 | |
pmichaud | Tests++ | ||
ruoso | pmichaud, jnthn, Dog{...} is not defined... but my point was about semantics... | ||
lichtkind | mberends: you know what i mean? | 19:31 | |
pmichaud | ruoso: I tend to think of Dog{ :name<fido> } as still not being a complete dog, and thus it's an abstract concept. | ||
but I can see the other side of it as well. | |||
pmurias | back | ||
lambdabot | pmurias: You have 2 new messages. '/msg lambdabot @messages' to read them. | ||
[particle]- | pmichaud: so tight, i couldn't give a talk there :( | ||
pmichaud | I hadn't even heard of it until a few minutes ago (got a message from one of the python lists) | 19:32 | |
ruoso | pmichaud, usually I'm not going to use Dog{...} to create new objects... it is already the object that is going to be completed | ||
[particle]- | perl 6 desperately needs tests. rakudo is passing >68% of spectests | ||
ruoso | i.e.: Dog === Dog{...} is false | ||
mberends | lichtkind: ok, are you referring to Perl (6) Tablets at perlfoundation.org? | ||
[particle]- | who thinks rakudo is >68% done? | ||
lichtkind | mberends: yes | ||
19:33
REPLeffect left
|
|||
jnthn | [particle]-: Define "done". | 19:33 | |
mberends | lichtkind: fine, got an account there recently, so translating/editing should be fine :) | ||
TimToady | Dog{} is like Dog.assuming({}) or some such | ||
[particle]- | jnthn: passing STD.pm:ver<6.0.0> | ||
er, *using* | 19:34 | ||
and passing all spec tests. | |||
pmichaud | Who thinks that Perl 6.0.0 is >68% done? ;-) | ||
[particle]- | exactly! | ||
lichtkind | mberends: so you begin with appendix A ? | ||
TimToady | I think it's >68.5% done | ||
ruoso | TimToady, hm? I would expect that to be more implementation specific than that... i.e. using the REPR API | ||
[particle]- | timtoady: Perl 6.0.0? or STD.pm. | ||
pmurias | sub my_first ($x, $, $ ) { $x }; | ||
is valid Perl 6? | 19:35 | ||
TimToady | I said it was "like" | ||
ruoso | std: sub my_first ($x, $, $ ) { $x }; | ||
jnthn | std: sub my_first ($x, $, $ ) { $x }; | ||
p6eval | std 26999: OUTPUT«ok 00:02 37m» | ||
jnthn | Yes. | ||
I thought so. | |||
rakudo: sub my_first ($x, $, $ ) { $x }; | |||
p6eval | rakudo 7cfa19: ( no output ) | ||
jnthn | rakudo: sub my_first ($x, $, $ ) { $x }; say myfirst(2,3,4); | ||
p6eval | rakudo 7cfa19: OUTPUT«Could not find non-existent sub myfirst» | ||
ruoso | that simply requires the parameters but don't use it? | ||
jnthn | rakudo: sub my_first ($x, $, $ ) { $x }; say my_first(2,3,4); | ||
mberends | lichtkind: yes, that's a useful one to start with, and it is ok to do it in little pieces. | ||
p6eval | rakudo 7cfa19: OUTPUT«2» | ||
jnthn | ruoso: yes | ||
pmichaud | \o/ # rakudo ftw | 19:36 | |
rakudo: sub my_first ($x, @, @) { $x }; say my_first(2,3,4); | |||
p6eval | rakudo 7cfa19: OUTPUT«Parameter type check failed; expected something matching Positional() but got something of type Int() for @ in call to my_firstin sub my_first (/tmp/Dtc4t6XKCQ:2)called from Main (/tmp/Dtc4t6XKCQ:2)» | ||
ruoso | pmurias, if I were to set a first goal for Multis would be to allow native type checking only... | ||
pmurias, full type checking is probably better done after we bootstrap ClassHOW | |||
jnthn | rakudo++ | ||
Sark | use perl6 the parrot VM maschine? | 19:37 | |
jnthn | Sark: Rakudo uses the Parrot VM. | ||
Sark: Perl 6 is the language spec, not an implementation. But Rakudo is a Perl 6 implementation using Parrot. | 19:38 | ||
lichtkind | mberends: and it will be an advantage to have a nice operator table for perl 6 downside is only that we make the chapter later and have than to touch alle links again | ||
Sark: ertappt | |||
19:40
REPLeffect joined
19:41
justatheory left
|
|||
jnthn | pmichaud: Pondering doing Rakudo day on Friday (tomorrow is way too many distractions) - will you be about at all? | 19:41 | |
pmichaud | yes, I think Friday is good for me also. | ||
jnthn | OK | 19:42 | |
Any interest in trying to work together on getting context vars in? | |||
pmichaud | I think tomorrow is okay, too, but my schedule may get really weird over the next few weeks | ||
context vars isn't that hard, I don't think. | |||
But I think we might want 'rw' first | |||
jnthn | Ah, OK. | ||
pmichaud | anyway, my plan is that "my $x is context" creates two entries in the lexpad | 19:43 | |
pmurias | ruoso: i think i'll first flesh out Signature, what i'm unsure if i should add syntactic support to mildew now | ||
pmichaud | one for $x, another for $*x | ||
jnthn | Ooh, that's an interesting idea. | ||
mberends | lichtkind: :-) there are sure to be more downsides if that sort. You can get help for your operator table from this excellent Periodic Table: www.ozonehouse.com/mark/periodic/ | ||
jnthn | Then we look for $*x? | ||
Cunning! | |||
pmichaud | the $*x entry is an ObjectRef to $x | ||
jnthn | I really like that. | ||
pmichaud | or it may just be bound | 19:44 | |
ruoso | pmurias, some support, yes... | ||
pmichaud | bound actually works, I guess | ||
jnthn | What about re-binding of one? It should affect the other (managable). | ||
ruoso | pmurias, maybe it's a good idea to point out which Signature features you plan to implement | ||
pmichaud | anyway, a lookup is then a call to a function that does find_caller_lex, followed by looking in various globals, followed by looking in %*ENV | ||
ruoso | pmurias, eventually we choose a subset of features that will enable the ClassHOW bootstrap | ||
lichtkind | mberends: i know that one my boy im in this buisness for ages :) but the idea behind appendix A is to have all command operators and terms explained in one index so every time someone thinks i dunno he can loopup there, i would like to have switches on top: just ops and so on | 19:45 | |
jnthn | pmichaud: Sounds good. | ||
lichtkind | mberends: plus we have links in our table where everyting is explained in more detail | ||
pmichaud | that's how I expect it to ultimately work in the PCT/NQP case, at any rate, even if it doesn't work out that way for Rakudo in the long term. | ||
jnthn | pmichaud: (schedule) I'm not going to notice some of the next few weeks anyway, since I'm here for about a week more and then gone for vacation. | 19:46 | |
pmichaud | right. My schedule is tricky because it can change for me with little notice | ||
jnthn | OK, we can take it as it comes. | 19:47 | |
19:47
mizioumt left
19:48
justatheory joined
|
|||
pmurias | ruoso: slurpies, named, optional and mandatory positionals and a type check should be for most of our needs | 19:50 | |
ruoso | native type check suffices | ||
? | |||
pmichaud | in fact, if I disappear suddenly from the channel -- more likely then not I've been called a way from the keyboard for something "urgent" | ||
s/a way/away/ | |||
s/then/than/ | |||
s/pmichaud/someone who can't seem to spell or type correctly anymore/ | 19:51 | ||
ruoso | pmurias, one thing about Failures that we could do would be to replace the UNKNOWN_METHOD and missing lexical thingy to throw a proper exception instead of simply abort()'ing | 19:52 | |
pmurias | ruoso: the distinction between native and non-native type check depends on the object that the Param has as it's .type attribute | 19:53 | |
ruoso | pmurias, I would say we could have a special param type for natives | 19:54 | |
since its checking is so different... I mean... no need for calling .ACCEPTS | |||
and you also can know at compile time that (int $x) is a signature asking for a native type | |||
lichtkind | mberends: do you currently editing? | 19:56 | |
mberends | lichtkind: just opened Appendix A in edit mode, no changes to save yet. | 19:57 | |
lichtkind | mberends: because i fix some formating thing currently | ||
just 10 min | |||
mberends | np :) | ||
ruoso | pmurias, so anyway... I think having those features pointed, it would be nice to have'em implemented in mildew too | ||
19:58
REPLeffect left
|
|||
[particle]- will miss the phone call today | 19:59 | ||
pmichaud | phone | 20:01 | |
[particle]- hopes jnthn makes it today | 20:02 | ||
20:02
REPLeffect joined
|
|||
jnthn | Who? Me? What? :-/ | 20:05 | |
jnthn still needs to sort out the hardware for that | |||
20:13
silug left
|
|||
pmurias | how can i make git show a diff for a resolved file (i called git mergetool) | 20:13 | |
20:14
amoc left
|
|||
Tene | pmurias: what exactly do you want to show? | 20:17 | |
lichtkind | mberends: ready now and if you finished today you can keep on with wiki.perl-community.de/cgi-bin/fosw...felAnhangB :) | 20:18 | |
20:21
levooe joined
20:22
amoc joined
|
|||
mberends | lichtkind: Appendix A will not be finished today ;) You've done an outstanding and huge job, and I need some time to check many of the terms that are listed which I may not understand yet. | 20:22 | |
levooe | so nobody talks haskell in here anymore?:/ | ||
lichtkind | mberends: yes its german :) | 20:23 | |
mberends: thanks | |||
20:23
pmurias left
|
|||
lichtkind | mberends: sorry just pressed save now | 20:23 | |
20:24
pmurias joined
|
|||
pmurias | Tene: i don't want git diff to ignore the resolved file | 20:24 | |
20:27
amoc left
20:29
amoc joined
|
|||
mberends | lichtkind: ok, I'll start at the bottom and work my way up, so that English readers don't get a shock on the way down. It's not only the German that's sometimes hard, it's also the Perl ;) | 20:30 | |
20:31
levooe is now known as erool,
erool is now known as slve
|
|||
lichtkind | mberends: you can also ask me, next days i will put my perl 6 tutorial (its written more like story) also into the english and come later back | 20:31 | |
Tene | pmurias: git diff --cached? | ||
mberends | lichtkind: excellent | 20:32 | |
20:32
pyrimidine left
|
|||
lichtkind | mberends: its here wiki.perl-community.de/cgi-bin/fosw...l6Tutorial | 20:32 | |
20:33
amoc left
|
|||
mberends | lichtkind++: Wow, that's a tremendous opus! We need that in English! | 20:34 | |
lichtkind | mberends: you read it? | 20:35 | |
mberends | lichtkind: Skimming :) Well done. Have you any experience with machine translation? | 20:37 | |
lichtkind | mberends: no | ||
mberends | I'll try babelfish, not sure how good it will be, but it might speed the process. | 20:38 | |
20:39
amoc joined
20:40
tulcod joined
20:42
silug joined,
slve left
|
|||
lichtkind | i prefer manual | 20:43 | |
mberends: unfortunately TPF didnt want give a grant in other way it would be translated long ago | 20:44 | ||
20:45
clintongormley left
20:47
unitxt left
|
|||
mberends | lichtkind: uk.babelfish.yahoo.com/ did fairly well, but it definitely needs manual correction. The generated output is also not wiki formatted. | 20:48 | |
lichtkind | mberends: is that text good? www.perlfoundation.org/perl6/index....6_tutorial | ||
20:49
unitxt joined
|
|||
pmichaud | @a[2,3,4] versus @a[2;3;4] | 20:51 | |
lambdabot | Unknown command, try @list | ||
mberends | lichtkind: >98% good :) "for $foo magazine" "until autumn 2009" "editing is being done" "if you would like" | 20:52 | |
lichtkind | mberends: thanks thatswhy i need help, but i think afterwards i have better english skills and you better german | 20:54 | |
20:54
sri_kraih left
|
|||
mberends | yes, definitely :-) | 20:54 | |
lichtkind | mberends: now all is fixed www.perlfoundation.org/perl6/index....6_tutorial | 20:58 | |
mberends | lichtkind: looks 100% perfect to me :) | 20:59 | |
Tene | pmichaud: ping | 21:00 | |
lichtkind | mberends: except this teil i tranlated it to part :) | ||
mberends | of course, overlooked 'Teil' completely | 21:02 | |
jnthn | ~~ es ist mein teil...nein! ~~ # I learned my German from Rammstein... | ||
lichtkind | mberends: and when we finished we translate my wxperl tutorial :) | ||
Tene | jnthn: how much do you currently have swapped in about how to inform the rakudo parser about new type names? | 21:03 | |
lichtkind | jnthn: to be context sensitive you have to translate teil with penis :) | 21:04 | |
jnthn | Tene: What are you needing to do? | ||
Tene | ... Ah, there it is. | ||
jnthn | Tene: Making the thing you want to be a type Do Abstraction can be OK if it's already in the NS. | ||
Tene | jnthn: I'm trying to inform the parser about a foreign class when I load a foreign library. | ||
jnthn | Alternatively, you need to put it into a table for a block. | ||
OK, use is eval'd at compile time. | |||
21:05
szabgab left
|
|||
Tene | I'm able to put the namespace in the right place, but when I try to say Foo.new(), it thinks that Foo is a function. | 21:05 | |
jnthn | Are you making a proto-objecty thingy for the class? | ||
Tene | there's an add_type method on Perl6::Grammar that can do it for me. | ||
jnthn: yes. | |||
I'm using P6object | |||
jnthn | Oh, hmm. | ||
Tene | Although that might not necessarily be true for every language, I guess. | ||
jnthn | Are you doing the import at compile time too? | ||
Tene | yes | 21:06 | |
jnthn: I'm doing it in 'use'() | |||
jnthn | Right. Oddness. The proto-objectness is normally enough. | ||
Tene | Which is called from actions.pm | ||
actually, 'sec, lemme try something | |||
I guess I'm expecting to be able to have Foo.new() call .new() on the class... | 21:08 | ||
if I get_class the namespace, and call .new() on it, it works right. | 21:09 | ||
but .new() isn't in the namespace itself... so get_hll_global won't work. | |||
jnthn | OK, but you're installing the class in the Foo entry in the namespace in Perl 6 when you import? | 21:11 | |
Tene | I'm copying the namespace over directly. I tried editing the rakudo-generated pir to call get_class on the namespace after loading the library, and it worked. | 21:12 | |
jnthn | Ah, copying the NS probably won't work out. | 21:13 | |
As Rakudo doesn't know to do get_class on the namespace. | |||
Tene | rakudo generates: | ||
get_hll_global "Foo" | |||
for a Foo class it knows about | 21:14 | ||
jnthn | Right. | ||
Tene | for a class just shoved in the namespace, it generates Foo() | ||
lichtkind | mberends: your not into wx ? | ||
jnthn | What are you shoving in the namespace though? | ||
The other namespace? | |||
That alone won't be enough. | |||
You'll need to shove in the proto-object too. | 21:15 | ||
In fact, you maybe only need the proto-object since it should be associated with the original namespace back in the other HLL. | |||
21:16
kate21de joined
|
|||
Tene | will putting a proto in the namespace be enough? | 21:16 | |
it looks like rakudo modifies data structures used by the parser. | |||
DanielC | Off topic: Anybody interested in a 1TB external disk for 77EUR or a 16GB USB key for 19 EUR? www1.conrad.de/scripts/wgate/zcop_b...width=1280 | ||
Sorry for the OT, but I though it was a very good price. | 21:17 | ||
jnthn | Tene: It might well be. | ||
Tene: You certaily need to put the proto in the namespace though. | |||
I can't see it working without doing that. | |||
And once you put the proto it, Rakudo should start recognizing it as a type name. | |||
And yes, for sure Rakudo fudges stuff into @?BLOCKS - but at parse time (also in eval but again, only to then have them consumed by the parser). | 21:18 | ||
mberends | lichtkind: not yet, but wxperl looks very appealing. szabgab++ motivated me to install it for padre++. Do you think wxperl for parrot/rakudo will be a difficult or an easy link to make? | ||
lichtkind | mberends: yes | 21:19 | |
Tene | jnthn: I modified the generated pir to be the same, and it works. | ||
so the proto is in the relevant ns | |||
lichtkind | mberends: i mean difficult because wx is complex, and i write also an editor in fact padre took a lot drim kephra | ||
DanielC | mberends: Is padre good? I saw the web page. It said it was for new Perl users. I'm not a new Perl user, so I ignored it. | 21:20 | |
jnthn | Tene: At parse time though? For certain? | ||
Tene | jnthn: the parse for recognized types is different. | ||
jnthn | Yes, I know. | ||
Tene | jnthn: check out grammar.pg:704 | 21:21 | |
21:21
justatheory left
|
|||
Tene | it modifies @?BLOCKS at parse time | 21:21 | |
do I need to do that? | |||
lichtkind | DanielC: padre is not that bad | ||
DanielC: but like i said i write a perl editor too :) | |||
Tene | oh, I can say ::Foo.new() | ||
and it works | |||
mberends | DanielC: Padre is excellent for Perl 5. The Perl 6 plugin is new and a bit flaky but promising. | 21:22 | |
StephenPollei | rakudo: say $?KERNEL; | ||
p6eval | rakudo 7cfa19: OUTPUT«Symbol '$?KERNEL' not predeclared in <anonymous> (/tmp/oaNw4JAhn8:2)in Main (src/gen_setting.pm:3200)» | ||
jnthn | Tene: OK, but the important bit is not just that but also on line 902 | ||
DanielC | lichtkind: What is it exactly? Just a text editor? What does it do? | ||
jnthn | Tene: is_type does more than just look at the blocks. | ||
DanielC | mberends: Ok. What does it do? The only features I think I use are syntax highlighting and code folding. | ||
lichtkind | DanielC: its called kephra its more an editor but does a lot of neat tricks which help me to be fast | ||
DanielC: he does both | |||
pmichaud | note that "is_type" is likely to change anyway. | 21:23 | |
DanielC | ok | ||
pmichaud | In STD.pm it's (now) is_name | ||
jnthn | Tene: Note that it does | ||
$I0 = isa check_symbol, 'P6protoobject' | |||
21:23
masak joined
|
|||
jnthn | Which means if you have the protoobject available in the NS early enough that will catch it. | 21:24 | |
masak | good evening, grammar camels. | ||
lichtkind | DanielC: the folding part is also easy controlable with keyboard | ||
DanielC | lichtkind/mberends: Coincidentally, just today I was searching for a good text editor for Perl... | ||
mberends | lichtkind: both Kephra and Padre are based on Scintilla, so they have lots in common. The emphasis in Padre is on detecting subtle coding errors, and providing appropriate context sensitive help. | ||
jnthn | good, evening the masak | ||
lichtkind | DanielC: mberends has nothing to do with kephra | ||
jnthn | <- grammar camel fail | ||
DanielC | o/ masak | ||
Tene | jnthn: I can give you an example in PIR in just a sec... | ||
mberends | yo masak | 21:25 | |
masak | DanielC: \o | ||
DanielC | mberends: Detecting subtle coding errors sounds good, but it won't work with Perl 6... but you said that there is a Perl 6 plugin... | ||
masak | I was going to stay away from the siren call of #perl6 tonight, but then I found a serialization bug in Match.perl... | ||
rakudo: say ?("say <OH HAI>" ~~ /<Perl6::Grammar::TOP>/); say $/.perl | |||
DanielC | lichtkind: Are you involved in kephra? | ||
p6eval | rakudo 7cfa19: OUTPUT«1No result objectin method Match::!_perl (src/gen_setting.pm:788)called from method Match::perl (src/gen_setting.pm:754)called from Main (/tmp/ygcAcyzQNz:2)» | 21:26 | |
masak submits rakudobug | |||
pmichaud | masak: it's almost certain that won't work (for a while) | ||
lichtkind | DanielC: im main dev :) | ||
pmichaud | right now Rakudo can't parse without its action methods. | ||
but one can do | |||
masak | pmichaud: oh. why not? | ||
DanielC | lichtkind: Ok, so I know who to blame for bugs :-) | ||
pmichaud | because the action methods are what enter symbols into the parser's symbol table. | ||
lichtkind | DanielC: yes | ||
pmichaud | and do other various things. | 21:27 | |
masak | I see. | ||
21:27
Limbic_Region joined
|
|||
lichtkind | DanielC: but please use recent version (0.4.1) | 21:27 | |
DanielC | lichtkind: How would you compare Padre and Kephra? I have never used either of them. I'm just about to download both. | ||
pmichaud | maybe | ||
masak | and here I thought I had a quick-and-easy way to parse Perl 6 in Perl 6. :) | ||
mberends | DanielC: yes azawawi++ and szabgab++ make the Perl 6 plugin for Padre, there is also #padre on freenode | ||
pmichaud | rakudo: my $match = Perl6::Grammar::TOP.parse("say <OH HAI>", :action(Perl6::Grammar::Actions.new)); | ||
p6eval | rakudo 7cfa19: OUTPUT«too few arguments passed (0) - 2 params expectedin Main (src/gen_setting.pm:0)» | ||
pmichaud | or something like that. | 21:28 | |
oh | |||
dalek | kudo: 77db80c | tene++ | src/ (2 files): Fix loading foreign libraries. |
||
pmichaud | rakudo: my $match = Perl6::Grammar.parse("say <OH HAI>", :action(Perl6::Grammar::Actions.new)); | ||
p6eval | rakudo 7cfa19: OUTPUT«Method 'parse' not found for invocant of class ''» | ||
lichtkind | DanielC: padre is bit more aggressive both in marketing also in get thing running and making sane architecture later | ||
pmichaud | I might be able to get that to work. | ||
jnthn | Tene: You figured it? | ||
masak | pmichaud: I encountered that when I tried also. | ||
pmichaud: that would be awesome. | |||
Tene | jnthn: no, I didn't. making a PIR demo. | 21:29 | |
jnthn | Tene: OK. :-) | ||
pmichaud | since I now understand the relationship between Cursor, Match, and Grammar a bit better, getting it to work there is much more likely. | ||
(TimToady++ for explanations) | |||
jnthn | masak: oh btw... | ||
masak | jnthn: mm? | ||
jnthn | rakudo: class Foo { has $.answer; submethod BUILD { $!answer = 42 } }; my $the = Foo.new; say $the.answer | 21:30 | |
p6eval | rakudo 7cfa19: OUTPUT«42» | ||
21:30
japhb left
|
|||
masak | jnthn++ | 21:30 | |
jnthn | masak: You can haz working-er BUILD. :-) | ||
masak | wohay! | ||
21:31
jferrero joined
|
|||
masak | that means Druid, proto and perhaps a few other projects can now be rewritten to take advantage of that. | 21:31 | |
jnthn | :-) | ||
Tene | rakudo error reporting lies... | ||
claims there's a null pmc access in src/gen_setting.pm:441 | 21:32 | ||
which is, in its entirety: # vim: ft=perl6 | |||
jnthn | fail | ||
Is that the last line of the setting by any chance? | |||
pmichaud | it doesn't lie | ||
Tene | not the last line | 21:33 | |
pmichaud | that's just the last annotation in the source | ||
(okay, that's lying, I suspect) | |||
jnthn | :-) | ||
I also suspect that once we fall out of annotated code, then the annotation holds for any code that follows. | |||
pmichaud | yes. | ||
jnthn | So yes, it really lies. :-) | ||
But it does its best not to. | 21:34 | ||
21:34
pjcj_ is now known as pjcj
21:35
skids left
21:37
pmurias left
21:44
justatheory joined
21:46
decasm left
21:48
PhatEddy joined
|
|||
masak | viklund: ping. | 21:49 | |
21:50
justatheory left
21:52
justatheory joined
|
|||
mberends | masak: viklund must be afk, notified him that november-wiki.org was down but no reaction yet | 21:54 | |
masak | ok. | ||
november-wiki.org is down? :/ | |||
mberends | 500 internal server error | ||
masak | ay ay. :( | 21:55 | |
21:55
justatheory left
|
|||
Tene | I (again) wish there was a way to ask rakudo to allow pir-level backtraces | 21:55 | |
:( :( :( | |||
masak | rakudo: my $x; $x.HOW.say | 21:56 | |
p6eval | rakudo 77db80: OUTPUT«Method 'say' not found for invocant of class 'P6metaclass'» | ||
masak | pmichaud: is P6metaclass outside of the Object hierarchy somehow? | ||
jnthn | Tene: All you do is comment out the push_eh trap and the pop_eh below it in perl6.pir | ||
masak | my immediate reaction is for $x.HOW.say to print something, not to fail. | 21:57 | |
Tene | jnthn: oh, right | ||
jnthn | masak: What exactly would you want it to print? :-S | ||
masak: But once you're playing in HOW territory, then probably most bets are off. | 21:58 | ||
masak | jnthn: I dunno. P6metaclass<0xCAFEBABE> or something. just not fail. | ||
jnthn | masak: It is outside the Object hierarchy, but I'm not completely sure I could that as a bug. | ||
*count | |||
masak | ok. I have to claim ignorance myself here. | ||
jnthn | Having the metaclass a subclass of Any kinda presents a bootstrapping problem. ;-) | 21:59 | |
Or Object for that matter. | |||
Though it may be a solvable one. | |||
Not sure. Not quite got the brain cycles to think it through at the moment either. :-) | 22:00 | ||
masak | ah. starting to see the problems now. :) | ||
masak closes that ticket | |||
StephenPollei | rakudo: my $x; say $x.HOW | 22:01 | |
p6eval | rakudo 77db80: OUTPUT«» | ||
PhatEddy | rakudo: sub b { { say @_[ 0 ] } }; b(5); | ||
p6eval | rakudo 77db80: OUTPUT«Null PMC access in isa()in sub b (/tmp/iYWJ5fUYhT:2)called from Main (/tmp/iYWJ5fUYhT:2)» | ||
masak | PhatEddy: nice one! | ||
PhatEddy | rakudo: sub b {say @_[0]; if 1 { say @_[ 0 ] } }; b(5); | ||
p6eval | rakudo 77db80: OUTPUT«5Use of uninitialized value» | ||
masak | PhatEddy: was that an original Null PMC access, or did you pull it from an RT ticket? | 22:02 | |
PhatEddy | I think these are variants of RT #60408 | ||
masak | ah, ok. | ||
PhatEddy | will probably append the variants and a workaround to the ticket | 22:03 | |
masak | excellent. | ||
PhatEddy++ | |||
PhatEddy | rakudo: sub b {my @a = @_; say @_[0]; if 1 { say @_[ 0 ]; say @a[0] } }; b(5); | ||
p6eval | rakudo 77db80: OUTPUT«5Use of uninitialized value5» | ||
pmichaud | There's still an issue in rakudo that any use of @_ in a block makes it act like a parameter. | 22:05 | |
Haven't fixed that one yet. | |||
I ended up having to fix something else first, although I forget what that "something else" was now. | 22:06 | ||
22:07
tulcod left
22:10
hanekomu left
22:11
sri_kraih joined
|
|||
[particle]- | just noting that in the ticket might help | 22:11 | |
mebbe phateddy can do that, too | |||
22:14
nihiliad left
|
|||
[particle]- | pmichaud: rakudo is in its own hll now, right? | 22:14 | |
masak | is there a way to bind methods without declaring them? | ||
something like method foo() { ... }; &bar ::= foo; | 22:15 | ||
uh, &bar ::= &foo; | |||
what I'm after is a way of declaring method synonyms. | 22:16 | ||
PhatEddy | [particle-]: will do so - thx | ||
[particle]- | aliases? | ||
masak | [particle]-: yes, I think so. | ||
how? | |||
22:16
ruoso left
|
|||
[particle]- | hrmm, i'd need to reread S11 carefully on that one | 22:17 | |
22:18
japhb joined
|
|||
Tene | jnthn: gist.github.com/123283 | 22:18 | |
jnthn: try changing ::lolcat.new() to lolcat.new(). | |||
masak | next question: how do I declare a user-defined operator as chained? the synopses don't seem to say. | ||
[particle]- has to run :( | 22:20 | ||
Tene | pmichaud: any ideas about what I'm asking with gist.github.com/123283 ? Can you confirm whether or not I need to poke at the compiler's @?BLOCKS to register a type name? | 22:21 | |
mberends | afk & sleep(6*3600) | ||
Tene AFK, flying. | 22:22 | ||
22:23
eMaX left
|
|||
StephenPollei | as assoc:chained perlcabal.org/syn/S06.html#Subroutine_traits | 22:23 | |
masak | StephenPollei: thank you. | 22:24 | |
StephenPollei | is assoc | ||
masak | assoc:chain, it seems. | ||
uh, assoc<chain>. | 22:25 | ||
StephenPollei | yes sorry is assoc:chain | ||
DanielC | Man.. Padre is taking forever to install... | ||
StephenPollei | or whatever, I'm rusty, trying to read up again before I write tests | ||
PerlJam | is assoc('chained') | ||
:-) | |||
lichtkind | does anybody know how to subscribe to plant perl? | 22:26 | |
masak | rakudo: sub infix:<!+>($a, $b) is assoc<chain> { $a * $b }; say 7 !+ 6 | ||
p6eval | rakudo 77db80: OUTPUT«Use of non-existent trait.42» | ||
22:26
PhatEddy left
|
|||
masak | how to specify the signature of such an operator? is it exactly the same as a non-chained one? | 22:27 | |
I guess it can't be... | |||
22:27
PhatEddy joined
|
|||
masak | rakudo: sub infix:<!+>(*@a) is assoc<chain> { [*] @a }; say 7 !+ 6 !+ 10 | 22:27 | |
p6eval | rakudo 77db80: OUTPUT«Use of non-existent trait.420» | 22:28 | |
masak | hm, it complains but works :) | ||
StephenPollei | Meaning of $a op $b op $c --> ($a op $b) and ($b op $c) --- | ||
I think it just fets called several times, shouldn't change prototype | |||
masak | ok. | ||
rakudo: say 0 ^^ 1 ^^ 1; | 22:29 | ||
p6eval | rakudo 77db80: OUTPUT«» | ||
masak | rakudo: say 0 ^^ 1; | ||
p6eval | rakudo 77db80: OUTPUT«1» | ||
masak | rakudo: say 0 ^^ 1 ^^ 0 ^^ 1; | ||
PerlJam | masak: the signature is a trait just like associativity. i.e., they are orthogonal. | ||
p6eval | rakudo 77db80: OUTPUT«» | ||
masak | hm, I can't make the above fit with the meaning of assoc:<chain>. | 22:30 | |
could someone clarify? | |||
StephenPollei | rakudo: sub infix:<!+>(*@a) is assoc:<chain> { [*] @a }; say 7 !+ 6 !+ 10 | ||
p6eval | rakudo 77db80: OUTPUT«Malformed routine definition at line 2, near "infix:<!+>"in Main (src/gen_setting.pm:0)» | ||
jnthn | use.perl.org/~JonathanWorthington/journal/39072 # first grant progress post | 22:31 | |
masak | oh, wait. infix:<^^> is probably assoc<list> | ||
jnthn++ | |||
...which is also what I wanted, I think. | |||
StephenPollei | rakudo: sub infix:<!+>(*@a) is assoc('chain') { [*] @a }; say 7 !+ 6 !+ 10 | ||
p6eval | rakudo 77db80: OUTPUT«Use of non-existent trait.420» | ||
jnthn | masak: Looks like list ass to me. | ||
masak | jnthn: a poem in the beginning of the post. nice! | 22:32 | |
jnthn | ...wow, that's not the way to abbreviate associative... | ||
22:32
iblechbot left
|
|||
jnthn | masak: Aye. :-) | 22:32 | |
masak | ok, that clears up that. | ||
I think I'll head to bed before I can think of another question. | 22:33 | ||
StephenPollei | rakudo: sub infix:<!+>(*@a) is assoc('list') { [*] @a }; say 7 !+ 6 !+ 10 | ||
p6eval | rakudo 77db80: OUTPUT«Use of non-existent trait.420» | ||
jnthn | use of NYI trait more like... | ||
masak submits TODO ticket | |||
22:35
yary_2 joined,
masak left
22:37
yary_2 left
|
|||
Tene | jnthn: I have example for you in gist up there a bit ^ | 22:39 | |
jnthn | Tene: I saw, I didn't see anything obviously wrong in what you pasted... | 22:41 | |
Tene | jnthn: I'd like to use it without the :: | ||
leading | |||
jnthn | Tene: Oh, I know that. | ||
Tene: I mean, I don't think the reason you can't lies in a mistake in what you pasted | |||
It's something elsewhere. | |||
Tene | jnthn: right... I think something needs to happen at parse time. | 22:42 | |
pmichaud | I'm also looking at it. | ||
Tene | I should experiment with moving the use() call to parse time | ||
pmichaud | the use() call is already parse time. | 22:43 | |
jnthn | We are doing it there though. | ||
use($name, :import_to(@?NS ?? @?NS[0] !! '')); | |||
And it looks like that imports too. | |||
Or so it appears. | |||
pmichaud | where does the lolcat proto get exported? | ||
22:44
snarkyboojum joined
|
|||
Tene | oh, right, action methods are called whil parsing, not after | 22:44 | |
jnthn | Right. | ||
Thus why I'd expect this to work. | |||
Tene | pmichaud: check my last rakudo commit | ||
pmichaud | Tene: I did. | ||
I'll check again. | |||
Tene | that exports the ns. | ||
pmichaud | Huh? | 22:45 | |
exporting from the lolcat stuff, I mean. | |||
the rakudo commit looks like it's working on the importing of stuff | |||
not exporting. | |||
Tene | pmichaud: right... it gets the namespace from parrot.load-library | 22:46 | |
the ns has the proto | |||
pmichaud | huh? | ||
Tene | I may be confused. :) | ||
pmichaud | I know what you're saying confuses me :-) | 22:47 | |
just a second, let me trace back | |||
jnthn | Tene: Are you expecting to to find the proto through the namespace? | ||
pmichaud | in lolcat, you're exporting "demo" | ||
jnthn | Rather than having the proto in the export list? | ||
pmichaud | where does the proto itself get exported? | ||
Tene | pmichaud: isn't the proto in parrot;lolcat ? | 22:48 | |
pmichaud | note that there's a parrot;lolcat namespace _and_ a parrot;lolcat object. | ||
they aren't the same. | |||
eventually the protoobjects need to support a hash interface so they can act like a namespace, yes. | |||
but I haven't worked that part out completely. | 22:49 | ||
jnthn really needs to rest - back tomorrow | |||
Tene | pmichaud: i'm just setting the namespac, and when I get-global it, I get a proto | ||
pmichaud | I don't understand "setting the namespace" | ||
Tene | in parrot.load-lib I get the namespace, stuff it in the hash I return | 22:50 | |
pmichaud | checking. | ||
Tene | in rakudo'suse, I get it from the hash, and set-global it | ||
pmichaud | where would I find parrot.load_library? | ||
Tene | runtime/parrot/languages/parrot/parrot.pir | 22:51 | |
pmichaud | $P0 = get_hll_namespace name | ||
library['namespace'] = $P0 | |||
? | |||
Tene | airplane wants my phone off soon, may disappear at any second. | ||
yes | |||
pmichaud | That gets the namespace. It doesn't get the protoobject. | ||
The protoobject would be $S0 = pop name; get_hll_global name, $S0 | 22:52 | ||
note *get_hll_global* as opposed to *get_hll_namespace* | |||
Tene | after I set-global that object elsewhere, get-globaling elsewhere gives the protoobject | ||
pmichaud | get_hll_namespace always retrieves a namespaces. | ||
Tene | afaict | ||
pmichaud | I'm pretty sure that's not the case. | ||
or that there's something else going on that explains what you're seeing. | |||
I'm quite sure that library['namespace'] holds the namespace and not the protoobject. | 22:53 | ||
22:53
justatheory joined
|
|||
Tene | should I instead, ideally, also have a 'class' attribute of the library hash? | 22:53 | |
pmichaud | Try checking the type of $P0 after the get_hll_namespace call. | ||
Tene | pmichaud: in that example, I can call lolcat::demo() | ||
pmichaud | sure, because you imported the namespace. | ||
Tene | so I can access something in the namespace. | 22:54 | |
pmichaud | i.e., the namespace is what is held at 'lolcat'. That makes sense to me. | ||
Tene | I can also call ::lolcat.new() | ||
pmichaud | I'm surprised by that. | ||
Tene | what would you like ideally? door closed. | ||
pmichaud | I don't know yet, I need time to think about it. | ||
I also need to explore Parrot namespaces a bit. | 22:55 | ||
Tene | :) | ||
Okay. | |||
afk | |||
pmichaud | I guess my question is whether the entire namespace actually belongs in the imported hll. | ||
Somehow I doubt that. | |||
I think only the symbols should appear. | |||
23:00
hercynium joined
|
|||
TimToady | pmichaud: there's a $i++ performance Q in p6u you might want to speak to | 23:02 | |
pmichaud | TimToady: thanks. Have the subject line handy? My inbox is kinda fullish. | 23:03 | |
TimToady | kudo-current loop 2-3 orders of magnitude slower than perl 5? | ||
s/^/ra/ | |||
23:04
mizioumt1 left,
skids joined
|
|||
Limbic_Region kicks pmichaud hard for presenting so many good talks at YAPC::NA back-to-back-to-back | 23:07 | ||
pmichaud | I didn't schedule them back-to-back-to-back. Blame the organizers for that. I'm fully happy if we broke them up a bit :-) | 23:08 | |
Limbic_Region | pmichaud - any chance someone is taking video of your talks? | ||
pmichaud | I don't know. I hope so. But my experience is that the videos never seem to make it online where people can see them. | ||
Limbic_Region | I don't want to miss any but I haven't figured out how to be in two places simultaneously | ||
23:08
cls_bsd left
|
|||
pmichaud | At any rate, I didn't request back-to-back talks. And there are a few talks on Monday that I'd like to go see as well, and I haven't figured out how to do that either. | 23:09 | |
23:10
lichtkind left
|
|||
Limbic_Region | pmichaud - did you see use.perl.org/~jjore/journal/38995 and specifically the pointer to yapc.tv ? | 23:11 | |
23:12
hudnix left
|
|||
pmichaud | Limbic_Region: no, I didn't! Thanks! | 23:12 | |
23:17
kate21de left,
andreasg_ left,
krakan left,
rhr left,
Sark left,
Tene left,
lambdabot left,
kate21de1 joined
23:18
krakan joined,
rhr joined
23:19
andreasg_ joined
23:29
felipe left
23:30
Infinoid left,
Sark joined,
Infinoid joined
23:32
kate21de joined
23:44
lumi left,
PhatEddy left
23:45
Tene joined
23:49
kate21de1 left
23:55
takadonet joined
|
|||
takadonet | hey everyone | 23:55 | |
pmichaud | TimToady: posted a response, thanks for pointing it out. | 23:56 | |
dinnertime. | |||
s1n | @seen masak | 23:57 | |
bleh | |||
23:58
cls_bsd joined
23:59
nihiliad joined
|