Romcc (Parrot and LinuxBIOS)

2003-06-13 Thread John van V.
 
Hello all,

I am on the LinuxBIOS list and my gut sense told me that a compiler that they
are developing called romcc might be a fit for Parrot.

Since Parrot uses CPU style assembler as its native language, it might make
sense to match it with a compiler that can take advantage of this.

Along comes romcc.  The biggest problem w/ working in the BIOS is that you have
to initialize RAM.  That cannot be done in C because there is no RAM to do it
in.  Assembler is the only solution but thats an economic impossibility
sometimes because of the scaricity of linux folks versed it it.

So, sensibly, Eric Biederman [EMAIL PROTECTED] writes a small compiler that
uses registers instead of RAM hungry stacks.  

Bingo !!  But I feel like an idiot since I have yet to write a line of C code
but in only about 5 emails, Eric tells me Yeah, thats doable


Me Romcc uses registers, not stacks -- like the Perl6 Parrot VM

Eric Actually quite a bit different.
Eric Parrot will just not use stack oriented byte codes.   But a call/return
Eric stack will still be required.  romcc does not use a call/return stack,
Eric but romcc still implement subroutines.

Me Is there any point in implementing the Perl6 VM in a version of romcc
Me enhanced with a call/return stack as the only compromise toward the
Me traditional VM ??

Eric I simply do not understand the question.

Me To be frank, this is my situation; I am in an open school where my
Me mentor has told me that I am way over my computer credits

Eric I hope this is at the high school level or else your computer credits
Eric have not sunk in well at all.

Me I meant to use romcc in a context separate from LinuxBIOS.  
Me It would be a custom compiler for Parrot itself, running with RAM, where
Me CPU register style of Parrot would match the register reliance of Parrot
Me -- with the one added call/return stack that you mentioned.

Eric O.k. that makes more sense.  I have strong reservations about adding a
Eric call/return stack.  But a port to the parrot VM without that should 
Eric be doable.



Eric's romcc basics


 Currently LinuxBIOS has a lot of assembly code simply because memory
 initialization is difficult in the general case.  This code cannot be
 written with a standard compiler because there is no memory to put
 a stack in.  Nor on x86 are there cache blocks that can be locked into
 place.  As code generated with romcc does not use a stack it can be
 used during memory initialization.
 
 It is true romcc is not *done*,  it is quite usable at this point.
 
 In the freebios2 I have been gradually making the primary API ones
 that can be used before  memory is initialized.
 
 The biggest difference is that if you want to return multiple values
 instead of passing in the address of a variable the a multi valued
 structure must be returned.
 
 The biggest current known bug is that if you have a small type
 like short when it is stored in a register nothing ensures it does not
 take on a larger value than will fit in a short.
 
 unsigned short i;
 i = 65535;
 i = i + 1;  /* i == 65536 oops */
 
 The biggest shortcoming comes from it's nature and 
 
 I have used it enough at this point I don't want to live without it
 again.
 

 

=
CXN, Inc. Contact: [EMAIL PROTECTED]
President, The Linux Society
http://groups.yahoo.com/group/linux-society
linux society distro - http://www.thinman.com/eLSD/readme
ThinMan is a registered trademark of CXN, Inc

__
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com


Adoption ??: Rare Salt-Water Camel May Be Separate Species

2001-02-15 Thread John van V



  http://news.bbc.co.uk/hi/english/sci/tech/newsid_1156000/1156212.stm

This nuclear/dynamite stuff is making me sad.

Wanna contribute in the name of perl ??  Lets see... China + UN = $perl_revenue



Re: We should have some YAPC talks on Perl 6

2001-01-12 Thread John van V



Giving talks at YAPC is a no brainer, and I see the criteria of creating public 
documents and the existance of a deadline being exceeding good 
things.

Documenting the knowlege and preventing the authors from obfuscating the documents (by 
accident, of course) will generate far to much noise for 
the internals list to tolerate.

