Noah Ma
Noah Ma
> Should (or/c) come out as none/c? (Then maybe some of these changes will amount to just looking for none/c?) Treating `(or/c)` and `(first-or/c)` as `none/c` has no effect since...
I mean maybe some places already use `'(or/c)` as contract-name. And on the other hand racket provides `make-none/c` to make new none, so I guess making `(or/c)` evaluate to `none/c`...
For `first-or/c` this change I think is feasible. But if `or/c` does the same thing, I don't know how to make `(opt/c (or/c ...))` return the same name as `(or/c...
I wonder if `racket/contract` is willing to provide `make-any/c` (as the dual of `make-none/c`) ? Thus `premissive/c` can be described as: > If `(permissive-xexprs)` is `#t`, then equivalent to `(make-any/c...
It makes sense to me. And what about `none/c?`? Should we provide it?
This is indeed a problem for me.
I guess it's ok to make these changes on `flmax` and `extflmax`?
> Having flmax diverge from max seems like a bad idea. I would say that from a mathematical point of view, `-inf` is the identity element of `max`, so it...
It seems not hard to extend `max` (no loss of precision) in Chez Scheme (https://github.com/cisco/ChezScheme/pull/660). But I don't know how to change them in Racket CS&BC.
I just found out that [max](https://docs.racket-lang.org/scramble/index.html#%28def._%28%28lib._scramble%2Fnumber..rkt%29._max%2A%29%29) ignoring `-inf.0` has already been implemented in [scramble/number](https://docs.racket-lang.org/scramble/index.html#%28mod-path._scramble%2Fnumber%29).