Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #14483
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.prolog |
| Subject | What about allowing numbers 1e19, etc.. (Re: Novacore is a Prolog profile that explores various relaxations) |
| Date | 2025-03-21 19:21 +0100 |
| Message-ID | <vrkanf$7b21$1@solani.org> (permalink) |
| References | <vrkadh$7arh$1@solani.org> |
Hi, Somehow I have the feeling it doesn't make sense to only recognize floating point numbers as number literals that have a period in it. Most programming languages I have encountered also recognize floating point numbers when they have an exponent e or E in it: - Python: >>> 1e19 1e+19 - JavaScript: > 1e19 10000000000000000000 JavaScript is a little special. Since it has a integer subset inside there floating point numbers. Now I find that SWI-Prolog also allows 1e19: /* SWI-Prolog 9.3.20 */ ?- X = 1e19. X = 1.0e+19. I think this is a good idea. Since there is no confusion. Most Prolog systems I checked never alias an operator e with a number: /* SWI-Prolog 9.3.20 */ ?- op(500,yfx,e). true. ?- X = 1 e 2. X = 1 e 2. Bye Mild Shock schrieb: > Interestingly a flag strict_iso could solve a few > vexing problems. For example the ISO core standard > did only mention floor/1 with signature F → I. > > So in GNU Prolog I can do: > > /* GNU Prolog 1.5.0 */ > > ?- current_prolog_flag(strict_iso, X). > X = on > yes > > ?- X is floor(1). > uncaught exception: error(type_error(float,1),(is)/2) > > ?- set_prolog_flag(strict_iso, off). > yes > > ?- X is floor(1). > X = 1 > yes > > A few Prolog systems don’t share the above behavior, > like SWI-Prolog for example doesn’t throw the type error. > Also SWI-Prolog has nowhere a flag strict_iso. > > Currently I have changed my Prolog system to tell me: > > /* Dogelog Player 1.3.1 */ > > ?- current_prolog_flag(strict_iso, X). > X = off.
Back to comp.lang.prolog | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Noacore is a Prolog profile that explores various relaxations Mild Shock <janburse@fastmail.fm> - 2025-03-21 19:16 +0100
What about allowing numbers 1e19, etc.. (Re: Novacore is a Prolog profile that explores various relaxations) Mild Shock <janburse@fastmail.fm> - 2025-03-21 19:21 +0100
Re: What about allowing numbers 1e19, etc.. (Re: Novacore is a Prolog profile that explores various relaxations) Mild Shock <janburse@fastmail.fm> - 2025-03-21 19:29 +0100
prolog_file_name/2 was a big mistake [Novacore] Mild Shock <janburse@fastmail.fm> - 2025-05-25 09:22 +0200
The recent extension/1 addition in Dogelog Player (Was: prolog_file_name/2 was a big mistake [Novacore]) Mild Shock <janburse@fastmail.fm> - 2025-05-25 09:33 +0200
Corr.: Typo (Was: The recent extension/1 addition in Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-05-25 09:39 +0200
How difficult is a Knowledbase notion? (Was: Novacore is a Prolog profile that explores various relaxations) Mild Shock <janburse@fastmail.fm> - 2025-07-02 09:33 +0200
C++ programming or a PhD in Macro defs (Was: How difficult is a Knowledbase notion?) Mild Shock <janburse@fastmail.fm> - 2025-07-02 09:35 +0200
Workers never had the blessing of Paul Tarau [Prolog missed Web 2.0] (Was: C++ programming or a PhD in Macro defs) Mild Shock <janburse@fastmail.fm> - 2025-07-02 09:49 +0200
General Magic didn't predict the Future (Was: Workers never had the blessing of Paul Tarau [Prolog missed Web 2.0]) Mild Shock <janburse@fastmail.fm> - 2025-07-02 10:07 +0200
Antique Programming Style versus Modern Programming Style [SWI-Prolog] (Was: Workers never had the blessing of Paul Tarau [Prolog missed Web 2.0]) Mild Shock <janburse@fastmail.fm> - 2025-07-02 15:54 +0200
Grand mothers kitchen is nevertheless the best, who knows? (Was: Antique Programming Style versus Modern Programming Style [SWI-Prolog]) Mild Shock <janburse@fastmail.fm> - 2025-07-02 16:06 +0200
csiph-web