To do list

mtnviewmark edited this page Oct 17, 2010 · 1 revision
Clone this wiki locally
  • [j] make barely start work outside of ghci
  • [m] make common error and warn functions for command line processing
  • [m] view source page

    • [m] request handler option for templates
    • [m] read file and display contents
    • [] open file as link in separate window
    • [] open file via file: link
    • [] edit file (js to convert text to edit field
    • [] save edits (js to submit, then reload?)
    • [] side-by-side view (via iframe)
    • [] refresh of either iframe and/or link in separate window
  • [*j] write index.hs that gives the user a hello and what to do next

  • [] updated template.hs that is a basic hello page
    • [] what to do
    • [] suggested re-edit in haskell comments
    • [] reload button
  • [] create add page step to index.html
  • [] create addpage.hs page with form w/name and description
  • [] generate new page from addpage.hs form
  • [] error page give instructions for what to do
  • [] scaffold.css should probably be named something better like barley.css
  • [] Text.Html is forcing us to use prettyHtml instead of renderHtml
    • [] either wrap the body contents in a div, and make page return an [Html] -- which is icky 'cause then the top html element isn't clear to users
    • [] switch to some other HTML library
  • [] handle errors during copyTree

  • [] factor common code between index.hs and source.hs into common.hs

  • [] move source.hs and common.hs into a dev directory

  • [] need a better term than "run" for the act of invoking code to return a page

    • equivalent of "run" in IDEs, but what is it here?
    • opens the page in a new browser window

Source Editor

  • [] add hoogle and hayoo search fields to a new search side bar module
  • [] use jQuery to fill them with the selection in the source view
  • [] link to open user page in new window
    • [] ? user page windows are named with the path so they reuse by page
  • [] turn edit area yellow and editable on edit
  • [] on edit save, submit in background to a new endpoint
  • [] compile end point calls into Barley compile
    • returns either OK or ERROR on first line
    • returns warnings or error lines after status line
  • [] source editor can display compile results
  • [] source view, on ERROR stays on edit mode
  • [] source view, on OK returns to view mode, and opens page in new window


  • [*j] unload modules after evaluating 'page'
  • [] make nu hack robust: check for "\nnu =" before reload
  • [] handle reloading with something better than the nu hack...
    • [] ?patch plugins to have better API
    • [] ?magic from dons, if he comes up with some
  • [] ensure loading modules that import user modules works
  • [] editing an included, but not viewed module should trigger recompile for modules that use
  • [] compilation system tracks mod and compilation times to avoid reloading
    • [] clear compilation state user control per file and/or whole
  • [] be certain that we can unload w/o breaking (thinking about dangling thunks)
  • [] be certain that loading is safe in light of type mismatches
  • [] catch error and exceptions during template running
  • [] how to handle when the user wants to use some other package?

Project View

  • [] shows all files in project w/access to view/edit/run links
  • [] rename of files in project view
  • [] delete of files in project view
  • [] move/copy files in project view

Prisitine system

  • [] when init'ing a project put a duplicate copy in .pristine
  • [] add a restore button that copies from .pristine
  • [] diff view that diffs from .pristine


  • [] keep a linear view of file versions in a .history dir:
    • name the files something like -.hs
  • [] diff through history
  • [] integrate with hg or git if available