can this be done with stack?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

can this be done with stack?

Dennis Raddle
Using stack, but I have a need to build lots of executables. **lots** and new ones all the time .. my application is music playback. I used to have a single executable for playing music, and used it for all compositions. I later found that I needed to do a lot of configuration specific to each composition, and that the most natural language for specifying all the data and functions specific to a composition was Haskell. That means I have a source file for every composition, in the same directory where I store that composition (as a Sibelius file). But a couple things. (1) they aren't in the stack tree, (2) I don't want to add every one of these to a cabal file. 

What is the best way to approach this goal?

D


_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: can this be done with stack?

Michael Snoyman
Have you tried `stack ghc filename.hs`? Also, you could try the script interpreter approach, with something like this:

#!/usr/bin/env stack
-- stack --resolver lts-8.12 script --compile
main = putStrLn "Hello World"

Running `stack filename.hs` will compile and run your file, and you can reuse the resulting executable.

On Fri, Jun 2, 2017 at 9:03 AM, Dennis Raddle <[hidden email]> wrote:
Using stack, but I have a need to build lots of executables. **lots** and new ones all the time .. my application is music playback. I used to have a single executable for playing music, and used it for all compositions. I later found that I needed to do a lot of configuration specific to each composition, and that the most natural language for specifying all the data and functions specific to a composition was Haskell. That means I have a source file for every composition, in the same directory where I store that composition (as a Sibelius file). But a couple things. (1) they aren't in the stack tree, (2) I don't want to add every one of these to a cabal file. 

What is the best way to approach this goal?

D


_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.


_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: can this be done with stack?

Dennis Raddle
Thanks, I'll take a look at this and get back to you if I have any questions.
D

On Thu, Jun 1, 2017 at 11:27 PM, Michael Snoyman <[hidden email]> wrote:
Have you tried `stack ghc filename.hs`? Also, you could try the script interpreter approach, with something like this:

#!/usr/bin/env stack
-- stack --resolver lts-8.12 script --compile
main = putStrLn "Hello World"

Running `stack filename.hs` will compile and run your file, and you can reuse the resulting executable.

On Fri, Jun 2, 2017 at 9:03 AM, Dennis Raddle <[hidden email]> wrote:
Using stack, but I have a need to build lots of executables. **lots** and new ones all the time .. my application is music playback. I used to have a single executable for playing music, and used it for all compositions. I later found that I needed to do a lot of configuration specific to each composition, and that the most natural language for specifying all the data and functions specific to a composition was Haskell. That means I have a source file for every composition, in the same directory where I store that composition (as a Sibelius file). But a couple things. (1) they aren't in the stack tree, (2) I don't want to add every one of these to a cabal file. 

What is the best way to approach this goal?

D


_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.



_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: can this be done with stack?

Dennis Raddle
In reply to this post by Michael Snoyman
Something I'm not clear on, with regard to 'stack ghc', is how to tell stack what environment, modules, etc. to use -- when I run it on a file that is not within my stack directory tree. I tried simple running 'stack ghc filename.hs' and it couldn't find any of my libraries. I also cannot figure out how to pass arguments to ghc.

D

On Thu, Jun 1, 2017 at 11:27 PM, Michael Snoyman <[hidden email]> wrote:
Have you tried `stack ghc filename.hs`? Also, you could try the script interpreter approach, with something like this:

#!/usr/bin/env stack
-- stack --resolver lts-8.12 script --compile
main = putStrLn "Hello World"

Running `stack filename.hs` will compile and run your file, and you can reuse the resulting executable.

On Fri, Jun 2, 2017 at 9:03 AM, Dennis Raddle <[hidden email]> wrote:
Using stack, but I have a need to build lots of executables. **lots** and new ones all the time .. my application is music playback. I used to have a single executable for playing music, and used it for all compositions. I later found that I needed to do a lot of configuration specific to each composition, and that the most natural language for specifying all the data and functions specific to a composition was Haskell. That means I have a source file for every composition, in the same directory where I store that composition (as a Sibelius file). But a couple things. (1) they aren't in the stack tree, (2) I don't want to add every one of these to a cabal file. 

