pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/ Set by TimToady on 25 January 2008. |
|||
mncharity | TimToady: trait_auxiliary:is currently takes an <ident><postcircumfix>? . so 'class A is B::C {}' doesn't parse. intentional? | 00:09 | |
00:10
Limbic_Region left
00:14
justatheory joined
00:15
SubStack joined
|
|||
TimToady | hmm, well, we have to be able to derive from classes with :: in the name... | 00:18 | |
so we need to parse <name> somehow in those cases | 00:19 | ||
mncharity | np. can workaround it. | 00:22 | |
tnx :) | 00:24 | ||
pugs_svnbot | r20253 | lwall++ | trait_auxiliary:is should look for <name>, mncharity++ for noticing | ||
diff: dev.pugscode.org/changeset/20253 | |||
lambdabot | Title: Changeset 20253 - Pugs - Trac | ||
00:26
muixirt2 joined
00:27
muixirt2 left
00:31
zakame_ is now known as zakame,
armagad_ left
00:43
Muixirt left
00:58
zonkers_ joined
01:00
perlbot joined
|
|||
mncharity | "extends 'X';" to "use base 'X';" to "{no strict;unshift(@ISA,'X')}". blech. | 01:05 | |
to "{no strict;CORE::unshift(@ISA,'X')}". :/ | 01:07 | ||
01:14
ting joined
01:15
felipe joined
|
|||
mncharity | and back to "use base". the motivating problem is one wants to be able to "is X :and_use_its_methods_in_preference_to_any_we_already_have". | 01:17 | |
01:18
meppl left
01:21
armagad joined
01:35
armagad left
01:50
Foke2 left
01:51
zakame left
|
|||
mncharity tries to remember what the official rule for deciding whether {...} is a block or a hash... | 01:52 | ||
01:55
zakame joined
01:57
thoughtpolice joined
02:06
zonkers_ left
02:09
armagad joined
02:13
FurnaceBoy joined
02:18
zakame_ joined
02:21
zakame left,
ruoso left
|
|||
pugs_svnbot | r20254 | putter++ | [elf_d] Multiple 'is Foo' now work (rather than each deleting the previous one). | 02:36 | |
diff: dev.pugscode.org/changeset/20254 | |||
lambdabot | Title: Changeset 20254 - Pugs - Trac | ||
02:40
wtgee joined
|
|||
pugs_svnbot | r20255 | putter++ | [elf_e] elf_e forked from elf_d. Needed working 'is Foo'. Expected focus is using IR analysis to clean up the emitted runtime. | 02:48 | |
diff: dev.pugscode.org/changeset/20255 | |||
lambdabot | Title: Changeset 20255 - Pugs - Trac | 02:49 | |
02:52
xdg joined
|
|||
mncharity | I'm not entirely happy with having to start elf_e already, but oh well. | 02:59 | |
pugs_svnbot | r20256 | putter++ | [elf_e] Two files missing from r20255. | ||
diff: dev.pugscode.org/changeset/20256 | |||
lambdabot | Title: Changeset 20256 - Pugs - Trac | ||
mncharity | next step, real GLOBAL's, and no more "all subs are global" kludge. | 03:00 | |
03:02
meppl joined
|
|||
mncharity | good night all & | 03:12 | |
pugs_svnbot | r20257 | putter++ | misc/elfish_smop: Smop emitter for elf. A very limited start, but recently neglected, and so checked in. | ||
diff: dev.pugscode.org/changeset/20257 | |||
lambdabot | Title: Changeset 20257 - Pugs - Trac | ||
03:13
mncharity left
03:14
zakame_ left
03:23
peepsalot left
03:24
peepsalot joined,
peepsalot left
03:25
peepsalot joined
03:38
alester joined
04:18
iblechbot joined
04:38
iblechbot left
04:52
alc joined
05:07
FurnaceBoy left
05:08
Psyche^ joined
05:09
kanru joined
05:13
thoughtpolice left
05:22
alester left
05:24
Patterner left,
Psyche^ is now known as Patterner
05:37
meppl left
05:47
iblechbot joined
06:07
wtgee left
06:15
elmex joined
06:26
justatheory left
06:41
sri_work joined
06:43
cmarcelo left
06:47
iblechbot left
07:16
IllvilJa left
07:42
agentzh joined
07:52
c9s joined
08:04
alanhaggai joined
08:38
IllvilJa joined
08:39
qmole joined
08:41
alanhaggai__ joined
08:55
alanhaggai left
09:06
gbarr left
09:27
ruoso joined
09:55
Schwern joined
10:06
alc left
10:12
iblechbot joined
10:25
zac joined,
Schwern left
10:53
syle joined
10:56
zac left
11:05
alanhaggai__ is now known as alanhaggai
11:11
meppl joined
11:49
sri_work left
11:55
bbkr joined
12:02
meppl left
12:03
meppl joined
12:13
alanhaggai left
12:20
alanhaggai joined
12:29
rdice joined
12:39
IllvilJa left
13:19
alanhaggai__ joined
13:20
alanhaggai__ left
13:32
yves is now known as yvesago
13:34
alanhaggai left
13:56
TJCRI joined
13:58
alester joined
14:06
cmarcelo joined
14:09
chris2 joined
14:23
sscaffidi joined
15:00
IllvilJa joined
15:23
kcwu joined
15:42
peeps[work] joined
15:53
pen1 joined
15:57
armagad left
16:16
armagad joined
16:20
xdg left,
xdg joined
16:25
wtgee joined
16:26
meppl left
16:33
ludan joined
16:44
Jedai left
16:54
wtgee left
16:55
eternaleye_ left
16:56
ludan left,
wtgee joined
16:57
wtgee left
16:58
wtgee joined,
wtgee left,
wtgee joined
17:01
wtgee left
17:03
wtgee joined
17:07
Schwern joined,
pen1 left
17:17
Schwern left
17:20
pen1 joined
17:22
gbarr joined,
lisppaste3 joined
17:26
rindolf joined
17:31
eternaleye_ joined
17:36
BinGOs left
17:37
syle left
17:38
BinGOs joined
17:39
justatheory joined
17:48
sscaffidi left
17:49
wtgee left,
peepsalot left
18:06
peepsalot joined
18:07
mj41 joined
18:13
sscaffidi joined
18:25
sri_work joined
18:28
ruoso left
18:29
barney joined
18:30
justatheory left
18:49
pmurias joined
18:50
rdice left
|
|||
pmurias | @tell mncharity you can use CORE::unshift(our @ISA,'X') instead of use strict | 18:50 | |
lambdabot | Consider it noted. | ||
pmurias | @tell mncharity s/use strict/no strict/ | 18:51 | |
lambdabot | Consider it noted. | ||
18:51
smtms joined
18:55
sscaffidi_ joined
18:56
sscaffidi left
18:57
rdice joined
19:05
araujo joined
|
|||
pmurias | @tell based on the commits you seem to have stayed with the Moose version of the perl5 backend, why? isn't the none-Moose version much faster on your machine also? | 19:10 | |
lambdabot | Consider it noted. | ||
19:17
justatheory joined
|
|||
[particle1 | *phew* that was a long mail to write | 19:19 | |
19:19
[particle1 is now known as [particle]
19:21
Lorn left
19:25
ofer joined
19:26
ofer left
19:32
Lorn joined
19:37
ruoso joined
19:40
mncharity joined
|
|||
mncharity | hi pmurias | 19:40 | |
lambdabot | mncharity: You have 2 new messages. '/msg lambdabot @messages' to read them. | ||
mncharity | /msg lambdabot @messages | ||
/msg lambdabot @messages | 19:41 | ||
/msg lambdabot @messages | 19:42 | ||
/msg lambdabot @messages | 19:43 | ||
[particle] | you have to delete a leading character | ||
mncharity | getting very odd behavior. sometimes having to remove and retype not just / but /m else fail. and thrice got a no nick lambdabot. wierd. | 19:44 | |
pmurias: re our @ISA, nifty. :) now just have to figure out how to say it in p6. :) for both classes and roles. | 19:46 | ||
pmurias: re non-Moose speed, good question. will check. need to first unbreak elf_e. a rather startling number of bugs and release errors got together to pretend to work, while not really. | 19:48 | ||
19:50
pen1 left
|
|||
mncharity | oky, speed... | 19:54 | |
pugs_svnbot | r20258 | putter++ | [elf_e] Further clean up r20255/r20256. Now IRx1_Analysis is actually run. | ||
diff: dev.pugscode.org/changeset/20258 | |||
lambdabot | Title: Changeset 20258 - Pugs - Trac | ||
pmurias | mncharity: hi | 19:55 | |
mncharity: adding a superclass in p6 would use the .HOW | 19:56 | ||
mncharity | "adding a superclass in p6 would use the .HOW"? | 20:00 | |
pmurias | mncharity: i understood you asked how to do it at runtime? | 20:01 | |
mncharity | re speed, wizzzzzzy. With cached parse, elf_d self-compiles for me in 2.5 vs 9.5 seconds with NoMoose. | ||
pmurias | sort of ::Foo.HOW.add_parent(::Bar.HOW) | 20:02 | |
mncharity | re 'at runtime', ah, sorry, no. Wondering how to say ' is Foo :and_put_it_at_the_head_not_tail_of_inheritance_and_dont_complain_about_overrides_because_thats_what_Im_using_it_for;' | ||
if class A { is B; is C; } results in a search path A,B,C, then one also wants a class A { is B; is_first C } which results in a A,C,B | 20:05 | ||
and something similar with does(), but which doesn't complain if the role overrides the definitions in other does()ed roles. | 20:06 | ||
these may be in the Snn, haven't looked yet. todo. | |||
pmurias | class A { BEGIN { B.HOW.methods.unshift(C.HOW) } } | 20:07 | |
mncharity | :) | ||
pmurias | (not directly speced) ;) | 20:08 | |
mncharity | .methods ? | ||
i'd have expected an "isa" something. | |||
pmurias | sorry | 20:10 | |
looking up more correctly | |||
it's isa | |||
mncharity | ah, ok | 20:11 | |
pmurias | i think perl6 uses C3 inheritance | ||
mncharity | that's my fuzzy recollection | 20:12 | |
*very fuzzy | |||
pmurias | what do you need it for in p6? | 20:13 | |
pugs_svnbot | r20259 | putter++ | misc/elf/elf_d_src/README: Added a ElfD_NoMoose.pm bootstrap recipe. | 20:14 | |
diff: dev.pugscode.org/changeset/20259 | |||
lambdabot | Title: Changeset 20259 - Pugs - Trac | ||
[particle] | perl 6 is C3 by default | ||
pmurias | mncharity: what do you mean by real GLOBAL? | 20:15 | |
AFAIK the stuff in the prelude just gets imported into the current lexical scope at the start of the file | 20:16 | ||
mncharity | $*x should emit as $GLOBAL::x or somesuch, but doesn't at present. | ||
pmurias | ok | 20:17 | |
mncharity | currently emits as $x, and the prelude says "our $x", and we cross our fingers that no one has said "my $x" in between. kludge. | ||
pmurias | what stops it from being implemented | 20:18 | |
? | |||
mncharity | now, nothing. but needed to have IR analysis in place. | 20:20 | |
pmurias | why? | ||
$*x is always $GLOBAL::x | 20:21 | ||
mncharity | because p5 apparently doesn't have a way to define globals, so since you can't tell if the variable you are looking at is global or not... . fine for explicit $*x. not so great for foo(3). is &foo a my sub foo? a &*foo? can't tell | ||
pmurias | p5 dosn't have lexical subs | 20:22 | |
but if you do $x, perl will check if it's a lexical or package scoped $x | 20:23 | ||
TimToady | in p5 all lexical subs have to be stored in "my $subref" | ||
mncharity | when emitting say(3), you have to emit different code if that's referring to &*say, or referring to some sub declared in package, or some lexical sub. | ||
pmurias | &*say is lexical | 20:24 | |
i mean in say "foo", &say is lexical | |||
TimToady | yes, so called "global" subs are imported into the lexical scope by the prelude | 20:25 | |
you don't have to look in * | |||
mncharity | for a prelude say, in p5 it's "GLOBAL::say(3)". for "class A { sub say($x){}...}" it's "say(3);". for "{ my sub say($x){}; ...}" it's "$code_say->(3)". | 20:26 | |
pmurias | mncharity: for class { sub say($x) {} } it's also $code_say or say will be visible as a method | 20:27 | |
mncharity | so when emitting "say(3)", you have to have groveled over the IR to determine where that say is coming from. | ||
re "visible as a method", hmm. sigh. point. | 20:28 | ||
TimToady | in class A it's just "our" instead of "my" | ||
but still looks lexical from the call | |||
mncharity | re "you don't have to look in *", module NotInPrelude { sub *g(){3}; } ... module SomewhereElse { ... say g(); ... }. no? | 20:33 | |
20:33
penk joined
|
|||
pmurias | is it possible to declare a lexical var from within a use'ed module? | 20:34 | |
TimToady | mncharity: not under "use strict"; "no strict" has a failover to GLOBAL | ||
but that just means adding it as the multi candidate | 20:35 | ||
s/the/the last/ | |||
strict code is now required to import to omit the *; why %ENV no longer works, but %*ENV does | 20:37 | ||
see S11: use GLOBAL <$IN $OUT $ERR>; | |||
mncharity | re "lexical var from within a use'ed", dunno. as long as its use'ed at compile time, it seems at least vaguely feasible | ||
ah | 20:38 | ||
TimToady | it's a matter of keeping control over the exact semantics under stricture | ||
we can't have someone changing our language by adding things to GLOBAL | 20:39 | ||
TimToady oversimplifies, of course... | |||
mncharity | re "we can't have someone changing our language by adding things to GLOBAL", err, why not? :) | ||
TimToady | because audreyt said so, so there! | 20:40 | |
mncharity | lol | ||
TimToady | just one of the many revelations of the pugs effort | ||
mncharity | /me reminds meself that the mission of elf is to be a hack, one which enables others to comfortably write hackish p6 code to create a real p6 compiler, and is not(with emphasis) trying to be a real compiler itself. | 20:44 | |
TimToady empathizes | 20:46 | ||
mncharity | very slippery slope. "sinking sensation"(especially complexity induced) => "slipping down slope" => "you left the path again, didn't you?" :) | 20:49 | |
pmurias: re Moose, | 20:51 | ||
I failed earlier to sketch the following for stevan_, and so may simply be confused, but | 20:52 | ||
my impression is "Moose has put a lot of work into assorted features"; "as we go forward, we'll wan't more features"; "so the key question isn't what set of Moose features are being used now"; "but what set of Moose features we may want to use soon"; "and how much work is saved by using the Moose versions, rather than rolling our own"; "but I'm unclear on | 20:56 | ||
what that set looks like". | |||
for illustrative example, say the absence of default values for has() variables gets annoying. will it be easier to use the Mooseish version (assuming we can), or to implement it? | 20:58 | ||
PerlJam | mncharity: the former certainly. | 20:59 | |
21:00
justatheory left
21:01
Foke2 joined
|
|||
mncharity | or say elf_e starts trying to do something like "[] is autoboxed as package ARRAY, which claims to be class Array. There's also a package Array, and both inherit from a non-spec Array::Role ." or some such. basically, if we want to start doing roles, it might be easier to just do whatever Moose does with them, at least for elf, than trying to do something new. | 21:01 | |
so I end up torn. speed++, easy_development++, tradeoff. | 21:02 | ||
stevan_ | mncharity: use ruby :P | ||
or better yet,.. rails | |||
PerlJam | mncharity: I thought you just said that elf wasn't trying to be a "real" compiler? In that light, you go with easy development. (Assuming that's what you think Moose is :) | 21:03 | |
stevan_ | mncharity: you might want to look at Coat,.. it is a mini-moose,. that is mostly upwards compat | ||
mncharity | maybe refactor EmitSimple and EmitNoMoose, so everything which is shared can just be inherited, and we can keep both running | ||
s/can/can easily/ | |||
PerlJam: re real, indeed. perhaps I should have said "easier development because of shorter edit-test loop" vs "easier development because less code needs to be written (modulo that code may not quite do what you would ideally have preferred)". | 21:06 | ||
re "Coat", lol. looking... | |||
pmurias | speed is very important at least for me if it fall below a certain treshhold i procrastinate too much | ||
mncharity | me too | 21:07 | |
oh, I meant to add a note to README to emphasize setting STD_RED_CACHEDIR if you are doing a lot of bootstrap compilation. much nicer not to pay any parse cost. | 21:08 | ||
stevan_ | careful of the whole premature optimization stuff,.. Parrot is only now just recovering from the damage it caused | ||
but YMMV | |||
pmurias | stevan_: kp6 demonstrates the oposite pitfall | ||
stevan_ | anyway.. Coat is pretty good, I worked with it's author to keep things reasonably close to Moose | ||
jrockway | stevan_: but now the parrot object system is ... less than desierable | ||
21:08
rdice left
|
|||
mncharity | re "premature optimization", "amen". :) | 21:09 | |
stevan_ | pmurias: with Moose, we went for correctness first, and optimization second,.. and we are still a little slow, but the optimizations are coming in big leaps now | ||
like 30 lines of XS and we were 45% less slow | |||
mncharity | the caveat being, when performance is actually one of your design objectives, then it needs to be watched like any other. and if it is a/the critical one, then it needs to be focused on early and often. | ||
stevan_ | agreed | 21:10 | |
21:10
Auzon joined
|
|||
jrockway | if i were implementing perl6 right now, i would not give a fuck about performance :) | 21:10 | |
that is the easy part | |||
stevan_ | mncharity: why not try and write this in OCaml or something? | 21:11 | |
PerlJam | jrockway: wait ... what's wrong with parrot's object system? | ||
stevan_ | fast and nice for writing compilers with | ||
mncharity | re 30 lines, yes. the risk is it turning out those lines happen not to exist, because of some architecture decision made long ago, and now entwined throughout the system. | ||
TimToady | on the other hand, if you're designing Perl 6, you have to give lots of fucks about all the things your implementors are going to ignore until it's too late :) | ||
stevan_ | mncharity: my personal experince has always been that those entwined issues tend to be made in the cause of optimization more than anything else | 21:12 | |
optimizations and death-march schedules | |||
but again, YMMV | |||
mncharity | re 'why not write in OCaml or something', the "yet another dead p6 implementation" problem. | 21:13 | |
TimToady | there are many ways to design one's self into a corner... | ||
stevan_ | :) | ||
TimToady: so true | |||
21:13
alester left
|
|||
PerlJam | TimToady: and then you design away the corner :) | 21:13 | |
stevan_ | PerlJam: then where will you stand ?? :P | 21:14 | |
TimToady | well, you at least try to spot the corners in advance, and then declare "it can be proven that...", and go back to sleep. | ||
mncharity | re "those entwined issues tend to be made in the cause of optimization more than anything else", lol. :) hmm, not sure my experience matches. but certainly a leading cause. | ||
PerlJam | stevan_: in the middle of perl 6 somewhere ("you're in a maze of twisty passages, all alike" :-) | 21:15 | |
stevan_ | :) | ||
mncharity | that's my model for software engineering in general | ||
stevan_ | maze of twisty passages all alike? | ||
pmurias | stevan_: i thought of OCaml before | ||
stevan_ | pmurias: and? | 21:16 | |
[particle] uses a grue language | |||
stevan_ | its like Haskell but without all the annoying Monads | ||
TimToady | he said "it can be proven" and then fell back asleep | ||
stevan_ | :) | ||
mncharity | re "maze of twisty passages all alike?", yeah. big maze of a heat sink, glowing white as it dissipates immense societal resources. | ||
21:16
barney left
|
|||
pmurias | stevan_: i'll look it after my end of highschool exams | 21:17 | |
PerlJam | jrockway: so, again, ... what's wrong with parrot's object model? If it's "less than desirable", it should be modified to be more desirable. | ||
stevan_ decreases the morphine drip on TimToady's IV,,. maybe you wont nod out as often :) | |||
TimToady | I feel pretty dissipated myself at times... | ||
pmurias | s/look it/look into it/ | ||
stevan_ | pmurias: SML is also worth a look, using MLTon is can be faster than OCaml | ||
elmex | there are waaaaay too many metaphors used for a 'technical' discussion about compiler/language implementation techniques. | 21:18 | |
mncharity | ocaml could be a neat backend target. just not a lot of ocaml hackers around here now, so using it rather than bootstrap+p5 seemed likely to result in pugs-on-haskell^Hocaml - far less featureful, but similarly inactive. | ||
stevan_ | well perl5 is not a language for writing compilers in (no offense TimToady ) | 21:19 | |
but ocaml is | |||
and ocaml is easier to learn and use then Haskell | |||
again, see comment about annoying monads | |||
21:19
sscaffidi_ left
|
|||
mncharity | so is p6 :) # a language for writing compilers in | 21:19 | |
stevan_ | ocaml doesnt get in your way when you want to do something simple but impure | ||
mncharity: true, we should use that then :P | 21:20 | ||
TimToady | I'm trying... | ||
stevan_ | :) | ||
elmex | isn't the general rule of thumb: the one who does the works decides what he uses? | ||
TimToady | that's fine until you try to get someone else to do your work | ||
stevan_ | always,.. but the other rule of thumb is that everyone has an opinion as to why his choice is wrong | ||
stevan_ is an armchair-compiler-writer :P | 21:21 | ||
never done it, but dammit, I know the best way to do it and its not how $you are doing it | |||
TimToady pictures white-hot armchairs... | |||
mncharity | re impure, true, but you still hit the "I really want to just do x. it would be so simple in another language. i'm sorry you can't type it, but... that's really not something I want to be concerned with right now. can I pay you to ignore it by accepting lower performance? no? pretty please...?" | 21:22 | |
stevan_ | mncharity: yes, and p6 will solve this problem,.. once you write it :P | 21:23 | |
stevan_ looks around,.. hmm this is very familair we have been here before | |||
mncharity | "maze of twisty little passages... all alike" | ||
stevan_ | :) | ||
TimToady | you should have dropped your dagger | ||
mncharity | and repeated revisited | ||
stevan_ | meta-circular-meta-circularity++ | 21:24 | |
21:24
justatheory joined
|
|||
pmurias | mncharity: re elf goal you want it to be the thing the first p6 version to be written in or something which could evolve into a real compiler? | 21:24 | |
TimToady | postfix:<++> fails to find the appropriate multi | ||
stevan_ | TimToady: your using the wrong compiler :P | 21:25 | |
TimToady | obviously some form of Lisp, or those would be underscores instead... | 21:26 | |
mncharity | re dagger, wouldn't help. the passages are full of the detritus of dead projects. corpses, broken tools, etc. even if it's a memorable dagger, well, everything gets covered in bit rot too. | 21:27 | |
TimToady | reverse polish Lisp maybe | ||
stevan_ | TimToady: no, thats the subtraction operators,.. I overladed 'em | ||
[particle] | everyone wants the paren | ||
PerlJam hands [particle] a bowl of oatmeal | 21:28 | ||
21:29
armagad left,
armagad joined
|
|||
stevan_ | excuse me waiter, there are fingernails in my oatmeal | 21:29 | |
TimToady | have a ] too, that'll fix everything | 21:30 | |
stevan_ | but you keep hogging the colon | ||
mncharity | re elf goal, there really isn't a single elf. it's more an incremental exercise in "we have a hack p6 implementation, that we are using to compile the p6 code for a hack p6 implementation. what aspect of hackiness is annoying us most today. fix it. iterate." | 21:32 | |
21:32
armagad left
|
|||
PerlJam | mncharity: Hacks all the way down doesn't quite work the same as if it were turtles. | 21:32 | |
mncharity | s/fix it/make it no-longer-the-most-annoying-thing/ | ||
TimToady | (by breaking something else worse, in my case, ususally) | 21:33 | |
mncharity | logo also has the "yet another dead p6 implementation problem". | ||
TimToady | to sleep, perchance to dream | ||
mncharity | re breaking, yeah. so far not much in the way of regressions. but also don't have rich p6 prelude yet. | 21:34 | |
dreams of turtles | |||
TimToady | this conversation is going all the way downhill fast | ||
mncharity | don't worry, while the shells are slippery, there's another bigger turtle underneath | 21:35 | |
PerlJam | TimToady: gravity prevents us from going partway downhill. | 21:36 | |
[particle] doesn't believe in gravity | |||
mncharity | PerlJam: more seriously, "Hacks all the way down" is indeed something to avoid. elf is attempting to address it by not having very little down. elf_x can always compile itself, into an executable whose only dependency is the external parser, and CPAN modules. | 21:37 | |
[particle] | my god, are you at elf_x already? | ||
pmurias | elf_e | ||
mncharity | LOL | ||
[particle] | :) | ||
TimToady | STD5 is also trying to have very little down, for a very large single dose of "little" | 21:38 | |
mncharity | oy, good laugh. [particle]: danke. :) | 21:39 | |
PerlJam | TimToady: broad but shallow? | ||
pmurias | mncharity: compiling into a directory of compiled modules wouldn't be much less convinient ;) | 21:40 | |
TimToady | conceptually very simple. Just do whatever it takes to machine translate STD.pm into a perfect-enough Perl 6 compiler to compile STD.pm as is. | ||
but that implies longest token matching works right | 21:41 | ||
and all the syntax category multimethod stuff | |||
and the derived languages | |||
pmurias | sleep& | ||
21:41
pmurias left
|
|||
TimToady | and figuring out what a derived language is anyway.. | 21:42 | |
is the inside of q/.../ a different language than the inside of q!...! ? | |||
how does the language inside know its terminators? | 21:43 | ||
along with any escapes? | |||
PerlJam | TimToady: The "story of longest token matching" strikes me as something that would make a good article for one of the perl mags (bits or dead trees both), if ever you have a hankering to write about it :) | ||
mncharity | re "much less convinient", :) i have trouble keeping track of bootstrap dependencies when compiling is a single step which creates a single stand-alone file. don't have the neurons for much additional complexity. | ||
[particle] | timtoady: make it an introspectable property of the compiler | ||
PerlJam | [particle]: which compiler? :) | 21:44 | |
[particle]: or, how do you know which compiler to ask? | |||
TimToady | it's determined by the dynamic scope of the parse | ||
so more like a context var | |||
but the interaction of terminators with LTM is problematic because of that dynamic nature | |||
you can't just recalculate different token tables because the set of terminators changed | 21:45 | ||
[particle] | malformed input in nested languages is difficult | ||
mncharity | /me was recently puzzling over the easiest way to get a parse of the regex. yare, or kp6, or rakudo, oh my. | ||
21:46
sri_work left
|
|||
mncharity | oh, or STD_red of course | 21:46 | |
21:49
TJCRI left
21:57
iblechbot left
22:04
aindilis left
22:05
aindilis joined,
elmex left
22:08
stevan_ left
|
|||
pugs_svnbot | r20260 | putter++ | elf_d_src/EmitNoMooseP5_fromIRx1.pm: Update from EmitSimpleP5_fromIRx1.pm. | 22:11 | |
diff: dev.pugscode.org/changeset/20260 | |||
lambdabot | Title: Changeset 20260 - Pugs - Trac | ||
22:24
stevan_ joined
22:29
Jedai joined
22:30
cmarcelo left
22:35
peeps[work] left
|
|||
pasteling | "mncharity" at 71.232.7.10 pasted "a Moose error on 5.8.8. Works on 5.10.0." (16 lines, 3.3K) at sial.org/pbot/30791 | 22:36 | |
mncharity | stevan_: ^^ fyi. both are Moose 0.40. | 22:37 | |
22:39
Limbic_Region joined
|
|||
mncharity | but it may result from my not using extends() | 22:41 | |
22:42
eternaleye_ left
|
|||
mncharity | no, that's not it. :/ | 22:47 | |
22:50
wknight8111 joined
|
|||
mncharity | ah, ok. now have a failure case which fails on both. progress. :) | 22:53 | |
22:54
thestarslookdown joined
23:08
wtgee joined
|
|||
mncharity | stevan_: fyi... the first, isa() problem is undiagnosed. but probably my giving bogus extends() arguments. perhaps a leading Moose::Object. a second issue is more easily replicated: | 23:15 | |
elf_d_src]$ perl -we '{package A;use Moose;sub f{print 3}}{package B;use Moose; extends qw(A);}A->f;B->f;' works | |||
elf_d_src]$ perl -we '{package A;use Moose;sub f{print 3}}{package B;use Moose; extends qw(::A);}A->f;B->f;' doesn't work. | |||
failing with Can't call method "can" without a package or object reference at /usr/lib/perl5/site_perl/5.8.8/Moose/Meta/Class.pm line 278. | |||
23:22
thoughtpolice joined
23:26
Auzon left
|
|||
mncharity | oh, and perl -we '{package A;sub f{print 3}}{package B;@ISA=qw(::A);}A->f;B->f;' works of course. thus the issue. | 23:27 | |
23:29
justatheory left
23:32
eternaleye_ joined
23:34
thoughtpolice left,
thoughtpolice joined
23:47
Auzon joined
|