- Compile Frege code from your project's src/main/frege/ directory
- Call Frege code from your project's Java/Scala/etc. code
- Launch the Frege REPL with your project's classes and libraries
- sbt 0.13.6+
Add the Frege sbt plugin to your project:
project/plugins.sbt:
addSbtPlugin("com.earldouglas" % "sbt-frege" % "1.1.3")
Write some Frege code:
src/main/frege/example/HelloWorld.fr:
package example.HelloWorld where
main :: [String] -> IO ()
main _ = println "Hello, world!"
Build and run it:
$ sbt
> compile
> run
Hello, world!
Try it from the Frege REPL:
$ sbt
> fregeRepl
frege> import example.HelloWorld (main)
frege> main []
Hello, world!
()
fregeOptions
- Extra options for fregec:Seq[String]
fregeSource
- Frege source directory (default src/main/frege/):File
fregeTarget
- Frege target directory (default target/frege/):File
fregeCompiler
- Full name of the Frege compiler (default frege.compiler.Main):String
fregeLibrary
- Frege library (fregec.jar) to use (default Frege 3.23.288),ModuleID
fregeReplVersion
- The version of frege-repl to use (default 1.3):String
fregeReplMainClass
- The Frege REPL main class (defaultfrege.repl.FregeRepl
):String
Though sbt-frege uses 3.24-7.30 by default, Frege REPL 1.3 depends on
Frege 3.23.288, so it takes priority when launching fregeRepl
.