Skip to content

The Grinch stole all the vowels: Odd naming in .cabal/store (macOS)  #7209

@andreasabel

Description

@andreasabel

This affects only macOS, I think.
If I look into .cabal/store, I see:

~/.cabal/store/ghc-8.10.3$ ls
Dff-0.4.0-e2417685                 n-0.4.1-98d17fa3
Dff-0.4.0-e6c8ed46                 nclsd-xcptns-1.0.3-7f7ef320
HTF-0.14.0.3-710f7bdf              ndxd-trvrsbl-0.1-9a7dbfcd
HUnt-1.6.1.0-74fb3e3f              ndxd-trvrsbl-0.1-ec48aff0
HsYAML-0.2.1.0-7c9cf1ca            ndxd-trvrsbl-nstncs-0.1-be410491
QckChck-2.14.2-3e204cf1            nrdrd-cntnrs-0.2.13.0-0b73c8ca
QckChck-2.14.2-605cea58            nrdrd-cntnrs-0.2.13.0-a7a57927
ShllChck-0.7.1-f3d01607            ns-trmnl-0.11-fcd1ff58
...

Seriously! The Grinch stole all the vowels.
I cannot help feeling trolled by cabal v2. (Which I am still trying to learn.)
#5399 (comment)
Apparently, removing the vowels should help the Mach-O linker with its space limitations.
https://github.com/typedrat/cabal/blob/638c78e790721566780dbf75a2e6f884ceafa970/cabal-install/Distribution/Client/PackageHash.hs#L137-L145
I feels I am on the C64 again. Sure this isn't an Easter egg?

Questions:

  • Just how many bytes are saved by dropping the vowels?
  • Does this measure guarantee that things will work? (How? And how does this fight super long package names?)
  • Do thinks break without the measure?
  • Is this a systematic fix of the problem?
  • How does this weigh against the confusion of the users?

Odd.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions