
see John Holloway in “Can we change the world without taking power?,” a debate with Alex Callinicos at the 2005 World social Forum. International Socialism Journal, 106, Spring 2005, p. 114.






 = KTurtle TODOs =

Besides this document you can find TODO items in the code (try grepping for 'TODO'), in the BUGS file and on bugs.kde.org.

 == general ==
 * complain about the 'Switch Application Language...' in the Help menu.
 * Run action group has WhatIsThis, but it doesnt work -- file a bug...
 * no secret that i dont like WhatIsThis, it cannot even refer by a link to the Handbook! (useless piece of s***)
 * dowload some other LOGO programming manuals that are targetted at young crowd, use these while editing the handbook

 == mainwindow ==
 * have a look at KDE's new build-in 'Switch Application Language...', could it fully replace ours.
 * make fullscreen mode (hide all GUI elements but the canvas during execution)
 * printing dialogs may need some finetuning (like: further kdeification, overwrite protection, etc.)
 * do reordering (in stead of duping) when adding already existing recent file items
 * disable most of the actions (like File, Edit, Canvas and more) while executing (BUG in bugzilla)

 == interpreter ==
 * finish unittests
 * fix failing unittests (division by zero, sqrt of a negtive)
 * maybe make some switch statement to flip between DEG and RAD
 * profile the whole thing... just curiosity -- how much time is spend in what functions
 * commandline invoke doesnt handle local files well (like: ../script.turtle)
 * make state of more things available to the executer (add more get* commands, add some day/month/year commands)

 == canvas ==
 * context menu (right click) for export and print
 * DON'T add wrapping functionality (not a ToDo, but a DontDo)

 == editor ==
 * finish context help (F2) action -- work on the handbook
 * disable save (not saveAs), or make it work properly for examples
 * save can be disabled after a code has been saved

 == handbook ==
 * maybe a section on parenthesis and/or scopes
 * spellchecking

 == PR ==
 * make wikipedia page nicer (screenshots, etc.)
 * release a pre-release
 * maybe: team up with windows/osx team for a kturtle only installers
 * a page (wiki?) for childrens and teachers manual + translations + translators info [or docbook; KDE translated] (userbase??)
 * get someone with some english writing/ marketing writing skills to write a small, medium and long intro to kturtle
 * use these new writings in: handbook, main.cpp, kde-apps, wikipedia, edu.kde.org/kturtle

 == website ==
 * move all screenies to userbase

 == maybe someday's ==
 * refactor the generators ruby code
 * create a generated parser (yacc/bison style; Qt has a parser, KDevelop too)




PLAN: SOLVE GENERAL AMBIGUITY REGARDING THE TOKEN thingy
right now token types are used all over the place. this is not the right way because:
 - Token types should be used for tokenizing of the string only. (ie: fw,{,"s",$a, ,#littlecomment,2.2,EOL,+,= are tokens)
 - right now their are also used as TreeNode types (ie: Scope, Root, ArgumentList)
 - and they are used as translatables in the translation lookup table (especially $,.,# are not tokens by them selves)
currently this is not really a problem -- it works. yet it is not 'how it should be'.
fixing this involved a big rewrite of the generator code, which result may be a major refactor of the interpreter.
therefor this should not be started before a proper unittest framework is in place.
