Hello Moritz, > GHCi is basically just GHC. And you could ship GHC with an initial package-db > that contains all of your tidal dependencies, thus removing the need to > install more.
Thank you for the idea of using a package-db. When you say initial, do you mean that: We create a package-db that points to the built tidal libraries and make sure our executable can find it, or that this package db can actually be hosted inside the compiled executable at compile time? > Adding additional packages will require cabal/stack or some other way to get > and build them though, should that be a consideration. This would be nice to support, but many users of tidal, such as myself, are not haskell developers. If needed, the current method of using tidal cycles using the haskell package ecosystem is suitable for this usecase. The issue is more that: a musician might be really excited to try tidal cycles but struggle or fail to complete the process of installing a development environment. Many people who give workshops for tidal spend the majority of the time helping with installation! Using a package-db to create an easy-to-distribute nix or MacOS package is a huge plus, but having a portable static binary is a lot more foolproof, and affords lots more interesting use-cases. Another example: packaging tidal as a standalone WASM blob that we can easily distribute as a VSCode plugin. This would allow for a fool-proof one-click install! (to that note, thank you Georgi for the ghc/wasm example) > For your second question, to just “run” a tidal pattern, you should be able > to compile this into a standalone (even static) haskell executable I would > assume. And then be able to ship that around and run in the final environment. Unfortunately, this would not work, as the pattern would be authored by the user of the DAW, inside the DAW, and would not be known at compile time. You can find an example of a VST plugin which uses a stripped down version of tidal (with its own parser and execution engine) here: https://codeberg.org/TristanCacqueray/pluguzu --- As a closing note, tidal only really makes sense as a domain-specific language embedded within haskell. So in order to easily distribute or embed tidal, we have to package or embed haskell too! Thanks, Gwen _______________________________________________ ghc-devs mailing list -- [email protected] To unsubscribe send an email to [email protected]
