GSOC2010/Mentor Summit notes
- Stripping down
- First revive tcl
- Identify new functionalities to preserve from JP python and downport to C.
- Then separate C functionality from Tcl wrapping so that all swig bindings are possible
- Documentation project on existing guis
- Core that would support some common windows scripting languages, java, c#, c++
- Core to support arbitrary scripting
- Data table output definitions
- Gui-free plot generation that isn't as hairy as gnuplot/matplotlib in dependencies; spew postscript? xfig? svg? CSV? ooffice?
- Openoffice data file output
- First revive tcl
- html-compatible interface
- web uis
- All need cleaner C core.
- Integrated windows distribution based on stripped system
- Unless python becomes exceedingly build portable suddenly
- Native compilation, not unix emulation
More teaching models
- ASEE 10 teaching problems
"Next external dollar for high impact" wish list
- If we could write a grant to someone for
- tool support, what on earth would it look like (in outline?)
The ascend book(s) contain a lot of nice core lessons about writing equations and models of the natural (at least newtonian) world. They are not highly accessible. Is there an educational mission opportunity here? E.g. units are fundamentally simple conceptually, but most people never even know they exist and most engineers never really "get it" about units until grad school or professional experience emphasizes them. eg adding apples and oranges: can't do it unless you convert both fruits to mass or volume or 'fruit' first.
Multi-language worlds around ascend core
- SWIG has a lot of other interface languages these days, including C/C++.
Modern processor support
- Multithreading instances
- Multithreading solvers
- GPU-accelerated solvers
Integration with pde packages (OpenFOAM)
ABI for ascend
- C in a style extremely friendly to wrapping tools.
- Ascend ABI should not expose symtab entries as char* equivalents.
- memory that leaves a library must be either
- const with a very, very well defined (and longish) lifetime.
- supplied by the caller and only (re)initialized by the library.
- strictly stack.
- No macro-defined functions.
- No renaming functions across versions.
- No changing argument interpretation across versions.
- Think just add new...
- Anything truly deprecated becomes a loud compilation warning and an indirect to an exception generator.
- Debugging support: http://pastebin.com/0JW1Kh9R unwind a C/python/java stack at the c level.