Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eliminate runtime bash dependency #526

Merged
merged 1 commit into from
Nov 8, 2023
Merged

Eliminate runtime bash dependency #526

merged 1 commit into from
Nov 8, 2023

Conversation

ii8
Copy link
Contributor

@ii8 ii8 commented Nov 7, 2023

This removes mltons runtime bash dependency and uses only portable shell script instead. Bash is still needed for building.

Benefits are:

  • Packagers of mlton may not notice the bash dependency because they happen to have bash installed anyway, so their mlton package runs fine for them, but will break for somebody else who does not have bash installed.
  • Simplifies installation of binary distribution, for example in minimal docker containers where bash is not preinstalled.
  • Smaller downloads and disk space requirement for users who do not already use bash.
  • More easily portable to new platforms where bash may not be available at all which is very desirable for a compiler.

@MatthewFluet
Copy link
Member

I understand the motivation and it seems simple enough. Though, I wouldn't advocate for aggressively converting all of the scripts.

bin/mlton-script Show resolved Hide resolved
bin/mlton-script Outdated Show resolved Hide resolved
@pclayton
Copy link

pclayton commented Nov 8, 2023

The ShellCheck utility is useful for identifying a wide range of issues that can affect portability/robustness.

@MatthewFluet MatthewFluet merged commit 2f7f22e into MLton:master Nov 8, 2023
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants