diff --git a/notes/todo b/notes/todo deleted file mode 100644 index 33e132c67..000000000 --- a/notes/todo +++ /dev/null @@ -1,169 +0,0 @@ -New FASL format. (done!) - Use RPN-style, not command-then-operands. - This allows an explicit stack to be used for operands and requires no stack - for commands. - -Packages in Cold. - Update FASL so defpackage forms are visible, have Cold detect them and - create the package. - Track symbol packages better and store them as is. - Package hash tables don't need to be hashed correctly. They can be - automatically rehashed on first boot. - - Runtime X-compiler -early-cons.lisp COLD UNUSED -primitive-sequence.lisp OBSOLETE OBSOLETE -backquote.lisp COLD LOADED -cons-compiler-macros.lisp COLD LOADED -setf.lisp COLD LOADED -defmacro.lisp COLD LOADED -basic-macros.lisp COLD LOADED -data-types.lisp COLD N/A (replaced by x-compiler support) -parse.lisp COLD HOST -setf-full.lisp COLD LOADED -defstruct.lisp COLD LOADED -type.lisp COLD LOADED -array.lisp COLD LOADED -sequence.lisp COLD LOADED -hash-table.lisp COLD LOADED -packages.lisp OBSOLETE OBSOLETE -../packages.lisp COLD LOADED -string.lisp COLD NOTUSED -reader.lisp COLD LOADED -../closette.lisp WARM LOADED -condition.lisp WARM LOADED CLOS required for runtime. -restarts.lisp WARM LOADED CLOS required for runtime. -error.lisp WARM LOADED CLOS required for runtime. -../lap.lisp WARM HOST -../lap-x86.lisp WARM HOST -../compiler/package.lisp WARM HOST -../compiler/compiler.lisp WARM HOST -../compiler/pass1.lisp WARM HOST -../compiler/constprop.lisp WARM HOST -../compiler/simplify.lisp WARM HOST -../compiler/lift.lisp WARM HOST -../compiler/inline.lisp WARM HOST -../compiler/codegen.lisp WARM HOST -../compiler/builtins.lisp WARM HOST -numbers.lisp COLD LOADED -file-compiler.lisp ??? ??? - -../runtime-support.lisp COLD LOADED -../gc.lisp COLD LOADED -../runtime-array.lisp COLD COMPILED -../runtime-numbers.lisp COLD COMPILED -../character.lisp COLD LOADED -../printer.lisp COLD LOADED -../debug.lisp WARM COMPILED CLOS required for runtime. -../type.lisp COLD COMPILED -../runtime-misc.lisp WARM COMPILED CLOS required for runtime. -../eval.lisp WARM COMPILED CLOS required for runtime. -../cold-stream.lisp COLD COMPILED -../stream.lisp WARM LOADED CLOS required for runtime. -../format.lisp COLD COMPILED Should be loaded, eventually. FORMATTER & FORMAT compiler-macro. -../stack-group.lisp COLD COMPILED -../process.lisp WARM COMPILED CLOS required for runtime. -../interrupt.lisp COLD COMPILED -../interrupt-compiler.lisp WARM COMPILED -../keyboard.lisp WARM COMPILED -../pci.lisp COLD COMPILED -../framebuffer.lisp WARM COMPILED -../bochs-vbe.lisp WARM COMPILED -../graphics.lisp ??? ??? -../test.lisp ??? ??? -../cold/test.lisp COLD COMPILED -../cold/load.lisp COLD COMPILED -../cold/eval.lisp COLD COMPILED -../ethernet.lisp ??? ??? -../file.lisp ??? ??? -../irc.lisp ??? ??? -../profiler.lisp ??? ??? -../rtl8139.lisp ??? ??? -../telnet.lisp ??? ??? - -WARM LOAD ORDER: ../closette.llf,../runtime-misc.llf,../bootstrap/condition.llf,../bootstrap/restarts.llf,../bootstrap/error.llf,../debug.llf,../eval.llf,../stream.llf,../process.llf,../lap.llf,../lap-x86.llf,../compiler/package.llf,../compiler/compiler.llf,../compiler/pass1.llf,../compiler/constprop.llf,../compiler/simplify.llf,../compiler/lift.llf,../compiler/inline.llf,../compiler/codegen.llf,../compiler/builtins.llf,../interrupt-compiler.llf,../keyboard.llf,../pci.llf,../framebuffer.llf,../bochs-vbe.llf,../graphics.llf - - - -LOOP. -Swank requires: - for c across string do - for (pattern . body) in patterns collect - (loop do (serve) while dont-close) ; kinda, probably won't touch that code - for (i f) in backtrace collect - (loop for cs in '("utf-8-unix" "iso-latin-1-unix") - when (find-external-format cs) collect cs) - for char across string do - (loop for c across string - for i from 0 do - ...) - (loop with package-name = (package-name package) - with offset = nil do - ...) - (loop for name in (cons (package-name package) (package-nicknames package)) - for shortest = name then (if (< (length name) (length shortest)) - name - shortest) - finally (return shortest)) - for restart in *sldb-restarts* collect - (loop for frame in (compute-backtrace start end) - for i from start collect ...) - for var in (frame-locals index) collect - for hook in *compile-file-for-emacs-hook* do - for (string buffer package position filename) in strings collect - (loop for sym in syms - for str = (unparse-symbol sym) - when (prefix-match-p name str) - collect str) - (loop for type in types - for xrefs = (xref type name) - when (and (not (eq :not-implemented xrefs)) - (not (null xrefs))) - collect (cons type xrefs)) - (loop for part in range append (prepare-part part istate)) - (loop for (var . val) in context - unless (constantp var) collect `(,var ',val)) - (loop for s = *istate* then next - for next = (istate.next s) - if (not next) return s) - for s = newest then (istate.previous s) while s do - for val across *inspector-history* for i from 0 do - for i from 0 for rest on list while (consp rest) append - for (key . value) in content appending - for (key) on plist by #'cddr collect key - (loop for thread in *thread-list* - for name = (thread-name thread) - for attributes = (thread-attributes thread) - collect ...) - (loop for label in labels collect (getf attributes label)) - (loop for p in (list-all-packages) - when (eq symbol (find-symbol string p)) - collect p) - - -Class redefinition. -Pretty printer. -More format. -Native file compiler. (done?) -Disassembler. -Fix the xcompiler package problems. (done?) -EQL specializers (done!) -classes for structs (done!) -escaping blocks (sigh.) (done!) -processes as structs, not classes (done!) -preemtive multitasking (aiee) -hw interrupts switch to another stack group (done!) -smp (double aiee) - - -Dump the binding stack, replace it with a dx list. - (stack-group-bindings foo) => '((*some-special* . #\snowman) ; binding - (# . #(env-object)) ; unwind-protect - (#(env-object) . 456)) ; tagbody/block -or maybe use dx simple-vectors instead... Same size, less pointer traversal - (stack-group-bindings foo) => #(*some-special* #\snowman ; binding - #(# #(env-object) ; unwind-protect - #(#(env-object) 456 nil))) ; tagbody/block - -Fix the cold package system. - Set (symbol-package foo) to the package name as a keyword. :common-lisp, :keyword, :system