pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ Set by mncharity on 5 January 2009. |
|||
00:00
[particle] left
00:01
[particle]1 left
|
|||
pugs_svn | r24921 | lwall++ | [STD] allow $x\i | 00:02 | |
r24921 | lwall++ | [STD] guess at two terms in a row for syntax error where infix was expected | |||
r24921 | lwall++ | [STD] postfix:<i> now parses at Methodcall precedence to avoid surprises on .i | |||
00:07
Eevee joined
|
|||
TimToady | std: my $t = 5; $t\i | 00:09 | |
p6eval | std 24921: OUTPUT«############# PARSE FAILED #############Syntax error at /tmp/5TEfGr9Ke6 line 1:------> my $t = 5; $t\i expecting any of: POST infix or meta-infix infix stopper postfix postfix_prefix_meta_operator standard stopper | ||
..statement modifier loop terminator wh... | |||
TimToady | STD not rebuilt yet, apparently... | 00:10 | |
I'm leaning towards saying that $t.i must always be the method call, and use $t\i form to force postfix on any alphabetic postfix | 00:12 | ||
and then Any can declare method i { self\i } | 00:14 | ||
this will avoid surprise if the user defines their own method i | |||
ruoso | what is $x\i? | 00:15 | |
jnthn | TimToady: ($t.i always is a method call) yes, please. | 00:16 | |
ruoso | (the simple idea that $t.i could be something else freaks me out) | 00:17 | |
00:17
pmurias left
|
|||
Eevee | is there any chance of pack/unpack being human-friendlier in p6? and is there any support in rakudo right now for parsing binary files? | 00:17 | |
TimToady | p6 will treat pack templates more like assembly code that is expected to be the result of some other function | 00:20 | |
ruoso: currently 42.i is 42i | 00:21 | ||
ruoso | hmm | ||
TimToady | but I've decided it's probably a bad idea | ||
the problem is with $x.i | 00:22 | ||
you can't just say $xi | |||
($x)i works | |||
but we've already specced that $x\i should work | |||
ruoso | I see... | ||
TimToady | and if that works, I can force $x.i to be the method call | 00:23 | |
jnthn | Gets my vote. | ||
TimToady | and we can supply a default i method that still does complex | ||
ruoso | not on Any | ||
just on Number | |||
jnthn | And probably Int. | ||
ruoso | please | ||
Eevee | sounds good to me | 00:24 | |
ruoso | isn't Int a Number | ||
TimToady | why? It'll just fail if self\i doesn't work | ||
jnthn | ruoso: OH NO DON'T START THAT ONE AGAIN | ||
ruoso | again? | ||
jnthn | ruoso: some_int_here ~~ Num | ||
However in type hierarchy I don't thin Int isa Num | |||
TimToady | but ~~ is does, not isa | ||
jnthn | ruoso: I'm sure there's been more than one thread on this topic on p6l. | 00:25 | |
ruoso | jnthn, sorry... missed those | ||
and I'd expect Number to be a role, actually | |||
TimToady | so putting method i into role Num is probably okay | ||
jnthn | *sigh* Yeah, a spec'd type hierarchy would be nice. | ||
TimToady whistles | |||
jnthn | TimToady: Am I missing it in the synopses, or do we anywhere explicitly specify the "a role puns a class if used as one" thing? | 00:26 | |
Example | |||
my $x is Array[:of(Int)] | |||
Roles are parametric but not classes, thus Array must be a role. | |||
_but_ roles aren't meant to be directly instantiable, right? Or? | 00:27 | ||
I'm about at the point in Rakudo where I rather need an answer on this kinda stuff. | |||
ruoso | so do I, actually | 00:28 | |
TimToady | S12:2070 mentions punned roles in passing | ||
some roles have enough information to pun, and some don't, I assume | |||
jnthn | Hmm. | 00:29 | |
OK, that is probably workable. | |||
TimToady | a matter of defaults, I presume | ||
ruoso | I'd be happy with the idea that all built-in types represent just an API | ||
jnthn | TimToady: I'll clarify it to my liking in S14 and you can give it the appropriate amount of hate. :-) | ||
TimToady | Array and Hash presumably default to :of(Object) or some such | 00:30 | |
ruoso | the problem is how Array.new could work | ||
jnthn | The thingy that's installed in the namespace for a role can intercpet a method lookup, I guess. | 00:31 | |
TimToady | you can't call a method on a role, so obviously you're asking for a pun | ||
jnthn | And hand back (or generate if it's the first time) the punned class. | ||
Or rather, an instnce of it. | |||
TimToady | a form of autoviv | ||
jnthn | That's workable for me. | ||
I just want to spec to explicitly say it. Oh hey, I signed up to do S14... :-) | 00:32 | ||
Seriously though, those answers pretty much clear up a lot of my questions. | |||
00:32
DemoFreak left
|
|||
ruoso | hmm... | 00:33 | |
jnthn | The whole "roles are something you can instantiate" thing stops looking so. | ||
But that doesn't mean we need to *encourage* people to pun. | |||
erm, *can't* instantiate | 00:34 | ||
00:34
alc joined
|
|||
TimToady | they're like bare quarks; they create their own reality if you try to do it | 00:34 | |
ruoso | just a sanity check | 00:35 | |
jnthn | ...sanity?! | ||
;-) | |||
ruoso | are we ok with "built-in types are just interfaces" ? | ||
pugs_svn | r24922 | lwall++ | [STD] default $x.i to be method call, not postop; use ($x)i or $x\i now | 00:36 | |
TimToady | interfaces with default implementations | ||
jnthn | Which means, er, roles? | ||
TimToady | yes, here's how you perform Hamlet by default, but you can tweak it... :) | 00:37 | |
jnthn nods | |||
ruoso | you realize that this is making 4.WHAT more and more undetermined | 00:38 | |
TimToady | 'course, now someone will say that [1,2,3].WHAT should be saying Array[:of(Object)] | ||
jnthn | TimToady: Why? | ||
ruoso | because if Int and Num are just roles, 4 might be RandomInternalThingyThatHappensToImplementNumAndInt | 00:39 | |
Eevee | you know, there should probably be an S00 that serves as a glossary/index | ||
jnthn | ruoso: Ah. Hmm. :-) | ||
TimToady | so 4 is really an Int{ :value(4) } kind of protoobject | ||
jnthn | ruoso: I suspect the punned class should take on the name of the role. | ||
ruoso | which one? | 00:40 | |
if we impose that | |||
we're making them classes | |||
jnthn | We gotta have a class at _some_ point. | ||
We're not at all. | |||
ruoso | but that might be implementation specific | ||
TimToady | Eevee: go for it :) | ||
Eevee | haha, walked right into that | ||
jnthn | role Array[:$of] { ... } | 00:41 | |
ruoso | I think my point is relaxing the spec in that sense | ||
allowing more implementation-specific stuff | |||
TimToady | role Array[:$of = Object] {...} | ||
jnthn | Array.new # Puns a class that does Array and has the short-name Array | ||
TimToady: Yes, I was thinking that and didn't write it. :-) | |||
00:42
hercynium left,
pcbuetow joined
|
|||
jnthn | ruoso: If someone wants a more custom implementation than the methods in the Array role and Any provide between them, they can write their own class MyArray does Array { ... } | 00:42 | |
Or role MyArray[:$of = Object] does Array[$of] { ... } | 00:43 | ||
If they wanna keep it all parametric. | |||
TimToady | does Array[:$of] to keep it named | 00:44 | |
ruoso | I'm ok with that part | ||
TimToady | or you can "class Array is also {...}" but then you're modifying the punned class, not the original role | ||
ruoso | my question is about .WHAT | ||
TimToady | roles are immutable | ||
jnthn | TimToady: Erm, it's passing it as a parameter there, it's not a sig! | ||
Oh! | 00:45 | ||
Duh | |||
TimToady | :$of declares a named only parameter | ||
jnthn | Named parameter. :-) | ||
Yes, yes. | |||
TimToady | mind, maybe we want it positional | ||
jnthn | This is what beer does. | ||
TimToady | so people can say Array[Object] | ||
jnthn | TimToady: Perhaps we do. | ||
TimToady | and can still say :of(Object) if they like | 00:46 | |
jnthn | TimToady: My main reason for wanting to go positional, is that we don't do multi-dispatch on named paramters... | ||
TimToady | ah | ||
jnthn | And I don't want to give you the idea of proto roles. | ||
TimToady | Array[Hash[Array[Hash[Object]]]] | ||
I can buy it, I think | 00:47 | ||
jnthn | That's fine. Folks can still write my Hash of Array of Hash @a; | ||
Eevee | who updates existing synopses? e.g. I don't see infix \ in S03 | ||
Limbic_Region | is that anyone with a pugs commit bit? | ||
ruoso | yes | ||
Limbic_Region | Eevee - got a commit bit? | 00:48 | |
Eevee | I may | ||
jnthn | ruoso: On WHAT, I don't see an issue with returning a proto-object for the punned class. | ||
Eevee | aha, I do | ||
jnthn | And when it comes to what we want it to stringify to, saying "it's the short name" doesn't to me seem like a huge issue. | 00:49 | |
Multiple proto-obojects *already* stringify to the same thingy anyway. | |||
ruoso | jnthn, right... that means [1,2,3].WHAT === Array migth fail | ||
jnthn | Hmm. Yes. | ||
Since in the namespace, Array is a role. | 00:50 | ||
ruoso | cool... that's my point | ||
jnthn | Is that a problem? | ||
Or rather, do you see that as a problem? | |||
ruoso | pmichaud had a problem with it, iirc | ||
some people expect .WHAT to be a way to test type identity | |||
jnthn | I'd happily break their expectations. | 00:51 | |
TimToady | only .WHICH provides identity | ||
jnthn | [1,2,3].WHAT ~~ Array | ||
00:51
|jedai| left
|
|||
jnthn | Is 1 char less. | 00:51 | |
;-) | |||
(And would work.) | |||
ruoso | well... that was my point at all times this issue came out | ||
TimToady | the purpose of WHAT is to give a glib answer to "What is it?" | 00:52 | |
WHO gives the long answer, iirc | |||
00:52
|jedai| joined
|
|||
ruoso | well, I'm glad to hear that... | 00:52 | |
jnthn | TimToady: Well, it gives back the proto object, which is also a way to make another one of the same thingy. It's the stringification that I guess gives the "what is it" kinda answer. | 00:53 | |
$x.WHAT.new # another instance of whatever type $x is | |||
Though I'm not sure how that plays out if you've mixed into $x | 00:54 | ||
ruoso | that's precisely my corner-point | ||
jnthn | As in, should that give you a new instance of what $x originally was, or the current "class" of $x... | ||
TimToady | I guess it's just stringification that shortens WHO | ||
ruoso | as SMOP stands today... the current $x | ||
jnthn | ruoso: Ah. Rakudo does the opposite. | 00:55 | |
It doesn't matter to me a great deal which answer we pick though. | |||
On my side, it's a trivial change, I think. | |||
TimToady | mixins create new classes | ||
jnthn | TimToady: Aye. | ||
I'm leaning towards what SMOP does rather than what Rakudo does. | |||
TimToady | so $x.WHAT represents $x's new class | ||
jnthn | OK. I'll fix Rakudo up on that one. :-) | ||
jnthn is really happy to be getting all these questions answered. | 00:56 | ||
TimToady is happy to get a refresher in his own spec :) | |||
ruoso | I'm still unsure on how to make Object.Str return "Object" | 00:57 | |
TimToady | note proto stringifies to Array() these days, according to S12 | ||
jnthn | Oh? | ||
I missed that commit | |||
Rationalie? | |||
TimToady | I'm trying to remember | ||
jnthn | *Rationale | ||
[particle]2 | to show it's undef-like nature | ||
iirc | 00:58 | ||
TimToady | that were it | ||
00:58
[particle]2 is now known as [particle]
|
|||
jnthn | That's a very xen answer. :-) | 00:58 | |
TimToady | aye | ||
eep, gotta go play the drums at church | 00:59 | ||
jnthn | I can certainly say on the Rakudo side that built-ins will become roles *after* we get a Perl 6 prelude. | ||
00:59
pbuetow left
|
|||
jnthn doesn't fancy hand-PIRing parametric roles | 00:59 | ||
TimToady: Have fun. Thanks for the input! :) | |||
ruoso | indeed... | ||
TimToady | afk & # gotta beat it... | 01:00 | |
jnthn | <rimshot> | ||
[particle] | <eyeroll> | ||
dh_ | sick | ||
jnthn | Ooh, 2am. | 01:02 | |
jnthn -> sleep | |||
01:10
iblechbot left
01:12
hercynium joined
01:22
eternaleye joined
01:25
|jedai| left,
|jedai| joined
01:35
eternaleye left
01:41
hercynium_ joined
01:44
hercynium_ left
01:54
[particle]1 joined,
[particle]2 joined,
LimbicRegion joined
01:55
[particle]2 left
01:58
[1]Limbic_Region joined
02:00
[particle] left,
wknight8111 left
02:03
[particle]3 left,
LimbicRegion left
02:08
Exodist left,
Helios left
02:12
Limbic_Region left,
[1]Limbic_Region is now known as Limbic_Region
02:24
Helios joined
02:36
aindilis left,
aindilis joined,
unobe joined
02:42
gravity left,
eternaleye joined
02:49
justatheory left
02:56
hercynium left
|
|||
pmichaud | std: my %h; %h{"key"} = "value"; say %h\{"key"}; | 03:01 | |
p6eval | std 24922: OUTPUT«00:07 87m» | ||
03:09
kisu_ left
03:14
kisu joined
03:19
hercynium joined
03:23
sail0r joined,
Eevee left
03:27
sail0r left
03:28
cognominal left
03:29
sail0r joined
03:35
cognominal joined
03:37
chrisdolan joined
|
|||
chrisdolan | Very roughly, how feasible is it to implement actions.pm for a PCT-based language in Rakudo instead of NQP today? | 03:40 | |
pmichaud | chrisdolan: Rakudo doesn't have good binding operators yet. | 03:43 | |
other than that, not too difficult. | 03:44 | ||
also, Perl 6 changed such that $/ can't be a parameter. I'm not sure how to deal with that one yet. | |||
std: sub foo($/) { ... } | 03:45 | ||
p6eval | std 24922: OUTPUT«############# PARSE FAILED #############Unable to parse multisig; couldn't find final ')' at /tmp/8kaGZiX71c line 1:------> sub foo($/) { ... } expecting any of: param_sep parameter post_constraint trait twigil whitespace00:05 | ||
..83m» | |||
chrisdolan | By binding, you mean the "make" command, or something else? | ||
pmichaud | := | ||
chrisdolan | Oh | ||
03:54
meppl joined
03:57
Limbic_Region left
03:58
Eevee joined
04:04
samlh joined
|
|||
pugs_svn | r24923 | lwall++ | [STD] allow $/ and $! as parameter names | 04:12 | |
04:14
[particle] joined,
|jedai| left
04:15
|jedai| joined
04:18
pasteling left,
meppl left,
Helios left,
alc left,
wolverian left,
Patterner left,
AzureStone left,
japhb left,
xuser left,
lisppaste3 left,
cotto left,
zostay left,
nnunley left,
szbalint left,
hcchien left,
eternaleye left,
pcbuetow left,
Grrrr left,
sepheebear left,
mdxi left,
elmex left,
mj41 left,
charsbar_ left,
ryanc left,
ilbot2 left,
revdiablo left,
allbery_b left,
StephenPollei left
04:19
eternaleye joined,
pcbuetow joined,
Grrrr joined,
sepheebear joined,
mdxi joined,
elmex joined,
mj41 joined,
charsbar_ joined,
ryanc joined,
revdiablo joined,
allbery_b joined,
ilbot2 joined,
StephenPollei joined,
meppl joined,
Helios joined,
alc joined,
wolverian joined,
Patterner joined,
AzureStone joined,
japhb joined,
xuser joined,
lisppaste3 joined,
cotto joined,
pasteling joined,
zostay joined,
szbalint joined,
nnunley joined,
hcchien joined
04:23
mdxi left,
Grrrr left,
pcbuetow left,
ilbot2 left,
ryanc left,
StephenPollei left,
eternaleye left,
sepheebear left,
revdiablo left,
allbery_b left,
mj41 left,
elmex left,
charsbar_ left
04:25
pasteling left,
szbalint left,
cotto left,
japhb left,
Patterner left,
alc left,
xuser left,
hcchien left,
nnunley left,
Helios left,
wolverian left,
zostay left,
lisppaste3 left,
meppl left,
AzureStone left,
eternaleye joined,
pcbuetow joined,
Grrrr joined,
sepheebear joined,
mdxi joined,
elmex joined,
mj41 joined,
charsbar_ joined,
ryanc joined,
revdiablo joined,
allbery_b joined,
ilbot2 joined,
StephenPollei joined
04:26
meppl joined,
Helios joined,
alc joined,
wolverian joined,
Patterner joined,
AzureStone joined,
japhb joined,
xuser joined,
lisppaste3 joined,
cotto joined,
pasteling joined,
zostay joined,
szbalint joined,
nnunley joined,
hcchien joined,
sail0r left
04:27
cspencer joined
04:30
alester_ joined
04:32
[particle]1 left
|
|||
diakopter | std: sub foo($/) { ... } | 04:44 | |
p6eval | std 24923: OUTPUT«00:05 83m» | 04:45 | |
diakopter | std: sub foo($!) { $/ } | 04:55 | |
p6eval | std 24923: OUTPUT«00:05 84m» | ||
04:55
cspencer left
04:56
cspencer joined
|
|||
pmichaud | std: sub foo($_) { ... } | 04:59 | |
p6eval | std 24923: OUTPUT«00:05 83m» | ||
pmichaud | TimToady++ # allowing $/ and $! as parameter names | 05:00 | |
rakudo_svn | r35615 | pmichaud++ | [rakudo]: Fix degenerate space before postfix ops. (RT #60148) | ||
05:02
Patterner left,
jhorwitz left
05:05
alc left
05:14
|jedai| left
05:15
cspencer left
|
|||
diakopter | rakudo: say "is if a function" if(1); | 05:15 | |
p6eval | rakudo 35614: OUTPUT«is if a function» | ||
05:15
|jedai| joined
|
|||
diakopter | rakudo: say "is if a function" if (1); | 05:16 | |
p6eval | rakudo 35615: OUTPUT«is if a function» | ||
diakopter | rakudo: say "is if a function" if.(1); | 05:17 | |
p6eval | rakudo 35615: OUTPUT«is if a function» | ||
diakopter | rakudo: say "is if a function" if .(1); | ||
p6eval | rakudo 35615: OUTPUT«is if a function» | ||
diakopter | o_O | ||
pmichaud: I assume there are rakudobugs already for the above? | 05:19 | ||
pmichaud | yes. | ||
although why "if as a function" is so important to people kinda boggles my mind. | |||
TimToady | std: say "is if a function" if(1); | 05:20 | |
p6eval | std 24923: OUTPUT«00:06 86m» | ||
TimToady | oops | ||
pmichaud | :-) | ||
did it backtrack to the modifier form? | |||
TimToady | not looking for a term when expecting an infix, and modifier if apparently doesn't reject () form | 05:21 | |
diakopter | std: say "is if a function" if .(1); | 05:22 | |
p6eval | std 24923: OUTPUT«00:06 83m» | 05:23 | |
diakopter | std: say "is if a function" if.(1); | ||
p6eval | std 24923: OUTPUT«00:06 86m» | ||
diakopter | std: say "is if a function" if\ .(1); | ||
p6eval | std 24923: OUTPUT«00:06 86m» | 05:24 | |
pugs_svn | r24924 | lwall++ | [STD] add <nofun> to statement modifiers | 05:33 | |
TimToady | that'll fix your wagon... | ||
diakopter | pmichaud: perhaps it feels significant because it's a backward incompatibility | 05:36 | |
std: say "is if a function" if\ .(1); | 05:37 | ||
p6eval | std 24924: RESULT«(null pattern for prefix_circumfix_meta_operator:*) at Cursor.pm line 462.############# PARSE FAILED #############Syntax error (two terms in a row?) at /tmp/E93mtQYhWL line 1:------> ( ( do { say "is if a function" if\ .(1); expecting nofun00:06 49m» | 05:38 | |
diakopter | std: say "is if a function" if .(1); | 05:40 | |
p6eval | std 24924: OUTPUT«00:03 33m» | 05:41 | |
diakopter | std: .(); | ||
p6eval | std 24924: OUTPUT«00:02 32m» | ||
diakopter | rakudo: .(); | ||
p6eval | rakudo 35615: RESULT«[undef]» | ||
diakopter | std: \ .(); | 05:45 | |
p6eval | std 24924: OUTPUT«00:02 32m» | ||
05:48
chrisdolan left
|
|||
TimToady | std: say "is if a function" if(1); | 05:56 | |
p6eval | std 24924: OUTPUT«############# PARSE FAILED #############Syntax error (two terms in a row?) at /tmp/EXHinKVKR3 line 1:------> say "is if a function" if(1); expecting nofun00:07 86m» | ||
06:03
mberends left
06:07
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
pugs_svn | r24925 | putter++ | [elf_h] Improved name mangling. Still crufty. | 06:07 | |
r24925 | putter++ | [elfparse] Started sketching in category handling. Also tweaked README, removed some dead code, and added Makefile targets. | |||
06:12
alc joined,
pmurias joined
06:18
pmurias left
06:27
|jedai| left,
|jedai| joined
06:33
jimmy_ joined
07:08
[particle] left
07:20
stephenlb left
07:21
pcbuetow left
07:22
masak joined
07:23
ChrisDavaz joined
07:41
spx2_ joined
07:42
spx2 left
|
|||
pugs_svn | r24926 | lwall++ | [STD] alignment with S03 on associativity noted by mtnviewmark++ | 07:42 | |
r24926 | lwall++ | [STD] added various missing functions and types | |||
r24926 | lwall++ | [t/spec] remove my() function calls :) | |||
07:42
alester_ left
07:43
ejs joined
|
|||
masak | rakudo: sub my($a) { say "OH MY" }; my $b; my($b) | 07:45 | |
lambdabot | masak: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
p6eval | rakudo 35615: RESULT«undef» | ||
masak | @massage | ||
lambdabot | azawawi said 5d 11h 20m 49s ago: use.perl.org/~azawawi/journal/38255 | ||
masak | lambdabot: yes, I've read that message. twice. I've also asked you to clear it. | ||
lambdabot: have I misunderstood your mode of operation somehow? if so, please let me know. | 07:46 | ||
@clear | |||
lambdabot | Messages cleared. | ||
moritz_ | masak: yesterday I also got a 7 days old message from lambdabot | 07:48 | |
masak | moritz_: wonder what causes it. | 07:49 | |
TimToady | perhaps you're trapped in a monad | ||
masak | isn't everybody? | 07:50 | |
how else would we be able to do side effects, I mean? | |||
moritz_ | i'm not, but I want to get out anyway ;-) | 07:51 | |
masak | that's deep. | ||
pugs_svn | r24927 | masak++ | [u4x] added special exo-proglang terms to list | 07:53 | |
TimToady | @tell pmurias it's likely that I just broke mildew with the associativity changes | 07:54 | |
lambdabot | Consider it noted. | ||
08:02
jimmy_ left
|
|||
masak | mtnviewmark++ # the email on ops | 08:04 | |
08:04
iblechbot joined
|
|||
moritz_ | www.perlfoundation.org/perl6/index....code_ideas | 08:05 | |
feel free to add any Perl 6 or Parrot ideas there | 08:06 | ||
08:08
mberends joined
08:10
DemoFreak joined
|
|||
masak | moritz_: are the parenthesized names meant to signify proposed, or possible mentor? I'm thinking whether I should add myself to the 'Documentation' item. | 08:14 | |
(as a possible mentor, because I see myself being heavily involved in u4x) | 08:15 | ||
08:16
_jedai_ joined
08:19
|jedai| left
|
|||
mberends | masak: hi! took up your volunteer appeal for November, and can so far report the following: the Perl 5 prove in Debian has no -e or nocolor, but does support --perl instead. are you willing to change that in Makefile? | 08:21 | |
masak | mberends: aye, sure! patches welcome. | ||
mberends: since I sighed and moaned yesterday, my particular issues then have been solved (I fixed them). but volunteers are still very welcome for many things. | 08:22 | ||
mberends: we still have an outstanding grammar matching issue in the tests and in the application itself. | |||
I know what to do about it, I just haven't done it. | |||
mberends | ok, and is this the address for patches, or git push instead? | 08:23 | |
masak | mberends: git push is only possible if you have access to the november-wiki repo. | 08:24 | |
(which I'm perfectly willing to give you, but it'll take a while, since viklund sits on the admin controls) | |||
(maybe a day or so) | |||
you can always clone the repo at github. | 08:25 | ||
or just send patches by email. | |||
remember to add yourself to the AUTHORS file. :) | |||
mberends | will do later, must start teaching soon. M$. | 08:26 | |
masak | gotcha. | 08:27 | |
08:32
vixey joined
|
|||
moritz_ | masak: initially I meant proposal, but feel free to yourself to it | 08:38 | |
masak | oki | 08:39 | |
08:40
ludan joined
|
|||
Matt-W | Good morning | 08:41 | |
moritz_ | good mourning ;-) | 08:42 | |
masak | goad mooring. | 08:43 | |
Matt-W | Another day of work | 08:44 | |
moritz_ | but TCIF! | 08:45 | |
Matt-W | Hitting Visual C++ with a hammer and wishing for a nuclear missile | ||
TCIF? | 08:46 | ||
moritz_ | Thank Christ It's Friday | 08:47 | |
masak | Matt-W: I'm not sure there's any context where one should actually, truly wish for a nuclear missile. unless perhaps in museums, disarmed. | ||
moritz_: I know about Thank God It's Wednesday, but I'd never heard about TCIF :) | 08:49 | ||
moritz_ | masak: it comes up every Friday on the Perlmonks chatterbox | 08:50 | |
masak | oh. | ||
I'm not a Perlmonk regular, I'm afraid. | |||
Matt-W | masak: I'm speaking of metaphorical hammers and metaphorical nuclear missiles - something that will get rid of Visual C++, anyway | ||
masak | Matt-W: OIC. I thought for a moment you were really tired of your work. | ||
Matt-W | Real nuclear missiles keep me awake at night. | ||
Probably the worst thing the human race has ever done | 08:51 | ||
No no not *that* tired | |||
maybe if they stop me coming to #perl6... | |||
08:51
_jedai_ left
08:54
|jedai| joined
08:59
vixey left
09:05
vixey joined
09:06
ChrisDavaz left
09:22
jimmy_ joined,
wolverian left,
wolverian joined
09:24
schmalbe joined
09:25
jferrero joined
09:30
alc left
09:40
namenlos joined
09:49
tmaesaka joined
10:05
braceta joined
10:27
_jedai_ joined,
pdcawley left,
|jedai| left
10:30
pmurias joined
10:35
agentzh left,
tmaesaka left
10:36
agentzh joined
10:38
jimmy_ left
11:07
ashizawa joined
11:11
|jedai| joined
11:13
_jedai_ left
11:29
nnunley left
11:30
|jedai| left,
ruoso left,
|jedai| joined
|
|||
pugs_svn | r24928 | jnthn++ | [t/spec] Some fudging changes (mostly removal) and corrections to a roles test, so we can add it to the spectests. One test I'm not quite sure what to do with - left it fudged for now. | 11:38 | |
11:39
xinming_ joined
11:47
pmurias left
|
|||
rakudo_svn | r35622 | jonathan++ | [rakudo] Implement .does method (Any delegates to the metaclass, and we have the implementation there). | 11:50 | |
r35623 | jonathan++ | [rakudo] infix:<but> needs to be aware of ObjectRef, otherwise we end up affecting the original object. | |||
r35624 | jonathan++ | [rakudo] Oops, should have checked updated makefile in a couple of commits ago. | |||
r35625 | jonathan++ | [rakudo] Add the (now substantially passing) S12-role/basic.t to the spectests. It tests .does in the non-parametric case as well as covering the infix:<but> with ObjectRef bug recently fixed. | |||
11:51
xinming left
|
|||
pugs_svn | r24929 | jnthn++ | [t/spec] Unfudge some .does parameterized roles tests for Rakudo now that we have at least some implementation of that. | 11:57 | |
12:00
pjcj joined
|
|||
Matt-W | jnthn: you've been busy | 12:01 | |
jnthn | Matt-W: Just .does, a bug fix and some spectest review. :-) | 12:03 | |
Matt-W | Looks good to me! | ||
More tests that work is always good | |||
12:11
schmalbe left
|
|||
jnthn looks at some dispatch-y stuff for a bit as a break from parametric roles | 12:11 | ||
12:17
plu left
12:32
ruoso joined
12:38
schmalbe joined
|
|||
ruoso | are we already preparing stuff for GSOC2009 for Perl 6? | 12:46 | |
moritz_ | ruoso: I'm collecting ideas | 12:47 | |
and we should start advertising early | |||
ruoso | I'd like to add a proposal of a project | ||
which is to hunt down all SMOP leaks | |||
moritz_ | oh, fun | ||
ruoso: just add it to the wiki page | 12:48 | ||
ruoso | where? | ||
ruoso has a short memory | |||
moritz_ | ruoso: www.perlfoundation.org/perl6/index....code_ideas | ||
jnthn: t/spec/S12-methods/instance.t fails for me | 12:59 | ||
as well as S12-methods/syntax.t | 13:00 | ||
jnthn | That's odd... | ||
moritz_ | (or maybe I should tell pmichaud, how changed the parser recently) | ||
jnthn | Hmm. But I did svn up today and didn't see those ones. :-| | 13:01 | |
13:01
ruoso left
|
|||
jnthn | I've got some really nasty local diffs at the moment, so can't check much right now... | 13:01 | |
13:02
ruoso joined
|
|||
moritz_ | it barfs on $obj.method\ () | 13:02 | |
which sure looks related to what pmichaud did | |||
jnthn | Ah, phew. :-) | 13:04 | |
13:04
kane_ joined
|
|||
jnthn | Crap, I has to do parrot guts. :-| | 13:04 | |
13:12
ruoso left
13:17
ruoso joined
13:21
lisppaste3 left
13:26
lisppaste3 joined
|
|||
pmichaud | weird -- I did a 'make spectest' after implementing \ () and didn't get any failures. | 13:27 | |
jnthn | pmichaud: I'm currently trying to sort out the "subclassing Sub" mess. | 13:31 | |
So we can rebless_subclass things. | |||
Which means Parrot guts. :-| | 13:32 | ||
pmichaud | jnthn: good luck. :-) | ||
13:36
jferrero left,
|jedai| left,
|jedai| joined
13:43
masak left
|
|||
jnthn | pmichaud: I'd need less luck if people bothered to follow the "have a PARROT_INTERP parameter" rule... | 13:49 | |
13:50
ashizawa left
|
|||
pmichaud | is that a rule? ;-) | 13:50 | |
jnthn | Not if your name is leo. | 13:51 | |
</harsh> | |||
13:54
araujo left
|
|||
jnthn | Gah. Now I've made PGE explode. :-| | 13:54 | |
Matt-W | Oh dear | 13:59 | |
rakudo_svn | r35629 | pmichaud++ | [rakudo]: spectest-progress.csv update: 285 files, 6263 passing, 0 failing | 14:00 | |
14:00
cai joined,
namenlos left
|
|||
jnthn | OK, PGE lives. :-) | 14:01 | |
14:05
namenlos joined
|
|||
Matt-W | Hurrah! | 14:11 | |
I know, I'm not being very helpful, I'm just trying to provide some moral support | 14:12 | ||
jnthn | Muchly needed when dealing with Parrot guts. | 14:16 | |
Matt-W | I've not looked inside Parrot. I daren't. | 14:19 | |
Quite enough to deal with the PIR code that makes Rakudo go | |||
jnthn | Well, progress...that makes us through the sanity tests again. | 14:21 | |
Matt-W | Generally a good state to be in | 14:22 | |
jnthn | And Test.pm isn't epic breakage. | ||
14:25
unobe left
14:27
Lorn joined
|
|||
ruoso | I just realized the capture issue wasn't solved yet | 14:34 | |
for those who don't remember, the issue is: | |||
"what should a capture return when coerced to a context it doesn't provide a value for?" | |||
Matt-W | undef? | 14:35 | |
ruoso | Matt-W, that doesn't DWIM | ||
Matt-W | Well if there's no value... | 14:36 | |
I'm obviously missing lots of subtleties here :) | |||
ruoso | "return 1" | ||
that contains a single positional argument | |||
the spec says a capture in item context returns the invocan | |||
there's no invocant there | |||
but that applies to every other context | |||
Matt-W | If there are times when there is no invocant, a capture in item context can never be guarenteed to return the invocant | 14:37 | |
Problem | 14:39 | ||
14:40
jhorwitz joined
14:47
schmalbe left
|
|||
ruoso | yes... but in order to DWIM, there needs to be exceptions... | 14:48 | |
jhorwitz, hi... I'm writing the SMOP report atm... I think it's the longest ever... | |||
jhorwitz | your previous ones were long....this one's gonna be a book. :) | ||
14:50
_jedai_ joined,
|jedai| left
14:51
alexn_org joined
14:56
jan_ left
|
|||
jnthn | Oooh...I forgot about lunch, with all the debugging. | 14:59 | |
jnthn is a tad hungry now...bbiab | 15:00 | ||
15:08
agentzh left
15:16
[particle] joined
15:17
hercynium left
|
|||
ruoso | you know... I'm a little worried that the grant took a path so diverse from the planned that we only reach the end when SMOP+Mildew releases 1.0 | 15:21 | |
jhorwitz, ^ | 15:22 | ||
because I planned to implement the prelude in a first-stage language | 15:23 | ||
but now we're implementing full Perl 6 | |||
jhorwitz | yeah, i mentioned that several months ago, but the benefits (at the time) outweighed the diversion. | ||
ruoso | well the benefits now still outweight the diversion, I think... | 15:24 | |
jhorwitz | right -- and we can always tweak the timeline or deliverables to match reality. maybe we should talk about that... | 15:25 | |
15:27
cspencer joined
15:31
athenot left
15:33
Exodist joined,
ruoso left
15:34
ruoso joined
15:35
alester left
|
|||
ruoso *sigh* my uplink is closing my connections | 15:35 | ||
15:35
alester joined
|
|||
pmichaud | (smop grant) fwiw, as an interested observer, I'm very impressed by what is being accomplished by the grant. Even if the path has diverted from what is planned, I think it's clear that TPF and the Perl community are getting something very valuable from it. | 15:36 | |
ruoso | jhorwitz, if we take a look at the original plan | ||
we had 1) s1p | |||
this is now mildew, which is not a first-stage language... but instead a full Perl 6 implementation | |||
pmichaud | so, I'd be very supportive of recognizing that the plan changed (for the better). | ||
ruoso | 2) the built-in types | ||
that is where we are right now | |||
but as it's not based on a first-stage language, it's way more complicated | |||
3) AST Types | 15:37 | ||
I think that is already implemented by mildew, and we even are a back-end for STD instead of KP6 which is, IMHO, a very important aspect | |||
so, the only thing missing from the original plan is the built-in types... but considering we're already doing it in full Perl 6, it means that when the built-in types are ready, we almost have a full Perl 6 implemnetation | |||
(missing the grammar engine) | |||
in fact, if we take a look at the "deliverables" of the grant proposal | |||
"SMOP has already a planned ROADMAP, in which it is very clear where its effort starts to intersect with KP6. The aim of this grant proposal is to take SMOP to the point where it can be effectivelly used as a KP6 backend, as it's marked in point "0.4.4" of the ROADMAP." | |||
We're currently effectively used as a STD backend | 15:38 | ||
which looks prettier than as a KP6 backend | |||
jhorwitz | indeed | ||
pmichaud: your sentiments are widely shared. | 15:39 | ||
15:40
_jedai_ left
15:41
|jedai| joined
15:43
alexn_org left
|
|||
PerlJam | ruoso: so just say, "oops, I did too much" :-) | 15:43 | |
jhorwitz | ruoso: even with the different path you ended up taking, the results are impressive and as pmichaud said, very valuable to the community. i wouldn't worry about any issues with the grant. :) | ||
pmichaud | jhorwitz said what I was trying to say | 15:44 | |
i.e., I don't think anyone will have issues with the grant. | |||
or its deliverables. | |||
jhorwitz | esp. when the grant manager has no issues. ;-) | ||
ruoso | ;) | 15:48 | |
15:50
riffraff joined,
|jedai| left
|
|||
ruoso | jhorwitz, does that mean I can consider the grant as finished? | 15:50 | |
15:51
|jedai| joined
|
|||
jhorwitz | ruoso: i need to take a look at the propsal again and talk w/ ambs. it's a lot to grok. :) | 15:52 | |
but you're saying that the only missing thing right now is built-in types? | 15:53 | ||
and that won't be there til 1.0? | |||
15:53
ejs left,
ruoso_ joined
15:54
ruoso left
|
|||
ruoso_ | jhorwitz, well... the problem is nat it's not "only" the built-in types | 15:54 | |
15:54
ruoso_ is now known as ruoso
|
|||
ruoso | because it's now a "full typesystem bootstrap" | 15:55 | |
not just the first-stage | |||
and that's way more complicated than writing the built-in types in a simplified language | 15:56 | ||
15:57
jan_ joined
|
|||
jhorwitz | right | 15:57 | |
ruoso | for instance... | ||
I started with ClassHOW | |||
but ClassHOW requires "return" | 15:58 | ||
then I wrote "Return" | |||
then Return requires "is export" | |||
then "is export" requires Multi | |||
then I started Multi | |||
and Multi got its own requirement | |||
if it was a first-stage language, I'd use compiler hacks to make ClassHOW work | 15:59 | ||
but it's being compiled as full-featured Perl 6 | 16:00 | ||
TimToady | btw, I probably broke mildew last night with STD associativity changes | ||
jhorwitz | oh, well that changes EVERYTHING. ;-) | ||
ruoso | I saw it in the backlog... still haven't time to test it... | ||
TimToady | in particular, some things changed from left to list associative | ||
which may tend to propagate through as api changes from ($a,$b) to (*@args) | 16:02 | ||
ruoso | TimToady, in the meanwhile, have you thought about the capture issue? | ||
TimToady | been thinking about it off and on all along | 16:03 | |
my problem is that the current design seems to want to do contradictory things with item context | |||
and I'm not sure we have enough item contexts to carry it off :) | |||
ruoso | for now SMOP only implements the DWIM for no invocant but positionals | ||
there are still all the other combinations | |||
TimToady | and I'm wondering how best to break out some of the item functionality | 16:04 | |
maybe a type-based coercion | |||
so there are slots that say, if you want this type, this is the value | 16:05 | ||
ruoso | that looks.... complicated... | ||
TimToady | then Str and Int can be set separately | ||
and Object could be current result object | |||
but it's still a bit blurry | |||
16:05
cspencer left
|
|||
ruoso | TimToady, remember that Capture is a very "delicate" object | 16:05 | |
TimToady | yes, I know it | 16:06 | |
ruoso | SMOP still has a native capture | ||
TimToady | but when circumstances are forcing us to do indelicate things with it, I'm not sure what's gonna break | ||
ruoso | which is, at this moment, used for all method invocations | ||
TimToady, surprisingly, mildew didn't broke at all | 16:07 | ||
TimToady | huh | ||
quick, ship it | 16:08 | ||
ruoso | mildew isn't that fragile at all | ||
;) | |||
s/at all/after all/ | |||
I think you might have preserved the basic VAST structure | |||
TimToady | not really, list assoc comes out a completely different structure than binary ops | 16:12 | |
ruoso | ah... that's probably because there isn't much of list implementeed | ||
foo(1,2,3) is handled specially, because it's a capture | 16:13 | ||
mildew: my sub foo($a, $b, $c) { $OUT.print($a.FETCH, $b.FETCH, $c.FETCH) }; foo(1,2,3); | |||
p6eval | mildew: OUTPUT«123» | ||
ruoso | (the FETCH there is because of a bug in $OUT) | 16:14 | |
TimToady, that is why I was considering it would be interesting if STD had capture in itself | 16:15 | ||
specially because named arguments become a compiler hack | |||
TimToady | it occurs to me that changing things to list associative might complicate mmd | 16:17 | |
a param of (Foo *@args) doesn't give as much to work with as (Foo $a, Foo $b) | 16:18 | ||
16:18
mberends left
|
|||
ruoso | TimToady, I don't get it... how that changes foo(1,2,3)? | 16:19 | |
(or am I simply missing the poitn? | |||
s/poitn/point/) | |||
TimToady | $a ~ $b ~ $c is now essentially infix:<~>($a,$b,$c) | ||
ruoso | hmm... | 16:20 | |
ok... | |||
16:20
hercynium joined
|
|||
ruoso | that indeed makes operator overloading very much complicated | 16:20 | |
16:21
cai left
|
|||
ruoso | except if we assume it works like lisp | 16:22 | |
sub infix:<~> (Foo $a, Foo $b, *@rest) | |||
then inside it decides to call infix:<~>($ab, |@rest) | 16:23 | ||
it becomes a basic rule that every infix operator needs to take the *@tail | |||
and re-invoke with the |@tail | 16:24 | ||
pmichaud | (every list-associative infix operator...) | ||
ruoso | then we also need a infix:<~> (Foo $a) | ||
TimToady | another possibility, mmd just knows that infix implies at least two *@args of the given type | ||
ruoso | that catches the last | ||
TimToady, actually... | |||
TimToady | hmm | 16:25 | |
ruoso | if in the end we have a infix:<~>(Foo $a) | ||
TimToady | [~] | ||
pmichaud | define infix:<~> in terms of [~]? scary. :-) | 16:26 | |
ruoso | I start to like that... | ||
if you want to override ~ | |||
you just need to | |||
infix:<~>(Foo $a, *@rest) | |||
convert $a to some type handled by other variant | 16:27 | ||
and re-call it | |||
then if you have | 16:28 | ||
1 ~ 2 ~ Foo.new ~ 3 | |||
it will be called at some point | |||
so that override would be | 16:29 | ||
sub infix:<~>(Foo $a, *@rest) { return [~] $a.my_conversion, @rest } | 16:30 | ||
pmichaud | interestingly, that means that the concatenations tend to occur right-to-left, though. | ||
ruoso | does it? | 16:31 | |
16:31
|jedai| left
|
|||
pmichaud | if I have [~] 'a', Foo.new, 'b', 'c' | 16:31 | |
TimToady | yes, type determination on the way down, concat on teh way up | ||
ruoso | right right | ||
got it | |||
is that bad? | |||
16:31
|jedai| joined
|
|||
TimToady | p5 has to go to pains to optimize binary concat to avoid multiple allocations | 16:32 | |
ruoso | the interesting is that you might even provide some shortcuts | ||
pmichaud | it someone goes against the notion whereby we've thought of concatenation as primarily left-associative. Whether that's bad or not... I don't know. | ||
ruoso | sub infix:<~>(Str $a, Str $b, Str $c)... | ||
pmichaud | *it somewhat | ||
TimToady | I think it actually turns $a . $b . $c into a join('',$a,$b,$c), effectively | 16:33 | |
ruoso | TimToady, I think you meant $a ~ $b ~ $c | ||
TimToady | I was speaking p5 | ||
ruoso | ah... right | ||
the only problem is that at some point we decided that the type in slurpy arguments is just a promess | 16:35 | ||
16:35
vixey left
|
|||
ruoso | to avoid eagerly evaluating input in signature matching | 16:35 | |
16:35
schmalbe joined
|
|||
ruoso | so, in order to be mmd-aware, the signature always need to list the parameters explicitly | 16:36 | |
16:36
stephenlb joined
|
|||
TimToady | makes me think we want +@args to go with *@args | 16:36 | |
ruoso | +@args? | ||
TimToady | at least on Foo arg | ||
*one | |||
ruoso | right | 16:37 | |
TimToady | but it's kind silly if the code is always going to be shifting $a off anyway | ||
ruoso | TimToady, :(Foo +@args) could ensure the first argument is of the given type | 16:38 | |
TimToady | that was what I was thinking | ||
ruoso | but it doesn't apply to list-infix | ||
because indeed, you'll be shifting it anyway | 16:39 | ||
anyway... I like the idea of stealing yet another concept from functional programming | 16:40 | ||
16:40
|jedai| left
|
|||
ruoso leaving for a meeting & | 16:40 | ||
16:40
ruoso left,
|jedai| joined
16:44
riffraff left
16:46
vixey joined
|
|||
rakudo_svn | r35633 | pmichaud++ | [rakudo]: Require arguments to &foo to be callable. | 16:50 | |
16:52
justatheory joined
16:55
pdcawley joined
16:58
rindolf joined
|
|||
rindolf | Hi all. | 16:58 | |
jnthn | hi | 17:01 | |
rindolf | jnthn: what's up? | 17:03 | |
jnthn | Not so much. Just busy Rakudo hacking. :-) | 17:04 | |
17:04
ludan left
|
|||
rindolf | jnthn: OK. | 17:05 | |
jnthn: are line numbers implemented yet? | |||
jnthn | rindolf: The Parrot changes needed for them pretty much are. | ||
pmichaud | PGE changes are next for that. | ||
jnthn | rindolf: However, still waiting on some PGE refactors. | ||
pmichaud | then PCT changes. | ||
jnthn | pmichaud: How's the timescale looking on thoes? I guess after the next relesae now? | 17:06 | |
pmichaud | with some minor speed penalty I might be able to do the PCT changes first. | ||
jnthn: definitely after next release. I have to get infrastructure issues resolved -- and that really needs to happen before Jan 26. | |||
since infrastructure issues also include "how does one build Rakudo...", that's a bit of an imposing deadline. | |||
jnthn | Yes. | 17:07 | |
pmichaud | (and we really can't do anything official until after Jan 20) | ||
jnthn | Ah, *crap*. | ||
Just when I think I've fixed all the spectests up... | |||
17:08
eternaleye left
17:09
eric256 joined
|
|||
eric256 finaly got his home office setup ;) | 17:09 | ||
pmichaud | home offices are nice. :-) | 17:11 | |
jnthn | Indeed. :-) | ||
pmichaud | I really like my office -- custom-designed my desk and everything. :-) | 17:12 | |
eric256 | yea right now i've got our first kitchen table as my desk, but the plan is to find/make the perfect desk later | ||
trying to figure out how to incorporate my HO trains with my desk ;) | 17:13 | ||
pmichaud | eric256: we made my desk out of kitchen cabinets :-) | ||
(okay, they were desk cabinet pieces from a kitchen cabinet company) | |||
eric256 | pmichaud++ cool | ||
jnthn doesn't have anything so special as that, but he does have a view out of the window. :-) | 17:14 | ||
eric256 | we will eventualy make our own kitchen cabinets and everything. wife and i love wood working, and shes an artist so it makes things interesting | ||
17:14
pdcawley left
|
|||
pmichaud | yes, my desk was a birthday gift from my wife (who loves me _very_ much :-) | 17:14 | |
17:15
pdcawley joined
|
|||
pmichaud | (yes, it's mutual.) | 17:15 | |
eric256 | hehe. my wife does all the crafty stuff, but i found a modular system designed for workshops i want to get her to adapt for the kitchen. | ||
fully rearrangable kitchen would be pretty cool | |||
pmichaud | I should take pictures and write an article about my office setup. :-) | 17:16 | |
eric256 | its been about 5 years since i had my own desk at home so i'm pretty excited, and i don't just get a desk i get a whole room lol | ||
17:17
On is now known as On_home,
On_home is now known as On_home_and_afk
17:20
silug left
|
|||
jnthn | .oO(plz plz let this spectest run come back clean) |
17:21 | |
17:24
rindolf left
|
|||
eric256 gits November to take a peak | 17:24 | ||
did you still need help with the errors on it masak? | |||
17:28
[particle]1 joined
17:29
araujo joined
|
|||
rakudo_svn | r35634 | bernhard++ | [codingstd] trailing_space.t | 17:30 | |
jnthn | If anyone's not gainfully employed, may last ci to Rakudo (be sure to updated your Parrot too) made a bunch of todo's tests pass (ones that check retrun value of .WHAT to see we get Sub, Method, etc instead of just Block). | 17:37 | |
pmichaud: Is there an easy way to get regex subs a loadinit? I'm guessing not... | 17:39 | ||
eric256 | is there anyway to t get the "too few arguments passed" error to mention the medhot/function being called? | 17:40 | |
rakudo_svn | r35637 | jonathan++ | [rakudo] Re-bless Parrot subs into Block, (Perl6)Sub or Method, so .WHAT answers correctly on them. | ||
jnthn | eric256: Maybe - that message comes from within Parrot guts. | ||
17:40
Lorn left
|
|||
eric256 | okay i'll grep for it | 17:40 | |
since we don't have line numbers that would help | 17:41 | ||
jnthn | Yes. | ||
eric256 starts a donation fund for line numbers ;) | |||
jnthn | eric256: Half the work for them has been done already, at least. :-) | ||
eric256 | yea! | ||
jnthn | Shouldn't be too long to 'em now. :-) | ||
17:46
[particle] left
|
|||
pmichaud | jnthn: regexes are likely to get a loadinit as part of PGE stuff anyway. | 17:55 | |
but since a regex currently returns a PAST::Block already.... perhaps .loadinit already works? | |||
jnthn | pmichaud: Ooh, actually I didn't try it, just thought it probably wouldn't work. Hmm. | ||
:-) | |||
pmichaud | want me to try? | ||
jnthn | Go for it! | ||
pmichaud | since I'm familiar with the regex code. | ||
(and I can easily fix PGE if an easy fix is all that is needed) | 17:56 | ||
okay, working. | |||
jnthn | The whole reason I did this pile of "fun" is that I can bless submethod into Submethod. | ||
pmichaud | that would be really nice, so that we can get smart matches correct. | ||
jnthn | So I don't need a nasty hack that I have to replace later. | ||
pmichaud svn ups, rebuilds, prays. | |||
jnthn | Since doing submethod is on my Hague task list. | ||
pmichaud: Be sure to get latest Parrot. | 17:57 | ||
pmichaud | I always do. | ||
jnthn | :-) | ||
meppl | good night | ||
pmichaud | I probably do realclean; rebuild at least a half-dozen times per day. | ||
fortunately that doesn't take long on my machine. | |||
pmichaud snickers loudly at Vonage's "come back to us, we'll give you two free months" offer | 17:58 | ||
jnthn | pmichaud: Did you have a test-case the other day on NCI stuff where the invocant was not deref'd and it woulda been good if it were? | ||
Or something like that? | |||
pmichaud | I don't have a test case, but much of the NCI stuff has that issue. | 17:59 | |
jnthn remembers *some* discussion on something like this | |||
Was it just the invocant at issue? | |||
pmichaud | no, the arguments also. | ||
jnthn | Or the params too? | ||
Ah. | |||
pmichaud | I don't think we can _quite_ do anything about that yet, because some of the builtins still need the objectref. | ||
jnthn | Ah. | ||
pmichaud | although I suppose we could prioritize those builtins, or give them signatures. | 18:00 | |
jnthn | Or I could test if I'm calling an NCI... ;-) | ||
rakudo_svn | r35638 | jonathan++ | [rakudo] Parse submethods and bless them into the Submethod class (also added here). Don't do the correct dispatch on them yet. | ||
pmichaud | oh, that also. | ||
Andy: when I'm asked to approve a comment on rakudo.org, why does the link come up with "theworkinggeek.com"? | |||
jnthn | I'm just about to try a refactor so that $foo.bar(...) actually does $foo.^dispatch('bar', ...) | 18:01 | |
18:01
meppl left
|
|||
pmichaud | jnthn: seems reasonable. | 18:01 | |
jnthn | We are a step closer to the HOW API then. | 18:02 | |
However, we then have to walk the parents ourself. | |||
Which'd hit performance a little. But we can also make ourselves a little cache. :-) | 18:03 | ||
(But not in the first cut.) | |||
alester | I don't know. | ||
pmichaud | we can't do a "find_method" to let parrot walk the parents for us? | ||
jnthn | No because it won't ignore submethods. | ||
alester | pmichaud: They all run off the same MT. | ||
pmichaud | alester: okay. What's the prognosis for switching rakudo.org to drupal or something else? | 18:04 | |
alester | Do you not like the MT? | ||
Will there be people taking advantage of an update? | |||
jnthn | I for one will. | ||
pmichaud | not really -- at least from what I've seen the MT is primarily aimed for blog-type posting and not information-type ones. | ||
we really need www.rakudo.org to be more of a "here's what rakudo is, how to get it, where to find it, faq, etc." type of resource | 18:05 | ||
(that is, if www.rakudo.org is to be the main rakudo site) | |||
yes, I suspect we have a number of people who would help quickly populate a new site with content -- especially if there's a way for us to hand out some "commit bits" for it. | 18:06 | ||
18:08
bsdperl left,
aindilis` joined,
bsdperl joined
18:09
bsdperl left
|
|||
pmichaud | alester: if this is all something you'd rather not commit your resources to, we can find alternate venues. I'm not pushing one way or another (yet), but we are getting to a point where we'll want to make some decisions relatively soon. | 18:09 | |
alester | I'd love to commit resources to it. | ||
I want to make sure that there's going to be users for it, and I'm not setting up another blog in a different kitchen. | 18:10 | ||
But from what you say, it sounds like there will be. | |||
pmichaud | oh yes, I think I can guarantee that. | ||
alester | I'm just doing standard project request pushback. :-) | ||
pmichaud | Rakudo really needs a site of its own. doing it on rakudo.org is the logical place for it. | ||
the other logical places are perl.org or another domain such as rakudoperl.org, but perl.org isn't always convenient and since rakudo.org is already established (and the simplest name) it seems like the best immediate choice. | 18:11 | ||
jnthn | Agree. | ||
pmichaud | we're also not committed to drupal as an option -- it's only come up because you've mentioned it and a few of us have seen it in use for parrot.org. | 18:12 | |
jnthn | rakudo.org is the place I've tended to point people at so far. | ||
pmichaud | we just know that MT isn't quite working for us, at least in its current incarnation. | ||
so if there are other options besides drupal, we can entertain those as well. | |||
jnthn | pmichaud: How far are we off supporting s/a/b/ substitution syntax? | 18:19 | |
(As in, does it have a dependency on LTM or protoregexen?) | 18:20 | ||
("don't know, you look" is a fine answer too :-)) | |||
pmichaud | jnthn: I hadn't really thought about it much. | ||
I figure that .subst is a reasonable substitute for now. | 18:21 | ||
Or, in other words: s{ s/a/b/ }{ .subst(/a/, 'b') } | |||
jnthn | That works now? | 18:22 | |
OK. | |||
Basically on my Hague grant I put that I'd finish up handles | |||
pmichaud | rakudo: say 'hello'.subst( /l/, 'x'); | ||
p6eval | rakudo 35638: OUTPUT«hexlo» | ||
jnthn | Including the fun that is has $.fur handles (s/^furget_/get_/); | ||
18:22
aindilis left
|
|||
pmichaud | rakudo: say 'hello'.subst( /l/, 'x', :global); | 18:22 | |
p6eval | rakudo 35638: OUTPUT«hexxo» | ||
pmichaud | rakudo: say 'hello'.subst( /l/, { .ord }, :global); | ||
p6eval | rakudo 35638: OUTPUT«he108108o» | ||
jnthn | OK, so we certainly have the functionality, it's "just" a matter of syntax. | 18:23 | |
pmichaud | not completely | ||
we don't have s[pattern] = foo(); | |||
jnthn | Ah, true. | 18:24 | |
pmichaud | that might not matter for handles, though. | ||
jnthn | No, mabye not. | ||
*maybe | |||
pmichaud | so yes, at this point it's _mostly_ a matter of syntax. | ||
18:24
Lorn joined
|
|||
pmichaud | also the .subst method needs some refactoring -- its option handling isn't quite right. | 18:25 | |
jnthn | rakudo: say 'hello'.subst(/will nee match/, 42) | ||
p6eval | rakudo 35638: OUTPUT«hello» | ||
pmichaud | I'd prefer to see it written in terms of .match | ||
jnthn | rakudo: my $x = 'hello'; say $x.subst(/will nee match/, 42); say $x; | ||
p6eval | rakudo 35638: OUTPUT«hellohello» | ||
jnthn | rakudo: my $x = 'hello'; say $x.subst(/l/, 42); say $x; | ||
p6eval | rakudo 35638: OUTPUT«he42lohello» | 18:26 | |
jnthn | rakudo: my $x = 'hello'; say $x.subst(/l/, 42).Bool; say $x; | ||
pmichaud | masak has beaten you to the easy ones, I bet. :-) | ||
p6eval | rakudo 35638: OUTPUT«Method 'Bool' not found for invocant of class 'String'current instr.: '_block14' pc 107 (EVAL_16:51)» | ||
jnthn | :-P | ||
18:26
mncharity joined
|
|||
jnthn | pmichaud: I was wondering if there is a way to know, when doing a subst, if we did match. | 18:26 | |
As well as a way to get the result. | |||
Oh, check $/ mabye? | |||
pmichaud | yes, that probably works. | 18:27 | |
jnthn | rakudo: my $x = 'hello'; say $x.subst(/l/, 42).Bool; say $x; say $/; | ||
p6eval | rakudo 35638: OUTPUT«Method 'Bool' not found for invocant of class 'String'current instr.: '_block14' pc 107 (EVAL_17:51)» | ||
jnthn | rakudo: my $x = 'hello'; say $x.subst(/l/, 42); say $x; say $/; | ||
p6eval | rakudo 35638: OUTPUT«he42lohellol» | ||
jnthn | rakudo: my $x = 'hello'; say $x.subst(/neeee/, 42); say $x; say $/; | ||
p6eval | rakudo 35638: OUTPUT«hellohelloUse of uninitialized value» | ||
jnthn | woo | ||
ftw | |||
alester | pmichaud: I'm all for the Drupalization | 18:28 | |
pmichaud | alester: when would you be able to make it happen? | ||
alester | it will also be a good test-bed for theworkinggeek which I'm going to dump tons of content into aswell. | ||
pmichaud: When do you want it to happen? | |||
pmichaud | good question. | ||
alester | no need to bust my ass for no reason. | ||
it's lunch time here | |||
let's discuss later. | 18:29 | ||
pmichaud | yes, let's. I'm thinking early next week. | ||
alester | I would LOVE | ||
pmichaud | (for when it would happen) | ||
jnthn | We could just bust your ass for the fun of it. ;-) | ||
alester | to have it ready for Frozen Perl | ||
pmichaud | I want it ready long before then. :-) | ||
alester | because one of the things that I want to talk about in my keynote is that the Only Thing That Matters is getting Rakudo out. | ||
pmichaud | I look forward to seeing that talk :-) | ||
alester | The other Only Thing That Matters is keeping Perl 5 going. | 18:30 | |
you gonna be there, Patrick? | |||
pmichaud | yes. | ||
alester | Oh right | ||
I am signed up for one of your talks. | |||
ok | |||
lunch time;. | |||
smoochies everyone. | |||
18:30
alester is now known as AndyAway
|
|||
pmichaud | let's discuss drupal timing later, yes. | 18:30 | |
jnthn | pmichaud: I wouldn't object to having it before my first workshop of the year. :-) | 18:31 | |
As in, would rather like to have it by... :-) | |||
pmichaud | jnthn: when's that? | 18:34 | |
jnthn | 31st | 18:35 | |
(Jan) | |||
18:35
Casan joined
|
|||
pmichaud | yes, that's along the time scale I'm considering. | 18:35 | |
I'm actually thinking that we may declare next week the "everything breaks" week. | 18:36 | ||
mncharity | TimToady: I note cd src/perl6/; make seems to have gotten slower. ./tryfile STD.pm just took 4:30. My fuzzy impression is that's a small integer factor or perhaps 10x slowdown. A 5 minute edit-test cycle on STD.pm changes seems problematic. | ||
But I've not double checked it, and I had an OS upgrade, so perhaps I'm just confused. | 18:37 | ||
jnthn | pmichaud: Sheesh, you tell me that after I've spent this week carefully not breaking everything putting in parametric roles and refactoring dispatch. :-P | ||
pmichaud | oh, I meant breaks in terms of infrastructure, not code :-) | ||
jnthn | ;-) | ||
OK, how epic fail is this dispatcher going to be... | 18:38 | ||
TimToady | mncharity: what you're noticing is that bare make didn't used to do tryfile STD.pm | 18:39 | |
18:39
|jedai| left
|
|||
TimToady | it does now to force rebuilding of baseline lexers | 18:39 | |
18:39
|jedai| joined
|
|||
mncharity | pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~340 days 'til Xmas | 18:40 | |
TimToady | but tryfile STD.pm still runs about the same speed as it did, at least on my machine | 18:40 | |
mncharity | ah, ok. thanks. | 18:42 | |
eric256 | rakudo doesn't automaticaly use a .pm even if its newer than the .pir? is there going to be like a "compile needed modules" type option? or re-compile on demand? | 18:45 | |
pmichaud | eric256: we haven't addressed those issues yet. | ||
mncharity | TimToady: would it be plausible to add a make fast target which doesn't do lex/STD/termish? | ||
pmichaud | "recompile on demand" somewhat assumes write permission to the needed files. That doesn't always exist. | 18:46 | |
or, put another way, "recompile on demand" is really "use the .pm file" | |||
there are also a number of issues surrounding selecting which .pm file to use, if there are multiple versions of the same module. | 18:47 | ||
so, let's just say it's a thorny issue that hasn't been a top priority as yet :-) | 18:48 | ||
18:49
Psyche^ joined,
tux300181 left,
tux300181 joined
|
|||
eric256 | lol okay | 18:50 | |
18:50
Patterner left,
Psyche^ is now known as Patterner
|
|||
eric256 | just through me off with november i did make, then modified a .pm and nothing happened. lol | 18:50 | |
is there a command line option for compiling modules? or do i just follow the syntax used in the make file? | 18:51 | ||
pmichaud | jnthn: what's the purpose of $block<block_class_type>[1] := $type; | ||
? | |||
eric256 pictures local user cache for compilation with write-ability) but thats definitly not at the top of the list | |||
jnthn | pmichaud: We set the block type to Block initially. | 18:52 | |
pmichaud | jnthn: where does that happen? and why [1] ? | ||
jnthn | pmichaud: But later we may discover it actually wants to be Sub or Method or etc. | ||
pmichaud | oh, I see | ||
it's the node. | |||
jnthn | Right. | ||
I didn't want to have to go digging or making assumptions about the structure of the block. | |||
So I set it as a <foo> | 18:53 | ||
pmichaud | I definitely agree there. | ||
it's fine -- just didn't understand it at first. | |||
jnthn | If you can see a nice way not to set it wrong in the first place, I'm happy to do that. But I didn't think of one. | ||
pmichaud | maybe we should put _node as a marker for things that are references to PAST::* nodes | ||
i.e., <block_class_type_node> | |||
I'll think about it some. | 18:54 | ||
it's fine as is for now though, now that I understand it. | |||
oh dear. Looks like getting regexes to be Regex might now be a one line change. :-D | 18:55 | ||
jnthn | :-D | ||
pmichaud++ | |||
eric256 | any idea what "too few arguments passed (0) - 2 params expected" would mean if the line throwing it is a call to match a grammar? | ||
jnthn | Yes. | ||
pmichaud | how are you matching the grammar? | ||
jnthn | That you're not supposed to do it like that. :-) | ||
pmichaud prepares the buzzer.... | 18:56 | ||
eric256 | github.com/eric256/november/blob/56...Grammar.pm that grammar | ||
$c_str ~~ URI::Grammar::TOP; | |||
pmichaud | BZZZZT! | ||
PerlJam | eric256: you want some // and some <> in there | ||
jnthn | /<URI::Grammar::TOP>/ | ||
pmichaud | actually, it's likely to become URI::Grammar.parse($c_str) later today. | ||
PerlJam | does the spec mandate that .parse() always starts at TOP ? | 18:57 | |
pmichaud | if defined, otherwise the first declared rule. | ||
or something like that. | |||
(.parse will currently implement that it uses .TOP, because that's easiest for now.) | |||
jnthn | Ouch! You don't get much info on where the bug is, when you manage to make NQP crash inside PAST::Compiler... | 18:58 | |
eric256 | okay | 18:59 | |
fixed that error, its my first look at the November code at all...off i go to the next | |||
took 30 minutes just to find the peice of code ;( lol | 19:00 | ||
19:02
aindilis` left
|
|||
pmichaud | jnthn: improving NQP stuff is on my ever-growing list of things to work on :0| | 19:03 | |
jnthn | pmichaud: Found it. | ||
pmichaud: $past.name() := "foo"; # duh! | |||
Dies in PAST::Compiler with "rtype not set" | 19:04 | ||
pmichaud | then the error message said exactly what was wrong. :-) | ||
just didn't say where. | |||
jnthn | :-P | ||
pmichaud | annotations should help that. | ||
oh wait, that's me. Another item on my ever-growing list of things to work on :-| | |||
PerlJam | pm: find more delegates | 19:07 | |
19:09
braceta left
|
|||
pmichaud | PerlJam: want to work on NQP? ;-) | 19:14 | |
19:14
pbuetow joined
|
|||
pmichaud | oooh, time to put in my deprecation notice. | 19:14 | |
PerlJam | pm: I *want* to work on lots of things ... therein lies the problem. | ||
(NQP fall firmly within my areas of interest) | 19:15 | ||
s/fall/falls/ | |||
19:15
|jedai| left
19:16
cognominal left,
|jedai| joined
19:19
cognominal joined
19:34
riffraff joined
|
|||
pugs_svn | r24930 | putter++ | [STD] Added make fast target - like make all, but doesn't ./tryfile STD.pm . | 19:35 | |
19:35
Exodist left
19:36
_jedai_ joined
19:38
|jedai| left
19:41
aindilis joined
|
|||
pugs_svn | r24931 | putter++ | [elfparse] Set make target known_working_STD (to r24775), as elfparse isn't quite working with the current STD.pm. | 19:43 | |
mncharity | ah well, more regression debugging another time. | 19:46 | |
19:47
mncharity left
19:49
[particle] joined
19:51
silug joined
20:01
_jedai_ left
20:02
|jedai| joined
|
|||
eric256 | okay. i have a failed match. but $/ ~~ Failure returns 0 and $/<path><chunk> gives me "Method 'postcircumfix:{ }' not found for invocant of class 'Failure'" since it said the invocant is Failure i thought ~~ would work... | 20:05 | |
20:07
[particle]1 left
20:11
athenot joined
20:16
AndyAway is now known as alester
20:19
ruoso joined
20:30
Lorn left
|
|||
jnthn | OK, that's Rakudo's dispatcher refactored, more HOW API compliance and should be submethods working too. Think that'll do me for the day. Time to go cook dinner. :-) | 20:32 | |
Matt-W | jnthn: enjoy your dinner. I think you've earned it | 20:34 | |
eek | 20:37 | ||
parrot no build! | |||
20:38
nnunley joined
|
|||
jnthn | Sadly, the submethods.t tests all rely on lexicals being visible in classes that were declared outside of 'em. :-| | 20:38 | |
Matt-W: Oh? Where is fail? | |||
Matt-W | Invoking Parrot to generate runtime/parrot/include/config.fpmc --cross your fingers | ||
./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc | |||
/bin/sh: line 1: 5123 Segmentation fault ./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc | 20:39 | ||
make: *** [runtime/parrot/include/config.fpmc] Error 139 | |||
I had just done svn up; make realclean; Configure.pl; make perl6 | |||
rakudo_svn | r35645 | jonathan++ | [rakudo] Refactor dispatch. This now calls .HOW.dispatch, where we have a custom dispatcher, which will be filled out with more functionality in the future. Contains support for submethods, which appears to work (need to find/enable/write some spectests). | 20:40 | |
jnthn | Ouch. | 20:46 | |
miniparrot segfaulting is...very bad. | 20:47 | ||
:-| | |||
Matt-W: What platform? | |||
pugs_svn | r24932 | putter++ | elfblue now works with current STD.pm. | ||
r24932 | putter++ | [elf_h] Handle emit of infix ops with >2 arguments, in support of elfblue. | |||
r24932 | putter++ | [STD_red] Defer require()ing readline until a repl is (rarely) requested, simplifying non-debian install. | |||
r24932 | putter++ | [elfparse] Drop nodes.pm (created by nodes_create.pl) from source control, to avoid a make gotcha. | |||
Matt-W | jnthn: x86_64 linux | 20:50 | |
jnthn | Ah. | 20:51 | |
Matt-W: Asking about it in #parrot | |||
Matt-W | Should I drop in there as well? | ||
jnthn | If you like - it's probably more of an on-topic channel for Parrot than this one, or there's more people who are clueful. | 20:52 | |
Matt-W | Is it on freenode? | ||
jnthn | no | 20:53 | |
Wherever irc.perl.org goes. :-) | |||
However | |||
trac.parrot.org/parrot/ticket/179 | |||
Also | |||
21:53 <@chromatic> jonathan, Allison ran into that yesterday. | |||
21:53 <@chromatic> Something in scheduler initialization. | |||
Seems x86 64 specific. :-( | |||
Matt-W | Fantastic, not just me then | ||
jnthn | No, not at all. | ||
Matt-W | I guess I'll just have to wait until it's fixed then | 20:54 | |
Thanks for following that up | |||
jnthn | np | 20:57 | |
20:59
perl7 joined
21:00
ejs joined
21:02
ruoso left
21:03
masak joined
21:05
Lorn joined,
spx2_ left
21:06
spx2 joined
|
|||
masak makes a mental note to put .i into Num in S29 | 21:12 | ||
21:17
km2 joined
|
|||
masak | can I type an array parameter to a sub or method? | 21:20 | |
something like sub foo(Array[Str] strings) { ... } | 21:22 | ||
er, @strings | |||
21:23
brunoV joined
|
|||
PerlJam | masak: what is that to mean? Like "Array of Str"? or something else? | 21:25 | |
masak | PerlJam: yes... I don't know if I got the syntax right. | 21:26 | |
PerlJam | Because it sounds like you're looking for sub foo (Str @array) { ... } | ||
masak | PerlJam: oh, right. yes. | ||
ok, followup question: | |||
what happens when I send an untyped array, consisting solely of Str objects, to &foo? | 21:27 | ||
jnthn | masak: My dinner is ready, but catch me on that a little later. :-) | 21:31 | |
masak | jnthn: oki. if I'm awake by then. | ||
jnthn: dobru chut. | 21:32 | ||
pugs_svn | r24933 | putter++ | [STD_red] The dump1 code for lisp was failing (ruby string encoding error) on the elf_h source's recently added string '$¢'. Fixed. elfish/on_sbcl's CL elf can again compile a P5 elf (though it remains not-quite correct). | 21:35 | |
21:38
pina joined
|
|||
pina | erm what is the output for perl -e"print qq^;@)\!\^^^qq^Y/[D:?\xa^" | 21:38 | |
21:38
thepler joined,
On_Office joined
|
|||
PerlJam | masak: at a guess, I'd say that it would work unless you sent it an array that had an element that did not provide a Str representation. | 21:38 | |
21:38
spx2_ joined
|
|||
masak | PerlJam: ok. | 21:39 | |
so there are no compile-time vs run-time types involved or anything? | |||
pina | is there anything wrong with that oneline | ||
onliner | |||
one liner | 21:40 | ||
21:40
Lorn left
21:41
|jedai| left
|
|||
On_Office | hmmmm | 21:41 | |
you need to do: | |||
/mode #perl6 +t | |||
21:42
|jedai| joined
|
|||
pina | what? | 21:42 | |
On_Office | I mean an op needs to do it. | ||
Otherwise some kids may abuse it. topicsfloods or just topicsheadaches | 21:43 | ||
pina | oh ok | ||
thought you were referring to my question:) | 21:44 | ||
On_Office | :) | ||
But most kids are probably on #php so i guess there is no need to worry :) | |||
no, i am still learning perl6, to see how or in what may i can get involved and maybe help. Many things to learn. | 21:45 | ||
masak | pina: you should perhaps ask on a non-Perl6-specific channel | ||
pina | oh ok | ||
masak | On_Office: check out November! :) | 21:46 | |
PerlJam | pina: try #perl or #perlhelp | ||
pina | k | ||
On_Office | #perlhelp is empty | ||
21:47
schmalbe left
|
|||
masak | #perlhelp at irc.perl.org, perhaps? | 21:47 | |
21:47
riffraff left
|
|||
On_Office | 2009? or 2019? :) | 21:47 | |
masak | On_Office: github.com/viklund/november | ||
2009. | 21:48 | ||
today. | |||
On_Office | Anything before 2012 is ok, then.. | ||
thanks | |||
yes, i wrote about this one in slashdot.org something about versioning change to git. | |||
masak | On_Office: not sure I follow. which versioning change? | 21:49 | |
On_Office | will look for the article, | 21:50 | |
masak | much appreciated. | ||
oh! you probably mean Perl 5. | |||
On_Office: we're a bit futuristic here, so some of us have been using git longer than that. :) | 21:51 | ||
On_Office | ops, yes my mistake: developers.slashdot.org/article.pl?...p;from=rss | ||
masak | On_Office: no problem. :) | ||
On_Office must admit complete ignorance, he is here to learn. | 21:52 | ||
masak | On_Office: that's a good state of mind to start with. :) | ||
On_Office: do you have Parrot yet? | |||
On_Office | not yet | 21:53 | |
masak | On_Office: when you do, you'll be able to compile Rakudo and play the ASCII board game I wrote. | ||
it might be a nice way to get motivated and get started. | 21:54 | ||
21:54
spx2 left
|
|||
PerlJam | What's a good project to do with November? Is there some feature it really needs? | 21:54 | |
21:54
Whiteknight joined
|
|||
On_Office | ASCII board game. Sounds interesting! Right now, I am dependent on dreamhost (like to do testing online). Maybe I can ask them to add parrot. | 21:55 | |
PerlJam | On_Office: you don't have a desktop machine? | ||
On_Office can help with this: security (42 years of expirience in breaking anything-YES ANYTHING), and testing with his CMS project which has nearly 7000 [sleeping] users. | 21:56 | ||
21:57
ejs left
|
|||
On_Office | Yes, I have but we moved to a new appartment so knoiw life is a mess, 2 offices and 2 appartments with laptops and harddisks moving around, and no time to install ubentu yet. | 21:58 | |
PerlJam | parrot runs on windows | ||
On_Office | Sounds like a crime. | ||
PerlJam | On_Office: If I'm stuck on windows for whatever reason, i'd like to have ready access to perl. Running parrot on windows means I can even get perl6 if I want to. | 21:59 | |
On_Office | Is it better then Perl5 on windows? | 22:00 | |
PerlJam | perl6 isn't finished yet. | 22:01 | |
So, it depends on how you define "better" | |||
jnthn | masak: I'm back. | ||
On_Office | Security. | ||
Stability too. | |||
masak | jnthn: cool. same question again, then. | 22:02 | |
On_Office: we're not quite there yet. but Perl 6 is already good in some ways. | |||
On_Office | Will install nix and try the real thing, within 2 weeks. What % is done so far? | 22:03 | |
masak | On_Office: with buildings and bridges, that is easy to answer. | 22:04 | |
jnthn | masak: OK. | ||
masak | with the first ever implementation of a language spec, not so easy. | ||
jnthn | So on arrays | ||
masak | yes. | 22:05 | |
On_Office | Asked one of the admins on DreamHost to add Parrot this is answer: "Pieces of eight, pieces of eight, squawkkk." lol | ||
22:05
pmurias joined,
Blasi left
|
|||
PerlJam | masak: you should read "Dreaming in Code" | 22:05 | |
jnthn | So my current understanding is that it'll be like | ||
22:05
|jedai| left
|
|||
masak | PerlJam: I am. | 22:05 | |
jnthn | role Array[$of = Object] { ... } | ||
Array here is the implementation type. | |||
my $x is Array; | |||
masak | uh huh. | 22:06 | |
jnthn | Or rather my @a is Array; too :-) | ||
PerlJam | masak: oh. Read the last few pages where Scott gets back to the comparison of bridges to software development. | ||
:-) | |||
masak | PerlJam: haven't gotten that far yet. :) | ||
jnthn | You could pass a parameter. | ||
my $x is Array[Int]; | |||
22:06
|jedai| joined
|
|||
jnthn | This is the same as | 22:06 | |
argh | |||
my @x is Array[Int]; # I meant | |||
my Int @x; | 22:07 | ||
masak | same as 'argh'? :) | ||
jnthn | :-P | ||
so if you write | |||
masak | when you're about to die, you don't write 'argh' on the wall... | ||
jnthn | sub foo(Int @x) { ... } | ||
On_Office | It would be interesting to get dreamhost to test it, they are both large and Perl based. | ||
jnthn | You're asking for an array whose elements are Int. | ||
PerlJam | masak: the punch line is that the bridge he was talking about earlier is still being "built" a quarter of a century after it started and because of circumstance, even though some of it is built, no one can say what % is complete. | ||
masak | PerlJam: 'xactly. | 22:08 | |
jnthn | If you write sub foo(Array of Int @x) { ... } | ||
pmichaud | rt.perl.org gets another -1 vote from me :-( | ||
PerlJam | so, it's not as easy to give a % for bridges or buildings or software. | ||
jnthn | You're wanting something that is an Array whose elements are Arrays of Int. | ||
masak | jnthn: ok, but that is not my question. I'd forgotten the syntax. | ||
jnthn | Yes, I'm getting there. Just wanted to get those bits clear. | 22:09 | |
:-) | |||
masak | goodie. | ||
jnthn | So as I understand it, what you're asking is what happens in: | ||
masak | I'm in a hurry, I'm running on battery :) | ||
jnthn | my @x = 1,2,3,4; | ||
sub foo(Int @a) { ... } | |||
foo(@x) | |||
masak | yes. | ||
jnthn | Since @x wasn't declared as an array of Int. | ||
masak | right. | ||
jnthn | I would *expect* this to suceed. | ||
rakudo_svn | r35651 | pmichaud++ | [rakudo]: Change Grammar.ACCEPTS to Grammar.parse. | 22:10 | |
22:10
[particle]1 joined
|
|||
PerlJam | jnthn: would you also expect my @x = <1 2 foo bar 3 4>; foo(@x); to succeed? | 22:10 | |
masak | jnthn: how? scanning the array? | ||
jnthn | However, obviously what is passed doesn't (as far as it's declared) do Array[Int] | ||
So yes, we'd need to actually scan the array in that case. | |||
masak | jnthn: what if it's infinite? :) | 22:11 | |
masak grins evilly | |||
jnthn | You're screwed. | ||
? | |||
;-) | |||
PerlJam | maybe it could fail lazily? :) | ||
masak | haha | ||
jnthn | lol | ||
masak: The bigger point in all this though, is that parameterized roles will want a way of suceeding a smartmatch (e.g. a type-check against them) non-nominally. | 22:12 | ||
As in, not just by the delcared name/type parameters. | |||
pmichaud | (non-nominally == "without eating them all"? ;-) | ||
jnthn | We need a generic way to do that really, I don't fancy having our built-in types as some special case. | ||
masak | pmichaud: :D | 22:13 | |
22:13
pina left
|
|||
jnthn | So I'm pondering a "will typecheck { ... }" trait at the moment. But, need to ponder it a bit more. | 22:13 | |
Anyway, I plan to put such musings into an S14, mark them REVIEW or CONJECTURAL or something and see what folks think. :-) | |||
masak | sounds good. | 22:14 | |
ok, heading home now. | |||
see you all tomorrow. | |||
22:14
masak left
|
|||
jnthn | have a good evening/night | 22:14 | |
pmichaud: In the case of a lazy list, that was a rather insightful comment ;-) | 22:16 | ||
pmichaud | jnthn: I meant it that way :-) | ||
(as in, I intended both meanings :-) | 22:17 | ||
jnthn | lol | ||
win | |||
jnthn is still behind on his hague grant | |||
But a lot less behind than I was at the start of the week. | |||
pmichaud | your not as far behind as I am :-| | ||
*you're | |||
jnthn | You have the disadvantage of (a) having had a lot of other stuff that really needed sorting out and (b) having a really hard set of tasks. | 22:18 | |
Matt-W | You have both done so much really impressive work | ||
pmichaud | and also some somewhat unexpected schedule changes, such as repository moves. | ||
yeah, I don't fault myself too much for being behind on the grant, but it does mean the $$$ comes later. | 22:19 | ||
(as in "shows up later") | |||
jnthn | Yes. | ||
Hindsight is also 20/20. | |||
PerlJam | Matt-W: here's how it typically happens ... "I'm so behind" <2 days later> "okay, I finally got caught up and have finished my work and done these 4 other things that were slated for the future" ;-) | 22:20 | |
Matt-W | PerlJam: I can live with that | ||
22:26
[particle] left
22:27
vixey left
|
|||
pugs_svn | r24934 | hinrik++ | [util/perl6.vim] Made a few non-crucial things optional, which speeds things up considerably | 22:33 | |
22:36
Casan left
22:42
|jedai| left,
Limbic_Region joined
22:43
|jedai| joined
22:45
braceta joined
22:53
jhorwitz left
22:55
iblechbot_ joined
23:00
pmurias left
23:05
perl7 left
23:08
iblechbot left
23:10
ryanc left
23:11
|jedai| left,
|jedai| joined
23:19
ruoso joined
|
|||
ruoso | Hello! | 23:23 | |
diakopter | ruoso: hi | 23:28 | |
ruoso | hi diakopter... any luck in building smop in windows? | 23:29 | |
diakopter | I haven't yet tried the Dec 16 pugs cabal package... hackage.haskell.org/cgi-bin/hackage...ckage/Pugs | 23:30 | |
but otherwise I don't want to try to build pugs on windows with ghc 6.10.1 | |||
ruoso | diakopter, but I think you should try building smop anywya | ||
diakopter | pugs from svn.pugscode.org | ||
ruoso | I think the direct dependency on pugs was dropped | ||
23:30
pdcawley left
|
|||
diakopter | oh | 23:30 | |
:) | 23:31 | ||
diakopter looks for build instructions | 23:32 | ||
Limbic_Region | smop on windows proper or are you interested on cygwin? | ||
and if I could be pointed to some checkout and build instructions | |||
diakopter | non-cygwin | ||
Limbic_Region | I would be happy to try Win32/MinGW and Win32/Cygwin | ||
ruoso | I think it will be a fire-proof for scons, actually | ||
(which means you need python and scons installed on windows... | 23:33 | ||
but the code is mostly portable... | 23:34 | ||
diakopter | scons 1.2.0> | ||
? | |||
ruoso | 1.0.0 here | 23:35 | |
1.2.0 should work | |||
diakopter | python 2.6.1? | 23:36 | |
ruoso | 2.5.2 | ||
diakopter | <sigh> just uninstalled it | ||
ruoso | 2.6.1 should work, I think | 23:37 | |
the only thing I'm aware to be possibly unportable is the use of pthread_rwlock | 23:41 | ||
diakopter tries to figure out how to get scons in the %PATH% | |||
oh, I see. C:\Python25\Scripts\ | 23:42 | ||
23:43
wknight8111 joined
23:45
Whiteknight left
|
|||
diakopter tries to cabal install utf8-string | 23:45 | ||
ruoso | (I think simplifying the build instructions might be a strong reason for porting m0ld to p5) | 23:46 | |
diakopter tries to install cabal-install | 23:52 | ||
wolverian | thanks to the bootstrap script, it's pretty easy. | 23:53 | |
pugs_svn | r24935 | lwall++ | [Cursor.pmc] expand tabs | 23:54 | |
diakopter | wolverian: not if you don't have an sh! ;) | 23:55 | |
23:55
alester left
|
|||
diakopter | but yes it's even still pretty easy. | 23:56 | |
wolverian | I suppose. :) | ||
ruoso | diakopter, don't you have the new powershell? | 23:57 | |
ruoso hides | |||
diakopter | heh | ||
During interactive linking, GHCi couldn't find the following symbol: SHGetFolderPathA@20 | |||
while installing Cabal-1.6.0.1 | 23:58 | ||
ruoso | hmmm... that doesn't sound too good... | ||
wolverian | www.nabble.com/Problem-installing-C...07151.html perhaps? | 23:59 | |
diakopter | oh, that's better | ||
ghc --make Setup instead of runghc... |