PyFunge TODO
milestones
2009-04-15: 0.5-rc1
- 2009-04-30: 0.5.0
- 2009-05: 0.5.1
internal restructuring
(0.5-rc1) move funge.semantics.base
to funge.semantics
.
(0.5-rc1) move other modules of funge.semantics
package to funge.languages
package.
- (0.5-rc2) make all modules truly orthogonal; only exception (for core PyFunge modules) is
funge.program
, which should have classes for all available combinations.
- (0.5-rc2) API finalization. even after 0.5-rc1 some changes are introduced (the complete list follows), so we may have to release 0.5-rc2 for changed API…
Semantics.execute
is gone, Semantic.walk
is bumped to the public API (rev 9a3cd23eb584, b9d2fd67b5bc)
IP.add_command
and IP.remove_command
is available. (rev 055abaaf34e3)
IP.th_id
and IP.th_team
are renamed to IP.id
and IP.team
, respectively. (rev 9e5a82d05c6f)
IP.parentid
is available. (rev 9e5a82d05c6f)
IP.boundmin
and IP.boundmax
are available. original IP.rectmin
, IP.rectmax
and IP.updaterect
are combined into IP.getrect
method. (rev d997aab5da92)
- (0.6) implement command hints. fingerprint API will remain unchanged, with sane default. for example,
idempotent=True
for k
iterate.
unsafe=True
for fingerprints.
pure=True
for non-I/O commands. (maybe useful for TRDS? or not?)
fingerprints
(0.5-rc2) 3DSP
(0.5-rc2) ICAL
(0.5.1 -> 0.5-rc2) IIPC
(0.5.1 -> 0.5-rc2) IMAP
(0.5-rc2) IMTH
(0.5-rc2) LONG
(0.5.1 -> 0.5-rc2) NCRS
(0.5-rc2) PERL
- (0.5-rc2) RAND
(0.5-rc2) SCKE
(0.5-rc2) SETS
(0.5-rc2) SOCK
(0.5-rc2) SUBR
(0.5.1 -> 0.5-rc2) TERM
- (0.5-rc2) TURT
- (0.5.1) ARRY
- (0.5.1) FING – direct manipulation of command stack
- (0.5-rc2 -> 0.5.1) REXP
- (0.5-rc2 -> 0.5.1) STCK
- (0.5.x) PYTH “Python interface for Funge”
- (0.5.x) UNIC “Unicode character support”
- (0.5.x) MULT “Multi-dimensional support”
- (0.5.x) CGI “CGI programming made easy”
- (0.5.x) PyF? fingerprints for internal testing and so on (notably, PyF98 exposes the interpreter internal)
- (0.6) dynamic fingerprint support
- (0.6) FOBJ – implementation along with minifunge
- (0.6) MACR – implementation along with minifunge
- (0.6) MVRS – after API is enough stablized
- (0.6) TRGR – after API is enough stablized
- (0.6 or 0.7) TRDS – too intrusive to implement
- current status: entire Mycology suite takes 2.1s in my laptop (MacBook Pro, Mac OS X 10.5, Python 2.6 and Psyco 1.6, Intel Core 2 Duo 2.16GHz with 2G RAM). at first it took more than 30s even it didn’t implement any fingerprints.
- without Psyco it took 6.5s on average; Psyco gives 3x improvement.
- (0.5.x) my goal is below 1.5s with Psyco and 4.0s without Psyco.
frontend
- (0.5.1) implement
--statistics
option.
- (0.5.x) implement true debugger.
- (0.6) implement editor (pyfunged).