# 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
- **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>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- fregec (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 3.24.405
## 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


## Combined YAML source

View the package source record on GitHub. [combined/frege.yml](https://github.com/mxcl/pkgdb/blob/main/combined/frege.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
