|
»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moderator on 10 October 2009. |
|||
|
00:12
kst joined
00:26
arthur-- joined
00:31
xinming_ joined
00:32
lumi joined
00:41
rhr joined
00:42
vmbrasseur joined,
rdice joined
00:47
vmbrasseur_ joined
00:49
vmbrasseur_ left
|
|||
| vmbrasseur | Hey, all. I'm considering starting in on some "how to contribute" info for perl6.org. | 00:51 | |
| Goal is to explain as much as possible and dispel a lot of fog from newbie heads. | 00:52 | ||
| Because right now? It ain't so clear even what's what, let alone where someone could start on lending a hand. | 00:53 | ||
| Feedback on the general idea? | |||
| Tene | sounds great to me. | ||
| vmbrasseur | Do you have anything in particular which you'd like to see covered? | 00:54 | |
| perl6.org/about says I should check here for consensus before larger changes (assuming that means additions as well). | 00:55 | ||
| sjohnson | hi Tene | 00:57 | |
| Tene | hi sjohnson | 00:58 | |
|
00:59
rhr_ joined
01:06
Eevee joined,
Mr_Orange left
01:11
rhr joined
01:19
rhr_ joined,
SmokeMachine joined,
jaldhar joined
01:21
rml_ joined
01:26
eternaleye joined
01:30
lumi joined
01:36
orafu joined
01:45
rdice joined
01:47
brunov joined
|
|||
| vmbrasseur | There's no formal issue tracking (aside from TASKS in svn) for Perl6? | 01:52 | |
| quietfanatic | Do you mean like rt.perl.org/rt3/Public/?nossl=true or something different? | 01:54 | |
| vmbrasseur | Like that, but for development-type things. | 01:56 | |
| I hadn't noticed the RT for perl6 before though, so thanks for that. | |||
| Looks like dev.pugscode.org is a morass of spam tickets. | 01:58 | ||
| Ah, OK. Default view of the timeline included closed tickets. Disabling that removed the spam. That's a more encouraging picture. | 02:00 | ||
|
02:05
rhr joined
02:27
xenoterracide joined
02:28
rhr_ joined
02:30
jaldhar joined
02:34
JimmyZ joined
02:36
agentzh joined
02:38
lumi joined
02:41
nbrown_ joined
02:48
NorwayGeek joined
02:55
JimmyZ joined,
am0c joined
|
|||
| quietfanatic | rakudo: my $x = "x"; say |$x | 03:04 | |
| p6eval | rakudo 3eceb8: OUTPUT«argument doesn't arrayin Main (file src/gen_setting.pm, line 206)» | ||
| quietfanatic | rakudo: my @x = "x"; say |@x | ||
| p6eval | rakudo 3eceb8: OUTPUT«x» | ||
| quietfanatic | I think prefix:<|> should work on scalars, right | 03:05 | |
| ? | |||
| std: my $x = "x"; say |$x | 03:06 | ||
| p6eval | std 28792: OUTPUT«ok 00:02 114m» | ||
| sjohnson | rakudo: my @x = "x"; say '' |@x | 03:08 | |
| p6eval | rakudo 3eceb8: OUTPUT«any("", ["x"])» | ||
|
03:09
synth joined
03:11
nihiliad joined
03:16
NorwayGeek joined
03:30
envi^office joined
03:34
PZt joined
03:37
eternaleye_ joined
03:56
kst joined
03:57
xinming joined
04:02
lumi joined
04:30
bpetering joined
04:32
zloyrusskiy joined
04:46
Confield left
04:52
synth joined
05:08
JimmyZ joined,
_jaldhar joined
05:14
lumi joined
05:30
ShaneC joined
|
|||
| dalek | p-rx: c5a7893 | pmichaud++ | (4 files): Add Regex::P6Grammar as temporary scaffolding for bootstrapping the parser. |
05:31 | |
| p-rx: 2bb5b72 | pmichaud++ | .gitignore: Update .gitignore. |
|||
| p-rx: f80ba14 | pmichaud++ | (2 files): Change "make test" target to specify $(PARROT) executable (suggested |
|||
|
05:38
ShaneC joined
05:42
jaldhar_ joined
05:43
synth joined
05:59
Su-Shee joined
|
|||
| Su-Shee | good morning. | 05:59 | |
| colomon | o/ | ||
| bpetering | perceived problem: svn.pugscode.org/pugs/docs/Bootstra...butors.pod | 06:10 | |
| proposed solution: svn.pugscode.org/pugs/docs/IRCchannelLexicon.pod | 06:11 | ||
| dalek | p-rx: e7e5924 | pmichaud++ | src/Regex/P6 (2 files): Add the ability to parse arglists after colons in subrule calls. Bootstrap progress: The "p6grammar" executable is now able to parse its own grammar definition; test via ./p6grammar --target=parse src/Regex/P6Grammar/Grammar.pm |
||
|
06:17
lumi joined
06:23
dalek joined
06:33
JimmyZ joined
06:40
NorwayGeek joined
06:43
Kid joined
|
|||
| Kid | Hi All | 06:43 | |
| I am New to This Plateform and Perl 6 | 06:44 | ||
| Could Any body point out about perl 6 | |||
| moritz_ | good morning | 06:45 | |
| there are lots of good links on perl6.org/ | 06:46 | ||
| is there anything more specific you want to know? | |||
| Kid | I know python / ruby / php | 06:48 | |
| and Perl (Just Aware of) | |||
| I am planning to shift Perl 6 | |||
|
06:49
lumi joined
|
|||
| moritz_ | great | 06:49 | |
| Kid | So Could you tell me How can Perl 6 can help me w.r.t Web Projects | ||
|
06:50
[synth] joined
06:51
zamolxes joined
|
|||
| moritz_ | we have a nice project that wants to simplify web development | 06:51 | |
|
06:52
flip214 joined
|
|||
| moritz_ | masak has been developing much of it, and he's been blogging about it also | 06:52 | |
| Kid | Could you please Give the URL | ||
| moritz_ | blog: use.perl.org/~masak/journal/ source: github.com/masak/web/ | ||
| Kid | Are you from Perl 6 Team | 06:53 | |
|
06:53
barney joined
|
|||
| moritz_ | yes | 06:53 | |
| Kid | I will check them | 06:55 | |
| Is Their any Django Kinda Framework Perl 6 is Providing | 06:56 | ||
|
06:56
zamolxes joined
|
|||
| moritz_ | I no of no other web framwork for Perl 6 than Web.pm | 06:56 | |
| Kid | Sorry I don't get you | 06:57 | |
| moritz_ | I know of no other web framwork for Perl 6 than Web.pm # next attempt :-) | 06:59 | |
| sorry, not quite awake yet | |||
| Kid | Okey One more Question How it is different from Haskell | 07:01 | |
| moritz_ | very much so | ||
| Kid | I think I need to know Perl 6 | 07:02 | |
| moritz_ | haskell is a pure, functional language with lazy evaluation | ||
| Kid | Some Features are impressive | ||
| moritz_ | Perl 6 is a more "traditional" language where you have variables you can assign to, and only lists are lazy | ||
| you can still do functional programming with Perl 6, though | 07:03 | ||
| Kid | Okey | ||
| Thanks for your advice | |||
| moritz_ | you're welcome | 07:04 | |
| Kid | I am using IRC after 8 Years. Impressive IRC culture has not changed yet. Salute to IRC and Specially @moritz_ | 07:05 | |
| moritz_ bows | 07:06 | ||
|
07:08
hugme joined
|
|||
| Kid | Is This Your URl Mortiz | 07:08 | |
| moritz.faui2k3.org/en/ | |||
| moritz_ | that's one of them yes | 07:09 | |
| though most of my up-to-date stuff is on perlgeek.de/ | |||
| including a Perl 6 blog :-) | |||
| Kid | I am still kid in terms of Perl | 07:10 | |
| Please Share | |||
|
07:10
pugs_svn joined
|
|||
| pugs_svn | r28790 | jnthn++ | [t/spec] Correct incorrect signature. | 07:10 | |
| r28791 | geoffb++ | [irclog] cgi/style.css: Improve look and layout of calendars | |||
| r28792 | kyle++ | [t/spec] Test for RT 65638 | |||
| r28793 | bpetering++ | A problem and a solution - contributors and #perl6 | |||
| moritz_ | perlgeek.de/blog-en/ | ||
| Kid | Nice to meat you. | 07:13 | |
| I had book marked the URl.and will contact you if stuck somewhere between. | 07:14 | ||
| pugs_svn | r28794 | moritz++ | [docs] some updates to IRCchannelLexicon.pod | ||
| Kid | Wishing you Happly Diwali (Indian Fastival) | 07:15 | |
| Bye | |||
| moritz_ | same to you | ||
| bye | |||
| phenny: tell vmbrasseur re contribution info, you might be interested in <www.perlmonks.org/?node_id=771635> and <www.perlmonks.org/?node_id=780001>. Also feel free to ask on #perl6 if you need a pugs commit bit to change perl6.org | 07:18 | ||
| phenny | moritz_: I'll pass that on when vmbrasseur is around. | ||
|
07:18
kst joined
|
|||
| sjohnson | nice to meat :) | 07:21 | |
| moritz_ feels so tasty | |||
| sjohnson | just kidding. i am not teasing | ||
| a perl fan, is a perl fan | |||
| moritz_ | not teasing? what's wrong with you? ;-) | 07:23 | |
| sjohnson | hehe | ||
| ahh was worried for political reasons tbh | |||
| didn't want to seem like a bastard | |||
| sjohnson played the PC card | |||
| ... and is ashamed of having to lie | |||
| haven't seen wayland76 around for a while | 07:24 | ||
| moritz_ | aye | ||
| @seen wayland76 | |||
| lambdabot | Unknown command, try @list | ||
| moritz_ | that bot is getting more and more useless every day | ||
|
07:27
NorwayGeek_ joined
|
|||
| mathw | Morning | 07:27 | |
| Maybe we should evict lambdabot | 07:28 | ||
| moritz_ | \\o/ | ||
| mathw: only if we have another karma tracking bot ;-) | |||
|
07:28
Bzek joined
|
|||
| mathw | moritz_: so the plan should be to replace lambdabot with a karmabot written in Perl 6 | 07:33 | |
| sjohnson | moritz_: might be because it was programmed in python ;) | 07:35 | |
| .. or a warning that p6 could replace drone-like human activity | 07:36 | ||
| ... and the only one | |||
| i've seen the Terminator movies... i know what might happen | |||
| Su-Shee | .oO(I get Christian Bale covered in dirt? ;) |
07:37 | |
| sjohnson | i've always wondered what .oO | ||
| means | |||
| Tene | sjohnson: "thought bubble" | ||
| Su-Shee | thinking :) | ||
| sjohnson needs to keep up with the times | |||
.oO(would also like that) |
07:38 | ||
| you guys can't read that... right? | |||
| sjohnson feels save | |||
| safe | |||
| Tene | support for select()and then a POE-alike is on my TODO list. | 07:39 | |
|
07:52
rfordinal joined
|
|||
| pmichaud | time for sleep here... got a very late start on nqp-rx today, but managed to get a lot done anyway. :) | 07:53 | |
| mathw | yay! \\o/ | 07:54 | |
| dalek | p-rx: bbbca64 | pmichaud++ | src/Regex/P6Regex/Actions.pm: Refactor named assertions slightly for better argument handling later. |
07:56 | |
| p-rx: 2b0f1ad | pmichaud++ | (3 files): More updates to P6Grammar bootstrapping. for its own grammar definition (in src/Regex/P6Grammar/Grammar.pm). Still need a metachar:<{*}> action method to produce action methods. :-) |
|||
| moritz_ | pmichaud++ | 07:58 | |
|
08:01
mariuz joined
08:05
iblechbot joined
08:18
ejs joined
08:25
KatrinaTheLamia joined
08:42
ihrd joined
|
|||
| flip214 | rakudo: say ((5/6) + (612/742)).perl | 08:43 | |
| p6eval | rakudo 3eceb8: OUTPUT«3691/2226» | ||
| flip214 | rakudo: say ((5/6) + (612512351/7422)).perl | ||
| p6eval | rakudo 3eceb8: OUTPUT«too many arguments passed (3) - 1 param expectedin Main (file src/gen_setting.pm, line 206)» | ||
| flip214 | help, please? | ||
| moritz_ | that's an integer overflow internally | ||
| flip214 | bad error message, I think | 08:44 | |
| moritz_ | you can convert to Num and calculate with that approximately | ||
| yes | |||
| there's already a bug ticket for taht | |||
| flip214 | although Larry said at YAPC that he wants better messages | ||
| ok, fine | |||
| thanks | |||
| But I'm on a 64bit machine ... shouldn't that use at least 64bit? And S02 says "arbitrary precision", IIRC | |||
| So that's more an implementation bug? | 08:45 | ||
| moritz_ | yes, it's a bug | ||
| it's supposed to work with bigints | |||
| flip214 | moritz_: you can restart the bots? | ||
| moritz_ | flip214: which bots? | ||
| flip214 | just asking because I'd like to test something | ||
| rakudo | |||
| moritz_ | rakudo: say "I'm here, what's up?" | 08:46 | |
| p6eval | rakudo 3eceb8: OUTPUT«I'm here, what's up?» | ||
| flip214 | rakudo: my $b='rakudo: my $b=%c%s%c;say sprintf $b,39,$b,39;';say sprintf $b,39,$b,39; | ||
| p6eval | rakudo 3eceb8: OUTPUT«rakudo: my $b='rakudo: my $b=%c%s%c;say sprintf $b,39,$b,39;';say sprintf $b,39,$b,39;» | ||
| moritz_ | heh :-) | ||
| flip214 | hmmm, sadly the "rakudo xxxx" part messes up. | ||
| sorry. | |||
| moritz_ | that's intentional | ||
| flip214 | had to try | ||
| moritz_ | :-) | ||
| I took care that all but output starts with something that the user can't control | 08:47 | ||
| in order not to control other bots, or itself | |||
| flip214 | hmmmm ... I'll think of something | ||
| where are the sources of the bot? | 08:48 | ||
| moritz_ | in the pugs repo in misc/evalbot/ | ||
| rakudo: multi a ($x where 1 where *) { 1 }; say a(1) | 08:50 | ||
| p6eval | rakudo 3eceb8: OUTPUT«1» | ||
| moritz_ | rakudo: multi a ($x where 1 where *) { 1 }; multi a($x where 1) { 2 }; say a(1) | ||
| p6eval | rakudo 3eceb8: OUTPUT«Ambiguous dispatch to multi 'a'. Ambiguous candidates had signatures::(Any $x where all({ ... }, { ... })):(Any $x where { ... })in Main (file src/gen_setting.pm, line 206)» | 08:51 | |
| flip214 | morith: thanks | 08:52 | |
|
09:01
dakkar joined
09:08
pmurias joined
|
|||
| JimmyZ | rakudo: sub postfix:<!>($n) { [*] 1..$n }; 10!.say; | 09:23 | |
| p6eval | rakudo 3eceb8: OUTPUT«Confused at line 2, near ".say;"in Main (file <unknown>, line <unknown>)» | ||
| JimmyZ | rakudo: sub postfix:<!>($n) { [*] 1..$n }; (10!).say; | ||
| p6eval | rakudo 3eceb8: OUTPUT«3628800» | ||
| bpetering | pmichaud++ # refactors | 09:25 | |
| dalek | ok: 97b41dc | moritz++ | src/multi-dispatch.pod: [MMD] headings, narrowness |
09:26 | |
| bpetering | moritz++ | 09:27 | |
|
09:28
ihrd left,
donaldh joined
09:30
mariuz joined
|
|||
| dalek | p-rx: 468b4eb | pmichaud++ | src/ (3 files): Add keyed reductions / action triggers. |
09:40 | |
| p-rx: 0c574ea | pmichaud++ | src/ (2 files): Determine regex name to be used for action methods. |
|||
| p-rx: 672674d | pmichaud++ | src/Regex/P6Grammar/ (2 files): Update P6Grammar to attach names to regexes, set modifiers for |
|||
|
09:41
masak joined
|
|||
| masak | good mid-day, #perl6. | 09:41 | |
|
09:44
payload1 joined
|
|||
| jnthn | oh morning | 09:52 | |
| masak | :) | ||
| I had a fun debugging session last night. | 09:53 | ||
| I should write a whole blog post about debugging in Rakudo. | |||
| I have at least two solid techniques that I use nowadays. | |||
| jnthn | Nice. | ||
| I spent last night doing the things I should have done in the day when I was doing Rakudo things... | |||
| masak | :) | 09:54 | |
| the debugging session ended in a very clear conclusion: I can't spell, and Rakudo punishes me mightily for it. | |||
| so the lexicals model is safe, for now. | 09:55 | ||
| jnthn | Well, punishment is a method of teaching, no? ;-) | 09:56 | |
| masak | I feel thoroughly taught. | ||
| it's definitely a lesson in humility. in less than one second, I go from "hah, wait until I catch this bug!" to "oh, ouch. it says Foo.Blahr.new()?!" | 09:57 | ||
| jnthn | masak: I hope it didn't actually say that, or I'll go fetch my +2 multi-headed whip of variable name choice learning. | 09:58 | |
| ;-) | |||
| masak | no, I'm anonymizing. :) | ||
| jnthn | oh phew | ||
| masak | it's a habit I picked up from working with November. | ||
|
09:59
mwm joined
|
|||
| jnthn needs to make time to follow the roles discussion on p6l | 10:01 | ||
| It's actually looks like a worthwhile thread to follow. | |||
| masak | nod. | 10:05 | |
| sjohnson | bed :) | 10:08 | |
|
10:08
eMaX joined
|
|||
| jnthn only got out of that recently... | 10:09 | ||
| My sleep times are kinda fail, but I don't see much need to fix 'em. | |||
| sjohnson | same | ||
| it's 3am here | |||
| and i have to call in sick to work tomorrow | |||
| ugh | |||
| just cause i got into an argument over irc yet again | 10:10 | ||
| ... end of rant | |||
| masak | same here. | ||
| but I'm at work, as usual. | |||
| I only work half-time, so when I wake late, I work afternoons. | |||
|
10:12
integral left
|
|||
| sjohnson | yeah | 10:13 | |
| sjohnson pat pats masak | |||
| masak purrs | |||
| sjohnson | :) | 10:14 | |
| there might be some Perl6 chocolate around here that Su-Shee offered | |||
| sjohnson scrounges the carpet like a crack victim | |||
| masak | oh wow! I see I need to backlog :) | ||
|
10:18
ShekarKCB joined
|
|||
| masak | (now calendar look on irclog.perlgeek.de)++ | 10:18 | |
| I -think- it's better. the previous one had slightly better contrast, but this has less clutter. | |||
|
10:19
lumi joined
|
|||
| masak | /usr/local/bin/parrot perl6_s1.pbc --target=pir src/gen_setting.pm > src/gen_setting.pir | 10:26 | |
| Null PMC access in find_method() | |||
| jnthn | ouch. | 10:27 | |
| jnthn looks innocently at masak | |||
| "But I didn't push to master for days!" | |||
| masak | heh. | ||
| it worked when I pulled yesterday. | |||
| mathw | It wasn't me, I don't have a rakudo commit bit | 10:28 | |
| And all I did yesterday was de-bitrot Form.pm | |||
| masak | mathw++ | 10:29 | |
| jnthn | masak: realclean help at all? | ||
| masak | trying now. | ||
| no, didn't work. | 10:30 | ||
| jnthn | meh, fail | ||
| Do you have the version of Parrot matching the requested on in PARROT_REVISION? | 10:31 | ||
| masak | no. | ||
| jnthn | That may well be your problem. ;-) | 10:32 | |
| masak | aye. | ||
|
10:39
JimmyZ joined
|
|||
| masak | I downdated Parrot and rebuilt everything. still getting the Null PMC access. | 10:46 | |
| moritz_ | rm -rf parrot_install; make realclean; perl Configure --gen-parrot | 10:47 | |
| masak | I'm running Rakudo-in-Parrot, so the first step does not apply. | 10:48 | |
| but apart from that, that's what I just did. | |||
| oh, and minus the --gen-parrot | |||
| moritz_ | anyway, you should clear the location to which you intalled parrot | 10:52 | |
| masak | bpetering++ # lingo mismatch solution suggestion | 10:54 | |
| bpetering: long time no see, by the way. haven't talked since we collaborated wonderfully on Text::CVS together, and you promised 'something really cool'... | 10:56 | ||
| mathw | Wow | ||
| Link::C is impressive | |||
| masak | quietfanatic++ | 10:57 | |
| jnthn | masak: About BPW, do you know what dates you'll be around there? | 11:00 | |
| mathw | another perl workshop? | ||
| masak | jnthn: haven't planned that far yet. open for suggestions. | ||
| lunch & | |||
| jnthn | masak: I can fly there Friday afternoon, back on Monday mid day. | 11:01 | |
| For decent-ish prices. | |||
| mathw: Baltic... | |||
| It's in Latvia. | 11:02 | ||
| So er, how to put this nicely...it might be quite cheap for hotel/beer given the current economic conditions there. | |||
| mathw | ahah | 11:05 | |
| Su-Shee | jnthn: "the currency is very favorable these days.." | ||
| mathw | latvia here has a reputation for being cheap and good for going to for raucous stag nights | ||
| but that basically sums up the english pubgoer's attitude to all of that part of europe | 11:06 | ||
| Su-Shee | oh yes. we have one or two of those in berlin "sometimes". ;) | ||
| jnthn | Meh. I hate discovering Brit stag parties. | 11:07 | |
| mathw | Me too | ||
| jnthn | Those are the times when I normally deny being British. | ||
| mathw | Nottingham also has a reputation as a good place for stag parties | ||
| And hen nights | |||
| They're infuriating | |||
| Although at the moment it's all the new students at the universities who are busily drinking every drop of alcohol they didn't drink in their first 18 years | 11:08 | ||
| Su-Shee | luckily, tourists go in one place and all others somewhere else. ;) | ||
| moritz_ | rakudo: multi a($, $?) { 1}; multi b($, $) { 2 }; say a(1), a(1, 1) | ||
| mathw | making the can-buy-alcohol age the same as the go-to-university age may not be a good idea... | ||
| p6eval | rakudo 3eceb8: OUTPUT«11» | ||
| jnthn | It's fine to go out for some drinks when abroad...but pissing on national monuments is rather less so. | ||
| mathw | because suddenly they can buy it, and then they move away from their parents | ||
| and lo! Drinking ensues | |||
| jnthn: I agree with you entirely. | |||
| jnthn | Sadly, such incidents have happened enough here that a lot of locals have quite negative attitude now towards foreigners. :-( | 11:09 | |
| Su-Shee | isn't university where binge drinking has already stopped? | ||
| mathw | But then, I tend to avoid countries where I don't speak the native language because I feel too embarrassed to try and find someone who speaks English | ||
| Su-Shee: no | |||
| moritz_ | so binding to an optional parameter is just as narrow as a required one? | ||
| mathw | For a lot of people it starts at sixth form and continues until they get run over by an ambulance | ||
| moritz_ | *as to a* | ||
| (sorry for the off-topic question :) | 11:10 | ||
| jnthn | moritz_: The way optionals influence narrowness is kinda...interesting. | ||
| moritz_ | jnthn: do tell | ||
|
11:10
NorwayGeek joined
|
|||
| jnthn | moritz_: I'd love to, but I think the spec isn't so clear on it, and the code that takes care of that is decidedly hairy. | 11:10 | |
| Su-Shee | mathw: uhm.. you travel only to english spoken countries? :) | ||
| jnthn | moritz_: ihrd++ has brought this up a bit, and I've discussed it some with him. | 11:11 | |
| mathw | Su-Shee: Most of the time I stay in the UK, there's still a great deal to explore here. But I go to Germany happily, because I speak enough German to deal with all the likely situations. | ||
| jnthn | moritz_: But we're kinda lacking an easily explainable set of rules for arity based multi-dispatch in regards to optionals and slurpies. | ||
| moritz_: In general, more positionals is narrower than less positionals and a slurpy. | 11:12 | ||
| At one time we had it so that optionals didn't count into the type sorting. | |||
| Now we essentially take min($a.count, $b.count) | 11:13 | ||
| To decide how many parameters to consider in the type sort. | |||
| moritz_: So that's about the current state. I'm far from attached to it though. | |||
| moritz_ | I think I leave out that part for now :-) | 11:14 | |
| jnthn | Who'd of thought that arity based multi-dispatch would end up more complex than type-based... :-) | ||
| moritz_ | jnthn: anyway, thanks for the explanation | ||
| mathw | It wouldn't be if we didn't have optional parameters | ||
| But they make arities... uncertain | |||
| jnthn | mathw: aye | 11:15 | |
| well, it's two things. It's the fact that arity is non-trivial, but also how those things interact with the type based narrowness analysis. | |||
| mathw | yes, not only do you have a complicated set of rules, they have to interact with a different set of complicated rules | 11:16 | |
| jnthn | Well, the type rules are dead easy for the most part. | ||
| mathw | who came up with this multiple dispatch idea anyway | ||
| jnthn | "Well it blend^Wsmart-match?" | ||
| mathw | it's far too much effort | ||
| let's drop it | |||
| jnthn | Yeah, let's rip it out of the spec! | ||
| :-P | |||
| mathw | :) | 11:17 | |
| moritz_ | and the presence of a required named parameter is counted like a constraint, right? | 11:19 | |
| jnthn | moritz_: ye | 11:21 | |
| s | 11:22 | ||
| moritz_: that causes a full bindability check. | |||
| Just as constraints do. | |||
| Like constraints, they also do not contribute to type narrowness considerations, other than by their existence. | |||
| :(Int $x) is wider than :(Int $x, :$beer!) | 11:23 | ||
| However, if you had three sigs, like | |||
| :(Int $x), :(Int $x, Any :$beer!), :(Int $x, Weiss :$beer!) | 11:24 | ||
| Then the last two would be equally narrow. | |||
| And whichever one matched first would be teh winner | |||
| moritz_ | that's how I understood it, yes | ||
| wait... | |||
| jnthn | OK, good. :-) | ||
| aww, damm :-) | |||
| moritz_ | no ambiguous dispatch if both match? | ||
| jnthn | Not any more. | 11:25 | |
| moritz_ | ok | ||
| jnthn | The spec changed on that. | ||
| I'm not sure it's a change I agree with, but it changed. | |||
| mathw | But... Weiss is narrower than Any | ||
| moritz_ | mathw: but it's just a name :-) | ||
| mathw | Then isn't Int just a name? | 11:26 | |
| jnthn | mathw: It's tastier too, but that doesn't affect the type ordering. | ||
| mathw | Umm | ||
| moritz_ | mathw: that's the difference between positional and named | ||
| jnthn | mathw: Only the types of positionals are involved in type ordering. | ||
| mathw | I'm missing something | ||
| And I think it might be the idea that I might want to use named parameters | 11:27 | ||
| I guess most multidispatch is going to happen on compulsory parameters | |||
| And most nameds are optional | |||
| moritz_ | aye | ||
|
11:27
zamolxes joined
|
|||
| mathw | But it still seems odd | 11:27 | |
| that the Any might match instead of the Weiss when you give it something which ~~ Weiss | 11:28 | ||
| moritz_ | I think the dispatcher is sufficiently non-trivial already | 11:29 | |
| mathw | I'm not saying it's easy | ||
| But it is going to bite people | 11:30 | ||
| moritz_ | aye | ||
| jnthn | That, and other reasons, are why I think it's wrong that the spec changed to "pick the first one". | 11:31 | |
| mathw | because 'what's "first"' | 11:32 | |
| it's effectively ambiguous | |||
| jnthn | The other big problem is that "first one" is kinda hard to keep in your head when you're doing a "use" and importing stuff. | ||
| mathw | as far as most programmers are concerned, which one they get is a matter of pot luck (and possibly the order of their use statements) | ||
| jnthn | He wants to go sightseeing, but the weather is crap. | ||
| oh, wrong window | |||
| mathw | I was about to try and interpret that as an astonishingly wise metaphor | 11:33 | |
| jnthn | mathw: yes, my leaning too :-) | ||
| lol! | |||
| No, I'm not TimToady. :-) | |||
|
11:33
jan_ joined,
egypt joined
|
|||
| mathw | no | 11:36 | |
| you're jnthn | |||
| two TimToadys would be an extravagance | |||
| We'd have to lend one to another language | |||
|
11:39
michaelr joined
11:40
solarion joined,
tylerni7 joined,
buubot joined,
cxreg joined,
solarion joined,
allbery_b joined,
michaelr_ joined,
solarion_ joined
|
|||
| jnthn | I'd love to hear the two TimToadys debate the merits of their relative languages. :-) | 11:40 | |
|
11:41
cxreg joined
|
|||
| masak | jnthn: they wouldn't debate. they would just trump each other's witticisms. :) | 11:41 | |
| oh, and Joyous Diwali, people. | 11:43 | ||
|
11:43
zloyrusskiy joined
|
|||
| takadonet | morning all | 12:02 | |
| masak | o/ | 12:03 | |
|
12:08
envi^home joined
12:10
jnthn joined,
barney joined,
jaldhar_ joined,
xinming joined,
BinGOs joined,
zerhash joined,
rgrau joined,
p6eval joined,
PacoLinux joined,
alester joined,
drbean joined,
slavik joined,
colomon joined,
carlin joined,
shachaf joined,
sjohnson joined,
Grrrr joined,
nsh joined,
cosimo joined
12:35
meppl joined
|
|||
| takadonet | how do you create a directory in perl6? | 12:39 | |
| masak | mkdir | ||
| takadonet | thanks masak | 12:40 | |
| masak bows | |||
| colomon | is that implemented already? | ||
| masak | in Rakudo? | ||
| moritz_ | rakudo: mkdir '/tmp/blah/' | ||
| p6eval | rakudo 3eceb8: OUTPUT«Could not find non-existent sub mkdirin Main (file src/gen_setting.pm, line 206)» | ||
| takadonet | hmmmm | 12:41 | |
| masak | it isn't. | ||
| takadonet | so currently there is no way to create a directory in rakudo then? | ||
| moritz_ | there's run() | 12:42 | |
| rakudo: run('mkdir', '/tmp/foo') | |||
| p6eval | rakudo 3eceb8: OUTPUT«operation not permitted in safe modein Main (file /home/p6eval//p2/lib/parrot/1.6.0-devel/languages/perl6/lib/Safe.pm, line 24)» | ||
| takadonet | thanks | 12:43 | |
| masak | rakudo: sub foo() { our $already_called and die "Already called"; $already_called = 1; say "OH HAI" }; foo; foo | 12:44 | |
| p6eval | rakudo 3eceb8: OUTPUT«OH HAIAlready calledin sub foo (file /tmp/oxEof9vGMi, line 1)called from Main (file /tmp/oxEof9vGMi, line 0)» | ||
| masak | rakudo: sub foo() { state $already_called++ and die "Already called"; say "OH HAI" }; foo; foo | ||
| p6eval | rakudo 3eceb8: OUTPUT«OH HAIAlready calledin sub foo (file /tmp/5AZCNJORgm, line 1)called from Main (file /tmp/5AZCNJORgm, line 0)» | ||
| masak | quietfanatic: I think using 'state' is more idiomatic. at least if you don't plan to use $already_called outside of the routine. | 12:45 | |
| bpetering_ | masak: stuff for you soon | 12:51 | |
| masak | bpetering_: oh yay! I thought you had forgotten, been kidnapped, or both. :) | 12:52 | |
| bpetering_ | forgotten? how could i forgot you and all the wonderful people here? ;) | ||
| masak | I even toyed with the idea to write a blog post about our successful collaboration and your subsequent mysterious disappearance. | 12:53 | |
|
12:53
NorwayGeek joined
|
|||
| masak | but now I'd much prefer to wait a bit and see how the story continues. :) | 12:53 | |
| bpetering_ | gah, ppl asleep, etc etc :) | ||
| masak | bah, rules. | ||
| moritz_ | contributors beware - you might get kidnapped by an evil, secret PHP deployment organization | 12:54 | |
| bpetering_ | moritz_: s/PHP/ASP/ and you'd be close | ||
| moritz_ | bpetering_: ok :-) | ||
| anything with a trailing capital P :-) | |||
| bpetering_ | so, masak: you've been ridiculously patient. thank you :) | 12:59 | |
| masak | no problem. this world runs on voluntary contributions, after all. | 13:03 | |
|
13:04
payload joined
|
|||
| bpetering_ | *right* now i need to not fail a course for uni, and complete an evil .*P project, but after that: csv goodness | 13:04 | |
| masak | good luck on the former two. | 13:05 | |
| moritz_: what do you have against LISP? | 13:06 | ||
| moritz_ | good luck with all three :-) | ||
| masak: lc | |||
| masak | moritz_: opinions differ on that. | ||
| moritz_ | :-) | ||
| bpetering_ sides with moritz_ | |||
| masak | very well. what do you have against ROOP? | 13:07 | |
| masak is going through en.wikipedia.org/wiki/List_of_progr..._languages | |||
| bpetering_ | masak is way below the obscurity threshold | 13:08 | |
| masak | ROOP sounds cool. "ROOP is a multiparadigm programming language targeted at AI applications created at the Chengdu University of China. It combines rule-based, procedural, logical and object-oriented programming techniques." | ||
| the application domain is ridiculously narrow, though. most AI applications were not created at the Chengdu University of China. | |||
| :P | |||
| bpetering_ | moritz_: thank you | 13:09 | |
| masak: stop goofing off plz! before i beat you with the back-on-topic stick! ;) | 13:10 | ||
| masak laughs and climbs the drapes | |||
| bpetering_ | you're lucky i've finished my cocoa! | ||
| moritz_ | bpetering_: that's masakbot in safe mode. You don't even want to imagine him in safe mode switched off | 13:11 | |
| masak | me neither. | ||
| bpetering_ | does safe mode involve caffeine deprivation? | ||
| moritz_ | it mostly involves not throwing around rude Swedish words | 13:12 | |
| masak | moritz_: mind you, those first ones aren't rude in Swedish, and the second one is only a word in the sense that it's a compound of two existing words, one of them rude. | 13:13 | |
| bpetering_ off to fetch said stick | |||
| moritz_ | masak: so you say | ||
| masak | bpetering_: you'll have to catch me first. I'm now halfway to the ceiling, and it's a high ceiling. | 13:14 | |
| bpetering_ shakes the drapes | |||
| moritz_ fires off a well-aimed body binding curse at masak | 13:15 | ||
| bpetering_ | haha | ||
| masak becomes stiff, and gets caught in the drapes, unable to move | |||
| moritz_ | now let's just set the drapes on fire... :-) | 13:16 | |
| bpetering_ | we have discovered a new mode for masakbot | ||
| masak | hey, friends. | ||
| suddenly this doesn't feel like such a good idea after all. | |||
| let's negotiate, shall we? | |||
| moritz_ | sure | ||
| mathw Vanishes the drapes | 13:17 | ||
| masak falls | |||
| moritz_ | you find some bug, I write some more book stuff | ||
| moritz_ applies the "feather light fall" spell | |||
| masak | oof. | ||
| too little, too late. | |||
| bpetering_ | moritz speaks softly... | ||
| masak | lucky someone put that sacco bag there. | ||
| bpetering_ | masak: i still have the big stick. | ||
| masak | bpetering_: I'm on topic! we're talking about bugs, and the Perl 6 book, and... stuff. | 13:18 | |
| mathw | book book book | ||
| masak | bugs bugs bugs | ||
| bpetering_ | svedish chef chef chef? | ||
| mathw | I said book, not bork | 13:19 | |
| masak | .oO( mmm... chocolate Moose ) |
||
| mathw | life size? | ||
| moritz_ | post modern meta-chocolate system? | ||
| masak | I never meta chocolate I didn't like. | 13:20 | |
| moritz_ did | |||
| masak | tried the ginger variety, did you? | ||
| bpetering_ | moritz_: was it number 214 or so? | ||
| moritz_ | bpetering_: my chocolates aren't numbered :) | ||
| mathw | I did | 13:21 | |
| bpetering_ | indeed, better if you don't keep track :) | ||
| mathw | it had coconut in it | ||
| moritz_ | but >80% cocoa just doesn't take like chocolate anymore | ||
| mathw | no it's something else | ||
| but it's still nice | |||
| particularly if you mix it with other things | |||
| more of an ingredient, really | |||
| moritz_ | s/take/taste/ | ||
| masak | I don't care if my testing framework gets stuck in an infinite loop, because sooner or later Parrot dies anyway. ;P | 13:23 | |
| mathw | umm | ||
| with an attitude like that, you could work here! | 13:24 | ||
| bpetering_ | haha | ||
| masak | :) | ||
|
13:25
schaf joined
|
|||
| bpetering_ | well, friends... | 13:25 | |
| TTFN | |||
| evil chocolate^W ASP jobs with which to content :) | 13:26 | ||
| err, contend. | |||
| moritz_ | have the appropriate amount of fun :-) | ||
| bpetering_ | "With Perl 6 we shall be content." | 13:27 | |
| </yeahright> | |||
| moritz_: even if that's negatively numbered? | 13:28 | ||
| masak | "I'd rather cry in a Rakudo than laugh in PHP." | ||
| bpetering_ | "I'd rather cry at (the comparitive beauty of) Rakudo than laugh at PHP" | 13:31 | |
| On that note: Create Beauty. | 13:32 | ||
| Good night. | |||
| masak | we will. g'night. | 13:33 | |
| bpetering_ | ninight masakbot | ||
| masak bots happily | |||
| bpetering_ | night moritz, plz keep your curse gun aimed at masak :) | ||
| night mathw | 13:34 | ||
| moritz_ | it's 3:30pm here, no chance of sleeping any time soon :-) | ||
| krunen | rakudo: Q:PIR{%r=new'OS'}.mkdir("/tmp",1) | 13:38 | |
| p6eval | rakudo 3eceb8: OUTPUT«File existsin Main (file src/gen_setting.pm, line 206)» | ||
| krunen | hmm... that form of mkdir worked! shouldn't Q:PIR be stopped in the eval bot? | 13:41 | |
| masak | conceivably. | ||
| moritz_ | krunen: if you tell me how... gladly :-) | ||
| also eval(..., :lang<perl5>) is a considerable security risk | 13:42 | ||
| (and the reason p6eval was unavailable for a few hours yesterday) | |||
| krunen | moritz_: ok :/ | ||
|
13:44
Nasser joined
|
|||
| krunen | Anyway, that's a _slightly_ better mkdir than using run... | 13:45 | |
| moritz_ | krunen: you could turn that into a patch that adds it to the setting... | 13:46 | |
| krunen: then anbody could use it | |||
|
13:46
Nasser left
|
|||
| colomon | ooo, Parrot has mkdir already? | 13:49 | |
|
13:49
SmokeMachine joined
|
|||
| colomon | if so, adding mkdir to the setting would rock. | 13:49 | |
| krunen | moritz_: Good idea, I'll look at the specs and see if I can find a _right_ way :) | ||
| mathw | Parrot's got a lot of stuff | 13:50 | |
| I implemented getting mtime | |||
| but then I stalled on trying to figure out where to put it | |||
| so I've got it stashed away in my local rakudo | |||
|
13:51
KyleHa joined
|
|||
| colomon | Are there spectests for mkdir? | 13:56 | |
| moritz_ | ack will tell you | ||
| colomon | was already typing that in another window. | ||
| no. | |||
| Tene | moritz_: what was the HUGE JUMP in the rakudo spectests recently? | 13:57 | |
| colomon | trig tests, mostly, Tene. | ||
| moritz_ | colomon++, mostly :-) | ||
| Tene | Ah. | 13:58 | |
| takadonet | indeed colomon++ | 13:59 | |
| colomon blushes. | |||
| moritz_ | hugme: hug colomon | 14:00 | |
| hugme hugs colomon | |||
| masak | colomon++ | 14:01 | |
|
14:01
zloyrusskiy joined
|
|||
| moritz_ | @karma colomon | 14:01 | |
| lambdabot | colomon has a karma of 28 | ||
| colomon | woah, when did that happen? last time I checked I had a karma of 0... | ||
| krunen | S32/IO seems to say that something like p{/path}.create is the new mkdir | 14:02 | |
| moritz_ | urm | ||
| I'd ignore that and implement mkdir as a normal function :-) | 14:03 | ||
| masak | me too. | ||
| S32/IO is so full of it sometimes... | |||
| moritz_ | colomon: well, you comitted to pugs and rakudo - that gives karma | ||
| krunen | yeah :/ | ||
| takadonet | @karma takadonet | ||
| lambdabot | You have a karma of 0 | ||
| takadonet | hehe | ||
| masak | takadonet++ # welcome! | 14:04 | |
| moritz_ | takadonet: you ned to send more patches | ||
| colomon | moritz_: Yeah, but last time I checked I'd been committing to pugs and rakudo for about a month. :) | ||
| takadonet | @karma takadonet | ||
| lambdabot | You have a karma of 1 | ||
| takadonet | !!! | ||
| masak | hugme: hug takadonet | ||
| hugme hugs takadonet | |||
| colomon | Also, I think my rakudo commits are giving karma to "Solomon Foster" | ||
| moritz_ | @karma Foster | ||
| lambdabot | Foster has a karma of 0 | ||
| moritz_ | @karma Foster) | ||
| lambdabot | Foster) has a karma of 14 | ||
| moritz_ | there you go :/ | ||
| masak | :) | ||
| colomon | \\o/ | ||
| takadonet | moritz_ : I know, been busy working on bioperl stuff | 14:05 | |
| moritz_ | Infinoid: it seems dalek considers only parrot's CREDIT file for nick translation - could you also add rakudo's CREDITS file? | ||
|
14:08
kst joined
14:09
rfordinal left
14:10
Psyche^ joined
14:12
pmurias joined
|
|||
| dalek | kudo: d5a2ee9 | moritz++ | CREDITS: restore alphabetical order in CREDITS |
14:13 | |
|
14:14
kidd` joined
14:15
xenoterracide joined
14:18
xenoterracide joined
14:19
schmalbe joined
14:20
xenoterracide joined
14:23
zloyrusskiy joined
|
|||
| pugs_svn | r28795 | jimmy++ | [zh-cn/syn/S02-bits.pod] added a bit more translations. | 14:28 | |
| jnthn back | 14:29 | ||
| @karma Fosters | |||
| lambdabot | Fosters has a karma of 0 | ||
| jnthn | Fosters-- # meh, they call it beer, but really it's flavored water with a tiny bit of alcohol | 14:30 | |
| mathw | It's amusingly marketed | 14:35 | |
|
14:35
justatheory joined
|
|||
| mathw | In the UK, it's promoted as being Australian, and therefore apparently inherently good | 14:35 | |
| Due to the idea that Australians do nothing but sit around on the beach, have barbecues and drink beer | |||
| and then it says in the corner | |||
| 'Brewed in the UK' | |||
| jnthn | Well, I know that at least a couple of Australians show up here, and it seems they make breaks from those activities to write Perl 6. :-) | 14:36 | |
| mathw | yes, it's total nonsense | ||
| it's also advertised with things like 'you wouldn't want a warm beer, would you?' | 14:37 | ||
| jnthn | Maybe that's why so many Britts choose to emmigrate there...thinking the life really is all that. :-) | ||
| Well no, I wouldn't...good job pubs tend to serve beers cold. | |||
| mathw | no I think they just do it because the prime minister of australia isn't as ugly as ours | ||
| Of course, the problem it has appealing to me is that all the adverts start on the assumption that I might want some beer | 14:38 | ||
| jnthn | Natural beauty of leader doesn't always imply country in awesome state. | ||
| ;-) | |||
| Otherwise Ukraine would be the most awesome country in the whole world. :-) | |||
| moritz_ | sadly absence of natural beauty doesn't imply it either (see: Germany) | ||
| mathw | :) | ||
| see: the UK | |||
| various parts of the UK are completely mad, but I'm not planning on going anywhere | 14:39 | ||
| I firmly believe nowhere else is likely to be any better in the long term | |||
| jnthn | I think it's mostly trade-offs. | ||
| I didn't move to Slovakia because everything about it is better than in the UK. | 14:40 | ||
| I just fancied a change, a new language...and trains that weren't late. :-) | |||
|
14:42
Limbic_Region joined,
JimmyZ joined,
Exodist joined
14:44
nihiliad joined
|
|||
| Su-Shee | I like to work in Istanbul for a time. | 14:47 | |
| pmichaud | good morning, #perl6 | 14:52 | |
| moritz_ | pmich\\o/ or so :-) | 14:53 | |
| jnthn | oh hai pmichaud | 14:54 | |
| jnthn is having unproductive day | |||
| masak | pmichaud: oh hai | 14:55 | |
| JimmyZ | oh, good evening, #per6 ;) | ||
| jnthn | (planned unproductive...got visitor from Russia, plus Slovak class, plus pm group and beer tonight) | ||
| pmichaud | jnthn: no problem, my overnight was productive. I have P6grammar so that it can (almost) compile itself. | 14:56 | |
| s/compile itself/compile its own parser/ | |||
| jnthn | pmichaud: Nice work! | ||
| :-) | |||
| Go parse yourself! | 14:57 | ||
| ;-) | |||
| So next step is parse NQP? | |||
| masak | parsi seauton. | ||
| pmichaud | want to finish the bootstrap first -- next step is eliminate PGE from the process | ||
| jnthn | aha, ok | ||
| masak | \\o/ | ||
| pmichaud++ | 14:58 | ||
| JimmyZ | It's really nice work! | ||
| masak | it is indeed. | 14:59 | |
|
15:03
kst joined
|
|||
| pugs_svn | r28796 | kyle++ | [t/spec] A # in a test description fools the harness | 15:04 | |
|
15:06
lanny joined
15:07
NorwayGeek joined
|
|||
| lanny | rakudo: my $x=[1,2,3]; my @y = $x; @y.elems.say; | 15:09 | |
| p6eval | rakudo d5a2ee: OUTPUT«1» | ||
| lanny | How would I flatten that array instead of assigning it as the first element? | ||
| Tene | put a | in front of it. | ||
| pmichaud | rakudo: my $x = [1,2,3]; my @y = @($x); @y.elems.say | ||
| p6eval | rakudo d5a2ee: OUTPUT«3» | ||
| Tene | that works too. | 15:10 | |
| lanny | Tene: my first guess but it didn't work. | ||
| pmichaud: thanks | |||
| pmichaud | the | is for flattening in argument lists | ||
| moritz_ | | in front is for interpolation into signatures | ||
| pmichaud | I'm not sure it applies to bare terms | ||
| moritz_ | erm, yes, argument lists, not signatures | ||
| Tene | But this doesn't count. Okay. | ||
| rakudo: my $x=[1,2,3]; my @y = (|$x); @y.elems.say; | |||
| p6eval | rakudo d5a2ee: OUTPUT«1» | ||
|
15:11
hercynium joined
|
|||
| pmichaud | can also use .list | 15:11 | |
| rakudo: my $x = [1,2,3]; my @y = $x.list; @y.elems.say | |||
| p6eval | rakudo d5a2ee: OUTPUT«3» | ||
| moritz_ | or binding | ||
| rakudo: my $x = [1,2,3]; my @y := $x; say @y.elems | |||
| p6eval | rakudo d5a2ee: OUTPUT«3» | ||
| moritz_ | rakudo: my $x = [1,2,3]; my @y := $x; say @y.push: 4; say $x.elems | 15:12 | |
| p6eval | rakudo d5a2ee: OUTPUT«12344» | ||
| moritz_ | however binding keeps a relation between the variables | ||
| lanny | Hmm. I had tried my @y = list $x; trying to put it in list context but of course it already was in list context. | 15:13 | |
| rakudo: sub foo(@xs) { @xs.elems.say; }; my $x = [1,2,3]; foo($x); | 15:16 | ||
| p6eval | rakudo d5a2ee: OUTPUT«3» | ||
| dalek | ok: 7264634 | moritz++ | src/multi-dispatch.pod: [MMD] Paper, Scissors, Stone |
15:17 | |
| lanny | moritz: so if I then call wins(Dog.new(), Dog.new()) I also get a draw? | 15:19 | |
| moritz_ | lanny: right | ||
| PerlJam | lanny: and wins(Dog.new,Cat.new) means that the cat wins :) | 15:21 | |
| lanny | Would it without a definition that matched for the multi dispatch? | 15:22 | |
| moritz_ | first come, last serve | ||
| lanny | (I'm looking at the code review) | ||
| moritz_ | lanny: the (Any, Any) version matches any two object | ||
| (though written as ($, $) in the example) | |||
| lanny | hmm. ah. The '$'s snuggled up against the ',' had me missing that | 15:23 | |
| dalek | p-rx: ec4637c | pmichaud++ | (6 files): Change src/parrot/ to more correctly named src/cheats/ . |
15:24 | |
| moritz_ | lanny: I hope that in a rendered version it's not so easy to miss | ||
| lanny | So you'd need something like: multi wins( Rock|Paper|Stone ::T $, T $) { 1 } to get around that? | ||
| moritz_ | right | 15:25 | |
| lanny | ok | ||
| moritz_ | std: multi wins( Rock|Paper|Stone ::T $, T $) { 1 } | ||
| p6eval | std 28796: OUTPUT«[31m===[0mSORRY![31m===[0mInvalid typename Rock at /tmp/YZdQG15AtO line 1:------> [32mmulti wins( Rock[33m⏏[31m|Paper|Stone ::T $, T $) { 1 }[0mFAILED 00:02 111m» | ||
| moritz_ | std: multi wins( Int|Num|Str ::T $, T $) { 1 } | ||
| p6eval | std 28796: OUTPUT«[31m===[0mSORRY![31m===[0mUnable to parse signature; couldn't find final ')' at /tmp/6s3nerMRGm line 1:------> [32mmulti wins( Int[33m⏏[31m|Num|Str ::T $, T $) { 1 }[0m expecting any of: constraint param_sep parameter trait | ||
| ..type_constraint whitespaceFAILED 00:0… | |||
| moritz_ | lanny: I think junctive types aren't supported in Perl 6 | ||
| PerlJam | Hmm. should constraints on ::T work? | 15:26 | |
| lanny | Odd. I thought I saw something on those. | ||
| moritz_ | but you can of course say subset MyGame of Any where { Rock|Paper|Scissors }; | ||
| lanny: yes, but they were removed | |||
| lanny | true | ||
| ah | |||
| moritz_ | std: multi a(Int ::T $x) { } | ||
| p6eval | std 28796: OUTPUT«ok 00:01 108m» | ||
| lanny | My last really solid read of the specs was when I was working on pugs. :/ It's a lot like coming back to the town you grew up in and wondering what happened to the burger place and where that Walmart came from. | 15:27 | |
| moritz_ | from the US, probably :-) | ||
| lanny | well, yeah. :) | ||
| std: subset MyGame of Any where { Rock|Paper|Scissors }; multi wins( MyGame ::T $, T $) { 1 }; | 15:28 | ||
| p6eval | std 28796: OUTPUT«Undeclared names: Paper used at line 1 Rock used at line 1 Scissors used at line 1ok 00:02 112m» | ||
| PerlJam | std: multi foo(::T where { $_ ~~ Int } $x) { } | ||
| I was thinking something more like that. | |||
| p6eval | std 28796: OUTPUT«ok 00:02 111m» | ||
| dalek | ok: 12e0ec5 | moritz++ | src/multi-dispatch.pod: [MMD] actually call multi wins() |
||
| lanny | std: class Rock {}; class Paper {}; class Scissors {}; subset MyGame of Any where { Rock|Paper|Scissors }; multi wins( MyGame ::T $, T $) { 1 }; | 15:29 | |
| p6eval | std 28796: OUTPUT«ok 00:02 112m» | ||
| lanny | So is it correct that arrays of item context expand to arrays of list context into subs but not by assignment? That seems unexpected. | 15:33 | |
| moritz_ | that's because argument passing is really a form of binding, not of assignment | ||
| lanny | rakudo: sub foo(@xs, @ys) { @xs.elems.say; }; my $x = [1,2,3]; my @y = [4,5,6]; foo($x, @y); | 15:34 | |
| p6eval | rakudo d5a2ee: OUTPUT«3» | ||
| lanny | Ah. That makes sense. | ||
| rakudo: sub foo(@xs, @ys) { @xs.elems.say; }; my $x = [1,2,3]; my @y = [4,5,6]; foo(($x,), @y); | |||
| And easy enough to work around. | |||
| p6eval | rakudo d5a2ee: OUTPUT«1» | ||
| lanny | rakudo: sub foo(@xs is copy, @ys) { @xs.elems.say; }; my $x = [1,2,3]; my @y = [4,5,6]; foo($x, @y); | 15:35 | |
| p6eval | rakudo d5a2ee: OUTPUT«3» | 15:36 | |
| masak | rakudo: class Scissors {}; class Paper {}; multi wins(Scissors $, Paper $) {}; multi wins($, $) {}; wins(Scissors, Paper) | 15:40 | |
| p6eval | rakudo d5a2ee: OUTPUT«Parameter type check failed; expected Scissors, but got Paper for $ in call to winsin sub wins (file <unknown>, line <unknown>)called from Main (file /tmp/xFj0WmgXLS, line 0)» | ||
| masak | rakudo: class Scissors {}; class Paper {}; multi wins(Scissors $a, Paper $a) {}; multi wins($, $) {}; wins(Scissors, Paper) | ||
| p6eval | rakudo d5a2ee: OUTPUT«Parameter type check failed; expected Scissors, but got Paper for $a in call to winsin sub wins (file <unknown>, line <unknown>)called from Main (file /tmp/pcVjjJ7ARu, line 0)» | ||
| Infinoid | moritz_: Not a bad idea. Please keep bugging me until I do it :) | 15:41 | |
|
15:41
p6eval joined
|
|||
| moritz_ | Infinoid: feel bugged then :-) | 15:41 | |
|
15:44
infrared joined
|
|||
| masak | swimming & | 15:50 | |
| lanny | std: class FCF {}; our Order multi sub cmp (Ordering $by = &infix:<cmp>, FCF $a, FCF $b) { 1 }; # from spec (optional pre positional) | 15:56 | |
| p6eval | std 28796: OUTPUT«[31m===[0mSORRY![31m===[0mCan't put required parameter after optional parameters at /tmp/otb4hBq7Sw line 1:------> [32mcmp (Ordering $by = &infix:<cmp>, FCF $a[33m⏏[31m, FCF $b) { 1 }; # from spec (optional p[0m expecting any of: constraint parameter | ||
| ..trait whitesp… | |||
| lanny | std: class FCF {}; our Order multi sub cmp (FCF $a, FCF $b, Ordering $by = &infix:<cmp>) { 1 }; # broked | ||
| p6eval | std 28796: OUTPUT«ok 00:03 135m» | ||
| lanny | ooh. or not. self-face | 15:57 | |
| rakudo: class FCF {}; our Order multi sub cmp (FCF $a, FCF $b, Ordering $by = &infix:<cmp>) { 1 }; # broked | |||
| p6eval | rakudo d5a2ee: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 2, near ", Ordering"in Main (file <unknown>, line <unknown>)» | ||
| dalek | ok: d610b86 | moritz++ | src/multi-dispatch.pod: [MMD] reference RT #69798 |
||
| moritz_ | it doesn't know about type Ordering, I suppose | ||
| rakudo: Ordering | |||
| p6eval | rakudo d5a2ee: OUTPUT«Could not find non-existent sub Orderingin Main (file src/gen_setting.pm, line 206)» | ||
|
15:58
meppl joined
|
|||
| moritz_ | std: sub a(::T, T) { } | 15:59 | |
| p6eval | std 28796: OUTPUT«ok 00:02 107m» | ||
| moritz_ | rakudo: sub a(::T, T) { } | ||
| p6eval | rakudo d5a2ee: ( no output ) | ||
| moritz_ | rakudo: sub a(::T, T) { }; a(3, 5); say 'alive'; | ||
| p6eval | rakudo d5a2ee: OUTPUT«alive» | ||
| moritz_ | rakudo: sub a(::T, T) { }; a(3, '5'); say 'alive'; | 16:00 | |
| p6eval | rakudo d5a2ee: OUTPUT«Parameter type check failed; expected Object, but got Str for ::TYPE_CAPTURE19 in call to ain sub a (file <unknown>, line <unknown>)called from Main (file /tmp/ccqXoeu2wr, line 0)» | ||
| moritz_ | that's LTA | ||
| rakudo: sub a(::T $x, T $y) { }; a(3, '5'); say 'alive'; | |||
| p6eval | rakudo d5a2ee: OUTPUT«Parameter type check failed; expected Any, but got Str for $y in call to ain sub a (file <unknown>, line <unknown>)called from Main (file /tmp/IFpOuXzCso, line 0)» | ||
| lanny | std: class A {}; multi sub cmp(A $a, A $b) of Order { Order::Same }; (A.new() cmp A.new()).say; | 16:08 | |
| p6eval | std 28796: OUTPUT«ok 00:02 114m» | ||
| lanny | rakudo: class A {}; multi sub cmp(A $a, A $b) of Order { Order::Same }; (A.new() cmp A.new()).say; | ||
| p6eval | rakudo d5a2ee: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'in Main (file src/gen_setting.pm, line 206)» | ||
| lanny | What does PP->I mean? | ||
| quietfanatic | lanny: I believe that's a Parrot signature, that takes two PMCs and returns an Int. | 16:11 | |
| lanny | Thanks. | ||
| quietfanatic | masak: yes state does make more sense. I guess I was still in p5 mode. | 16:12 | |
| Oh deah. | 16:14 | ||
| I didn't check sample-libcrypt.pl for runningness | |||
| Woodi | do tie is implemented in p6 now ? | 16:18 | |
| lanny | ugh. Just too many missing parts to do a continued fraction implementation. | ||
| Woodi | many many ? | 16:19 | |
| moritz_ | there's no tie in Perl 6 | 16:22 | |
| Woodi | so it will be module/package ? | 16:24 | |
| moritz_ | there'll probably be container types | 16:25 | |
|
16:27
Confield joined
|
|||
| Woodi | k, will read about. thank you | 16:27 | |
| moritz_ | if you find any good documentation, please let me know | ||
| pmichaud | look for Tieable, STORE, and FETCH | ||
| that part of the spec is still a little fuzzy, though. | 16:28 | ||
| quietfanatic | Container types will be necessary to write assignment-style mutator methods like $obj.attr = 4 | 16:30 | |
| moritz_ | interesting... in the resig branch RT #69798 is fixed, but it gives a wrong answer for a different example | 16:32 | |
| Woodi | thanx pmichaud | 16:35 | |
| Woodi decided to writr dictionary/jargon file for p6. just for education :) | 16:37 | ||
| vivifications, postcircomfixes, junctions.... | |||
| moritz_ | Woodi: see docs/BootstrappingContributors.pod and docs/IRCchannelLexicon.pod in the pugs repo for a start | 16:38 | |
| Woodi | oops :) | ||
| moritz_ | well, it's only a start, and needs your contribution rather badly | ||
| Woodi | let me learn something first pls... | 16:39 | |
| moritz_ | Woodi: you can also write a list of terms you'd like explained in that file, and maybe somebody will do add these terms | 16:40 | |
| Woodi | k, I will look into pugs | 16:41 | |
| dalek | p-rx: fbb15ef | pmichaud++ | src/Regex/Cursor.pir: Add lang argument to Cursor.!cursor_start. |
16:43 | |
| p-rx: fb80e2d | pmichaud++ | src/Regex/P6Grammar (2 files): [p6grammar]: Action methods to automatically create grammar object. |
|||
| p-rx: 8cd492a | pmichaud++ | src/Regex/P6Grammar/Actions.pm: [p6grammar]: Add ability to declare a parent grammar. |
|||
| pugs_svn | r28797 | moritz++ | [docs] SVN props, line endings | 16:46 | |
|
16:47
cdarroch joined,
stephenlb joined
16:49
justatheory joined
17:11
kst joined
|
|||
| pugs_svn | r28798 | moritz++ | [t/spec] tests for RT #69798 | 17:20 | |
|
17:22
NorwayGeek joined
17:23
pmurias joined
|
|||
| pugs_svn | r28799 | colomon++ | [spec/t] Add tests for overloaded operators and = forms. | 17:26 | |
|
17:35
am0c joined
|
|||
| dalek | p-rx: 07b5fef | pmichaud++ | src/Regex/P6 (2 files): Add node (line+file) annotations to P6Regex generation. |
17:41 | |
|
17:50
NorwayGeek joined
18:00
Bucciarati joined
18:06
kst joined
18:07
rfordinal joined
18:15
hercynium joined
18:54
synth joined,
Jedai joined
19:03
kst joined
19:05
ShaneC joined
19:08
desertm4x joined
|
|||
| dalek | p-rx: 40101f8 | pmichaud++ | src/PAST/Compiler-Regex.pir: Optimize quantification of common character classes like \\s, \\d, \\w, etc. |
19:13 | |
|
19:31
eMaX joined
19:48
lichtkind joined
19:51
zamolxes joined
19:58
SmokeMachine joined
20:05
nihiliad joined
20:09
Limbic_Region joined
|
|||
| lichtkind | the rss feed of rakudo.org seems broken | 20:10 | |
| moritz_ | it is | 20:12 | |
|
20:16
Su-Shee left
20:25
linguini joined
20:45
mspaulding joined
20:53
kst joined
20:56
zloyrusskiy joined
|
|||
| pmichaud | I'm thinking of using ¶ in NQP as a metachar to indicate PIR opcodes | 20:57 | |
| i.e. | |||
| my $i := ¶index "abcd", $x | |||
| PerlJam | pmichaud: how do you type that? :) | ||
| pmichaud | on my keyboard, it's right-alt+P-P | ||
| er | |||
| right-alt+P+P | |||
| in vi, it's ctrl-k+P+I | 20:58 | ||
| PerlJam wonders if he's going to have to learn how to conifgure his keys so that he can do that in padre. | |||
| pmichaud | well, I'm open for other suggestions. | ||
| It needs to be something that isn't likely to conflict with Perl 6. | 20:59 | ||
| moritz_ | ¥ | ||
| don't know if that's easier to type, though ;-) | |||
| PerlJam | It fine by me, I just want to be able to type it :) | ||
| s/It/It's/ | |||
| moritz_ | compose = Y | ||
| pmichaud | well, perhaps I should just go with "PIR_*" | 21:00 | |
| as in PIR_index | |||
| moritz_ | that might be easier for the Unicode challenged | ||
| PerlJam | but that's 5 keystrokes. | ||
| moritz_ | BTW I CAN HAZ BLOGGED: perlgeek.de/blog-en/perl-6/an-entry...omers.html | ||
| pmichaud | I'm not worried too much about keystrokes or challenge to type. Its use should be rare. | 21:01 | |
| I'm more interested in making sure that it remains valid Perl 6 syntax. | |||
| so the PIR_ form seems to like that | |||
| or perhaps I just grab a valid Unicode letter | |||
| moritz_ | if you use a word characters it's a valid identifier | 21:02 | |
| pmichaud | right | 21:03 | |
| thus "valid Unicode letter" :-) | |||
| maybe thorn ? | 21:04 | ||
| moritz_ | I was about to suggest that | ||
| it looks a bit like a P | |||
| Tene | pmichaud: I like ¶ | ||
| PerlJam | I think I preferred ¶ | ||
| pmichaud | yes, but then it's not a valid identifier :-| | 21:05 | |
| moritz_ | but sufficiently distinct | ||
| and it's Latin-1 | |||
|
21:06
rfordinal left
|
|||
| pmichaud | thorn is latin-1 also :) | 21:06 | |
|
21:06
nihiliad joined
|
|||
| pmichaud | my $i := þindex "abcd", $x | 21:06 | |
| moritz_ | I was talking about thorn ;-) | 21:07 | |
| PerlJam | How do you pronounce "þindex"? | ||
| moritz_ | PIR index | ||
| Tene | PerlJam: "thindex" of course | 21:08 | |
| PerlJam | Tene: clearly you and I think alike :) | ||
| pmichaud | my $i := Þindex "abcd", $x # capital thorn | ||
| Tene | ITYM þink alike | ||
| pmichaud | oh, another possibility might be to create a pseudo-namespace | 21:09 | |
| PerlJam | heh | ||
| pmichaud | my $i := PIR::index "abcd", $x | ||
| PerlJam | pmichaud: that's the one I'd go with! | ||
| moritz_ | +1 | ||
| PerlJam | (If I had thought of it) | ||
| Tene | pmichaud: what was wrong with pir: ? | ||
| pmichaud | it ends up conflicting with Perl 6 syntactic categories such as infix:, circumfix:, etc. | 21:10 | |
| moritz_ | std: pir:index 3, 5 | ||
| p6eval | std 28799: OUTPUT«[31m===[0mSORRY![31m===[0mTwo terms in a row at /tmp/yqLD0FgDvM line 1:------> [32mpir:index [33m⏏[31m3, 5[0m expecting any of: bracketed infix infix stopper standard stopper statement modifier loop terminatorUndeclared routine: pir used at line | ||
| ..1FAILED 00:01 … | |||
| Tene | ah, I think I get it. | ||
| pmichaud | for the price of an extra colon, we get something that parses as very straightforward Perl 6. | ||
| Tene | can it be pir:: instead? | 21:11 | |
| pmichaud | I'd be fine with pir::, but I kind of like the analogue to Q:PIR (uppercased PIR) | ||
| moritz_ | I think capitcal PIR:: would be consistent with Q:PIR | ||
| pmichaud | in some sense I want it to stand out as being "whoa! this isn't really Perl 6 here!" | ||
| PerlJam | Perl has a history of grabbing ALLCAPS things for itself | ||
| Tene | Sure, okay. I can live with that. | ||
| pmichaud | that's why I went with Q:PIR instead of Q:pir, also | 21:12 | |
| uppercase meaning the compiler is doing something a bit special there. | |||
|
21:12
quietfanatic joined
|
|||
| Tene | hi quietfanatic | 21:12 | |
| pmichaud | PIR:: it is, thanks everyone for suggestions. | ||
| I'm much happier with that choice than anything else I've managed to come up with. | 21:13 | ||
| quietfanatic | hi Tene | ||
|
21:13
patrickas joined
|
|||
| patrickas | hello, i just checked rakudo.de and there is a HUGE upward spike in the specktest progress! Is that a glitch in the stats ? or did somethign huge happen ? | 21:14 | |
| pmichaud | lots of trig spectests were added | ||
| I need to write a blog post. Maybe I'll steal some time away from nqp-rx this evening and write that | 21:15 | ||
| patrickas | Oh ok .. so no new features ... just new test :-) | 21:16 | |
| pmichaud | some new features, but mostly new tests | ||
| patrickas | Cause I did not see any blog posts / info about it on the planet(s) so I was surprized! | 21:17 | |
| anyways, thank pmichaud and keep up the great work. | |||
| Tene | Why are there SO MANY trig tests, btw? | ||
| PerlJam | Tene: trig is *hard* ;) | ||
| pmichaud | I think they're mostly generated tests | ||
| so they test every trig function against all of the different types (int/num/rat/complex) and with variations on calling arguments | 21:18 | ||
| Tene | Okay, sounds reasonable. | ||
| moritz_ | because it's a lot of functions with a lot of inverse functions and a lot of ways to call it with a lot of types | ||
| pmichaud | but that's a guess, I haven't looked at the tests themselves. | ||
| PerlJam idly wonders about rakudo's code coverage | |||
| moritz_ would love to see code coverage reports | 21:19 | ||
| PerlJam | we don't have a good way to measure that yet, do we? | ||
| Tene | I wonder if we could get parrot to report the HLL annotations for everything it executes... | ||
| then just aggregate them, and see what's covered and what's missing. | 21:20 | ||
|
21:28
yahooooo joined
|
|||
| colomon | pmichaud: you've got it on the trig tests. every function is tested against int / num / rat / complex and degrees / radians / gradians / revolutions, etc. | 21:37 | |
| moritz_ | and in every quadrant | 21:39 | |
| colomon | and there are 25 trig functions | 21:40 | |
|
21:40
charsbar_ joined
|
|||
| colomon | and the worse part is, I need to add some more tests once we get the proper trig base specification system running. | 21:40 | |
| I'm thinking I may drop a couple of the different angles tested from the list to compensate. | 21:41 | ||
| moritz_ | why more tests? can't we just use the old ones, but replace the strings by the Enum values? | ||
| colomon | you can set the base value in your scope instead of per function. | 21:42 | |
| once that functionality is in, I mean. | |||
| $!TRIGBASE = Radians; | |||
| moritz_ | ok, so one more test per trig function | ||
| => 25 more tests - that we can handle ;-) | 21:43 | ||
| colomon | we will certainly replace the strings by the Enum values when they are ready! it's an easy change for the tests. | ||
| moritz_ | or maybe 2 per function, if we want to be sure that it's reset in the outer scope | ||
| colomon | we can let it fall into the next default case to test the reset in outer scope bit. | 21:45 | |
|
21:45
kst joined
|
|||
| colomon | but I think we might want more than one test per trig function. | 21:45 | |
| moritz_ | that's fine; I just don't think we need 20 per trig function for this matter | 21:50 | |
| Tene | colomon: better might be to have the test check that *all* of the angles pass. | 21:51 | |
| so one test per 20 angles. | |||
| colomon | Tene: do you mean one test per 20 degrees? | 21:56 | |
| moritz_: so really, I wanted to talk about your blog post... | 21:58 | ||
| moritz_ | \\o/ | ||
|
21:58
snearch joined
|
|||
| Tene | colomon: I mean, instead of having one test for each angle, just put all the angles for a given set of (trig function, base, method, etc) into one test, if people want to reduce the number of trig tests. | 21:59 | |
| colomon | ah, I see, I think. | ||
| Tene | instead of ok(sin(1)), ok(sin(2)), ...; do ok(sin(1) & sin(2) & ...) | 22:00 | |
| not literally like that, of course. | |||
| I don't know if reducing the number of trig tests is anyone's priority. | |||
| moritz_ | certainly not mine | 22:01 | |
| considering that if do put them together, you have to take special care to get good diagnostics | |||
| Tene | Sure. | ||
| It looks a little bit weird for half of our tests to be trig, maybe. | |||
| colomon | That means we just need to write more non-trig tests! | 22:02 | |
| Tene | I don't mind it. | ||
| hehe | |||
| moritz_ | what colomon said ;-) | ||
| colomon | (which is what I've been working on rather than cleaning up the trig tests.) | ||
| it's why every other day or so I post here going, "Do we have tests for X?" | |||
| moritz_ | then then I answer with "ask ack" ;-) | 22:03 | |
| colomon | though my progress at getting said tests actually written has been slow. | ||
| (eight more today so far, I think.) | |||
| moritz_: on the blog post thing: | 22:04 | ||
| seems like maybe perl6.org needs an overview section? | 22:05 | ||
| moritz_ | the front page is supposed to be the overview | 22:06 | |
| and from my analysis it seemed to fullfill that function in 3 of 5 categories | 22:07 | ||
| colomon | front page gives lots of useful links, but there's no direction to it. | ||
| moritz_ | right | ||
| so maybe a "getting started" page? | |||
| colomon | maybe? | 22:09 | |
| it's hard to imagine what it would look like arriving there with no clear idea what is going on. | |||
| (for me, anyway.) | |||
| moritz_ | or do you have a good idea how to give the front page direciton? | ||
| lichtkind | moritz_: when the november pages are in shape we could link there from perl6.org to | ||
| colomon | nope. | ||
| lichtkind | moritz_: its supposed to be an beginners intro into world of perl 6 | 22:10 | |
| moritz_ | lichtkind: that's a nice idea | 22:11 | |
| lichtkind | moritz_: good i give you a sign when im done there | ||
| colomon | moritz_: If I had a brilliant idea for how perl6.org should look, I'd just change it myself. :) | 22:12 | |
| lichtkind | moritz_: november has the advantage to say btw all you read was served to you by perl 6 | ||
| moritz_: i geban some moth ago but had do stall but talked with masak in november we will make more effort for november :) | 22:13 | ||
| s/geban/began/ | |||
|
22:13
quietfanatic joined
|
|||
| cognominal | lichtkind, some moth ago? the camelia bug went there apparently :) | 22:16 | |
| lichtkind | cognominal: i speak about november-wiki.org | 22:17 | |
| cognominal | that was just a stupid joke | 22:18 | |
| lichtkind | cognominal: so i was too sleepy to get it | 22:20 | |
|
22:21
goksie joined
22:22
justatheory joined
22:29
KyleHa joined
|
|||
| lichtkind | night folks | 22:30 | |
|
22:30
mikehh joined
22:34
gbarr joined
22:41
goksie left
|
|||
| jnthn | Mmmmm....nice relaxing evening off with sufficient pivo. :-) | 22:51 | |
|
22:55
wknight8111 joined
23:01
kst joined
23:04
s1n_mini joined
23:06
meppl joined
|
|||
| colomon | moritz_: son now asleep in lap, can type again (slowly) | 23:07 | |
|
23:08
__ash__ joined
|
|||
| __ash__ | is there a place in the spec where they talk about how use lib works | 23:09 | |
| colomon | I'd guess S10 or S11? | 23:10 | |
| jnthn | If it's gonna be in the spec, those are the places I'd look too. | 23:12 | |
| __ash__ | should i be using use or import to se the folder my library stuff is in? | ||
| okay, that didn't make sense | 23:13 | ||
| i set the path with use lib('path'); then do i actually import with use or import? | |||
| colomon | use | ||
| (admittedly don't know what import does. but for instance "use Test;" to get Test.pm) | 23:15 | ||
| __ash__ | yeah, thats what I am trying to do, I have a set of library functions (Heap.pm), trying to write some tests in a separate file so its not 1 huge file, sadly this is the first time i have had to do this and don't know the right way to | 23:16 | |
| s1n_mini | does rakudo support use lib yet? | ||
| jnthn | Not as far as I know. | 23:17 | |
| __ash__: You probably wnat use. | 23:18 | ||
| __ash__ | i thought it did, but maybe not, i thought i saw someone elses example doing use lib('./lib'); | ||
| colomon | do you want to make it a proper proto module? | 23:19 | |
| there is some boilerplate you can use... | |||
| __ash__ | i guess i should do BEGIN { @*INC.push: 'lib', '../lib' }; ? (stealing that from moritz's svg-plot stuff | ||
| colomon | lastofthecarelessmen.blogspot.com/2...efile.html | 23:20 | |
| s1n_mini | could just put that in the setting? | ||
| __ash__ | *shamefully doesn't know any of the advanced things about makefiles* | ||
| i can get the gcc to compile my C homework but you ask me to do much else and i say, ummm well here is a ruby script that does that... | 23:21 | ||
| s1n_mini painfully does | |||
| colomon | pretty sure that post doesn't involve anything advanced | ||
| or at least the magic is all hidden away in masak's files | 23:22 | ||
| __ash__ | who's blog is that? just curious (book marking all the perl6 ones i have been finding) | 23:23 | |
| s1n_mini | colomon: masak wrote a Makefile filter, which is the Configure script | ||
| colomon | __ash__: it's anonymous | 23:24 | |
| __ash__ | ah, k | ||
| ah, one last question, whats everyones favorite part of perl6, i am giving a little presentation on Perl 6 for my ACM group, just wanted to touch on all the key parts | 23:27 | ||
| s1n_mini | it cures cancer :) | ||
| __ash__ | lol | ||
| s1n_mini takes bets for quickest answer of "junctions" | 23:29 | ||
| colomon | I've been loving the hyper-operators lately. Being able to say something like @angles>>.sin to generate a new array of the sines of @angles is really nice.... | ||
| s1n_mini | seriously, the grammar engine is my favorite | ||
| jnthn | Multi-dispatch is kinda powerful. | 23:30 | |
| colomon | I remember being all excited about junctions back before pugs, but have only used the the tiniest bit so far | ||
| __ash__ | yeah, i was going to be sure to talk about grammars, i don't know them that well yet, but i am trying to go over at least S2-14 and learn the key parts of each, they seem to cover the main just of things | 23:31 | |
| s1n_mini | jnthn is biased :) | ||
| jnthn | :P | ||
| __ash__ | multi-dispatch is great too, now that i started using it more every time i go back to other languages i am like, man, so many optional paramters that i need to check, | ||
| s1n_mini | real method signatures are nice | 23:32 | |
| (slurpy, named parameters, etc) | |||
| jnthn | s1n_mini: Again, I'm biased 'cus it's what I'm hacking on at the moment, but I'm also really looking forward to seeing what people can use nested signatures for. | 23:33 | |
| Both for unpacking data structures and also when combined with multi-dispatch. | |||
| colomon | nested? | ||
| s1n_mini | i'm looking forward to just abusing every feature to its logical conclusion | 23:34 | |
|
23:34
FOAD_ joined
|
|||
| colomon | s1n_mini: :) | 23:34 | |
| jnthn | colomon: If you take a parameter in a signature, you can then bind it against another signature. | ||
| __ash__ | multi-methods are cool for the fact that you can manage each verison of the function independantly without changing everything else, its either multi-methods or double-dispatch, then you have to make sure every object has its own version of whatever it needs to do, and that just seems like more work | ||
| jnthn | colomon: Once it's implemented, I'll be sure to blog some examples :-) | 23:36 | |
| colomon | jnthn: great. :) | ||
| s1n_mini | first class object model is nice, no more wheel reinvention :) | 23:37 | |
| quietfanatic | Is there a way in Rakudo to access arbitrary memory locations via pointers? | ||
| jnthn | s1n_mini: Aye. Also, custom meta-classes (not in Rakudo yet) will be also cool. Even less wheel reinvention. :-) | ||
| s1n_mini | best feature about perl6, hands down: rakudo | 23:38 | |
| jnthn | Oh, Rakudo has much way to go yet. :-) | 23:39 | |
| s1n_mini | but the perfect is the enemy of the good :) | ||
| quietfanatic | Actually, most of what I like the best in Perl 6 is the small things, like not having to put parens around conditions. | ||
| and using . instead of -> | 23:40 | ||
| Oh yes: named arguments. I love named arguments. | 23:41 | ||
| __ash__ | i'll be sure to talk about things to come (Like lazy lists that aren't in rakudo) and things that are working, like the new regex stuff, and object system | ||
|
23:41
justatheory joined
|
|||
| __ash__ | lazy lists still aren't in rakudo right? i am not just making that on up? | 23:41 | |
| cognominal | quietfanatic, yes, perl 6 can be seen as a better perl 5. That's ok | ||
| colomon | __ash__: right, still no lazy | 23:42 | |
| quietfanatic | cognominal: your tone suggests disappointment. :) | ||
| s1n_mini | cognominal: i'd hope so, that was the original goal anyways | ||
| __ash__ | so, fundumentally whats the difference between a package and a module, i still am a bit fuzy on that one... | ||
| cognominal | quietfanatic, not at all, it is important for acceptance by the perl 5 crowd. | ||
| jnthn | s1n_mini: Oh, I think there's a nice balance to be had between recognizing what's possible some day and also delivering something good enough in the meantime. | 23:43 | |
| s1n_mini | __ash__: sugar | ||
| __ash__ | and in ranges, why don't you just say 1 ..^ 3 = 1, 2 ? i remember there being a big discussion on the mailing list about that, it simplyfies things a lot if you look at it from that perspective, IMO... | ||
| quietfanatic | __ash__: you can say 1.5 ~~ 1..^3 and it'll return True; not so for 1, 2 | 23:44 | |
| __ash__ | well, i should clarify, 1..^3.max = 2 | 23:45 | |
| jnthn | __ash__: What is it about "1..^3 = 1,2" that you feel doesn't work that way now? | 23:46 | |
| rakudo: for 1..^3 { .say } | |||
| p6eval | rakudo d5a2ee: OUTPUT«12» | ||
| s1n_mini | rakudo: 1..^3 ~~ 1..2 | ||
| p6eval | rakudo d5a2ee: ( no output ) | ||
| s1n_mini | rakudo say 1..^3 ~~ 1..2 | ||
| err | |||
| __ash__ | rakudo: say (1..^3).max | 23:47 | |
| p6eval | rakudo d5a2ee: OUTPUT«3» | ||
| __ash__ | that surprized me | ||
| s1n_mini | rakudo: say 1..^3 ~~ 1..2 | ||
| p6eval | rakudo d5a2ee: OUTPUT«0» | ||
| __ash__ | its the min, max stuff that confused me | ||
| jnthn | __ash__: Hmm. It surprises me a bit too. | ||
| __ash__ | you'd think if you say not to include it (hence the ^ ) it wouldn't be the max... | ||
| just caught me off guard, thats all, i can deal with it though, just confused me | 23:48 | ||
| colomon | I thought 1..3 was now the range of numbers fr | ||
| jnthn | rakudo: say ?Range.^can('max') | ||
| colomon | om 1 ti 3 | ||
| sorry, son interfering with typing. | |||
| p6eval | rakudo d5a2ee: OUTPUT«1» | ||
| jnthn | rakudo: say (1..^3).list.max | ||
| colomon | rakudo: say 2.9 ~~ (1..^3) | ||
| p6eval | rakudo d5a2ee: OUTPUT«2» | 23:49 | |
| rakudo d5a2ee: OUTPUT«1» | |||
| colomon | rakudo: say 2.9 ~~ (1..2); | ||
| p6eval | rakudo d5a2ee: OUTPUT«0» | ||
| jnthn | __ash__: OK, so Range defines a max method of its own, that behaves differently than if you flatten the range out into a list and call .max on that. | ||
| s1n_mini out, class over | 23:50 | ||
| __ash__ | jnthn: yeah, it does, they talked about it in the mailing list a bit a few weeks ago | ||
| Range has it's own max and min | |||
| jnthn | __ash__: Ah, OK. I was probably wondering around some Japanese city and admiring the pretty lanterns rather than reading p6l a few weeks ago. :-) | ||
| I suspect I could justify it both ways. | 23:51 | ||
| __ash__ | also it defines a exclude_min/max i think, to see if it should be included | ||
| jnthn | Trouble is that there probaly isn't a way to represent the max of an exclusive range... | ||
| __ash__ | or maybe they renamed those | 23:52 | |
| jnthn | Since it's 2.99999999999999999999999999999999999999999<more> in this case. :-) | ||
| __ash__ | rakudo: say (1..^3).from_exclusive; | ||
| p6eval | rakudo d5a2ee: OUTPUT«0» | ||
|
23:52
tak11 joined
|
|||
| __ash__ | rakudo: say (1..^3).to_exclusive; | 23:52 | |
| p6eval | rakudo d5a2ee: OUTPUT«1» | ||
| __ash__ | thats it, its from/to_excclusive to check if it should include min/max | 23:53 | |
| jnthn | Hmm. | 23:54 | |
| I think we're running into people's desire for ranges to both act in a discrete and a continuous way. | |||
|
23:55
lumi joined
|
|||
| quietfanatic | rakudo: say max (2..^4, 3) | 23:56 | |
| p6eval | rakudo d5a2ee: OUTPUT«No applicable candidates found to dispatch to for 'max'in Main (file src/gen_setting.pm, line 206)» | ||
| __ash__ | www.mail-archive.com/perl6-all@perl...86754.html is the one where they talked about it, and i think added the to_exclusive/from_exclusive | ||
| quietfanatic | rakudo: say 2..^4 max 3 | ||
| p6eval | rakudo d5a2ee: OUTPUT«3» | ||
| quietfanatic | ... | ||
| rakudo: say +(2..^4) | 23:57 | ||
| That | |||
| p6eval | rakudo d5a2ee: OUTPUT«2» | ||
| quietfanatic | 's why | ||
| __ash__ | rakudo: say [+] 2..^5; | ||
| p6eval | rakudo d5a2ee: OUTPUT«9» | ||
| __ash__ | is that what you mean to do? | ||
| quietfanatic | no | ||
| + converts to a number, and the number in this case is the number of elements in (2, 3) | 23:58 | ||
| cognominal | hum, unlie physics Larry has an arrow of time : Insofar as Lists are lazy, they're really only partially immutable, in the sense that the past is fixed but the future is not. | ||
| quietfanatic | which is smaller than 3, hence 2..^4 max 3 returning 3 | ||
| cognominal | probably phycisians did not get that God is lazy | ||
| or physicists? | 23:59 | ||
| I a always confused | |||
| quietfanatic | It's the latter | ||
| A physician is a doctor. | |||
| cognominal | indeed | ||