Second Perl 6 Microgrant - Phil Crow on Java to Perl 6 declaration converter

2007-04-04 Thread Leon Brocard

We're pleased to announce that we've selected Phil Crow as the recipient of the
second Perl 6 microgrant. Phil is the hacker behind the Java::Swing module
which allows Perl programmers to put a Java Swing GUI on their application
without writing any Java and he'll be using this knowledge to convert Java
declarations to Perl 6. You can find details of the project he's
planning in the
text of his grant application:

Tim Bunce has suggested that it would be nice to have a general purpose
declaration translator from Java to Perl.  In particular, he is interested
in leveraging this tool to create a JDBC API for Perl 6 from the
Java JDBC classes and interfaces. The result would then provide a strong
foundation for the Perl 6 DBI.

I propose to write that translator. It would have two pieces:

* One would use the Java deparser (part of its standard development
  kit) to turn Java classes or interfaces into an internal structure

* The other half would turn that structure into valid Perl 6. Note that it would
  only translate class, interface, and method declarations, not code.

Success for this project will be a working translator that generates method
declarations in Perl 6 from compiled Java .class files. While all cases
might not be covered, at least the final product should not die when faced
with the unexpected. The generated files will be tested using the then current
version of Pugs.

This project is new and has only recently been discussed in response to the
call for proposals. I'm sure I will have questions to direct to various
Perl 6 mailing lists as the project progresses.

Phil will be blogging about his grant progress at:

 http://use.perl.org/~philcrow/journal/

This microgrant is supported by additional sponsorship from Tim Bunce / DBI.

Please join us in wishing him the best of luck with his project. We're
really looking forward to seeing the results of this work.If you're
interested in submitting a Perl 6 microgrant proposal, you can find
details here:

 http://www.nntp.perl.org/group/perl.perl5.porters/2007/03/msg122448.html

Best, Leon and Jesse


Re: CPANDB - was: Module::Dependency 1.84

2006-07-14 Thread Leon Brocard

On 7/14/06, Tels [EMAIL PROTECTED] wrote:


afte seeing the recent discussion about CPANDB and CPAN::Index, I don't
think I want to work on that project anymore for two reasons:


Hey Tels,

Please ignore the other people in the thread. Instead spend a little
bit of time to do something simple that works.

My preferred development methodology is to underpromise and
overdeliver. Mailing lists generally do not help in this regard.

To the other people in this thread: please ignore this mail ;-)

Leon


Re: Expect on Windows

2006-06-28 Thread Leon Brocard

On 6/28/06, Gabor Szabo [EMAIL PROTECTED] wrote:

As Test::Expect was just mentioned here, I would like to know why Expect and
thus Test::Expect does NOT work on Windows?


Well, Test::Expect is a wrapper. Test::Expect works on Windows if and
only if Expect works on Windows. It has this comment, which may or may
not be useful:

http://search.cpan.org/~rgiersig/Expect-1.17/Expect.pod#Can_I_use_this_module_with_ActivePerl_on_Windows%3F

... but I bet it's because the author has no access to Windows. I'm
sure he'll accept patches! ;-)

Leon


Re: Using Perl in QA departments

2006-06-26 Thread Leon Brocard

On 6/17/06, Gabor Szabo [EMAIL PROTECTED] wrote:


http://www.szabgab.com/perl_in_test_automation.html


This is really neat. You might want to add a link to Test::Expect too,
which makes it almost to easy to test terminal-based programs.

Thanks again! Leon


Test::Expect

2005-04-14 Thread Leon Brocard
Oh, I forgot to mention to perl-qa that I wrote Test::Expect:

  http://search.cpan.org/dist/Test-Expect/

It does Automated driving and testing of terminal-based
programs. Simple example here:

  http://search.cpan.org/src/LBROCARD/Devel-ebug-0.38/t/ebug.t

It's a simple wrapper, but I like it. Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Look out! Behind you!


Re: Module::Packaged vs Phalanx 100

2005-02-06 Thread Leon Brocard
Leon Brocard sent the following bits through the ether:

   http://astray.com/tmp/phalanx.html

This now mentions core modules and notices Mandrake contrib
(Module-Packaged 0.79 just hit CPAN), so Mandrake jumps from 28 - 87.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... I'm sure it's in the manual somewhere...


Module::Packaged vs Phalanx 100

2005-02-05 Thread Leon Brocard
This is what you get when you set Module::Packaged against the Phalanx
100. So right now FreeBSD packages the most of Phalanx, and it's kinda
interesting to see the version numbers.

  http://astray.com/tmp/phalanx.html

Script:

  http://unixbeard.net/acme-svn/Module-Packaged/phalanx.pl
  (pass in the source of http://qa.perl.org/phalanx/100/)

There might be bugs, patches welcome, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... A living example of Artificial Intelligence


Re: Module::Packaged vs Phalanx 100

2005-02-05 Thread Leon Brocard
Johan Vromans sent the following bits through the ether:

 Definitely. I'm quite sure Getopt::Long is in _every_ distribution...

Of course, this only notices individually-packaged CPAN dists (ignores
the core).

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Acoustic - What you play pool with


Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Generator-0.22.tar.gz

2004-09-08 Thread Leon Brocard
Thomas Klausner sent the following bits through the ether:

 On issue I'd like to ask is: We (Gabor Szabo and I) are thinking of renaming
 the distribution from Module::CPANTS to CPANTS. Do you think that this
 is a good idea?

I see no advantage and quite a bit of pain in renaming. However, it is
your module ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... But my little voice TOLD me to do it!


Re: Redoing the Phalanx 100

2004-08-08 Thread Leon Brocard
Andy Lester sent the following bits through the ether:

 I'll be redoing the Phalanx 100 this week.  I'm hoping to get FTP logs 
 from pair.com and from cpan.org.  If anyone else has FTP logs they can 
 submit to me, I'd love to have 'em.

Please make the list available in a computer-readable format. A module
on CPAN, perhaps.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... That must be wonderful! I don't understand it at all


Re: The new Perl 6 compiler pumpking

2004-08-04 Thread Leon Brocard
Dan Sugalski sent the following bits through the ether:

 I'd like everyone to give a welcome to Patrick Michaud, who's 
 volunteered to officially take charge of getting the Perl 6 compiler 
 module written.

Welcome Patrick! What's your plan of attack?

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Taglines not comprehensible are


Re: ICU Outdated - Ideas

2004-08-03 Thread Leon Brocard
Dan Sugalski sent the following bits through the ether:

 If someone's tempted to do 3) Write our own Unicode system, I'm OK 
 with that too. The string internals doc needs writing, and I can get 
 that done.

IIRC the mono people wrote their own, but with the ICU data files.
Apart from license issues, this might be an interesting thing to look
at.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Better to understand a little than to misunderstand a lot


Re: [PATCH] signals under x86_64

2004-04-02 Thread Leon Brocard
Adam Thomason sent the following bits through the ether:

 No troubles here (see the palaeodictyoptera tinderbox).  Is procps
 up-to-date?  Is NPTL causing different PIDs to show up?

OK, chalk it up to dodgy Fedora in that case. Please do not apply
patch.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... I used to have a handle on life, then it broke


[PATCH] remove unused parameter from pbc.c

2004-04-01 Thread Leon Brocard
Removes a warning.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... We're not worthy! We're not worthy!
Index: imcc/pbc.c
===
RCS file: /cvs/public/parrot/imcc/pbc.c,v
retrieving revision 1.69
diff -u -r1.69 pbc.c
--- imcc/pbc.c  18 Mar 2004 08:56:58 -  1.69
+++ imcc/pbc.c  31 Mar 2004 09:56:29 -
@@ -214,7 +214,7 @@
 
 /* allocate a new globals.cs-subs structure */
 static void
-make_new_sub(struct Parrot_Interp *interpreter, IMC_Unit * unit)
+make_new_sub(struct Parrot_Interp *interpreter)
 {
 struct subs *s = mem_sys_allocate_zeroed(sizeof(struct subs));
 if (!s)
@@ -846,7 +846,7 @@
 
 if (!unit-instructions)
 return 0;
-make_new_sub(interpreter, unit); /* we start a new compilation unit */
+make_new_sub(interpreter); /* we start a new compilation unit */
 return 0;
 }
 


[PATCH] longness in pf_items.c

2004-04-01 Thread Leon Brocard
On our shiny 64-bit Opteron box I get a warning here. This silences
the warning.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Borg? Where? I don't se*(#$#..NO CARRIER
Index: pf/pf_items.c
===
RCS file: /cvs/public/parrot/pf/pf_items.c,v
retrieving revision 1.13
diff -u -r1.13 pf_items.c
--- pf/pf_items.c   4 Mar 2004 11:15:52 -   1.13
+++ pf/pf_items.c   31 Mar 2004 09:59:19 -
@@ -572,7 +572,7 @@
 }
 }
 }
-assert( ((int)charcursor  3) == 0);
+assert( ((long)charcursor  3) == 0);
 LVALUE_CAST(char *, cursor) = charcursor;
 return cursor;
 }


[PATCH] signals under x86_64

2004-04-01 Thread Leon Brocard
Signals no worky under x86_64. I don't really understand why. Seeing
as we're skipping on lots of platforms anyway, I've added it to the
list of skipped platforms.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... (the gentle sound of crashing software)
Index: t/pmc/signal.t
===
RCS file: /cvs/public/parrot/t/pmc/signal.t,v
retrieving revision 1.8
diff -u -r1.8 signal.t
--- t/pmc/signal.t  18 Mar 2004 16:24:16 -  1.8
+++ t/pmc/signal.t  31 Mar 2004 09:59:40 -
@@ -18,18 +18,20 @@
 
 use Parrot::Test;
 use Test::More;
+use POSIX ('uname');
 use strict;
 
+my $arch = (uname())[-1];
+
 my %platforms = map {$_=1} qw/
 hpux
 linux
 /;
 
-if ($platforms{$^O}) {
-plan tests = 3 * 2;
-}
-else {
+if ($arch eq 'x86_64' || !$platforms{$^O}) {
 plan skip_all = 'No events yet';
+} else {
+plan tests = 3 * 2;
 }
 
 #


Re: [PATCH] signals under x86_64

2004-04-01 Thread Leon Brocard
Leopold Toetsch sent the following bits through the ether:

 Is this available on e.g. Windows?

Possibly, it's just POSIX. I have no way to test this however.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Bother, said Pooh as the brakes went out!


Re: [PATCH] remove unused parameter from pbc.c

2004-04-01 Thread Leon Brocard
Leopold Toetsch sent the following bits through the ether:

 Both interpreter and unit aren't unused, if JIT is enabled. Changed a
 bit.

Ooh. Oops. Anyway, warnings bad.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Always remember you're unique, just like everyone else


Re: Fwd: TALK:4-5-04 A (Grand?) Unified Theory of Storage Reclamation

2004-03-31 Thread Leon Brocard
Dan Sugalski sent the following bits through the ether:

 A (Grand?) Unified Theory of Storage Reclamation
Slides here: http://www.research.ibm.com/people/d/dfb/talks/Bacon04Grand.ppt

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... A living example of Artificial Intelligence


testers.cpan.org ideas

2004-03-09 Thread Leon Brocard
Hello.

Having got a Perl release out of the way, I'm now back to working
on http://testers.cpan.org/

Does anyone have any features they'd like to see on the website? I'm
looking at extracting more information (Perl version, platform) and
having pages (and thus RSS) per author.

Cheers, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... I love it when a plan comes together!


Re: testers.cpan.org ideas

2004-03-09 Thread Leon Brocard
Adrian Howard sent the following bits through the ether:

 RSS feeds would be *very* nice :-)

Easy request to fulfill - it already does has an RSS feed per
distribution. The bottom of
http://testers.cpan.org/show/Test-Exception.html points out:
http://testers.cpan.org/show/Test-Exception.rss

So now I want an RSS feed per author, so I don't have to subscribe to
30 RSS feeds ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... $$$ not found -- (A)bort (R)efinance (B)ankrupt


Re: Distributed testing idea

2004-03-01 Thread Leon Brocard
Michael G Schwern sent the following bits through the ether:

 So what I need is some way to set up a network of test servers such that
 I can say test this module for me and my testing client would ship it
 to as many test servers as it can find and get the results back all in
 just a few minutes.

The scheme that you propose sounds awfully like a messaging system.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... But I don't *like* ponies!


Re: Objects and time

2004-02-23 Thread Leon Brocard
Dan Sugalski sent the following bits through the ether:

 So, the question--shall we do objects and maybe miss the Feb 29th 
 release, or do the Feb 29th release and do objects for the next 
 release?

Objects please!

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... That's Ren and Stimpy - they're way existential


Smoking CPAN

2004-02-10 Thread Leon Brocard
Hello.

I've had more time recently, so I smoke tested the Phalanx 100. 
Files are attached. Also see http://search.cpan.org/dist/Haul/

So, what it does is:

foreach module to do
  start out with a fresh perl 5.8.3 with nothing else installed
  try and install the module  its deps
  ... report OK or TIMEOUT (infinite loops or things)
hcaerof

It's very simple, and some wheels may have been reinvented in the
process, but I have a computer I'm prepared to dedicate to smoking
cpan. This can check dependencies are correct, and whether modules
work with all versions of Perl. Oh, and Module::Depends rocks.

Comments? Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Useless invention no. 404: Caffeine-free Diet Coke 


install.pl
Description: Perl program
Installing Compress::Zlib...
... done
Installing DBD::mysql...
... done
Installing DBI...
... done
Installing HTML::Parser...
... done
Installing LWP...
... done
Installing Mail::Mailer...
... done
Installing MIME::Base64...
... already installed
Installing URI...
... done
Installing Date::Calc...
... done
Installing Digest::HMAC...
... done
Installing Digest::SHA1...
... done
Installing GD...
... done
Installing HTML::Tagset...
... done
Installing IO::Wrap...
... done
Installing Mail::SpamAssassin...
... done
Installing MIME::Lite...
... done
Installing MIME::Parser...
... done
Installing Net::DNS...
... done
Installing Net::Telnet...
... done
Installing Net::SSLeay...
... done
Installing Parse::RecDescent...
... done
Installing Spreadsheet::WriteExcel...
... done
Installing XML::Parser...
... done
Installing XML::Simple...
... done
Installing Apache::Session...
... done
Installing AppConfig...
... done
Installing Archive::Tar...
... done
Installing Archive::Zip...
... done
Installing Bio::Seq...
... done
Installing Bit::Vector...
... done
Installing CGI::Application...
... done
Installing CGI::Kwiki...
... done
Installing CGI::Session...
... done
Installing Class::DBI...
... done
Installing Class::Date...
... done
Installing Config::IniFiles...
... done
Installing Convert::ASN1...
... done
Installing Crypt::Blowfish...
... done
Installing Crypt::CBC...
... done
Installing Crypt::DES...
... done
Installing Crypt::SSLeay...
... done
Installing Data::ShowTable...
... done
Installing Date::Manip...
... done
Installing DBD::CSV...
... done
Installing DBIx::SearchBuilder...
... done
Installing Error...
... done
Installing Expect...
... done
Installing GD::Graph...
... done
Installing GD::Text...
... done
Installing HTML::Template...
... done
Installing HTML::Tree...
... done
Installing Image::Info...
... done
Installing Image::Size...
... done
Installing Inline...
... done
Installing IO::Tty...
... done
Installing XML::LibXML...
... done
Installing Mail::Sendmail...
... done
Installing MD5...
... done
Installing Module::Build...
... done
Installing MP3::Info...
... done
Installing Net::Daemon...
... done
Installing Net::SNMP...
... done
Installing Params::Validate...
... done
Installing PDF::API2...
... done
Installing PDL...
... timed out (after 10 mins)!


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Leon Brocard
Thomas Klausner sent the following bits through the ether:

 OTOH, it might be an interesting idea to allow CPANTS to compile code (and
 thus use stuff like Devel::Cover) if not testing the whole of CPAN, but
 linting one distribution.

Yes. We've been thinking about this. It either needs stealing buildd
from Debian, having a box we don't mind destroying every so often, or
having a VMware virtual machine we can undo easily. What we need is
more free time ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Ethernet: A device for catching the Ether Bunny


Re: The Great Renaming

2003-09-21 Thread Leon Brocard
Brent Dax sent the following bits through the ether:

 Are there any objections to this?

Sounds good. For embedding (eg Ponie), we're going to have to make
sure that all symbols start with parrot_ / Parrot_...

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Press any key...NO, NO, NO, NOT THAT ONE!!


Re: Testers PASS

2003-08-22 Thread Leon Brocard
alian sent the following bits through the ether:

 I just see that testers.cpan.org now use your interface. Cl. Faaast.

Indeed!
 
 But some problems ...
 We use in CPANPLUS old interface, old url to fetch reports about a dist. 
 So there is no longuer report from CPANPLUS testers since yesterday.

Which interface is this? We can probably fake it with a mod_rewrite
rule if you tell me the details.
 
 Ok, I patch this for use the great yaml I found one the new site, but 
 there is missing info into the yaml file:
 When reports are failed, we just know: this fail.
 I need another field like 'detailed_results' who is an url to detailed 
 report (today http://nntp.x.perl.org/group/perl.cpan.testers/xxx).

If you replace the xxx with the ID then you have the correct URL. The
next release of CPAN testers will have a report_url key containing
this.

HTH, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Don't sweat it - it's only ones and zeros


Re: Testers PASS

2003-08-22 Thread Leon Brocard
alian sent the following bits through the ether:

 The patch is already done. But if there is others apps that use that:
 http://testers.cpan.org/search?request=distdist=$name
 who is now:
 http://testers.cpan.org/show/$name

Done that: http://testers.cpan.org/search?request=distdist=Acme-Colour

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... C program run. C program crash. C programmer quit


Re: Scrutinizing CPAN distributions (was Testing for valid path names...)

2003-08-18 Thread Leon Brocard
Andrew Savige sent the following bits through the ether:

 I'm an enthusiastic admirer of Schwern's CPANTS kwalitee vision and
 aware of Module::CPANTS but unsure about the current state of play.
 Tips on other stuff I should look at are welcome.

[From a Module::CPANTS perspective...]

Module::CPANTS is a small subset of Schwern's original kwalitee
vision, in so far as it is a bunch of metrics that I can easily
extract without eval-ing the whole of CPAN.

The actual module is a big hash of hashes, but I think shipping an
SQLite database might be a better idea in future. I highly recommend
trying out Thomas' web form, which has some good example queries at
the bottom: http://domm.zsi.at/cpants/search

 1) Archive nit-picker. Archive::Any's is_impolite/is_naughty is a
start. Also test for: good cross-platform file names (my
original question); good Changes, README, t/ directory etc..

I like the is_impolite / is_naughty ideas, and will roll them into the
next version. If you have a simple metric for a good cross-platform
filename, that'd be good.

I'm not sure about how you mean a good Changes. For a start, people
call them different things (Changes, CHANGES, ChangeLog etc.), and
format them differently.

What is a good README? To be honest, now that we have web interfaces
to docs on search.cpan.org I don't think that READMEs are terribly
important.

The current version of CPAN reports the number of tests for a
distribution (but only if it's had a FAIL, sigh).
 
 2) POD tester. Use Test::Pod/Pod::Coverage, say, on all POD in a
distribution.

I don't want to eval the whole of CPAN. Maybe we could get the CPAN
Testers to do this?
 
 3) Static Perl code analyser. I suppose PerlTidy, Module::Info,
B::Lint may be helpful. Any others?

To achieve what?
 
 4) Test suite analyser. How good is the test suite? Use perhaps
Devel::Cover to determine how much of the code is covered by
the distribution's test suite.

Sure, convince CPAN Testers to do this ;-)
 
 5) Signature checker.

Sure.

 6) Prerequisite checker.

What would you check, exactly?

 7) Version checker.

What would you check, exactly?
 
 Anything else? Does such a module/script already exist?

Module::CPANTS::Generator contains a number of metric finding
functions.

It's great that somebody else thinks that metrics is a good idea. I
thought it was just Schwern, Thomas and I! ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Hi-ho, hi-ho, it's hand grenades I throw...


Re: Testers PASS

2003-08-14 Thread Leon Brocard
Graham Barr sent the following bits through the ether:

  Now maybe I should ignore the version numbers and instead sort using
  the dates that the module was uploaded to CPAN, but that's external
  information, bah.
 
 That is what search does because guessing at peoples versioning was to
 unpredictable. However using upload dates is also problematic for some
 distributions (eg mod_perl and perl)

It does? The order of the MIME-Lite-HTML page and the backpan dates
don't agree:
http://testers.cpan.org/search?request=distdist=MIME-Lite-HTML

kanga% ls -tr BACKPAN/authors/id/A/AL/ALIAN/MIME-Lite-HTML-*.tar.gz
BACKPAN/authors/id/A/AL/ALIAN/MIME-Lite-HTML-0.1.tar.gz
BACKPAN/authors/id/A/AL/ALIAN/MIME-Lite-HTML-0.3.tar.gz
BACKPAN/authors/id/A/AL/ALIAN/MIME-Lite-HTML-0.4.tar.gz
[...]
BACKPAN/authors/id/A/AL/ALIAN/MIME-Lite-HTML-1.16.tar.gz
BACKPAN/authors/id/A/AL/ALIAN/MIME-Lite-HTML-1.17.tar.gz
BACKPAN/authors/id/A/AL/ALIAN/MIME-Lite-HTML-1.18.tar.gz

Thanks for answering all these questions, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Change is inevitable, except from a vending machine


Re: Testers PASS

2003-08-14 Thread Leon Brocard
Tels sent the following bits through the ether:

 Hm, it generates fast, but wrong results :-)

Ooops, the summaries are wrong. Fixed.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... For Sale: Slightly used message. Enquire within


Re: Testers PASS

2003-08-14 Thread Leon Brocard
alian sent the following bits through the ether:

 About order of v-string:
 It would be good in details results that 1.18 would be first before 1.2.

You're looking at http://testers.astray.com/show/MIME-Lite-HTML.html.
I'm actually sorting using version.pm at the moment, as it seemed to
be the most comprehensive. Sort::Versions didn't really do the right
thing for module versions. See what version.pm says:

  kanga% perl -e 'use version; print version-new(1.9)'
  1.900
  kanga% perl -e 'use version; print version-new(1.10)'
  1.100

perlmodstyle says:

  The most common CPAN version numbering scheme looks like this:
1.00, 1.10, 1.11, 1.20, 1.30, 1.31, 1.32

