svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by avar on 16 November 2006.
ludan hi 10:44
smash_ good morning 11:04
fglock pmurias: re: 'does util/build-perl5.sh use the old v6.pm or MiniPerl6 itself?' 11:08
lambdabot fglock: You have 1 new message. '/msg lambdabot @messages' to read it.
fglock util/build-perl5.sh is pre-bootstrap - it used v6.pm
MP6 needs a new build script
nothingmuch moooooo 11:12
svnbot6 r14791 | fglock++ | MP6 - util/build-perl5.sh renamed to build-with-v6.sh 11:15
fglock nothingmuch: hey 11:19
svnbot6 r14792 | fglock++ | MP6 - new build script "util/build-perl5.sh"
r14792 | fglock++ | - recompiles MP6 using itself
fglock diff -u -r lib5 lib5-new == no differences :) 11:20
nothingmuch hola fglock 11:22
fglock nothingmuch: mp6 needs a MO :) 11:23
nothingmuch =) 11:24
what is it's target language right now?
fglock nothingmuch: Perl5, Haskell, Parrot, and Javascript for now 11:25
nothingmuch i meant the major one
fglock mp6 is written in mp6, so mp6 is the major one 11:26
nothingmuch it doesn't compile mp6 to mp6 though, does it?
i mean you run mp6 through itself, and make a $x_lang "executable" 11:27
which is the best supported $x_lang?
fglock currently only perl5 is implemented
nothingmuch okies =)
so, that helps a lot
there are two ways that you can plug MO
fglock I'm working on c++ too
nothingmuch 1) push it all down to the runtime 11:28
by simply translating the metaclass mappings
and implementing a metaclass in the target language's MO impl
or (more robust, more work):
2) implement at least MO::Comple::* in MiniPerl6
and do the metamodel calcs in the compiler 11:29
emitting much more simplified responder interface calls
that's actually the original intent
but we might be able to get working code sooner by short cutting for now
fglock I like the idea of MO::Comple::* in MiniPerl6 - this make it easier to port to other backends 11:30
nothingmuch yes
this is definitely the correct way to implement it 11:31
fglock sorry - bbiab
nothingmuch is MO-perl5 published? 11:35
audreyt fglock: darcs get nothingmuch.woobling.org/MO 11:45
lambdabot audreyt: You have 3 new messages. '/msg lambdabot @messages' to read them.
Title: Index of /MO
fglock audreyt: k 11:46
audreyt: re the 'Tree' example in svn.pugscode.org/pugs/v6/v6-MiniPer...6-spec.pod 11:49
lambdabot tinyurl.com/yzs3h5
fglock would it be: ($left, $right) = ($top.left, $top.right)
audreyt sure 11:50
er wait
you are compiling mp6 to mp6?
then it's :=, not =
fglock right
audreyt otherwise yes. 11:51
and if there's not $top
but simply
(Tree ($left, $right))
then you need to gensym a $temp to hold it.
fglock is 'Tree (:$left, :$right)' better to write? 11:52
:$var is now supported
audreyt well I think it's a punning in spec 11:53
fglock actually, '::Tree( :$left, :$right )'
audreyt I think either will do
but I support that proposition that :$left looks and works better. 11:54
fglock so the exp grammar can be reused for sig - does it make sense?
audreyt that is the expectation 11:55
as sig is simply lhs of :=
and in bind we already handle the lhs-side compilation
for non-Control nodes
fglock audreyt: did you try out the native MP6 compiler? 11:57
audreyt no, sorry
I'm too busy to proc a certain event 11:58
that will hopefully stabilize tomorrow
fglock audreyt: 'sh hello.sh' will do
audreyt T:~/work/pugs/v6/v6-MiniPerl6 audreyt$ sh hello.sh 11:59
hello, World
that... was easy
nice :)
fglock is this valid p6? 'my ::Tree $top (:$left, :$right);' 12:02
nothingmuch audreyt: did you see the .pdf? 12:03
audreyt fglock: yes. 12:04
nothingmuch: no.
dmq waves hello 12:09
nothingmuch ola! 12:12
dmq wassup 12:13
@messages 12:16
lambdabot You don't have any new messages.
masak is pugscode down? I can't svn-up it at the moment
fglock dmq: hi 12:18
audreyt masak: it worksforme 12:19
dmq how are tings? 12:20
i was doing battle with perl5 and how it handles \G and /g the past few days. Was wondering what perl6 does in that direction. 12:22
like could you say: $str='aabbccddeeff'; pos($str)=5; /(..)\G(..)/ and print "Before pos: $1 After pos: $2"; 12:25
and if thats ok, can you do something like /xy*\G(..)/?
broquaint That would be ace. 12:26
dmq the latter would be forbidden by me. :-)
the former would fine. 12:27
broquaint I like the idea of being able to use \G arbitrarily. 12:28
dmq the only problem with that is you run into the problem of infinite loops, and serious performance issues. 12:28
broquaint Details, details.
dmq Yeah, well, ive been dealing with them 12:29
:-)
broquaint Ah :)
dmq like for instance its probably not cool to have pos($str)=2; @list=m/(..)\G/g; infinite loop until it sucks all available memory. 12:30
broquaint Crappy non-turing-machine computers. 12:31
dmq that was a doozy to figure out.
svnbot6 r14793 | fglock++ | MP6 - updated miniperl6-spec 'coercion-form binding' 12:35
fglock dmq: that would be ' <after (..)> (..) ' - but I'm not sure if <after> can make captures 12:37
dmq after? 12:54
hmm ok.
dmq idly wonders how the english would take it if the germans invented a programming language where 'anus' was a keyword 12:55
rgs back 12:57
svnbot6 r14794 | fglock++ | * added v6/v6-MiniPerl6-MO 13:08
svnbot6 r14795 | fglock++ | MP6 - added 'print', '!=', '==' 13:35
r14796 | fglock++ | MP6 - added 'bind' tests
svnbot6 r14797 | fglock++ | MP6 - updated p5 image 13:38
Reyben I open a file with something like 'open FH, "<", $filename;'. Is it possible to determine at a later time whether the FH is valid, i.e. whether the file could be opened? 13:46
svnbot6 r14798 | fglock++ | MP6 - more bind tests
Limbic_Region Reyben - this is #perl6 which is to discuss and develop the perl 6 language. Please try #perl 13:49
Reyben - in general, you should always check the return code of open my $rc = open(my $fh, '<', $file); 13:50
Reyben - then later on you can check $rc
Reyben - notice I used a lexical filehandle and a 3arg open, you should too
Reyben - now good luck and please check out #perl
Reyben Thanks. Strangely, a #perl channel doesn't currently appear on my room list, though. 13:55
fglock particle: ping 15:05
masak audreyt: ah, worksforme too now 15:14
[particle] fglock: pong
fglock particle: do you have some time to guide me through parrot? I'm working on mp6-on-parrot 15:15
[particle] sure
[particle] updates his working copy 15:16
fglock is parrot 0.4.1 usable? that's what I have here
[particle] urk
that's almost a year old
0.4.7 was just released. there should be a debian package if you need it
fglock do you know if is there a package for osx? 15:17
[particle] iirc 0.4.1 won't have a reentrant parser
fglock: can you join #parrot? there's a bunch of excited folks looking to help :) 15:20
(irc.perl.org)
fglock particle: ok 15:21
fglock pmichaud: this is the emitter that I need to translate: svn.pugscode.org/pugs/v6/v6-MiniPer...Emitter.pm 15:28
lambdabot tinyurl.com/y3uxdp
svnbot6 r14799 | kudra++ | Summary 16:29
r14800 | fglock++ | MP6 - added initial Parrot emitter 16:44
TimToady @tell dmq \G is discussed at S05:1043 16:49
lambdabot Consider it noted.
TimToady @tell dmq S05 can be found at dev.perl.org/perl6/doc/design/syn/S05.html or at svn.perl.org/perl6/doc/trunk/design/syn/S05.pod 16:52
lambdabot Consider it noted.
TimToady @tell dmq for the original rationale of the regex redesign please read dev.perl.org/perl6/doc/design/apo/A05.html 16:53
lambdabot Consider it noted.
TimToady @tell dmq many of the questions you are asking here are already answered in S05, so it seems someone somewhere has neglected to point you at S05. Sorry... 16:55
svnbot6 r14801 | fglock++ | MP6 - added 'mp6-parrot' script
lambdabot Consider it noted.
svnbot6 r14802 | fglock++ | MP6 - parrot emitter - added int, num, bool 17:13
svnbot6 r14803 | fglock++ | MP6 - added undef, string to parrot emitter 17:22
studentC hi everybody
do you know how to modify @INC?
I've tried to do: use lib /usr/local/pf/lib
and in another way using BEGIN{...} 17:23
could you help me please 17:25
svnbot6 r14804 | fglock++ | MP6 - added lib5/MiniPerl6/Parrot
TreyHarris studentC: are you actually using "use lib /usr/local/pf/lib"?
You need to quote the argument. like "use lib </usr/local/pf/lib>" 17:26
and of course, a semicolon after
studentC thanks 17:27
i'm a beginner ;) 17:28
TreyHarris no problem, you're welcome 17:28
svnbot6 r14805 | fglock++ | MP6 - commented out some unused nodes in emitter 17:35
GnuVince .seen obra 18:12
@seen obra
lambdabot obra is in #perl6. I don't know when obra last spoke.
obra yes? 18:13
svnbot6 r14806 | fglock++ | MP6 - parrot output starts to make sense 19:02
r14806 | fglock++ | echo 'class x { say "hi" } ' | perl mp6-parrot.pl
obra seen GnuVince 19:13
jabbot obra: GnuVince was seen 1 hours 1 minutes 35 seconds ago
GnuVince obra: Hi. Earlier this afternoon, I got a 500 error for hiveminder.com, but it was fixed within a couple of minutes. Just wanted to tell you in case. 19:16
obra GnuVince: thanks. the server flipped out 19:17
GnuVince obra: okay. Keep up the nice work with Hiveminder, it's extremely nice :) 19:18
obra thanks :)
we've got some things we're really, really excited about coming
svnbot6 r14807 | particle++ | MP6 - quote the namespace
GnuVince obra: cool. I'm still hoping to play with Jifty, but I've been having problems instaling it from CPAN :( 19:23
[particle] jifty head doesn't like win32
jifty cpan should work fine
gnuvince: make sure you're using the tcool repo
obra GnuVince: you're on win32? 19:24
GnuVince Linux.
[particle] oh, wait, i'm assuming here...
GnuVince Not sure what the tcool repo is...
[particle] sorry, wrong guy :)
Limbic_Region is on Win32 [particle] but isn't interested in jifty 19:24
[particle] gnuvince: ignore that tcool bit. that's for win32 folks
Limbic_Region hey dmq - TimToady left you some @tell messages
obra GnuVince: what's biting you?
dmq thanks l_r. :-) 19:25
lambdabot dmq: You have 4 new messages. '/msg lambdabot @messages' to read them.
GnuVince obra: can't remember right now, I'm not on that machine. If memory serves right, cpan couldn't find the ~/.cpan/Build/Jifty-0.xxxx/ folder. 19:25
If there's a mailing list/forum for Jifty, I'll post the entire thing there. 19:26
obra there's [email@hidden.address]
GnuVince obra: okay, I'll post there tonight. I really want to play with Jifty. 19:30
I makes me think of Rails meets Seaside
obra aw thanks 19:31
dmq wonders if he should thank lambdabot or not. 19:33
dmq figures why not.
Limbic_Region salutations studentC 19:37
oh wow, I didn't realize I was scrolled back so far 19:38
GnuVince Limbic_Region: :)
Limbic_Region I was reading the msgs TimToady left for dmq in case I might also be interested and I was. It has been a looooong time since I read A05 19:39
dmq Well i can definitely agree that the best thing to do about \G is to get rid of it. 19:41
ludan ola 19:41
dmq Er, which is not to imply i disagree with any of it. 19:45
svnbot6 r14808 | fglock++ | MP6-parrot - implemented Array
anatolyv ?eval sub foo { my $x = 5; sub bar { $x; } } bar() 20:54
evalbot_r14808 \undef 20:54
anatolyv anyone knows if this should be allowed at all?
wolverian looks fine. what do you think is wrong about it? 20:59
svnbot6 r14809 | particle++ | MP6 - ws cleanup 21:37
anatolyv wolverian: it's not clear which $x bar() should refer to. 21:47
wolverian anatolyv, there is only one. 21:48
(that I see.)
anatolyv wolverian: in runtime, there may be many copies of $x. for example, imagine foo calls itself recursively with depth 100, every copy has its own $x. 21:50
wolverian: by calling into inside bar() we don't give it any information on which runtime pad of foo() it should use to access $x.
wolverian it works in perl5! that's all I know! :)
anatolyv no it doesn't, that is, it doesn't return 5 21:51
[particle] sure, because you can't put a sub within a sub. but within a block, it works 21:53
wolverian well, right. it doesn't share it.
anatolyv how is a block different? 21:55
?eval { my $x = 5; sub bar { $x; } } bar()
evalbot_r14809 Error: ␤Unexpected "bar"␤expecting operator 21:55
[particle] ?eval { my $x = 5; sub bar { $x } }; bar()
evalbot_r14809 \5
[particle] semicolon 21:56
anatolyv ?eval sub foo { my $x = 5; sub bar { $x } }; bar() 21:57
evalbot_r14809 \undef
wolverian heh
anatolyv ?eval sub foo { my $x = 5; sub bar { "Can I put a sub within a sub?" } }; bar()
evalbot_r14809 "Can I put a sub within a sub?"
anatolyv I can, that doesn't seem to be the issue. 21:58
?eval my $y = { my $x = 5; sub bar { $x } }; bar() 21:59
evalbot_r14809 \undef
svnbot6 r14810 | particle++ | MP6 - beginnings of object initialization 22:52
svnbot6 r14811 | particle++ | MP6 (parrot) - use ResizablePMCArray, not PerlArray 22:57