earldouglas / Sbt Frege
Licence: bsd-3-clause
Frege support for sbt
Stars: ✭ 51
Programming Languages
scala
5932 projects
Labels
Projects that are alternatives of or similar to Sbt Frege
Sbt Ignore Play Generated
Configure linters and coverage tools to ignore Play's generated source files.
Stars: ✭ 10 (-80.39%)
Mutual labels: sbt, sbt-plugin
sbt-hepek
Sbt plugin for rendering Scala objects to files. And more!
Stars: ✭ 17 (-66.67%)
Mutual labels: sbt, sbt-plugin
sbt-ammonite-classpath
Export the classpath for Ammonite and Almond
Stars: ✭ 29 (-43.14%)
Mutual labels: sbt, sbt-plugin
sbt-elm
Scala Build Tool (SBT) plugin for the Elm programming language
Stars: ✭ 44 (-13.73%)
Mutual labels: sbt, sbt-plugin
Sbt Play Gulp
Gulp asset pipeline for Play Framework
Stars: ✭ 38 (-25.49%)
Mutual labels: sbt, sbt-plugin
Soteria
Plugin to block compilation when unapproved dependencies are used or code styling does not comply.
Stars: ✭ 36 (-29.41%)
Mutual labels: sbt, sbt-plugin
sbt-assembly
Deploy über-JARs. Restart processes. (port of codahale/assembly-sbt)
Stars: ✭ 1,801 (+3431.37%)
Mutual labels: sbt, sbt-plugin
Sbt Updates
sbt plugin that can check Maven and Ivy repositories for dependency updates
Stars: ✭ 653 (+1180.39%)
Mutual labels: sbt, sbt-plugin
sbt-kubeyml
Sbt plugin to help deploy Scala applications to Kubernetes
Stars: ✭ 37 (-27.45%)
Mutual labels: sbt, sbt-plugin
sbt-ecr
An SBT plugin for managing Docker images within Amazon ECR.
Stars: ✭ 52 (+1.96%)
Mutual labels: sbt, sbt-plugin
sbt-publish-more
📤 Publish artifacts to more than one repository
Stars: ✭ 21 (-58.82%)
Mutual labels: sbt, sbt-plugin
Sbt Buildinfo
I know this because build.sbt knows this.
Stars: ✭ 486 (+852.94%)
Mutual labels: sbt, sbt-plugin
Features
- 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
Requirements
- sbt 1.0.1+
- Scala 2.4.0+
For sbt 0.13.6+ projects, use sbt-frege version 1.1.3
Getting started
Add the Frege sbt plugin to your project:
project/plugins.sbt:
addSbtPlugin("com.earldouglas" % "sbt-frege" % "3.0.2")
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!
()
Configuration
Frege compiler
-
fregeOptions: Seq[String]
- Extra options for fregec -
fregeSource: File
- Frege source directory (default src/main/frege/) -
fregeTarget: File
- Frege target directory (default target/frege/) -
fregeCompiler: String
- Full name of the Frege compiler (default frege.compiler.Main) -
fregeLibrary: ModuleID
- Frege library (fregec.jar) to use (default Frege 3.23.288)
Frege REPL
-
fregeReplVersion: String
- The version of frege-repl to use (default 1.3) -
fregeReplMainClass: String
- The Frege REPL main class (defaultfrege.repl.FregeRepl
)
Though sbt-frege uses 3.24.100.1 by default, Frege REPL 1.3 depends on
Frege 3.23.288, so it takes priority when launching fregeRepl
.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].