00modlist.long.html says:

  To be fully compatible with the Exporter and MakeMaker modules you
  should store your module's version number in a non-my package variable
  called $VERSION. This should be a valid floating point number with at
  least two digits after the decimal (ie hundredths, e.g, $VERSION =
  0.01). See Exporter.pm for details.

Thus, I think that my website is correct in sorting the version
numbers. 1.2 should be later than 1.18. I think your versioning system
is wrong ;-)

http://dellah.org/testers/MIME-Lite-HTML gets the version sorting
wrong but right. How do you sort, Iain?

http://testers.cpan.org/search?request=distdist=MIME-Lite-HTML
keeps on timing out, so I don't know what it does. Graham?

Now maybe I should ignore the version numbers and instead sort using
the dates that the module was uploaded to CPAN, but that's external
information, bah.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Blueness is a way of life


Re: Testers PASS

2003-08-14 Thread Leon Brocard
Graham Barr sent the following bits through the ether:

  http://testers.cpan.org/search?request=distdist=MIME-Lite-HTML
  keeps on timing out, so I don't know what it does. Graham?
 
 I just added a new index to the database. It should be much quicker now.

Wow, that's like a 100x speedup. Can you speed up
http://testers.cpan.org/search?request=by-distletter=M too? ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... 1001 Things To Do With Whipped Cream, LGLB (1995)


Re: Approaching m4

2003-08-14 Thread Leon Brocard
Bernhard Schmalhofer sent the following bits through the ether:

 Is there already a testing framework in PIR or PASM? For now I've just 
 tweaked the Makefile from bf.

This looks excellent.

First, may I be the first to say that I'm happy that BF is the
inspiration for so many Parrot projects ;-)

We've used the Perl testing framework (Test::Harness, eg: 1..1\nok 1)
in the main parrot test suite. It's working well for Perl and a Parrot
version of it might be nice idea...

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... I'm not smart enough to lie


Re: Testers PASS

2003-08-04 Thread Leon Brocard
alian sent the following bits through the ether:

 But there is a serious problem with CPAN test database. There is like 
 100 000 reports in the CPAN db.

This is not a big problem. 100_000 reports is a very small database
and I still don't know why the testers.cpan.org site is so slow. I got
annoyed about it and wrote my own as it wasn't open source. It is much
much faster.

http://search.cpan.org/author/LBROCARD/CPAN-WWW-Testers/
http://testers.astray.com/

Comments welcome, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Change is inevitable, except from a vending machine


Re: Testers PASS

2003-08-03 Thread Leon Brocard
Leon Brocard sent the following bits through the ether:

 Secondly, who do I need to convince to add the make test results for
 PASSes too? ;-)

So, does anyone actually have an opinion on this?

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Beulah, peel me a grape.


Re: Testers PASS

2003-08-03 Thread Leon Brocard
Abe Timmerman sent the following bits through the ether:

 Did I misunderstand?

My point is that the CPAN Testers reports for fails have the output of
make test, eg:
http://nntp.x.perl.org/group/perl.cpan.testers/96865

... but passes don't:
http://nntp.x.perl.org/group/perl.cpan.testers/96886

This is inconsistent and we're throwing information away. I say put it
in all the time.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... ASCII and ye shall receive


Re: subroutines and python status

