[plt-dev] Re: promoting unstable libraries
On Feb 3, Ryan Culpepper wrote:
> My proposals:
>
> -- unstable/list --
>
> The following should move:
> - list-prefix?
-5 -- a function that removes the shared prefix is something that I'd
use in several places (actually, I can't think of a case that I needed
to know if l1 is a prefix of l2 without wanting the tail of l2 too).
If such a function is added, then adding a `list-prefix?' function
should be layered on top to maximize profits.
> - check-duplicate
-5, for the same reason as I originally said -- it is way better if
this is merged with remove-duplicates, so they can both share
functionality like keyword arguments, and implementation advantages.
(For example, `remove-duplicates' decides whether it should use a hash
table or the plain list search, but `check-duplicates' doesn't and
instead forces you to choose and has a bad default. If there are
cases where specifying your container rather than your equality is
needed, then that should be added to `remove-duplicates' too.)
> The following should move:
> - define/with-syntax
(?) This looks cute, but is there a situation that you won't be able
to deal with via `with-syntax'? (Also, that doesn't sound like a good
name.)
> - with-syntax*
+1
> - format-symbol
> - format-id
Is there any reason to have `format-symbol'? Also, I would like the
option of "copy everything" that I wrote in a comment there. Also_2,
I would *much* rather have `id-append' than this -- I went through my
code and found many places where I used an `id-append'-like tool, and
only once in the past I did the format thing.
> - syntax-local-eval
+8 This should *really* move out, since it was out in its previous
form.
> - internal-definition-context-apply
(?) I don't remember whether you had an example for when this is
useful.
> These could all go into scheme/base, since they're all related to
> other procedures already in scheme/base. Or (some/all) could go into
> a new library. Thoughts?
-1. Except maybe for `with-syntax*'. Somewhere in `syntax/*' sounds
better, or maybe a new `scheme/syntax'.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!