IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 1 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Oops! Sorry!
But APL is interpreted!

So what is he complaining about? Should I revise the post to remove my blather about Delphi?
Expand Edited by gdaustin Aug. 18, 2003, 11:02:45 PM EDT
New Re: Oops! Sorry!
APL is not P-code, nor is Smalltalk. Smalltalk is byte-code, which is much different and like FORTH, "compiled interpretation". BASIC is none of the above. P-code is stupid and inefficient, was rightly rejected in 1980 (UCSD Pascal), and is barely a step above BASIC.

APL, FORTH, and Smalltalk all have a REAL VM with direct, immediate interpretation, not a stupid fucked-up P-code interpreter.
-drl
New I think it depends on your definition of "p-code".
Nowadays, to most people the term "p-code" means rather more than what UCSD Pascal used to create. It's true that Smalltalk create a intermediate form often called "byte-code", but it is virtual assembly language for the specific virtual machine. Quite a lot of modern languages work like this - so much that the stage in front normally called a compiler has a common name: translater. Even BASIC interpreters of past actually ran virtual code in a virtual machine: almost all of the home computer BASICs translated the entered text into tokens for storage - a pseudo-code, if you like. Of course, the single biggest thing you've overlooked is that all these pseudo-codes are extremely tailored for their language and their environment.

Wade.

Is it enough to love
Is it enough to breathe
Somebody rip my heart out
And leave me here to bleed
 
Is it enough to die
Somebody save my life
I'd rather be Anything but Ordinary
Please

-- "Anything but Ordinary" by Avril Lavigne.

New Rexx on warp does something similar
It creates tokenized code. That code is stored in the command file's extended attribute, leading to a much quicker load time on subsequent runs of the code. It works extremely well and really helps performance.
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada               [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
New Good example.
Other variations would be how Perl and PHP do it - translation on invocation, p-code is thrown away after execution - and how Icon and Java do it - explicit translation to a second file. It's even obvious with Icon: the program you run is called icont - meaning Icon Translator.

Wade.

Is it enough to love
Is it enough to breathe
Somebody rip my heart out
And leave me here to bleed
 
Is it enough to die
Somebody save my life
I'd rather be Anything but Ordinary
Please

-- "Anything but Ordinary" by Avril Lavigne.

New I've actually been thinking about this for a while
I'm thinking that perhaps for my honour project (if I can afford a fourth year of school) I'd like to take a shot at writing an object rexx interpreter, to be licensed under the GPL. For one thing, there are some serious problems with the object rexx interpreter under warp when you want to interface it to programs written in C, since the RexxStart call doesn't account for the fact that object rexx programs can be threaded, which means that one can end up leaving open semaphores until process termination... which can terminally suck for daemons. The problem is that IBM won't fix it unless one wants to dole out some serious money. The other solution is a wholesale replacement of the subsystem... and if it was written properly, it should end up being easily portable to other systems: a dll in warp, a program in unix, and a plugin for wsh in windows.

I don't think that I'd be able to do a complete reimplementation or anything, but if I could get something that covered most of the basics, opening it up to the developer community by putting it under the GPL could make it something that would be viable in the long run.

This is all at least a year away, of course; I think I might be in a position to start looking at it seriously towards the end of this coming school year (second year).
--\n-------------------------------------------------------------------\n* Jack Troughton                            jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca]                   [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada               [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
     TheInq - HP's doing stupid things with VMS and UNIX support. - (Another Scott) - (13)
         Re: TheInq - HP's doing stupid things with VMS and UNIX.. - (deSitter) - (12)
             Re: TheInq - HP's doing stupid things with VMS and UNIX.. - (pwhysall) - (1)
                 Re: TheInq - HP's doing stupid things with VMS and UNIX.. - (deSitter)
             And what would you propose Ross? - (gdaustin) - (9)
                 More - (gdaustin)
                 You've confused DRL (APL bigot) with CRC (Delphi bigot)! :-) -NT - (Another Scott) - (6)
                     Oops! Sorry! - (gdaustin) - (5)
                         Re: Oops! Sorry! - (deSitter) - (4)
                             I think it depends on your definition of "p-code". - (static) - (3)
                                 Rexx on warp does something similar - (jake123) - (2)
                                     Good example. - (static) - (1)
                                         I've actually been thinking about this for a while - (jake123)
                 I propose intelligence. I have no hope of course. -NT - (deSitter)

Powered by isospin!
47 ms