home *** CD-ROM | disk | FTP | other *** search
- ===========================
- FUTURE PLANS FOR THE SYSTEM
- ===========================
-
- Scheme
- Version 1.2
- 19-March-1988
-
-
- TOPICS
- ------
- NUMBERS
- DUMP-OBJ
- COMPILER
- INTERFACES
-
-
-
- ================================================================================
-
- NUMBERS
- -------
- I hope to extend the number system soon. Bignums and rational numbers are
- high priority on my list. However, floating point numbers will eventually
- be needed; they are probably the best way to implement transcendental
- functions.
-
- The hardest part (or at least the part I'm the least enthused about) is the
- number <-> string conversion functions. These will be tough.
-
-
-
- ================================================================================
-
- DUMP-OBJ
- --------
- Something I'm quite excited about implementing is a dump-obj function. This
- would dump some representation of a Scheme object and all of its associated
- objects to a file. Later, this file could be loaded back into the system.
-
- To save the entire system, you would just do (dump-obj (the-environment))
- from the top-level. This would allow you to save your own customized
- versions of Scheme, without loading in a lot of initialization each time.
-
- The process would be a lot like a garbage collection, except that addresses
- would have to be marked in a relocation table, and things like symbols'
- names would have to be noted as well. There are also some sticky issues,
- like what does one do with open ports?
-
-
-
- ================================================================================
-
- COMPILER
- --------
- There are provisions for compiled functions in the interpreter. In fact, I
- have code (sans code generators) for a couple of compilers now. Some issues
- are:
-
- * How should relocation be handled so that compiled code will interact
- well with things like dump-obj and the garbage collector?
-
- * Should the compiler produce an intermediate file such as would be
- produced by dump-obj?
-
-
-
- ================================================================================
-
- INTERFACES
- ----------
- It would be nice to provide external library interfaces through functions
- packaged in their own environments. For example, you could load the
- AmigaDOS environment and then access functions out of that environment.
-
- There are some problems, though. I don't think it would be a great idea
- to start adding a bunch of new object types into the system; it makes
- garbage colletion and dump-obj? harder than ever.
-
- Another possibility is to provide interface through AmigaDOS handlers. Then
- system interfaces could be gained through the existing filesystem interface.
- (How about a GFX: handler?) But, there are probably some things that
- just wouldn't work well as handlers.
-
-