Since we know we will need succeeding generations of internal gurus now is the time to 
develop the methodology of Perl education so that we 
dont have to go thru the pain of change later on.

Its a karmic thing, there is no better language for documentation than perl.

If perl.org is unacceptable for some reason I can easily create a mailing list on 
puny.vm.org

John




Re: licensing issues

2001-01-05 Thread John van V


I am supporting regular GNU licensing to relieve the pain I am hearing about in the 
commercial zone where folks are allegedly up to NG.

Also if we use the GNU license, then we dont have to worry about applications meant 
for perl being written in some other less appropriate 
language because of licensing issues.

GNU Mailman comes to mind where the number of developers for this crucial groupware is 
drastically reduced by its being written in Python, not 
to mention being hamstringed by its string handling.

Ruby, for instance really looks good, but we seem to yo-yo back no matter how many 
times because Perl really _is_ the only language.

Also I want to vote to keep Perl Perl for the time being, both in the interperter and 
the rather than trying to compete w/ MS's Dot Net.  

We in operations industry really need a solid Perl more than any other single thing I 
can think of where Perl is highly appropriate as the back end 
for something like the DJ's TCPServer, basically eliminating the need for all other 
software here.

my 0.02




Compilers, Corporate Interests and Design

2000-12-08 Thread John van V


Using IBM's choice of Linux and Apache as an example, the compiler is not theirs, it's 
GCC.

Also, when I was doing support for biochemical and statistical modelling at Merck, the 
scientists choice was GCC over the HP native compiler.  
(porting GCC to HPUX was one of my responsibilities)

Linux itself thrives as the least common denominator principle and its world market 
share will keep increasing-- base compiler GCC.

MinGW GCC is coming along on the Win32 platform and this is where I plan to cut my 
teeth.

Maybe this is where corporate involvement is most appropriate, they can patch the 
GCC-isms that dont meld w/ their own compilers.  Perl gurus 
can instead concentrate on moving forward w/ the implementation.

Bringing these huge companies on board w/ Perl as it is presently licensed may prevent 
the same kind of ugliness that errupted between 
Microsoft and Sun.  

By the time the dust settles, Java may not be worth fighting over, but Perl might ;)

John

 



Re: Call for apprentice: was Re: Meta-design

2000-12-07 Thread John van V


I would like to do this, but I think its a bigger job than you imagine, and...
 
"I tend towards insanity from time to time.  Good thing its only perl."  (you can 
quote me)

(It comes from stresses developing sysadm apps around the single largest depository of 
human wealth.  They actually smothered a pregnent 
woman to death here rather than open a fire door in a valult room, by way of 
example--- I really need a new contract.)

There is a new group forming from milder NY mongers called Perl-Seminars organized by 
guinevere liberty [EMAIL PROTECTED] one of the 
few female mongers and someone who I put a lot of effort into bringing into the 
monsters, err mongers.

I got really excited by the possibility of crossing over between Python, Blackdown 
Java, and Perl in terms of internal pieces.  Maybe this is the 
place to start that process.  That would make three layers: top-ten, 
really-experienced-VM-coders(kibbitzers), and the apprentices.

I also think that an organization like Hewlett Packard would be a huge benefit because 
of their commitment to QA.

John






On Wed, 6 Dec 2000 17:05:30 +, Simon Cozens [EMAIL PROTECTED] wrote :

 On Wed, Dec 06, 2000 at 11:48:45AM +, Nicholas Clark wrote:
  (Is maintaining such a document an "apprentice" job? (see perl6-meta))
  
 I'd certainly like someone to take on the maintainance of the document I
 posted last night, because I hope that one of its functions will be to explain
 to apprentices a little of some of the concepts that we're dealing with; I
 tried to do that in places, but it got late. 
 
 So, anyone want to volunteer? 
 
 What maintainance would involve would be, I think, receiving forwarded
 messages from perl6-internals-design (or whatever) with bits marked "We need
 to remember to think about this more!", and making sure those bits are covered
 on the meta-design, with an option on learning about the topic and writing a
 short summary for everyone to gain from. It would probably also need updating
 when we settle one of the issues on it, with a brief note on what was decided.
 
 Simon
 
 -- 
 Putting heated bricks close to the news.admin.net-abuse.* groups.
 -- Megahal (trained on asr), 1998-11-06
 
 
 



