|
Some of the lessons learned in this project are:
- The dynamic object models of perl/python mix well. Perl modules
does not feel too foreign when invoked from python. A thin wrapper
make them indistinguishable from native python modules.
- Both languages use reference counting for garbage collection.
This ease the integration of object wrappers for foreign objects.
- The internal implementations of exceptions do not mix
as well. Perl API functions longjmp while python API functions return
error codes. Perl API functions calls exit(2) on failure if not
called in a setjmp context.
- The threading models of perl/python does not mix well.
- Python have a clear separation between compile time and run time.
This allow some neat tricks involving munging of the syntax trees to
provide sandboxed evaluation of code. This approach does not work
well with perl.
|