2003-08-01 Thread Leon Brocard
K Stol sent the following bits through the ether:
 
 Actually, I named my little project pirate (s.
 http://members.home.nl/joeijoei/parrot for this) already, but it's a bit of
 a dead end already (although I learnt much of it), so I don't mind.

Quick, we need more parrot jokes...

I don't like things becoming dead-ends. How much work do you think
it'd be to extend it some more and update it to latest Lua? Would it
be worth checking this into parrot CVS?

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Dang this hobby is expensive!


Re: [perl #23085] [PATCH] Off by one error in exceptions.c

2003-07-22 Thread Leon Brocard
J?rgen B?mmels sent the following bits through the ether:

 The offending line is exceptions.c:123
 if (m[strlen(m-1)] != '\n')

Thanks, applied.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... It said, Insert disk #3, but only two will fit!


Testers PASS

2003-07-19 Thread Leon Brocard
Hello,

I've been looking at the testers database (well, downloading the list
via nntp.perl.org really) for Module::CPANTS recently.

In the current version of Module::CPANTS I report the count of PASSes
and FAILs for each distribution. This works well.

I've been looking at gathering the number of tests that a distribution
has. However, it looks like FAILs have this information, eg:

 Failed 1/10 test scripts, 90.00% okay. 3/43 subtests failed, 93.02% okay.

... but PASSes don't. So for the next version of Module::CPANTS I'll
be able to report the number of tests only for those distributions
which have a plan and have failed at least one test.

Firstly, is there a reason for this inconsistency?

Secondly, who do I need to convince to add the make test results for
PASSes too? ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... I am not a photon


Re: [perl #23005] [PATCH] Parrot_sprintf not recognizing 7 in precision

2003-07-16 Thread Leon Brocard
mrnobo1024 sent the following bits through the ether:

 Parrot_sprintf isn't recognizing 7 as a number in the precision field, so
 trying to use that results in a '7' is not a valid sprintf format error.

Thanks, patch applied.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Corrupt REALITY.SYS: Reboot Universe (Y/n)?


ponie

2003-07-10 Thread Leon Brocard
I just noticed that nobody had emailed perl6-internals about
ponie, which was announced yesterday as OSCON.

Ponie is perl 5 on parrot. For more info:
http://use.perl.org/article.pl?sid=03/07/09/0237202

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... C++ should have been called D


Re: [perl #22873] gentoo ebuild ... problem..

2003-07-04 Thread Leon Brocard
Leopold Toetsch sent the following bits through the ether:

 Unknown option: U
 perldoc [options] PageName|ModuleName|ProgramName...
 
 (perldoc is very likely from 5.005; version 1.14)

I was a little hasty with the previous patch, sorry. I blame perldoc's
man page for not sorting options alphabetically.

I've reverted -U back to -u.

We'll need to check the perldoc version and if it's a recent one with
the annoying Superuser must not run /usr/bin/perldoc without security
audit and taint checks. message then run it with -U as well as -u.

Apologies, Leon

ps and I was so proud of my first CVS commit too :-(
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... 668 - Neighbor of the Beast


Re: [perl #22873] gentoo ebuild ... problem..

2003-07-03 Thread Leon Brocard
raptor sent the following bits through the ether:

 As u may see the problem is when docs-generation is done ... the
 perldoc -U has to be used in docs/Makefile so the generation pass
 successfully..
 At the moment it is perldoc -u
 
 Could u correct this thanx alot in advance.

Thanks for the bug report. I've patched parrot in CVS to use perldoc
-U.

To be honest, I'm not entirely sure that any of us actually install
parrot at the moment, but it is a great area to investigate.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... And now for something completely different...


Re: About RT/Perl

2003-03-31 Thread Leon Brocard
Alberto Sim?es/EPL sent the following bits through the ether:

 Anybody can tell me the address for RT/perl software?

http://rt.perl.org/ is what you should be using to submit bugs (and
patches!)

HTH, Leon

ps it runs http://www.bestpractical.com/rt/
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Hackito ergo sum.


Re: A couple easy questions...

2003-02-25 Thread Leon Brocard
David sent the following bits through the ether:

 how can I test to determine the datatype of the object in P1?

You'd be wanting typeof. The following prints out PerlString, for
example:

new P0, .PerlArray
set P0[1], cat
set P0[2], 123
set P0[3], 456.789
set P1, P0[1]
typeof S0, P1
print S0
print \n
end

Leon

ps i fixed your code
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Useless invention no. 404: Inflatable anchor 


0.1.0

2003-02-25 Thread Leon Brocard
David sent the following bits through the ether:

 Thanks. I better upgrade my version, I'm not seeing it in 0.0.9.

It's been a while since 0.0.9 (errr, 20th Dec). A lot has changed
since then. Maybe it's time for a 0.1.0 release. What are we waiting
for? And why do we have so many version numbers? It'd be nice to have
objects, otherwise we're restricted to toy languages.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Komputors nefer maik erers


Re: 0.1.0

2003-02-25 Thread Leon Brocard
Dan Sugalski sent the following bits through the ether:

 While I'll call C many things (not all of them repeatable) I'm not 
 sure toy is one of them. Nor Forth, Fortran, APL, COBOL, Lisp, or 
 Basic... :)

Granted, but those aren't the languages we're interested in. Parrot is
for dynamic languages, and that gives away the fact that objects would
help in their implementation.

 Objects are coming, though I've been too pressed for time recently. 
 String rework first, then objects.

Excellent.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... What's brown and sticky? A stick!


Parrot developer world map

2003-01-28 Thread Leon Brocard
Last week I collected your data. This week I bring you pretty pictures:

  http://www.astray.com/parrot/worldmap/

So London would seem a good place for a Parrot developer day, as would
California. I guess most people will be meeting up at Perl conferences
anyway.

What do people have in mind for such a thing? A room, at least one
computer, an internet connection and a Plan? Are you looking to learn
more about Parrot or do you have something more specific in mind?

Leon

ps feel free to send in your location if you've forgotten to:

-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Famous last words - Don't worry, I can handle it



Re: Compiling to Parrot

2003-01-21 Thread Leon Brocard
K Stol sent the following bits through the ether:

 A few weeks ago I posted something about a Tcl-parrot compiler, but
 Will Coleda already was working on such a project. It would be a as a
 final project for my bachelor's. But because such already exists, I'm
 looking for something else.

An interesting project to do would be to do a Java-Parrot compiler.
Basing it on an existing Java compiler such as Jikes is probably the
best way to do this:
http://oss.software.ibm.com/developerworks/opensource/jikes/
You'd also probably use GNU Classpath:
http://www.gnu.org/software/classpath/classpath.html

HTH, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Hmm... How *did* they finally kill Frosty?



Re: [perl #20400] [PATCH] ook.pasm eval

2003-01-19 Thread Leon Brocard
Leopold Toetsch sent the following bits through the ether:

 No PASM1 is the one-line assembler PDB_compile in debug.c. If you want 
 the whole thing, you have to run imcc instead of parrot and with the 
 PASM compiler, just as the comment states.

Oops, I was confused. ook's 'make test' runs with parrot, so it
doesn't work. I've attached a patch to config/gen/makefiles/ook.in to
make it work with imcc, although I assume we'd want $(IMCC) to work at
some point.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Freedom defined is freedom denied

Index: config/gen/makefiles/ook.in
===
RCS file: /cvs/public/parrot/config/gen/makefiles/ook.in,v
retrieving revision 1.1
diff -u -r1.1 ook.in
--- config/gen/makefiles/ook.in 1 Jan 2003 00:34:15 -   1.1
+++ config/gen/makefiles/ook.in 19 Jan 2003 18:02:38 -
@@ -7,9 +7,7 @@
 all: build
 
 test: build
-   $(PARROT) ook.pbc hello.ook  foo.pasm
-   $(ASSEMBLE) foo.pasm  foo.pbc
-   $(PARROT) foo.pbc
+   ../imcc/imcc -r ook.pasm test.ook
 
 build: ook.pasm
$(ASSEMBLE) ook.pasm  ook.pbc



Re: A work list! (Coming soon)

2002-12-31 Thread Leon Brocard
Nicholas Clark sent the following bits through the ether:

 This is possibly a big stuff wish list. I'm not sure how many are on the maybe
 never list.

I'm a bear of very little brain, errr, a man of few wishes. I wish for:

  o objects
  o a make install which does something sensible
  
Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... You're in a maze of twisty little Java VMs, all different



Curses Life

2002-12-05 Thread Leon Brocard
Leon Brocard sent the following bits through the ether:

 Now to get the hand of the signatures...

Ah, well, I gave up on SDL as it was a little complicated.  Instead, I
played with curses. Please find attached a cute little curses life
program loading and calling curses at runtime with dlfunc.

Oh, and I made the shape a small spaceship as it's more interesting.

[It's a bit of the pain the way it stomps over registers all the time,
though ;-]

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 43rd Law of Computing: Anything that can go wr...

#
# life.pasm
#
# Play conway's (no, not *him*. The other conway) game
# of life
#
# Hacked by Leon Brocard [EMAIL PROTECTED] to use curses


loadlib P1, libcurses.so
dlfunc P0, P1, initscr, i
invoke
dlfunc P0, P1, curs_set, ii
set I5, 0
invoke


# First the generation count
set I2, 5000
# Note the time
time N5
# If true, we don't print
set I12, 0
set S0, 
set S1, 
set S2, 
set S3, 
set S4, **  
set S5,   **
set S6, *   
set S7,   * *   
set S8,**   
set S9, 
set S10,
set S11,
set S12,
set S13,
set S14,
set S15, 
concat S15, S0
concat S15, S1
concat S15, S2
concat S15, S3
concat S15, S4
concat S15, S5
concat S15, S6
concat S15, S7
concat S15, S8
concat S15, S9
concat S15, S10
concat S15, S11
concat S15, S12
concat S15, S13
concat S15, S14
bsr dump
set I0, 0
loop:   ge I0, I2, getout
inc I0
mod I31,I0,100
if I31, skip
skip:

bsr generate

bsr dump
branch loop
getout:

dlfunc P0, P1, curs_set, ii
set I5, 1
invoke
dlfunc P0, P1, endwin, i
invoke


end

# S15 has the incoming string, S0 is scratch, S1 is scratch, S2 is scratch
#
# I0 is the length of the string
# I1 is the current cell we're checking
# I2 is the count for that cell
# I3 is the offset to the neighbor
generate:
pushi
length I0, S15
set S1, 
set I1, 0
genloop:
set I2, 0
NW:
set I3, -16
add I3, I3, I0
add I3, I3, I1
mod I3, I3, I0
substr S0, S15, I3, 1
ne S0, *, North
inc I2
North:
set I3, -15
add I3, I3, I0
add I3, I3, I1
mod I3, I3, I0
substr S0, S15, I3, 1
ne S0, *, NE
inc I2
NE:
set I3, -14
add I3, I3, I0
add I3, I3, I1
mod I3, I3, I0
substr S0, S15, I3, 1
ne S0, *, West
inc I2
West:
set I3, -1
add I3, I3, I0
add I3, I3, I1
mod I3, I3, I0
substr S0, S15, I3, 1
ne S0, *, East
inc I2
East:
set I3, 1
add I3, I3, I0
add I3, I3, I1
mod I3, I3, I0
substr S0, S15, I3, 1
ne S0, *, SW
inc I2
SW:
set I3, 14
add I3, I3, I0
add I3, I3, I1
mod I3, I3, I0
substr S0, S15, I3, 1
ne S0, *, South
inc I2
South:
set I3, 15
add I3, I3, I0
add I3, I3, I1
mod I3, I3, I0
substr S0, S15, I3, 1
ne S0, *, SE
inc I2
SE:
set I3, 16
add I3, I3, I0
add I3, I3, I1
mod I3, I3, I0
substr S0, S15, I3, 1
ne S0, *, check
inc I2
check:
substr S0, S15, I1, 1
eq S0, *, check_alive

# If eq 3, put a star in else a space
check_dead:
eq I2, 3, star
branch space

check_alive:
lt I2, 2, space
gt I2, 3, space
branch star

space:
concat S1,  
branch iter_done
star:
concat S1, *
iter_done:
inc I1
lt I1, I0, genloop
done:
set S15, S1
popi
ret

# S15 has the incoming string, S0 is scratch
dump:
saveall
dlfunc P0, P1, move, iii
set I5, 0
set I6, 0
invoke
restoreall

if I12, dumpend
save I0
save I1

saveall
save I0
dlfunc P0, P1, addstr, it
set S5, Generation: 
invoke
restore I0

dlfunc P0, P1, addstr, it
set S5, I0
invoke

dlfunc P0, P1, refresh, i
invoke
restoreall


set I0, 0
set I1, 14
printloop:
substr S0, S15, I0, 15

saveall
dlfunc P0, P1, addstr, it
set S5, S0
invoke

Re: Adding new function signatures to parrot's NCI call list

2002-11-28 Thread Leon Brocard
Dan Sugalski sent the following bits through the ether:

 Also, at the moment I can't test this

OK, I've had a go. I'm basing the following on the code you mentioned
at http://use.perl.org/~Elian/journal/9147 (of course, you should know
better than to use exit in parrot assembler ;-) and basic code at
http://www.libsdl.org/intro/usinginit.html:

  loadlib P1, libSDL-1.2.so.0
  print Loaded...\n
  dlfunc P0, P1, SDL_Init, i
  print dlfunced...\n
  set I5, 48 # SDL_INIT_AUDIO|SDL_INIT_VIDEO
  invoke
  unless I5, OK
  print SDL_Init failed!\n
  end
OK:
  print SDL_Init worked just fine\n
  end

I get:

Loaded...
dlfunced...
../parrot: relocation error: /usr/lib/libSDL-1.2.so.0: undefined symbol: 
pthread_mutexattr_init

Well, the C code on the page works fine, but of course you have to
link it with -lpthread. How would I do this for the parrot code?

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 (Tagline 3 of 12) - Collect them all!



Perl 6 summary for week beginning 2002-10-07

2002-10-23 Thread Leon Brocard
 ($foo is foo is bar, $bar is baz) = (1,2);

Additionally, it looked like class attributes had changed name from
attr to has.

There was also some talk on the module versioning system, which could be
done with a slice-like notation:

  use Acme[1.0];  # like so
  use Acme[ (1;17..) | (2;0..) ]; # or perhaps
  use Acme[1;17..] | Acme[2;0..]; # or even

I'm pretty sure he was joking, but Larry considered alternatives to the
..., which issues a warning (or maybe an exception) if you try to
execute it. ??? would never complain and !!! would always throw an
exception. Or the other way around. Or one is fatal. Or more likely,
stick with ... and make its behaviour pragmatically controllable.
... is useful for abstract method declaration.

There definitely wasn't any talk about  and |||.

  Perl6 OO Cookbook
Michael Lazzaro made good on his promise last week and produced a
comprehensive Perl 6 OO cookbook describing stuff that hasn't yet been
designed, for a language that doesn't yet exist. It is a great piece of
work and tries to examine real life Perl 6 examples.

There was some discussion of the recipes and the Michael announced that
he wanted to work on an online system for adding new data and many other
changes. Worried about Perl 6 OO? Then check this out:

http://cog.cognitivity.com/perl6/

  In brief
Some of the Parrot tests still don't work under Win32.

Some bugs in various bits of the Parrot JITs were found, and some fixed.

Dakkar found a bug in the Perl 6 compiler which basically boiled down to
checking for truth instead of definedness. Hopefully Perl 6 will remove
this particular problem for us ;-)

We probably need more tinderboxes.

Brent Dax promises to fit a pony into his next patch.

Simon Glover added quite a few tests and pieces of documentation.

C structs need to be padded for the more exotic architectures and
compilers.

There are still some DOD / GC bugs.

  Who's Who in Perl6
Once more we get to meet people involved in the development of Perl 6.

Who are you?
Jerome Quelin.

What do you do for/with Perl 6?
I wrote a Befunge interpreter in Parrot assembly. Now I'm waiting
for Parrot to handle multiarrays and objects in order to implement
the Befunge-98 specs.

Where are you coming from?
Some Perl Golf rumors have said that I'm an alien coming from Mars.

When do you think Perl 6 will be released?
Some day.

Why are you doing this?
In order to have a chance to understand Perl 6 sources. And because
Befunge is a fun language, that deserves to be supported by Parrot.

You have 5 words. Describe yourself.
Perl Golf and Befunge addicted.

Do you have anything to declare?
Befunge rocks.

  Acknowledgements
This summary was brought to you with slightly less distraction from
Super Mario Sunshine and more recognition of the sterling work that
Piers does every week.

As Piers says: One more, if you think this summary has value send money
to the Perl Foundation http://donate.perl-foundation.org and feed back
and/or T?iBooks to me, mailto:pdcawley;bofh.org.uk. As usual, the fee
paid for publication of this summary on perl.com has been donated
directly to the Perl Foundation.

Enjoy, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 That does not compute



Re: C# and Parrot

2002-10-21 Thread Leon Brocard
Bryan C. Warnock sent the following bits through the ether:

 Interesting read.  Dan skimmed over this, but what do .NET (and JVM) doe
 for floating point numbers?

For the JVM:
http://java.sun.com/docs/books/vmspec/2nd-edition/html/Concepts.doc.html#19511

The floating-point types are float and double, which are conceptually
associated with the 32-bit single-precision and 64-bit
double-precision IEEE 754 values and operations as specified in IEEE
Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Standard
754-1985 (IEEE, New York).

More details at:
http://java.sun.com/docs/books/vmspec/2nd-edition/html/Concepts.doc.html#33377

HTH, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 Cryptonomicon: The girl's guide to geek guys



Re: C# and Parrot

2002-10-20 Thread Leon Brocard
Leon Brocard sent the following bits through the ether:

 It looks like the DotGNU weekly IRC meeting will be discussing
 Parrot. Could be interesting:

It was quite interesting. I managed to make it to the early one and
Dan to the later one. An annotated and abridged chatlog is available:
http://dotgnu.info/pipermail/developers/2002-October/008380.html

It looks like we're going to need 8,16,32,64 bit types...

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 43rd Law of Computing: Anything that can go wr...



Re: C# and Parrot

2002-10-18 Thread Leon Brocard
Rhys Weatherley sent the following bits through the ether:

 The Portable.NET C# compiler, cscc, is very extensive, and is
 capable of generating output for multiple bytecode formats (IL
 and JVM are currently supported, more or less).

Oh, excellent. If you're already targeting both then it should be
fairly easy to target Parrot too (still-to-be-developed-features not
withstanding. This is quite interesting indeed, especially if you have
a good test suite ;-) I'll try and have a look at it over the weekend.

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 Dyslexics of the world, untie!



Re: C# and Parrot

2002-10-18 Thread Leon Brocard
Rhys Weatherley sent the following bits through the ether:

 DotGNU is currently reaching out to other projects in the OSS/FS
 world to see how we can help you and how you might be able to
 help us.

It looks like the DotGNU weekly IRC meeting will be discussing
Parrot. Could be interesting:
http://www.dotgnu.org/pipermail/developers/2002-October/008345.html

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 Drive A: format failure, formatting C: instead...



Perl 6 summary for week beginning 2002-10-07

2002-10-15 Thread Leon Brocard
 name from
attr to has.

There was also some talk on the module versioning system, which could be
done with a slice-like notation:

  use Acme[1.0];  # like so
  use Acme[ (1;17..) | (2;0..) ]; # or perhaps
  use Acme[1;17..] | Acme[2;0..]; # or even

I'm pretty sure he was joking, but Larry considered alternatives to the
..., which issues a warning (or maybe an exception) if you try to
execute it. ??? would never complain and !!! would always throw an
exception. Or the other way around. Or one is fatal. Or more likely,
stick with ... and make its behaviour pragmatically controllable.
... is useful for abstract method declaration.

There definitely wasn't any talk about  and |||.

  Perl6 OO Cookbook
Michael Lazzaro made good on his promise last week and produced a
comprehensive Perl 6 OO cookbook describing stuff that hasn't yet been
designed, for a language that doesn't yet exist. It is a great piece of
work and tries to examine real life Perl 6 examples.

There was some discussion of the recipes and the Michael announced that
he wanted to work on an online system for adding new data and many other
changes. Worried about Perl 6 OO? Then check this out:

http://cog.cognitivity.com/perl6/

  In brief
Some of the Parrot tests still don't work under Win32.

Some bugs in various bits of the Parrot JITs were found, and some fixed.

Dakkar found a bug in the Perl 6 compiler which basically boiled down to
checking for truth instead of definedness. Hopefully Perl 6 will remove
this particular problem for us ;-)

We probably need more tinderboxes.

Brent Dax promises to fit a pony into his next patch.

Simon Glover added quite a few tests and pieces of documentation.

C structs need to be padded for the more exotic architectures and
compilers.

There are still some DOD / GC bugs.

  Who's Who in Perl6
Once more we get to meet people involved in the development of Perl 6.

Who are you?
Jerome Quelin.

What do you do for/with Perl 6?
I wrote a Befunge interpreter in Parrot assembly. Now I'm waiting
for Parrot to handle multiarrays and objects in order to implement
the Befunge-98 specs.

Where are you coming from?
Some Perl Golf rumors have said that I'm an alien coming from Mars.

When do you think Perl 6 will be released?
Some day.

Why are you doing this?
In order to have a chance to understand Perl 6 sources. And because
Befunge is a fun language, that deserves to be supported by Parrot.

You have 5 words. Describe yourself.
Perl Golf and Befunge addicted.

Do you have anything to declare?
Befunge rocks.

  Acknowledgements
This summary was brought to you with slightly less distraction from
Super Mario Sunshine and more recognition of the sterling work that
Piers does every week.

As Piers says: One more, if you think this summary has value send money
to the Perl Foundation http://donate.perl-foundation.org and feed back
and/or T?iBooks to me, mailto:[EMAIL PROTECTED]. As usual, the fee
paid for publication of this summary on perl.com has been donated
directly to the Perl Foundation.

Enjoy, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng



Re: Hi - Regarding JVM - parrot compatibility

2002-10-14 Thread Leon Brocard

Karthik Kumar sent the following bits through the ether:

 Can you please let me know if any work going on relative to this or
 any src code tree that you would me to look into.

Hiya. I've have worked on the past on trying to get JVM bytecodes
working inside Parrot, but mostly that hasn't got very far due to lack
of free time or motivation.

It's very easy to get simple stuff working due to the low number of
JVM bytecodes. You can emulate iinc quite easily ;-) However, it's
getting the classes and object system to work which is a little
harder.