Re: Guidelines for internals proposals and documentation

2000-11-17 Thread John van V


"David Grove" [EMAIL PROTECTED] wrote :

 But.. but... but... we don't even have a design spec. I mean, we don't
 even know for sure what Perl 6 is going to look like for certain, inside
 or outside. 

This is precisely why I proposed the BS level just below Development.  In fact I'm 
going to write the MailMan make-a-list page right now or by 
monday.

Maybe the somewheretostart :) is with design tools to build attributes and connectors 
for the components and 
then display them nightly w/ a graph representation of the whole complex structure.

My second desire is to build perl6 purely w/ perl tools/servers, and then wholly with 
perl6 as soon as it can stand on its own. 
That way if there are any problems the core team would be the first to know about it ;)

John



Re: Guidelines for internals proposals and documentation

2000-11-15 Thread John van V


Using the IBM article that Jarkko found as an example, core implementations of 
different languages may have more in common with each other 
than implemetations of the same language,

I think PPC is actually significant enough so that it should not be painted into a 
perl-only corner.

Seeing that the majority of the debate or confusion in PCC is at the germination 
level, I am proposing a more nebulous level... BS ( for brain 
storming ) which would precede development.  It would be open enough to allow any 
developer (perl or no) to contirubute while hopefully spinning  
off the perl component into their own lang's direction.  

An example for this would be what I learned at the NYPC/LinuxSociety demo last night.  
In the 2.4 compile, you now use "make xconfigure" 
rather than "make configure".  Its a TK app that makes the process more fun than work 
and it should be ported to every configure esp perl.

On our side, there is notion in of eliminating "make" (a good idea IMHO) by updating 
the cons modules.  

It would then be a piece of cake for anyone on these lists to bring these two 
together, where the PPC would guide the feature set... (I'm just 
wondering how to do this in HTML/CPANTS ;)

Anyone who wants can start a BS list w/ GNU/Mailman on http://puny.vm.com just email 
me an I will make a link;)

John







Win32 Development Env

2000-11-10 Thread John van V


I have been using Cygwin, UWIN and now a ZSH tool set to create SSH1 access to servers 
from Win32 boxes.

More recently, ports got closed between the Unix boxes yet we are able to access them 
all from our workstations.  What this has meant for me 
is that I have to port all my monitoring, distribution, key management... various 
admin tools to an NT box.

UWIN is a nobrainer for this, as Cygwin has various security and performance problems. 
 However, for the purposes of Perl6 the third alternative 
comes to mind, MinGW, because UWIN has a proprietray DLL.  ( also I just had crashes 
of UWIN when I tried use CPAN.pm, and support from 
David Korn (yes, of ksh fame) may be slow in coming.)

MinGW uses only what bits of posix were tossed in by Microsoft to comply w/ federal 
law.

I am emailing the UWIN list to clarify ( or further muddle ) the licensing issue, keep 
in mind this is ATT and I am waiting for an email back from 
Charles Northrup [EMAIL PROTECTED], a UWIN expert who regualarly compiles UWIN and GTk 
and the like.

Have a nice weekend, John

PS, there actually is interest in my ThinMan concept ( ok, mainly the URL ).  How much 
should I ask ??



Re: Design

2000-11-06 Thread John van V


 Wow! You're good!
Thanks, can I quote you ??

 However, the "marriage" part of your prediction is
 already *mostly* true...  future Python... same vein as Lisp
  -- only the people who really grok Lisp can see it.

 I totally disagree with your last point though.

Thats ok,
 Perl has stayed away from Microsoft bashing...

...and w/ great results.  I for one, am in line for the perl/python studio stuff.  My 
desire for a un-anchored "mini-perl" (meaning a Perl like /bin/sh ) 
is initially motivated by my desire to support these users.

Perl is superior to everything else in that there is no bloat.  My s/w model would 
join the tools to the data where plugins are libraries rather than 
applets (did I mention speed?).  CPAN is able to install amazing computability quicker 
than, say, your average gif.  Rather than fully automating 
CPAN, I would like to see servers share their own loaded modules as emitted objects.  
I still have to research the ethernet-cellphone crossover 
but you can see where I am going with this.

(In the ether, no one knows your name, just 
your destination)

I just really hope I can keep up w/ you guys, finally learn C, and come out the other 
end a testing guru.

On Gates and Steve Case:
Sometimes I think that Gates and Microsoft are not synonymous.  Microsoft has been 
able to deliver popular products where the public domain 
has so far failed.  Unlike most other billionaires, he has not ordered any hits, 
burned any homes, destroyed any forests, and you can be 
absolutely sure that most "opensource" companies would follow his foot steps in a 
heartbeat.

Part of everything else I have mentioned is the inevitable digital TV crossover.  
The FTC would have it that all TVs be thrown away and replaced w/ 3000 X 1000 ultra 
wide HDTVs costing 2000 $US.

Gates otoh, suggested just grafting VGA into the TV specturm, the guy understands 
peoples needs and a move in this direction would be 
significant in expanding global computing, 800X600 is what I use on my laptop and 
640X480 is still basically usable.

AOL, however, is not a new-economy company in any sense and Steve Case is probably a 
bigger liar than even the president.  I have collected 
megabytes of testimony indicating that AOL is stealing the old fashioned way.

 but at least it's nice to know we're
 able to help people who use Microsoft systems.

Yup, I like to build Unix kits for Win32 including VPNs, but to truly succeed I will 
need to start compiling w/ gcc on my NT box (argh!!)
Maybe this will be a significant part of my future ;)




Re: Design, opps- govt foul up

2000-11-06 Thread John van V


FTC = FCC  (= FDA = DEA = FBI = DOJ = DOA = CIA = Ma_FIA = ...)



Re: Design

2000-11-03 Thread John van V


once you've lost it, [ simplicity, that is ] it's never
coming back

How true, I'm not holding my breath for CGI.pm divesment.

Simplicity to me as an integrator/admin means having set of binaries that can be 
recompiled, or preferably configed, into diverse implementations 
with uniform results.

To this end the core could be invoked as an unanchored micro-perl (like shell), a 
mini-perl replacment, perfectly behaved for the thin applications 
world.  In its simplest form it would be fed emitted bytecode evisioned in my RFC.  It 
seems this microperl could also be embedded into other 
languages via whatever their version of XSUB is.  Note the absence of PMs at this 
level.  (no, not prime ministers or ny perl mongers ;)

Traditional clients are the next step having all the above features, including 
location floatability and object receivablility, installing anywhere, 
loading pms through relative paths via env attrs or cli args.  I'm thinking 
pre-compiled win32, trust me when I say ActiveState is bloating.

Finally comes the full implementation, a mirror or subset of the CPANTS server, itself 
built from every single piece of perl ever presented for 
review.  Well defined, it operates entirely in perl, happily harvesting pieces of 
itself for the multitude of workstation clients and embedded 
receivers.  Here, a cgi-suite gives every browser in the world access to editors 
compilers and version control and pod-tools well beyond whatever 
CVS providesÂ…  your take-home copy emits directly into your perl, if you are lucky 
enough to own one, otherwise you can live in CPANTS.

It seems like a good idea to try and coordinate efforts with
[ others ] like blackdown.org.

As un-sexy as this sounds, I think there should be a subgroup of all ~free~ s/w 
developers who would specialize in low level modules and 
integration kits allowing all projects to benefit from each others' pain and 
frustration ( gotta love it )

