packages feed

LPFP-1.0: LPFP.cabal

cabal-version: 1.12

name:           LPFP
version:        1.0
synopsis:       Code for the book Learn Physics with Functional Programming
description:    Haskell code to help the user learn mechanics of one particle,
                mechanics of multiple interacting particles, and electromagnetic theory.
homepage:       https://lpfp.io
author:         Scott N. Walck
maintainer:     walck@lvc.edu
copyright:      2023 Scott N. Walck
license:        BSD3
license-file:   LICENSE
build-type:     Simple
category:       Physics

library
  exposed-modules:
      LPFP
      LPFP.SimpleVec
      LPFP.Newton2
      LPFP.Mechanics1D
      LPFP.Mechanics3D
      LPFP.MultipleObjects
      LPFP.MOExamples
      LPFP.Electricity
      LPFP.CoordinateSystems
      LPFP.Geometry
      LPFP.Integrals
      LPFP.Charge
      LPFP.ElectricField
      LPFP.Current
      LPFP.MagneticField
      LPFP.Lorentz
      LPFP.Maxwell
  hs-source-dirs: src
  build-depends:
      base >=4.7 && <5, gnuplot, spatial-math, gloss, not-gloss, diagrams-lib
    , diagrams-cairo, containers
  default-language: Haskell2010

executable LPFP-hello
  main-is: hello.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
  default-language: Haskell2010

executable LPFP-MakeTrajectoryGraph
  main-is: MakeTrajectoryGraph.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gnuplot
  default-language: Haskell2010

executable LPFP-GlossDisplay
  main-is: GlossDisplay.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gloss
  default-language: Haskell2010

executable LPFP-GlossDisplay2
  main-is: GlossDisplay2.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gloss
  default-language: Haskell2010

executable LPFP-GlossAnimate
  main-is: GlossAnimate.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gloss
  default-language: Haskell2010

executable LPFP-GlossSimulate
  main-is: GlossSimulate.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gloss
  default-language: Haskell2010

executable LPFP-GlossSimulate2
  main-is: GlossSimulate2.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gloss
  default-language: Haskell2010

executable LPFP-VisDisplay
  main-is: VisDisplay.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , not-gloss
  default-language: Haskell2010

executable LPFP-VisDisplay2
  main-is: VisDisplay2.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , not-gloss
    , linear
  default-language: Haskell2010

executable LPFP-VisDisplay3
  main-is: VisDisplay3.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , not-gloss
    , linear
    , spatial-math
  default-language: Haskell2010

executable LPFP-VisAnimate
  main-is: VisAnimate.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , not-gloss
    , spatial-math
  default-language: Haskell2010

executable LPFP-VisSimulate
  main-is: VisSimulate.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , not-gloss
  default-language: Haskell2010

executable LPFP-GlossHalley
  main-is: GlossHalley.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gloss
  default-language: Haskell2010

executable LPFP-GlossProjectile
  main-is: GlossProjectile.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gloss
  default-language: Haskell2010

executable LPFP-VisProjectile
  main-is: VisProjectile.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , not-gloss
  default-language: Haskell2010

executable LPFP-Mech3Proton
  main-is: Mech3Proton.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gloss
  default-language: Haskell2010

executable LPFP-GlossProton
  main-is: GlossProton.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gloss
  default-language: Haskell2010

executable LPFP-VisTwoSprings
  main-is: VisTwoSprings.hs
  hs-source-dirs: app
  build-depends: LPFP, base >=4.7 && <5, not-gloss
  default-language: Haskell2010

executable LPFP-GlossBilliard
  main-is: GlossBilliard.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gloss
  default-language: Haskell2010

executable LPFP-GlossWave
  main-is: GlossWave.hs
  hs-source-dirs: app
  build-depends: LPFP, base >=4.7 && <5, gloss
  default-language: Haskell2010

executable LPFP-GnuplotWave
  main-is: GnuplotWave.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , gnuplot
  default-language: Haskell2010

executable LPFP-GlossBilliardAnimate
  main-is: GlossBilliardAnimate.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
  default-language: Haskell2010

executable LPFP-ProtonEB
  main-is: ProtonEB.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , not-gloss
  default-language: Haskell2010

executable LPFP-Hydrogen
  main-is: Hydrogen.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , not-gloss
  default-language: Haskell2010

executable LPFP-ElectricWave
  main-is: ElectricWave.hs
  hs-source-dirs:
      app
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      LPFP
    , base >=4.7 && <5
    , diagrams-cairo, diagrams-lib
  default-language: Haskell2010