{{{ #!div class="note" style="width: 100%" '''NOTICE''': Due to the lack or time in a soon future, these '''ideas are put on hold''' and are no longer being worked on. It may happen that some time in a future, I'll resume work on this. If you're interested, let me know. Jan }}} == TODO: Planned features & enhancements & ideas == ''This page summarizes things I would like to do if time allows. Some of them are easy, some of them would require a lot of research and work. I'm working on these items in no particular order, depending on my actual needs and mood.'' The idea is to gather all TODOs (including ''nice-to-have''s) here in a structured way and once there's more to write/comment about particular leaf node, create a todo ticket and comment there. Of course, [report:9 open bugs] will (well, should :-) be fixed first. You may also want to check all [report:10 TODO tickets]. === Virtual Machine === The hard stuff... * [ticket:9 Ephemerons] * Full breakpoint support * Pool (arena) based {{{malloc()}}} replacement for use with external C libraries. * Late-bound globals (make global access a kind of message send) * Fully reified (poly)inline caches. * Rewrite stc (would require lot of time) * True multithreading (this is properly difficult) === Smalltalk Language & Compiler === * Type annotations and pluggable type system for St/X * Hidden (non-source) method annotations. * Refactor {{{ByteCodeCompiler}}} to support pluggable transformations. === Base system === * UNIX/Linux support * Implement XDND protocol * Support for translucent PNG icons in (at least) menus * [ticket:22 Support for deployment packaging (deploy complete package in a single file)] * Mini-framework for shortcut management (current scheme is not good) * Replace ''!UserPreferences'' with something better. * Add {{{--sources}}} option to standalone app to allow debugging deployed applications * Finish port of Metacello and finish Sake (in order to get rid of rakefiles) === Development Environment & Tools === * Improve [[https://bitbucket.org/janvrany/jv-smallsense|SmallSense]] ([[https://bitbucket.org/janvrany/jv-smallsense/issues?status=new&status=open|open issues and todos]]) * Improve [[https://bitbucket.org/janvrany/stx-libscm|Mercurial support]] ([[https://bitbucket.org/janvrany/stx-libscm/issues?status=new&status=open|open issues and todos]]) * Fix ''!SmallLint'' rules * Integrate [[https://bitbucket.org/jnesveda/refactoring_custom|Custom Refactorings]] into ''!SmallSense'' (once finished) * Tear-off mini test runner * Support for ''!SmallLint''-based feedback in browse lists (class/protocol/method list) * [[ticket:20| Redesign (and reimplement) CodeView2]] * Review and refactor ''!ProjectChecker''