I have been predicting for a year now that perl6 will spawn another language which 
will be a marriage of perl/python/scheme/sh,  hopefully 
enabling a billion or so humans in defiance of  AOL and Microsoft. 

(last rant, I swear ;)

 I'll get the list out soon, and we can get things going darned soon.

Hey ho, lets go !!



PS, below are all the design criteria, though my list is short.  Did I say "testing" ??

parser
optimizer
bytecode
runtime dispatcher (w/knowledge of dynaloading)
data-types
regex
memory

identify the units/modules
map relationships between modules
design the API for the modules
code test cases for the API (circular process with the previous
   step?)
code the API
code the wrappers for the libraries (perl.c, etc)

Robustness
Portability
Maintainability
Testability
Reusability
Speed
Simplicity
Size

Avoid copying.
Avoid premature optimization.
Be extensible.
Be orthogonal. Orthogonal be.
Be portable.
Be scalable




Re: TIL redux (was Re: What will the Perl6 code name be?)

2000-10-31 Thread John van V

On 28 Oct 2000 08:06:57 +0200, Ariel Scolnicov [EMAIL PROTECTED] wrote :

 threaded code is so much slower; this can also be seen as
an indictment of threaded code).

Now I am really confused.  This directly contradicts the Threaded Perl RFC.

My instincts still tell me we need two perl core modules.  

1) A complicated threaded server core designed for people who derive pleasure from 
syntatic gymnastics ( or those who need a fat emitter ;)

2) And a tiny engine that runs like like the wind, can be regressively tested for any 
critical (medical) distribution and shoehorns where only lisp 
has previously been.  I would hope to see this internally controlling the majority of 
tiny receivers some day.  

Keep in mind all that the competition all fails in one or more categories.  Java is 
too slow, python lags perl, C#  will no doubt wind up in court...

So, there is absolutely no reason why perl6 cant be everything to everybody, 
especially me and my recent obsession with big money.



Re: Threaded Perl bytecode (was: Re: stackless python)

2000-10-24 Thread John van V


This thread seems to be winding down fttb**,  Judging from the below, perl 
multithreading [ I am guessing ] is simply syntatic sugar much the 
same as Koch C++ is a wrapper for regular cc compiler.

This sounds nice, 
Threading Perl bytecode would be nice about 98% of the time, and
should offer a speed increase.  
 
But from the operations industry perspective:

  idioms like:
 *main::localtime = \localtime_replacement;
~and~
  if anything was overriden anywhere, no module code could be read in as bytecode, 

are issues esoteric enough to be avoided simply because of the cost of maintenance.  
Experience has also shown that an overdependance 
sophistication is a good way to wind up stranded waiting for a bugfix (I'm refering to 
financial ruin).

If this is the case, the code underlying the treading would utilize normal functions 
to poll the concurrent event streams and programmers could 
choose between the threads and functions depending on their levels of comfort.

This is good for my hypothetical remote sensing devices because the byte code 
interpreter would be single threaded, presumably smaller, and 
a lot easier to test.

John

** like I'm going to tell you ;)





Re: RFC 334 (v1) I'm really trying to understand this...

2000-10-12 Thread John van V


If you get the chance, I would really grateful if you could translate the abstract 
into lay terms, just confused by the concept of "low level perl"   


Why??, perl is my only (byte) compiled language...
...I'm an admin.

TIA ;)



Re: RFC 334 (v1) Ahhhh.. i get it

2000-10-12 Thread John van V



$thanks - (1000K)




Re: RFC 125 (v2) Components... Should Have... And Testing !!!

2000-10-06 Thread John van V


I'm an admin, perl saved my life...

However, yesterday, some simple IO::Socket scripts failed to work on 5.6.  I'm not 
addressing that here but my resulting thought is now that the 
distribution should only include such core components as are necessariy to define 
perl's behavior.

Those should be kept short as sweet and there should be real-time testing at every 
stage of development.

Otherwise we will lose our position as the mission critical control language.

Oh yeah, there should also be as much ( if not more ) documentation as ( or than ) 
code as well,

