[racket-dev] [plt] Push #21156: master branch updated

From: Eli Barzilay (eli at barzilay.org)
Date: Tue Sep 28 11:23:55 EDT 2010

Can we please not have this??  The whole point of having uniform names
is that you can use require/provide things easily so there's no need
for a library.

In addition, the usual way things went so far was to write safe code,
and then "turn on" unsafely by adding requires with dropping the
prefix, or do it locally by adding `unsafe-'.  Now the development
line would be to start safely, then add unsafe, then to debug you add
this other unsafe thing which is really not unsafe.


7 minutes ago, clements at racket-lang.org wrote:
> collects/racket/unsafe/safe-ops.rkt
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> --- /dev/null
> +++ NEW/collects/racket/unsafe/safe-ops.rkt
> @@ -0,0 +1,25 @@
> +#lang racket
> +
> +(require racket/fixnum
> +         racket/flonum)
> +
> +
> +;; the point of this file is to provide functions that are labeled
> +;; as unsafe but are actually safe.  This provides an easy means to
> +;; disable unsafety; a require of racket/unsafe/ops can be replaced
> +;; with a require of racket/unsafe/safe-ops. 
> +
> +;; this list is almost certainly incomplete; I feel partially justified
> +;; in adding it to the tree anyhow because 
> +;; a) it's easy to extend, and
> +;; b) it appears to me (based on the require of #%unsafe in the corresponding
> +;;     'ops' library) that determining the full set of functions will require
> +;;     mucking around in the C source, and not being very confident about 
> +;;     my conclusions.
> +
> +
> +(provide (prefix-out unsafe- (all-from-out racket/fixnum))
> +         (prefix-out unsafe- (all-from-out racket/flonum))
> +         (prefix-out unsafe- (combine-out vector-length
> +                                          vector-ref
> +                                          vector-set!)))

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!


Posted on the dev mailing list.