Re: confusion about real vs not real zero
Stephen Chang <[email protected]> Fri, 19 Nov 2021 15:30:09 -0500
| Newsgroups | gmane.comp.lang.racket.user,gmane.lisp.scheme.plt |
|---|---|
| Message-ID | <CAFfiA1K-pso_eyGDJ98UFfi1GjPHUoxvPkM_7CZ-L5WerV6g2g@mail.gmail.com> |
I dont want to fully support complex numbers. I just want to do the minimum so that programs that dont use them are not blocked by the lack of support On Fri, Nov 19, 2021 at 3:30 PM Sorawee Porncharoenwase <[email protected]> wrote: > > Yeah, I was about to reply that I don't think there's a workaround, too. > > What is your goal, though? Do you intend to support complex numbers prope= rly right now? In particular, that problematic code is random generation fr= om contracts, which is rarely invoked anyway. Intuitively, there's no reaso= n why the complex number feature is required to get the code running. > > So one potential solution is to not support complex numbers right now, an= d compile all complex number literals to a JS expression that throws an exc= eption at runtime. > > > > On Fri, Nov 19, 2021 at 12:20 PM Sam Tobin-Hochstadt <[email protected]> = wrote: >> >> On Fri, Nov 19, 2021 at 3:13 PM Stephen Chang <[email protected]> wro= te: >> > >> > Lol I read that page and still didn't get it. >> > >> > Any opinion for a potential workaround? >> >> It depends what you mean by "workaround". The distinction between >> exact and inexact numbers is pretty deeply built-in to how Racket >> numbers work, so there's not going to be a simple workaround that >> fixes this issue. >> >> For RacketScript I think the choices are (a) use floats for everything >> and have semantics that diverge substantially from Racket or (b) have >> a separate implementation of integers that's not JS numbers (maybe JS >> bigints would work). >> >> Sam >> >> > >> > On Fri, Nov 19, 2021 at 3:08 PM Sorawee Porncharoenwase >> > <[email protected]> wrote: >> > > >> > > I had this exact same question when I looked at the RacketScript iss= ue lol. >> > > >> > > The answer is https://docs.racket-lang.org/reference/numbers.html: >> > > >> > > a complex number with an exact zero imaginary part is a real number. >> > > >> > > Since 0.0 is not exact, 0.0i is not a real number. >> > > >> > > On Fri, Nov 19, 2021 at 11:59 AM Stephen Chang <[email protected]= > wrote: >> > >> >> > >> In the following, why is the first considered a real number but the >> > >> second considered not real >> > >> >> > >> > (real? 0.0+0i) >> > >> #t >> > >> > (real? 0.0+0.0i) >> > >> #f >> > >> >> > >> -- >> > >> You received this message because you are subscribed to the Google = Groups "Racket Users" group. >> > >> To unsubscribe from this group and stop receiving emails from it, s= end an email to racket-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected] >> > >> To view this discussion on the web visit https://groups.google.com/= d/msgid/racket-users/CAFfiA1%2BYygGrLH2rtwby8AWg7Edyvq-tzmANTNypq5Rqd-eXFw%= 40mail.gmail.com. >> > >> > -- >> > You received this message because you are subscribed to the Google Gro= ups "Racket Users" group. >> > To unsubscribe from this group and stop receiving emails from it, send= an email to racket-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected] >> > To view this discussion on the web visit https://groups.google.com/d/m= sgid/racket-users/CAFfiA1%2B3yRzzh%3DKhcOddt0geMezNsxQGHqzwGTYbZjLekUQ8kQ%4= 0mail.gmail.com. --=20 You received this message because you are subscribed to the Google Groups "= Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to racket-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected] To view this discussion on the web visit https://groups.google.com/d/msgid/= racket-users/CAFfiA1K-pso_eyGDJ98UFfi1GjPHUoxvPkM_7CZ-L5WerV6g2g%40mail.gma= il.com.