# Install frege with Homebrew

Non-strict, functional programming language in the spirit of Haskell. Version 3.24.405 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:frege
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install frege
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:frege
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/frege>
- **Version:** 3.24.405
- **Source summary:** Non-strict, functional programming language in the spirit of Haskell
- **Homepage:** <https://github.com/Frege/frege/>
- **Repository:** <https://github.com/Frege/frege>
- **Upstream docs:** <https://github.com/Frege/frege#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/Frege/frege/releases/download/3.24public/frege3.24.405.jar>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- fregec (cli)
- fregec (alias)

## Dependencies

- openjdk

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.24.405
- Local data: ok
- Upstream repository: https://github.com/Frege/frege
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

Frege is a non-strict, purely functional programming language for the JVM, described by its maintainers as a Haskell for the JVM. It compiles Frege modules to Java-compatible class files, runs on the JVM, and is designed to interoperate with Java libraries while preserving Haskell-style purity, laziness, type inference, algebraic data types, and type classes.

### Project history

The project is named after the logician Gottlob Frege. Its public repository and release history show an active 3.x compiler line in the mid-2010s, with published builds around the 3.21 series in 2013-2014, 3.22 and 3.23 releases in 2015, a Java 8 compiler alpha in 2016, and public 3.24 and 3.25 alpha artifacts in 2018.

Frege's own README emphasizes a self-hosting culture around the language: the compiler, standard library, command-line REPL, web REPL, Eclipse plugin, and documentation tool are described as being written in Frege or part of the Frege ecosystem.

### Adoption history

Frege was aimed at two adjacent communities: Java programmers who wanted a strongly typed, pure functional language without leaving the JVM, and Haskell programmers who wanted to reuse functional programming techniques in Java projects. The official README points to integrations and tooling for command-line use, Eclipse, VS Code, IntelliJ IDEA, Maven, Gradle, Leiningen, SBT, and Bazel.

The README also records Frege as a winner of the JavaOne Emerging Languages Bowl in 2015, 2016, and 2017, which places it in the JVM language experimentation wave of that period.

### How it is used

The main package-facing executable is `fregec`, the compiler. A small Frege module can compile to `.class` and `.java` output with a normal Java `main` method, and Frege code can expose pure functions callable from Java while using IO types for side effects.

Common use is educational, experimental, or integration-oriented: trying Haskell-like code on the JVM, compiling small modules, exploring the REPLs, or building mixed Java/Frege projects through JVM build tools.

### Why package nerds care

Frege matters to package collectors as a compact example of the post-Scala JVM language ecosystem: a Haskell-inspired compiler that ships as a command-line tool, depends on the JVM rather than a native runtime, and brings lazy functional semantics into Java packaging workflows.

Its package metadata is also useful because it connects a language compiler, REPLs, IDE plugins, build plugins, and generated documentation under one ecosystem rather than a single binary.

### Timeline

- 2013: Public GitHub releases include Frege 3.21 builds.
- 2015: Frege 3.22 and 3.23 releases are published; the project records a JavaOne Emerging Languages Bowl win.
- 2016: A 3.24 alpha release targets a new compiler for Java 8.
- 2018: Public 3.24 builds and 3.25 alpha jars are published.

### Related projects

- Related Frege projects include the command-line REPL, online REPL, Eclipse plugin, VS Code support, Maven plugin, Gradle plugin, Leiningen plugin, SBT plugin, and Frege libraries such as QuickCheck-style testing tools.
- Conceptually, Frege is related to Haskell, the JVM language family, Java build tooling, and other functional languages that target managed runtimes.

### Sources

- <https://api.github.com/repos/Frege/frege/releases>
- <https://raw.githubusercontent.com/Frege/frege/master/README.md>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** frege
- **Version Scheme:** 0
- **Revision:** 3
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [openjdk](https://www.automicvault.com/pkg/brew/openjdk/) - Runtime dependency declared by Homebrew.
- [coconut](https://www.automicvault.com/pkg/brew/coconut/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [flix](https://www.automicvault.com/pkg/brew/flix/) - Shares av.db curated category or tags: cli, functional-programming, jvm, language-runtime, programming-language.
- [idris2](https://www.automicvault.com/pkg/brew/idris2/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [koka](https://www.automicvault.com/pkg/brew/koka/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [kotlin](https://www.automicvault.com/pkg/brew/kotlin/) - Shares av.db curated category or tags: cli, compiler, jvm, language-runtime, programming-language.
- [mercury](https://www.automicvault.com/pkg/brew/mercury/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [never](https://www.automicvault.com/pkg/brew/never/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [purescript](https://www.automicvault.com/pkg/brew/purescript/) - Shares av.db curated category or tags: cli, compiler, functional-programming, language-runtime, programming-language.
- [frege-repl](https://www.automicvault.com/pkg/brew/frege-repl/) - Package names and metadata indicate a similar tool family. Shared terms: cli, frege, functional, functional-programming, jvm.
- [clojurescript](https://www.automicvault.com/pkg/brew/clojurescript/) - Local package facts share a topical domain. Shared terms: cli, compiler, language, language-runtime, openjdk.

## Combined YAML source

View the package source record on GitHub. [combined/frege.yml](https://github.com/automic-vault/db/blob/main/combined/frege.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
