zsh-workers
 help / color / mirror / code / Atom feed
From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: zsh-workers@sunsite.auc.dk (Zsh hackers list)
Subject: Re: Floating point support?
Date: Tue, 14 Sep 1999 17:06:16 +0000	[thread overview]
Message-ID: <990914170616.ZM27029@candle.brasslantern.com> (raw)
In-Reply-To: <9909141556.AA22292@ibmth.df.unipi.it>

On Sep 14,  5:56pm, Peter Stephenson wrote:
} Subject: Floating point support?
}
} I'm thinking about adding some floating point support to zsh; this is just
} to canvas opinions.  My idea is to add a floating point parameter type
} together with support in math evaluations [...]

Problems that immediately come to mind:

For one, suppose I have float-typed parameters x and y and I write

	for i in {$x..$y}; do
or
	print *.<$x-$y>

Another is that array subscripts are math-eval'd, and some pretty strange
things may happen in any code that relies upon multiplication or division
to compute subscripts if floating point gets involved (even if the result
is rounded down).  Not that I'm directly aware of any such code ...

Then there's the (very minor) matter of associative arrays with numeric
indices (which are represented by converting to strings) and expectations
of accuracy when indexing those with the result of floating-point math
(the problem being that there shouldn't be any expectation of accuracy).

I'm also a bit dubious of making floating point precision dependent on the
size of the integer type, but if it doesn't bother you ...

} - Does anyone object to sullying the integral purity of zsh with decimal
} points and exponents?

Plainly from the standpoint of purity, not I.

} - What about functions?  We could supply some basic maths functions, or
} could put them in a loadable module

I'd vote for the module, though it should be in the builtin modules list
for a static compile.

} which would require yet more support for hooks

We could treat it like a Windoze DLL and simply load the module named 
"math" (or "float" or something); if users want other special functions
they have add them to a module with that same name.  Maybe we could put
in support for any module to load another one later in the module path,
for creation of such augmented modules.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com


  reply	other threads:[~1999-09-14 17:06 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-09-14 15:56 Peter Stephenson
1999-09-14 17:06 ` Bart Schaefer [this message]
1999-09-15  9:19   ` Peter Stephenson
1999-09-15  7:16 Sven Wischnowsky
1999-09-15 15:20 ` Bart Schaefer
1999-09-15 17:59 ` Peter Whaite

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=990914170616.ZM27029@candle.brasslantern.com \
    --to=schaefer@candle.brasslantern.com \
    --cc=zsh-workers@sunsite.auc.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).