Skip to content

Contributions

Manfred Kröhnert edited this page Sep 13, 2013 · 24 revisions

Contributions to Amber

Page created at the behest of Göran Krampe

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