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
- https://github.com/Frege/frege/
- GitHub: Frege/frege
- Brew formula source: Formula/f/frege.rb
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[](https://travis-ci.org/Frege/frege)\n[](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
}