• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

The Parrot Virtual Machine

Joined
Feb 1, 2010
Messages
178 (0.06/day)
Likes
46
Location
~/
System Name Slackware Linux
Processor yes
Motherboard yes
Cooling currently convection, but considering mineral oil
Memory sometimes fails due to too much beer
Video Card(s) ATI Radeon HD5570 series
Storage IDE
Display(s) 32" LCD TV
Case sometimes
Audio Device(s) huh? what? speak up, I can't hear you
Power Supply yes
Software Slackware running Open-Source software (it doesn't get any better)
#1


I really like this idea, one virtual machine for most all interpreted languages.
Right now it's fairly young (there aren't many working compiliars) but
the next generation of perl is supporting it (Rakudo / perl6).

If nothing else an interesting read:
http://www.parrot.org/
 
Joined
Feb 1, 2010
Messages
178 (0.06/day)
Likes
46
Location
~/
System Name Slackware Linux
Processor yes
Motherboard yes
Cooling currently convection, but considering mineral oil
Memory sometimes fails due to too much beer
Video Card(s) ATI Radeon HD5570 series
Storage IDE
Display(s) 32" LCD TV
Case sometimes
Audio Device(s) huh? what? speak up, I can't hear you
Power Supply yes
Software Slackware running Open-Source software (it doesn't get any better)
#2
How about this for a who's who of scripting languages...

Languages

* abc — An implementation of bc
* APL — An implementation of APL
* BASIC — An implementation of BASIC, Microsoft QuickBASIC 4.5
* befunge — An implementation of Befunge-93
* bf — An implementation of Brainf**k
* c99 — An implementation of C programming language, C99 dialect
* Cardinal — An implementation of Ruby 1.9
* chitchat — An implementation of Smalltalk
* dotnet — A .Net bytecode translator
* eclectus — An implementation of Scheme
* ecmascript — An implementation of ECMAScript
* forth — An implementation of Forth
* fun — An implementation of Joy
* gil — Generic Imperative Language
* hq9plus — An implementation of HQ9 Plus
* jako — An implementation of Jako
* jvm — A Java VM bytecode translator
* json — An implementation of JSON
* Kea-CL — An implementation of Common Lisp
* lazy-k — An implementation of Lazy K
* lisp — An implementation of LISP
* lolcode — An implementation of LOLCODE
* lua — An implementation of Lua 5.1
* Lua2PIR — An implementation of Lua 5.1
* matrixy — An implementation of Octave
* m4 — An implementation of GNU m4
* markdown — An implementation of Markdown
* NQP — A lightweight language used in Parrot's compiler tools
* Monkey — An implementation of Lua 5.1
* ook — An implementation of Ook!
* partcl — An implementation of Tcl
* pheme — An implementation of Scheme
* Perk — An implementation of Java
* Pipp — An implementation of PHP
* Pirate — An implementation of Python
* PJS — An implementation of ECMAScript
* primitivearc — An implementation of Arc
* Punie — An implementation of Perl 1.0
* Pynie — An implementation of Python
* Rakudo Perl 6 — An implementation of Perl 6
* scheme — An implementation of Scheme
* Scheme to PIR with Chicken — An implementation of Scheme
* shakespeare-parrot — An implementation of Shakespeare
* squaak — A tutorial language
* unlambda — An implementation of Unlambda
* WMLScript — An implementation of WMLScript
Just think... one simple FOSS runtime that executes almost everything. :respect:
It's like VLC was for media, but better :rolleyes:
 
Joined
Aug 10, 2007
Messages
4,065 (1.06/day)
Likes
1,130
Location
Geneva, FL, USA
Processor Intel i5-6600
Motherboard ASRock H170M-ITX
Cooling Cooler Master Geminii S524
Memory G.Skill DDR4-2133 16GB (8GB x 2)
Video Card(s) Gigabyte R9-380X 4GB
Storage Samsung 950 EVO 250GB (mSATA)
Display(s) LG 29UM69G-B 2560x1080 IPS
Case Lian Li PC-Q25
Audio Device(s) Realtek ALC892
Power Supply Seasonic SS-460FL2
Mouse Logitech G700s
Keyboard Logitech G110
Software Windows 10 Pro
#3
Excellent. No longer do I need separate interpreters for Shakespeare and LOLCODE ;)

Now I would seriously try it out, except that I wouldn't get very far with PIPP (PHP):

Not yet supported.

Variables
Constants
Expressions
Operators
Control Structures
Functions
Classes and Objects
Namespaces
Exceptions
References
Predefined variables
Predefined Exceptions
Pirate (Python) hasn't seen an update in years, and Perk (Java) looks like it only saw about one month of action.

Might be good for the more esoteric languages though. With minimal setup one could play around with the ones mentioned before, Shakespeare and LOLCODE, along with the rest on the list. I also hope to see someone pick up Taxi, Whitespace, and Zombie.

Another use might be to develop a new language with Parrot as the native interpreter, so to speak. I'm thinking of creating PORN. Don't have an acronym yet, but I have some ideas for the syntax...
 
Joined
Feb 1, 2010
Messages
178 (0.06/day)
Likes
46
Location
~/
System Name Slackware Linux
Processor yes
Motherboard yes
Cooling currently convection, but considering mineral oil
Memory sometimes fails due to too much beer
Video Card(s) ATI Radeon HD5570 series
Storage IDE
Display(s) 32" LCD TV
Case sometimes
Audio Device(s) huh? what? speak up, I can't hear you
Power Supply yes
Software Slackware running Open-Source software (it doesn't get any better)
#4
Yes the Parrot Virtual Machine might be ready to go,
but the different language compilars are not ready
for prime time yet.
I've been waiting patiently, but I still have longer to wait.
With perl6 support, I have no doubts that everything
will come together soon.

The thought of only needing one runtime for multiple languages
is attractive, but the thought of using multiple languages in one
application really cool!!!!
Yes there are advantages to a multi-language runtime. ;)

@Jizzler -> If you create a PORN language, I'll be one of the
first to have a LOOK :eek: :laugh:
 

Clement

New Member
Joined
Feb 11, 2010
Messages
192 (0.07/day)
Likes
26
Location
SouthEast Blue Mountain, Pa
System Name Work Horse
Processor E5200@3.000@1.2 (12.5x240) (Limited by mobo mem volts) ::[Evil Glare]-I'm gonna mod you!::
Motherboard 4COREDUAL-SATA2 R2
Cooling AC Freezer Pro 7; AC Accelero S1 <-These two are bad ass!
Memory (2gb G.Skill F2-8500-CL5D-2GBPK) @ 1.9v/320MHz/3:4/4-4-4-10-16-2T
Video Card(s) X1950GT 621/729 (Will do more)
Storage Seagate 320; 2x1TB WD
Display(s) ViewSonic 19" Widescreen
Case Black, Sturdy.
Audio Device(s) Onboard DAC works great.
Power Supply Enermax EG365P-VE
Software Fedora x64; WinXP32
Benchmark Scores Once, I programmed for a little over 22.5 hours straight.
#5
Yes the Parrot Virtual Machine might be ready to go,
but the different language compilars are not ready
for prime time yet.
I've been waiting patiently, but I still have longer to wait.
With perl6 support, I have no doubts that everything
will come together soon.

The thought of only needing one runtime for multiple languages
is attractive, but the thought of using multiple languages in one
application really cool!!!!
Yes there are advantages to a multi-language runtime. ;)

@Jizzler -> If you create a PORN language, I'll be one of the
first to have a LOOK :eek: :laugh:
Not a bad idea at all.

I would rather see the best features of every language simplified into yet another language. :laugh: