* File classes ** maybe add renaming as in Squeak's Rio? * OpenGL ** use GetProcAddress ** split nurbs into separate package * Bindings ** Expat ** gnutls ** 3D gnuplot? * maybe ** prepared statements support for other DBI backends ** cookies and redirects for HTTPClient ---------------------------------------------------------------------- * sometime ** upgrade XML parser for package files *** support arch-dependent packages that are installed in the image path ** some kind of sandboxing (partly done) ** add check in/check out to the browser so that .st files remain in sync. Maybe with CVS support (see Smalltalk/X). ** cute BlockClosure implementations ---------------------------------------------------------------------- * bindings ** use zlib bindings to implement direct ZIP-file access in VFS. ** provide cool examples of XML using RSS feeds, SOAP, XML-RPC, whatever. ---------------------------------------------------------------------- * code auditing ** check endian-cleanness of ByteStream's float and double I/O. Possibly fix by mutuating code from the Java package. * VM ** create combined pop/push tree codes in the JIT compiler. They're still there from the old bytecode set and they should improve performance by ~5%. ** Fix some copy & paste redundancies in comp.c (the small iteration to find out the length of loops) and opt.c (basic block handling in the verifier and in the JIT compiler's analysis pass). ** Use multiple malloc-ed areas for the OOP table, and make heap.c only an implementation detail of alloc.c (not really necessary anymore with MAP_NORESERVE, and quite complicated) ** Implement polymorphic inline caching * Java ** Write more native methods. Some, such as network methods, are easy. Reflection is hard especially for arrays. ** Pass exception in a temporary rather than in the top of the stack; not very hard, and should make the JITter happy about exceptions. * Blox ** Use GTK. Might or might not use libgnomeui for the canvas widget. I have already written a custom geometry manager compatible with Tk's placer. ** Clean up the browser's code *** remove stray sends of #initialize. A good project to learn about the reflection system (e.g. identify initializations from outside #new and so on). *** simplify UI creation (too many panes!) * other ** finish the smalltalk CPP and C header file parser ** print entities correctly in the URIResolver. A file named abc&def should print abc&def in the file list. * emacs mode ** emacs isearch c-u c-s should search for a string anchored at the start of a line (possibly with blanks), to help finding method definitions. ** fix $. to be handled specially -- indenter gets confused on ch == $. <here>ifTrue: ** fix emacs mode so when a compile error occurs, it can be scanned ala C-x`