This may help: http://search.cpan.org/dist/Java-JVM-Classfile/

In the past couple of weeks I've been wondering whether a hybrid
scheme a la Inline::Java where we dispatch stuff to a real JVM may be
a faster approach to get running.

Why, what exactly did you have in mind?

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 Holy Smoke Batman, it's the Joker!



Re: [perl #17811] [PATCH] create pmcs with pmc initializer

2002-10-14 Thread Leon Brocard

Jonathan Sillito sent the following bits through the ether:

 I have been playing with classes and instances for parrot. In 
 the process I found I needed a way to pass more information when 
 creating new pmcs. So the attached patch adds the op:
 new (out PMC, in INT, in PMC)

Oh, I see nobody has replied to this yet. Well, in the past this
feature existed in Parrot, but then was taken out again, presumably
because there was a better way to do it. However, I'm not sure what
that way may be. Can anyone shed some light upon this?

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 The weirdest thing just happened to me



Re: [perl #17159] imcc / Mac OS X problem

2002-09-12 Thread Leon Brocard

Leopold Toetsch sent the following bits through the ether:

 Could you try my second proposal?

Sure. The patch I tried is attached, which fixes up a lot of the
warnings. However, I now get:

cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o imcparser.o -c imcparser.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o imclexer.o -c imclexer.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o imc.o -c imc.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o stacks.o -c stacks.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o symreg.o -c symreg.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o instructions.o -c instructions.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o cfg.o -c cfg.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o sets.o -c sets.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o debug.o -c debug.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o anyop.o -c anyop.c
cc -o imcc  imcparser.o imclexer.o imc.o stacks.o symreg.o instructions.o cfg.osets.o 
debug.o anyop.o  ../../platform.o -lm
ld: multiple definitions of symbol _n_spilled
imcparser.o definition of _n_spilled in section (__DATA,__common)
imc.o definition of _n_spilled in section (__DATA,__common)
make: *** [imcc] Error 1

If only I knew more C / linker foo...

Cheers, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 According to my calculations the problem doesn't exist


Index: cfg.h
===
RCS file: /cvs/public/parrot/languages/imcc/cfg.h,v
retrieving revision 1.4
diff -u -r1.4 cfg.h
--- cfg.h   27 Aug 2002 06:48:44 -  1.4
+++ cfg.h   12 Sep 2002 08:53:47 -
 -1,6 +1,12 
 
 /* Data structures: */
 
+#ifdef MAIN
+#define EXTERN
+#else
+#define EXTERN extern
+#endif
+
 /* Two-way linked list of predecessors and successors */
 typedef struct _edge {
 struct _basic_block *from;
 -22,9 +28,9 
 } Basic_block;
 
 /* Globals: */
-Basic_block **bb_list;
-int n_basic_blocks;
-Set** dominators;
+EXTERN Basic_block **bb_list;
+EXTERN int n_basic_blocks;
+EXTERN Set** dominators;
 
 /* Functions: */
 
Index: imc.h
===
RCS file: /cvs/public/parrot/languages/imcc/imc.h,v
retrieving revision 1.12
diff -u -r1.12 imc.h
--- imc.h   27 Aug 2002 06:48:44 -  1.12
+++ imc.h   12 Sep 2002 08:53:47 -
 -13,6 +13,12 
 #  define EX_UNAVAILABLE 1
 #endif
 
+#ifdef MAIN
+#define EXTERN
+#else
+#define EXTERN extern
+#endif
+
 #include symreg.h
 #include instructions.h
 #include sets.h
 -47,11 +53,11 
 char *str_dup(const char *);
 char *str_cat(const char *, const char *);
 
-int IMCC_DEBUG;
-int IMCC_LIFE_INFO;
-int IMCC_VERBOSE;
-int n_spilled;
-SymReg** interference_graph;
+EXTERN int IMCC_DEBUG;
+EXTERN int IMCC_LIFE_INFO;
+EXTERN int IMCC_VERBOSE;
+EXTERN int n_spilled;
+EXTERN SymReg** interference_graph;
 
 
 
Index: imcc.y
===
RCS file: /cvs/public/parrot/languages/imcc/imcc.y,v
retrieving revision 1.21
diff -u -r1.21 imcc.y
--- imcc.y  6 Sep 2002 07:13:52 -   1.21
+++ imcc.y  12 Sep 2002 08:53:47 -
 -13,8 +13,10 
 #include stdio.h
 #include stdlib.h
 #include assert.h
-#include imc.h
 #include anyop.h
+
+#define MAIN
+#include imc.h
 
 #define YYDEBUG 1
 
Index: instructions.h
===
RCS file: /cvs/public/parrot/languages/imcc/instructions.h,v
retrieving revision 1.6
diff -u -r1.6 instructions.h
--- instructions.h  27 Aug 2002 06:48:44 -  1.6
+++ instructions.h  12 Sep 2002 08:53:47 -
 -1,3 +1,8 
+#ifdef MAIN
+#define EXTERN
+#else
+#define EXTERN extern
+#endif
 
 /* Types */
 
 -58,5 +63,5 
 
 /* Globals */
 
-Instruction* instructions;
+EXTERN Instruction* instructions;
 
Index: symreg.h
===
RCS file: /cvs/public/parrot/languages/imcc/symreg.h,v
retrieving revision 1.4
diff -u -r1.4 symreg.h
--- symreg.h27 Aug 2002 06:48:44 -  1.4
+++ symreg.h12 Sep 2002 08:53:47 -
 -1,3 +1,8 
+#ifdef MAIN
+#define EXTERN
+#else
+#define EXTERN extern
+#endif
 
 /* constants */
 
 -61,5 +66,5 
 
 /* globals */
 
-SymReg * hash[HASH_SIZE];
-int n_symbols;
+EXTERN SymReg * hash[HASH_SIZE];
+EXTERN int n_symbols;



Re: [perl #17159] imcc / Mac OS X problem

2002-09-12 Thread Leon Brocard

Leopold Toetsch sent the following bits through the ether:

 And finally, in imc.c there is another »int n_spilled;«, please delete 
 this line.

Cool, I've done the past two patches and it compiles but then fails to
compile parrot shared:

cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o imcparser.o -c imcparser.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o imclexer.o -c imclexer.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o imc.o -c imc.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o stacks.o -c stacks.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o symreg.o -c symreg.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o instructions.o -c instructions.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o cfg.o -c cfg.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o sets.o -c sets.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o debug.o -c debug.c
cc -pipe -fno-common -no-cpp-precomp -fno-strict-aliasing -pipe -fno-common  
-g-I../../include -o anyop.o -c anyop.c
cc -o imcc  imcparser.o imclexer.o imc.o stacks.o symreg.o instructions.o cfg.osets.o 
debug.o anyop.o  ../../platform.o -lm
cd ../..  make shared  rm -f parrot  make
cd classes  make  cd ..
make[2]: Nothing to be done for `all'.
cc -shared  -L/usr/local/lib -flat_namespace   -o blib/lib/libparrot.so exceptions.o 
global_setup.o interpreter.o parrot.o register.o core_ops.o core_ops_prederef.o 
memory.o packfile.o stacks.o string.o sub.o encoding.o chartype.o runops_cores.o 
trace.o pmc.o key.o hash.o core_pmcs.o platform.o jit.o jit_cpu.o resources.o rx.o 
rxstacks.o intlist.o embed.o warnings.o misc.o core_ops_cg.o packout.obyteorder.o 
debug.o smallobject.o headers.o dod.o method_util.o io/io.o io/io_buf.o io/io_unix.o 
io/io_win32.o io/io_stdio.o classes/array.o classes/boolean.o classes/continuation.o 
classes/coroutine.o classes/csub.o classes/default.o classes/intlist.o 
classes/intqueue.o classes/key.o classes/multiarray.o classes/perlarray.o 
classes/perlhash.o classes/perlint.o classes/perlnum.o classes/perlstring.o 
classes/perlundef.o classes/pointer.o classes/sub.o encodings/singlebyte.o 
encodings/utf8.o encodings/utf16.o encodings/utf32.o chartypes/unicode.o 
chartypes/usascii.o -lm
cc: unrecognized option `-shared'
ld: Undefined symbols:
_main
make[1]: *** [blib/lib/libparrot.so] Error 1
make: *** [all] Error 2

Thanks, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 Borderline psychotic with hermit-like tendencies



Re: [perl #17159] imcc / Mac OS X problem

2002-09-12 Thread Leon Brocard

Andy Dougherty sent the following bits through the ether:

 Yup,  That's a long-standing bug.  Here, again, is the correct fix for it.

Cool, finally imcc works. Now, what's the best way to roll in all the
patches? Are they the correct fixes?

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 SYSTEM ERROR:  press F13 to continue...



Re: [perl #16874] [BUG] Concatenation failing

2002-09-03 Thread Leon Brocard

Leon Brocard sent the following bits through the ether:

 I have a weird bug where concatenation is sometimes failing

Well, this bug is still here. I saw some patches fly by but which of
them is the right patch and can it be applied please? ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 It's not in the manual!



Targeting Parrot slides

2002-07-30 Thread Leon Brocard

The slides for the talk I presented at the O'Reilly Open Source
conference last week in Sad Diego are now available:
http://www.astray.com/targeting_parrot/
Note that more Parrot talks are at http://www.parrotcode.org/talks/

FYI The conference went well and I'm sure Dan will get his slides up
soon. BTW anyone want to work on getting Parrot to use less memory so
it can run on palmtops? ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 Try? Try not. Do, or do not. There is no try



Re: PARROT QUESTIONS: Keyed access

2002-07-22 Thread Leon Brocard

Ashley Winters sent the following bits through the ether:

 Err, is this a bad time to ask where ParrotTuple is? :)

I think ParrotTuple would make a great first project for anyone who
wants to learn more about PMCs. It will also be fairly simple and
small, so if lots of docs were also included it would make an ideal
PMC to learn from in future. Any takers? ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 If this were an actual tagline, it would be funny



Re: RFC - Hashing PMC's albie@alfarrabio.di.uminho.pt

2002-07-22 Thread Leon Brocard

Alberto Manuel Brandão Simões sent the following bits through the ether:

 This means one more function to the vtable!

FWIW every object in Java must implement a hashCode method:
http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#hashCode()

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 If I were you, who'd be me?



Re: pmc RECALL command for preprocessor

2002-07-22 Thread Leon Brocard

Tanton Gibbs sent the following bits through the ether:

 I implemented a RECALL preprocessor directive for the pmc classes.
 ...
 Thus ensuring that the correct semantics always occur.

I'm afraid I don't quite understand what RECALL is supposed to do.
Can you explain it in a little more detail?

Cheers, Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 This sentence no verb



Re: minitutorial on submitting patches

2002-07-22 Thread Leon Brocard

Aldo Calpini sent the following bits through the ether:

 this is a little tutorial about submitting patches
 (should be added to a FAQ, or somewhere where it's handy
 for people like me that tend to forget everything :-).

This is really handy. While writing up the Perl 6 summary I've noticed
that there were a couple of patches which appear to have slipped
though the gapes. Patch authors - if you follow the Parrot patch
procedure we won't forget your patches!

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 There's someone in my head, but its not me



Re: Parrot contribution - #parrot stream parser.

2002-07-14 Thread Leon Brocard

Jim Cromie sent the following bits through the ether:

 can we could invent a super-lightweight markup language
 that #parrot-eers would type into the stream to put meta-info into it ?

OK, I'll finally join this discussion. Yes, IRC is handy for realtime
questions like (just an example as it happened last night):

19:33  blogan What's the best way to debug parrot?
19:33  seano probably parrot -t
19:33  seano 'least that's what I do.  launch a parrot -t foo.pbc in gdb
19:36  blogan OK, it's the -t that's the key.
19:37 acme if you want to debug parrot code, there's also the parrot
  debugger: do make pdb

And look, once we found a problem it made it straight to the list. IRC
is useful as a supplement to the list. Sometimes it's easier to hash
things out in real time, but mostly people just want to check
something out before either producing a patch or initiating further
discussion onlist. Don't worry about IRC. If you want to help develop
parrot, it's another avenue but you're not missing important things in
the Parrot world if you're not on it as everything happens
onlist.

OK, apart for general more docs what in particular does anyone not
understand about Parrot? We'll try and help and then add docs or
whatever.

HTH, Leon

ps as it so happens, blogan's question could go into a faq...
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

 I'd love to go out with you, but I'm taking punk totem pole carving



Re: [PATCH] perlarray strange behaviour

2002-07-02 Thread Leon Brocard

Jeff sent the following bits through the ether:

 It runs strange code because it depends upon partially-deprecated code.
 Try 'set P0[2], 1' and 'set I0,P0[-2]'...

OK, when will we get set P0[2], P2? Is it because the semantics aren't
defined yet? Do we copy or leave references? I really need proper
nested datastructures... ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 I have seen the evidence. I want DIFFERENT evidence!



parrotcode.org examples updated

2002-06-06 Thread Leon Brocard

It was long overdue but I've finally updated the examples page on
parrotcode.org: http://www.parrotcode.org/examples/

Main changes:
  The calling conventions have been completely changed from
  callee-save to caller-save. The examples have been updated and are now
  much more comprehensive.

  Updated the examples to work with the new assembler. 

The new, calling-convention-following examples do look a little
unwieldy, but hopefully they show how the real thing is going to
work. I may have got things wrong - can you check I understand it
correctly?

[Of course, within a library/subroutine that are never called
externally you're welcome to optimise away and ignore the calling
conventions]

Next update will be PMC examples... Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 Abandon all hope ye who have entered cyberspace



BF interpreter

2002-05-30 Thread Leon Brocard

Hello.

I've been looking at languages to run under Parrot, and I choose a
certain language which is turing complete in eight instructions. Start
with the small ones eh? Unfortunately its name is not family
friendly. An interpreter is attached, although you'll need to add the
chr() operator (see the patch). A BF compiler would be neat too, of
course.

Any chance of this going in the languages directory if I provide more
docs and examples?

Leon

ps yes, interpreters for real languages on the way
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 (This tagline in Stereo where available)


# A Brainfuck interpreter
# By Leon Brocard [EMAIL PROTECTED]
# 
# See http://www.catseye.mb.ca/esoteric/bf/
# for more information on this silly language

  # Get the brainfuck source file into S0
  get_keyed S0, P0, 1
  if S0, SOURCE
  get_keyed S0, P0, 0
  print usage: ./parrot 
  print S0
  print  file.bf\n

  # Read the file into S1
SOURCE:
  open I0, S0
SOURCE_LOOP:
  readline S2, I0
  concat S1, S2
  if S2, SOURCE_LOOP
  close I0

  length I30, S1

  # Initialise

  set I0, 0 # Our PC
  new P0, PerlArray # Our memory
  set I1, 0 # Our pointer

  # The main interpreter loop
INTERP:
  substr S0, S1, I0, 1
  ne S0, +, NOTPLUS
  get_keyed I2, P0, I1
  inc I2
  set_keyed P0, I1, I2
  goto NEXT

NOTPLUS:
  ne S0, -, NOTMINUS
  get_keyed I2, P0, I1
  dec I2
  set_keyed P0, I1, I2
  goto NEXT

NOTMINUS:
  ne S0, , NOTGT
  inc I1
  goto NEXT

NOTGT:
  ne S0, , NOTLT
  dec I1
  goto NEXT

NOTLT:
  ne S0, [, NOTOPEN

  get_keyed I2, P0, I1
  if I2, NEXT
  set I2, 0 # depth

OPEN_LOOP:
  inc I0
  substr S2, S1, I0, 1
  ne S2, [, OPEN_NOTOPEN
  inc I2
  goto OPEN_LOOP
OPEN_NOTOPEN:
  ne S2, ], OPEN_LOOP
  eq I2, 0, NEXT
  dec I2
  goto OPEN_LOOP

NOTOPEN:
  ne S0, ], NOTCLOSE
  set I2, 0 # height

CLOSE_LOOP:
  dec I0
  substr S2, S1, I0, 1
  ne S2, ], CLOSE_NOTCLOSE
  inc I2
  goto CLOSE_LOOP
CLOSE_NOTCLOSE:
  ne S2, [, CLOSE_LOOP
  eq I2, 0, INTERP
  dec I2
  goto CLOSE_LOOP

NOTCLOSE:
  ne S0, ., NOTDOT
  get_keyed I2, P0, I1
  chr S31, I2
  print S31
  goto NEXT

NOTDOT:
  ne S0, ,, NEXT
  readline S31, 0
  ord I2, S31
  set_keyed P0, I1, I2
  goto NEXT

NEXT:
  inc I0
  le I0, I30, INTERP
  end




+[-].+++[-]+.+++..+++.[-][-]
.+++[+-].[+++-].+++.--..[-][
-]+.[-]++.


Index: core.ops
===
RCS file: /cvs/public/parrot/core.ops,v
retrieving revision 1.144
diff -u -r1.144 core.ops
--- core.ops23 May 2002 18:36:49 -  1.144
+++ core.ops30 May 2002 10:06:15 -
@@ -207,6 +207,22 @@
   goto NEXT();
 }
 
+=item Bchr(out STR, in INT)
+
+Returns the character represented by the $2 number in the ASCII
+character set.
+
+=cut
+
+inline op chr (out STR, in INT) {
+  STRING *s;
+  s = string_make(interpreter, $1, (UINTVAL)1, NULL, 0, NULL);
+  *(char *)s-bufstart = $2;
+  s-strlen = 1;
+  $1 = s;
+  goto NEXT();
+}
+
 
 
 



Re: BF interpreter

2002-05-30 Thread Leon Brocard

Clinton A. Pierce sent the following bits through the ether:

 If you'd like a pure-PASM chr() operator, see the BASIC interpreter in 
 expr.pasm.  I essentially do (everything in BASIC is on the stack...excuse 
 the restore and saves...):

Oooh, interesting hack!

Of course, the discussion that should come up that we have an ord() in
Parrot but not a chr(). I realise mine is a bit of a hack, but I
really don't understand the current string encoding stuff. Is it
finished? Do we need lots of unicode hacking? Do we need to work on
ICU-lite? Will this patch get in in the meantime? ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 He who reads many fortunes gets confused



Re: Parrot and Mono / .Net

2002-05-24 Thread Leon Brocard

Sebastian Bergmann sent the following bits through the ether:

 It'd be great if you could comment of different goals, etc. between
 Parrot and the .Net concept.

Oh, this happens to be a FAQ. The main reason is:

http://www.parrotcode.org/faq/

* Why your own virtual machine? Why not compile to JVM/.NET?

  Those VMs are designed for statically typed languages. That's fine,
  since Java, C#, and lots of other languages are statically typed. Perl
  isn't. For a variety of reasons, it means that perl would run more
  slowly there than on an interpreter geared towards dynamic languages.

The main problem is that Perl is so dynamic. You can redefine almost
anything in Perl at runtime. This means we need a very dynamic virtual
machine behind it in order to run Perl (and possibly Ruby, Python)
efficiently.

Hope this helps, Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 Windows Error: 002 No error, yet



jvm.ops

2002-05-01 Thread Leon Brocard

Over the weekend I've been thinking about Targeting Parrot. My
thoughts went something like this: Parrot is a register machine. The
Java virtual machine is a stack machine. Parrot is also a stack
machine. Instead of converting Java bytecode to Parrot bytecode, I can
make Parrot into a JVM. And lo, so I did (for a small number of opcodes):

This is Java source code:

public static void spin() {
  int i;
  for(i = 0, i  12345678; i++);
  System.out.print(i);
}

which turns into the following Java bytecode:

   0 iconst_0
   1 istore_0
   2 goto 8
   5 iinc 0 1
   8 iload_0
   9 sipush 1000
  12 if_icmplt 5
  15 getstatic #3 Field java.io.PrintStream out
  18 iload_0
  19 invokevirtual #4 Method void print(int)
  22 return

On a different VM, not so far away:

# This is Parrot assembler:
  iconst_0
  istore_0
  goto  IN
REDO: iinc  0, 1
IN:   iload_0
  sipush12345678
  if_icmplt REDO
  iload_0
  jvm_print
  end

Cute, huh? Of course, Java interpreters are very optimised (and
non-dynamic) and without JITs doing it in Parrot is about 6 times
slower, but it's interesting nevertheless. Is this the kind of thing I
should be doing? I've attached a fledgling jvm.ops. Does my C code
look ok?

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 (c) The Intergalactic Thought Association


/*
** jvm.ops
*/

VERSION = PARROT_VERSION;

=head1 NAME

jvm.ops

=cut

=head1 DESCRIPTION

Library of ops for Parrot which resemble the JVM ops

=cut

###

=head2 Basic ops

These are the fundamental operations.

=over 4

=cut

=item Biadd()

Pop two integers off the stack, add them together and push the result
on the stack.

=cut

op iadd() {
  INTVAL x, y;
  stack_pop(interpreter, interpreter-user_stack, y, STACK_ENTRY_INT);
  stack_pop(interpreter, interpreter-user_stack, x, STACK_ENTRY_INT);
  x = x + y;
  stack_push(interpreter, interpreter-user_stack, x, STACK_ENTRY_INT, 
STACK_CLEANUP_NULL);
  goto NEXT();
}

op iconst_0() {
  INTVAL x = 0;
  stack_push(interpreter, interpreter-user_stack, x, STACK_ENTRY_INT, 
STACK_CLEANUP_NULL);
  goto NEXT();
}

op iconst_1() {
  INTVAL x = 1;
  stack_push(interpreter, interpreter-user_stack, x, STACK_ENTRY_INT, 
STACK_CLEANUP_NULL);
  goto NEXT();
}

op sipush(in INT) {
  INTVAL i = $1;
  stack_push(interpreter, interpreter-user_stack, i, STACK_ENTRY_INT, 
STACK_CLEANUP_NULL);
  goto NEXT();
}

op iload_0() {
  INTVAL i = interpreter-int_reg.registers[0];
  stack_push(interpreter, interpreter-user_stack, i, STACK_ENTRY_INT, 
STACK_CLEANUP_NULL);
  goto NEXT();
}

op istore_0() {
  INTVAL i;
  stack_pop(interpreter, interpreter-user_stack, i, STACK_ENTRY_INT);
  interpreter-int_reg.registers[0] = i;
  goto NEXT();
}

op jvm_print() {
  INTVAL i;
  stack_pop(interpreter, interpreter-user_stack, i, STACK_ENTRY_INT);
  printf(INTVAL_FMT, (INTVAL)i);
  goto NEXT();
}

op iinc(in INT, in INT) {
  interpreter-int_reg.registers[$1] += $2;
  goto NEXT();
}

op if_icmplt(inconst INT) {
  INTVAL x, y;
  stack_pop(interpreter, interpreter-user_stack, y, STACK_ENTRY_INT);
  stack_pop(interpreter, interpreter-user_stack, x, STACK_ENTRY_INT);
  if (x  y) {
goto OFFSET($1);
  }
  goto NEXT();
}

op goto (in INT) {
  goto OFFSET($1);
}



Re: [OT] Parrot Logo

2002-03-19 Thread Leon Brocard

Andy Wardley sent the following bits through the ether:

   http://andywardley.com/parrot/

That's a wonderful colour! ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 High message: 9434567. Message last read: 9



Re: Various PASM routines

2002-03-19 Thread Leon Brocard

Clinton A. Pierce sent the following bits through the ether:

 Actually, if I knew where to look I'd update them myself.  :)

http://parrotcode.org/examples/ mentions them but I guess we should
roll the ideas behind:
http:[EMAIL PROTECTED]/msg06001.html
into one of the files in docs/...

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 It is now pitch dark. If you proceed, you will likely fall into a pit



Re: Java to Parrot

2001-12-18 Thread Leon Brocard

Melvin Smith sent the following bits through the ether:

 Anyone doing any work with Java bytecode to Parrot?
 
 I've got a java class disassembler 90% working if anyone is interested in
 helping, I'm not sure if this would belong in the Parrot tree or not.

Yes, actually. I've done some initial work but have completely redone
it recently. I gave a talk early on:
http://www.astray.com/java/

I've even got a module on CPAN which does Java bytecode to Perl (for
simple stuff currently):
http://search.cpan.org/search?dist=Java-JVM-Classfile

To be honest, I've been waiting until Parrot can do objects and
classes. Converting the bytecode isn't the problem, it's converting
the Java APIs that is...

HTH, Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 #include witty.f



Re: Parrot FAQ

2001-12-06 Thread Leon Brocard

Dan Sugalski sent the following bits through the ether:

 The Zork interpreter might be stack based, thinking about it, but it was 
 hardly geared for speed, so I don't know that it'd count if it was.

For what it is worth, in my quest for learning more about VMs I've
taken a detailed look at the Z-machine with an eye to converting
between Z-code and Parrot. I gave up 'cos it really wasn't designed
for simplicity. It's all horrid and like a real-life machine, with
lots of exceptions and lots of new ops in the later versions. I was
looking for a quick hack, and that wasn't it ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 Do not clone your neighbors in their sleep



Re: Parrot vs JVM

2001-11-12 Thread Leon Brocard

Alberto Manuel Brandao Simoes sent the following bits through the ether:

 I'm on the work of writting something about virtual machines and I
 would like to know if there is any report on differences between JVM
 and parrot... and if there is any web document about perl5 VM.

Righto, I've been looking at the differences between the two and
they're different. Of course, you have to remember that Parrot is a
long way from being finished, but already it compares quite
well. Here's a few facts:

  o JVM is stack-based, Parrot is register-based (major difference!)
(although Parrot also has a general stack)

  This change is major. Almost all other virtual machines are stack-
  based. Using registers enables us to use all the material on 
  optimising stack machines

  o JVM has  255 opcodes, Parrot will have many more

  o JVM is lower level, Parrot aims to be very high level
(only just getting there as PMC's aren't quite ready yet)

Gosh, it strikes me that there's a good talk in this material (and lo
and behold, I've already given one at a London.pm technical meeting!
;-) and there is far too much to talk about. Alberto, you'll want to
check out the following details too:

http://cvs.perl.org/cvsweb/parrot/docs/overview.pod?rev=1.2content-type=text/x-cvsweb-markup
http://www.parrotcode.org/examples/
http://www.astray.com/java/

Hope this helps, Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 From my brain, an organ with a mind of it's own



Re: Parrot vs JVM

2001-11-12 Thread Leon Brocard

Leon Brocard sent the following bits through the ether:

   o JVM is stack-based, Parrot is register-based (major difference!)

I forgot to point out that details of the JVM are available at:
http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 DOWN WITH EXCLAMATION POINTS



Re: Rounding?

2001-11-05 Thread Leon Brocard

Zach Lipton sent the following bits through the ether:

 Is there any way to round this, or at least chop the 0's off the end?

Right. I'd just like to clear this up completely. The N registers are
for numerics (well, ok, floating point) and the I registers are for
integers. Currently, quite a bit of precision is used when printing
the N registers. There are two ways to get 4 out of your code: either
convert the N to an I or work with Is:

set N0,2
set N1,2
add N3, N0, N1
print N3   # prints 4.0
print \n
ntoi I0, N3
print I0   # prints 4
print \n
set I0, 2
set I1, 2
add I2, I0, I1
print I2   # prints 4
print \n
end

Hope this helps, Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 Tonight's the night: Sleep in a eucalyptus tree



Re: java vs. parrot mops

2001-11-01 Thread Leon Brocard

Dan Sugalski sent the following bits through the ether:

 For the Java-impaired (i.e. me :) what's the -Xint option do?

It turns off the JIT (which is enabled by default).

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 DATA - Dedicated Absorbing Technical Absurdities (?)



Re: java vs. parrot mops

2001-10-30 Thread Leon Brocard

Kevin Huber sent the following bits through the ether:

 Parrot2Java which  I will make available once  I fix a few more bugs
 :-).

