5

Is it possible to use one framework written in one Parrot (LLVM) language in any other Parrot (LLVM) language? (Like usage of .NET Framework from any CLR language)...

Kara
  • 6,115
  • 16
  • 50
  • 57
Jox
  • 7,132
  • 14
  • 49
  • 63

2 Answers2

1

LLVM

Stands for low-level virtual machine. It uses low-level opcodes that easily map to native machine code.

  • Languages: Fortran, C, C++
  • Applications: Systems Programming, Compiler Development

Parrot:

This is a high-level virtual machine. Its opcodes are much higher level then those in most virtual machines. This allows Parrot to generate efficient native code for dynamic languages.

  • Languages: Ruby, Perl, PHP
  • Applications: server-side scripting
jhuni
  • 425
  • 3
  • 4
1

Parrot and LLVM are two different things made by two different organizations.

Parrot is a VM, and LLVM is a VM that can also compile statically.

Edit

Assuming the comments to my answer are correct:

  1. LLVM allows you to call other LLVM code and also external C like libraries.
  2. Parrot allows you to call other Parrot code, but not external C like libraries.

http://en.wikipedia.org/wiki/Comparison_of_application_virtual_machines

Unknown
  • 45,913
  • 27
  • 138
  • 182
  • I think Jox is asking about both Parrot and LLVM – Bruce Alderman Apr 08 '09 at 06:28
  • aardvark is right, I think :) Qustion is not about "cross-vm-platform" libraries, but about possibility to use library written in one language for ParrotVM in any other Parrot targeted language. Same question stands for LLVM. – Jox Apr 08 '09 at 06:49
  • Is it impossible to call C function or being called from C function in Parrot? – eonil Aug 15 '10 at 08:08