[Wisp-cvs] wisp/doc TODO,1.67,1.68
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2002-09-04 14:31:51
|
Update of /cvsroot/wisp/wisp/doc In directory usw-pr-cvs1:/tmp/cvs-serv30609/doc Modified Files: TODO Log Message: Cleaned up the TODO list. Index: TODO =================================================================== RCS file: /cvsroot/wisp/wisp/doc/TODO,v retrieving revision 1.67 retrieving revision 1.68 diff -u -d -r1.67 -r1.68 --- TODO 4 Sep 2002 14:31:41 -0000 1.67 +++ TODO 4 Sep 2002 14:31:48 -0000 1.68 @@ -1,6 +1,5 @@ # doc/TODO - a ToDo list for the Wisp interpreter -- A compatibility module for SRFI-9 records on top of Wisp Classes. - A mod_wisp Apache module. - A nice way to write new parsers and rewrite ewisp as one such parser. - A replacement for make and cook. It could be called bake :-) @@ -8,71 +7,57 @@ - A vi-like editor with all the Emacs power conveyed by Wisp. - A way for a procedure to detect whether a given optional argument was specified by the caller or the default was used. - A way to define arithmetical operations for non-integers. -- A way to define ordering (and =) of non-integers or non-chars. +- A way to define ordering (and equality) of non-integers or non-chars. - A way to dump and undump part of current state super-fast. - A yacc-like grammarer. - Advance the assembler so it could create real native code, thusly eliminating the need for a virtual machine. +- All the primitives should be reentrant. - An M4-like expander for the structures. Call it maxpendor. - An apt-able distribution site for debs. - An expect-like system. - Analog for readline. - Backward continuations. -- Constructive methods. +- Convert c8strings and vectors into records. - Create a better way to write regexen, without the need to double all backslashes. - Create a family of parsers for SGML and descendants. - Create a flex-like tool based on the multi-way regexen. - Create a miniature operating system (Wispix? Wixp? Whateverix?) with OSKit. +- Create a way to encapsulate network sockets into ports. - Create snapshot output mechanism. +- Create the |new| procedure to use announced record constructors. +- Create the |slice| procedure as an analog to |ref|. - Database integration. - Detect local variables which always contain integers. - Dictionary iterator. -- Document pregexp's different vision of what a regex match should return. -- Document the export-macro special form. - Document the form precedence list. - Document the hidden *user-dictionary* argument to macros. - Document the implementation of macros. +- Drop the class mechanism in favour of the record system. - Eliminate any usage of Perl whatsoever. -- Eliminate dead code. +- Exceptions as backward continuations. - Existence predicates for optional arguments. - Flag local variables appropriately. -- GNU Coding Standards. -- Get Wisp in next Debian release. - Get the wispers.org domain up, running and filled with content. -- Haskell-style lazy procedure calls. - Imaging facilities so that png:s could be created dynamically for the Web. - Implement plumbing switchboards. - Implement record-level locking for files. +- Implement the homogeneous integer vectors of SRFI-4. - Integrate record-level locking with block-files. - Job control. - Logo for Wisp. - Make EVM sequences atomary for gc purposes and maintain reference lists. -- Make EVM_run(), when !home, push args to the machine stack, argc=:%ecx, and call the raw binary. - Make GC_collect_a_little() available to the Wisp level. - Make Wisp feasible as a shell. -- Make it so that resizing vectors or strings by `just a little' doesn't necessarily mean calling GC_realloc(). -- Make local variables take precedence over macro calls. Macros should only have precedence over global variables. - Make pipeline generator optionally assign a new jobid to the pipeline. - Make pipelines work so all the members are direct children of the caller so the caller can wait for all the members. -- Make structure->string properly detect prefixes following a dot. -- Make the "Invalid instruction handler pointer detected" not contain the pointer. -- Make the EVM use the system stack instead of NS for added speed. -- Make the assembler grinder available as a module. -- Make the bootstrapper use assembler's output. -- Make the builtin root element be an evmfunc by itself. -- Make the regex compiler create evmfuncs, thusly eliminating the need for pcre. -- Make the symbols gc'ible. -- Make the type macro append ? to the default signal. -- Make the with-input-from-file and with-output-to-file work on procedures which call subprocesses too. +- Make symbols gc'ible. - Make translator's result available outside the actual compiler. +- Make |structure->string| properly detect prefixes following a dot. +- Make |with-input-from-file| and |with-output-to-file| work on procedures which call subprocesses too. - Module versioning. -- Move display out of the builtin library. -- Move everything not strictly necessary for plain Wisp itself out of the builtin directory. - Multiple heritance. - Multithreadedness. - Multithreading with different threads in different processes/on different hosts. -- Optimize the compiler's local variable bookkeeping for faster translation. -- Optimize the reader further. -- Organize the builtin library so that locally used subroutines would be defined locally. - Parser for Algol, both for a60 and a68. - Port Dig's Link Collector to WebWisp and put it up on SourceForge as a nice example. Maybe make it a separate public project? - Port Wisp to SunOS. @@ -90,33 +75,17 @@ - Rewrite an optimizer. Currently, proper tail recursion is not done. - SRFI-14 character sets. - Separate vmap from map. -- Signals as backward continuations. - Splicing for function calls. - Stacktracing for debugging purposes. -- The drop-module procedure. -- The prohibit-local special form. +- The |prohibit-local| special form. - Think about possible implications of SRFI-10 (the #, forms). - Think of a way to read and write records. - Think on how to represent Prolog-like and Makefile-like structures by Lispian tools. - Timezone converter as a separate module. +- Unix signal handling. - Virtual terminals. - What about a hierarchical filesystem-like procedure tree? -- Wisp->C translator. -- Wrap gdbm . -- Write a grinder for normal Wisp code. -- Write a parser for procedures' and macros' arguments. It should be a cross between getopt and CL's lambda lists. - Write proper documentation. -- Write the (format ...) function. -- Write the allocated-space primitive. -- case-lambda special form. -- Unix signal handling. -- All the primitives should be reentrant. -- Create the new procedure to use announced record constructors. -- Drop the classes mechanism in favour of the record system. -- Create a way to encapsulate network sockets into ports. -- Create the |slice| procedure as an analog to |ref|. -- Think of i18n issues. The manual should be easily translatable. -- Should wisp.texi be automatically generated from builtin.wid ? -- Implement the homogeneous integer vectors of SRFI-4. -- Think of formalizing policy decision archive. -- Convert c8strings and vectors into records and make |ref| work on them. +- Write the |allocated-space| primitive. +- Write the |format| function. +- |case-lambda| special form. |