Comments (11)
Chez Scheme's executable has been called "scheme" since before the 1.0 release in 1985, and my fingers could not survive the change. It's straightforward to change the name on install by passing, e.g., InstallSchemeName=chez-scheme
on the make install
command line.
from chezscheme.
This discussion seems to have run its course, and the resolution to use the make install
option to select a different name seems to be acceptable, so I'm marking the issue closed.
from chezscheme.
I've dealt with this in the ArchLinux PKGBUILD by renaming it to chez-scheme. The following files are affected:
- /usr/bin/scheme
- /usr/share/man/man1/scheme.1.gz
- /usr/lib/csv9.4/ta6le/scheme.boot
- maybe also /usr/lib/csv9.4/ta6le/scheme.h
(csv9.4 and ta6le depend on version and machine type).
from chezscheme.
why not just call it chez?
from chezscheme.
And what of petite
and scheme-script
?
from chezscheme.
Why would anyone want to run MIT scheme when they could run Chez scheme instead?
On a more serious note, historical precedent demands that scheme
be the executable name, much like cc
is the C compiler name regardless of vendor, and javac
is the java compiler name, whether it came from Oracle or OpenJDK.
from chezscheme.
Then it is up to downstream to provide necessary symlinks or wrappers, as is done with cc
. (Although IIRC it is POSIX that requires stuff like cc
, c98
, c99
, etc.)
from chezscheme.
@dybvig: Thanks for the install switch. I'll do that next time.
@jltaylor-us: As someone who has 50 Schemes installed on his system (for good reason), I would go nuts if they were all named scheme
. As for precedent, cc
is a symlink on all the systems I have access to right now; it points to gcc
, but could be changed to point to clang
or for that matter lcc
or tcc
if I had them installed. The whole Debian /etc/alternatives
system (now available in Fedora and elsewhere as well) depends on each alternative executable having a unique name. In addition, the AOT Java compiler is named gjc
, not javac
; they don't do the same thing, but then different Schemes are not exactly plug-replaceable either.
@Earnestly: I don't think anyone else (certainly no other Scheme) uses the name petite
.
from chezscheme.
That leaves scheme-script
then, which is unchanged with InstallSchemeName
.
from chezscheme.
@johnwcowan: I'm not especially familiar with the /etc/alternatives
system, but it seems obvious from a quick read of the update-alternatives
man page that each alternative for any given command has to have a unique path, not filename. Maybe all your problems could be solved pretty simply if #6 / #16 were fixed and you could then set up symlinks into the install directory using whatever names you like?
from chezscheme.
@jltaylor-us: Yes, in principle I could install every Scheme into a separate install path, and then flipflop either /etc/alternatives or my own symlinks like crazy. The fact is, I don't have to in any other case, and I shouldn't have to here, and given the install option, I don't have to. I also removed the MIT Scheme symlink, and "scheme" on my system now runs a script that shows concisely the startup invocations for all my Schemes.
@Earnestly: I certainly hope nobody depends on scheme-script
, which is only provided for compatibility with non-normative Appendix D of R6RS, written at a time when R6RS was expected to have a much broader reach, and compatibility between R6RS systems was expected to be closer than it actually is.
from chezscheme.
Related Issues (20)
- The import forms miss to match the keywords `only`, `prefix`, `rename`, ... by binding
- linear slowdown with parallel execution? HOT 1
- Invalid foreign-procedure convention __collect_safe HOT 2
- When will be the next release? HOT 3
- Building is now very slow? HOT 6
- mat failures with macOS 14's iconv HOT 1
- Out of scope syntax-parameterize and local variables HOT 1
- Unable to build ChezSchem on WSL Archlinux HOT 1
- Small error in the CSUG HOT 1
- Release 10.0.0 .tar.gz does not contain the submodules HOT 3
- Should `make test` use jobserver parallelism? HOT 6
- Intermittent crash in `make test` HOT 2
- `makefiles/boot.zuo`'s `main` calls `cross-build-boot` incorrectly HOT 3
- Why is `main.o` installed? HOT 3
- Bug in fixnum arithmetic HOT 1
- bytevector-reference-ref & set! fail to correctly check size of bytevectors smaller than ptr-bytes - 1 HOT 1
- Warnings from GCC `-fanalyzer`
- new RNG is very broken HOT 4
- chezscheme 10 cannot be built from tarball HOT 1
- Non-tail calls to errorf sometimes treated as tail calls with debug-level 2 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chezscheme.