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