Automic VaultAutomic Vault

brew

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

Additional install commands

macOS

Homebrewverified · 100%
brew install frege

local Homebrew formula metadata

overview

Package summary

Non-strict, functional programming language in the spirit of Haskell

Commands and aliases

  • fregec

history

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.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:programming language

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.
  • Installs with 1 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
fregeccliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version3.24.405
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/Frege/frege

  • infoNo package-manager update timestamp was available.low confidence
  • infoNo cached GitHub release or tag data was available.https://github.com/Frege/fregenone confidence

install metadata

Package metadata

Package keybrew:frege
Version3.24.405
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/frege
Homepagehttps://github.com/Frege/frege/
Repositoryhttps://github.com/Frege/frege
Upstream docshttps://github.com/Frege/frege#readme
LicenseBSD-3-Clause
Source archivehttps://github.com/Frege/frege/releases/download/3.24public/frege3.24.405.jar
Dependenciesopenjdk
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namefrege
Version Scheme0
Revision3
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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