Research:SWT - urschleim/scream GitHub Wiki

A frontend using the Eclipse SWT framework should be the strategic goal for scream.

Reasons are many features that the classes from Eclipse deliver already, like:

  • Brace balancing.
  • Keyword expansion.
  • Ready made forms for expressions like let et al.
  • Text editors.

Complexity threshold for SWT development is high, information seems good on a first glance, but is outdated and has dead ends.

Strategy

Levelled approach.

Level 1 -- Hello scream

Based on SWT, create a simple stand-alone application, offering only a single window that represents a (REPL-) console. That is, it is possible to enter Scheme-expressions that are executed and whose results are printed in the console. The coupling between the console and the scream kernel is based on the interface offered by de.michab.scream.SchemeEvaluator.

Level 2 -- Extend

Add functionality like a persistent history between runs.

Level 3 -- More

  • Split UI in composition window, output window, error out, standard out.

Level 4 -- get on par with the Swing implementation

  • Remove Swing stuff

Level 5 -- continue evolving SWT

  • SWT is now base for the UI and is part of normal feature flow.

Resources