Opened 12 years ago

Last modified 7 years ago

#403 closed enhancement

Port Python to HelenOS — at Version 5

Reported by: Jiri Svoboda Owned by:
Priority: major Milestone:
Component: helenos/app/other Version: mainline
Keywords: gsoc12, gsoc13 Cc: Vojtech Horky
Blocker for: Depends on:
See also: #311

Description (last modified by Vojtech Horky)

Port (a subset of) CPython to HelenOS.

Details
Python is a dynamic programming language that support object-oriented, imperative and even functional programming styles. Currently, HelenOS has no Python support but uses Python during build (e.g. for preparing configuration or for assembling disk image).
Integrate a reasonable subset of CPython to HelenOS so that it can be used to run helper scripts used in the build process. The selected subset shall also include support for tools used in development process of HelenOS, above all Bazaar revision system.
In the absence of missing backing libraries on HelenOS side (e.g. for some advance text user interface) to fulfill the goal outlined above (run helper scripts and Bazaar), the focus shall be on porting Python to such extent to allow most common operations.
What Gains and Benefits will this bring?
One of the strategic goals for HelenOS is becoming self-hosting. During previous GSoC, a PCC compiler (Portable C compiler) was ported to HelenOS, thus allowing to compile HelenOS sources inside HelenOS. Porting core parts of Python would bridge over the last step to have the possibility to build HelenOS from inside HelenOS.
Difficulty
medium
Required skills
A successful applicant will have good skills of programming in the C and Python languages and the ability to survive in a non-standard non-POSIX application environment.
Documentation
Possible mentors
HelenOS Core Team, Vojtech Horky

Change History (5)

comment:1 by Jiri Svoboda, 12 years ago

Milestone: 0.5.0

comment:2 by Jakub Jermář, 12 years ago

Keywords: needswork added

comment:3 by Vojtech Horky, 12 years ago

Cc: Vojtech Horky added
Description: modified (diff)
See also: #311

comment:4 by Jakub Jermář, 12 years ago

Component: helenos/unspecifiedhelenos/app/other

comment:5 by Vojtech Horky, 12 years ago

Description: modified (diff)
Keywords: needswork removed
Note: See TracTickets for help on using tickets.