Oh, cute!  I've been frustrating myself by trying to do it the other
way around (it'll happen eventually...). Optimising the stack
loads/saves will be the fun part for you I imagine ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

 Okay - right after this one we're BACK to the TOPIC



Re: AOP

2001-10-24 Thread Leon Brocard

Aaron Sherman sent the following bits through the ether:

 It is not. That's exactly the point to AOP, to bring the two

May I suggest that all discussion move to the perl-aspects list
and that everyone take a look at the Aspect module on CPAN.
The language does not need to be changed to enable AOP:
http://search.cpan.org/search?dist=Aspect
http://lists.perl.org/showlist.cgi?name=perl-aspects

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

... There's someone in my head, but its not me



Re: [PATCH] Fixes logical ops in Parrot Scheme compiler

2001-10-21 Thread Leon Brocard

Gregor N. Purdy sent the following bits through the ether:

 I'd like to see the folks with other language implementations speak
 up again about their current status and desires to have their stuff
 in CVS

My JVM - Parrot stuff is going slowly, but parts of a Better Solution
are going up on CPAN. My previous attempts needed java to be installed
locally, but I'm now implementing a Perl Java Classfile parser:
http://search.cpan.org/search?dist=Java-JVM-Classfile
It's only basic and development will be pretty slow but I think I'll
be targetting Perl first so I can play with translation ideas and not
have to worry about static type inference...

Errr, so not yet. But I'll be updating the parrotcode.org examples
rsn, honest...

Leon
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

... Gravity is a myth - the earth sucks



Example assembler code (primes.pasm)

2001-09-19 Thread Leon Brocard

Attached is a cute prime number printer.

It strikes me that we need a central place to put these things - it'd
really help people get stuck into the lowlevel stuff.

How about an examples/ directory in the CVS tree? Alternatively, I
could set up a learning parrot assembler website of some sort,
although Simon's recent article on perl.com was damn good.

Leon

ps the assembler doesn't grok if I5, NEXT4, NEXT3 or comments
on lines which just have labels
-- 
Leon Brocard.http://www.astray.com/
Nanoware...http://www.nanoware.org/

... My name is Inigo Montoya. You killed my father. Prepare to die


# Some simple code to print out the primes up to 100
# Leon Brocard [EMAIL PROTECTED]

# I1 holds the number we're currently checking for primality
set I1, 1
# I2 holds the highest number we want to check for primality
set I2, 100
print   The primes up to 
print   I2
printare:\n
# I1 counts up to I2
REDO:   gt  I1, I2, OVER, NEXT1
NEXT1:
# I3 counts from 2 up to I4 (I1/2)
set I3, 2
set I4, 2
div I4, I1, I4
LOOP:   gt  I3, I4, PRIME, NEXT2
NEXT2:  
# Check if I3 is a factor of I1
mod I5, I1, I3
if_i_ic I5, NEXT4, NEXT3
NEXT3:
# We've found a factor, so it can't be a prime and
# we can skip right out of this loop and to the next
# number
branch  NEXT
NEXT4:  inc I3
branch  LOOP
PRIME:
# We haven't found a factor so it must be a prime
print   I1
print   \n
NEXT:   
# Move on to the next number
inc I1
branch  REDO
OVER:   end



Re: RFC: Bytecode file format

2001-09-15 Thread Leon Brocard

Simon Cozens sent the following bits through the ether:

 If you don't know what Python's CodeObjects look like, I suggest
 you go see it now.

I've been spendind a lot of time recently looking at the Java
classfile specification. Yes, they were trying to optimise for space,
but there are some interesting pieces. For example, the actual
bytecode for a method is a Code attribute[1] attached to the method
(other attributes such as line number information etc. can also be
part of it). The constant pool is the scary part, but interesting. Why
not have a look, although we may want to generalise a bit more:

http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html

Leon

[1] No, attributes aren't limited to four characters. Let's
be modern about this...
-- 
Leon Brocard.http://www.astray.com/
Iterative Software...http://www.iterative-software.com/

... Error 15 - Unable to exit Windows. Try the door



Microbenchmark JVM-PVM

2001-09-15 Thread Leon Brocard

Sky asked me if anyone had done any simple benchmarks comparing JVM
and PVM at this point. Now, I know we're still at an early stage and
haven't really looked at speed, but a trivial counting and simple
arithmetic benchmark:

piglet$ time java Bench
1.470u 0.080s 0:01.59 97.4% 0+0k 0+0io 5784pf+0w
piglet$ time ./test_prog run.pbc
40.080u 0.030s 0:42.07 95.3%0+0k 0+0io 137pf+0w

Source files attached so I can humiliate myself in public at a later
stage when someone points out I've done something stupid

Leon

ps my jvm is j2sdk-1.3.1-FCS from blackdown on linux
ps2 oh, and are we calling it pvm? parrotvm?
-- 
Leon Brocard.http://www.astray.com/
Iterative Software...http://www.iterative-software.com/

... I am serious. And don't call me Shirley


class Bench {
public static void main (String args[]) {
int q = 1;
int w = 1;
int i = 1;
int j = 1;
while(q  1) {
w = 1;
while(w  1) {
i++;
j += i;
w++;
//  System.out.print(q + ,  + w + \n);
}
q++;
}
}
}



set_i_ic I1, 1
set_i I63, I1
set_i_ic I1, 1
set_i I62, I1
set_i_ic I1, 1
set_i I61, I1
set_i_ic I1, 1
set_i I60, I1
set I4, 1
set I7, 1
branch_ic LAAA
LAAE:   set_i I62, 1
branch_ic LAAB
LAAC:   inc_i I61
add_i I60, I60, I61
inc_i I62
LAAB:   lt_i_ic I62, I4, LAAC, LAAD
LAAD:   inc_i I63
LAAA:   lt_i_ic I63, I7, LAAE, LAAF
LAAF:   end



Re: [patch] First cut at TODO allow add I4, I4, 3 instead of add_i_ic ...

2001-09-14 Thread Leon Brocard

Dan Sugalski sent the following bits through the ether:

 Actually, I'm expecting almost nothing to be written in pasm after we get a 
 working parser and compiler

I am, as you may have noticed already, clearly a frustrated assembler
programmer who's had to code high-level stuff for far too long. I'm
interested in converting between languages. At the moment I expect to
do that using pasm, but the second we have a bytecode-writing module...

Look at all these programming languages for the JVM.
s/JVM/ParrotVM/ perhaps?
http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html

Leon
-- 
Leon Brocard.http://www.astray.com/
Iterative Software...http://www.iterative-software.com/

... You are in a twisty little maze of Unix versions, all different



Re: Fibonaci

2001-09-14 Thread Leon Brocard

[EMAIL PROTECTED] sent the following bits through the ether:

 Here is the fibonaci function

Here are slightly cleaner (could even be used for testing purposes)
fibonacci and factorial example files. I'd say bundle them in as
examples and prod me until I do the test suite

Leon
-- 
Leon Brocard.http://www.astray.com/
Iterative Software...http://www.iterative-software.com/

... 


# Some simple code to print some Fibonacci numbers
# Leon Brocard [EMAIL PROTECTED]

print   The first 20 fibonacci numbers are:\n
set I1, 0
set I2, 20
set I3, 0
set I4, 1
REDO:   eq  I1, I2, DONE, NEXT
NEXT:   set I5, I4
add I4, I3, I4
set I3, I5
print   I3
print   \n
inc I1
branch  REDO
DONE:   end


# Some simple code to print some factorials
# Leon Brocard [EMAIL PROTECTED]

print   The first 15 factorials are:\n
set I1, 0
set I2, 15
set I3, 1
REDO:   eq  I1, I2, DONE, NEXT
NEXT:   inc I1
mul I3, I3, I1
print   I3
print   \n
branch  REDO
DONE:   end



JavaVM - ParrotVM

2001-09-11 Thread Leon Brocard

Seeing as Simon's gone to all the trouble of releasing the source to
Parrot now, I wondered what I could have a play with. I've did simple
Parrot assembler and thought about different types of bytecode.  Like
bytecode for the Java virtual machine, which it turns out is stack
based. Could I convert JVM-PVM? I think so ;-)

