6.2.10 released! xrl.us/hxnb | geoffb's column (/. ed): xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6 | www.geeksunite.net
Set by integral on 25 October 2005.
gaal putter: except that we do have it working :) (well, not without some hack) 00:30
but i'm not here. zzZZZ &
01:14 stevan__ is now known as stevan
stevan any Bostonians around? In particular MIT people? 02:06
I am trying to find out information about the MIT Little Languages workshop this year 02:07
putter: if you backlog,.. IIRC that is your neck of the woods,.. maybe you know something :) 02:09
ingy stevan: putter == MIT iirc
stevan putter: If it is happening, and I go, we should meet up
ingy: yeah I think you are right,.. I know he is in Mass 02:10
ingy he went to MIT
stevan ah
ingy at least he had an mit email addy once
Mitchell Charity. Know him from his many contributions to Inline 02:11
well never met him physicallt
stevan wonders how many people ingy *doesn't* know :) 02:12
buu ME! 02:56
dduncan ?eval @foo = [2,3]; @bar [10,20]; @foo >>+<< @bar 05:05
?eval 1
whence goes evalbot? 05:08
QtPlatypus I think it was lost in the last netsplit. 05:13
06:31 peterson_ is now known as dhpeterson
dduncan ?eval 1 07:28
evalbot_7755 1
dduncan ?eval kick it
evalbot_7755 Error: No compatible subroutine found: "&kick"
dduncan evalbot came back, but svnbot didn't alas 08:01
well, nightey night
10:39 ods15_ is now known as ods15
r0nny_ yo 13:33
anyone alive ?
xinming yes.
r0nny_ any new comments on the SixPanUtils ideas ? 13:35
xinming r0nny_: Maybe, I am the worng person for you. :-P 13:37
r0nny_ hmm
anyone else any comment ? 13:41
xinming r0nny_: what that is plesae? 13:42
r0nny_ sixpan.perl6.nl/sixpan/index.cgi?SixPanUtils
basically cpan utils for perl6
oh - and the module build utils 13:43
xinming r0nny_: hmm, can we have a option to install module into ~/.perl/perl6/modules such kind of dir? 13:45
r0nny_ read - its allready there ..
Juerd: got some time ? 13:48
hmm - seems to be away 13:49
well - im going now - latter 13:50
xinming r0nny_: hmm, can module be install into a specified dir?
r0nny_ xinming: should be easy to manage latter in the process - initial versions might be a bit unflexible about such stuff 13:52
first is to manage globla install, then add user-hope install wich basically should make it flexible enough to install anywhere
global ;P 13:53
xinming how about multi versions of modules? just like can 1.0 co-exist with 2.0 ?
r0nny_ im not sure about this
casue it might create name-collisions 13:54
xinming hmm, perl 6 can choose modules for you if you specify, so,I wanna the module can be co-exist. So that, some module upgrade won't break the whole program which need the module. 13:55
rafl_ Some debian users in here? I've got some parrot packages for you that should be tested.
xinming perl6/modules/module-name/versions/module_files.
r0nny_ xinming: well - how do i tell it wich version to use ? 13:57
xinming rafl_: I am using debian, I'll be glad to be the "laboratory animal"
rafl_ xinming: Great. Uploading it..
xinming r0nny_: hmm, in perl 6, if you just specify the name of the module, choose the latest, if with version number is specified, then, choose that one... 13:58
r0nny_ hmm
then it should be no problem
rafl_ xinming: perlcabal.org/~rafl/debian/ 13:59
r0nny_ how does perl manage if u use 2 different modules, and each of them uses a different incombatible version of the same module
xinming r0nny_: hmm, why I wish to install to a specified location, is because, we might wish to be the project on a different partition, which is filled of projects, and you need `ln -s` all the modules to a project lib dir, maybe, lib/CPAN sometimes 14:01
rafl_: hold on plz
eric256_ juerd: ping
xinming r0nny_: and the modules has a working version specified for the needed module... 14:02
r0nny_: and prefer to choose the latest if not found.
hmm, Just guess. :-P 14:03
Is this one I should try?
rafl_ parrot-dev and parrot-doc as well. 14:04
xinming s/this one/this the one/
rafl_ It's not really 0.3.0, btw. It's a current svn snapshot.
Limbic_Region for anyone interested - perlmonks.org/index.pl?node_id=503589 is a p6 related post on combinatorials and lazy evaluation and what not 14:05
first p6 specific post I have seen in a while
*hint hint*
xinming rafl_: hmm, Do I have to upgrade to sid? :-( 14:06
rafl_ xinming: I don't know. They're at least built against sid. 14:07
xinming rafl_: I can't install it on testing.
got the dependency problem. 14:08
rafl_ xinming: What does it complain about?
xinming dpkg: dependency problems prevent configuration of parrot:
parrot depends on libicu34; however:
parrot depends on libstdc++6 (>= 4.0.2-3); however:
Version of libstdc++6 on system is 4.0.2-2.
and, If I try to apt-get install libcstdc++6 or the needed module, I will also get the dependency problem 14:09
rafl_ Yes. Nevermind then..
xinming rafl_ parrot-dev and parrot-doc as well. 14:10
xinming s/this one/this the one/
root@HomePc:/home/xinming# apt-get install -f
Reading package lists... Done
Building dependency tree... Done
Correcting dependencies... Done
The following extra packages will be installed:
The following packages will be REMOVED:
The following NEW packages will be installed:
after I `dpkg -i parrot*`, that's what apt-get install -f will show 14:11
anyone here can tell me where to find the url for autrijus' journal? 14:17
Jooon somewhere here use.perl.org/~autrijus/journal 14:18
xinming Jooon: thanks.
Limbic_Region there used to be a link on the pugs homepage
but now it links to planet pugs
xinming Limbic_Region: No, It is removed...
Limbic_Region errr
xinming yes.
Limbic_Region planet perl6 14:19
xinming wonders what autrijus do these days.
Limbic_Region: But, I have problem to access there.
Limbic_Region err - pugs even # I was right the first time
confusing - the link implies pugs but the page says planet perl six 14:20
xinming - you using planetsix.perl-foundation.org/ ?
xinming planet.pugscode.org/
Limbic_Region that just forwards to the URL I provided 14:21
xinming I can access planetsix.perl-foundation.org/
But, can't access planet.pugscode.org
Limbic_Region so you are getting to where you wanted to go
it is a phantom URL anyway
xinming The Great FireWall in China blocks too many sites. :-/ 14:22
Limbic_Region xinming - I don't understand, you are getting to the right place so why not cut out the middle man?
xinming Limbic_Region: hmm, If I use planet.pugscode.org, I will get the documents contains no data, But If I use planetsix.perl-foundation,org It will opened correctly. 14:25
rewriting the world, What does rewriting here mean? rewrite most grammars of perl 6?
rafl_ autrijus: ping 14:28
Juerd r0nny_: ? 14:31
eric256_: pong
eric256_ hey. is there a timelimit on cron jobs? make smoke, seems to die after 5 minutes, i wasn't sure if the smoke was broken or the server just shut it down 14:32
Juerd There is no time limit
eric256_ okay. /me scans error log
Juerd Which means that if you're not careful, the processes will overlap
eric256_ i only run the smoke every 6 hours 14:33
Juerd ok
eric256_ should be okay.. might goto 12 dunno
hehe it took too long and the pugs rebuild swiped the pugs executable out form under it 14:35
any ideas?
Limbic_Region xinming - as I said before planet.pugscode.org redirects to planetsix so there is NO content at planet.pugscode.org 14:36
forget that link and just go directly to planetsix
xinming - rewriting the world is meant to mean changing the world
xinming Limbic_Region: Ok. 14:37
r0nny_ re 14:41
eric256_ Juerd...for now i'm creating a pugs-smoke checkout that will build and smoke every 6 hours and just keep it seperate
r0nny_ Juerd: wanted to have a short talk about the development steps for the build sys and package manager 14:42
since it will be a bigger project and i hace no clue where to start since im used to think c++ 14:47
well - i will write the basic steps i think will be good to the wiki 14:49
sixpan.perl6.nl/sixpan/index.cgi?Si...opmentPlan <- please edit 14:56
rafl_ wonders why pugs needs a parrot src dir to build. 15:19
Shouldn't it be enough to have the headers?
eric256_ svn check 15:20
is svn bot feeling okay today?
hehe. he isn't even present... thats a crime! ;)
rafl_ eric256_: I don't think so..
15:20 rafl_ is now known as rafl 15:21 eric256_ is now known as eric256
nothingmuch we should add a new pugs logo 15:26
Limbic_Region chuckles 15:27
rafl How to check if program foo is in path in perl5? Does a nice idiom or module exist? 15:28
Limbic_Region define path 15:31
rafl $ENV{PATH}
Limbic_Region check to see if which has been ported in the PPT
it has 15:32
see which
rafl - does that do what you want or do you need something else? 15:34
sili ppt makes me sad. 15:36
Juerd r0nny_: Sorry, I'm not interested in the packaging thing enough 15:37
Limbic_Region because?
sili because you reusing the code that was written isn't really possible
since each tool is its own script, basically
Juerd r0nny_: Please discuss your ideas with the people who do care (rafl, kane) 15:38
sili and ``... isn't pretty
r0nny_ Juerd: ok
rafl r0nny_: I am. There's already some kind of prototype.
r0nny_ rafl: where ?
eric256 sili...port ppt to p6 and base them on a nice module ;)
r0nny_ want to take a look
sili eric256: i wish i had the time
rafl r0nny_: On my disk. Let me finish a quick hack and I'll upload it.
Juerd rafl: Wow, you're quick 15:39
Limbic_Region sili - ok but making it available inside a perl module wasn't a goal of the project
theorbtwo I could have sworn there was a core module for PATH and friends, but I don't see it...
15:39 brother_ is now known as brother
sili Limbic_Region: maybe not, but it would have been so benefitial 15:40
rafl Juerd: Well, kane wrote most of it. I only fixed the parts which required some deeper Debian knowledge.
r0nny_ it required debian knowdegde ?
well - need to go away for some time 15:41
rafl Yes. It uses the .deb format from Debian and currently also the debian tools for that (dpkg, dpkg-deb) because there no perl equivalents for them yet.
r0nny_ rafl: omg - hope u get a rid of needing to use .deb soon ;P 15:42
rafl r0nny_: Why?
r0nny_: It's really mature, flexible and does what we want.
r0nny_ well - i will discuss about this issue when im back 15:43
theorbtwo Ah, File::Spec->path is what I was thinking.
rafl r0nny_: Of course, preferably in the Wiki.
theorbtwo Using .deb sounds completely reasonable to me.
rafl To kane and me as well. 15:44
Limbic_Region theorbtwo - does File::Spec->path tell you if a file exists in the path?
if not, I found a module that does
Env::Path has a whence method which will tell you if a file exists in the $ENV{PATH}
rafl Limbic_Region: I solved it in another way which doesn't require a module. 15:45
Limbic_Region: I hope which is something we can assume to be there everywhere..
But I don't think so.. ;-)
Limbic_Region which can't be assumed to be everywhere
Win32 for instance 15:46
rafl Limbic_Region: OK then. How does windows solve that?
theorbtwo Windows? Solve something? You must be joking...
rafl Limbic_Region: Can you take a look at my recent commit to Makefile.PL and make it portable?
Limbic_Region rafl - 1 question at a time
rafl - windows solves this by erroring out when it isn't in the path 15:47
theorbtwo L~R, File::Spec->path only tells you what $ENV{PATH} is; it doesn't search for things in it.
Limbic_Region AFAIK, native windows doesn't provide the ability to tell you where in the path - only if it is in the path
theorbtwo I seem to recall that there is something in inc:: that's supposed to do that, but I think I remember that only because it was buggy.
Limbic_Region if you want to know the location portably (Win32 and *nix) then use the "whence" method in Env::Path
second question, WRT Makefile.PL - I am not doing any Pugs hacking anymore but my last comment should help solve the problem 15:48
rafl goes home. 15:49
xinming ?eval class A { has @.a; sub BUILD { @a = ( "a", "", '' )} }; ?A.new.a[0]; 15:52
evalbot_7757 Error: Undeclared variable: "@a"
xinming ....
Limbic_Region rafl - I think your change to Makefile.PL is b0rk 15:53
oh, you went home
anyone who is listening and has an opinion - feel free to speak up 15:54
apparently knowing the location of a file in $ENV{PATH} is required for something to work correctly
the way to do this on Win32/*nix is to use Env::Path - which probably won't work on Mac, VMS, etc 15:55
not that I think Parrot works on VMS yet
anyway - copy/pasting the code from the module is fairly easy as it is compact which wouldn't require adding the module
but it still won't be 100% portable 15:56
the code could be adapted to combine the search routine and File::Spec which would be portable
theorbtwo Sounds like a plan, Limbic.
Does it properly handle extensions under win32?
xinming how to test if a value is undefined? 15:57
Limbic_Region theorbtwo - if File::Spec is providing the file names and paths then it doesn't matter
xinming just if $a { true } else { false } ?
Limbic_Region the question is then who is going to adapt the search code ;-)
xinming - defined
?eval my $foo; say "undefined" if ! defined $foo; 15:58
evalbot_7758 undefined bool::true
Limbic_Region xinming - undefined didn't change behavior from p5 to p6
theorbtwo It looks like no, from a quick read of the source (it is, indeed, quite short). 15:59
Limbic_Region theorbtwo - so that means you are volunteering right ;-)
theorbtwo What I meant is that if you're looking for a command called "foo" under win32, you really want foo.{exe,com,bat,cmd,pif}.
Limbic_Region theorbtwo - that isn't needed for this specific problem 16:00
and besides - the whence routine allows for patterns not just exact file names 16:01
chomp(my $parrot_config = `which parrot-config.imc 2>/dev/null`);
that's the line that needs to be made portable
theorbtwo Hm.
OK. 16:02
Sounds like Env::Path can do that.
Limbic_Region and that is certainly doable by combining File::Spec and Env::Path
theorbtwo - it could if you didn't care about OSes other than Win32 and *nix
but I think we do
theorbtwo Oh, right -- the path might not be in $ENV{PATH}. 16:04
Limbic_Region notes the time and heads for lunch
theorbtwo Have a good one.
Limbic_Region actually - I think Perl makes $ENV{PATH} portable - that's not the problem
the problem is searching in $ENV{PATH}
delimiters and extensions and what not
Luna hola
Limbic_Region salutations 16:05
theorbtwo - if you read the source for Env::Path - it is doing some / and \ conversions prior to searching - that needs to be extended beyond Win32
and *nix
in any acct - I am off for lunch 16:06
rafl Limbic_Region: b0rked in which way? 16:10
xinming ?eval "asdfg/" ~~ rx:perl5{^(\w+)?/(\w+)?}; $1; 16:12
evalbot_7758 \MkMatch {matchOk = True, matchFrom = 0, matchTo = 0, matchStr = "", matchSubPos = [], matchSubNamed = {}}
xinming ?eval "asdfg/" ~~ rx:perl5{^(\w+)?/(\w+)?}; $1 ?? "true".say !! "false".say ;
evalbot_7758 true bool::true
xinming Is this the right behaviour?
rafl I don't think so. 16:14
xinming It seems, that it returned a null string with `but true` 16:15
eval? my $a; $a = "abc" ?? "bcd" !! $a = "false"; 16:19
?eval my $a; $a = "abc" ?? "bcd" !! $a = "false";
evalbot_7758 Error: Can't modify constant item: VStr "bcd"
xinming how about this? 16:20
nothingmuch do roles have no instance data? 16:24
xinming: ?? !! is lvalue
xinming ?eval my $a; my $b; $a = "abc" ?? "bcd" !! $b = "false"; 16:25
evalbot_7758 Error: Can't modify constant item: VStr "bcd"
xinming Do we have to write this using if statement?
nothingmuch: ??
nothingmuch ?eval my $x = 0; my $y; my $z; $x ?? $y !! $z = "foo"; $y.perl ~ " " ~ $z.perl
evalbot_7758 "\\undef \\\"foo\""
nothingmuch ?eval my $x = 1; my $y; my $z; $x ?? $y !! $z = "foo"; $y.perl ~ " " ~ $z.perl 16:26
evalbot_7758 "\\\"foo\" \\undef"
nothingmuch what you wantes is probably !! ($a = "foo")
xinming thanks. :-) 16:28
nothingmuch what were you trying to do, btw? 16:30
?eval my $x = 1; my $y; my $z; $x ?? $y !! $z = "foo"; ($y, $z)
evalbot_7758 (\"foo", \undef)
nothingmuch that's simpler ;-)
xinming nothingmuch: hmm, I want to try if we can assign a value using $x ?? true !! false statement instead of if. ;-) 16:32
theorbtwo Except the $y is being used in void context for some reason...
nothingmuch yes, you can
theorbtwo ?eval my ($x, $y); $x = $y ?? 'true' !! 'false'; $x
evalbot_7758 \"false"
theorbtwo ?eval my ($x, $y)=1; $x = $y ?? 'true' !! 'false'; $x
evalbot_7758 \"false"
xinming theorbtwo: hmm, I don't mean this.
nothingmuch oh, that's what you're checking
theorbtwo ?eval my ($x, $y)=(0,1); $x = $y ?? 'true' !! 'false'; $x
evalbot_7758 \"true"
nothingmuch ?eval my ($x, $y) = 1; ($x, $y) 16:33
evalbot_7758 (\1, \undef)
nothingmuch that's expected
xinming ?eval my( $x, $y ) = 1..Inf; ($x, $y);
evalbot_7758 (\1.0, \2.0)
xinming ?eval my( $x, $y ) = 1..Inf by 3; ($x, $y);
evalbot_7758 Error: unexpected "b" expecting term postfix, operator, "does", "but", "is", "^..^", "cmp", "<=>", "^..", "..^", "..", ";" or end of input
xinming hmm...
bbl 16:34
can we make a step?
Just like, 1, 5, 9, 13, 17, 21 such kind of list? 16:35
?eval my( $x, $y ) = 1..Inf :by(3); ($x, $y); 16:36
evalbot_7758 Error: unexpected ":" expecting term postfix, operator, "does", "but", "is", "^..^", "cmp", "<=>", "^..", "..^", "..", ";" or end of input
theorbtwo wonders why it lists "operator" and several individual operators, and why he doesn't remember those ^..^ smiliey things. 16:37
ajs_ In S03 under new operators: The .. binary range operator has variants with ^ on either end to indicate exclusion of that endpoint from the range. 16:44
So 1^..^3 would be (2)
xinming amazing... 16:46
?eval my( $x, $y ) = 1^..^Inf; ($x, $y); 16:47
evalbot_7758 (\2.0, \3.0)
xinming ?eval my( $x, $y ) = 1..^Inf; ($x, $y);
evalbot_7758 (\1.0, \2.0)
xinming ?eval my( $x, $y ) = 1..^..^..Inf; ($x, $y);
evalbot_7758 Error: unexpected "^" expecting term
nothingmuch xinming: err, what are you trying to do? 16:50
xinming nothingmuch: I wish I will be able to get a step for 1..Inf 16:51
Just like It will auto generate 1, 5, 9, 13, 17, 21, ... Inf
nothingmuch ( grep { ($_ - 11) % 4 == 0 } .. Inf ))[1 .. 10) 16:56
?eval( grep { ($_ - 11) % 4 == 0 } .. Inf ))[1 .. 10]
evalbot_7758 Error: unexpected ")" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
nothingmuch ?eval (grep { ($_ - 11) % 4 == 0 } .. Inf )[1 .. 10]
evalbot_7758 Error: cannot cast from VCode (MkCode {isMulti = False, subName = "<anon>", subType = SubBlock, subEnv = Just (MkEnv {envContext = CxtItem (mkType "Any"), envLValue = False, envLexical = MkPad (padToList [("$?1",[(<ref>,<ref>)]),("$_",[(<ref>,<ref>)]),("$code",[(<ref>,<ref>)]),("$lang",[(<ref>,<ref>)]),("&?BLOCK_EXIT",[(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>)]),("&break",[(<ref>,<ref>),(<ref>,<ref>)]),("&c
nothingmuch eep, i'm drunk
?eval grep { ($_ - 1) % 4 == 0 } ... Inf
evalbot_7758 Error: unexpected "I" expecting operator, ":", ",", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or end of input
nothingmuch ?eval grep { ($_ - 1) % 4 == 0 } 1 .. Inf
?eval (grep { ($_ - 1) % 4 == 0 } 1 .. Inf)[0 .. 10] 16:57
i think i fried it
xinming you are drunk...
nothingmuch is grep lazy?
evalbot_7758 (no output)
nothingmuch ?eval (grep { ($_ - 1) % 4 == 0 } 1 .. 1000)[0 .. 10]
(not spec grep, current prelude grep)
evalbot_7758 (no output) 16:58
[1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41]
nothingmuch will do a haskell version with fold 16:59
no, that doesn't work out well 17:01
Limbic_Region rafl - b0rk in that it isn't portable 17:07
rafl Limbic_Region: Yes, indeed. It only works on UNIX platforms. How to do that better? 17:08
Limbic_Region you can immediately improve the portability by using 'whence' from Env::Path
that will cover *nix and Win32
the problem is supporting other platforms 17:09
to do that - you have to combine code from 2 modules - File::Spec and Env::Path
that is what I was discussing right before going to lunch
the code from Env::Path is quite small so modification shouldn't be that difficult 17:10
and theorbtwo was just about to volunteer 17:11
svnbot6 r7756 | eric256++ | Add doc links for several tests in /t/operators 17:12
r7757 | eric256++ | Fixed typo in last commit
r7758 | rafl++ | r18808@ata: rafl | 2005-10-28 17:44:31 +0200
r7758 | rafl++ | * debian/control: Build-Depend on parrot-dev for parrot embedding.
r7758 | rafl++ | * Makefile.PL: Some fixes for parrot header detection.
rafl Limbic_Region: Commiting another possibility.. 17:13
Limbic_Region sees what it takes to hack Env::Path's whence and File::Spec to make it work universally 17:15
svnbot6 r7759 | rafl++ | r18815@ata: rafl | 2005-10-28 19:24:35 +0200 17:24
r7759 | rafl++ | * Make pugs detection a bit more portable.
r7759 | rafl++ | * Embed parrot in the debian package as default.
Limbic_Region rafl - I figured out how to make it portable without using Env::Path at all 17:32
and without invoking a shell 17:33
perlbot nopaste
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "Limbic_Region" at pasted "Fix the `which` portability issue" (15 lines, 304B) at sial.org/pbot/13992 17:34
Limbic_Region Do you want me to update Makefile.PL or are you going to?
rafl Please do it.
Limbic_Region ok
I just need to know what to do if it isn't found in the PATH? 17:36
nevermind - I see an or die later on that should handle it 17:39
checking in now 17:41
hmm - this is taking a while
svnbot6 r7760 | iblech++ | PIL2JS: Prelude::JS::Proxy: Unbreak PIL2JS (forgot a +$var to :$var change). 17:42
Limbic_Region grrr - update failed
Limbic_Region tries again
rafl - your attempt was also b0rk 17:45
PATH delimiter is not portable either - : on *nix and ; on Win32