Cheers, John



Re: RFC 125 (v2) Components in the Perl Core Should Have Well-Defined APIs and Behavior

2000-09-28 Thread John van V


 a design expressed in UML could be
 implemented in a non-OO language.

Interesting concept... "expressing" perl in UML would certainly add depth to the 
artistic license ;)

  I think, though, that the core interface should be procedural.
 
 I agree.  We should not confuse OOD with OOP.
As in GNOME ??

John



Re: RFC 313 (v1) Perl 6 should support I18N and L10N

2000-09-26 Thread John van V



 VMS must die!
Hahahahaha !!!
 



Re: RFC 281 (v1) The Perl 6 Development Log

2000-09-26 Thread John van V



Not to sound too, a, whatever...

but you rock,

Get it started, make it available, and I will format it into a pleasant (interactive) 
web page, I promise !!!

(thinking faq-omatic)





Threading Debate-- Where ??

2000-09-18 Thread John van V



I have personally agonized about the threading issue, basically w/o every writing a 
usable script in it.

I would like to know where the archive is,  its not really obvious, before comenting 
that we may need two cores, on with one w/o.

cheers,  john 



Re: New Perl rewrite - embedded Perl

2000-09-13 Thread John van V



  Tom Christiansen wrote:
   It [miniperl] isn't substantially smaller, so that does you no good.

 The socket library seems to be the poster child for what to leave
 out, but that's a weak argument
... it would make sense to design a
 miniperl that can dynamically load the "expensive" stuff.

The world being what it is today, I dont think you can get away w/o communications.

The loadable concept might work with industrial strenght and lite versions of the 
expensive somewhat exotic stuff, maybe in regexps.



 I like guile (and Scheme in general), but Perl isn't a minimalist language.
 Stealing from Scheme is good. Adopting Scheme's Small Is Beautiful philosophy

I'm a big Schumacher fan, I'm not too sure how to take this ;)  he would have loved 
our economic model :)

I'm really entranced by the prospect of sending frozen structures including anonymous 
subs to to remote devices like out on Mars or Pittsburgh.





Re: RFC 210 (v1) How do I de-typo it ??

2000-09-13 Thread John van V


I really screwed this up, who has editable rights for the pages.

( .htaccess ?? )



Re: New Perl rewrite - embedded Perl

2000-09-13 Thread John van V


On Tue, 12 Sep 2000 20:35:32 -0400, Bennett Todd [EMAIL PROTECTED] wrote :


 I don't even want to embed the current perl in mutt; I'd love to
 have a scripting and extension language embedded in there, but not
 one that's bigger than all the rest of the application.

A couple years ago I wrote a poem called:
   "If only emacs were written wholly in perl"
 since lost in the purple haze.
 
 The exact same design targets --- really really fast, teensy memory
 footprint --- that define the microcontroller embedded market, also
 define the entry to these roles on the biggest servers.

I'm not sure what that means but I think I like it.




RFC 210 (v1) Data/Code Dumping and Freezing

2000-09-12 Thread John van V


=head1 TITLE
 
Data/Binary Dumping and Freezing
 
=head1 VERSION
 
   Maintainer: John van Vlaanderen   
   Date: 12 Sep 2000
   Mailing List: [EMAIL PROTECTED]
   Number: 210
   Version: 1
   Status: Developing
 
=head1 ABSTRACT
 
 Allow Perl to create serialize both data and code from the core.
 
=head1 DESCRIPTION
 
 The modules Storable and Data::Dumper should be combined to dump data as well
 as code in text, binary and network order binary form.
 
=head1 IMPLEMENTATION
 
 The immediate need for this is to support unmanned remote devices and
 lightweight clients where listeners evoke frozen classes upon receiving them.  
 
 Other implementation would allow kiosk browsers, for instance, to run any perl
 from a minimal plugin.
 
=head1 REFERENCES
 
 A sample implementation in Java: http://websprocket.com/vmfoundry.html