Skip to content

Contributions

Edward Ocampo-Gooding edited this page Dec 7, 2013 · 24 revisions

Contributions to Amber

This page lists suggestions about improvements to Amber and its tools which contributors might "adopt" and realize. After implementation they can initiate a pull request to have their changes merged with upstream.

Documentation

  • Create an interactive Amber application out of Getting Started and Writing my first app Wiki pages
  • Interactive editing of (Documentation)[amber-lang.net/documentation.html] where you can click on an Edit button, change and save the text, and commit the results back to disk (would update the class/package comments)

IDE

  • "auto-complete" aka Shout in the Browser (complexity: intermediate; work in progress: see Helios IDE).

  • extension of search to more elements including source (like Pharo's Finder) (complexity: intermediate)

  • More views in the Browser like those offered by other Smalltalk (i.e. inheritance, hierarchy, variables) (complexity: intermediate)

  • switch between "Local" and "Remote" modes for IDE. A local mode would be equivalent to the current IDE, i.e. work with the Javascript engine in the browser. A remote mode would offer a view of the remote system, including the option to modify code, evaluate expressions (complexity: high).

  • Save code to localStorage/IndexDB if available and only to remote DAV server on commit (don't loose code anymore by reloading the page). Has to integrate with Amber package loader. Think about rollback/versioning of the code?

  • DONE tool to generate getters/setters (complexity: intermediate)

Run-time

  • rpc layer to seamlessly integrate "backend Smalltalk" (Amber in Node.js, Squeak/Pharo) with client (complexity: high). This would allow "live" eidting

  • option to have all Smalltalk packages in directory "st" loaded (when deploy = false). After a commit and later page reload, any newly created package would automatically be loaded and shown in the Browser. Would need an interface with server-end (complexity: intermediate)

  • DONE(simplified) rework the loader to be able to loader from multiple places: Loader rework

Debugger

  • AST interpreter / debugger (work in progress)

  • CANCELLED support for "SourceMaps" in Amber (canceled in favor of the AST interpreter)

Code Quality

  • Tests for Collection hierarchy should be reviewed and reshaped to better test existing API and structure.
  • Change (window jQuery: foo) to foo asJQuery, in core as well as in example (there primarily!).
Clone this wiki locally