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.

http://www.paganini.net/ask/

Search Discussions

  • Leopold Toetsch at Sep 30, 2004 at 9:07 am

    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.
    Should it go into CVS abd being included in 0.1.1?
    -Michel
    leo
  • Michel Pelletier at Sep 30, 2004 at 5:40 pm

    On Thu, 2004-09-30 at 01:10, Leopold Toetsch wrote:
    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.
    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.

    http://www.paganini.net/ask/
  • Leopold Toetsch at Oct 1, 2004 at 7:39 am

    Michel Pelletier wrote:
    On Thu, 2004-09-30 at 01:10, Leopold Toetsch wrote:

    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. Ok.
    ... I presume I would update it by
    sending you patches?
    No, to the list. There should also be the possibility to get restricted
    CVS access to your language subdirectory.
    -Michel
    leo
  • Leopold Toetsch at Oct 4, 2004 at 12:08 pm

    Michel Pelletier wrote:

    Parakeet is an object-oriented Forth-like stack language for the Parrot
    VM.
    Is that a new error?

    $ ../../parrot parakeet.imc test.pk
    Welcome!

    [ ... ]

    Passed!
    Goodbye!
    No entries on IntReg_Stack!
  • Matt Diephouse at Oct 4, 2004 at 1:50 pm

    On Mon, 4 Oct 2004 14:06:00 +0200, Leopold Toetsch 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.

    --
    matt
  • Michel Pelletier at Oct 4, 2004 at 4:11 pm

    On Mon, 2004-10-04 at 06:50, Matt Diephouse wrote:
    On Mon, 4 Oct 2004 14:06:00 +0200, Leopold Toetsch 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.

    http://www.paganini.net/ask/
  • Dan Sugalski at Oct 4, 2004 at 3:38 pm

    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 at Oct 4, 2004 at 4:10 pm

    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.

    http://www.paganini.net/ask/
  • Jens Rieks at Oct 4, 2004 at 5:29 pm

    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

    Then, just send your username to the list.

    jens
  • Leopold Toetsch at Oct 5, 2004 at 9:40 am

    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.
    Committed to CVS now.

    I've replaced the "end" opcode with this sequence:

    clear_eh
    exit 0

    and added a comment, why that's currently necessary. This gets rid of
    the error message at EOF or when typing "bye".

    leo

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupperl6-internals @
categoriesperl
postedSep 29, '04 at 8:25p
activeOct 5, '04 at 9:40a
posts11
users5
websiteperl6.org

People

Translate

site design / logo © 2018 Grokbase