»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
00:00
ash__ joined
|
|||
masonkramer | I'm not quite following. The module that requested what? The module that requested the registration of a CANDO, or the module that asked $foo whether it 'bars'? | 00:01 | |
pugssvn | r31371 | sorear++ | [viv] Allow arguments to be passed to emitters. Use this to start assembling the viv --psq declaration system. | ||
sorear | masonkramer: the latter | 00:02 | |
our import system is designed to stop action at a distance... even the good kind | |||
masonkramer | What other module would need to know that $foo.bars? | 00:04 | |
00:06
ash__ left,
supernovus joined
|
|||
masonkramer | Wait. So if I'm in package Foo; I can't do this: $foo.baz.bars, if Baz::bars() is a CANDO multi? | 00:08 | |
or $self.baz.bars more likely | 00:09 | ||
sorear | That's not what I mean | ||
If you're in package Foo, you can do Bar::x | |||
If you're in package Baz, you can do Bar::x, BUT IT CALLS CANDO AGAIN EVEN IF CANDO INSTALLED A SYMBOL! | |||
because the symbol tables are not shared between different importations of the same module | 00:10 | ||
this is harmful if you're using CANDO for, uh, automatic loading | |||
if you're using it for something else it's not so bad | |||
masonkramer | OHHhhhhh. | 00:11 | |
That's bad! | |||
but couldn't they be installed via the metaclass at runtime? | 00:12 | ||
something like... multi CANDO { ... blah blah ... $self->meta->add_method sub { ... }} | 00:13 | ||
sorear | that only works if CANDO is in a class | 00:14 | |
masonkramer | Gah. | 00:18 | |
00:20
snarkyboojum joined
00:22
supernovus left
00:32
fridim_ joined
00:36
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42,
christine left
00:40
masonkramer_ joined,
masonkramer left,
masonkramer_ is now known as masonkramer
|
|||
TimToady | well, there are various ways of making CANDO work on functions, some of which off more opportunity for pessimalization than others | 00:41 | |
00:42
christine joined
|
|||
TimToady | one possibility that is fairly innocuous is to register one or more packages as failovers if a function isn't found in in the standard lexical search. | 00:42 | |
this preserves the efficiency of everything coming out of CORE, at the expense of not allowing you to shadow any existing lexical names | |||
or one could call functions directly out of the CANDO'd package using a specific notation, if you want to bypass any lexical names | 00:43 | ||
00:44
meppl left
|
|||
TimToady | but importing a CANDO doesn't even necessarily have to involve a named package, just register the package to fail over to, which could be anonymous | 00:44 | |
Wolfman2000 | ...anyone know when masak is planning on coming back? I want to show him a non perl project I've been improving in case my web development skills are still needed for a Perl 6 project | 00:45 | |
TimToady | and then the CANDO can presumably install names into said package to cache callables; presumably the package's names would be examined before CANDO, or it won't help | 00:46 | |
Wolfman2000: he is likely to be sleeping right now, given his timezone | 00:48 | ||
Wolfman2000 | ...right. worldwide channel, I never remember which time zone is which | ||
00:51
fridim_ left,
Rincewind left,
sorear left
00:52
sorear joined
|
|||
TimToady | sorear: re binding to dynamic vars, it seems like it would be permissible from the standpoint of knowing where the variable name is stored, since lookup of necessity must find the lexpad in question (in the absence of caching) | 00:53 | |
however, we need to make some promises to the optimizer here, at least for readonly variables | |||
if a dynamic variable is initialized with ::=, I think this implies that such variables are only for conveying values downward, much like env vars are mere string values | 00:54 | ||
for other dynamic variables, the variable itself is the "value" being passed down, so that it can be an lvalue, and perhaps also a bvalue | 00:55 | ||
00:56
JimmyZ joined
|
|||
TimToady | if there's some good reason for restricting dynavars to lvalues and disallow bvalues, I'd be okay with that, I think | 00:56 | |
so ::= vars can cache values lower in the call tree, while other's can only cache the location to avoid chasing up the callframes at least | 00:57 | ||
00:59
Schwern left
|
|||
TimToady | so I could be persuaded that we need an 'is bindable' on a dynamic variable to keep it "soft" | 01:00 | |
01:07
JimmyZ left
01:11
TiMBuS joined
|
|||
k23z__ | so what's up ? | 01:14 | |
01:16
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42
|
|||
Tene | TimToady: any examples of lists degenerating to single values? | 01:20 | |
TimToady | sure, just a sec | 01:21 | |
here's one from earlier today | 01:22 | ||
rakudo: my %h; %h.push: { a => 1, b => 2, c => 1}.invert; say %h.perl | |||
p6eval | rakudo 92e914: OUTPUT«{"2" => "b", "1" => ["c", "a"]}» | ||
TimToady | the value might or might not be an array, but you can iterate any of the values | ||
Tene | Thanks. :) | 01:23 | |
TimToady | jnthn, pmichaud: take must decontainerize by default just as return from a non-rw function does | 01:27 | |
in fact, since rw-ness is an attribute of the function, not the return statement, I'd be tempted to do similarly for gather | 01:28 | ||
and say that rw-ness is an option on the gather, not on the take | |||
gather-rw { ... take $x ... } or some such | 01:29 | ||
k23z__ | what's up with Perl6 recently ? | ||
01:29
xabbu42 left
|
|||
k23z__ | is CGI working yet ? | 01:29 | |
01:29
xabbu42 joined
|
|||
k23z__ | how 'bout any web stuff ? how 'bout sockets ? | 01:29 | |
how 'bout pipes/fifos ? | |||
TimToady | yes, but most of the people who are familiar with that are asleep right now | ||
k23z__ | hmm , would that be masak ? | 01:30 | |
snarkyboojum | k23z__: web/sockets/CGI stuff is working | ||
k23z__ | snarkyboojum: last time I been here and asked that(1-2 months ago) it was broke, it's nice to know it's working now | ||
snarkyboojum: have you played with that part ? | |||
snarkyboojum | k23z__: I've played with sockets and http::client etc, not so much CGI or web | 01:31 | |
k23z__: just wrote a little identi.ca command line client using http::client with basic auth etc :) | |||
k23z__ | snarkyboojum: can I haz some looks ? | 01:32 | |
snarkyboojum: have you gots them githubz ? | |||
snarkyboojum | uses github.com/snarkyboojum/denter, github.com/snarkyboojum/http-client, github.com/snarkyboojum/Perl6-MIME-Base64 | ||
that http-client is a forked version of carlins original to do basic auth | 01:33 | ||
k23z__: jnthn recently put together a demo using perl 6 and CGI from perl 5 (using blizkozt) for the kiev hackathon (I think) - I'll see if I can find that post | 01:35 | ||
k23z__: also supernovus has just put up his SCGI library on proto | |||
k23z__: and then there's masak's web etc ;) (not sure if that's running on master atm) | 01:36 | ||
k23z__ | stuff seems to be getting together | 01:37 | |
snarkyboojum | k23z__: "stuff" is definitely getting quite useable :) | 01:38 | |
01:39
ajs1 joined
|
|||
snarkyboojum | k23z__: re Perl 6/FakeDBI/JSON::Tiny/CGI/blizkost -> pivo.jnthn.net/ | 01:39 | |
01:41
ajs2 joined
01:42
ajs left
01:43
ajs1 left
01:48
eternaleye joined
|
|||
snarkyboojum | you'll notice Fat Yak from Sydney :P very nice beer for hot summer days :) | 01:50 | |
Wolfman2000 | masak is the expert on the Perl 6 web activities. I myself know only...1/200th as much really. | 01:53 | |
k23z__: ^^ | |||
01:57
patspam left
|
|||
snarkyboojum | k23z__: just tried web and doesn't look like it's running on master yet | 01:58 | |
k23z__: but tene or masak could tell you more about that :) | 02:04 | ||
02:04
ajs2 is now known as ajs
02:05
whiteknight left
02:09
gfx joined
|
|||
snarkyboojum | would be awesome to have proto linking off to another page giving an indicator if test suites for modules pass on current rakudo and/or general working status | 02:11 | |
02:18
fridim_ joined,
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42
|
|||
pugssvn | r31372 | lwall++ | [S06] spec processing of rw vs de-containerized return values | 02:24 | |
pmichaud | TimToady: (decontainerize) noted | 02:25 | |
didn't know that had to happen for non-rw functions too, but that's certainly doable | |||
02:25
plobsing joined
|
|||
TimToady | I think uniformly defaulting to value returns is sane | 02:26 | |
02:26
ab5tract left
|
|||
TimToady | rakudo: my $x = 1; sub foo () { $x }; foo() = 2; say $x | 02:27 | |
p6eval | rakudo 92e914: OUTPUT«2» | ||
TimToady | this should not allow assignment | ||
02:28
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42
|
|||
TimToady | rakudo: my $x = 1; sub foo () { 1 }; foo() = 2; say $x | 02:28 | |
p6eval | rakudo 92e914: OUTPUT«Cannot assign to readonly value in '&infix:<=>' at line 1 in main program body at line 11:/tmp/vcLYLM87An» | ||
TimToady | should act more like that | ||
except we can probably carp at compile time | 02:29 | ||
02:29
Visitor99 joined
|
|||
sorear | TimToady: What I'm thinking of is that, if contextuals are bvalues, "my $x ::= 1" can still be changed in called methods | 02:29 | |
Which seems to defeat much of the purpose | 02:30 | ||
TimToady | that would also have to be special cased where the optimizer hasn't already "valueized" it | ||
basically, anywhere we say the optimizer is allowed to assume such-and-so, we should not let people get away with it when it doesn't | 02:31 | ||
(if possible) | |||
or it should be officially specced as erroneous | |||
sorear | Do we expect the number of "The optimizer is allowed to assume such-and-so" to increase much? | 02:32 | |
I find that quite a few intuitively obvious such things don't seem to be mentioned anywhere | |||
02:35
Schwern joined
|
|||
TimToady expects that the specs will continue to be filled out with stuff that is "intuitively obvious but needs to be documented anyway" | 02:36 | ||
feel free to make a list | 02:37 | ||
02:40
Visitor99 left,
Visitor99 joined
|
|||
sorear | thanks, I'll start keeping one | 02:47 | |
on a completely unrelated note | |||
when a block is entered, how does Perl 6 know what to clone | |||
? | |||
pugssvn | r31373 | lwall++ | [S03] explain more about the relationship of hypers with lazy infinitude | 02:55 | |
02:56
justatheory left
|
|||
TimToady | in the absence of eval, the compilation already knows what external lexicals have been referenced | 02:57 | |
and I speculated about evals earlier today | |||
std: my $x; {{{{ $x; my $x }}}} # middle $x creates alias in inner pad | 02:58 | ||
p6eval | std 31372: OUTPUT«===SORRY!===Lexical symbol '$x' is already bound to an outer symbol (see line 1); the implicit outer binding at line 1 must be rewritten as OUTER::OUTER::OUTER::OUTER::<$x> before you can unambiguously declare a new '$x' in this scope at /tmp/ioYAVnzP4M line | ||
..… | |||
sorear | right | 03:06 | |
colomon | TimToady: just looking at the hyper / lazy change. Is that actually workable? | ||
sorear | normally, I imagine closure cloning as being something that happens when the closure expression is evaluated | ||
colomon | It's not clear to me how to figure out how to DWIM without knowing the length of the lists in advance. | ||
sorear | but that doesn't work in Perl 6, because the closure expression is evaluated at BEGIN time and the result installed into the protolexpad, for "sub" | ||
so I'm back to not really knowing what should happen | 03:07 | ||
TimToady | colomon: as it says, it depends on the data structure | 03:08 | |
colomon | hmmm... okay, I've worked out how to handle the dwimmy cases with lazy lists for input. I guess the non-dwimmy case is obvious, though it really sits in my craw that doing it this way, we can only report an error after doing all the calculations. | 03:15 | |
03:21
ciphertext joined
03:23
Schwern left
|
|||
sorear | rakudo: my &foo; say &foo.WHAT; | 03:27 | |
p6eval | rakudo 92e914: OUTPUT«Any()» | ||
sorear | rakudo: my &foo; say VAR(&foo).WHAT; | 03:28 | |
p6eval | rakudo 92e914: OUTPUT«Could not find sub &VAR in main program body at line 11:/tmp/HyAEvgXOha» | ||
sorear | rakudo: my &foo; say &foo.VAR.WHAT; | ||
p6eval | rakudo 92e914: OUTPUT«Method 'VAR' not found for invocant of class '' in main program body at line 11:/tmp/WeuPSvdg9C» | ||
pugssvn | r31374 | sorear++ | [viv-psq] Translate declarations of $@& variables | 03:44 | |
03:45
agentzh joined
04:05
envi^home joined
04:17
diakopter sets mode: +o sorear
04:22
porco joined,
agentzh left
|
|||
diakopter | sorear: WOW | 04:25 | |
r31374. excellent | |||
04:25
redicaps joined
|
|||
diakopter | Dictionary[str,$type] | 04:25 | |
super-cool | |||
04:27
porco left
|
|||
diakopter experiences yet another Chrome (dev channel) fail | 04:27 | ||
sorear | WOW? that was a tiny step | 04:29 | |
right now I'm trying to do subs | 04:30 | ||
the hard part /here/ is that, in order to correctly call a sub (STD uses named and optional params), I need to know its signature | |||
so I need to hack Actions to save the name -> definition mapping | 04:31 | ||
and you, how goes grammars? | |||
04:32
tedv left
04:40
[mark] joined,
fridim_ left
|
|||
diakopter | no progress other than while sleeping. I have the whole weekend, though. | 04:46 | |
r31374 is WOW b/c it's exactly as I imagined it. ;) | 04:50 | ||
(effectively, I mean) | 04:51 | ||
hrm, it seems perlesque evalbot is still broken | |||
04:59
Guest23195 joined
05:01
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42
05:12
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42
05:32
macdaddy left
|
|||
sorear | ugh. this is not being very easy | 05:34 | |
05:37
orafu left,
orafu joined
|
|||
sorear | TimToady: a little help here? How could I go about adding a position -> $*CURPAD mapping to Actions output? | 05:45 | |
05:55
Rincewind joined
05:57
Schwern joined
06:00
fridim_ joined
06:04
redicaps left,
redicaps joined
06:11
ciphertext left
|
|||
TimToady | well, the <.newpad> is called at about the start, and at the end is typically something like <.checkyada> or <.getsig> or <.getdecl> | 06:12 | |
06:13
Schwern left
06:16
Visitor99 left
06:20
redicaps left,
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42
06:28
Schwern joined
|
|||
sorear | TimToady: how would I translate that into data structures? | 06:35 | |
06:37
ejs joined,
Schwern left
06:50
gfx left
|
|||
pmichaud | phenny: tell jnthn draft blog post at www.pmichaud.com/sandbox/blog-1.html . Comments welcomed, I'll review in the morning (about 12h00 utc) and post sometime after that. | 07:01 | |
phenny | pmichaud: I'll pass that on when jnthn is around. | ||
pmichaud | phenny: tell moritz_ draft blog post at www.pmichaud.com/sandbox/blog-1.html . Comments welcomed, I'll review in the morning (about 12h00 utc) and post sometime after that. | ||
phenny | pmichaud: I'll pass that on when moritz_ is around. | ||
pmichaud | (others are welcome to comment also :) | 07:02 | |
off to sleep | |||
07:04
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42
07:17
Schwern joined,
M_o_C joined
07:25
Schwern left
07:32
molaf joined
07:35
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42
|
|||
sorear tries something | 07:44 | ||
07:46
tadzik joined
07:50
Su-Shee joined,
ciphertext joined
07:52
eternaleye left
07:53
PZt left
07:54
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42
08:01
PZt joined
08:04
Schwern joined
08:12
plobsing left,
jedai joined
08:16
ejs left
|
|||
mberends | good morning | 08:17 | |
sorear | hello | 08:20 | |
pugssvn | r31375 | sorear++ | [STD] A first wild cut at attaching pads to the syntax tree | 08:21 | |
r31375 | [viv] Include full symbol tables in store files | |||
08:23
bbkr left,
bbkr joined
08:28
Rincewind is now known as Ross,
Ross left,
Ross joined
08:33
xabbu42_ joined,
xabbu42 left,
xabbu42_ is now known as xabbu42
08:42
Schwern left
08:44
azert0x joined,
azert0x left,
azert0x joined
08:45
am0c__ is now known as am0c
08:55
xabbu42 left
|
|||
jnthn | morning, #perl6 | 09:14 | |
phenny | jnthn: 07:01Z <pmichaud> tell jnthn draft blog post at www.pmichaud.com/sandbox/blog-1.html . Comments welcomed, I'll review in the morning (about 12h00 utc) and post sometime after that. | ||
09:17
ciphertext left
09:24
TiMBuS left
|
|||
jnthn | TimToady: (decontainerize) that sounds pretty sane | 09:28 | |
TimToady: Less sure on the new bunch of -rw variants of things, but maybe that's OK too. | 09:30 | ||
09:34
fridim_ left
09:37
redicaps joined
09:40
Mowah left
09:43
am0c left
|
|||
moritz_ | good morning | 09:45 | |
phenny | moritz_: 07:01Z <pmichaud> tell moritz_ draft blog post at www.pmichaud.com/sandbox/blog-1.html . Comments welcomed, I'll review in the morning (about 12h00 utc) and post sometime after that. | ||
moritz_ | thanks phenny | ||
09:45
Mowah joined
|
|||
moritz_ | phenny: tell pmichaud +1 to the blog post | 09:47 | |
phenny | moritz_: I'll pass that on when pmichaud is around. | ||
moritz_ | rakudo: say (*-3).signature.perl | 10:02 | |
p6eval | rakudo 92e914: OUTPUT«:(;; Mu $x)» | ||
moritz_ | rakudo: say (*-3).signature.arity | ||
p6eval | rakudo 92e914: OUTPUT«Method 'arity' not found for invocant of class 'Signature' in main program body at line 11:/tmp/3lnhooWaUi» | ||
10:09
azert0x left
|
|||
moritz_ | rakudo: class A { multi method b($x where { 0 } ) { } }; A.new.b(4) | 10:11 | |
p6eval | rakudo 92e914: OUTPUT«No candidates found to invoke in main program body at line 11:/tmp/jdOpy6exrT» | ||
moritz_ submits rakudobug about LTA error message | 10:13 | ||
10:19
meppl joined
10:41
azert0x joined
10:48
azert0x left
10:53
azert0x joined
10:55
Trashlord left
10:57
TiMBuS joined
11:01
whiteknight joined
11:03
pjcj left,
pjcj joined
11:10
Trashlord joined
11:17
clintongormley joined
11:19
pmurias joined
11:21
tadzik left
|
|||
colomon | alpha: say 1 == 1 + 0i | 11:33 | |
p6eval | alpha 30e0ed: OUTPUT«1» | ||
colomon | rakudo: say 1 == 1 + 0i | 11:34 | |
p6eval | rakudo 92e914: OUTPUT«0» | ||
colomon | doh! | ||
11:36
tadzik joined
|
|||
jnthn | pmichaud: For when you has an awake: | 11:38 | |
our sub foo() { return ['a'], ['b'], ['c']; } | |||
my (@a, @b, @c) = foo(); say @a; say @b; say @c; | |||
a b c | |||
Rather than a, b and c on lines of their own. Is this correct - it's not what I expected? | |||
11:38
ab5tract joined
|
|||
jnthn | ah, more succinct | 11:40 | |
rakudo: my @a = 1,2; my @b = 3,4; (@a, @b) = (@b, @a); say @a; say @b; | |||
p6eval | rakudo 92e914: OUTPUT«3 4 1 2» | ||
TiMBuS | rakudo: my @a = 1,2; my @b = 3,4; (@a, @b) = (@b, @a); say @a; | 11:43 | |
p6eval | rakudo 92e914: OUTPUT«3 4 1 2» | ||
TiMBuS | er | ||
jnthn | TiMBuS: Yes, surprised me too. | ||
colomon | actually, that's what I'd expect. | 11:44 | |
jnthn | It's what I'd expect in Perl *5*. | ||
TiMBuS | oh i get it now | ||
jnthn | I thought that was changed in Perl 6. | ||
redicaps | Hello Perl6 | 11:47 | |
woosley@woosley-laptop:~$ ./rakudo/perl6 | |||
Null PMC access in find_method('new_class') | |||
current instr.: '' pc -1 ((unknown file):-1) (:5876) | |||
Segmentation fault | |||
why this is happening? | 11:48 | ||
jnthn | redicaps: Did you make install? | 11:50 | |
You need to do that before calling Rakudo from another directory. | |||
redicaps | no | ||
Oh, I see | |||
rakudo: my ($a,$b) = "test".split("d"); say $a; $b.split(" "); | 11:54 | ||
p6eval | rakudo 92e914: OUTPUT«testMethod 'split' not found for invocant of class 'Failure' in main program body at line 11:/tmp/GrJUDg3j5s» | ||
redicaps | The error message looks so strange. | 11:55 | |
jnthn | I'm not sure that's quite right... | 12:04 | |
rakudo: say Failure ~~ Cool | |||
p6eval | rakudo 92e914: OUTPUT«0» | ||
jnthn | rakudo: say Failure ~~ Any | 12:05 | |
p6eval | rakudo 92e914: OUTPUT«1» | ||
jnthn | Maybe Failure should be Cool. | ||
12:05
tomaw left
12:06
arthur-- left
12:07
tomaw joined
|
|||
redicaps | It is quit confusing for a beginner to debug what is wrong with the code. | 12:07 | |
12:19
mmcleric joined,
arthur-- joined
|
|||
jnthn | redicaps: Well, I half suspect you shouldn't have had anything to debug (e.g. Rakudo should have treated it as an empty string). | 12:19 | |
12:21
k23z__ left
12:24
M_o_C left
|
|||
redicaps | jnthn: I do think it should be undefined or something more explicit. It is really hard the understand what is class Failure or Cool | 12:26 | |
12:26
redicaps left
12:29
redicaps joined
|
|||
jnthn | A Failure object is undefined. There's no single "undef" in Perl 6 as in Perl 5, though. | 12:36 | |
12:40
masonkramer left,
masonkramer joined
|
|||
pmichaud | good morning, #perl6 | 12:40 | |
phenny | pmichaud: 09:47Z <moritz_> tell pmichaud +1 to the blog post | ||
jnthn | morning, pmichaud | 12:41 | |
pmichaud | my (@a, @b, @c) = foo(); say @a; say @b; say @c; | ||
puts everything into @a | |||
jnthn | pmichaud: :-( | 12:42 | |
pmichaud | it's still a list assignment, and the array container slurps the entire list. | ||
jnthn | So (@a, @b) = (@b, @a) cannot be used to swap around two arrays? | ||
pmichaud | not as far as I know | ||
jnthn | I'm sure that was spec once. | 12:43 | |
But maybe not now. | |||
pmichaud | yes, I remember that also. | ||
jnthn | Ah, OK. | ||
TiMBuS | what about := | ||
jnthn | my (@a, @b, @c) := foo(); # does of course work ;-) | ||
TiMBuS: I tested it. It does the right thing. | |||
pmichaud | is :(@a, @b) := (@b, @a) still valid? | 12:44 | |
jnthn | pmichaud: mberends++ has a couple of comments on the blog post, but is afk for 5-10 mins or so | ||
pmichaud | okay, reading backlog | ||
jnthn | pmichaud: Yes but it does nothing without a declarator, iirc. | ||
pmichaud: ah, he didn't write them on channel I think | |||
pmichaud: More wanted to discuss | |||
If you can hold on for 5-10 mins he'll be back :-) | 12:45 | ||
pmichaud | jnthn: right, I'm reading backlog to pass the time while waiting for mberends++ comments :) | ||
jnthn | Ah, OK :-) | ||
pmichaud | (sorry, I wasn't clear on that. your statement was clear :) | ||
jnthn tries to fix postcircumfix in Role to deal with just expecting one argument that may be a Parcel | 12:46 | ||
(postcircumfix:<[ ]>, that is) | |||
pmichaud | Parcel or Positional? | 12:47 | |
(the argument, that is) | 12:48 | ||
what use case are you looking at? | |||
jnthn | pmichaud: Actually it's...ugly. :-( | ||
Hmm | |||
role Foo[$x, $y] { ... } | |||
Foo[4, 5].new | |||
I wonder if we should really be parsing that as a bog standard postcircumfix. | 12:49 | ||
jnthn checks STD | |||
Ah no | 12:50 | ||
oh | |||
STD is inconsistent | 12:51 | ||
module_name parses | |||
[ <?before '['> :dba('generic role') '[' ~ ']' <arglist> ]? | |||
pmichaud | that looks right to me | 12:52 | |
jnthn | but in typename | ||
# parametric type? | |||
<.unsp>? [ <?before '['> <param=.postcircumfix> ]? | |||
it parses postcircumfix there | |||
pmichaud | hmmm. | ||
jnthn | It should be one way or the other | 12:53 | |
Not different. | |||
And I think it should be <arglist> | |||
Because they're really arguments to go into a multiple dispatch. | |||
pmichaud | if it actls more like a signature bind, then <arglist> | ||
jnthn | To select which role to do. | ||
Yeah, quite | |||
But | |||
std: role Foo[::T] { }; | 12:54 | ||
p6eval | std 31375: OUTPUT«ok 00:01 112m» | ||
jnthn | std: role Foo[::T] { }; Foo of Int | ||
p6eval | std 31375: OUTPUT«===SORRY!===Two terms in a row at /tmp/VMOAqZBLuK line 1:------> role Foo[::T] { }; Foo ⏏of Int expecting any of: bracketed infix infix or meta-infix statement modifier loopParse failedFAILED 00:01 112m» | ||
jnthn | We currently don't parse a typename as a term | ||
Meaning that Foo[Int] won't get parsed by the typename rule | |||
But as a standard postcircumfix on Foo | |||
pmichaud | checking | 12:55 | |
I'm surprised typename isn't parsed as a term. What is it parsed as? | |||
jnthn | (where we === both Rakudo and STD, afaict) | ||
We parse typename in various places | |||
pmichaud | as in, my $a = Int ? | ||
that seems to me to have to be a term *somehow* | |||
jnthn | That parses by term:name | 12:56 | |
Ah | |||
term:name does have some extras we don't have in Rakudo though | |||
:dba('type parameter') | |||
<.unsp>? [ <?before '['> <postcircumfix> ]? | |||
pmichaud | right | 12:57 | |
there ya go :) | |||
jnthn | Again, postcircumfix that wants to be arglist | ||
I guess being able to write | |||
Crate of Beer.new | |||
And have that mean like (Crate of Beer).new | |||
Is visually odd. | |||
And thus why we don't just have typename as a term. | |||
pmichaud | right -- terms tend to not want spaces | 12:58 | |
(unless made into a pill somehow) | |||
jnthn | C# allows such a thing and I always find it really odd looking. | ||
var foo = new Blah().some_method(); | |||
Which is | 12:59 | ||
var foo = (new Blah()).some_method(); | |||
But it groups wrong visually. | |||
perl6++ for not doing that one :-) | |||
pmichaud | I mean, some terms can have spaces -- like declarators -- but if you want to perform an operation on them you generally have to paren them | ||
jnthn | *nod* | ||
pmichaud | anyway, if Role[<mumble>] is meant to act like a signature bind, then I'd say it should indeed be arglist | 13:00 | |
jnthn | OK, thank | 13:01 | |
Changing it to be that in Rakudo | |||
pmichaud | there could be an argument that postcircumfix:<[ ]> should act like a signature bind. | ||
jnthn | Then hopefully we can have roles with multiple parameters working again. :-) | ||
pmichaud | (as we had it before this last refactor) | ||
jnthn | I could argue that RoleName[...] should never call postcircumfix:<[ ]> | ||
pmichaud | it just seemed much simpler with a single argument. | ||
jnthn | But is actually just syntax for a parametric type | 13:02 | |
colomon | errr... is there a problem with sleep.t? | ||
jnthn | I slept fine. | ||
pmichaud | the question is whether my $x = role ... ; $x[3, 4] should work | ||
jnthn | pmichaud: Yeah | ||
pmichaud | if yes, then it's not syntactic | ||
jnthn | pmichaud: Perhaps | ||
pmichaud: But then | 13:03 | ||
pmichaud: eeeewwww | |||
pmichaud: 'cus that's going to pass one arg. :-/ | |||
Oh, I know | |||
I'll translate the forms that parse an arglist to the "real" method that does the finding of the correct role | |||
And then have postcircumfix:<[ ]> accept one arg and flatten it out as needed. | 13:04 | ||
pmichaud | just to be clear, I'm not really opposed to switching postcircumfix:<[ ]> back to acting like a multi-arg sig | ||
jnthn | I'm agnostic on that. | ||
pmichaud | maybe we should ask TimToady++ how he thinks of it | ||
jnthn | Remember that postcircumfix:<( )> is defined as taking one arg. | ||
So actually one arg is consistent. | 13:05 | ||
pmichaud | oh, if postcircumfix:<( )> takes a single arg, that answers it. | ||
jnthn | Well | ||
I had it as many and ruoso really wanted it as one (a Capture), which I came around to agree with after a while. :-) | |||
Especially after realizing that unpacking syntax meant that actually getting the args was an extra set of parens away. | 13:06 | ||
pmichaud | my reasons for wanting postcircumfix:<[ ]> to be single arg somewhat went away after I add .at_pos and .at_key | ||
*added | |||
jnthn | imo, let's keep them 1. I'll make an arity-1 postcircumfix for non-syntactic usages of roles. | ||
And I'll treat the ones we parse syntactically as signatures and work them slightly differently. | 13:07 | ||
er, as arglists | |||
pmichaud | okay. it shouldn't be hard to switch if we need to do so. | ||
jnthn | Quite. | ||
pmichaud: A heads up - we seem to have a growing population of RT tickets about parsing issues involving "keywords". | 13:08 | ||
pmichaud | jnthn: okay, excellent. I still want to do an RT review -- planned to do that thu and/or yesterday but got very sidetracked :-| | ||
jnthn | The latest one is the all too odd | ||
has Str $.method is rw; | |||
rakudo: class C { has Str $.method is rw; } | 13:09 | ||
p6eval | rakudo 92e914: ( no output ) | ||
jnthn | oh | ||
it's not the decl | |||
rakudo: class C { has Str $.method is rw; }; C.new( method => 'GET' ); | |||
p6eval | rakudo 92e914: OUTPUT«===SORRY!===Malformed method at line 11, near "=> 'GET' )"» | ||
jnthn | That one. | ||
Seems we may sometimes over-commit. | |||
pmichaud | std: class C { has Str $.method is rw; }; C.new( method => 'GET' ); | 13:10 | |
p6eval | std 31375: OUTPUT«ok 00:01 112m» | ||
pmichaud | yes -- STD gets it right by LTM. | ||
at least I think that's how it does it. | |||
jnthn | Ah, OK | ||
pmichaud looks. | |||
jnthn | I was wondering if it wasn't a manifestation of that backtracking bug we also currently have. | ||
pmichaud | shouldn't be | 13:11 | |
jnthn | OK | ||
pmichaud | the backtracking bug comes into play when you have a single rule where you need multiple successes of the rule before you can find the success of the match | ||
let me track that down to make sure, though. | |||
because I'm not sure it's LTM at work here. | 13:12 | ||
jnthn | pmichaud: We have other such issues too | ||
rakudo: sub Quack { say "ok" }; Quack() | |||
p6eval | rakudo 92e914: OUTPUT«ok» | ||
jnthn | rakudo: sub Quack { say "ok" }; Quack | ||
p6eval | rakudo 92e914: OUTPUT«===SORRY!===Confused at line 11, near "Quack"» | ||
pmichaud | that one definitely feels more like backtracking bug. | 13:13 | |
jnthn | Which again looks to me suspiciously like over-commital. | ||
moritz_ | that's what prevented me from implementing adverbs on s/// | ||
jnthn | Well, method could be too | ||
pmichaud | right | ||
so perhaps that is what is happening. | |||
mberends | hi pmichaud, there were just two words in the blog that looked LTA to me from a PR perspective: vaporware and shame. I'd suggest disappointment for the latter, not too sure about the former. "incomplete" doesn't quite do it, maybe the sentence needs re-structuring to eliminate the evidence or the status word. Other than that, the post looks spot on. | ||
pmichaud | mberends: working | 13:16 | |
"disappointment" isn't quite right either | 13:17 | ||
I agree with avoiding "shame" | |||
13:17
rv2733 joined
|
|||
pmichaud | I changed the previous part to read: | 13:17 | |
and that some will undoubtedly cite this delay as yet more "evidence" | |||
that we'll never see a release of Perl 6. | |||
reworded that again just now | 13:18 | ||
mberends | ok. s/shame/harm/ ? | ||
pmichaud | harm is definitely closer | ||
mberends | setback | ||
pmichaud | how about this... | ||
"But given the | 13:19 | ||
circumstances, I think we feel that we do less damage by missing | |||
the target by a month than we do by releasing something less than | |||
our vision. | |||
...still not quite right. | |||
mberends | damage is too svere | ||
pmichaud | agreed. | ||
aha | 13:20 | ||
moritz_ | that we do a better job by... | ||
pmichaud | "But given the | ||
circumstances, I think we feel that serve the cause better by | |||
missing our target by a month than we would by releasing something | |||
less than our vision. | |||
...that's closer. | 13:21 | ||
mberends | +1 to that, and to moritz_++ | ||
jnthn | We're true believers in The Cause! | ||
pmichaud | changed "the cause" to "our cause" | ||
mberends | the cause is a bit cult-y | ||
jnthn | :-) | ||
moritz_ | "something considerably less than our vision" | ||
pmichaud | I could go either way on considerably | ||
moritz_ too | 13:22 | ||
pmichaud | I don't want it to sound too much like we'll have to work super-hard to make a July release. | ||
jnthn | considerably may suggest that we have still too much to do | ||
er, still have | |||
:-) | |||
pmichaud | instead of "our cause", perhaps "the future" or "Perl 6" ? | 13:23 | |
mberends | +1 the latter | ||
pmichaud | aha | ||
yes | |||
now changed | |||
"But given the | |||
circumstances, I think we feel that we promote Perl 6 better by | |||
missing our target by a month than we would by releasing something | |||
less than our vision. | |||
and maybe even get rid of the 6. | 13:24 | ||
mberends | and s/missing our target/reaching our target delayed/ | 13:25 | |
pmichaud | delaying our target | ||
mberends | ok | ||
pmichaud | delaying the release | ||
moving the release target | 13:26 | ||
mberends | release date | ||
pmichaud | +1 | ||
mberends | wfm | ||
pmichaud | excellent, thank you. | 13:27 | |
any other comments? | |||
(from anyone?) | |||
can the post wait another couple of hours? | |||
mberends likes, anyway. sure :) | |||
pmichaud | (I have to run some important errands soon, would rather wait a bit more for additional comments than post now) | ||
jnthn | Aye, can wait a little longer | 13:28 | |
pmichaud | I plan to post this to use.perl and rakudo.org ... seem reasonable? does it need to go anywhere else? p6c? | ||
jnthn | Gives more people time to think of anything. | ||
pmichaud: I assume your use.perl.org journal is aggregated on Planet Perl 6? | |||
pmichaud | jnthn: it is. | 13:29 | |
jnthn | OK, then sounds good. | ||
Could also twit it. | |||
pmichaud | oh, that's a really good idea. | ||
jnthn | er, tweet | ||
moritz_ | :-) | ||
pmichaud | we'll do that then also. | ||
jnthn | .oO( you should see how I write the past tense! ) |
||
pmichaud | okay, I need to run off for a bit, hope to be back short-ish | ||
jnthn | It may be walk and noms time here in a little bit too :-) | 13:31 | |
13:35
rv2733 left
13:41
foodoo joined
|
|||
moritz_ | SVG::Plot now has support for simple xy (point) plots | 13:49 | |
13:52
tri1 joined
|
|||
colomon | \o/ | 13:56 | |
moritz_ | work on xy (lines) now | 13:58 | |
colomon | wow, just had my second hang in the test suite this morning. | 14:02 | |
My simple anti-patch must have really borked things up. | 14:03 | ||
moritz_ knows anti-pasti, but not anti-patches :-) | 14:04 | ||
xy lines plot "work" | |||
moritz.faui2k3.org/tmp/circle.svg | 14:05 | ||
parametric plot x = sin(t), y1 = cos(t), y2 = 2 cos(t) | 14:06 | ||
colomon | nice | 14:07 | |
14:11
tri1 left
14:12
Trashlord left
14:14
Trashlord joined
14:18
foodoo left
14:22
redicaps left
|
|||
moritz_ | time to integrate and plot a linear model... let's hope it works | 14:31 | |
if it does, I'll have something nice to blog about | |||
14:33
mmcleric left
|
|||
moritz_ | /o\ doesn't work | 14:34 | |
\o/ works | 14:41 | ||
it's glacial | 14:42 | ||
14:42
snarkyboojum left
14:44
mmcleric joined
14:45
mmcleric left,
snarkyboojum joined
14:46
mmcleric joined
|
|||
moritz_ | a minute to integrate a simple model with two variables from 0 to 5 seconds | 14:47 | |
arnsholt | Is the syntax for accessing a var $bar in package Foo like Perl 5: $Foo::bar? | 14:49 | |
moritz_ | yes | 14:50 | |
arnsholt | Goodie | ||
pmichaud | good re-morning, #perl6 | 14:51 | |
jnthn | re-good morning, pm | 14:52 | |
moritz_ | re-good re-morning, pm :-) | 14:53 | |
jnthn spectests the parametric role type name cleanups/fixes and heads for noms with mberends++ | 14:57 | ||
mmcleric | hi jnthn and everyone, do you have more challenging tasks for me? :) | ||
pmichaud | mmcleric: finish the Rakudo implementation. By Monday. :) | ||
mmcleric | if you don't remember my nick, i'm the guy from hackaton in Kiev from last week :) | ||
moritz_ is glad he isn't the only one being asked for challenges :-) | |||
jnthn | Привет, mmcleric :-) | 14:58 | |
mmcleric | привет :) | ||
jnthn | Yes, I remember. :-) | ||
mmcleric | it's too late for my patch for series operator, colomon fixed it already | ||
colomon | sorry about that. | ||
mmcleric | :D | 14:59 | |
14:59
kensanata joined
|
|||
jnthn | mmcleric: Depends how challenging you fancy. ;-) | 14:59 | |
mmcleric: I can point you at something though. | |||
mmcleric: At the moment we can do things like: | |||
mmcleric | i don't mind doing some research, even it'll be too hard for me, at least i'll get used to codebase | 15:00 | |
jnthn | rakudo: my $x = * + 1; say $x.WHAT | ||
p6eval | rakudo 92e914: OUTPUT«Block()» | ||
jnthn | You'll see it's made a closure | ||
rakudo: my $x = * + 1; say $x(2) | |||
p6eval | rakudo 92e914: OUTPUT«3» | ||
jnthn | And you get arity 2 closures from | ||
rakudo: my $x = * + *; say $x(2,40) | |||
p6eval | rakudo 92e914: OUTPUT«42» | ||
moritz_ | \o/ the answer | ||
jnthn | That all works nicely. It's a compile time transform | 15:01 | |
mmcleric | yeah, i remember this from your talk | ||
jnthn | See whatever_curry in Actions.pm | ||
OK | |||
Trouble is | |||
my $x = * + * + *; say $x.WHAT | |||
rakudo: my $x = * + * + *; say $x.WHAT | |||
p6eval | rakudo 92e914: OUTPUT«Block()» | ||
jnthn | .. | ||
15:01
am0c joined
|
|||
moritz_ | rakudo: my $x = * + * + *; say $(1, 2, 3) | 15:01 | |
p6eval | rakudo 92e914: OUTPUT«123» | ||
moritz_ | rakudo: my $x = * + * + *; say $x(1, 2, 3) | ||
p6eval | rakudo 92e914: OUTPUT«Too many positional parameters passed; got 3 but expected 1 in <anon> at line 1:/tmp/R8nc9ffvy0 in main program body at line 11:/tmp/R8nc9ffvy0» | ||
jnthn | Right, it's broken. :-) | 15:02 | |
moritz_ | something's very wrong with it | ||
jnthn | moritz_: it's just nyi | ||
colomon | it's perfectly sensibly wrong. | ||
moritz_ | yes, that's what's wrong with it | ||
jnthn | mmcleric: Anyway, we need to handle the case where you have | ||
colomon | you'll find it's { $^a + $^b } + $_ | ||
jnthn | (already curried thing) op thing | ||
colomon | or something like that. | ||
jnthn | colomon: Right | 15:03 | |
moritz_ | also | ||
rakudo: say (1 + * + 2).(39) | |||
p6eval | rakudo 92e914: OUTPUT«Method 'Num' not found for invocant of class 'Block' in 'Cool::Numeric' at line 1550:CORE.setting in 'Cool::Numeric' at line 1551:CORE.setting in 'infix:<+>' at line 5822:CORE.setting in main program body at line 11:/tmp/R3wRMi3Uvl» | ||
jnthn | moritz_: Ah, that's what I was trying to trigger before. | ||
moritz_ | it makes { 1 + $^a } + 2 | ||
jnthn | Anyway, same underlying cause. | ||
mmcleric | ok, i see | ||
is there RT ticket(s)? | 15:04 | ||
jnthn | At the moment we tag with .returns('Whatever') | ||
15:04
whiteknight left
|
|||
jnthn | mmcleric: I'm not sure, but there are fudged tests. | 15:04 | |
S02-builtin_data_types/whatever.t | |||
mmcleric: What I suggest is that we tag the things we make inside whatever_curry as :returns('WhateverCode') | 15:05 | ||
And then add cases that look for those and "deal with them" | |||
It's fine if the transform * + * + * actually comes out as the equivalent to | |||
({ $^a + $^b}($^a, $^b) + $^c } | 15:06 | ||
That is, you make a block that's arity 3 | |||
And invokes the nested whatever block with two of them | |||
Though of course it may only have been arity 1 | |||
Anyway, once done it should be able to go as many levels deep as needed | |||
It's a bit fiddly | 15:07 | ||
colomon | it's a great task. :) | ||
moritz_ | indeed | ||
jnthn | But perl6 --target=past will be a huge help in seeing what ASTs you are building. | ||
Off hand, I don't know what the cleanest way is. | |||
But it's fairly self-contained and would be lovely to get done. :-) | |||
mmcleric | ok, i guess i understand the problem | 15:08 | |
jnthn | (should be able to do it all with changes in whatever_curry) | ||
moritz_ discovered that he had the setups of his derivatives backwards in Math::Model :/ | |||
jnthn | :-) | ||
mmcleric++ | |||
mmcleric | --target=past don't work for me | 15:09 | |
--target=pir does | |||
moritz_ | mmcleric: it doesn't work with -e | ||
mmcleric: it should work with a file, or interactively | |||
mmcleric | oh, ok | ||
moritz_ | echo '1+2' | ./perl6 --target=past | 15:10 | |
mmcleric | wow, that's a lot of code :) | ||
moritz_ | much of it is initialization, which you can ignore | 15:11 | |
jnthn | OK, afk for a bit | 15:12 | |
(and mberends too :-)) | |||
15:12
justatheory joined
15:18
skids joined,
justatheory left
15:19
\shade\ left
15:25
Mowah left,
shade__ joined
15:40
gfldex left
15:41
gfldex joined
15:43
snarkyboojum left
|
|||
cosimo | FakeDBI's fetchrow_arrayref() and fetchrow_hashref() work! | 15:52 | |
is there something resembling '$|' in rakudo? | 15:55 | ||
unbuffer output in some way? | |||
15:56
snarkyboojum joined
|
|||
TimToady | $*OUT.autoflush = 1, but I don't know if it's implemented | 15:57 | |
TimToady has restarted his brane and it is slowly warming up to operating temperature | |||
15:58
Mowah joined
|
|||
moritz_ | rakudo: class A { has %.h; method e($x) { %.h.exists($x) } }; say A.new(:h{ b => c}).e | 16:00 | |
p6eval | rakudo 92e914: OUTPUT«Could not find sub &c in main program body at line 11:/tmp/S_nmbXgxIl» | ||
moritz_ | rakudo: class A { has %.h; method e($x) { %.h.exists($x) } }; say A.new(:h{ b => 3}).e | ||
p6eval | rakudo 92e914: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in 'A::e' at line 11:/tmp/TX9J54eU5T in main program body at line 11:/tmp/TX9J54eU5T» | ||
moritz_ | rakudo: class A { has %.h; method e($x) { %!h.exists($x) } }; say A.new(:h{ b => 3}).e | 16:01 | |
p6eval | rakudo 92e914: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in 'A::e' at line 11:/tmp/0TX_NTemMV in main program body at line 11:/tmp/0TX_NTemMV» | ||
moritz_ | rakudo: class A { has %.h; method e($x) { %!h.exists($x) } }; say A.new(:h{ b => 3}).e('b') | ||
p6eval | rakudo 92e914: OUTPUT«1» | ||
moritz_ should really read the error message | |||
rakudo: class A { has %.h; method e($x) { %.h.exists($x) } }; say A.new(:h{ b => 3}).e('b') | |||
p6eval | rakudo 92e914: OUTPUT«1» | ||
moritz_ | a closure inside a method should have access to attributes, right? | 16:02 | |
TimToady | rakudo: $*OUT.autoflush = 1; print "Okay so far..."; exit(0) | 16:03 | |
p6eval | rakudo 92e914: OUTPUT«Method 'autoflush' not found for invocant of class 'IO' in main program body at line 11:/tmp/aTwf0NvAet» | ||
cosimo | TimToady: mmh... | ||
TimToady | that might be LHF for someone, and it's certainly going to stay regardless of any spec rewrite | 16:04 | |
moritz_ | not so LHF if you consider that rakudo doesn't have proper lvalue routines yet | ||
hm, maybe still LHF :-) | |||
TimToady | well, more like it doesn't have proper rvalue routines yet, hence the recent spec tweak | 16:06 | |
moritz_ | erm, yes | ||
rakudo: class A { has %!h; method bug { say ({ $_ => %!h{$_} }).WHAT } }; A.new.bug | 16:11 | ||
p6eval | rakudo 92e914: OUTPUT«Hash()» | ||
16:15
arthur-- left
|
|||
TimToady | yes, presumably the closure closes over self | 16:15 | |
moritz_ | \o/ sanity | 16:16 | |
I have a weird mixture of methods and closures (to be used as callbacks) here | |||
16:17
arthur-- joined
|
|||
moritz_ | rakudo: say [].WHICH | 16:18 | |
p6eval | rakudo 92e914: OUTPUT«60308592» | ||
TimToady | alternately, self is always really $*SELF internally...hmm... | 16:19 | |
nah | |||
moritz_ | that sounds crazy | ||
more than usual :-) | |||
TimToady | brane is still not all the warmed up, so still in free association mode :) | ||
I *am* crazier than usual this time of day | 16:20 | ||
but you know, the only way to fake omniscience is to explore as many distinct hypothetical realities as possible | 16:21 | ||
moritz_ | ... which sometimes leads you into dark corners. Understood. | 16:22 | |
TimToady | I got there by speculating on what the actual name of 'self' is in the lexpad | 16:23 | |
we don't just want 'self', since that would seem to make it a subroutine | 16:24 | ||
moritz_ | 'self', maybe? | ||
TimToady | or a type, or something constantish | ||
16:25
[mark] left
|
|||
TimToady | so I was speculatin' about alternate twigils | 16:25 | |
$?SELF is wrong because it's not compile time | |||
I suppose $!SELF is the most obvious name, though it would have to be special-cased not to be sent to the Responder Interface | 16:28 | ||
or something too ugly to use, like $__INVOCANT__ | 16:29 | ||
but maybe 'self' is okay, the fact that it's not a function is really only a parser issue | 16:30 | ||
moritz_ | if it were a function, it would have the & sigil in the lexpad | 16:31 | |
TimToady | yes, more like a type or a constant name | ||
and parsed the same as those | |||
self is more like a temporary constant, which we've been calling readonly | 16:32 | ||
maybe we should have a better way to declare those | 16:33 | ||
16:35
lue joined
|
|||
TimToady | my readonly self = $?CURPAD.slot(0); | 16:35 | |
though come to think of it, $?CURPAD isn't compile-time constant either | |||
lue | o hello o/ | ||
TimToady | since CURPAD needs to know its current clone | ||
I guess that's really MY:: | |||
moritz_ | the good news is that refactoring Math::Model to make it more correct made it about twice as fast | 16:37 | |
TimToady | and $?CURPAD is the static name hash | ||
moritz_ | the bad news is that it gives wrong results now :( | ||
moritz_ waits for TimToady to invoke MJD | 16:38 | ||
TimToady | heh, I was just looking it up :) | ||
but yes, you know which one | |||
but arguably, all these blazing fast YACCish parsers are in the same danger :P | 16:40 | ||
where "the wrong answer" is defined as "This is your brain on Xtran. No more questions." | 16:42 | ||
lue | .oO(I don't get it. My blazing-fast P6 interpreter say 2+2 is 5) |
||
rakudo: say (2 + 2) ~~ 5 | 16:43 | ||
p6eval | rakudo 92e914: OUTPUT«0» | ||
moritz_ | cosimo: $*OUT.autoflush implemented... I'm curious if it makes any difference for you, because it seems to be the default on my box anyway | 16:45 | |
TimToady | you're not confusing it with line-buffering, are you? | 16:46 | |
16:47
ashleydev joined
|
|||
moritz_ | I am, I fear | 16:47 | |
TimToady | rakudo: print "Okay so far..."; exit(0) | ||
p6eval | rakudo 92e914: OUTPUT«Okay so far...» | ||
TimToady | ooh, it does seem to be the default | ||
or wait | |||
rakudo: print "Okay so far..."; die "oops" | |||
p6eval | rakudo 92e914: OUTPUT«Okay so far...oops in main program body at line 11:/tmp/kS58YBYNQr» | ||
TimToady | hmm, any way to kill my process without getting POSIX exit? | 16:48 | |
anyone have any coredump bugs handy? | |||
ah, I know | 16:49 | ||
moritz_ | rakudo: print "Okay so far"; %(); | ||
p6eval | rakudo 92e914: OUTPUT«Okay so far» | ||
TimToady | rakudo: print "Okay so far..."; sleep 9999 | ||
dalek | kudo: f236549 | moritz++ | src/core/IO.pm: IO.autoflush |
||
p6eval | rakudo 92e914: OUTPUT«Okay so far...» | ||
TimToady | maybe print is autoflushing by default | ||
16:51
kensanata left
|
|||
moritz_ | the parrot documentation doesn't mention it | 16:52 | |
TimToady | parrot only has it in t/configure | 16:54 | |
(and t/postconfigure) | |||
pmichaud | good almost-afternoon, #perl6 | 16:55 | |
TimToady | and rakudo only mentions it in the <obs('$|') message | ||
pmichaud | any last-minute comments on my blog announcement before I post? | ||
16:56
Ross left
|
|||
TimToady | where is it? | 16:56 | |
16:57
Ross joined
|
|||
pmichaud | pmichaud.com/sandbox/blog-1.html | 16:57 | |
16:59
hercynium left
|
|||
TimToady | looks fine to me | 17:00 | |
pmichaud | excellent. time to post, then :) | ||
17:03
ashleydev left
17:04
Trashlord left
|
|||
pmichaud | use.perl.org/~pmichaud/journal/40407 | 17:04 | |
17:05
Trashlord joined
|
|||
TimToady | when rakudo does mixins, does it check to see if the role is already mixed in, and not bother to make a new anonymous class? | 17:06 | |
pmichaud | yes, I belive so. | ||
*believe | |||
TimToady | (I'm thinking of this in relation to mixing in constraints to parameter containers) | ||
so if you bind, and don't change the constraints, you don't have to indirect, but if the constraints change, the container you get is derived by mixin-ish-ness | 17:07 | ||
assuming here that the container is in the active lexpad (whatever you call it), and can be of different type than the same parameter in other lexpads | 17:09 | ||
how were you calling the static vs dynamic lexpads again? | |||
pmichaud | in Parrot, the static lexpad is a LexInfo, and a dynamic lexpad is a LexPad | 17:10 | |
TimToady | 'k | ||
pmichaud | LexInfo is the compile-time scheme of what goes into the lexpad, and LexPad is the thing that maps symbols to the call-frame registers | 17:11 | |
TimToady | works for me, though of course STD is calling all the Infos 'pads' | ||
pmichaud | as far as binding and constraints, I had already planned that we would derive new container constraints | ||
(and avoid doing so when we could detect that they weren't needed) | 17:12 | ||
I don't remember if it occurred to me to try mixin roles for this, but that seems to fit well | |||
the current chain-of-indirects is more "get something to work" than "make it efficient" :) | 17:13 | ||
at least for constraints, one simple approach was to create an all() junction of the container's constraints and the constraints of whatever is being bound | 17:14 | ||
and then hope that the junction constructor would be smart enough to remove duplications | |||
(and testing a constraint remains a smart match against the junction) | |||
(blog also posted to rakudo.org) | |||
afk for a bit, ph call | 17:16 | ||
17:16
Mowah left
17:17
Mowah joined
|
|||
lue | afk | 17:28 | |
TimToady | sorear: I want to ban the word "pad" from the compiler, and reserve it for the active pads (and maybe protopad) only | 17:35 | |
so CURPAD -> CURLEX or some such | |||
pmichaud | +2 | ||
TimToady | let me know when it's not going to step on your work | ||
or you can do it yourself | 17:36 | ||
note, I'll be flying to OH overnight, so if I disappear in mid afternoon, you'll know why | 17:37 | ||
pmichaud | I'll be flying tomorrow | ||
TimToady | when are you getting in? | 17:40 | |
ish | |||
(taken private) | 17:43 | ||
17:43
Schwern joined
17:44
Trashlord left
17:52
dukeleto joined
|
|||
pmichaud | I'm arriving 15h10 | 17:54 | |
(unless I get delayed somewhere) | 17:55 | ||
pugssvn | r31376 | lwall++ | [S10] define how CANDO works with respect to lexically-scoped function name searches | 18:04 | |
TimToady | oops s/b OUR::($somefunc)() | 18:07 | |
IllvilJa | Wooo! Our princess got married today! Let's call the next release of Rakudo 'Love' to celebrate that :-). | 18:09 | |
(oops, I'm probably a closet royalist ;-) ) | |||
pugssvn | r31377 | lwall++ | [S10] fix thinkos and bad writing | 18:11 | |
18:13
Visitor99 joined
18:15
Trashlord joined
18:23
Schwern left
18:28
Schwern joined
18:38
itz joined
18:41
eternaleye joined
|
|||
moritz_ TeX-infected. Just tried to use % as a comment character in Perl 6 | 18:42 | ||
18:42
molaf left
|
|||
tadzik | :) | 18:43 | |
moritz_ | \o/ I've fixed Math::Model *and* retained most of the speed benefit | 18:47 | |
Tene | perl6: say 'lazy junctions?' if 9 ~~ any(1,3 ... *); | ||
p6eval | rakudo f23654: ( no output ) | 18:48 | |
..elf 31377: OUTPUT«Parse error in: /tmp/nMfGpGFheepanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: say 'lazy junctions?' if 9 ~~ WHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' | |||
..STD_red… | |||
..pugs: OUTPUT«***  Unexpected ";" at /tmp/lv8EnK2CLJ line 1, column 45» | |||
Tene | perl6: say 'lazy junctions?' if 9 ~~ any(1,3 ... 15); | ||
p6eval | rakudo f23654: OUTPUT«lazy junctions?» | ||
..pugs: OUTPUT«***  Unexpected "15" expecting operator, ":" or ")" at /tmp/olDDus7Eu2 line 1, column 43» | |||
..elf 31377: OUTPUT«Parse error in: /tmp/Yx1bgGf7jkpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: say 'lazy junctions?' if 9 ~~ WHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' | |||
..STD_red… | |||
TimToady | nobody but rakudo is going to have any clue about ... | ||
18:52
dakkar joined
|
|||
lue | hello | 19:01 | |
19:04
cono left
19:06
cono joined
|
|||
lue | pmichaud: how's variable refactor going? | 19:07 | |
I'd like to help, it just sounds… big. | |||
19:08
tadzik is now known as yoda,
yoda is now known as tadzik
19:10
PacoLinux left
|
|||
sorear | TimToady: It won't step on anything now | 19:13 | |
19:16
patrickas left,
patrickas joined
|
|||
sorear | TimToady: consider sub foo { my $x; sub bar { $x }; } | 19:19 | |
at BEGIN time, a Sub object is created and bound to &bar in foo's protopad | |||
I get that | |||
when foo is entered, how does Perl 6 know that &bar needs to be cloned? | 19:20 | ||
19:20
jaldhar left
19:23
gabiruh left
|
|||
sorear | contrast: sub foo { my $x; my &bar; BEGIN { &bar := (&say, ¬e).pick } } | 19:26 | |
now, to clone &bar and bind its OUTER:: to foo's pad would be wrong | |||
how does the cloner distinguish these cases? | |||
19:41
plobsing joined
|
|||
lue | error: Entry 'src/Perl6/Grammar.pm' not uptodate. Cannot merge. | 19:41 | |
what git command can I use to resolve this? | |||
tadzik | git pull? | 19:42 | |
I guess | |||
but, what situation? | |||
lue | I git pulled, and that happened. | 19:43 | |
moritz_ | lue: git checkout src/Perl6/Grammar.pm # will throw away local changes | ||
lue | OK. [I only changed one little thing that made custom circumfix ops not parsefail, but still fail] | 19:44 | |
moritz_ | if you want to keep it, commit it before pulling | 19:45 | |
lue | I don't, because it doesn't get much closer, only prevents the ===SORRY!=== from happening. | ||
19:48
lue left,
lue joined
19:49
patrickas left
19:50
patrickas joined
|
|||
TimToady | snaptesting the pad->lex brainwash... | 19:50 | |
19:52
hercynium joined
19:53
Visitor99 left
|
|||
TimToady | sorear: in the latter case, cloning is obviated by the fact that neither &say nor ¬e can reference $x lexically, I suspect | 19:54 | |
and a closure that references no external lexvars is just an anonymous function | 19:55 | ||
19:55
ashleydev joined
|
|||
TimToady | or maybe one just notices that any lexvars are from a different scope | 19:56 | |
it would be interesting to see what pugs makes of it. | |||
pugs: sub foo { my $x; my &bar; BEGIN { &bar := (&say, ¬e).pick } } | |||
p6eval | pugs: OUTPUT«***  Unexpected ")." expecting "::" or signature value Variable "¬e" requires predeclaration or explicit package name at /tmp/3JN656YetV line 1, column 55» | ||
TimToady | pugs: sub foo { my $x; my &bar; BEGIN { &bar := (&say, &print).pick } } | 19:57 | |
p6eval | pugs: ( no output ) | ||
TimToady | pugs: sub foo { my $x; my &bar; BEGIN { &bar := (&say, &print).pick } }; bar("foo") | ||
p6eval | pugs: OUTPUT«*** No such subroutine: "&bar" at /tmp/kNIxtgr7lw line 1, column 68 - line 2, column 1» | ||
TimToady | pugs: sub foo { my $x; my &bar; BEGIN { &bar := (&say, &print).pick }; bar("foo") }; | ||
p6eval | pugs: ( no output ) | ||
TimToady | pugs: sub foo { my $x; my &bar; BEGIN { &bar := (&say, &print).pick } }; my $b = foo(); $b("foo") | 19:58 | |
p6eval | pugs: OUTPUT«foo» | ||
TimToady | pugs: sub foo { my $x; my &bar; BEGIN { &bar := (&say, &print).pick } }; my $b = foo(); $b("foo") | ||
p6eval | pugs: OUTPUT«foo» | ||
TimToady | pugs: sub foo { my $x; my &bar; BEGIN { &bar := (&say, &print).pick } }; my $b = foo(); $b("foo") | ||
p6eval | pugs: OUTPUT«foo» | ||
cosimo | moritz_: I'm trying autoflush | ||
TimToady | pugs: sub foo { my $x; my &bar; BEGIN { &bar := (&say, &print).[1] } }; my $b = foo(); $b("foo") | ||
p6eval | pugs: OUTPUT«foo» | ||
TimToady | sorear: however pugs is doing this is likely to be very close to correct | 19:59 | |
fsdo correct | |||
19:59
envi^home left,
kensanata joined
|
|||
pugssvn | r31378 | lwall++ | [STDeco] banish the word "pad" when referring to static lex info | 20:01 | |
20:05
Psyche^ joined
|
|||
pugssvn | r31379 | jnthn++ | [t/spec] Fudge two tests that Rakudo was passing bogusly. | 20:05 | |
TimToady | there should be a mark that says "don't autounfudge"... | 20:06 | |
jnthn | TimToady: It's OK, I'm about to commit a patch that makes them fail. ;-) | 20:08 | |
20:08
Patterner left,
Psyche^ is now known as Patterner
|
|||
dalek | kudo: dd6bda0 | jonathan++ | src/ (3 files): Some updates to parametric role parameter handling, bringing us in line with types to bring us more in line with STD and fixing at least one RT ticket along the way. |
20:10 | |
pugssvn | r31380 | jnthn++ | [t/spec] Add a test for RT#75822 and correct another test so we can un-todo it. | 20:13 | |
cosimo | moritz_: it doesn't seem to make any difference for me too | 20:15 | |
moritz_: autoflush, that is | |||
sorear | TimToady: What if I do sub foo { my &bar; my $x; BEGIN { &bar := [ [ [ sub () { $x } ] ] ]; }; } | 20:20 | |
Does Perl 6 have to deeply scan all graphs referenced from the protopad? | |||
s/&bar/$bar/ | |||
cosimo | myself: interesting. FakeDBI startup cost is pretty huge, but after that it's fast | 20:21 | |
like 10s for 'use FakeDBI' | |||
jnthn | cosimo: I suspect that comes down drastically once we [can]? pre-compile it. | 20:22 | |
sorear | the Rakudo parser/compiler is currently *very* slow | ||
about 10 lines per second | 20:23 | ||
how long is FakeDBI.pm? | |||
tadzik | literally? | ||
jnthn | I don't think it's as bad as 10 lines per second. | ||
At least, it sure ain't here... | |||
It sure wants to be much faster though. | 20:24 | ||
sorear | core.pm is 4000 lines, it takes about 400 seconds to get through that compile step here | ||
it might be a non-linear thing | |||
lue | pmichaud: ping | 20:27 | |
tadzik | oh, by the way. I was talking to a fellow Perlist some time ago, I told him about rakudo and Perl 6, and his was curious about GC. He said GC in Perl 5 sucks, for circular references will never be freed, and he was curious how it looks in Perl 6. I guess that's not really an issue as everything is a reference, but how does it look like now? | ||
sorear | perl 6 does not spec a GC, but it doesn't spec the lack of one, either | 20:28 | |
rakudo has a real GC | |||
not a fake GC that can be tricked with cycles | |||
Mildew/SMOP has a fake GC, but that's because transparent integration with Perl 5.x was a major design goal | 20:29 | ||
tadzik | I see. Is Rakudo's work, or Parrot itself? | ||
sorear | Parrot | ||
I don't know about the memory management strategies of the others | |||
mberends | Su-Shee: ping | 20:30 | |
zavolaj now has a new working examples/postgresqlclient.p6 | 20:31 | ||
dalek | kudo: 406d85f | jonathan++ | (2 files): Apply patch from cognominal++ to implement Capture.perl. |
20:33 | |
moritz_ | rakudo: say sign(-3) | 20:48 | |
p6eval | rakudo 406d85: OUTPUT«-1» | ||
diakopter | moritz_: any clue what broke the p6eval target? | ||
perlesque target | 20:49 | ||
moritz_ | diakopter: does it need any additional perl modules? | ||
diakopter | it's not perl | ||
moritz_ | diakopter: I switched to a perl 5.12.1 because STD.pm needs that | ||
diakopter | it doesn't use perl | ||
moritz_ | then i have no idea | ||
diakopter | oh, you killed the one in my screen | 20:50 | |
moritz_ | yes, couldn't get at the error message otherwise :( | ||
I can terminate mine if you want | |||
diakopter | no | ||
well | |||
let's have it tee somewhere | |||
then it can run in either :) | 20:51 | ||
moritz_ | ok | ||
20:51
p6eval left
|
|||
diakopter | but first | 20:51 | |
add this to its $PATH | |||
oh | |||
moritz_ | which path? | 20:52 | |
diakopter | is /usr/local/bin not in its $PATH ? | ||
the evalbot's | |||
(it's where mono's installed) | |||
moritz_ | I've removed it, because that's where the new, confusing perl was | ||
but I think it's OK to add at the end | |||
doing that now... | |||
diakopter | oh good :) | ||
20:52
p6eval joined
|
|||
moritz_ | it's now tee'ing to ~/evalbot.log | 20:52 | |
diakopter | cool | ||
moritz_ | I've put it into run.sh | 20:53 | |
diakopter | yay; it works' | ||
perlesque: say('hi') | |||
p6eval | perlesque: OUTPUT«hi» | ||
moritz_ | \o/ | ||
diakopter | thanks | ||
moritz_ | sorry for breaking your stuff | ||
diakopter | now if only it would log what ircname sent which comand | ||
20:54
arthur-- left
|
|||
moritz_ | shouldn't be hard to do | 20:54 | |
diakopter | pesky malicious ircfolks have frozen it b4 | ||
and snooped | |||
moritz_ | it's in $e->who | 20:55 | |
diakopter | WARNING: ALL P6EVAL INTERACTIONS ARE LOGGED. ANY ILLEGAL ACTIVIES WILL BE PROSECUTED TO THE FULLEST EXTENT OF THE APPLICABLE LAW | ||
heh | |||
moritz_ | OFFENDERS WILL BE SHOT AFTER TRIAL | 20:56 | |
jnthn | rakudo : $bank.rob(); | ||
lue | rakudo 406d85: OUTPUT«===SORRY!===Amount to rob not specified.» | 20:58 | |
pugssvn | r31381 | moritz++ | [evalbot] try to log who was speaking | 21:00 | |
21:01
p6eval left,
p6eval joined
|
|||
lue | .oO(trial may be avoided under the Impatience Act of 2010.) |
21:01 | |
moritz_ | rakudo: say 'test' | ||
21:01
diakopter is now known as imadoofus
|
|||
p6eval | rakudo 406d85: OUTPUT«test» | 21:01 | |
21:01
imadoofus is now known as diakopter
21:02
Schwern left,
M_o_C joined
|
|||
moritz_ | not that easy, of course :( | 21:03 | |
21:04
tadzik left
21:05
p6eval left,
p6eval joined
|
|||
pugssvn | r31382 | moritz++ | [evalbot] log channel | 21:05 | |
lue | Is this log publicly accessible, by any chance? | ||
moritz_ | nope | 21:06 | |
except that part that's accssible via the public IRC logs | |||
21:06
shade__ is now known as \shade\
21:07
p6eval left,
p6eval joined
|
|||
lue | .oO(chmod 773 p6eval) # hope that's right |
21:07 | |
pugssvn | r31383 | moritz++ | [evalbot] it might help not to use the same lexical name twice | 21:08 | |
moritz_ | rakudo: say 'another test' | ||
p6eval | rakudo 406d85: OUTPUT«another test» | ||
moritz_ | diakopter: there you go | ||
diakopter | thanks :D | ||
moritz_ | Math::Model is progressing nicely, but it would profit from a faster compiler :-) | 21:09 | |
diakopter | does it use features unique to Perl 6 (other than syntax sugar)? | 21:10 | |
moritz_ | not really | ||
the only thing where Perl 6 makes it *really* nicer than perl 5 is named arguments and signature introspection | 21:11 | ||
you can say things like | |||
math => { $:volume * $:density } | |||
and Math::Model introspects the signature of that block, and thus finds on which other variables it depends on | |||
the first prototype was in perl 5 years ago, but back then I had only rough ideas how the code should look like | 21:15 | ||
21:17
proller left
|
|||
lue | Just out of curiousity, how far along is P6 for web applications? | 21:18 | |
21:18
proller joined
|
|||
moritz_ | there's Web.pm | 21:18 | |
but last time I looked it only worked on alpha, not on rakudo master | |||
21:20
mmcleric left
|
|||
lue | Alright, I came across Wolfram Alpha, and then I got thinking about something like it, but FOSS and in P6 :) | 21:20 | |
moritz_ | the web part is the easiest if you want to re-invent wolfram alpha | 21:23 | |
the computer algebra system behind it is a bit harder | 21:24 | ||
sorear | moritz_: is Math::Model some kind of reactive programming system? | ||
lue | I've had the idea for a while for this meta-search type thing, and label it The Hitchhiker's Guide or some such :) | 21:25 | |
moritz_ | sorear: I'm not sure what you mean with "reactive", but it's not interactive | ||
21:26
mmcleric joined
|
|||
moritz_ | sorear: it lets you write a system of ordinary differential equations in a rather natural way, and re-writes it for you to fit into Math::RungeKutta | 21:26 | |
then it integrates it, and generates a graph from it (with SVG::Plot) | |||
I plan to blog about it soonish | 21:27 | ||
github.com/moritz/Math-Model/blob/m...scratch.pl is an example of such a model | |||
it describes a spring with air drag | 21:28 | ||
anyway, bed | 21:31 | ||
21:33
Su-Shee left
|
|||
lue | afk | 21:33 | |
21:36
synth joined
21:38
proller left,
proller joined
21:41
clintongormley left
21:47
PacoLinux joined
|
|||
sorear | moritz_: Ah, I see | 22:08 | |
22:14
skangas joined
22:19
xenoterracide joined
|
|||
xenoterracide | perlbot book | 22:19 | |
!book | |||
hmm | |||
sorear | there isn't one. | ||
try git://github.com/perl6/book.git | |||
xenoterracide | that's what I was looking for | 22:20 | |
22:20
Guest23195 left
|
|||
jnthn | sorearbot++ | 22:20 | |
xenoterracide find it odd that you have to have perl5 to build the perl6 book | 22:21 | ||
oh well | |||
sorear | why? | ||
perl5 is a fine language, and quite a bit more polished than rakudo | |||
xenoterracide | right | ||
just saying | |||
anyways I'm gonna add the repo to stackoverflow.com/questions/194812/...ming-books | |||
is the name of the book actually going to be perl 6? | 22:23 | ||
22:25
xenoterracide left
22:30
ash__ joined
22:37
rv2733 joined
22:47
arthur-_ joined
22:49
mmcleric left,
Ross left
|
|||
dalek | meta: r336 | diakopter++ | trunk/Sprixel/t/grammar2.t: [perlesque] adding another (empty-ish) test, prepping for more grammar work. |
22:52 | |
22:53
dakkar left
22:55
arthur-_ left
|
|||
lue | ohai | 22:58 | |
22:58
pmurias left
|
|||
jnthn | hellue! | 23:03 | |
23:03
M_o_C left
23:09
Sarten-X left
23:15
Schwern joined
23:17
Sarten-X joined
|
|||
lue is attempting to learn Octave | 23:17 | ||
23:24
ash__ left
|
|||
pugssvn | r31384 | jnthn++ | [t/spec] Fudge S12-attribute/delegation.t for Rakudo master. | 23:28 | |
diakopter | TimToady: I need some CHECK time guidance | 23:38 | |
TimToady | have to leave soon, but if it's quick... | 23:39 | |
diakopter | likely not quick. :) only large architecture challenges | 23:40 | |
trying to figure out where to wedge CHECK time | |||
and scarily suspecting this has something to do with the circularity saw | 23:41 | ||
TimToady | CHECK is at the end of every compilation unit, including BEGIN and eval, but when I say CHECK time I mean the special time at the end of the main comp unit | ||
and every setting has its own CHECK too | 23:42 | ||
23:42
kensanata left
|
|||
diakopter sudden flash of insight/recall of my previous insight | 23:43 | ||
TimToady | but I suspect that every CHECK except the main one knows it's not the time to do app-wide optimization | ||
it's similar to the decision of whether to call MAIN | |||
23:44
mberends left
|
|||
TimToady | except that's at the end of first main execution, instead of end of main compilation | 23:44 | |
minor checks are for things like undefined subs | 23:45 | ||
std: BEGIN { foo() }; sub foo {} | |||
p6eval | std 31378: OUTPUT«Can't locate object method "load_pad" via package "STD::P6" at STD.pm line 62221.FAILED 00:00 97m» | ||
TimToady | er, oops | ||
diakopter | I need to remember that I need to treat the whole program (incl compiler) like it's all one big interpreter-interpreter(-interpreter), and any compiled forms are just serialized/thawable states of that interpreter. | ||
remember==keep in mind | |||
TimToady | I suspect something wasn't cleanly rebuilt | ||
diakopter | the rebuild has `make clean` | ||
TimToady | nothing should be calling load_pad anymore | 23:46 | |
should be calling load_lex | |||
diakopter | hm | 23:47 | |
TimToady | maybe needs a make reboot | ||
except stage0 seems consistent in calling and supplying load_pad | |||
diakopter | hee | ||
TimToady | so there's some kind of crossover | ||
diakopter | I thought clean was stronger than reboot | 23:48 | |
sorear: summon | 23:49 | ||
someone needs to invent Configure scripts | |||
23:50
dual left
|
|||
pugssvn | r31385 | jnthn++ | [t/spec] Reviewed S14-role/parameterized-mixin.t. We got away with mixing into the type object in alpha, but not so in master - that's probably just not right since it'd affect all copies of it. So assigned a value that we'll mix in to. Re-fudged a bit. Added a comment about some | 23:53 | |
..tests that are probably wrong. | |||
23:54
dual joined
|
|||
dalek | kudo: edb8be9 | jonathan++ | (2 files): Apply first cut of handles method generator. Patch courtesy of maard++. |
23:55 | |
kudo: 478bde3 | jonathan++ | src/ (4 files): Get handles wired up and working. Patch mostly by maard++ with a few tweaks from |
|||
kudo: 884561f | jonathan++ | src/glue/handles.pm: Fix a thinko and whitespace. |
|||
kudo: aa427c4 | jonathan++ | t/spectest.data: Turn on S12-attributes/delegation.t. |
|||
pugssvn | r31386 | jnthn++ | [t/spec] Unfudge a use of handles in the advent tests. | 23:56 | |
r31387 | lwall++ | [stage0] reboot, add NULL.lex | 23:58 | ||
diakopter | ok. | 23:59 |