pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~315 days 'til Xmas Set by mncharity on 8 February 2009. |
|||
00:03
aindilis left,
aindilis joined
00:05
r0bby joined
00:09
araujo joined
00:11
nihiliad left
00:18
ludan left
00:24
zamolxes joined
00:33
REPLeffect joined
|
|||
pugs_svn | r25261 | hinrik++ | [util/perl6.vim] variable interpolation fixes | 00:38 | |
00:49
hercynium joined
00:58
Khisanth left,
Khisanth joined
01:00
eternaleye joined
01:06
REPLeffect left
|
|||
s1n | is it legal to autovivify a range? | 01:06 | |
will (1..10)[0;11] ~~ (1,11)? | 01:08 | ||
01:12
eternaleye left,
alester_ joined
01:13
alester_ left,
alester left,
alester joined
|
|||
pugs_svn | r25262 | hinrik++ | [util/perl6.vim] revise matching of angled strings, update TODO | 01:29 | |
01:39
nihiliad joined
01:46
hercynium left,
sahadev joined
02:10
aindilis` joined
02:14
Whiteknight left
02:24
aindilis left,
aindilis` left,
aindilis joined
02:28
cognominal left,
cognominal joined
02:32
sahadev left
02:37
eternaleye joined
02:50
alc joined
03:34
mncharity joined
03:39
nihiliad left
03:40
Nom- left
03:52
sahadev joined
03:55
vpace joined
04:11
mtnviewmark joined
04:16
sahadev left
04:22
Entonian joined
04:35
Entonian left
|
|||
mncharity | hmm... maybe elfg5 will go on a web site rather than in the pugs repo... the gimme5 p5 code seems 2MB. I wonder if there's a "uncompress p5 source" filter... | 04:35 | |
04:36
Entonian joined
|
|||
mncharity | doesn't matter - file doesn't compress well. | 04:36 | |
04:43
finanalyst left
|
|||
pugs_svn | r25263 | putter++ | [gimme_elf] First draft of ParserGimme5_create.pl. | 04:55 | |
r25263 | putter++ | [STD_blue_run] Add marker comments to facilitate code extraction for gimme_elf. | |||
04:55
mncharity left
05:03
Entonian left
05:11
Tene_ joined
05:19
Entonian joined
|
|||
diakopter | who needs a type-checker in a bootstrapping (throwaway?) runtime? | 05:21 | |
mtnviewmark | is that a trick question? :-) | 05:22 | |
05:24
eternaleye left
05:29
Tene left
|
|||
diakopter | mtnviewmark: I guess it depends on your answer. | 05:30 | |
mtnviewmark | see - that's what makes it trick! I'm afraid to answer it either way! | 05:31 | |
05:32
c9s left,
c9s joined
|
|||
diakopter | lol. I'm afraid to decide whether it's a trick question, then. | 05:32 | |
mtnviewmark | so is the question: "Can we just let all the type checking be dynamic at run-time for the bootstrap, and not bother to statically check the bootstrap code?" | 05:34 | |
diakopter | seriously though | ||
yeah, that | |||
mtnviewmark | or is it more of "Can we just trust that the bootstrap code got it all right, and, without checking, just plow forward?" | ||
diakopter | heh | 05:35 | |
mtnviewmark | I'd think so long as the runtime is doing the dynamic typing to keep everything safe, then I'd think you could bootstrap w/o static type checking... | ||
diakopter | well, that's ultimately a (non-)failure of the test suite's completeness | 05:36 | |
I mean, if it *works* | |||
... | |||
mtnviewmark | after all, after you've bootstrapped, if you were concerned for correctness of the bootstrap, you could always cycle it through itself | ||
diakopter | , | ||
yeah, once your type-checker is written | |||
mtnviewmark | imagines a type-checker with backdoor holes to allow the bootstrap through, virally adding the backdoor into the bootstrap as it's compiled.... | 05:38 | |
...and then the machines all rise up and make us slaves! | |||
diakopter | now, this is not to say that your type-inference could be any mor liberal | ||
class BruteForceAllRoutines does MultiMethodDispatching { | 05:40 | ||
although I guess inference is only for literals. | 05:42 | ||
mtnviewmark | well, is there any perl6 feature that depends on the type inferencer or on static type checking or analysis? | 05:43 | |
if the compiler declares the type of every literal to be "er, well, something, ya know, a value" | 05:44 | ||
and if it goes "oh a type declaration on an argument? er, whatever, dude" | |||
diakopter | class CouchSurfer does Visitation { | ||
mtnviewmark | will that mater? | ||
diakopter | class Value_or_Reference_who_knows does Something_or_Other { | 05:47 | |
mtnviewmark | I guess - the answer is definitively "no": You aren't trying to make the bootstrap fast with fancy type-enhanced optimization, and you don't need to aid the bootstrap programmer with extra type-assisted diagnostics (bootstrap programmers prefer to code in binary, anyway and think diagnostics in text other than ABEND-0C7 are a distraction...) | ||
diakopter | yeah | 05:48 | |
but I still at least need *some* runtime model of the type system. Metaphor's schema will do. | 05:49 | ||
the DLR's is... ...cumbersome. | 05:50 | ||
okay... here's some more for you | 05:51 | ||
autothreading | |||
mtnviewmark | (and yes, I *do* remember decoding the three card mystical bootstrap program for the IBM 1401-- it opened my eyes to "the way things really work"!) | ||
as in Junctives? | |||
do those need to be supported in the boot-strap? | |||
diakopter | yeah. I mean, maybe this should be going the other way around. | 05:52 | |
mtnviewmark | well, I don't think STD.pm has any junctives in it | ||
meaning, define the minimal bootstrap sub-set of perl6 -- rather than exclude stuff? | 05:53 | ||
diakopter | what actually is essential? I'll start. 1. Runtime/string eval 2. dynamic parsing/rules (possibly influenced by runtime codegen eval'd) | 05:54 | |
or is that asking too much? | 05:56 | ||
mtnviewmark | well - this seems to me to be the right way - define what is in, not what is out | ||
but you'd have to appeal to TimToady to know what is needed for real | 05:57 | ||
diakopter | well, static/linked/executable compilation isn't necessary, so an interpreter or source conversion at least. | ||
but I don't want "real"; I want "virtual". seriously though, I'm going to claim that anyone/we can figure out the necessary subset without a language designer decision.. I mean, it's definitely implementation (starting point) dependent. | 06:00 | ||
mtnviewmark | well - it wasn't that I was thinking that a language designer was needed - but the author of STD.pm -- since isn't the intention to use that to bootstrap? | 06:03 | |
diakopter | if you tried to solve the platform compatibility and language implementation interoperability problem up front, well, that would, erm, be assuming that a bootstrap/self-hosting isn't necessary [or even desirable]. | ||
06:08
alester_ joined
|
|||
diakopter | yeah, but there's lots of semantics of Perl 6 not encoded in the syntax definition/parser. It's more a question of what language features are needed to implement a/the self-hosted implementation... | 06:09 | |
hrm. actually though, lots more semantic rules *could* be encoded in STD.pm. Some more language features might be needed though. | 06:11 | ||
TimToady | I'm currently hacking in symbol tables, for instance | ||
diakopter | maybe that's where TimToady's going with his cryptic "'real' symbol table implmentation" commit message | 06:12 | |
TimToady | but I do avoid junctions, at least for now... | ||
diakopter | oh, wait, you just said that | ||
TimToady | unfortunately that means I have to figure out how to generate a lexical pad for a signature, or STD gets lots of undefineds currently :) | 06:13 | |
diakopter | I want junctions with probabilistic annotations/hints | ||
parameterized. | 06:14 | ||
TimToady | not for the bootstrap you don't :P | ||
mtnviewmark | 1 :usually | 10 :sometimes | 100 :once_in_a_blue_moon | ||
actually - I'm still unclear what the whole bootstrap path will look like --- is there a wiki page with the plan on it? | 06:15 | ||
diakopter | mtnviewmark: you're writing it | ||
TimToady | what is this "plan" thing of which you speak? | 06:16 | |
mtnviewmark | ya know, this is a dangerous channel to hang out in! | ||
diakopter | you should see the baseband transliteration | ||
seriously though, there are several starts (and 2-3 very far along) of Perl 6 compiler systems in Perl 6 in the pugscode repo | 06:18 | ||
TimToady | until one of them can parse and run STD.pm, they're just that...starts... | 06:19 | |
the only thing that can do that right now is gimme5, and it's nothing to be proud of... | 06:20 | ||
diakopter | well, with STD.pmc, they can definitely parse it if they can read YAML. but run it? | ||
mtnviewmark | hmmm... how can one really bootstrap with STD.pm -- it has no semantic actions -- it doesn't even really build a correct AST, does it? | 06:21 | |
TimToady | just has to be correct enought to replace gimme5 | ||
diakopter | hm, so gimme5 truly does define the syntactical subset | 06:22 | |
ugh; lag causing dittoes | |||
TimToady | at the moment, only things translatable by gimme5 are allowed, and it does distort the p6 code in STD somewhat | ||
06:23
maerzhase joined
|
|||
mtnviewmark | can one get the gimme5'd version of STD.pm (STD.pm5 or STD.pmc... not sure what the difference is) to emit an AST that is reasonably complete enough to execute? | 06:23 | |
that is to interpret? | |||
TimToady | well, viv is supposed to develop into that | ||
it spits out a typed AST at least as good as what the gimme5 parser does, for the most part, and in many place much better | 06:24 | ||
(gimme5 only really parses the insides of rules) | |||
06:24
eternaleye joined
|
|||
TimToady | everything else is completely ad hoc | 06:25 | |
but I think it's really only a week or two of work to get viv to where it spits out the same code gimme5 spits out, more or less | |||
diakopter | ...which are really the non-perl5-ish parts anyway (rules) | 06:26 | |
TimToady | and it would be much more robust, for some def | ||
mtnviewmark | wishes he had a shared whiteboard | 06:27 | |
TimToady | it might still be doing a lot of cargo-culty translation of 6 to 5, but it would at least be well parsed | ||
mtnviewmark | so what's the difference between viv and gimme5 -- if they are both perl6-subset to perl5 translators written in perl5 | ||
TimToady | viv is front-ended with a real p6 parser | 06:28 | |
diakopter | gimme5 feeds viv the real p6 parser (translated) | ||
mtnviewmark | so viv is perl6-the-full-magilla to perl5 written in perl5? | ||
(sorry if I'm being dense!) | 06:29 | ||
TimToady | yes, but as soon as we have that, we can rewrite Cursor.pmc and viv in p6 | ||
mtnviewmark | (just don't loose the viv-version-0!) | 06:30 | |
TimToady | or gimme5, either, if you're paranoid :) | ||
mtnviewmark | woot - source control - woot | ||
TimToady | mainly just make sure we keep the previous known-to-work(sorta) version around | ||
mtnviewmark | remembers doing this sort of thing with META IV -- and without source control, loosing your stepping stone version could be fatal | 06:31 | |
diakopter dares to google META IV and is reminded of Metaphor | 06:32 | ||
TimToady | it'll be a while before we can safely rewrite STD to avoid gimme5isms | ||
but the intent is that it be good p6 code even when catering to gimme5 | |||
often implies poking things into temporaries so as not to blow gimme5's mind | 06:33 | ||
mtnviewmark | so, viv becomes perl6 to perl5 written in perl6 | ||
diakopter | is Perl 6 the SIL/UCB school of the VDM? | ||
TimToady | %$hashref.{$key}:delete can't get too complicated, for instance | ||
mtnviewmark | whereas gimme5 is perl6-subset to perl5 written in perl5 | 06:34 | |
TimToady | VDM? | ||
diakopter | something about META IV and VDM-SL | ||
TimToady | yes, gimme5 is rather more demanding, hence the name :) | 06:35 | |
06:35
PantheraUncia joined
|
|||
TimToady | fortunately, the regex engine in Cursor can be expressed in P5 without requiring gimme5 to understand how to translate that | 06:36 | |
it just has to know how to call into Cursor, as in STD.pmc | |||
whenever I found something too hard to express in gimme5ese in STD, I'd just turn it into a method call | 06:37 | ||
mtnviewmark | okay --- so if STD.pm is perl6 to AST in perl6 | 06:38 | |
then we should be able to plug that set of tools together to result in an a perl6 to AST compiler written in AST | 06:40 | ||
TimToady | Protasis without corresponding apodosis found at mtnviewmark line 22:37 | ||
06:40
maerzhase left
|
|||
mtnviewmark | (sorry was trying to write it in some clever notation - gave up and wrote english) | 06:40 | |
06:41
Entonian left
|
|||
TimToady | for some definition of AST or other | 06:41 | |
mtnviewmark | (abstract syntax tree --- and yes, therein lies the crux: Just *WHAT* does that AST have to minimally contain to run that compiler?) | 06:42 | |
TimToady | so you're not actually worried about the abstract syntax so much as the abstract semantics :) | 06:44 | |
mtnviewmark | right - because the AST subset that viv compiled itself (!) into is the minimal AST that a bootstrap implementation needs, right? | 06:45 | |
s/compiled/compiles/ | |||
OR, was there some other plan for bootstrapping? (I know, I know... no plan, really...) | 06:47 | ||
TimToady | I've never viewed viv as much more than a tree-walker-emitter, so its own requirements are pretty low | ||
but I'm assuming STD puts all the info in a handy place for backend emission | 06:48 | ||
mtnviewmark | ah, is viv expected to be fronted by STD.pm | ||
okay | |||
TimToady | which is a reasonable enough assumption for emitting p5, but maybe not for others... | ||
mtnviewmark | so the AST subset that (STD.pm + viv) compiles itself into... | ||
TimToady | which assumes the semantic subset provided by Cursor, more or less | 06:49 | |
mtnviewmark | I suppose the issue here is that the parser and front end for perl6 should stay forever in perl6 ... and not have to be recast... | ||
TimToady | (and p5, currently) | ||
givent that all other languages are subsets of Perl 6, that goes without saying :) | |||
mtnviewmark | still - isn't that a pretty high bar for a bootstrap? a large subset? | 06:50 | |
06:50
DemoFreak joined
|
|||
TimToady | why do you think it's taken this long :P | 06:50 | |
mtnviewmark | so rakudo and elf have hand built parsers for now -- but I suppose their run-time feature set is approaching enough to do STD.pm? So now the question is bootstrapping that on top of them? | 06:51 | |
(sorry if this is all clear to all of you -- I'm still hazy on the state of the implementations) | |||
TimToady | it mostly comes down to being able to run Cursor semantics | 06:52 | |
mtnviewmark | well - gee - that's *only* 2500 lines of perl5 -- how hard could it be to duplicate in whatever the base for for those implementations? | ||
TimToady | there are several things mixed in together in Cursor that really shouldn't be | 06:53 | |
the longest-token table generation should probably be split out, but it's still a necessity | 06:54 | ||
06:54
ashizawa joined
|
|||
TimToady | the basic semanics of STD rely on being able to ask, "In the current language, for the current set of alternatives, what is the complete set of longest tokens, transitively through all subrules?" | 06:55 | |
the actual regex implementation in Cursor is actually fairly straightforward once you understand the use of lazy lists for continuations | 06:56 | ||
(and the avoidance of lazy lists when you don't need 'em, since p5 is so horrid at implementing them) | 06:57 | ||
06:57
stephenlb left
|
|||
TimToady | the original version of Cursor was actually written in p6 in terms of gather/take | 06:57 | |
but pugs couldn't quite manage executing it | |||
06:58
ayrnieu left
06:59
ashizawa left
07:00
masak joined
|
|||
TimToady | but I'd say that writing a code emitter for a backend is probably the trivial part, once you've implemented a Cursory set of semantics | 07:03 | |
07:03
ashizawa joined
|
|||
TimToady | Cursor also requires to be able to introspect your classes in a Moosey way in order to build up the longest token tables for the current language | 07:04 | |
since the current language is a layering of multiple derived grammars | |||
07:12
vpace left
07:14
spooneybarger joined
07:30
mtnviewmark left
|
|||
masak | rakudo: $*OUT.say: "OH HAI" | 07:31 | |
p6eval | rakudo 577566: OUTPUTĀ«Cannot write to a filehandle not opened for writeā¤current instr.: 'parrot;IO;print' pc -1 ((unknown file):-1)ā¤Ā» | ||
masak submits rakudobug | |||
rakudo: $*DEFOUT.say: "OH HAI" | 07:32 | ||
p6eval | rakudo 577566: OUTPUTĀ«too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;Perl6Object;say' pc 626 (src/classes/Object.pir:176)ā¤Ā» | ||
07:36
justatheory left
07:46
justatheory joined
07:47
iblechbot joined
07:48
justatheory left
07:56
maerzhase joined
08:05
icwiener left
08:14
mberends joined
08:17
wilx joined
08:23
wilx left
08:34
xinming left
08:50
ludan joined
|
|||
pugs_svn | r25264 | azawawi++ | [S:H:P6] version 0.41 is going to depend on Moose 0.68 | 08:57 | |
09:09
xinming joined
09:33
agentzh left
09:34
agentzh joined
|
|||
pugs_svn | r25265 | lwall++ | [STD] better reporting of variable declaration difficulties | 09:43 | |
10:01
masak left
10:03
zamolxes left
10:16
DemoFreak left
10:30
Nom- joined
10:37
Nom- left,
Nom- joined
10:52
alc left
10:53
mikehh left
10:57
meppl joined
10:58
meppl left
11:07
yves left
|
|||
mberends | masak: your RT#63136 should be linked to my RT#62540 | 11:09 | |
literal | is "not" a function? | 11:10 | |
I thought it was an operator | |||
in S02-magicals/subname.t it's used as "not(defined $baz)" | 11:11 | ||
and parens without intervening whitespace always indicates a function call, right? | 11:12 | ||
or does it do the right thing until you actually define a not() sub? | |||
hm, so it's just named unary operators that allow this, it seems | 11:20 | ||
11:26
iblechbot left
11:28
iblechbot joined
11:35
ruoso joined,
masak joined
|
|||
ruoso | Hello! | 11:36 | |
masak | y0 | 11:37 | |
ruoso | TimToady, I was assuming no dispatch looked into $?PACKAGE, I mean... an "our only sub" registers a lexical alias to that sub, so there's no need to look in the package. (Packages are much less relevant in Perl 6, I think), the sub is in the package for the case the user use the fully-qualified-name... | 11:44 | |
masak snickers at 'our only' | 11:45 | ||
ruoso | So, calling "foo()" always mean looking only in the lexical scope, and nowhere else.. | ||
while Package::foo() always mean looking at the package | |||
(I'm trying to avoid making much a special case of multis) | 11:48 | ||
11:49
meppl joined
|
|||
ruoso | In a practical sense, I'm planning that when the compiler installs a lexically scoped multi variant, it will simply copy all the variants from the outer definition and that's it | 11:50 | |
jnthn | ruoso: FWIW, I'm expecting Rakudo will do a similar copy-style thing. | 11:55 | |
ruoso | cool... that is pretty much cleaner than my previous solution | 11:56 | |
which was to make the variants list virtual | |||
masak | I see interesting interactions between this and lexical closures. | 12:06 | |
12:15
ashizawa left
|
|||
pugs_svn | r25266 | ruoso++ | [mildew/prelude] Multi.pm now only consider its own variants. The compiler should copy all the variants from an outer definition at compile-time. | 12:19 | |
ruoso | jnthn, the most important benefit of having the list of variants immutable is that the compiler may already pre-order the candidates at compile-time | 12:21 | |
and it doesn't need to care about cache invalidation | |||
it's conceptually optimized | |||
pugs_svn | r25267 | ruoso++ | [mildew/prelude] Multi.pm also assume the compiler had already sorted the variants at compile-time, so it gets the first valid candidate and dispatch. | 12:23 | |
ruoso | so "ambiguous signature" can be catch at compile time, and not left to runtime | ||
hmm... | 12:25 | ||
is failing to find a valid candidate on multi dispatch a Failure or a Control Exception? | |||
ruoso thinks it is probably a Failure | 12:26 | ||
moritz_ | it's definitively not a control exception | ||
masak | would a Failure halt execution? | 12:27 | |
ruoso | masak, as long as noone CATCH it | ||
masak | ruoso: wait, so a method is not found, and (unless I take special measures) nothing is done about it? | 12:28 | |
that sounds Wrong. | |||
for one thing, that's not how only methods work. | |||
ruoso | masak, I said the opposite | ||
masak | ruoso: ah, yes. you did. | 12:29 | |
beg your pardon. :) | |||
ruoso | ;) | ||
TimToady, any chance of that renaming of the * twigil to mean the same as +? I see $*OUT and others all around, and it really feels weird that we use that as globals | 12:30 | ||
I'd argue that it would be cool if we dehuffmanize globals... forcing GLOBAL::<$OUT> if that's what the user really wan | 12:31 | ||
but I really think it should be PROCESS::<$OUT> | 12:32 | ||
moritz_ | why should a program have access to its own PROCESS::<$OUT>? | 12:33 | |
ruoso | hm? | ||
moritz_ | it should only ever care about its GLOBAL:: namespaces | 12:34 | |
unless it messes around with executing multiple independent perl processes | |||
ruoso | moritz_, the regular user would still simply use $*OUT | ||
but I was arguing that the stdout doesn't really belong to a GLOBAL package | 12:35 | ||
but rather to the PROCESS package, as it is a process-related information | |||
moritz_ | you notice that PROCESS:: is even more "global" than global variables? | ||
ruoso | sure, | ||
that's what I meant | |||
if the user really wants to talk to fd 0 | 12:36 | ||
it can use PROCESS::<$OUT> | |||
otherwise it talks to $*OUT | |||
which could be overriden by a outer dynamic scope | |||
moritz_ | my point is that it should never try to use variables from PROCESS:: namespace | ||
ruoso | moritz_, well, PROCESS::<$OUT> is already a very cryptic name | 12:37 | |
but it should indeed be available | |||
because it *is* available to any process | |||
moritz_ | but it shouldn't be writeable | ||
ruoso | you mean re-bindable | ||
in the sense that you can't replace PROCESS::<$OUT> value | 12:38 | ||
yes, you can't | |||
moritz_ | I mean the user shouldn't be allowed to write to the PROCESS::<$OUT> handle | ||
ruoso | why not? | ||
if he really wants to do that | |||
moritz_ | imagine a mod_perl application | ||
all the threads in which perl apps run should be separate from each other | |||
ruoso | well, I don't see a reason why would anyone try to write to PROCESS::<$OUT> in a mod_perl application | ||
but the file descriptor is there | 12:39 | ||
moritz_ | and no one should be allowed to mess with the process-global file handles | ||
ruoso | and it is writeable | ||
moritz_ | well, from a security point of view that would be a disaster | ||
because in general you can't trust your client scripts | |||
ruoso | but you can't anyway | ||
it's not making PROCESS::<$OUT> readonly that solves that | 12:40 | ||
you may want a VM that can do "sandbox" | |||
moritz_ | no | ||
ruoso | and run the client code inside it | ||
moritz_ | isn't sandboxing what teh PROCESS:: namespace is for? | ||
ruoso | ahm? | 12:41 | |
sandboxing is something that happens in a much lower level | |||
moritz_ | not necessarily | ||
ruoso | you have to apply ACL to objects | 12:42 | |
that happens in a much lower level | |||
moritz_ | or you only provide objects which the user is allowed to use | ||
then you don't need ACLs | 12:43 | ||
ruoso | that's very much fragile | ||
and it's not a sandboxing | |||
moritz_ | ok, then what is that namespace for? | 12:44 | |
12:44
zamolxes joined
|
|||
ruoso | the PROCESS namespace holds variables that properly belong to the actual process as a whole | 12:45 | |
(that was supposed to have quotes around) | |||
"the GLOBAL namespace holds variables that properly belong to the individual virtual process" | |||
moritz_ | so it's meant for stuff like PID, parent PID etc? | 12:46 | |
ruoso | OUT | ||
and all the other stuff that usually resides in /proc/PID/ in a linux os | |||
if you need sandboxing, you need sandboxing | 12:47 | ||
hiding that filedescriptors is not going to provide you with any serious security | 12:48 | ||
but that shouldn't be a problem for parrot, I think... as it implements all of its memory management itself, it should be easy to implement a sandbox inside it, or ACL to memory access... | 12:51 | ||
in SMOP, otoh, you're damned to use FCGI ;) | |||
because there's no way to implement ACL or sandboxing | |||
moritz_ | well, there should be a security pdd by now for parrot | ||
pdd18 | 12:53 | ||
don't know how much of it is actually implemented | |||
12:58
maerzhase left
13:03
yves joined
13:04
alester_ left
13:09
maerzhase joined
|
|||
mberends | masak: your RT#63136 should be linked to my RT#62540 | 13:14 | |
masak | mberends: checking. | ||
13:15
maerzhase left,
PantheraUncia left
13:16
maerzhase joined
|
|||
masak | mberends: aye, mine is practically a dup of yours. fixing. | 13:16 | |
mberends | the great rvar2 merge of r35311 knocked out those special vars (and possibly others) | 13:20 | |
that was one of the reasons to keep 7 parrots for offline regressions ;) | |||
masak | mberends++ | 13:21 | |
with November, we have just fearlessly forged ahead along with Parrot, for better or worse. | |||
we've been discussing targetting stable versions starting with the next stable Rakudo version. | 13:22 | ||
mberends | I miss my $*ERR.say: "trace messages bypass Test::Harness" | 13:23 | |
masak | I can imagine. | ||
we don't really do that in November. :) | |||
mberends: does 'warn' work for you? | 13:24 | ||
mberends | maybe it will :) | ||
masak | mberends: speaking of which, would Pod withstand the long-awaited review I've been planning to do (and blog about)? I might have a time slice for it this weekend. | 13:27 | |
mberends | yes, thanks :) I'll do some spit and polish before then too. afk now & | 13:28 | |
masak | I have this idea that the Perl 6 culture is very malleable now when it is still small. and therefore we have a great opportunity to create good community practices, such as publicly reviewing code. | 13:32 | |
besides, I've always been slightly fascinated by Literate Programming. | 13:33 | ||
moritz_ | I've recently read a rant against literate programming, which rather convinced me that it's not so great ;/ | 13:38 | |
ruoso already tried to use Lingua::Romana::Perligate, but lacked latin skills | 13:40 | ||
masak | moritz_: I'd like to read that. but I also think that all technologies and philosophical scools can be successfully argued against. | ||
all I'm saying is that Literate Programming appeals to me. the fact that it inspired JavaDoc made me interested, I think. | |||
ruoso also tried to implement a parser for the Brazillian Portuguese grammar in Perl 6, but the lack of a LTM made the parser stuck | 13:41 | ||
masak | JavaDoc, though very nice, is not half as revolutionary as Literate Programming. | ||
ruoso always thougth JavaDoc was inspired by pod | |||
moritz_ | masak: www.perlmonks.org/?node_id=735910 | ||
masak | moritz_: dz. it's in my queue. :/ | 13:42 | |
masak has an odd relation to Firefox 3.0. currently 469 tabs open. | 13:44 | ||
13:44
aindilis` joined
|
|||
moritz_ | masak: one more, and you have an even relation :-) | 13:45 | |
scnr | |||
masak | :P | ||
13:57
aindilis left
|
|||
literal | moritz_: "[...] since he published his paper in 1984. [...] If it is such a good idea, how come that after 28 years, there are so few examples of real-world use?" | 13:59 | |
interesting arithmetic there | |||
masak | and a specious argument, to that. | 14:00 | |
14:00
mikehh joined
|
|||
moritz_ | literal: yes, but that doesn't invalidate his other points | 14:00 | |
literal | of course not, I haven't even read them yet :) | ||
moritz_ | masak: you could also read that as questions - if LP *is* really great, there must be a reason why didn't took off earlier | 14:01 | |
and maybe we can learn something from the answer to that question | |||
masak | moritz_: I prefer that interpretation. I'm wondering that as well. | ||
I also haven't read the text yet. will in a week or so. | 14:02 | ||
14:02
guru joined
14:06
aindilis` left
|
|||
Matt-W | Maybe because there isn't much movement in popular languages | 14:06 | |
people are still using C | |||
and c++ | |||
and Java and C# are basically the same sort of thing with reference counting | |||
masak | I think most people would think that LP would be too big a step to take, for unknown gains. | 14:07 | |
Matt-W | There is that | ||
masak | after all, if Just Writing The Program works, why do it the other way? | ||
Matt-W | Especially as most programmers seem to be hideously averse to any form of documentation at all | ||
masak | the part about LP that I especially like is having the view towards giving the "story" behind a module, method or other entity. good JavaDoc captures that, to some extent. | 14:08 | |
Matt-W | One thing I always liked about literate programming syntax in Haskell was how you could write a paper with embedded code, and feed it to LaTeX to generate the PDF to publish, or to GHC to run the code you were writing about | 14:09 | |
But that kind of thing's not always practical | 14:10 | ||
moritz_ | maybe I'm writing my thesis in the wrong subject here | ||
Matt-W | lol | ||
moritz_ | nobody would even know what that "haskell" thing is | ||
Matt-W | they would if they read your citations | 14:11 | |
moritz_ | they wouldn't, because they have papers to write on their own | ||
not much time for reading "external" stuff | |||
Matt-W | I know, but it's a convenient way to shift the blame onto them and do less work :) | 14:12 | |
moritz_ | I don't think haskell would easy my pain of heavy duty numerics | ||
masak | maybe OCaml would, though. | 14:13 | |
moritz_ | maybe | 14:14 | |
but with C++ I already have a hard time finding libraries to do what I want | |||
I don't think OCaml has a much wider spectrum here :/ | 14:15 | ||
14:16
IRSeekBot joined
14:17
IRSeekBot left
14:18
IRSeekBot joined,
PantheraUncia joined
|
|||
masak | no, likely not. | 14:18 | |
14:22
pmurias joined
|
|||
moritz_ would like to see the parrot.org feed on planetsix | 14:28 | ||
14:34
pmurias left
14:44
Exodist joined
|
|||
pugs_svn | r25268 | hinrik++ | [util/perl6.vim] various small fixes and TODO updates | 14:51 | |
r25269 | hinrik++ | [S05] fix Pod error due to misplaced =back | 14:54 | ||
14:56
alester left
15:00
spooneybarger left
|
|||
pugs_svn | r25270 | hinrik++ | [S29] fix Pod error due to missing =back | 15:01 | |
15:02
ejs joined
15:14
go|dfish joined
15:16
[particle] joined
15:19
yves left
15:30
[particle]1 left
15:38
maerzhase left
15:40
Whiteknight joined,
cj joined
|
|||
cj | TimToady: if I wanted to write an emitter that uses your fantsy new parser, where might I start? | 15:41 | |
15:41
justatheory joined
|
|||
moritz_ | cj: there is already a syntax hilighter that uses STD.pm - maybe look at that? | 15:43 | |
cj | thanks, moritz_, I'll look there. | ||
where in the tree is that? | |||
moritz_ | cj: misc/Syntax-Highlight-Perl6 | 15:44 | |
15:44
stephenlb joined
15:45
Tene joined
15:46
ejs left
15:48
mberends left
|
|||
cj | thanks. where's the parser live? | 15:49 | |
moritz_ | in src/perl6 | ||
cj | great. thanks once more | 15:50 | |
15:51
PantheraUncia left
15:53
mberends joined
|
|||
[particle] | cj: what do you plan to emit? | 15:56 | |
15:57
Tene_ left
|
|||
masak | is there any hope of using such an emitter from within Rakudo? | 15:59 | |
(jury-rigging with files and stuff is allowed) | |||
mberends | masak: looked for your SVG module, failed, but discovered the following: 1) your mug shot is improved 2) you have a skeleton MVC called Web. This 2) makes me shudder, because I did exactly the same a few months ago, and stalled after about 50 lines of code. Fortunately I've deleted my efforts now, and from experience suggest you do the same ASAP ;) | 16:00 | |
masak | mberends: you didn't find it because my SVG module is not online yet. | ||
16:00
icwiener joined
|
|||
masak | mberends: we also have a grant proposal for the Web idea. | 16:01 | |
mberends: news.perlfoundation.org/2009/02/200...bpm_-.html | |||
mberends | That probably relates to the project you hinted at a few weeks ago. I sit by my advice - get over it, the feeling will pass. Frameworks are the Bermuda triangle of software development. | 16:03 | |
masak | mberends: noted. | ||
it's not primarily the 'framework' part that interests me. | 16:04 | ||
it's the 'nice start for someone coming to Perl 6' part. | |||
mberends | Rakudo on Rails? | 16:05 | |
moritz_ | masak: speaking of startings... do you already know how you want to get enough parseable metadata into u4x's Pod? | ||
masak | moritz_: I'm glad you ask. :) no, not in any deep sense. | ||
I figure I will run into relevant problems one I actually sit down and try to write those representative examples. | |||
moritz_ | =begin meta\n keywords: foo, bar, baz\n=end meta | 16:06 | |
that would be my ad-hoc ansatz | |||
masak | anyone who wants to speed up the u4x effort is very welcome to try and write their own representative examples, and commit them to u4x for public review. | ||
moritz_: that may or may not be necessary. we'll see. | 16:07 | ||
moritz_ already did | |||
masak | oh! | ||
masak looks | |||
moritz_ | and pmichaud looked over it and improved the wording | ||
pugs_svn | r25271 | rhr++ | [STD] missing ; | ||
r25271 | rhr++ | duped line of code - should it be deleted or was it meant to be something else? | |||
16:07
DemoFreak joined
|
|||
masak | moritz_++ | 16:08 | |
didn't see that till now. | |||
for the 'special terms' category, I currently don't think more than that is needed. | 16:09 | ||
something makes me want to invent as little metadata scaffolding as possible. | |||
moritz_ | masak: at least we want to have synonyms | 16:10 | |
masak | moritz_: ack. | ||
moritz_ | or different forms of the words | ||
masak | sure. | ||
moritz_ | autothread, autothreading, junction dispatch | ||
masak | =for synonyms, perhaps? | ||
moritz_ | we're not writing it for the synonyms | 16:11 | |
masak | :) | ||
neither are we writing it for the meta. | |||
moritz_ | =begin meta\nsynonms: ....\n=end meta | ||
cj | [particle]: C# with calls into the DLR (Microsoft.Scripting.Core*) | ||
moritz_ | that's why I don't write "for meta" | ||
but "begin meta" | |||
[particle] | FeP6. nice! | ||
masak | moritz_: there's nothing special, semantically, about =for in Pod6 | 16:12 | |
pmichaud | I wondered if the glossary entry should have a link to the relevant synopsis section. | ||
lambdabot | pmichaud: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
masak | pmichaud: that might be a good idea. | ||
moritz_ | pmichaud: sure. The more information and cross linking, the better | ||
pmichaud | Andy Lester also suggested that we do something like perl101.org for Perl 6. | ||
which I think would be very useful. | |||
masak | depends on what status the synopses will have when Perl 6 is released. | ||
I guess they will still be very relevant, so yet. | 16:13 | ||
s/yet/yes/ | |||
16:20
icwiener_ joined
16:25
hercynium joined
16:31
mberends left
16:36
icwiener left
16:37
aindilis joined
16:42
hercynium left
16:47
guru left
16:50
jferrero joined
|
|||
pugs_svn | r25272 | lwall++ | [STD] delete example of convergent evolution noted by rhr++ | 16:55 | |
17:14
ludan left
17:38
eternaleye left
17:39
charsbar_ left
17:41
charsbar joined
17:47
jferrero left
17:54
[particle]1 joined
|
|||
TimToady | std: $x | 18:00 | |
p6eval | std 25272: OUTPUTĀ«Potential difficulties:ā¤ Variable $x not declared at /tmp/hORwyMlX2Y line 1:ā¤------> $xā¤00:02 33mā¤Ā» | ||
18:00
masak left
|
|||
TimToady | std: my $x; state $x; | 18:01 | |
p6eval | std 25272: OUTPUTĀ«Potential difficulties:ā¤ Redeclaration of $x at /tmp/1YFn1oqMRO line 1:ā¤------> my $x; state $x;ā¤00:02 33mā¤Ā» | ||
TimToady | std: -> $x { my $x } | 18:05 | |
p6eval | std 25272: OUTPUTĀ«Potential difficulties:ā¤ Redeclaration of $x at /tmp/7hryMmqNiQ line 1:ā¤------> -> $x { my $x }ā¤00:02 34mā¤Ā» | ||
moritz_ | std: sub f { say @_ } | 18:06 | |
p6eval | std 25272: OUTPUTĀ«Potential difficulties:ā¤ Variable @_ not declared at /tmp/GrgL0jLnF0 line 1:ā¤------> sub f { say @_ }ā¤00:02 33mā¤Ā» | ||
18:08
eternaleye joined
18:09
[particle] left
|
|||
ruoso | TimToady, have you seen my comments about $*OUT earlier? | 18:10 | |
TimToady | it should most naturally be in PROCESS, yes | 18:13 | |
and I probably will combine * and + somehow | |||
ruoso | I was thinking that '*' could mean, '+' + GLOBAL | 18:14 | |
although, $*OUT could always be defined in the dynamic prelude | |||
so it doesn't really need to be in GLOBAL | |||
TimToady | these days almost nothing goes into GLOBAL except what a user puts there | ||
ruoso | so maybe '*' and '+' are just synonims | 18:15 | |
*synonyms | |||
TimToady | or * looks in the current scope while + goes up one first | 18:16 | |
which would mean that ? should look only in your caller, except... | |||
? is currently something else | |||
ruoso | yes, it's compile-time | ||
like $?PACKAGE | 18:17 | ||
but I'm not sure looking only in the caller is a use that really requires huffmanization | |||
maybe CALLER::<$foo> is ko | |||
*ok | |||
TimToady | the problem with putting $OUT into the lexical scope is then people will just write $OUT instead of $*OUT and then the dynamic scope won't be able to override | 18:18 | |
ruoso | TimToady, I said "dynamic prelude" not "lexical prelude" | ||
I'm aware this terminology is void | |||
but it's what we have ;) | 18:19 | ||
moritz_ | std: my ($n, $a); say "$n:$a" | ||
p6eval | std 25272: OUTPUTĀ«Potential difficulties:ā¤ Variable $n:$a not declared at /tmp/w5PUkwiQFM line 1:ā¤------> my ($n, $a); say "$n:$a"ā¤00:04 34mā¤Ā» | ||
ruoso | by "dynamic prelude" I mean the code that will call your code | ||
TimToady | moritz_: identifiers can be extended with adverbials, and :$a is legal | ||
moritz_ | TimToady: that's not very intuitive in strings... | 18:20 | |
TimToady | agreed | ||
moritz_ | because it doesn't end in a postcircumfix | ||
TimToady | and it certainly messes up some places in the test suite that way | ||
but I'm not sure how to degeneralize it | 18:21 | ||
pugs_svn | r25273 | moritz++ | [t/spec] remove some variable re-declarations found by STD.pm. TimToady++ | 18:22 | |
ruoso | TimToady, but is there really a case for making a dynamic lookup beggining in the current scope or in the caller scope? I mean... do we need twigils for both? | 18:23 | |
TimToady | might be able to do away with "is context" if we have my $*foo = $+foo | 18:24 | |
18:24
dominiko joined
|
|||
ruoso | but then the only thing you're saving is the "is context" trait | 18:24 | |
because if you have my $*foo, and you use $*foo anywhere in your code, it will automatically be the same as $foo | 18:25 | ||
even with closures where $+foo would be intercepted | 18:26 | ||
liek | |||
my $*foo = $+foo; | |||
my @a = map { say $*foo }, 1,2,3; | 18:27 | ||
you could use a plain "$foo" there | |||
TimToady | unless the lexical name is actualy $*foo | ||
thinking of the * as more like the ^ though | 18:28 | ||
ruoso | I meant that the above code would be the same as | ||
my $foo = $+foo; | |||
my @a = map { say $foo }, 1,2,3; | |||
(with the "is context" trait, actually) | 18:29 | ||
but I think I got what you meant | |||
TimToady | if we made $*foo itself declartive like $^foo (is my new idea) | ||
18:29
masak joined
|
|||
ruoso | yeah... I see now | 18:29 | |
TimToady | then you just write my @a = map { say $*foo }, 1,2,3; | ||
ruoso | you're really just trying to save the trait | ||
that should be fine | 18:30 | ||
TimToady | but the map's scope auto-localizes $+foo | ||
so it's saving the whole my declaration | |||
ruoso | hm? | ||
I didn't get the last part | |||
how is that different from "my @a = map { say $+foo }, 1,2,3"? | 18:31 | ||
TimToady | doesn't get you anything there, but if you said | 18:32 | |
my @a = map { say $*foo; bar() }, 1,2,3 | |||
18:32
viklund joined
|
|||
TimToady | bar would see the map's $*foo, not the outside of that, and mods would be localized to the map closure | 18:32 | |
ruoso | map closure's $*foo you mean | 18:33 | |
I think I lost it | 18:34 | ||
18:34
eternaleye left
|
|||
ruoso | sub doit($closure) { my $foo is context<rw> = 1 }; sub bar { say $+foo }; doit {$*foo = 2; bar() }; | 18:35 | |
TimToady | any use of $* in a block would imply what must currently be expressed as "my $*foo is context = $+foo" | ||
PerlJam | TimToady: is that like an auto-temp? | ||
18:36
maerzhase joined,
Psyche^ joined
|
|||
TimToady | something like that, yes | 18:36 | |
18:36
ft left
|
|||
ruoso | TimToady, so bar would say 2 in the example I wrote above | 18:36 | |
18:37
Patterner left,
Psyche^ is now known as Patterner,
rhr joined
|
|||
pugs_svn | r25274 | moritz++ | [t/spec] some more variable declaration fixes | 18:37 | |
ruoso | and in fact, the "<rw>" is unecessary... since $*foo makes it a new contextual variable | ||
I think I see where you're heading... | 18:38 | ||
$*OUT = $myfile; say "Hello"; | |||
TimToady | $*DEFOUT really | ||
18:38
rhr_ left
|
|||
TimToady | but maybe we don't need DEFOUT then | 18:38 | |
ruoso | I kinda fail to see it's meaning | 18:39 | |
(in the new meaning of '*') | |||
and as I said earlier... if you really wants to talk to fd 0, you can always use PROCESS::<$OUT> | 18:40 | ||
18:42
ft joined
|
|||
ruoso | now we could drop GLOBAL entirely ;) | 18:43 | |
TimToady | another possible syntax would be "temp $OUT = $myfile; say 'hello'" | ||
assuming that temp would autodeclare a dup of $+OUT | |||
and that'd look more familiar to a p5 programmer | 18:44 | ||
ruoso | yeah... but it's kind funny for it not to have a twigil | 18:45 | |
maybe force temp variables to use the * twigil | 18:46 | ||
TimToady | well, could force use of temp $*OUT I suppose | ||
(assuming we throw out + entirely) | 18:47 | ||
ruoso | (interesting timing) | ||
that makes sense | |||
if you have a local declaration of $*OUT it will point to it | |||
if you don't it will do a dynamic lookup | 18:48 | ||
sounds absolutely sane | |||
TimToady | and you're consistent for the normal case | ||
and CALLER::<$*foo> is still available, presumably | |||
moritz_ | std: printf("%d", 3) | ||
p6eval | std 25274: OUTPUTĀ«Potential difficulties:ā¤ Variable %d not declared at /tmp/FhQHx7ptie line 1:ā¤------> printf("%d", 3)ā¤00:04 34mā¤Ā» | ||
TimToady | moritz_: known problem | 18:49 | |
moritz_ | TimToady: ok | ||
TimToady | the current impl is busted on any lookahead or backtracking | ||
ruoso | moritz_, weren't you supposed to use '%d' in that case? | ||
TimToady | hence the REALLYADD kludge | ||
ruoso: no | |||
moritz_ | ruoso: %d without a subscript is fine | 18:50 | |
TimToady | it's not supposed to interpolate without [] | ||
moritz_ | ruoso: and not interpolating | ||
TimToady | er, {} | ||
ruoso | ok | ||
TimToady | but that's determined currently by backtracking | ||
ruoso | so, '+' twigil is dead? | ||
TimToady | and by then it's already added the name %d | ||
ruoso: probably, let me stew about it just a bit longer, maybe prototype it in STD | 18:51 | ||
pugs_svn | r25275 | moritz++ | [t/spec] more variable declaration fixes | ||
TimToady | moritz_: btw, I have a similar problem thinking about class Foo is also, since it wants to add the name Foo as soon as it sees it, before it sees the is also | ||
so considering pulling also and instead out front somehow | 18:52 | ||
ruoso | TimToady, just a sanity check... in the last version plain $*foo doesn't make a local declation, right? you need to make "temp $*foo" for it to localize it... | ||
TimToady | yes | ||
ruoso | ok | ||
TimToady | $*foo is just always the name of the context variable as a context variable | ||
also the rw policy is probably controlled by the original outermost declaration, I suspect | 18:53 | ||
temp being exempt, since it's just doing hiding | |||
so either you can do $*OUT = $myfile everywhere, or nowhere | |||
ruoso | but if I do "my $OUT is context" I still override $*OUT | 18:54 | |
TimToady, but you still can "temp $*OUT" anywhere | |||
TimToady | yes | ||
and yes | |||
package GLOBAL { our $FOO is context } | 18:55 | ||
PerlJam | TimToady: class Foo is also --> class +Foo maybe? Doesn't Moose do something like this for attributes? | ||
TimToady | and class !Foo for instead, maybe? | 18:56 | |
ruoso | why not using another keyword | ||
? | 18:57 | ||
PerlJam | ruoso: reclass Foo ? | ||
ruoso | customize Foo { } | ||
replace Foo { } | |||
TimToady | monkey class Foo | ||
PerlJam | heh | ||
moritz_ likes that | |||
ruoso | MONKEY_PATCH Foo { | ||
PerlJam | just monkey Foo { ... } | 18:58 | |
masak | MONKEY_AROUND_WITH Foo { | ||
TimToady | I'm assuming that monkey still requires "use MONKEY_PATCHING;" at the top | ||
PerlJam | patch Foo { ... } | ||
ruoso | monkey add Foo { | ||
monkey replace Foo { | |||
TimToady | donkey class Bar # replace | ||
PerlJam | reclass Foo / patch Foo sit well with me for some reason | 18:59 | |
ruoso | TimToady, do you need the second keyword there? | ||
TimToady | multi/proto class | ||
PerlJam | But I kind of like the repetition of "class" in there too. | ||
moritz_ | it should also be applicaple for roles, grammars etc | ||
18:59
M_o_C joined
|
|||
ruoso | you're adding or replacing something to Foo, no matter what Foo is | 18:59 | |
if Foo is a class, it will still be a class | 19:00 | ||
TimToady | only class | ||
moritz_ | no monkey patching of grammars_ | ||
masak | TimToady: while I remember it, can 'grammar' and/or 'role' start a file just like 'class' can? | ||
moritz_ | s/_/?/ | ||
TimToady | yes, I said that to your lambdabot, I thought... | ||
ruoso | so, if Foo is not a class it will fail anyway | ||
TimToady | any package_declarator except package, go figure... | ||
masak | TimToady: my lambdabot was completely silent on the issue... | ||
lambdabot: what do you have to say for yourself? | 19:01 | ||
TimToady: makes sense. | |||
moritz_: you see? not lazy. :) just prescient. | |||
TimToady | to do monkey patching on grammars, you have to "use IRRESPONSIBLY_EGREGIOUS_MONKEY_PATCHING" | 19:03 | |
ruoso | TimToady, considering current scheme of linking the package_declarator keyword with a HOW | ||
using a single keyword for monkey patching fits very well | |||
masak | TimToady: is that de-Huffmanized enough? :) | ||
ruoso | since that HOW can lookup the original symbol and perform the monkey patch | 19:04 | |
TimToady | I think the proto/multi/only mechanism may be what we're really talking about | 19:05 | |
where "use MONKEY_PATCHING" really pries open classes that forgot to declare themselves "multi" :) | |||
ruoso | multi class ? | 19:06 | |
that's a new one to me | |||
TimToady | that's why I said it ;) | ||
std: my only class Foo {...} | 19:07 | ||
p6eval | std 25275: OUTPUTĀ«Undeclared routines:ā¤ my used at 0 ā¤ only used at 0 ā¤00:02 33mā¤Ā» | ||
TimToady | heh | ||
predictive parser shouldn't allow that backtrack | 19:08 | ||
biab & | |||
19:09
mikehh left,
abra joined
19:11
dominiko left
19:13
rindolf joined,
abra left
19:14
abra joined
19:15
Util joined
19:16
zamolxes left
19:27
DemoFreak left,
samlh left,
[cotto] left,
smtms left,
literal left,
zostay left,
pugs_svn left,
kcwu left,
M_o_C left,
icwiener_ left,
Whiteknight left,
moritz_ left,
TimToady left,
rakudo_svn left,
p6eval left,
simcop2387 left,
dalek left,
Nom- left,
Khisanth left,
cognominal left,
BinGOs left,
ft left,
rhr left,
stephenlb left,
szabgab left,
DataPusher left,
jrockway left,
wolverian left,
tcliou|Away left,
meppl left,
c9s left,
gfldex left,
Gothmog_ left,
jnthn left,
bigpresh left,
revdiablo left,
sunnavy left,
felipe left,
estrabd left,
edenc left,
kane_ left,
hcchien left,
clkao left,
preflex left,
xinming left,
araujo left,
r0bby left,
Grrrr left,
broquaint left,
s1n left,
kbaud1 left,
idemal left,
LCamel left,
AzureStone left,
Util left,
ruoso left,
iblechbot left,
scrottie left,
gbacon left,
yahooooo left,
ilbot2 left,
allbery_b left,
jan_ left,
mj41 left,
elmex left,
Exodist left,
IRSeekBot left,
agentzh left,
c1sung left,
jeremiah left,
buu left,
orafu left,
Matt-W left,
PerlJam left,
lisppaste3 left,
lambdabot left,
[particle]1 left,
aindilis left
19:28
mtve left,
SamB left,
drbean left,
integral left,
Maddingue left,
Caelum left,
charsbar left,
Tene left,
justatheory left,
hudnix left,
spinclad left,
baest left,
cls_bsd left,
pmichaud left,
avar left,
cj left,
f00li5h left,
diakopter left,
abra left,
viklund left,
masak left,
IllvilJa left,
zev left,
Cyrus left,
dmpk2k left,
mdxi left,
jjore left,
Helios left,
go|dfish left,
nipotan left,
awwaiid left,
rindolf left
19:30
pmichaud joined,
Util joined,
abra joined,
M_o_C joined,
ft joined,
rhr joined,
viklund joined,
masak joined,
[particle]1 joined,
charsbar joined,
aindilis joined,
icwiener_ joined,
DemoFreak joined,
Tene joined,
stephenlb joined,
justatheory joined,
cj joined,
Whiteknight joined,
go|dfish joined,
Exodist joined,
IRSeekBot joined,
meppl joined,
ruoso joined,
iblechbot joined,
Nom- joined,
agentzh joined,
xinming joined,
c9s joined,
cognominal joined,
Khisanth joined,
araujo joined,
r0bby joined,
scrottie joined,
IllvilJa joined,
gfldex joined,
hudnix joined,
lambdabot joined,
Helios joined,
lisppaste3 joined,
DataPusher joined,
kane_ joined,
elmex joined,
kbaud1 joined,
szabgab joined,
jan_ joined,
revdiablo joined,
drbean joined,
SamB joined,
smtms joined,
irc.freenode.net sets mode: +o pmichaud,
dalek joined,
idemal joined,
avar joined,
bigpresh joined,
broquaint joined,
tcliou|Away joined,
Grrrr joined,
AzureStone joined,
jrockway joined,
mdxi joined,
wolverian joined,
Caelum joined,
integral joined,
jeremiah joined,
p6eval joined,
mj41 joined,
BinGOs joined,
allbery_b joined,
zostay joined,
[cotto] joined,
samlh joined,
literal joined,
pugs_svn joined,
kcwu joined,
simcop2387 joined,
preflex joined,
dmpk2k joined,
c1sung joined,
s1n joined,
Matt-W joined,
sunnavy joined,
f00li5h joined,
rakudo_svn joined,
gbacon joined,
TimToady joined,
moritz_ joined,
nipotan joined,
mtve joined,
Cyrus joined,
edenc joined,
Maddingue joined,
diakopter joined,
irc.freenode.net sets mode: +oooo literal TimToady moritz_ diakopter,
PerlJam joined,
buu joined,
ilbot2 joined,
baest joined,
felipe joined,
jnthn joined,
Gothmog_ joined,
estrabd joined,
irc.freenode.net sets mode: +oo PerlJam jnthn,
hcchien joined,
clkao joined,
LCamel joined,
zev joined,
awwaiid joined,
jjore joined,
yahooooo joined,
spinclad joined,
orafu joined,
cls_bsd joined
19:39
Tene_ joined
19:41
rindolf joined
19:46
sahadev joined
|
|||
sahadev | hello all. i am trying to compile rakudo (from parrot distribution). I updated my svn copy and am at revision 36555. Compiling parrot was successful, but 'make perl6' gives me the error: make: *** No rule to make target `config/makefiles/root.in', needed by `Makefile'. Stop. | 19:47 | |
moritz_ | sahadev: rakudo has moved out of the parrot repo... please see perlgeek.de/blog-en/perl-6/where-ra...lives.html for new instructions | 19:48 | |
19:49
PantheraUncia joined
|
|||
sahadev | ah, this is in addition to the earlier move to parrot.org? | 19:49 | |
moritz_ | sahadev: that kind of triggered it... | 19:50 | |
masak | sahadev: aye. | ||
rakudo_svn | r36555 | coke++ | don't bother ignoring files in this dir anymore. | ||
moritz_ | any objections to killing rakudo_svn now that languages/perl6/ is essentially empty? | ||
19:51
Tene left
|
|||
masak | moritz_: what's the function of languages/perl6/ now that Rakudo resides in languages/rakudo/ ? | 19:52 | |
moritz_ | masak: holding a README that points to my blog post | 19:53 | |
masak | :) | ||
good function. | |||
moritz_ | lots of hits for blog, I suppose ;-) | 19:54 | |
moritz_ stares at www.perl6.ru/articles/5to6/ - just found it as a referrer in the logs | 19:55 | ||
masak | beautiful. | 19:57 | |
pugs_svn | r25276 | lwall++ | [STD] start to fill out some entries in the toy symbol table | 20:00 | |
r25276 | lwall++ | (hash elements eventually need to become container mixins, I suppose) | |||
r25276 | lwall++ | can now report original line number on redeclaration | |||
moritz_ | I think that's the first time that somebody made the effort to translate anything that I wrote | ||
TimToady | std: my $x; my $x | 20:01 | |
p6eval | std 25275: OUTPUTĀ«Potential difficulties:ā¤ Redeclaration of $x at /tmp/HJMXvrKs4B line 1:ā¤------> my $x; my $xā¤00:02 33mā¤Ā» | ||
masak | moritz_: it's quite a nice feeling. | 20:02 | |
moritz_ | masak: aye | ||
masak | plus it warms my heart what it'll do for Perl 6 in Russia. | 20:03 | |
moritz_ | we need more russian perl 6 hackers | 20:04 | |
(actually of *any* nationality ;-) | 20:05 | ||
masak | Š“Š°. | ||
er, I mean ęÆ. | 20:06 | ||
ruoso just sent the longest ever report about SMOP... maybe jhorwitz will have to edit it before publishing ;) | 20:07 | ||
masak | rakudo: my * = 5; | ||
p6eval | rakudo 577566: OUTPUTĀ«Class 'Perl6MultiSub' not foundā¤current instr.: 'parrot;Perl6Role;!add_variant' pc 2579 (src/classes/Role.pir:42)ā¤Ā» | ||
moritz_ starts running around in circles, screaming at p6eval all the time | 20:08 | ||
masak | moritz_: that's not what I get locally. is something the matter with p6eval again? | ||
moritz_: :/ | |||
moritz_ | rakudo: "moep" | 20:10 | |
pugs_svn | r25277 | lwall++ | [tryfile] move ok reporting from teststd into tryfile | ||
p6eval | rakudo 577566: RESULTĀ«"moep"Ā» | ||
masak | rakudo: my * = 5; | ||
TimToady | std: my $x; my $x | ||
p6eval | rakudo 577566: OUTPUTĀ«Could not find non-existent sub myā¤current instr.: '_block14' pc 84 (EVAL_15:43)ā¤Ā» | ||
std 25277: OUTPUTĀ«can't create CORE.pad.store: Permission denied at Cursor.pm line 194ā¤FAILED 00:02 32mā¤Ā» | |||
masak | is the above declaration supposed to work? | ||
20:10
M_o_C left
|
|||
masak | moritz_: is p6eval on feather? | 20:11 | |
TimToady | no | ||
masak | TimToady: ok. thanks. | ||
moritz_ | masak: no, on timtowtdi.org | ||
TimToady | my (*) = 5 should work though | ||
iirc | |||
moritz_ | masak: do you want access? | ||
masak | rakudo: my (*) = 5; | ||
p6eval | rakudo 577566: OUTPUTĀ«Could not find non-existent sub myā¤current instr.: '_block14' pc 84 (EVAL_17:43)ā¤Ā» | ||
masak | moritz_: wouldn't hurt, I guess. | ||
masak submits rakudobug | |||
moritz_: I'm asking because viklund has trouble building Parrot on feather right now. | 20:12 | ||
TimToady | std: my $x; my $x | ||
p6eval | std 25277: OUTPUTĀ«Potential difficulties:ā¤ Variable $x declared at line 1 is redeclared at /tmp/G89KBcIX7Y line 1:ā¤------> my $x; my $xā¤ok 00:02 33mā¤Ā» | ||
TimToady | std: my $x; | 20:13 | |
p6eval | std 25277: OUTPUTĀ«############# PARSE FAILED #############ā¤Can't understand next input--giving up at /tmp/lY4jCd7Upq line 1:ā¤------> my $x;ā¤ expecting any of:ā¤ prefix or nounā¤ statement endā¤ whitespaceā¤FAILED 00:02 33mā¤Ā» | ||
TimToady | wow, so much for ^V^M :) | 20:14 | |
std: my $x;my $x | 20:15 | ||
p6eval | std 25277: OUTPUTĀ«############# PARSE FAILED #############ā¤Can't understand next input--giving up at /tmp/Q9pQnuI6U8 line 1:ā¤------> my $x;my $xā¤ expecting any of:ā¤ prefix or nounā¤ statement endā¤ whitespaceā¤FAILED 00:02 33mā¤Ā» | 20:16 | |
20:16
SamB left
|
|||
TimToady | doesn't much like ^L either :) | 20:16 | |
20:17
PantheraUncia left
20:24
abra left
|
|||
TimToady | std: my $x; | 20:30 | |
p6eval | std 25277: OUTPUTĀ«############# PARSE FAILED #############ā¤Can't understand next input--giving up at /tmp/S20vaacQ19 line 1:ā¤------> my $x;ā¤ expecting any of:ā¤ prefix or nounā¤ statement endā¤ whitespaceā¤FAILED 00:02 33mā¤Ā» | ||
20:39
mikehh joined
20:40
abra joined
|
|||
mikehh | Hi I just did a new checkout of parrot and a git clone of rakudo | 20:41 | |
The make spectest failed to do a checkout of pugs | |||
I edited the makefile and it has now passed the spectest | 20:42 | ||
masak | mikehh: did you put Parrot inside the Rakudo dir? | ||
mikehh | other way round | 20:43 | |
20:43
rakudo_svn left
|
|||
mikehh | it reported: svn co //svn.pugscode.org/pugs/t/spec t/spec | 20:44 | |
I edited the makefile to set this right | 20:45 | ||
moritz_ | mikehh: did you run 'perl Configure.pl' after the last git-pull? | ||
or (git clone) | |||
I thin pmichaud++ had fixed that problem | |||
mikehh | I did a new clone and then perl Configure.pl, make perl6 | 20:46 | |
masak | that should do it. | ||
20:46
abra left
|
|||
mikehh | make spectest then failed until I edited the makefile | 20:46 | |
moritz_ | so we have cases when the double slashes are removed, and others where they're not | 20:48 | |
mikehh | It worked yesterday after a git pull | ||
moritz_ | sigh | ||
Util | as a work-around, I just did `svn co svn.pugscode.org/pugs/t/spec t/spec` (changed the 4 slashes into 2), then `make spectest` | ||
It worked, about 1 hour ago. | |||
moritz_ | mikehh: could you please try to change the URL config/makefiles/root.in to use single slashes, and quote it? ie svn co "svn.pugscode.org/pugs/t/spec" t/spec | 20:49 | |
mikehh: and then run Configure.pl again, and tell me if it works? | |||
mikehh | It worked fine when I edited the makefile, but it is being incorrectly generated | ||
ok hold on | |||
should i do a make clean first? | 20:50 | ||
moritz_ | yes | ||
20:52
ispy_ joined
|
|||
moritz_ | in fact that doesn't even work here :( | 20:53 | |
masak | hokay. I did the following on Parrot: svn co svn.parrot.org/parrot/trunk parrot; cd parrot; perl Makefile.PL; make | ||
it fails. | |||
moritz_ | masak: that's bad. | ||
masak | moritz_: but reproducible. | ||
moritz_ | masak: I recommend #parrot instead :/ | 20:54 | |
masak | good idea. | ||
moritz_ | meh, there's also build/Makefile.in | ||
Util | masak: I made the same mistake - do not run Makefile.PL; it is a new addition for CPAN config only. Run Configure.PL instead! | 20:56 | |
masak | Util: oki, thanks! | ||
mikehh | svn co //svn.pugscode.org/pugs/t/spec t/spec | ||
moritz_ | ok, I now have a fix that seems to work for both build models | 20:58 | |
dalek | kudo: 196ea50 | (Moritz Lenz)++ | build/Makefile.in: quote URL in Makefile.in and use single slashes |
21:00 | |
mikehh | it comes from config/makefiles/root.in | ||
moritz_ | mikehh: I've just uploaded a fix... could you please 'git-pull', then perl Configure.pl, and try again? | ||
pugs_svn | r25278 | lwall++ | [STD] clarify non-declared message | 21:02 | |
mikehh | ok that generates the cottect line in the makefile | 21:03 | |
correct | |||
moritz_ | mikehh: thank you for testing | ||
21:05
Whiteknight left
21:06
vpace joined
|
|||
mikehh | Files=301, Tests=8918, 1309 wallclock secs ( 9.23 usr 2.33 sys + 2222.17 cusr 79.81 csys = 2313.54 CPU) | 21:07 | |
masak | mikehh++ | 21:08 | |
mikehh | the make perl6 is now a lot faster - I was following the discussion on #parrot | 21:09 | |
21:09
viklund left
|
|||
jnthn | Hmm. On Win32, the line | 21:10 | |
if (open my $PARROT_CONFIG, '-|', "$exe --dump") { | |||
Seems to come out true even if $exe doesn't exist. | |||
You get the error...later. Hmm. | |||
moritz_ | during close? | 21:11 | |
pugs_svn | r25279 | lwall++ | [STD] catch call to non-existent .text method when bare $ param found | ||
21:11
IllvilJa left
|
|||
masak | std: my ($) = 5 | 21:12 | |
p6eval | std 25278: OUTPUTĀ«Can't call method "text" on an undefined value at STD.pm line 30961.ā¤FAILED 00:02 33mā¤Ā» | ||
masak | hee hee. | ||
jnthn | moritz_: No, it seems about here: while (<$PARROT_CONFIG>) { | ||
masak | p6eval: recompile! | ||
moritz_ | std: my ($x) = 5 | ||
p6eval | std 25279: OUTPUTĀ«ok 00:02 33mā¤Ā» | ||
moritz_ | jnthn: maybe just use `$cmd --dump` and check if it's empty? | 21:13 | |
or add an eval { ... } block around it, or somthing other evil ;/ | |||
anyway, tools/test_summary.pl works only in the "rakudo in languages/rakudo" setup | 21:14 | ||
dalek | kudo: f202f7f | jnthn++ | Configure.pl: Get Configure to work on Win32. open seems not to return false if $exe doesn't exist, this works around it somewhat. Cleaner solutions welcome, but this works. |
21:15 | |
jnthn | Phew. I'll be able to hack on Rakudo again now. ;-) | ||
masak | that's good news for us all. | 21:16 | |
jnthn | masak: Tomorrow is Rakudo Day. :-) | ||
masak | jnthn: \o/ | ||
jnthn | I have your list of most-wanted-tickets still. ;-) | 21:17 | |
masak | jnthn: goodie. the first on that list is fixed already. | ||
Util++ | |||
TimToady | std: my ($) = 5 | ||
p6eval | std 25279: OUTPUTĀ«Can't call method "text" on an undefined value at STD.pm line 30961.ā¤FAILED 00:02 33mā¤Ā» | ||
masak | still not updated :) | 21:18 | |
Util | :) | ||
21:18
ruoso left
21:19
zamolxes joined
|
|||
masak | TimToady: we seem to need a way to force-update p6eval. | 21:19 | |
moritz_ | masak: you have a way now | 21:20 | |
masak | moritz_: indeed. | ||
moritz_ | std: my ($) = 5 | ||
p6eval | std 25279: OUTPUTĀ«ok 00:02 33mā¤Ā» | ||
masak | viklund++ # using infix:<X> when testing all layouts against all markup parsers in November | 21:22 | |
moritz_ | ok, I git-pull'ed some changes, and now I want to get rid of those again | 21:24 | |
TimToady | X is the "brute force" operator :) | ||
moritz_ | so that they don't go into the main repo when I push again | ||
how do I do that? | 21:25 | ||
masak | moritz_: check out the last commit you liked. | ||
rename it 'master' :) | |||
moritz_ | masak: so do I need to manually identify which the last "nice" commit was? | 21:26 | |
masak | I think so. | ||
moritz_ | should I generally switch to a branch before pulling stuff? | ||
masak | moritz_: if you're unsure whether you want the changes, you shouldn't pull. | ||
dalek | kudo: 50e135b | jnthn++ | Configure.pl: Oops, didn't mean to hard-code an unrequired .exe suffix, was just from trying to hunt down the problem. Works fine without it. |
21:27 | |
masak | you shoult fetch, inspect the changes, and then merge. | ||
avar | If that's your workflow it's often better to get into the habit of doing git fetch + git merge manually | ||
moritz_ | ok | ||
I'll just push petdance's changes for now ;-) | |||
they look quite sane anyway | |||
dalek | kudo: 58d5f2c | (Moritz Lenz)++ | Configure.pl: Merge branch 'master' of [email@hidden.address] |
||
masak | 'night, people. | 21:28 | |
tomorrow is Rakudo day. | |||
moritz_ | good night masak | ||
21:28
masak left
|
|||
avar | It's very nice that parrot stuff is moving to git too:) | 21:28 | |
21:28
IllvilJa joined
|
|||
moritz_ | well, at least rakudo stuff for now ;-) | 21:29 | |
Util | night, masak | ||
21:29
alester joined
|
|||
moritz_ | avar: and I slowly start liking git's ways | 21:29 | |
avar | Well, just as long as it's distributed and not cvs/svn/perforce | 21:30 | |
dalek | kudo: e73c958 | (Moritz Lenz)++ | CREDITS: updated my CREDITS entry; removed svn $Id$ |
21:43 | |
pugs_svn | r25280 | lwall++ | [STD] disallow post_contraint on bare variable declaration | 21:45 | |
21:54
rindolf left
21:55
toddr joined
21:56
ispy_ left
22:03
Whiteknight joined
22:04
toddr left
22:40
maerzhase left
22:49
ilbot2 left,
ilbot2 joined
|
|||
pugs_svn | r25281 | moritz++ | [irclog] add a whitespace while logging topic changes | 22:53 | |
22:54
wolverian left
22:58
Whiteknight left,
Whiteknight joined
22:59
wolverian joined
|
|||
pugs_svn | r25282 | lwall++ | [tree-node-parameters.t] post_constraint not allowed outside signature | 23:01 | |
23:03
sahadev left
23:19
kane_ left
23:30
Exodist left
23:33
DemoFreak left
23:45
iblechbot left
23:48
mikehh left,
mikehh joined
23:54
wolverian left
23:58
wolverian joined
|