|
|
Line 1: |
Line 1: |
- | [http://switchb.org/kpreid/ My web site].
| |
- |
| |
- | [http://www.google.com/search?q=inurl:www.eros-os.org/pipermail/+%22Kevin+Reid%22&filter=0 My posts on the e-lang and cap-talk mailing lists].
| |
| | | |
| == Projects == | | == Projects == |
| | | |
- | Roughly in order of liveness.
| + | [http://homepage.mac.com/kpreid/elang/ E section of my web site (not very complete)]. |
- | | + | |
- | * I am currently the semi-official E-on-Java maintainer as [[User:Markm|Mark Miller]] is busy with other projects.
| + | |
- | * eel/runebot/murepl, the IRC bot etc. project (source not released; currently runs on my personal laptop which is a situation that Really Ought To Be Fixed)
| + | |
- | * [[E-on-CL]] — E implementation
| + | |
- | * [https://github.com/kpreid/E.tmbundle E support for TextMate]
| + | |
- | * [[Caja-CapTP]] — adapting [[CapTP]] to [[Caja]].
| + | |
- | * [[e-benchmark]] — benchmarking E implementations.
| + | |
- | * [[E-on-Haskell]] — E implementation
| + | |
- | * [[kEIO]] — [[EIO]] implementation for [[E-on-Java]]
| + | |
- | * [[Den]] — distributed virtual world platform
| + | |
- | * The [[surprise list]].
| + | |
- | | + | |
- | == Scraps ==
| + | |
- | | + | |
- | * [[gendoc.e]]
| + | |
- | * [[/java3d.e-awt]] — Java 3D API used from E
| + | |
- | * [[/scribble.e-awt]] — Simple Swing UI application with custom graphics
| + | |
- | | + | |
- | === Drafts ===
| + | |
- | | + | |
- | * [[/User far proxy]] — project to allow a human to provide the behavior of a far ref
| + | |
- | * [[/Thoughts on protocol queries]] — how does one object ask another what protocols it supports reliably?
| + | |
- | * [[/Defining algebraic data types]] — sketch of a shortcut for defining data structures in the style of Haskell
| + | |
- | | + | |
- | === 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():
| + | |
- | :<code>def scope := e`def baseInterp := interp;def interp extends baseInterp { to getArgs() { return [the new args] }}`.evalToPair(privilegedScope.nestOuter())[1]</code>
| + | |
- | ;Bring a file's definitions into REPL scope:
| + | |
- | :<code>interp.setTopScope(e__quasiParser('''myFile'''.getTwine()).evalToPair(privilegedScope)[1])</code>
| + | |
- | | + | |
- | == Other material ==
| + | |
- | | + | |
- | * [[/JS bookmarks]] — JavaScript and Caja links.
| + | |
- | | + | |
- | == Todo ==
| + | |
- | | + | |
- | This should probably be migrated into an issue tracker. Right now we're nominally [http://sourceforge.net/tracker/?group_id=75274 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)
| + | |
- | | + | |
- | * Features
| + | |
- | ** add fromKeysOf and fromValuesOf as [[ConstList]] and [[ConstMap]] maker methods. also rename fromIteratable to fromAssociationsOf (2008-03-24)
| + | |
- | ** Make setup.e-awt work on other platforms. (2008-03-24)
| + | |
- | ** Make setup use powerbox-style operation rather than being unconditionally privileged. (2008-03-24)
| + | |
- | ** Make [[TextWriter]]s [[pass by construction]], as provided in [[E-on-CL]]. (2008-03-24)
| + | |
- | ** Make objects print with FQN-prefix components if their local name is _, like they used to. (2008-03-24)
| + | |
- | ** Make safejTemplate.e into a caplet, if we can make it possible to give a caplet permission to run javap ... oh, my taming-command-line-tools framework (2008-03-24)
| + | |
- | ** Java subtyping relations should be exposed as Class's implementation of rangeSupersetOf
| + | |
- | * ???
| + | |
- | ** https://sourceforge.net/tracker/index.php?func=detail&aid=1666433&group_id=75274&atid=551529 (2008-03-24)
| + | |
- | ** https://sourceforge.net/tracker/?group_id=75274&atid=551529 (2008-03-24)
| + | |
- | | + | |
- | * 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: [http://doc.gold.ac.uk/~mas01cr/tmp/skill.lisp] [http://doc.gold.ac.uk/~mas01cr/tmp/paper.pdf] [http://www.doc.gold.ac.uk/~mas01cr/tmp/mop-27.impure.lisp]
| + | |
- | ** [[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: <pre>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</pre>
| + | |
- | *** this may be obsolete due to having profile options in clrune —[[User:Kevin Reid|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. <code>def foo() { meta.getEnv(foo) }</code>)
| + | |
- | | + | |
- | === E design work ===
| + | |
- | | + | |
- | * Idea: Every directory serves as a root (that is, has the facilities of [[file__uriGetter|<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)
| + | [http://homepage.mac.com/kpreid/elang/e-on-cl/ E on Common Lisp]. |