Parakeet is an object-oriented Forth-like stack language for the Parrot VM. It is written in PIR and compiled its code directly to PIR. Parakeet lets you do logical, numeric and string operations and comparisons, conditionals and loops, define variables, functions, classes methods, create instanciate and call methods on objects.
Parakeet is Forth-like, but not anything like "standard" Forth, it is very machine specific to Parrot, building directly upon Parrot's machine semantics, not on those of late-80s micro-processors. Parakeet, for example, provides no words '@' and '!' as "direct" access to "memory" does not exist in Parrot. Data is stored and retrieved by holding references to objects like in many other OO languages.
0.3 is a major rewrite over previous versions of Parakeet. In particular, the code is much leaner now due to me removing a key design stupidity in my inline code generation. The entire language, README, and test script gzips into less than 10K.
Parakeet is to the point now (I hope) where people can use it to experiment with and experience Parrot from a different perspective. The interactive PIR and opcode tracing is a particularly effective way of playing almost directly with the Parrot VM. To start playing with an interactive Parakeet interpreter, unzip the tarbal somewhere where parrot can find the 'parakeet.imc' file execute that file with the Parrot interpreter.
-Michel
-- Note: I use Active Spam Killer. That means the first time you send me an email, you will get a confirmation message that you must reply to in order for your mail to be delivered to me.
Michel Pelletier 30 September 2004 20:24:41 [ permanent link ]
On Thu, 2004-09-30 at 01:10, Leopold Toetsch wrote:> Michel Pelletier <michel@dialnetwork.com> wrote:>
Parakeet is an object-oriented Forth-like stack language for the Parrot> > VM. It is written in PIR and compiled its code directly to PIR.>
Should it go into CVS abd being included in 0.1.1?
If no one else has any objection that would be fine by me, it would encourage more people to try it out. I presume I would update it by sending you patches?
-Michel
-- Note: I use Active Spam Killer. That means the first time you send me an email, you will get a confirmation message that you must reply to in order for your mail to be delivered to me.
Matt Diephouse 4 October 2004 16:50:22 [ permanent link ]
On Mon, 4 Oct 2004 14:06:00 +0200, Leopold Toetsch <lt@toetsch.at> wrote:> Is that a new error?
[ ... ]
No entries on IntReg_Stack!>
That means there's no "end" opcode in the PIR that's being dynamically compiled. The compile opcode expects a return value (success/failure) -- an int.
At 1:12 PM -0700 9/29/04, Michel Pelletier wrote:>Parakeet is an object-oriented Forth-like stack language for the Parrot>VM. It is written in PIR and compiled its code directly to PIR.>Parakeet lets you do logical, numeric and string operations and>comparisons, conditionals and loops, define variables, functions,>classes methods, create instanciate and call methods on objects.
I've been really behind on my mail, but this is cool, and thanks a lot.
If you want it in parrot's CVS tree it can go in -- I'm fine with that, and we'll get you CVS access to do so. (Unless I'm really behind, in which case it's in and you've got it already, which'd be cool -- Dan
--------------------------------------it's like this------------------- Dan Sugalski even samurai dan@sidhe.org have teddy bears and even teddy bears get drunk
Michel Pelletier 4 October 2004 18:59:35 [ permanent link ]
On Mon, 2004-10-04 at 06:50, Matt Diephouse wrote:> On Mon, 4 Oct 2004 14:06:00 +0200, Leopold Toetsch <lt@toetsch.at> wrote:> > Is that a new error? >
[ ... ]>
No entries on IntReg_Stack!> >
That means there's no "end" opcode in the PIR that's being dynamically> compiled. The compile opcode expects a return value (success/failure)> -- an int.
Aha! That's been buggin me for weeks. Thanks.
-Michel
-- Note: I use Active Spam Killer. That means the first time you send me an email, you will get a confirmation message that you must reply to in order for your mail to be delivered to me.
Michel Pelletier 4 October 2004 19:00:00 [ permanent link ]
On Mon, 2004-10-04 at 08:37, Dan Sugalski wrote:> At 1:12 PM -0700 9/29/04, Michel Pelletier wrote:> >Parakeet is an object-oriented Forth-like stack language for the Parrot> >VM. It is written in PIR and compiled its code directly to PIR.> >Parakeet lets you do logical, numeric and string operations and> >comparisons, conditionals and loops, define variables, functions,> >classes methods, create instanciate and call methods on objects.>
I've been really behind on my mail, but this is cool, and thanks a lot.
Thanks! Right now I'm actually working on some ideas vis a vis making Parakeet work with modular core word sets (using "code <word> <pir> next", so it can be a standard Forth interpreter also by loading a different wordset at startup.
If you want it in parrot's CVS tree it can go in -- I'm fine with > that, and we'll get you CVS access to do so. (Unless I'm really > behind, in which case it's in and you've got it already, which'd be > cool
Restricted CVS access would be great. Do you need an ssh key or something?
-Michel
-- Note: I use Active Spam Killer. That means the first time you send me an email, you will get a confirmation message that you must reply to in order for your mail to be delivered to me.
On Monday 04 October 2004 18:00, Michel Pelletier wrote:> Restricted CVS access would be great. ВDo you need an ssh key or> something? You just need a perl.org account. You can create it here: http://auth.perl.org/auth/account
If you would like to report an abuse of our service, such as a spam message, please . Если Вы хотите пожаловаться на содержимое этой страницы, пожалуйста .