[Yes, this is a proof of concept, and the parrot assembler will change
in many ways rsn, so this is just a head up to show it's possible]

Given the following Java code:

class HelloWorld {
public static void main (String args[]) {
int i = 1;
int j = 1;
while(i  10) {
System.out.print(i);
System.out.print(j);
i++;
j += i;
}
}
}

(which prints out: 112336410515621728836945)

That actually gets translated into the the following JVM bytecode:

   0 iconst_1
   1 istore_1
   2 iconst_1
   3 istore_2
   4 goto 28
   7 getstatic #2 Field java.io.PrintStream out
  10 iload_1
  11 invokevirtual #3 Method void print(int)
  14 getstatic #2 Field java.io.PrintStream out
  17 iload_2
  18 invokevirtual #3 Method void print(int)
  21 iinc 1 1
  24 iload_2
  25 iload_1
  26 iadd
  27 istore_2
  28 iload_1
  29 bipush 10
  31 if_icmplt 7
  34 return

And my magic script (http://astray.com/java2parrot.pl.txt)
converts it to the following Parrot assembler code:

set_i_ic I1, 1
set_i I63, I1
set_i_ic I1, 1
set_i I62, I1
branch_ic LAAA
LAAB:   set_i I1, I63
print_i I1
set_i I1, I62
print_i I1
inc_i I63
set_i I1, I62
set_i I2, I63
add_i I1, I1, I2
set_i I62, I1
LAAA:   set_i I3, I63
set_i_ic I4, 10
lt_i_ic I3, I4, LAAB, LAAC
LAAC:   end

which outputs:

I reg 1 is 1
I reg 1 is 1
I reg 1 is 2
I reg 1 is 3
I reg 1 is 3
I reg 1 is 6
I reg 1 is 4
I reg 1 is 10
I reg 1 is 5
I reg 1 is 15
I reg 1 is 6
I reg 1 is 21
I reg 1 is 7
I reg 1 is 28
I reg 1 is 8
I reg 1 is 36
I reg 1 is 9
I reg 1 is 45

Cool, huh. Much more on this soon! Leon
-- 
Leon Brocard.http://www.astray.com/
Iterative Software...http://www.iterative-software.com/

... If you eat yogurt you'll have lots of culture



Re: Something to hash out

2001-08-29 Thread Leon Brocard

Dan Sugalski sent the following bits through the ether:

 I like it

The following amusing entries were posted on london.pm-list but
I haven't seen them here, so without further ado:

Greg McCarroll:
  pbc could be shortened to pb, which has two meanings
  precompiled byte code and pretty boy, as in who is
  a pretty boy, *squawk*

  I'm guessing that the assembler code is not 8-bit,
  so we cannot make a .po8 as in pieces of 8, aka parrot
  opcodes 8-bit, or some such tomfoolery

  .seed is always good as something that parrot can
  swallow up nicely

  precompiled code could have the extension .dead as in
  the parrot code is dead, it is dead parrot code, it
  is not running

  if we ever have safe and unsafe code where we check
  parity, we could have .pcc , parrot-y checked code
  (ok that was really bad)

  if ingy ever does anything like Inline for parrot,
  it could be called parott-ing
  (i better stop soon)

  .parrots is quite lame, but could be parrot source

  .feather could represent light to run code, as in 
  precompiled bytecode

  ok, thats bad enough

Patrick Carmichael:
  Parrot stuffit files for Macs would be .psit
  My daughter suggests .pex files - for executables, perhaps?

Lucy McWilliam:
  .rip?

HTH, Leon
-- 
Leon Brocard.http://www.astray.com/
Iterative Software...http://www.iterative-software.com/

... Fascinating, Captain



Re: Perl, the new generation

2001-05-16 Thread Leon Brocard

Nathan Torkington sent the following bits through the ether:

 Hmm, it'd be interesting to see a Map of Perl.

Would a graph be good enough? I'll see what I can do ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
Iterative Software...http://www.iterative-software.com/

... Money is the root of all wealth



Re: RFC 228 (v1) Add memoize into the standard library

2000-09-15 Thread Leon Brocard

Dave Storrs sent the following bits through the ether:

 Personally, I like the way it works at the moment; all the subs
 that you want to memoize are up at the top, where they are easy to see.
 You can add, subtract, and change the list in a few seconds, without
 having to hunt through your file for the actual function definition.

OTOH, this seems like action at a distance to me and the most logical
place would be to have it next to the memoized sub...

Leon
-- 
Leon Brocard.http://www.astray.com/
yapc::Europe - September 22-24 London - http://yapc.org/Europe/

... Error 404: .signature generator ran out of tuits



Re: RFC 210 (v1) Data/Binary Dumping and Freezing

2000-09-12 Thread Leon Brocard

Perl6 RFC Librarian sent the following bits through the ether:

 Allow Perl to create serialize both data and code from the core.

Hmmm, would it be enough to emit and take in bytecode? Might there be
versions of Perl 6 which omit this functionality?

As well as binary code, a human-readable version might also be
interesting: or do we expect bytecode - source translators to do that
for us?

I'd strongly suggest that we drop local encodings and go for network
encodings at all times, but this point may be mute.

HTH, Leon
-- 
Leon Brocard.http://www.astray.com/
yapc::Europe - September 22-24 London - http://yapc.org/Europe/

... Error 404: ETOOMANYQUESTIONS



Re: RFC 190 (v1) Objects : NEXT pseudoclass for method redispatch

2000-09-03 Thread Leon Brocard

Perl6 RFC Librarian sent the following bits through the ether:

 Objects : NEXT pseudoclass for method redispatch

I really like this idea: it's quite simple and gets the job done. I'll
throw some AUTOLOAD ideas at London.pm and see what we come up
with... ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
yapc::Europe - September 22-24 London - http://yapc.org/Europe/

... Error 404: Too many cigars



  1   2   >