6.2.11 released! | pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | < audreyt> my fingers juxpatosed
Set by nothingmuch on 24 February 2006.
ayrnieu ?eval sub hanoi (Int $n, Str $start, Str $end, Str $extra) { if ($n == 1) { say "move disk #1 from $start to $end." } else { hanoi($n-1, $start, $extra, $end); say "move disk #$n from $start to $end."; hanoi($n-1, $extra, $end, $start) } }; hanoi(3, 'a', 'c', 'b') 00:03
oh, evalbot did not survive. 00:05
putter :(
someone with feather access needs to kick it 00:06
(maybe)
ayrnieu anyway, that hanoi() refuses to accept the natural perl5ian invocation of hanoi(3, <a c b>); how can I call it with a list as the second argument?
I'm on feather, now, but I don't know how to kick it...
putter doesnt either
re hanoi, *@a makes it into a list. 00:07
ayrnieu *<a b c> ?
putter think so 00:08
yes. 00:09
ayrnieu I guess pugs hasn't implemented this yet, then. 00:10
yes, I'd expected that to work last night, reading S06
putter ./pugs -we 'sub f(*@a){say join(",",@a)} f(*<a b c>)' => a,b,c 00:13
works
no?
ayrnieu um, isn't the point of the * in *<a b c> that you don't need a slurpy param? You could've just passed <a b c>, there. 00:14
fglock_ in a rule capture, a variable like $a ;= (.*?) is later referred as $(a) ? 00:15
s/;=/:=/
ayrnieu sub f(Str $a, Str $b) { say "$a$b" }; f(*<a b>) # error
ayrnieu & food 00:17
TimToady fglock: no, $a would have to be something in the outer lexical scope.
And $(a) would be a syntax error unless a is a function. But $() is not specced to take any argument yet. 00:18
putter ayrnieu: oooh. yes, that looks like a bug. sorry. 00:19
./pugs -we 'sub f($a,$b,$c){say join(",",$a,$b,$c)} f(*<a b c>)'
*** No such method in class Any: "&f"
fglock_ TimToady: can I get things from inside $()? like $(){thing}
putter fglock_: $<a> := ... { $<a> } 00:20
$2 := ...
TimToady Only if $() happens to be an object that supports the deref role you're trying to use. 00:21
By default $() is just a string.
00:22 kisu joined
fglock_ TimToady: so I'd better return explicit fields, like { return { a => $<a> ,} } 00:24
TimToady: (I'm using hashes to build the ast) 00:25
TimToady: in this case, $() will be a hash reference, right? 00:26
TimToady yep 00:27
fglock_ and I access it with $()<a> ?
TimToady yep**2
fglock_ cool - thanks!
pasteling "putter" at 66.30.119.55 pasted "addition to Prelude.pm which _isnt_ going to be applied at the moment. issues mentioned." (136 lines, 4.6K) at sial.org/pbot/16156 00:35
putter oh, the addition is just the AnyChar tree and Math::Basic of S29. 00:38
00:46 jisom joined 00:49 Cryptic_K joined
putter hmm. ok, I can move Prim.hs's require and use off into Pugs::Internals, with require/use macro's defined in Prelude.pm calling them, and some other minor changes to enable the precomp caching to be written in p6. But... none of this will help pugs find it's prelude... which is the current critical path... 00:57
anyone familiar with windows? can, unlike linux, programs actually find themselves? 01:01
FurnaceBoy_ yes they can 01:06
FurnaceBoy_ shudders to think he knew that
using calls like GetModuleFileName() 01:07
szbalint Hm, anyone could explain how ^ff and ff^ is different from ff? 01:09
jisom it's possible on freebsd, but you have to mount /proc first
perl -e 'print readlink "/proc/$$/file", "\n";' gives me /usr/local/bin/perl 01:10
azuroth something to do with open and closed ranges?
putter FurnaceBoy_: thanks
FurnaceBoy_ $ perl -e 'print readlink "/proc/$$/exe", "\n";' 01:11
/usr/bin/perl5.8.7
works on Linux, btw
putter jisom: thanks
FurnaceBoy_ note 'file' -> 'exe' :|
jisom but with freebsd, proc isn't mounted by default
mauke my linux has /proc/self/exe
szbalint ah nm, found it.
jisom and freebsd's /proc is different than linux's, although linux's can be mounted with the linux emulation layer.... 01:12
well freebsd also has /proc/curproc/file
FurnaceBoy_ $ perl -e 'print readlink "/proc/self/exe", "\n";' 01:13
/usr/bin/perl5.8.7
:-))
mauke -le is shorter than , "\n"; 01:14
putter szbalint: what was the answer? (I didn't even know p5 _had_ a flip-flop operator... wow) 01:15
which side to start off on? 01:16
01:17 justatheory joined
szbalint "The ff operator may take a caret on either end to exclude either the beginning or ending." 01:17
not really verbose but its from S03
01:19 Cryptic_K joined
jisom gasps 01:19
building ghc didn't crash the computer!
putter oh, i see (reading man perlop, it's an operator on ranges... wow, again) 01:20
:)
should try cmucl :)
szbalint yeah, .. is not only range and ff is the flip-flop
*now
putter Ok, how about this. src/perl6/Prelude.pm should become Pugs::Prelude.pm/yml, with pugs.hs retaining just enough brains to search @*INC for for it's prelude, and the prelude containing the rest of the fancy caching stuff. 01:23
An alternative would be to install Prelude.pm and .yml ... someplace. wonder what make install does now... looking... 01:24
fglock_ what is the name of the variable captured by /<word>/? $/<word> ? does $<word> work? 01:35
putter what you said; yes; work as in pge? (S05/Subrule captures) 01:38
jisom in pge the match object allows you to get a complicated nested structure containing the things.....and although I haven't delved into it, the dumper does print the "<word>"... 01:39
fglock_ thanks. I've got a lot of places to change 01:40
putter fglock_: works in pge, both with $m and $/ ./pugs -e 'my $m = "a" ~~ /<ident>/; say $/<ident>'
jisom how the pge output fits in with all the perl6 matching, I don't know..... 01:41
fglock_ jisom: the rule lib returns a Match object, which Perl 6 knows how to use 01:43
jisom I mean how the program written in perl6 fits in..... 01:44
putter there is also :keepall, which I like so much I've made it the default a couple of times. :) though actually, a variant that _always_ uses array of occurances, even if there is only one. it is silly to have to encode ("now on _this_ kind of node, there are two exprs, so $<expr> is an array, but on this other kind of node, with only one, its the expr itself. blech. double blech. insane.
jisom once parrot gets directory handling support, I'll probably add it to my pgegrep program and release it...-r's kind of important to me :) 01:45
fglock_ jisom: sorry, I don't understand what you asked 01:47
jisom me either
fglock_ :) 01:48
01:50 pdcawley joined
putter can anyone remind me how to get IO a from EvalT (ContT Val (ReaderT Env SIO)) Val ? :/ 01:52
obra 01:54
azuroth return? :-p
01:58 kanru joined 02:01 aufrank joined
aufrank good evening all! 02:02
02:07 pdcawley joined 02:21 hcarty joined 02:23 fglock_ left 02:25 hcarty left 02:28 beppu joined 02:29 jisom joined
jisom how long should it take to compile Pugs.AST.Internals 02:30
beppu jisom, My box only 256MB of RAM and it took forever. In fact I ^C out of it after a few hours, because I figured I'd try again when I got more RAM for my box. 02:34
jisom hmmm....I think it has 96 megs
I had to add swap space just to compile ghc.... 02:35
right now it's at 109 megs of ram for ghc, so the swap seems to be slowing it down
maybe that computer has 128, I can't recall 02:36
ayrnieu This is probably an unwise computer to work with pugs on.
beppu pugs is a hungry beast
jisom all the more reason for me to prefer parrot
azuroth maybe you should get feather access?
jisom feather? 02:37
ayrnieu jisom - feather.perl6.nl
azuroth feather.perl6.nl - ssh access for building pugs and parrot and stuff 02:38
jisom I don't have a single problem with parrot
ayrnieu But yes, I'll be happy when pugs bootstraps itself away from haskell. I'll then be able to run it under OpenBSD/macppc.
well, when perl6 does.
jisom - parrot doesn't rely on GHC. 02:39
jisom well all we need is a perl6 compiler that targets parrot
I know, I use parrot often....
pir's a good language :)
azuroth actually, anyone use feather? svk seems to be acting funny for me.
ayrnieu yes, that is a goal. In the meantime, you might ask for a feather account if you want to work with pugs on other than your 128M RAM machine. 02:40
azuroth - yes. Have you read the SVK-on-Feather document?
azuroth I... possibly have not.
*googles*
jisom "It will be a simple server, with an Intel main board, a Pentium 4 2.4 GHz CPU, 1024 MB of RAM and 80 GB of mirrored (raid1) diskspace." - that's not simple!!! 02:41
ayrnieu that's not complex, either. 02:42
azuroth I did have svk set up for parrot a while ago, but it isn't working. does your svk complain about prototype mismatches?
ayrnieu it has 2G RAM now, I think.
jisom I use svn
never used svk
ayrnieu azuroth is asking me, jisom.
jisom oh
ayrnieu azuroth - yes, on feather, and I don't know why they occur, but I haven't seen any problems from them. 02:43
azuroth svk's used on feather so each user doesn't have to get the same revisions over the network
02:44 mako132_ joined
szbalint hm where did the svn bot go 02:45
ayrnieu szbalint - freenode as a whole exploded a little while ago. evalbot is also a casaulty.
er, weird, svk on feather is giving me files that I'm not getting on my home machine.
t/operators/beer.t as a new file 02:46
I guess svn.openfoundry.org/pugs is a bit behind.
szbalint possible 02:48
but beer.t doesn't exist anymore
I just deleted it ;)
So don't expect it to appear.
ayrnieu ah, there it goes. 02:49
szbalint btw, shouldn't the bots be able to handle connection loss to the server? 02:50
jisom bots have no brains 02:52
szbalint they are p6 bots, right? 02:58
ayrnieu they are. 02:59
by which I mean: yes, evalbot is. I don't know about the other.
szbalint ah 03:05
it appears that a recent commit might have broken evalbot
03:06 pdcawley joined
ayrnieu how does $#a translate to perl6? Is @a-1 now the most natural way? 03:08
azuroth @a.last ? 03:09
ayrnieu last() is something else. 03:11
azuroth oh. I thought last was .elems(-1
ayrnieu @a.last seems to parse to the flow-control operator. 03:12
azuroth ahh, .end
ayrnieu ah, thanks.
azuroth what's the flow control operator? 03:13
szbalint it seems audreyt's pugs instance is broken and thus the loop wanting to resurrect svnbot and evalbot just dies 03:15
ayrnieu hah, for(0..Inf) {} doesn't quite do what I want.
azuroth - for (0..10) { last if $_ > 5; say } 03:16
azuroth ohh, right
ayrnieu S04 refers to them as 'loop modifiers'.
03:17 kisu joined
szbalint hm, isn't for (0..Inf) supposed to be lazy? 03:20
jisom why not just add a "forever {}" 03:22
azuroth jisom: so that, say, map {$^x * $^x} (0..Inf) works too 03:24
03:26 shric joined 03:36 pdcawley joined
TimToady jisom: on top of which, a forever loop is spelled "loop {}". 03:58
jisom ok 03:59
part of me's getting used to pir which doesn't have any conventional looping....sort of.... 04:00
azuroth what are you doing in pir, btw? 04:01
jisom programming for fun, what else?
azuroth writing a compiler? :-)
jisom well that'd be nice but not likely :) 04:02
04:02 aufrank joined
azuroth I'm pretty sure PGE's usable as a yacc substitute 04:03
jisom yeah, PGE's got a lot done...it's not optimized for speed yet, but it'll get the job done 04:04
I've contemplated porting at least parts of osascript to parrot....but that's mostly it....
azuroth osascript? 04:05
jisom right now I wish I could improve a part of the macro reading in parrot's lexer so my HLL macro's will be more usable and make programming in pir actually look high level
azuroth hmm, interesting
jisom generic apple script
the problem with the lexer as is, is that a comma is always a parameter delimiter even when you don't want it to be 04:06
it doesn't eliminate their use but it makes it harder 04:07
PIR actually supports something like this:
.Foreach(def, array,
print def
print "\n"
)
azuroth hmm. that'd be interesting 04:08
jisom but for the code block, it can't have any commas, a big problem, especially for nesting macros 04:09
azuroth or maybe you could just add {} quoting?
jisom but, everyone was rather surprised when I sent it to p6i about it, it's probably technically not supposed to work
well that's my hope but that doesn't mean I'll get it working 04:10
I'm not familiar with working with flex 04:13
04:14 Fleebailey33 joined 04:16 amnesiac joined 04:17 FurnaceBoy joined
azuroth do macros need parens? 04:20
jisom yes
I know how to add support I just don't know how to do it with lex 04:21
the preprocessing is only a text preprocessor(and not really "pre" because it's done at the same time as compiling), so it's very simple really 04:22
at least as far as I know
azuroth hmm, yeah. it looks like you need paras, except if it takes no args 04:23
jisom but at present, a comma in a comment will still count as a delimiter to the preprocessor 04:24
FurnaceBoy heh
do you have a ',' operator versus ',' arg sep ambiguity?
FurnaceBoy knows lex 04:25
jisom using code blocks in this fashion wasn't intended, though, but in a way, it's light weight enough to allow heavyweight stuff
azuroth compilers/imcc/imcc.l:read_params .. looks like an easy fix?
FurnaceBoy oh, in a comment...
jisom yeah
that's the place I was working in
azuroth looks like fun. good luck :D 04:30
jisom guessing didn't work :( 04:31
azuroth heheh, I was just looking at it. I didn't try - I'm not a huge lex user. I can't even see where the ( and ) tokens are defined 04:35
jisom lines 723, and 794 04:36
735 is there the comma's defined
azuroth hmm, I can see comma 04:37
jisom with regard to macros, the parenthesis and comma are hard coded in as in "c == ','" 04:38
04:38 pdcawley joined
jisom my line numbers are off 04:39
forgot about local modifications :-\
) and , are set in read_params
azuroth ah, ok. I figured lex would need to know that the ( and ) etc were tokens, so it wouldn't error on them 04:40
jisom not for macros
macro's sort of jump out of lex
04:40 Fleebailey33 left
azuroth ahh, ok. so yylex just gets it from the file or whatever? nifty 04:41
jisom in one ear, out the other... 04:42
:)
I'm a mac user, I like "it just works"
azuroth c = yylex(&val, interp) // just gets a char from stdin, does no lexing?
jisom yeah 04:43
at least not yet
azuroth what about read_params "if (YYSTATE == heredoc2)"
jisom no heredocs in macros 04:44
azuroth but how does it get yystate if we're not lexing?
confusing 04:45
jisom as I understand it, it's lexing, but then when it finds a macro it jumps to the macro reading functions...
but no lexing is done _while_ the macros are being read
azuroth .foo ( ... ) # so when parsing ..., the last token is still .foo? 04:46
jisom I have no idea whatsoever
04:48 pjmm joined
putter ?eval 3 04:49
azuroth hmm, I think it does lex. so _could_ just define a token, \{<toks>\} which equates to toks or something? 04:56
probably not so hot, though 04:57
jisom tokens aren't parsed while reading macro parameters, only text.....at least I think so
also consider that it can't be too "heavy weight"
azuroth .foo({!}) gives a tokenising error,.. hmm, there must be a better way to prove it 05:00
05:00 pdcawley joined
azuroth well, .foo("blah, b") would be two args if it wasn't tokenising, right/ 05:01
jisom before or after macro processing?
yeah
azuroth I'm pretty sure it's inside the macro processing
the yylex function returns the next token from the input file
jisom next token? hmmm.....I was thinking it was the next character..... 05:02
jisom doesn't know lex
azuroth well, it returns an int which is the next token's type
however, special tokens which are just a char are returned as their character - so you can use them easily 05:03
jisom ok
that would explain some of my debugging problems... 05:05
azuroth so you need to add two more tokens, { and }.. then just when you see a {, keep getting tokens until you see the matching }. or you could make a block macro, but that might conflict with other stuff? 05:07
jisom braces have no special meaning in pir, brackets either 05:08
FurnaceBoy how is your grammar defined? I usually use bison (yacc)...
jisom yacc
imcc uses a lex/yacc combo
but all macro stuff is in lex 05:09
FurnaceBoy well, that implies that macros are not made of tokens.
which sounds like the difficulty here.
i.e. they're strings inserted into the pre-lex input?
I've never implemented that kind of macro processing, but it would seem fairly straightforward. 05:10
in fact, a macro in that sense would work just like a HEREDOC 05:11
05:11 eric256_ joined
jisom essentially, yes... 05:12
FurnaceBoy so, sorry, just briefly, what's the problem you have right now?
jisom essentially, how to use a comma inside a parameter instead of as a delimiter 05:13
FurnaceBoy can you paste an example?
jisom .Foreach(letter, array,
print letter
print "\n"
set $I0, 4
)
FurnaceBoy I've resolved that kind of ambiguity in a yacc grammar before (function calls versus ',' operators), but your situation is a little different I think
jisom the comma after $I0 is treated as a delimiter 05:14
FurnaceBoy ah.
okay, but how do you trigger and stop macro body slurping?
jisom using braces to act essentially as apostrophes would resolve it in part....
the ) at the end
FurnaceBoy but when is it supposed to start? first line after '(' ? 05:15
jisom I think parenthesis will trigger the problem just as comma's do, albeit slightly different
FurnaceBoy the way you specify it risks ambiguity
jisom parameters are from after the ( to before the )
FurnaceBoy imagine the case with no parametersr
-
r
jisom just ()
FurnaceBoy right,
but you need to look ahead PAST parameters before slurping the body 05:16
the question is, how far must you look ahead
right now, it appears you might need to read all the way to ')'
jisom I'm not following you
eric256_ can i interject with a stupid question...does anyone have a link to directions on downloading the svn of pugs? /me is slow tonight 05:17
FurnaceBoy I don't quite follow 'a comma inside a parameter' ... what do you mean by that?
azuroth eric256_: maybe search.cpan.org/dist/Perl6-Pugs/lib...s/hack.pod
05:18 Nouk joined
azuroth .foo(1, {1,2,3} ) 05:18
jisom in the example I pasted, the comma after $I0 isn't wanted to my a macro parameter delimiter but the preprocessor will treat it as one
*to be a
FurnaceBoy oups
eric256_ hits forhead and thinks it is probably time to sleep. thanks azuroth
FurnaceBoy sorry I misunderstood the above then. ignore my ramblings. I'll resync. :)
azuroth :-)
jisom ok
this is really more parrot than pugs but oh well 05:19
FurnaceBoy ah 05:20
okay, I wasn't as far off as I thought.
it really gets back to my question, I think, which is when you stop looking for parameters and slurp the macro body? 05:21
the way it is defined, it's ambiguous I think
once your 'sub lexer' switches to macro-body mode, everything is fine until it hits a ')' , right? 05:22
parens in the body can be handled by counting nests
jisom what we're talking about now is when calling a macro, the ambiguity you're thinking about is allotted for with the "need_id" which state that it needs to be an identifier, which is used for defining macros
FurnaceBoy ah. 05:23
okay so I was confused.
jisom defining a macro is linebased... .macro foo(bar, baz)\n...\n.endm
azuroth hmm. I'm still confused :-) 05:24
FurnaceBoy and calling it is per your example (set) ?
jisom .macro foo(a, b) 05:25
.a += .b
.endm
.sub main :main
.foo($I0, $I1)
.end
simple "expected" usage
05:25 pdcawley joined
FurnaceBoy ah okay. all of what I've said is irrelevant. :) 05:26
jisom examples are helpful :)
FurnaceBoy and you want to actually pass a literal comma in/as a parameter
jisom yes
FurnaceBoy that should only be a matter of a quoting mechanism, as azuroth hinted at 05:27
jisom for when you're using code as a parameter
FurnaceBoy quoting or bracketing
jisom exactly
FurnaceBoy that logic can be added to the sub-lexer that slurps each param
or a new sub-lexer, if it's too dumb
azuroth for easiness, could start with just quoting with ( and ) - I'm trying to find where ( and ) are actually defined as tokens, but not having much luck
FurnaceBoy let me just clarify, parameters are bits of text, not token streams, right? 05:28
jisom I don't think it needs to be that bright, if it finds a '{', call a sub to parse until the '}', if another { is found, recursively call itself...
azuroth token streams
jisom azuroth, do they have to?
putter ?eval say 3
FurnaceBoy okay, well it seems to me that you must already have some kind of token for string -- i.e., a string containing comma
ayrnieu stil no evalbot.
azuroth have to be? no, but they are at the moment, and it's much easier for { "blah}" 05:29
FurnaceBoy when you pass code, are you passing strings, or tokens?
if tokens, then you are going to need a { } block delimiter exactly as azuroth suggested
azuroth FurnaceBoy: I think read_params gets the tokens and concatenates them, or something... 05:30
err. concatenates them into a string
FurnaceBoy this turns out to be rather similar to the case I know about, which is f(a,b) versus f((a,b),c)
putter well, ~20min of my life spent discovering -e $stem~".yml" gets parsed as (-e $stem)~".yml". :(
azuroth that doesn't feel right 05:31
jisom that's why I like pir......explicit precedence
azuroth heheheh 05:32
ayrnieu -e "$stem.yml"
azuroth are you by any chance a lisp user, jisom?
ayrnieu either a lisp or a forth programmer may appreciate that.
jisom no, neither am I a forth user
but I'd choose forth over lisp when it comes to basic syntax 05:33
pir's more like assembly
FurnaceBoy explicit precedence still can't do anything with f(a,b,c) if you mean f( (a,b) , c ) 05:35
it's inherently ambiguous because you're overloading ',' :-)
jisom actually in pir, you can
FurnaceBoy in one case it's an operator, in the other it's lexing sugar
jisom because you can't autovivify and array like that
FurnaceBoy okay
azuroth it's kinda like an array ctor in both cases, though
jisom rather annoying because sprintf wants an array, even if it's only one term you're wanting to "sprintf"
FurnaceBoy yeah, as an assembly fan, I noticed your .macro/.endm with approval ;-)) 05:36
jisom months of assembly...
pir rather
05:36 pdcawley joined
FurnaceBoy yes, it is in dynamic languages, but I was thinking of more C-like stuff. 05:36
jisom some friendly hll constructs
FurnaceBoy azuroth, you know mathematica? 05:37
azuroth no, I don't believe I do
ayrnieu oh, "@foo" interpretation has gone away again?
05:37 pdcawley joined
ayrnieu ("{@foo}", right.) 05:38
FurnaceBoy I wrote a lex/yacc assembler once, jisom, but I never implemented macros. telegraphics.com.au/svn/dpa/trunk 05:39
jisom and currently macros are done as it's processing instead of before processing..... 05:40
I could just write a preprocessor in perl.... 05:41
azuroth /info
err
gaal putter: 03:20 < putter> Ok, how about this .* the prelude containing the rest of the fancy caching stuff.
that's exactly the idea
eric256_ wonders what .* meant in that context 05:44
05:44 pjmm left
gaal eric256_: I didn't want to quote the whole thing. :) 05:44
and: hello! long time no elk.
eric256_ ohhh. that makes alot more since
life gets busy and virtual things take the hit first ;) 05:45
05:45 pdcawley_ joined
eric256_ attempting to compile pugs on win32 for the first time in probably 5 months. lol. as usual its beating my CPU to death with a stick 05:46
jisom I'm trying to do it on freebsd for the first time....needs more swap space
gaal y'all should make sure what's mentioned in config.yml fits your systems 05:47
putter gaal!!!!!
aufrank does anyone here build pugs on OSX? 05:48
putter gaal: ping? putter says very very hopefully...
05:48 K joined
gaal pong :) 05:48
sup?
putter: I hope Complex::i isn't intended to be exported by default. :-P 05:49
putter gaal: is there some way to compile an arbitrary file to the .yml form? 05:50
lol # i
gaal putter: sure! ./pugs -CParse-YAML Arbitrary.pm > Arbitrary.yml 05:51
or recommended: ... | gzip -c Arbitrary.yml.gz
putter applying that treatment to Test.pm results in non-happiness. perhaps I'm doing it wrong. trying by hand... 05:52
gaal define non-happiness 05:53
eric256_ are use and require just going to cache modules by default? or are there still unresolved issues with that
gaal eric256_: the plan is to cache by default, yes 05:54
putter ./pugs -CParse-YAML blib6/lib/Test.pm > blib6/lib/Test.pm.yml and the yml gets loaded, but no 0..1 appears.
gaal urp? no, that *creates* the yaml bytecode, not loads it
putter ./pugs -CParse-YAML blib6/lib/Test.pm > blib6/lib/Test.pm.yml; ./pugs -Iblib6/lib -e 'use Test;'
gaal ah 05:55
putter builds an unmodified pugs to make sure he didnt break it...
gaal ./pugs -Iblib6/lib -e 'use Test; plan 42'
./pugs -Iblib6/lib -e 'use Test; plan 42; pass "moose"'
putter It works for you, after .yml'ing? 05:56
gaal exportation was broken but I think audrey fixed it
try Test::plan 42; Test::pass
I'm starting up my colinux, se
c
what doesn't work for you now? (while my pugs builds...) 05:57
putter ah, ./pugs -Iblib6/lib -e 'use Test; Test::plan 42; Test::pass' has output. 1..42 ok 1
./pugs -Iblib6/lib -e 'use Test;' doesn't have output. ;) 05:58
eric256_ how do you know its the compiled one though? (just curious)
putter if a .yml file exists. does if the .pm is used.
change in behavior depending on existence of .yml file? 05:59
eric256_ so if the yml file is present and broken it will through an error instead of using the .pm?
gaal putter: then call Test::plan()
eric256_: I think we disabled the error in the general case now, though it's still comment in the code
because the user experience should not depend on precompilation being presennt 06:00
putter to recap, ./pugs -Iblib6/lib -e 'use Test;' has normal output only in the absence of a .yml. ./pugs -Iblib6/lib -e 'use Test; Test::plan 42; Test::pass' works with both.
06:00 Aankhen`` joined
gaal but to answer your other question.. strace :) 06:00
putter: okay, that means that the exporter still needs work.
putter a pugs I haven't messed with has the same behavior. 06:03
gaal hmmm, this may need the Pad refactoring audrey was talking about to fix
eric256_ so is the prelude now compiled to yml instead of haskell like before? i thought i read that somewhere, but my machine just took quite a while at the generating precompiled prelude step
gaal eric256_: there's a good summary on the blog 06:04
it's much faster to build than the previous approach
putter: I'm still trying to reassemble my understanding of why export only kinda works 06:06
eric256_ yea i read the blog, and i just reread...it doesn't say if the default make behavior is to precompile to haskell or the yaml though. 06:07
aufrank when I synced the design docs today I got a bunch of updates, but they hadn't been sent to p6l... is the commit-poster turned off now?
(synced from svn.perl.org, that is) 06:09
gaal eric256_: -CPugs, the old way, is no longer in active use. (But curiously, the YAML work prompted it to be imroved too!)
eric256_ okay so make with prelude set to be precompiled results in it being compiled to yml.. should make development of prelude.pm much faster if you can turn around and compile it that easily.../me wonders if compile is the wrong owrk. either way nice work ;) 06:10
putter gaal: np. it's 1am for me, so end of day. I'm going to check in my changes because 1- it's been months since I broke the build, so I must not be trying hard enough, and 2- it might not - the test for attempting to create a .yml upon use() is the .pm being writable, which blib6/lib tends not to be. the t/ I've tried (just a few) work. 06:12
gaal eric256_: actually, the config.yml directive is ignored now: we always precompile Prelude.pm because it's turned cheap :)
putter: lol
I'd better start getting to $work, myself 06:13
06:15 pdcawley joined
putter gaal: thank you very much for your help. you assistance was just in the nick of "I'm going nuts" time. :) 06:19
gaal go to bed instead, I hear it's much nicer there :) 06:21
gaal takes off for $work & 06:22
jisom but sleep deprivation can cause a pleasant euphoria
putter As a side note, I observe that mv'ing src/perl6/Prelude.pm to blib6/lib/Pugs/Prelude.pm, and, err, mutter, mumble, hacking the .hs to insert "use Pugs::Prelude.pm;" in the first line of every file mumble, seems to leave ./pugs at least passing at least some tests. 06:23
gaal: :)
06:23 Draconit joined
putter gaal: thanks again. 06:23
eric256_ any ideas what " Pattern match failure in do expression at" means? 06:24
gaal eric256_: I'm not here any more, but nopaste?
putter: np :)
putter looks like svnbot6 is awol. patch 9275 in.
eric256_ i'm not even sure what to nopaste. lol
gaal whatever comes after that "at" 06:25
azuroth something like ([], e) <- blah when blah isn't ([],e)?
pasteling "eric256" at 24.8.74.230 pasted "wierd error" (7 lines, 230B) at sial.org/pbot/16159
eric256_ stares at azuroth. lol 06:26
06:26 Kattana joined
azuroth err, never mind 06:26
pasteling "eric256" at 24.8.74.230 pasted "whole script in case someone is interested" (56 lines, 1.3K) at sial.org/pbot/16160
putter good night folks. have fun. & 06:28
azuroth night!
eric256_ night
hmm. it looks like it is calling the + operatore based on the class instead of the returned type of the methods being used. 06:29
azuroth like, based on static type, not dynamic..? 06:30
eric256_ well.. $a.toBase() + $b.toBase() failes with that error. but if i dump them into variables and add the variables it works fine 06:31
gaal is your Prim:99 the case in op1 "id"? that should never fail a patmatch, it has a _ case
but for real, I ain't here &
eric256_ yes thats where it is, its a fresh copy just svn'ed an hour ago.. 06:32
06:34 pdcawley joined
azuroth what's with the * in "multi sub *infix:<+>", by the way? I don't recall seeing it before 06:35
eric256_ thats from way back. thats why i'm revisiting the script. lots of new things fixed and implemented since it was first written
azuroth ahh 06:36
eric256_ oddly...removing it causes the same error even with the enw temp variable.
06:38 putter joined
putter two quick comments 06:38
azuroth yeah? 06:39
putter i started a refactoring of.... fribble... Prim/Eval.hs, but decided it was mission creep for the evening.
2- if anyone wants some easy p6 hacking, see the top of TASKS. Math::Basic / Num gets a zoo of round_foos. sanctioned, at least for the moment, by @larry[0]. night & 06:40
06:42 handon is now known as vborja
eric256_ was that last statment by putter english? lol 06:43
ayrnieu yes. 06:45
FurnaceBoy it kinda lapsed into shell at the end there.
eric256_ ummm sprintf can't be found and as doesn't work...is my copy borked somehow?
ayrnieu eric - talking about parrot?
eric256_ pugs
ayrnieu what can't find sprintf, and how doesn't 'as' work? 06:46
eric256_ No compatible subroutine found: "&sprintf" same with 'as'
ayrnieu eric - well, I have a sprintf here, so that may indeed be borkage. I don't know about an 'as'. 06:47
revdiablo ?eval 1.as("%03d")
Wither evalbot?
ayrnieu revdiablo - went away when all of Freenode did.
eric256_ in eval i can't get either to work...most be something else going on here 06:48
ayrnieu but oh, OK. That's an interesting method.
eric - must be. I see them.
eric - please show us the exact code you try to use these in.
06:48 justatheory joined
eric256_ decides its time for sleep anyway...guess i'll play with it in the morning. 06:49
revdiablo ayrnieu: It makes some things a lot easier than working it into sprintf()
pasteling "eric256" at 24.8.74.230 pasted "yet more strange occurences" (6 lines, 229B) at sial.org/pbot/16161
06:50 FurnaceBoy_ joined
eric256_ i think prelude might not be loading at all.../me is going to stick around till the recompile is done. whats another 20 minutes 06:50
do i need to nmake install these days? could that be the trouble? 06:51
06:51 FurnaceBoy_ left 06:52 drbean joined
ayrnieu no, I don't need to make install. 06:52
and yeah, those work just fine here. 06:53
eric256_ lol 06:54
06:55 justatheory joined
eric256_ i so did that to myself...way back when i was hacking prelude i had env vars set to load from special places...removed that and it looks okay now 06:55
nite 06:58
07:02 pdcawley joined 07:08 pdcawley joined 07:27 samhain1138 joined 07:30 mtve joined 07:31 nothingmuch joined 07:48 KingDiamond joined
azuroth /users 07:50
err
buu ?eval if 1 { 1; }
azuroth no evalbot :-(
buu sigh
azuroth wonder when audrey's going to spring to the rescue 07:51
audreyt ...like, now 07:52
obra hey audreyt
azuroth gee. you really are the IRC hive
ayrnieu IRC hive? 07:53
azuroth all information going through IRC has to go through her, first 07:54
ayrnieu er, OK. 07:55
jisom sounds more like a bottleneck than a hive....
ayrnieu (1 xx Inf)[Inf] # hee 07:56
nothingmuch moosen
ayrnieu What does that do? It takes the infinityth element from an infinite list of 1s. It works just fine in pugs.
azuroth niftylicious. 07:57
jisom how does pugs handle 1/Inf? 07:58
nothingmuch did you guys see the new smolder thing
jisom: like haskell does
ayrnieu my @a = 1 xx Inf; @a[Inf] # handled less gracefully, however.
nothingmuch ?
xx is non lazy 07:59
ayrnieu nothingmuch - pugs is happy enough with: my @a = 1 xx Inf; 5 # displaying 5, only becoming upset with @a[Inf] later on. 08:00
nothingmuch - how do you know that xx is non-lazy? 08:01
audreyt jisom: IRC is a klein bottle, not a gross one, so it has no bottlenecks 08:05
gaal hey audreyt, all
how was GPW? 08:06
08:07 stennie joined
nothingmuch arcady: mine isn't =/ 08:07
audreyt gaal: it was fun -- mainly the hallway track with nicholas and andk
nothingmuch oh wait, it is, sorry
but not with just my @a = xx Inf;
and I know why now
because it's .perl'ing it
=(
audreyt putter's r9275 broke everything, including Net::IRC
nothingmuch that putter 08:08
we should take away his commit bit
he never does anything useful anyway
audreyt smacks nothingmuch for hate speech
nothingmuch =)
ayrnieu: my @a = 1 xx Inf; @a[5] 08:09
does that work?
ayrnieu nothingmuch - nope.
nothingmuch - (my @a = 1 xx Inf) just sits around like a brain, I suppose: safe until an immune system discovers it. 08:10
gaal (hallway tracks)++
they make one tres serene
nothingmuch andreas koenig?
gaal [OT] unix.rulez.org/~calver/pictures/curves.jpg 08:11
audreyt nothingmuch: yeah
nothingmuch sourceforge.net/project/screenshots..._id=161136
audreyt hm, weird, it may not be putter after all -- as r9274 doesn't work either
audreyt triages
nothingmuch that damn putter, confusing us all the time about his revs 08:12
wee should take away his commit bit, so that we know who really did it next time
gaal++ # cute link
08:24 Nouk joined 08:32 feng joined
gaal a few notes on 9275 08:36
(sorry, can't fix myself now)
* bool::true/false prolly better than 1/0, though this is very minor
* use file_sep instead of '/'
* look for the gzipped version, too 08:37
* Pugs::Internals::compile_file_to_yml may as well look for some gzipper.
* Pugs.Prim.Eval's opRequire can probably stop doing the search path thing now that the Prelude version takes care of this 08:38
* putter++ 08:39
that's all for now :)
08:41 iblechbot joined
audreyt tries using "make profiled ; ./pugs +RTS -xc -RTS" to get a stack trace of this mysterious error 08:41
gaal oh, and another note on 9275: Pugs::Internals::emit_yaml should also be fixed, and we need to find a way to avoid parsing the file twice (once for precompilation and once for the curent &use) 08:55
08:58 KingDiamond joined, ghenry joined 09:13 svnbot6 joined 09:19 premshree_ joined 09:20 evalbot_9275 joined
audreyt summon evalbot 09:20
?eval 'woot'
evalbot_9275 "woot"
09:21 beppu joined, K joined
audreyt fg 09:21
oops :)
integral umm, I thought Data.FastPackedString had builtin gzipping?
audreyt it had builtin zlib bindings 09:22
but if you are on win32, there'd be no zlib to bind 09:23
ayrnieu ?eval (sub ($a, $b) { $a ~ $b })('a', 'b')
evalbot_9275 "ab"
ayrnieu ?eval (sub ($a, $b) { $a ~ $b })(*<a b>)
evalbot_9275 Error: Undeclared variable: "$b"
integral ah. stupid os
audreyt hm, the buildfail turns out to be a simple 09:24
sub infix:<ā‰ > {} 1
which triggers Prelude.last: empty list
only that particular unicode "not equal to" char triggers this
weird.
09:33 handon joined 09:34 nothingm1ch joined, handon is now known as vborja 09:40 marmic joined, iblechbot joined 09:42 wilx joined
svnbot6 r9276 | audreyt++ | * Pugs.Parser.Operator: Fix the misparse of "not equals" 09:59
r9276 | audreyt++ | in Set.pm that triggered parsefail for all IRC bots;
r9276 | audreyt++ | decodeUTF8 should be executed before words.
10:03 nothingmuch joined 10:23 KingDiamond joined 10:30 chris2 joined 10:44 premshree_ joined 10:46 GeJ joined 10:50 pmurias joined
pmurias hi all 10:51
nothingmuch hi ho 10:53
svnbot6 r9277 | pmurias++ | * a dispatch hash is used for emitting nodes
r9277 | pmurias++ | * moved emit to iterator_engine_emit.pl
pmurias putter: were did you get the wheather in Alaska from? It needs to be updated :) 10:54
10:57 KingDiamond joined 11:09 larsen joined
nothingmuch aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 11:12
i'd like to be able to write high performance database apps in Perl 6
ayrnieu nothingmuch - OK. 11:13
nothingmuch C++ is getting on my nerves
so much language tax
ayrnieu and from a Perler, this is extremely harsh criticism. 11:14
nothingmuch well, it's more than language tax 11:15
the issue is: 11:16
we have to work with a subpar language, with subpar tools
(slow turnaround, difficult to test, no reflection....)
the mundane tasks are hard and annoying
but they could be easy
the problem is that they have to be in C++
not because they are performance critical
but because other parts are
and the overhead of making this a two language project is even higher 11:17
for example:
code to deal with socket pooling
high level resource allocation
(i.e., delete a "connection" thingy)
all these things are about 10x as complicated as they need to be
to the point that we don't even have the resources to really optimize the life out of the performance critical code: we're bogged down with dumber bugs 11:18
integral haskell seems to manage evrything C++ can though 11:20
nothingmuch integral: i'm not sure haskell is the right thing for here 11:22
there is tons of tight loops on string ops
fudge this, binpack that, store in this structure
tons of aio
integral the trick is to use arrays, not strings. especially the unboxed arrays
beppu unboxed? 11:23
integral I suppose that's the thing, haskell replaces C++ nasties, with having to know all the different options for making your data structures
nothingmuch beppu: with no pointers and stuff
integral beppu: just the value, not a pointer to a closure returning the value
nothingmuch what i'm complaining about is not that yucky code though
frankly, C++ is the right tool for that part
at least IMO
it's easier to train people for it
it's easier to find new people to work on it
but the non core core core stuff 11:24
integral I've never understood why people found using malloc/free and debugging it to be easy :-/
nothingmuch which doesn't have to work efficiently on an 8 cpu monster, fudging 2TB of data in reasonable time
that part doesn't have to be in this messy stuff
integral: it's simply a delay mechanism 11:25
the education of industry recruits is based on the conclusions that were made 20-30 years ago
java is a direct answer to the problems of the 1980s
i don't think it's a relevant language today 11:26
it's solid, sure
beppu It's not very expressive, though.
(java, that is)
nothingmuch but there's no real reason to use that instead of e.g. C# which is much more relevant today
(and probably also won't be)
integral people don't like expressive when it makes them think rather than just pounding code continuously
nothingmuch aye
=( 11:27
lumi Java is definitely conductive to pounding code continuously
nothingmuch the problem is that pounding code continuously is considered a good thing in the industry
because you get the same output for less $$$/hour/employee
that's why outsourcing is popular
people don't realize that the communication breakdown that is a result of outsourcing is costing them triple, quadruple, etc 11:28
even without paying attention to any technical differences between the quality of the code
pmurias there's not point in useing java for personal projects thought 11:36
nothingmuch pmurias: the problem with java is: 11:37
a. it's very easy to get programmers 11:38
b. it's very easy to enforce boilerplate level "code quality standards"
this leads to it's popularity
which means that it'll be tought more, and more books will be bought
hence even more programmers
pmurias what does bolieplate level "code quality" mean? 11:39
nothingmuch enforcing stuff that is supposed to cause good quality code 11:41
but is really nothing
the issue is that you cannot force good design out of a bad designer 11:42
and the java approach is that given enough restriction
(e.g. you have to always handle exceptions... most people just rethrow them)
(need one thread per IO stream)
... given enough restriction bad design will not happen 11:43
pmurias I tried to code a project once in java, I even bought Thinking in Java... rewrote the project in JavaScript in the end :( 11:45
nothingmuch how come? 11:46
cognominal nothingmuch: managers are interested in minimizing risks. so they prefer language that guarantee a maximin (meaning a guaranteed quality for any programmer). 11:47
nothingmuch cognominal: my conjecture is that this quality is just the quality of the boilerplate 11:48
and note the real code
cognominal excellence is for marketting, not for manager.
pmurias i was allowed to choose my own language in that case
I tried doing it in Jython,Java and JavaScript 11:49
nothingmuch pmurias: did you have to use JVM or something?
cognominal I am learning javascript, It is pretty nice one you know were to find good examples and libraries 11:50
nothingmuch . o O ( Rhino compiles JS to JVM, right? )
cognominal e4x seems nice and DOM sucks
nothingmuch cognominal: javascript's bad reputation should really be attributed to DOM and it's browser implementations
pmurias i needed it to run in the browser
nothingmuch what's e4x?
cognominal its a way to inline xml.
nothingmuch ah
pmurias the worst think about js is the .clone method
nothingmuch pmurias: why?
pmurias it always gets in the way when using for (x in a) {...} 11:51
cognominal too bad that you can't maniplate the DOM tru it with firefox.
11:51 stevan joined
cognominal e4x doc says that implementation could do that... 11:51
nothingmuch pmurias: please explain
pmurias in firefox .clone is a method of every object,it's *not* inherited 11:52
for iterates over all atribiutes of an object
objects are used like hashes sometimes
in perl terms it means every hash get a 'clone' key by default,meaning you have to check for it in every while ($k,$v = each %hash) {...{ 11:53
s/{$/}/ 11:54
cognominal do you mean that the problem is that methods are part of the hash?
I don't get the problem about clone
pmurias only the clone one others, are inherited from prototype 11:55
and for doesn't iterate over the prototype
cognominal iterators suks in js. iterating over an array is such a pain. And the DOM defines a iterating method with a different name for every object :( 11:56
pmurias cognominal: how do yo iterate over an array 11:57
?
s/yo/you/
the C or for (x in y) way?
cognominal for (var i in array) { whatever( array[i] ); }
i is the indices not the value :(
pmurias you don't get clone 11:58
?
cognominal I was not talking about clone anymore.
but may be I miss something important.
pmurias i always get "clone" as on of the indices :( 11:59
maybe it's firefox specific
cognominal even for genuine arrays?
pmurias for Object's for sure if I remember correctly for Arrays also 12:00
svnbot6 r9278 | audreyt++ | * "make upload-smoke" now uploads smoke.
pmurias what browser do you use for development? 12:01
ayrnieu ?eval my @a = <1 2 3 4 5 6>; say @a[^@a.end]
12:01 evalbot_9275 is now known as evalbot_9277
evalbot_9277 OUTPUT[12345 ] bool::true 12:01
ayrnieu wait, what?
cognominal pmurias: not for genuine arrays
var a = [ 1,2,3]; for ( var i in a) { print(i) } 12:02
0
1
2
...using the javascript shell in firefox.
but I agree that there is a problem. objet and arrays looks too much alike 12:03
ayrnieu well, @a[0..@a] is what I mean, but I why don't @a[^@a] or @a[^+@a] work?
cognominal ayrnieu: what is the meaning of the prefix ^ ? 12:05
pmurias cognominal: you have lifted the curse, .clone has perished!
maybe it was the firefox upgrade
...
12:05 bsb joined
cognominal pmurias: I use firefox 1.5 12:06
ayrnieu cognominal - ^$n <=> 0..($n-1)
?eval say for ^5 12:07
12:07 evalbot_9277 is now known as evalbot_9278
evalbot_9278 OUTPUT[ ] undef 12:07
pmurias lets let the nightmare rest, I care only for compablity with the Evil Browser and the latest firefox
ayrnieu ?eval print for ^5
evalbot_9278 OUTPUT[] undef
ayrnieu somehow, this is an error... 12:08
?eval for ^5 { say $_ }
evalbot_9278 OUTPUT[0 1 2 3 4 ] undef
ayrnieu pmurias - not Opera?
pmurias it's closed source
ayrnieu unlike EB? 12:09
also, Opera is hip and stylish.
And they are doing something that Netscape considered post-IE impossible: they are making money off their web-browser. (Although not anymore their desktop version.) 12:10
pmurias ayrnieu: if Opera people contact me with a path I'll fix the incompabilty
anyway it was not in the project requirements 12:11
i was allowed no ignore Opera unless serious complaints are heard (it's a family business) - see www.yourcargo.org 12:13
it's a havily DOMmed site, and Opera is a lot diffrent in that area 12:14
with firefox one is allowed to most of the IE extension 12:15
s
cognominal pmurias: I am no sure if my browser ask for english, but I get polish by default on your site 12:17
12:17 rindolf joined
rindolf kane_: here? 12:17
cognominal and being redirecte to :8080 is weird
pmurias you can change it using the menu, the default will be changed to deutch soon anyway? 12:18
cognominal being French, I prefer English to Deutch :)
ayrnieu being redirected to :8080 isn't /weird/, just sort of unnecessary with firewall technology. 12:19
12:19 premshree_ joined
pmurias the guy responsible for our internet access didn't know how to redirect it my box without using it 12:20
French language will be supported in the next version 12:21
cognominal :) 12:22
nothingmuch 12:25
moosen
pmurias ?
lypanov hey nothingmuch
ayrnieu in OpenBSD PF, such a redirection is one line: rdr on $indev from any to any port 80 -> $webip port 8080
nothingmuch hiya lypanov
rindolf lypanov: hi
Hi nothingmuch
nothingmuch Ara4n: in IO::All...
;-)
lypanov heya rindolf!
nothingmuch hola rindolf 12:26
rindolf I'm looking for kane_
nothingmuch seen kane? 12:27
seen kane_?
seen kane_xs?
oh wait, no jabbot
anyway, those are his 3 nicks
pmurias ayrnieu: thanks, does it take the fact that a different page resides on :80 (different domain)
in mind
nothingmuch i'm not sure about _xs in terms of underscoring and whatnot
rindolf nothingmuch: /wii kane_ says he's been idle for 13:10:22 hours.
nothingmuch sounds like he went to bed slightly late for .nl time 12:28
anyway, you can also ask purl on irc.perl.org
12:38 cognominal joined 12:41 pdcawley joined 12:45 kisu joined 12:48 premshree_ joined 12:50 bsb joined 12:51 larsen joined 13:06 bsb joined 13:17 pjcj joined 13:18 wilx joined 13:24 rindolf joined 13:31 avar joined
azuroth /wii arderydd 13:32
err
what's /wii?
I see 13:33
ayrnieu BitchX-speak , or something-speak, for the one true command of /whois $foo $foo -- for clients with silly wrappers for /whois, for silly people who want to easily /whois multiple people at a time. 13:34
azuroth very strange
ayrnieu indeed. I have never once -- not even once -- desperately wanted to /whois multiple people at a time. 13:35
and demanding last-active from servers is also not very frequent. 13:36
13:43 feng123 joined 14:05 whiteg_ joined 14:07 elmex joined 14:27 beppu joined 14:38 justatheory joined 14:44 justatheory joined 14:51 putter joined
putter gaal: thanks for the code review. appreciated. 14:55
nothingmuch: re C++ project, have you considered Lua? while officially a ansi-c project (the last time I checked, but a while ago), folks periodically do a c++ mod, which is apparently only a couple of lines. at which point you have a higher level language to do the things you describe. lua's main point is to do this, living embedded, so it does it well. 14:58
14:59 nothingmuch joined
putter www.lua.org/about.html lua-users.org/wiki/ 14:59
nothingmuch: colabti.de/irclogger/irclogger_log/...l=570#l898
audreyt: any thoughts on moving src/perl6/Prelude.pm to ext/ and thus blib6/lib/Pugs/Prelude.pm ? 15:05
15:06 lisppaste3 joined
nothingmuch putter: i doubt i can make my bosses switch, but that's still interesting =) 15:08
rindolf kane_: here? 15:09
putter that's the thing, it isnt a switch, just a nice C++ library providing an api which lets you do a variety of things much more efficiently than having to code it all yourself. 15:10
;)
nothingmuch putter: it is a switch, because we have a crap load of stuff for our own
abstractions over AIO, threading, mutexes, strings, buffers, memory management 15:11
putter (maybe the social dynamics would work better if it was called liblua?:)
nothingmuch like any good inhouse ball of mud ;-)
putter lol
nothingmuch i forgot what mit license is
putter my fuzzy recollection of looking at the code is that it was nicely done 15:12
15:12 lisppaste3 joined
nothingmuch anyway, the license looks very usable 15:12
15:12 Nouk joined
nothingmuch i'll have a deeper look 15:12
but i'm skeptical that we'll use it
putter mit is bsd like ( en.wikipedia.org/wiki/MIT_License ) aka X11. vis bsd, includes "dont say you're mit/whoever" :), and doesnt include bsd's "advertising" requirement. 15:14
s/includes "dont/adds "dont/ 15:15
audreyt: wow, that was quite the odd buildfail trigger ;) 15:22
nothingmuch aye 15:24
putter hmm... and while 9275 managed to avoid breaking the ./pugs build, pil2js is not happy.
so no-one ever got around to implementing -M ? is there something like it tucked away in File::mumble somewhere? 15:26
putter wants to compare age of .yml and .pm 15:27
15:29 aufrank joined
aufrank hello all! 15:29
is anyone working on the rounding routines? 15:30
(listed in TASKS)
nothingmuch aufrank: not that I know of 15:31
aufrank ok, well, dibs :)
putter :)
nothingmuch you can rely on int to truncate the floats, if you're going to implement stuff 15:32
the article mentioned is IMHO overkill to consider, but still pretty nice
aufrank I had been doing floor(abs($x))
to truncate floats
but int is cleaner
putter there's actually a Num::truncate :)
nothingmuch round is int( $x + 0.5 ), floor is int( $x ) if float down, but I guess we want to zero 15:33
hehe
yeeeeeeeeechhhhhhhhhhh
aufrank ?? 15:34
nothingmuch my sister is having a piano concert, with all her teacher's other students
putter sneeze?
nothingmuch (rehersal now)
putter ouch
nothingmuch and she also volunteered to back up a beginner synth student
aufrank double ouch
nothingmuch who is playing a HORRID adaptation of a kleiderman "composition"
kleiderman is horrible enough on piano
buut when you add a cheap "strings" sound, with a pop beat background to the mess... 15:35
aufrank question: what's the right way to keep track of a state variable within a method? 15:36
nothingmuch what do you mean by 'state'?
instance data?
aufrank round_alternate says round towards even one time, round towards odd the next
nothingmuch oh
you can use 'state'
aufrank so I want a bool saying which to do
nothingmuch it's like static in C
sub foo {
state $x = 1; # only assigns 1 the first time
aufrank excellent
nothingmuch say $x++;
}
?eval sub foo { state $x = 1; say $x++ }; foo(); foo(); foo(); 15:37
evalbot_9278 OUTPUT[1 2 3 ] bool::true
nothingmuch (let's see if it works)
;-)
aufrank w00t!
nothingmuch aaaaaaaaaaaaaaaaaaaaaaaaaaah 15:38
this is really hurting y head
nothingmuch goes to watch BSG somewhere quiet
aufrank itunes?
nothingmuch bittorrent
aufrank I see
putter gaal: re opRequire searching - it's still needed to find the prelude. but yeah, the p6 code could take over %*INC handling and call something simpler.
nothingmuch even if i wanted to buy them i can't, apple won't accept my money 15:39
plus the resolution is prolly crummy if it's optimized for iTunes 15:40
aufrank yeah, the resolution does stink
Juerd Volunteer wanted for fixing http-ssl access to feather...
rindolf Is gaal speaking now? 15:41
nothingmuch wow, the rehhersal was over quickly
rindolf: haven't seen him all day
Juerd: yeah right ;-)
Juerd nothingmuch: Really.
putter does ghc have System.Posix on windows?
nothingmuch Juerd: i mean, no chance of getting me to volunteer 15:42
putter: nope =
=(
putter :(
nothingmuch aye, it gave gaal a hell of a time WRT trying to add some kind of read support to pugs several months ago
putter the curse of Gates. sigh. 15:46
aufrank my rounding code is getting spaghetti-y
putter you know, that "y" looks kind of like a fork. 15:47
aufrank mmm... spaghetti
rindolf nothingmuch: then why is putter addressing him?
15:47 whiteg_ is now known as whiteg
aufrank needs to do actual work 15:50
I guess I'll commit the rounding stuff later
enjoy your days, all 15:51
nothingmuch sorry, back 15:54
rindolf: because he can backlog
putter aufrank: ok. thanks for the round tuits. :) 15:55
nothingmuch rindolf: also, there is the possibility that putter will forget what he wanted to say, but that someone else would remember 15:56
lastly, it could be that putter is insane 15:57
and actually thinks that gaal *is* here
putter does pugs/p6 have something which returns the stdout contents, like `cmd args`, but has system()'s system($separate,$argu,$ments) ? 16:01
and what is this? not even one groan? how many times in the history of the universe will there be a setup to pun about _round_ tuits. sigh. 16:02
integral it's a pipe perl5's readpipe doesn't act like system
Juerd audreyt: Please do not ever, for whatever reason, disable system wide services on feather and replace them with different services, without explicit approval
audreyt: Several people actually use https, and don't expect ssh on that port. 16:03
audreyt: If in case of an emergency you really have to do this, do restore it afterwards, and please notify me by mail... 16:04
putter integral: err, objective is p6 code which says my $m = `%?CONFIG<perl5path> -e 'print join("\n",map{-M}@ARGV,"")'`; while... but maybe that's good enough. 16:05
integral yeah, I was just hinting at that since perl5 has a function form of ``, perl6 could have too, and it could be fixed to have the same features as system() 16:06
putter ahhhhhh :)
integral putter: we don't have a multi-arg open?
it's not *too* much more code to use a popen
ayrnieu q:w:x/this looks like a string, but it is actually a list, and it doesn't use a shell :D/ 16:07
putter yeah. sigh. the yak is getting bigger.
ayrnieu: :)
16:08 justatheory joined 16:09 justatheory joined
ayrnieu qwwx(as before, but "this is one argument") 16:10
integral ugh, why have a quotation/word minilanguage in q, rather than just using a normal perl list? 16:11
ayrnieu why say what I just said instead of ('as', 'before', 'but', "this is one argument") NO IDEA. 16:12
ayrnieu inserts ? as appropriate.
integral no, I mean: (<as before but>, "this is one argument")
soon you'll suggest: qqwwx(as before, but "this is one argument", { $obj.do_stuff })
ayrnieu that helps for my specific example. 16:13
putter integral: because the problem domain you care about has a couple of extra dimensions? (like non?interpolating) 16:14
ayrnieu anyway, the quotation minilanguage is already there. 16:17
integral I was more worried about adding "" into the qw part of the minilang 16:18
ayrnieu you mean, qww?
integral and inside a qw as opposed to a qqw how does "" vs. '' behave
ayrnieu that is also already there.
integral err, sure, if that's what we're calling it
oh, it is? ugh.
ayrnieu that is what S02 calls it.
also, you've noticed <> vs <<>> , yes?
integral I see lots of useful stuff is spec'ed then.
yep
that's qw vs. qqw 16:19
putter "all you need". 'oh, and this'. <and this kind of nice>. <<and then there's this>>. and unicode, and... why refactor into a dsl - sanity. ;)
ayrnieu expressivity is hard. No, wait, it's easy :-)
16:19 amnesiac joined 16:21 srcmaster joined 16:22 ajs_home joined
ayrnieu oh, I love the podstream stuff. 16:28
xerox which ones? 16:34
16:35 srcmaster is now known as uszr`
ayrnieu %POD<anything> , and @=COMMENT 16:35
16:39 vborja joined, avar joined
putter how do you do `cmd` in p6? 16:49
ayrnieu q:x// 16:50
It doesn't seem that pugs has that, yet. 16:51
nor :ww
nor other things. But nevermind. 16:52
putter (the yak grins, rolls over and crushes putter)
nnunley You are in a maze of yaks, all needing to be shaved. 16:53
16:54 uszr` is now known as srcway
putter :) www.vendian.org/mncharity/dir2/cs_maze/ I do so like that Russell quote. 16:56
szbalint mroning. 17:01
*morning
avar ayrnieu: wouldn't that be qq:x// ? 17:05
rindolf kane_: here? 17:06
avar or does q mean something different now?
putter fyi, qx/cmd/ is currently spelled {my $p = Pipe::open($cmd); my $ret = slurp($p); $p.close; $ret;} 17:15
take that, yak! :) 17:16
17:16 eric256_ joined 17:18 wilx joined
Khisanth putter: I am sure it's shivering 17:21
putter lol :) 17:22
it has dreadlocks. all it did was trim the edges a bit. 17:23
svnbot6 r9279 | eric256++ | Converted to postfix operators instead of the ` glue operator. I think now ` and `` could be aliased to feet and inches.
putter lol
eric256_ i shoulda put the file name in the message. hmmm
putter or we could tweak svnbot6 to include the file list if it is short. 17:24
eric256_ i can now do 5m + 6f in my units.p6 example ;) /me forgot how cool perl6 is going to be 17:25
putter oo, neat :)
(well, the 5m part anyway. "feet"... sigh) 17:26
eric256_ i'm trying to figure out.. is there a ft not .. what you don't like feet?
ayrnieu avar - wouldn't what be? q:x// and qq:x// are similar, yes.
putter , metric bigot
avar but `` in perl 5 is not equivalent to q:x// in perl 6 but qq:x//
because `` interpolates 17:27
I like that `` doesn't exist anymore
eric256_ i'm trying to figure out how to make a set of english units, and a set of meteric units that each convert using there own base, and then some conversion between the too.. hmm
ayrnieu avar - ah, I wasn't even thinking of perl5's ``, just the basic functionality.
putter what dimensions are you planning? LTM...? L**2?
avar actually isn't p5 `` == p6 qq:x`` ? 17:28
if one wanted to be really pedantic;)
eric256_ putter??
ayrnieu avar - yes... you already said so.
avar ayrnieu: no, I didn't
putter length, length-squared, length-cubed, mass, time, etc
ayrnieu avar - oh, you just mean the delimiter?
avar yeah 17:29
since qq:x/./configure/ wouldn't do the same thing as `./configure`
eric256_ putter: i'm more just loooking for new things to try in perl6 and less trying to make a complete units suite
ayrnieu avar - this is too pedantic for me.
putter ok. :) i'm just looking forward to the toys. 17:30
eric256_: why have each convert using their own base? 17:32
eric256_ tp maintain accuracy and as a challenge ;) 17:33
putter :)
eric256_ if i want to go from feet to inches, i don't want to have to go through a base of meters, and if i want to go from km to m i don't want to go through feet as a base, so both systems realy want to use there own base if you want to avoid rounding errors building up
putter If Prelude ends up as a new Pugs::Prelude today, it wont have anything to do with perfectly good p6 code repeatedly breaking when moved into src/perl6/Prelude.pm. Like prefix:. And regex. It wont. Really. 17:35
eric256_ lol
any ideas how i was getting that no match in do expression error last night? 17:36
putter i wasn't really clear on the error you saw. note that audreyt fixed a parser error which was breaking the bots, so maybe it works now? 17:37
eric256_ i'll remake and see 17:38
rindolf kane_: here? 17:40
17:40 larsen joined
putter eric256_: could you make the various units types, and conversion be a multi, and then just special case the few(?) convertions for which you have an exact multiplier? 17:49
eric256_ thats what i was thinking. leverage multis to provide special cases. like between unit sets, and then have a general multi that converts toBase, does math, and then reconverts fromBase to the desired units 17:51
i'll need to make a conversion method, then use that in the operator (+,-,divide) so that the math operators don't all need special overrides too. ;) 17:52
17:53 rantanplan_ joined 17:56 ruz_ joined
putter ah, right. interesting... 17:57
17:58 KingDiamond joined
gaal putter: we can certainly hardcode searchpath for Prelude, since we don't search @*INC for that anyway. 18:00
brb 18:02
putter hi gaal. 18:05
18:06 Bill_n1vux joined
gaal yo! 18:07
putter It seems src/perl6/Prelude.pm has several roles. It's trusted code (un/safe) (yes? or the whole safe/unsafe thing generally usable and cumulative?). It's stuff which gets hardwired into pugs as a fallback (hmm, why?). It's general prelude stuff. I think that's it? 18:08
gaal putter: Prelude.pm has special privs in that it can define `is builtin` 18:10
putter is unclear how the prelude doesnt end up compiled into every file and such, so it may also have a role there?
18:10 bsb joined
gaal the P6 source of src/perl6/Prelude.pm is inlined into the pugs exe 18:10
putter what exactly is 'is builtin'?
what is the objective of the inlining? 18:11
gaal *if* precomp prelude isn't found (and we should determine where it should be looked for), then the source version is used as a (slow) fallback
putter why? so a crippled pugs can be used standalone? 18:12
gaal throw an exe somewhere, it should still somewhat work, yes.
gaal looks to refresh his memory about `is builtin`
putter: if inlining the yml.gz weren't awkward to do, I'd be all for doing it. 18:13
putter so what would the Right Thing inline-wise look like? a list of module names (Math::Basic, etc) which should get the inline treatment?
Carp. etc 18:14
gaal putter: I'd say everything in a Prelude directory.
rindolf Hi gaal
gaal hello rindolf
rindolf gaal: what's up? How was the Pizza yesterday? 18:15
putter so the whole p6 prelude file/module layout gets structured around pugs
rindolf perlbot: karma gaal
perlbot Karma for gaal: 83
putter 's opinion-of-the-day about what should be in the fallback set? 18:16
rindolf You do have an infobot - perlbot
putter !!
gaal putter: in the pugs backend, the only meaining I see for `is builtin` now is in Parser.hs 349
putter looking...
gaal it's just the name of the symbol to be installed
fully qualified or not
rindolf: it was good 18:17
putter: what's the !! for?
putter: other backends may assign it more meaning though
I do remember that there's the "don't use `return`" limitation, not because of the Pugs backend. 18:18
putter :) so Prelude.pm says "dont use '*', use 'is builtin'". and Parser.hs only uses 'is builtin' to add '*'. lol
ah, right.
gaal putter: heh, I don't have a clear view of why that's that way.
now re: fallback set.. 18:19
this is exactly what Prelude means
"The standard library available to ALL Perl 6 programs"
18:19 ruz_ joined
gaal it's part of the spec. Presumably S29, or something similar. 18:19
rindolf gaal: good. 18:20
gaal Possibly PugsDesignDeer^H^H^Hoc 29, whatever
one of my selling points about the getopt library is that whoever does it really well may get it into the Prelude, if only so that pugs itself can use it for its own cmdline processing. Then, really everyone will use it. :-) 18:21
putter ok. say we dont want Prelude.pm to be enormous. and wish to keep the modules which-also-happen-to-be-in-prelude in the normal perly directory tree. how could they be sucked in at build time to create the inline thing? is inlining contagous? could src//Prelude.pm just be a bunch of use()es? or do all the files need to be catted together somehow? 18:24
gaal putter: there is a hack to cat them (but it broke with the precomp stuff) 18:25
but...
why worry about this right now
?
putter putter ponders 18:26
Bill_n1vux often putters while pondering, unless wondering while I wander 18:27
gaal putter: let's distinguish between
a. standard libraries that are availble for 'use'
b. preluded libraries that are magically available even without 'use'
putter sidebar: a file A.pm use()es B.pm. A gets ymled. B changes in some way which would affect A's parse. ... someone hand deletes A.yml? 18:28
gaal If you want to work on (a), ext/ is probably cool
whether (b) is a single file or not is not THAT important
of course it's better if we make it so that it doesn't need to be one, but it isn't critical 18:29
putter Bill_n1vux: had awesome time at a startup, where most of the floor was unrented, unwalled. beautify for pacing while thinking
gaal since as far as pugs loading is concerned, it is one unit
Bill_n1vux putter: when spring returns, I hope to do that more ... my cube is on a wharf, perfect for circumambulation. 18:30
putter right. ok, what are our objectives / forcing factors. pugs cant find the prelude when run outside it's builddir. various p6 stuff currently breaks when placed in Prelude.pm. any other immediate objectives? 18:31
avar what does ./method_name do?
gaal I knew about problem #1, but not of #2
avar ..in a class
gaal #1 is trivial to fix in terms of coding, but it's a spec issue
avar: the same as self.method 18:32
avar: only I think it's not official this week
avar doesn't like it
./ by anology with the shell?
gaal avar: there was a mile long thread about it. please don't revive it :-)
18:33 Nouk joined
putter I guess I creeped into #1 because one obvious approach would be to use the normal @INC mechanism with the "current" new task/system of doing auto yml precomp caching. 18:33
avar gaal: on p6l? 18:34
called what?
gaal putter: no, general caching is important but just an optimization (hey, p5 doesn't have it). prelude is mission critical
avar (./ is a lousy search term)
putter #2 I just hit (again), finding I couldn't do prefix:<-M> in Prelude.pm, and my regexs all start failing.
gaal avar: yeah, sorry, don't remember. I wonder if I can sort threads by total message per thread, it'd be one of the top ten in the past year :-) 18:35
putter: oh! do you know why?
putter Ok, so there are a cluster of 3 things - an immediate problem/bug (pugs cant find prelude); a new precomp capability being built; and prelude development about to kick off again, resulting substantial change/growth. 18:36
s/are a cluster/is a cluster/
gaal putter: if you feel pcp not being found is a downer for you let's make a makeshift 18:37
putter re why?, no idea.
gaal it's really easy to change later. (really it is:)
18:37 netprogrammer joined
gaal or better: 18:37
let's throw some ideas for where it should be, and decide now. 18:38
gaal looks at pugs -V
sitelib? 18:39
putter I think I was hoping we could get directly to "pugs can find itself" + "there is a single precomp mechanism used for everything" + "precomp, or its unreliable presence, ceases to be an obstacle to prelude development".
where _what_ should be?? 18:40
gaal putter: since prelude isn't loaded like a regular module, it can't be handled with the regular cache
putter: precomp prelude.
putter why isnt it loaded like a regular module?
gaal putter: it gets stuffed into the env before everything else 18:41
see Run.hs.. sec
line 177
heh, the comment there is no longer true, fixing
putter so there are two concepts there, "stuffed into the env" and "before everything else". seen Run. didn't quite understand why it was implementing stuff also appearing in Prim/Eval. 18:42
gaal the point is that prepareEnv wants to give an env that has Prelude functions in it.
what stuff, `require` and `use`?
putter right. so, for example, I briefly had a non-functional-non-typechecking version of prepare which... I think it called parse and then grabbed the global env? with the oops of I should have run rather than parse maybe? 18:43
18:43 netprogrammer left
gaal that's a recent addition: because the cache manager can be written either in haskell or in perl 6, and it was my idea|fault|belief that writing the cache manager in perl would be more whipuptible 18:43
putter has to learn to not start high-latency notes with yes/no/right/etc.
gaal putter: wanna skype? 18:44
putter lack capability :(
gaal okay I'll try summarizing then: 18:45
1. every "reasonable" Perl environment "deserves" the functions in the Prelude.
putter :)
gaal 2. We want precompilation, for performance 18:46
nothingmuch ... and semantics
gaal 3. We have to implement precompilation somewhere -- we have teh haskell fu, but maybe doing it in Perl is nicer
putter adds "and semantics" to the list of things to get back to after gaal finishes his list
gaal ehhh, @point<3> ~~ s/precompilation/cache manager/ 18:47
so, if #3 obtains, we have a seeming bootstraping problem since you want Prelude to always be available
that's why it's obvious to me that it's fine to hardcode the search for the prelude 18:48
putter it seems the list so far doesnt include the whole inlining thing.
gaal OTOH, the cache manager *will* need to be chummy with the internals, since it has to so something like intercept `use`, see that a cached version of a module isn't available yet, get it parsed, emit the precomp, and excercise whatever internals API to merge envs back to the current running program 18:50
so it may be simpler to write in Prim.Eval despite my original ideas.
I'm not sold on either way, really
putter In the _absence_ of inlining, the obvious thing would be Pugs::Prelude.pm in @INC, with .ymling normal, but perhaps restricted, and pugs .hs with just enough smarts to find and load it.
gaal as for inlining:
we must have it. :) 18:51
I feel pretty strongly about this, really. I want pugs-the-exe to be useful.
putter I don't disagree. my point is... 18:52
all the objectives are not ending up on the table at the same time, and we're not being clear about which of them introduce which design contraints, which are driving our design of all. at least in my poor brain, its still all an opaque ball of mud at this point. ;) 18:53
gaal okay let's see how to unblock you 18:54
is searching for precomp prelude in @*INC good enough? 18:55
I get the niggling feeling that no, you need to detect if you're running in a build tree 18:56
putter can we please use different vocabulary for the yml'ing and the inline'ing.
gaal but I've been known to have bogus niggles
putter rather than both being precomp.
gaal er no, the inlined version is not precompiled
putter precomp == .yml'ized? 18:57
gaal it's real source p6 code that's a constant haskell function returning a string
yes
if it were possible to inline a precompiled version, we woulnd't need this discussion :)
putter so the inline prelude gets compiled into pugs. err, what is pugs not finding when run from random places? 18:58
gaal the ymlized version of Prelude.pm
putter when pugs is run from random places, it cant find the ymlized Prelude.pm, and falls back to a slower, compiled in inline Prelude.pm. 18:59
yes?
gaal yes
the confusing teminology was that "compiled in inline Prelude.pm" was p6 source
you know what 19:00
let's make it simple
putter when a user use()s Foo, pugs will search for a ymlized Foo.pm. why isnt the search for ymlized Prelude.pm using the same mechanism?
19:00 Shachaf joined
gaal yeah 19:00
let's just do that.
it's a different code path, but sure 19:01
Run.hs:243 has the comment "XXX: search path" 19:02
19:03 FurnaceBoy joined
gaal and this should not be named PreludePC.yml; changing that to Prelude.yml[.gz]? will reduce bogosity 19:03
I'll change it so it goes in blib6/lib and that's it. 19:04
putter Yeah. I briefly had a hack which just ++'ed "use Pugs::Prelude;" to the string in each call to prepareEnv/tabularasa. thus using the Prim/Eval search path / loading code. this with an empty src/perl6/Prelude.pm. for the short time I played with it, it at least pretended to work...
gaal okay. fixing this now then. 19:06
Juerd Though shalt not have hacks without comments :P
putter that's not right, I'm confused. everywhere in Pugs.pm, where prepareEnv/etc is used, eg 19:07
for parseProgram, I slapped on the new leading use().
Juerd You'll eventually get used to the confusion thing.
putter if only it didnt keep growing... 19:08
Juerd I've been confused ever since autrijus asked me to test one of the first editions of Pugs...
putter :)
but that obviously broke inlining. pugs would fail if it didnt find the prelude. 19:09
gaal putter: only thing I don't understand is why Pugs::Prelude? 19:10
(ie and not Prelude)
putter thinking pil2js etc would like to share stuff if possible. 19:11
gaal point. 19:12
brb # need some dinner
putter ok. note re blib6/lib (neat idea), that
pugs cant currently find blib6/lib without -Iblib6/lib. so pugs is still slow unless you tell it where to find its universe. 19:13
indeed, unless blib6/lib gets added to @INC, ./pugs in builddir would use the inline unless told -Iblib6/lib. 19:14
so it would be slower. no sure what to do about that.
hey, config has it's build path. if cwd == path, ... 19:15
or not
gaal putter: but that's actually correct: unless your pugs is installed, you need to either PER6LIB or the equivalent -I anyway, for Test.pm etc 19:18
putter wonders "if ymled files become important to pugs, but pure .yml is too big and .yml.z is really needed, for some value of .z, shouldn't pugs have built-in .z support, just like it has builtin .yml support...?" 19:19
gaal so, I'm actually reusing the search function from Prim.Eval, which is good
putter, indeed
and it's a problem 19:20
integral has anyone though of versioning of pugs wrt .yml files? eg. when to regenerate them, or store them in versioned directories
gaal because from-z is easy (MissingH, bsb++)
but to-z you may need to hack via p5
integral: nothingmuch has a good design
integral yay! I just hadn't heard it mentioned :)
gaal though it doesn't actually cover any policy for managing cache sizes for different versions 19:21
Juerd putter: Ehh... Pugs has many requirements; one more is no issue, I think. 19:22
gaal I think we get to worry about that later :)
putter lol :)
gaal Juerd: in fact pugs has very few requirements
Juerd Oh.
gaal Juerd: Perl 5.6.1, unancient EU::MM, GHC. 19:23
Juerd Then still I think adding one isn't an issue, but for other reasons :)
gaal If you want smokes, there's some more, but that's really optional.
Juerd Ah
19:24 Khisanth joined
gaal Juerd: on some platform which you don't like, zlib may not be trivial to install 19:24
so there's the option of bundling
Juerd I hate that platform.
gaal zlib isn't very large, nor encumbered by an annoying license, but still, bundling is kinda annoying 19:25
Juerd: we're still going to support it though. :)
Juerd Why? :)
putter :) use Test.pm; baseline (from .pm), 20sec. yml'ize and load, 14sec. load existing yml, 4sec. pugs -e 'say 3' for floor, 2sec. :) nice job gaal etal.
gaal I'm not going to answer that. :)
Juerd Linux can run as an application on that platform
gaal Juerd: no way you're getting me into this discussion now :) 19:26
Juerd Really?
Could we schedule it for later then? 19:27
gaal Juerd: sure, but you have to buy me a beer.
Juerd gaal: Okay :) 19:28
gaal putter: yay! :) et al did include some other people...
integral we could be really cool and write a gz impl in p6 :-P 19:29
gaal integral: don't think I didn't consider that :)
but it has to be, like, fast
Juerd integral: re system and ``, isn't a flag for system() better?
integral waves his hands around a bit, and mentions parrot 19:30
Juerd: to make system into ``?
Juerd integral: parse error
gaal waves back and mentions MissingH
integral Juerd: a flag for system() that makes system into ``?
Juerd integral: Yes. 19:31
integral I don't really like that because I see `` as more a wrapper around a open F, "foo|" than around what system does 19:32
Juerd I see both as wrapping around open.
integral Juerd: ugh? system wrapping around open?!
Juerd Sure?
19:33 FurnaceBoy_ joined
integral maybe I'm just thinking too unixy, but open implies some use of a filehandle, and in this case a pipe(), and so something wrapping open, and then throwing away my defining characteristic of open? 19:33
rindolf kane_: here?
Juerd integral: It's both fork+exec, anyway... 19:34
integral Juerd: hmm, I don't actually see how to write system() in terms in open() in pure p6 19:35
Juerd Neither do I. 19:36
Regardless, that's the way I've been seeing system :)
And I see open as a wrapper around fork+exec+pipe
19:37 mako132_ joined
svnbot6 r9280 | putter++ | Prelude.pm: use/require: Check that .pm.yml is more recent than .pm. And some code cleanup (gaal++). 19:37
r9280 | putter++ | Prelude.pm: created prefix_M, to get file modification time. Calling it prefix:<-M> doesnt work in Prelude.pm. :( Calls an external perl5. :( Under unix, it would be better to use ghc's Sys.Posix.Files.modificationTime. See Compat.hs, and op0 "time" in Prim.hs. But it doesnt work on windows.
integral hmm, if a FileHandle does Array, and open returns a FileHandle, @lines = `foo` === @lines = open "-|", "foo"
nothingmuch so, i'm going to write my CV and I want some advice 19:42
since i've never done anything of the sort
rindolf nothingmuch: shoot
nothingmuch what actually goes in there?
i know:
short bio
what I learned 19:43
what i've been paid to do
what else?
rindolf nothingmuch: open source projects
integral don't make it too long
nothingmuch ofcourse
rindolf nothingmuch: fields of expertise
nothingmuch integral: so brain dumping everything I can do well is not a good idea?
rindolf nothingmuch: you can look at mine: www.shlomifish.org/me/resumes/
nothingmuch tries to relearn latex 19:44
integral nothingmuch: depends, if you have a lot of stuff, I'd target it towards the specific job you want
nothingmuch integral: aha...
makes sense, i gues
s
putter where did the name "blib6/lib" come from? 19:47
rindolf nothingmuch: shouldn't you use HTML for your resumƩ?
19:47 Arathorn joined
nothingmuch rindolf: latex -> pdf == prints well 19:47
i can dumb it down to pod, too
integral putter: perl5 uses blib/lib
nothingmuch or i can make it htmlish
rindolf nothingmuch: you can convert HTML to LaTeX. 19:48
nothingmuch i know
rindolf nothingmuch: you can also convert HTML to Word.
nothingmuch but that direction doesn't work well
word is an editing format, not a presentation format.... and i hate editing in it
i can export from anything to word nowadays
integral rindolf: just turn the DVI into pngs and paste those into words
s/s$//
Juerd Why Word? Use Word Perfect 19:49
It's better. Actually, it's perfect.
hence the name!
nothingmuch what is it?
rindolf Juerd: because the whole world and his mother uses Word and sometimes expects documents in this format.
nothingmuch: Word Perfect?
nothingmuch yes
rindolf nothingmuch: it's a word processor.
nothingmuch that much i couldn't have guessed on my own ;-) 19:50
gaal nothingmuch: use whatever formatting tool you want. always make a cover letter for the specific place you're applying to. always try to send your resume in via a person who isn't from HR.
putter integral: ah, thanks. didnt see it in the random p5 dir I had at hand, but was confused, and think it's unbuilt.
Juerd rindolf: If someone wants me to use Word, even after I explain the issue with that, I don't want to work for them.
nothingmuch gaal: makes sense
rindolf Juerd: you can use OOo to save as word.
integral putter: yeah. the build process assembles all the files to install into blib, and make install simply copies things from blib
gaal re: short or long, it depends on the culture. for .il 1-2 pages is good. 19:51
Juerd rindolf: There are many good reasons to refuse to do so.
integral and don't put anything important in small print on page 2
gaal there are excellent resources for this stuff online
Juerd rindolf: And in fact, most of the time in practice, PDF suffices.
rindolf Juerd: "Reality, to be conquered, must be obeyed"
Juerd rindolf: Reality must be changed if it's wrong. 19:52
19:52 sapper joined
gaal the best tip I can give is be ready to customize per application. 19:52
Juerd rindolf: I am in the position to say no, and use it.
rindolf Juerd: "Reality, to be changed, must be obeyed"
19:52 luqui joined
Juerd rindolf: Reality isn't Word, you know. 19:52
gaal yo luqui!
19:52 luqui left
gaal oy, luqui :( 19:53
Juerd rindolf: Reality is that they may expect this, but never because it's *needed*.
putter lol
gaal goes back to hacking
rindolf Juerd: Reality isn't Word, but Word is reality.
Juerd I have sent out several CDs with OpenOffice.org, and people like that.
They can install OOo and edit my document, if they must edit it, and that way, the layout and contents aren't fucked up at each revision.
eric256_ is there a meta method to get the name of the class of an object? 19:54
Juerd I cannot install their Word crap as easily, because it'd cost be a big bag of cash to get Microsoft Office, the required Microsoft Windows, and the time to install all of that.
rindolf Juerd: resumes are meant to be read, not change.
Juerd rindolf: Right, so PDF suffices.
rindolf Juerd: assuming the intended recipient can grok PDF.
Juerd If they must have a resume in Word's .DOC, then perhaps they'll never have real geeks working for them. 19:55
rindolf I'm sending my resume as HTML.
Juerd rindolf: They can.
rindolf Albeit someone requested a document in word format because he couldn't open the HTML one. Maybe the XML declaration (<? ... ?>) caused him trouble. 19:56
eric256_ or maybe he tried opening it in word
lol
integral rindolf: HTML doesn't have an XML declaration.
nothingmuch luqui? is that really you? 19:57
rindolf integral: I meant XHTML.
nothingmuch oh crap, just a shadow
integral prefers HTML 4.01 or lower still
rindolf integral: HTML 1.0 19:58
Bill_n1vux One of the Word *.DOC formats is actually RTF with a preamble. Safe and portable. 19:59
20:00 vel joined
rindolf I like DocBook/XML for serious documentation. 20:00
I wrote some stories and essays in DocBook/XML. 20:01
integral the toolchains aren't very solid for that though IMHO
eric256_ if i have classes that are derived from other classes.. i.e. distance is unit; if i multi sub *infix:<+> for a combination of 2 units, and a combination of a types distance, shouldn't the distance one be called when used with objects of type distance even though they are of type unit as well? /me hopes that made since
rindolf Too bad DocBook/XML has poor Bi-directionality support.
putter how does one get the pugs' C-level argv[0]? ie, the path of the pugs executable. (not %?CONFIG<pugspath>, which is just where it thinks it should eventually be installed.) 20:02
FurnaceBoy_ <Bill_n1vux>One of the Word *.DOC formats is actually RTF with a preamble. Safe and portable. 20:03
why not just use rtf then?
gaal putter: $*PROGRAM_NAME ?
oh, not p5 $0, p5 FindBin. 20:04
dunno, sorry.
Juerd eric256_: Always, the most specific type should be preferred in mmd. 20:06
putter np. ah well. I was enamored of the idea that pugs could check it argv[0], and if it was different than %?CONFIG<pugspath>, it would basically know it was being run out of its development dir, and could automagically push devdir/blib6/lib onto its @INC... make life easier.
Juerd eric256_: It can be first-defined in a static language, but we don't have the luxury of such laziness.
gaal putter: I don't want to send you off on a wild moose chase, but I seem to remember there was some sort of compatibility thing with argv[0] 20:07
putter there are all sorts of nasty hairy fanged compatibility things with argv[0] :) 20:08
sigh. oh well. 20:09
eric256_ juerd: pugs doesn't seem to be behaving that way, gtg for now, but i'll see if i can't narrow it down to a good test case later 20:10
rindolf gaal: I see you're editing wiki.osdc.org.il 20:12
gaal: are you subscribed to its RSS feed?
Juerd eric256_: By the way - welcome back
putter Ok, so use/require are doing .yml stuff. gaal's working on making the ymlized (that keeps sounding like carmelized and making me hungry) Prelude.pm. which will keep its existing inline mechanism. then, using the new wizzy ymlized Prelude, putter will dump all sorts of new cruft into Prelude.pm, rendering the inline version unusable due to enormous startup latency. sounds like a plan. 20:13
gaal putter: the inlined version shouldn't ever be needed anyway. except once every build. 20:15
rindolf: no.
rindolf gaal: OK. 20:16
20:17 blm_ joined
gaal ponders a "pugs --emit-precompiled-prelude" option 20:17
putter gaal: why is it needed once per build?
gaal putter: because presumably you need Prelude to run pugs -CParse-YAML Prelude.pm 20:18
actually
if that's not the case...
you've just shaved off some time in the build! :)
(because of BYPASS_PRELUDE or whatevr it's called)
putter :) 20:20
gaal
.oO( or do we already bypass the prelude so that the preluded env doesn't get in the way of the one being compiled+emitted? I'm not sure )
20:21
putter re --emit-precompiled-prelude, if precompiled == yml, please no. ;)
putter goes back to read that .oO again.. for the third time... ;) 20:22
20:28 jisom joined
putter "Hey, Juerd", putter wispers, "what parts of the pugs Big Picture have _you_ heard of?". 20:30
Juerd putter: Referring to what? :) 20:32
putter gaal is making ymlized Prelude.pm work. That will permit lots of random p6 to be dumped there (apropos writing all the p6 parts of p6), and permit Prim.hs stuff to be either reimplemented in p6, or at least renamed to Pugs::Internals::mumble (for p6 in p6, and for minimized-Prim for PIL^N). let's see... 20:33
Juerd: trying to assemble a picture of status. STATUS even ;) 20:34
rindolf gaal: what is the Takahashi style of presentation? 20:35
Juerd putter: The big picture is to do everything :)
rindolf: Get a life and visit some social events ;)
putter stevan is... thinking about efficient p6 objects on p5??? thinking other object-y thoughts???
Juerd My battery will die soon 20:36
Good night everyone
Or s/night/{ localtime }/
integral hmm, the dates in STATUS still mostly read 2005 :-(
night Juerd !
putter the status of the p6 oo model is... in limbo awaiting the forcing factor of p5 or piln implementation???
good night Juerd &
err, s/&/*wave*/ 20:37
on regexes and parsing... it looks like fglock could use help dumping Lexer/Parser.hs to p6 rules (giving us both a (nondynamic) p6 rules grammar for p6, and giving his iteration_engine a chance to attempt parsing of p6 code). 20:40
rindolf gaal: that's OK, found it by a Google search. It's not on wikipedia yet. 20:41
gaal found what? oh, sorry, missed your previous question
wolverian takahashi method is on wikipedia 20:42
rindolf kane_: here?
gaal rindolf: just send him an email? 20:43
rindolf gaal: I'd like to talk to him in real time. 20:44
putter bbiab
20:56 uszr` joined 20:57 mako132_ joined
gaal what's the converse of basename? 20:58
er, that is, $pathname =~ s,(.*)/,, only not bogus
$pathname =~ s,(.*)/,$1,
argh. 20:59
$pathname =~ s,(.*)/.*,$1,
only still not bogus :)
File::Basename::dirname, thanks :) 21:00
21:01 samhain1138 joined
avar gaal: np 21:04
21:06 penk joined 21:08 ghenry joined
putter :) 21:09
azuroth put put putter 21:10
21:11 sapper joined, SamB joined
gaal fixed. putter++ 21:15
svnbot6 r9281 | gaal++ | * Rationalize search of precompiled Prelude: now via @*INC. putter++ 21:16
r9281 | gaal++ | * Generate it in blib6/lib/Prelude.pm.yml, not src/Pugs/PreludePC.yml
r9281 | gaal++ | * Fix two stray "/" to file_sep
r9281 | gaal++ | * TODO: gzip portably (see comment in util/build_pugs.pl)
r9280 | putter++ | Prelude.pm: use/require: Check that .pm.yml is more recent than .pm. And some code cleanup (gaal++).
r9280 | putter++ | Prelude.pm: created prefix_M, to get file modification time. Calling it prefix:<-M> doesnt work in Prelude.pm. :( Calls an external perl5. :( Under unix, it would be better to use ghc's Sys.Posix.Files.modificationTime. See Compat.hs, and op0 "time" in Prim.hs. But it doesnt work on windows.
putter woot!
and svnbot is having flashbacks again ;) 21:17
gaal so, everyone gets fast prelude as long as they set @*INC properly, just as they would for (say) Test.pm 21:18
this also solves the installation question, I suppose.
putter right. I still wish there was a way to finesse that (as I usually dont so set, and always find it a bit annoying)...
gaal you don't what?
putter re installation, right, and who get's to be the first guinne pig :) 21:19
gaal not I, I get to sleep now I think
putter -Iblib6/lib
good night gaal++. thanks for the fun new fish.
gaal I thought the new fish was ready a week ago.. I suppose it's the little things that count 21:20
putter oh, hmm, 21:21
it's an incrementally emergent fish ? 21:22
gaal putter: before I go to bed, there was one quesiton for you.. was the concern about separate files just good coding practice / convenience or did you have a plan for reusable prelude somehow?
putter works! yay.
gaal wheeee
putter hmmm 21:23
a blurry combination of the two?
21:23 Bill_n1vux left
gaal #2 implies you had an inkling of a plan :)( 21:23
putter I like the model of alternate backends being 21:24
almost entirely p6-based, with just a few subs/methods overwritten.
but whether that's one file or many, doesnt really matter for now.
I think it was just me groping my way blindly through design space. 21:25
21:25 FurnaceBoy_ is now known as FurnaceBoy
azuroth FurnaceBoy, FurnaceBoy, fur fur fur fur FurnaceBoy 21:26
gaal hands out fluffy, toe-protecting socks for all gropers
putter thanks! ooo, blood absorbant too - great :)
FurnaceBoy greets azuroth similarly
azuroth :D 21:27
putter if we had a working p6 parser on p5 (hmm, maybe we do re i_e), i'd be trying to pour code into it.
starting with a prelude
FurnaceBoy why not an Accord?
FurnaceBoy ducks. the coffee's working. :)
putter or now that parse-yaml demonstrably works, perhaps we could do a p5 backend for that. yaml on p5 isnt broken anymore, yes? 21:28
gaal putter: use YAML::Syck and it's even very fast :) 21:29
putter :)
I guess this is one of those "you're in a room with many doors" situation. there's 21:30
gaal what's a p5 backend for parse-yaml though? 21:32
putter expand Prelude.pm, p5 backend for Parse-YAML, Lexer/Parser.hs -> rules, pure p5 regexp-hook extendability, iterator_engine, (pause)
gaal my turn to gropw
e
putter p5 implementation of p6 which starts from the parse-yaml rather than known-to-be-insufficient(persistantly) pilX. 21:33
stevan pilX is dead,.. long live pilX
putter lol
hi stevan :)
stevan heya putter
gaal yo stevan
stevan howdy gaal 21:34
putter Prelude.pm is in blib6/lib, and yml-ized! :)
stevan eak! I am so behind on pugs these days
gaal putter: parse-yaml is just a way to serialize ASTs (and globs)
stevan this week though, I will hopefully be able to jump back in
putter right. yaml->p5 objects(?) ast =>p5-based-compiler=> p6 ast? =>p5emitter=> something stevan helps write:) 21:35
stevan putter, gaal: so where is the state of the spike these days? 21:36
gaal putter: ah, so that lets you proceed w/o needing to write a parser yet 21:37
putter which is just PIL-Run, but for the ast's and the p5-based-compiler part..
gaal I think I see
putter yes
21:37 Limbic_Region joined
putter and hopefully get more people involved, it being p5 and all. not sure if I completely buy that argument though. 21:37
gaal putter: okay, experimnet with 'pugs -CParse-YAML -e 'if 42 { say "moose" }'
currently the output of parse-yaml is a 2-tuple 21:38
(glob, ast)
but do note that we plan on adding some metadata, because we want this to be an extensible bytecode format
azuroth blasts off. bye all 21:40
gaal okay, i'd really better sleep now. good night :)
putter yes. eep, I notice the absence of a version number :) "Church of the version number - principle and only teaching - all protocols shalt have a version number"
21:40 DesreveR joined
putter good night gaal 21:40
'twas fun 21:41
stevan: re spike,
gaal putter: if you can thing of other things that need putting there, please tell
also how to generate version nubmers :)
zzZ&
putter will do :)
oh, that's version numbers in the protocol-version-number sense. sortof doesnt matter how they get done, as long as they are there as a hook. 21:42
s/in the/as in the/ 21:43
so the dump format can evolve
re spike, fglock has been making progress - see misc/pX/Common/iterator...prelude 21:44
I futzed around a bit, and have a partially cleaned up version of the regex part of the spike, but got bogged down in operator precedence parser land. 21:45
stevan yeah I have seen all fglocks commits, and his announcement on p6a 21:46
putter wandered off and played with some of perl5's hooks to intercept regexp creation/use, which together with source filters and the rest, might just barely be sufficient to pull off p6-like regexs, transparently, on p5-writen-by-humans. but not quite I think. 21:47
jisom why not just use PGE for p6 regexes?
stevan jisom: because that requires hooking into Parrot, putter is talking about a p5 engine 21:48
jisom ok...
putter there hasn't been much interest in the spike, so with the "spike" pressure gone, and fglock puttering along and even getting some assistance from folks, my spike-focus has largely been absent. :(
21:48 mauke_ joined
stevan putter: well this week audreyt is going to be hangin with leo, and working out the Parrot objectspace 21:49
I told them I would try to be around
putter oh, nifty
stevan maybe you can divert your focus and work with me on PIR hell :)
putter if we can get objects disambiguated a bit, that would be great 21:50
stevan *cough* I mean PIR funland
putter: I have some thoughts coming out of Class::MOP about how to clean some of the fuzzier bits of the metamodel
putter yeah, funland. been there, done that, just so not going to happen.
stevan mostly they center around a more fully realized set of attribute and method objects
LOL 21:51
putter is Array a class? yes, of course. is a role too? are all classes roles too? putter looks confused. 21:52
s/is a role/is it a role/
stevan oh no,.. not that again :P
putter magically given a working p6 from the future, I'm still not at the point where I could sit down and write a p6 implementation. 21:53
which kind of sucks, because the way I want to write a p5 implementation, is to sit down and write a p6 one, and fill in the missing bits.
stevan you want to implement p5 in p6 :P 21:56
Limbic_Region oh - in case anyone is interested - running the most basic p6 code in Pugs now takes 10 seconds on my Win32 build
jisom go for a challenge, implement parrot in p6 and get p6 running on p5 and if ponie gets finished you can get p5 running on parrot
putter after pilrun's "oh, that's *cute*", my thoughts go more towards "oh, what new ways can I think of to abuse the symbol table and to reduce p5 opcode counts so I can do p6 on close to bare p5/xs metal, and waste my life in premature optimization", than to "oo, objects, let's abstract, and work for correctness, even though there is no spec". 21:57
ok, I'm getting grumpy. :) time for some sugar-water.
FurnaceBoy what attractive alternatives !!
putter re implement p5 in p6, oh, meant p6 implemented in p5.
Limbic_Region: did you say -Iblib6/lib ? 21:58
jisom yeah, I know....but....nm
Limbic_Region putter - no, but should I? 21:59
putter Limbic_Region: the compiled version of the Prelude.pm is now in blib6/lib, and looked for in @INC. if it's not found, you get the slow fallback (the same one you were earlier getting by running pugs outside of the builddir) 22:00
near term at least, the fallback (compiled into pugs itself) is going to get nothing but slower.
svnbot6 r9282 | pmurias++ | less awkward way of declearing nodes 22:01
22:01 uszr_ joined
Limbic_Region putter - I wasn't running pugs outside the builddir 22:01
ever
putter ah, i'm confused, some were, and seeing slowness. now you get to too. 22:02
Limbic_Region ok - so what is a full snippet of what I should try from the command line
assuming I am in the directory I built pugs
putter ./pugs -Iblib6/lib whatever
Limbic_Region Win32 - slashes go the other way
putter :) 22:03
jisom MacOS 9 and below, no slashes at all
Limbic_Region pugs: -blib\lib: openFile: does not exist (No such file or directory)
errr
putter ;)
Limbic_Region that's a strange error
but that's what happens 22:04
putter you forgot the -I ?
Limbic_Region no
.\pugs -lblib\lib balls.p6
and fwiw - it is now twice as slow as it was yesterday
putter do you ever run test files directly? how do you point at Test.pm? 22:05
Limbic_Region interesting
Limbic_Region hasn't run the test suite in some time because of how S-L-O-W it is
but
putter re twice, should be more than that if you're seen the fallback
Limbic_Region .\pugs -l blib\lib balls.p6
pugs: blib\lib: openFile: permission denied (Permission denied) 22:06
new error
just put a space between -l and blib
LeTo Limbic_Region: 'I' captiatl I
and blib6/lib '6'
putter LeTo++
Limbic_Region pugs: -Lblib\lib: openFile: does not exist (No such file or directory) 22:07
LeTo *I*
putter no, "I" as in India, and blib6 as in this is p6.
Limbic_Region huh include
not lib
heh
let me try this again 22:08
ok - no errors, still taking circa 10 seconds
LeTo is running svnbot for parrot with: pugs -Iblib6/lib ../svnbot.p6
...
it just works ;) 22:09
Limbic_Region ok
10 seconds without the blib6\lib
and 5 seconds with
putter Limbic_Region: so you have a recent snapshot, you did make (the precompiled prelude gets done at build time), and...
LeTo and it's starting slow - definitely yes
Limbic_Region putter - I always do nmake realclean; svn up; perl Makefile.PL; nmake 22:10
putter ls -l blib6/lib/Pugs says?
LeTo I'm running it on feather with the publically available pugs (however that is built)
Limbic_Region you mean dir
There is no Pugs directory under blib6\lib 22:11
putter oh, I guess it's ls -l blib6/lib/Prelude.pm.yml
Limbic_Region there is however a blib\lib\pugs (no 6)
1,324,514 bytes built at 4:53PM localtime today 22:12
putter oh, fribble. one sec.
no, never mind. hmm 22:13
could you time -e 'say 3' and -e 'use Test;' ?
Limbic_Region so as I said with -Iblib6\lib it takes 5 seconds (same as yesterday) and without it takes circa 10 22:14
yep
putter ah, ok. so modulo needing -I , you are back to normal. yes?
so now the payoff.
Limbic_Region compiling test
that blew up 22:15
I can nopaste the error if you want
well - for some definition of normal
putter if you make blib6/lib/Test.pm writable, you will get a precompiled Test.pm.yml created for you.
Limbic_Region it had been only around 1 second not too long ago
it is writeable
this is a winbugs box
unless you specifically change it to read-only or change the acls for permissions - it is writeable 22:16
putter re 1 sec, hmm, dont know what's up with that.
Limbic_Region ooh wait
that's weird
it isn't writeable
putter blib6 is the directory tree set up for install to copy from. 22:17
22:17 Steve_p joined
Limbic_Region right - but by default files created on Win32 are not read-only 22:17
ok putter - it blew up again - different error
putter until nothingmuch gets to it, right now the caching is extremely dumb. if the .pm file is writable, create a .pm.yml when it is use()d. 22:18
Limbic_Region ok - well I just did a global change of read-only status 22:19
neato
that made things extremely fast
as in about 2 seconds now
putter :) 22:20
Limbic_Region I did it on the entire Pugs build directory
making stuff read-only out of the repository violates the principal of least suprise IMO 22:21
putter (making things writable in /usr/local/ allows violating a lot more than that ;) 22:22
oh, windows, I keep forgetting. single-user os.
;)
Limbic_Region putter - not at all
on a *nix box the system/user should have a sane umask 22:23
and for those files that need to have the umask overridden the install process should specifically set them
and on Windows a similar thing can be done
putter my understanding is perl uses a two step install process so you can run perl without having to install, using the blib assembled from all the assorted sources in the build. 22:26
avar putter: of course, just like nearly any other program 22:27
Limbic_Region I won't pretend to understand any of the build process - cause I don't 22:28
but when I download stuff - I do not expect it to change file permissions indiscrimanently (regardless of OS)
Limbic_Region starts a fresh build with everything globally writeable 22:29
putter LR: err, build as in make? which will create blib6 with aforementioned non-writableness? 22:31
Limbic_Region putter - yes, wanting to verify what files get changed
since I didn't do a good job the first time at trying to isolate the whackiness 22:32
putter ah 22:33
22:33 handon joined, handon is now known as vborja
Limbic_Region putter - my real goal is to find just the necessary files needed to make things run fast 22:35
putter :)
Limbic_Region and < 2 seconds is pretty fast considering it was 5-10 before
putter precompiling Test has a similar impact on it 22:36
Limbic_Region on the test suite 22:37
which I don't run
putter precompiling and loading is actually faster than just a straight load of the .pm .
ah
Limbic_Region oh, and fwiw unless the global change fixed something else - I am getting failures compiling Test.pm
putter stevan: ping? 22:38
sigh. before last night too?
actually, even if I punt, the next question anyone pursuing it will have is "could you paste the error message(s)"... so... ;) 22:39
22:41 nothingmuch joined
putter stevan: sorry I got distracted. I'd be interested in hearing what you are going to be up to, and discussing what to do next. 22:41
nothingmuch: ? 22:42
nothingmuch: so, the precompiling hook is in... have fun :)
ok, I'm wiped. dinner & 22:45
22:47 nothingmuch joined
putter gaal: just in case it was audreyt who fixed it and not you, note that pugs -e 'use Test;' now works. 22:58
nothingmuch: ping?
(re now works, though note Limbic_Region's reports of difficulties on Win32 above)
Limbic_Region which I am going to try and isolate 23:00
AFAIK, pugs -e "use Test;" does not work on Win32
Limbic_Region is almost done with a clean build to investigate 23:01
nothingmuch putter: pong
putter hi nothingmuch. the use/require precomp hook is in, so I think I'm clear. feel free to bash it about any way you like. 23:04
nothingmuch putter: okay
self.punt(*@all);
putter :)
nothingmuch i need to switch jobs first
i realized that I'm unhappy
putter back. was wondering why your starting a job search was making me think of burned chicken. then realized. still edible. 23:06
Limbic_Region ok - for pugs -e "use Test;" to work on MY win32 build, I need to make blib6\lib\Test.pm writeable and use pugs -Iblib6\lib -e "use Test;"
23:07 blm_ is now known as blm
putter do you have a feel for how long it will take you? ie, is it "have offers, choose one, go"? or "trying to find water in an unfamiliar desert"? 23:07
Limbic_Region I assume it works after that - it is yelling that I don't have a parrot in the path though I do 23:08
putter Limbic_Region: the writablity is _required_?
that would mean the precomp Test.pm is working, but the normal load-from-.pm of Test.pm is not.
Limbic_Region erm well, let me try just pugs -Iblib6\lib -e "use Test;" without Test.pm being writeable 23:10
IIRC that blows up but let me be sure
nothingmuch putter: err, i need to finish my CV 23:11
i get job offers all the time
2-3 monthly
Limbic_Region even weirder
that works with no errors at all
nothingmuch i'll send out my CV to all the job posts I can find in 30 mins
and all my friends
23:11 dduncan joined
nothingmuch and we'll see what I can dish out 23:11
but this is short term
so i guess it's more difficult 23:12
Limbic_Region *shrug* - I am not going to debug
nothingmuch (2-3 months tops, at least as far as I know right now)
Limbic_Region I am just going to make everything writeable and be happy that it is once again fast
23:20 planrantan joined, m joined 23:23 Gothmog__ joined 23:25 Gothmog__ is now known as Gothmog_
putter Limbic_Region: aside from making it non-writable, you would need to delete the .yml. the writability is only currently affecting the decision of whether to create the .yml, not whether to use it if it is already there. 23:25
nothingmuch: hmm, how about a two step process? first send it to your friends, get feedback, tweak, and then world? 23:27
nothingmuch putter: ofcourse
of course
this is a "by the end of the week" plan
putter I also note that a targeted resume, with cover letter specific to the job description, at least in the US, seems to usually be at least an order of magnitude more effective than a broadcast thing. 23:28
ah, good plan 23:29
(of course, it's several orders of magnitude easier to broadcast than to tailor, so depending on your objectives...:)
nothingmuch I'm relying on word of mouth as a catalyzer here, because much more people know me and can reccomend me than I know of jobs 23:30
putter a most excellent approach
nothingmuch but i guess I can ask them to tell me about things, instead of pass my cv on
so that I can prepare something more directed
putter ah, that would be good too. if only so you can follow up on things you think sound interesting, rather than risk getting lost in the pile on someone's desk. 23:31
nothingmuch yes
anyway
i need two things which are hard to get:
interesting work
part time
especially their combination 23:32
hence my fussing over this resume thing ;-)_
but now i need to sleep
putter good night. :)
23:37 FurnaceBoy_ joined 23:39 Cryptic_K joined, uszr_ is now known as kucukoscar 23:45 lisppaste3 joined 23:51 clkao joined 23:56 justatheory joined