bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tail call elimination


From: Paul Smith
Subject: Re: Tail call elimination
Date: Wed, 20 May 2020 12:35:39 -0400

On Wed, 2020-05-20 at 11:13 -0500, Pete Dietl wrote:
> > - major added dependency (Make needs to be widely portable, and it
> > is often part of a boot-strapping procedure.  The core
> > functionality needs to be trim.  Heavy lifting needs to be
> > separable.)
> 
> The shared library for libgmp does not have dependencies on anything
> besides libc, so libgmp only adds one direct dependency and no
> indirect dependencies.

One dependency is 100% more than we have now, though...

> If so desired, like with Guile integration, we could relegate $(expr)
> as a compile-time option.

If idea is that we require GMP or we don't get any math operations,
that seems like a very significant degradation in behavior... it would
in effect require GMP for decent portability.  Or else, all the Linux
distros would not link in GMP (as they don't link with Guile now) and
no one would use it.

If you're suggesting that if GMP is not available then we fall back to
a homegrown math implementation then... why do we need GMP anyway?

> GMP also compiles for windows.

GNU make also runs on VMS, DOS, the BSD and SysV UNIXen, and many other
places.  Even, at one point, AmigaOS although I haven't heard from
those folks in a few releases.

GNU make code still adheres to the C90 standard, because we haven't
decided to drop support for environments which don't have a C99
compiler/runtime... although this might change as we use more gnulib
code.  I can't remember what gnulib's minimum requirements are.

> > Maybe.
> 
> My argument for these is that they are pretty easy to implement.

All these operations are easy to implement because they're native
operations in C :).  The issue is the expression parser and how tricky
that is to get right.  The more operations supported the more work the
parser needs to do (and the more potential for bugs).

> > Again, the questions in my email yesterday need to be addressed.
> 
> I totally missed that email somehow. I'll address it in another
> email.

You can discuss these individually if you want to, but I was mainly
raising these as things that need to be thought about and addressed in
any proposal.  So it's fine with me if you just want to make the
proposal and we can discuss that.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]