Changeset 31278 in project


Ignore:
Timestamp:
08/24/14 10:22:56 (5 years ago)
Author:
svnwiki
Message:

Anonymous wiki edit for IP [68.237.143.152]: Lots of comments from John Cowan.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/chicken-5-roadmap

    r31277 r31278  
    3434"scheme" module to import all of the underlying submodules.
    3535
     36* As I've posted to the mailing list, I think using hyphen makes more sense than using dot.  --John Cowan
     37
    3638==== Replacing SRFI-14 with cset implementation from irregex?
    3739
     
    4143different characters), whereas most other CHICKEN components and eggs
    4244assume UTF-8.
     45
     46* Strong +1.  --John Cowan
    4347
    4448==== Refactoring the CHICKEN test suite to use a core library?
     
    8387; srfi-10 : define-reader-ctor
    8488
     89* I'm planning to propose some of these (2, 8, 31, 26, 17) in a single R7RS-large library, probably called (scheme control) or (scheme control simple).  SRFI 15 is a ''very'' bad idea, and shouldn't have been implemented, as it breaks horribly in the presence of multiple threads.  Parameters are a satisfactory replacement and part of both Chicken and R7RS-small.  --John Cowan
     90
    8591Also, is it {{srfi-2}} or {{srfi.2}}?  The latter would match up with
    8692{{(srfi 2)}} usage which is reserved by R7RS for SRFIs.
     93 *
    8794
    8895The list below is just a proposal, can be changed at any time.  We
     
    102109; chicken.format : {{[fs]?printf}}, format (do we need this?), pp, pretty-print, pretty-print-width
    103110
     111 * If you put {{use}} in a module, how do you get access to that module?  I favor the R7RS solution, in which {{import}} does what Chicken {{use}} does, and is special-cased in terms of the module system so that it is always available.  --John Cowan
     112
     113 * There will be R7RS (scheme fixnum) and (scheme flonum) modules.  I'm currently proposing to base the fixnums on R6RS and the flonums on {{math.h}} (not the egg of that name, but the whole C interface).  --John Cowan
     114
     115
    104116==== Proposed removal from core
    105117
     
    114126
    115127Proposal already accepted in CR #1142.
     128
     129* I'm proposing a queue library for R7RS-large.  --John Cowan
    116130
    117131===== combinators
     
    120134only a handful of them are actually useful.  There is no technical
    121135reason to keep them in core, they might fit better in an egg.
     136
     137* I'm proposing a similar library for R7RS-large.  --John Cowan
    122138
    123139===== Various ill-conceived POSIX things
     
    146162into an egg.
    147163
     164 * +1 for an egg.  I'm going to propose this for R7RS-large.  --John Cowan
     165
    148166
    149167=== Reworking the way libraries are loaded
    150168
    151169Right now there are just too many confusing things, like require, require-extension, use, import, load, load-library, require-library.
     170
     171 * Import (with the function of use) should be the main API.  Load is necessary because it can load things whose names are determined at run time.  It should be able to load either source or binaries.   Include also belongs here.  --John Cowan
    152172
    153173Units and modules are confusing also.  This could just be a
    154174documentation issue.
     175
     176 * Units should IMO be deprecated, with a compiler switch to turn off deprecation when compiling Chicken itself.  --John Cowan
    155177
    156178=== Refactoring the scheduler
     
    172194rewound.  This makes sense at least for file-backed ports and string
    173195ports.
     196
     197 * Well, not all file-backed ports are seekable.  --John Cowan
    174198
    175199This is also a good opportunity to look at why I/O is so slow.
     
    200224lookup tables, string-ref?
    201225
     226 * Go full Unicode.  If Chibi can do it, so can we.  R7RS is factored to push the big Unicode tables into (scheme char).  However, IMO the NUL character is completely worthless as a character: it has no semantics worth mentioning.  We can forbid it in strings, as R7RS-small allows.  --John Cowan
     227
    202228If we go full Unicode, the SRFI-4/blob types might need some
    203229attention, because strings can no longer be (ab)used as byte vectors.
     230
     231Why are there both u8vectors and blobs?  IMO they should be the same thing, and should be R7RS bytevectors.  I'm working on a R7RS-large numeric vector library that allows either SRFI 4 style (separate data types for different kinds) or the style used in later SRFIs and R6RS (everything is just a view on top of bytevectors).  --John Cowan
    204232
    205233=== Rewrite chicken-install and make setup-files declarative
     
    209237systems.  It will also mean that setup-files won't be running
    210238arbitrary Scheme code as root, which means it's more trustworthy.
     239
     240 * A possible approach would be to create a module that exports only the list of things we want to support in setup-files.  Then they will begin with {{(module () (use setup-files)}} and can still be executed, but only the whitelisted operations will be permitted.  --John Cowan
    211241
    212242Another thing we need is to make files installed by eggs more
     
    284314same file.  This might make maintenance a little easier, but requires
    285315a small change in henrietta-cache.
     316
     317 * IMO the brains should be in henrietta.  --John Cowan
Note: See TracChangeset for help on using the changeset viewer.