What is the best way to approach this goal?

D


_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.



_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: can this be done with stack?

Michael Snoyman
If you run `stack ghc -- ...`, everything after the -- will be passed to the ghc command. For determining settings, please see this section of the user guide:

https://docs.haskellstack.org/en/stable/GUIDE/#finding-project-configs-and-the-implicit-global

On Fri, Jun 2, 2017 at 12:31 PM, Dennis Raddle <[hidden email]> wrote:
Something I'm not clear on, with regard to 'stack ghc', is how to tell stack what environment, modules, etc. to use -- when I run it on a file that is not within my stack directory tree. I tried simple running 'stack ghc filename.hs' and it couldn't find any of my libraries. I also cannot figure out how to pass arguments to ghc.

D

On Thu, Jun 1, 2017 at 11:27 PM, Michael Snoyman <[hidden email]> wrote:
Have you tried `stack ghc filename.hs`? Also, you could try the script interpreter approach, with something like this:

#!/usr/bin/env stack
-- stack --resolver lts-8.12 script --compile
main = putStrLn "Hello World"

Running `stack filename.hs` will compile and run your file, and you can reuse the resulting executable.

On Fri, Jun 2, 2017 at 9:03 AM, Dennis Raddle <[hidden email]> wrote:
Using stack, but I have a need to build lots of executables. **lots** and new ones all the time .. my application is music playback. I used to have a single executable for playing music, and used it for all compositions. I later found that I needed to do a lot of configuration specific to each composition, and that the most natural language for specifying all the data and functions specific to a composition was Haskell. That means I have a source file for every composition, in the same directory where I store that composition (as a Sibelius file). But a couple things. (1) they aren't in the stack tree, (2) I don't want to add every one of these to a cabal file. 

What is the best way to approach this goal?

D


_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.




_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
Reply | Threaded
Open this post in threaded view
|

Re: can this be done with stack?

Dennis Raddle
That worked beautifully, thanks. (I mean to pass --stack-yaml )
D

On Fri, Jun 2, 2017 at 4:01 AM, Michael Snoyman <[hidden email]> wrote:
If you run `stack ghc -- ...`, everything after the -- will be passed to the ghc command. For determining settings, please see this section of the user guide:

https://docs.haskellstack.org/en/stable/GUIDE/#finding-project-configs-and-the-implicit-global

On Fri, Jun 2, 2017 at 12:31 PM, Dennis Raddle <[hidden email]> wrote:
Something I'm not clear on, with regard to 'stack ghc', is how to tell stack what environment, modules, etc. to use -- when I run it on a file that is not within my stack directory tree. I tried simple running 'stack ghc filename.hs' and it couldn't find any of my libraries. I also cannot figure out how to pass arguments to ghc.

D

On Thu, Jun 1, 2017 at 11:27 PM, Michael Snoyman <[hidden email]> wrote:
Have you tried `stack ghc filename.hs`? Also, you could try the script interpreter approach, with something like this:

#!/usr/bin/env stack
-- stack --resolver lts-8.12 script --compile
main = putStrLn "Hello World"

Running `stack filename.hs` will compile and run your file, and you can reuse the resulting executable.

On Fri, Jun 2, 2017 at 9:03 AM, Dennis Raddle <[hidden email]> wrote:
Using stack, but I have a need to build lots of executables. **lots** and new ones all the time .. my application is music playback. I used to have a single executable for playing music, and used it for all compositions. I later found that I needed to do a lot of configuration specific to each composition, and that the most natural language for specifying all the data and functions specific to a composition was Haskell. That means I have a source file for every composition, in the same directory where I store that composition (as a Sibelius file). But a couple things. (1) they aren't in the stack tree, (2) I don't want to add every one of these to a cabal file. 

What is the best way to approach this goal?

D


_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.





_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.