User:Kevin Reid

From Erights

Jump to: navigation, search

My web site.

My posts on the e-lang and cap-talk mailing lists.

Contents

Projects

Roughly in order of liveness.

Scraps

Drafts

Nonworking programs

  • /Mac open event handler test — Can we have an E-on-Java app that handles Mac open events using the Apple Java extensions? No success yet.
  • /ASTPrint.java — Minimal Java program attempting to set up an E-on-Java vat and do something in it. Doesn't work currently (or ever); haven't investigated.

Not even completely written:

  • /unification.emaker — Implement unification variables in E: a single object which acts as promise and resolver, and a procedure which makes two values equal by resolving variables if possible. Incomplete code.

Snippets

Redefine interp.getArgs()
def scope := e`def baseInterp := interp;def interp extends baseInterp { to getArgs() { return [the new args] }}`.evalToPair(privilegedScope.nestOuter())[1]
Bring a file's definitions into REPL scope
interp.setTopScope(e__quasiParser(myFile.getTwine()).evalToPair(privilegedScope)[1])

Other material

Todo

This should probably be migrated into an issue tracker. Right now we're nominally using SourceForge, but I, at least, find it tedious to work with.

That said, these are my personal things-which-ought-to-be-done, and not the reflection of any consensus; I'm just dumping them here because it's better than them living in a random file on my hard disk.

E-on-Java work to do

  • Security
    • Change the default taming policy for no-safej-file classes from ALL to NONE. (2010-02-27)
    • Add shortcut syntax to SafeJ files for declaring allow-all, then replace the functionality of ApprovedClassList with safej files using that syntax. (2010-02-27)
  • Cleanup
    • Documentation, including impl-specific, should go to the wiki. Spec tests go to the wiki (Category:E specification). Impl-specific (features and regression) tests stay in source tree. (2010-02-27)
  • Bug fixes:
    • powerboxControllerMakerAuthor.emaker -- JFileChooser usage treats cancel the same as OK (2008-03-24)
  • Test fixes:
    • makeIOUIssuer.updoc and sugar-demo.e-swt contain hardcoded references to ~/e/src/ which is wrong (2008-03-24)
    • esrc/com/opencola/drm/example/MintMaker.updoc contains an expectation of E version (2008-03-24)
    • esrc/org/erights/e/elang/interp/makeBootServer.updoc contains an expectation of install path (2008-03-24)
    • esrc/org/erights/e/elib/sealing/makeVOCPair.emaker contains an expectation of ~ path (2008-03-24)
    • esrc/org/erights/e/elib/slot/lamport.updoc has <_> where is now <everFormula> (2008-03-24)
    • esrc/org/erights/e/examples/arith/makeRational.updoc ditto <makeRational> (2008-03-24)
    • esrc/org/erights/e/extern/persist/persist.updoc runs out of heap space - ??? (2008-03-24)
    • esrc/org/erights/e/facet/makeCaretaker.updoc expectation of cwd path (2008-03-24)

E-on-CL work to do/misc notes

  • Old notes from Jul 17 2008:
    • eocl r992:993 introduced a slowdown [in executing --updoc tests/captp/introducer.updoc].
    • Stuff about custom method specializers in SBCL: [1] [2] [3]
    • transparent does NOT imply ok-for-Selfless. transparent can be mutable, e.g. FlexList (w/o value guard?) is transparent. TODO: revise Selfless to drop the independent Selfless auditor, in favor of TransparentSelfless approval, etc. -- because (Selfless+Transparent) isn't sufficient, we need to require immutability as well
    • invocation for benchmarking + sprof-tree:
      time rlwrap ./clrune -L--eval -L'(require :sb-sprof)' -L--load -L ~/Documents/sbslow-project/sbcl/sprof-tree.lisp -L--eval -L'(setf sb-sprof:*sample-interval* 0.1)' -L--eval -L'(defun sb-sprof::report () (with-open-file (s "sampler-updoc.trace" :direction :output :element-type :default :if-exists :supersede) (sb-sprof::write-sampler-data s)))' -p ../sb-parse-cache.sexp --updoc --profile sb-sprof tests/captp/AnswersTable.updoc
      • this may be obsolete due to having profile options in clrune —Kevin Reid 08:56, 6 May 2010 (CDT)

For all implementations

  • Take the draft utility library called 'Flow' and publish it, possibly as part of the E standard library
  • meta.getState() is to be deprecated and replaced; it has the following flaws:
    • Its result should be an Env, not a ConstMap, so as to avoid using any ampersands
    • It uses the innermost enclosing object expression, so its presence means that introducing a function has possibly surprising effects; instead, it should take a parameter being the name of the object (i.e. def foo() { meta.getEnv(foo) })

E design work

  • Idea: Every directory serves as a root (that is, has the facilities of <file> like optUnget). This allows chrooting and allows updoc tests to be given virtual roots that aren't different in implementation from the real root.(2010-02-27)
    • File pathname getting is tamed away, use <myRoot>.optUnget instead. The REPL's printFunc's textWriter has authority to show paths.
  • Post as unresolved design issue whether to use E-on-CL's isQuoting and printSame methods in standard E. (2010-02-27)
  • ConstList should have an operation analogous to FlexList#replace/5.

Meta

  • Post the contents of my 'To be discussed with MarkM' file on the wiki. (2010-02-27)
Personal tools
more tools