🍺 BREW Explorer

← all formulae

frege

brew install frege v3.24.405_3 BSD-3-Clause

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

1
30-day installs · #15904
53
90-day · #7192
159
365-day · #7948
3.7k
★ GitHub stars · updated 2mo ago

Runtime dependencies

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [
    "openjdk"
  ],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Non-strict, functional programming language in the spirit of Haskell",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:37:49+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "frege",
  "github_default_branch": "master",
  "github_last_commit_at": "2026-06-03T12:12:59Z",
  "github_readme_excerpt": "What is Frege? \n==============\n\n[![Build Status](https://travis-ci.org/Frege/frege.svg)](https://travis-ci.org/Frege/frege)\n[![Join the chat at https://gitter.im/Frege/frege](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Frege/frege?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge) **Winner of the JavaOne Emerging Languages Bowl 2015, 2016, 2017**\n\n\u003cimg width=\"450\" height=\"450\" src=\"resources/Frege_logo.png\"/\u003e\n\nFrege is a Haskell for the JVM.\n\nLike any Haskell, it is purely functional, \nenjoys a strong static type system with global type inference and\n[non-strict](http://en.wikipedia.org/wiki/Non-strict_programming_language) - also known as _lazy_ - evaluation.\n\nFrege compiles to Java, runs on the JVM, and uses any Java library you want. \nIt can be used inside any Java project.\n\nA Taste of Frege\n----------------\n\n**1. Hello World**\n\nThis is the classic starter with a slight extension to show the fluent usage from Java and the benefits\nof having a type system that can recognize purity.\n\n```frege\nmodule Hello where\n\ngreeting friend = \"Hello, \" ++ friend ++ \"!\"\n\nmain args = do\n    println (greeting \"World\")\n```\n\nThis code will compile to `Hello.class` and `Hello.java` with a regular Java `main` method that one can start the usual Java way.\n\nMoreover, the `Hello.class` will have a method\n\n    public static String greeting(String ...) {...}\n\nthat one can call from Java or any other JVM language.\n\nThe `greeting` function is **pure**, meaning it is _stateless_ and _free of side effects_.\nTherefore, it is _threadsafe_ and its results may be _automatically cached_ since given the same argument, the result will always be the same.\n\nThe `main` function is **impure**. It takes a list of `String`s and does not return just \"void\" as in most other JVM languages but the\ntype `IO ()`, telling that it may produce side effects like printing to the console. The Frege **type system** guarantees\nthat any caller of `main` must also be of some `IO` t",
  "github_repo": "Frege/frege",
  "github_stars": 3701,
  "github_topics": [],
  "homepage": "https://github.com/Frege/frege/",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 1,
  "installs_365d": 159,
  "installs_90d": 53,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "BSD-3-Clause",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "frege",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 15904,
  "rank_365d": 7948,
  "rank_90d": 7192,
  "raw_hash": "21b4a33383913647",
  "recommended_dependencies": [],
  "revision": 3,
  "ruby_source_path": "Formula/f/frege.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": null,
  "version_stable": "3.24.405",
  "versioned_formulae": [],
  "why_use_this": null
}