# Awesome Frege

> Useful resources for the Frege programming language

You might also like awesome-haskell.

Please read the contribution guidelines before contributing.

## Contents

- Introduction
  - Overview
  - First Steps
  - Comparisons
  - Official Resources
- Community
  - Chat
  - Questions
  - Social Media
- Information
  - Articles & Blogs
  - Books
  - Conferences
  - Courses
  - Talks
- Libraries
  - Android
  - Big Data
  - Databases
  - Email
  - Graphics
  - GUI
  - Web Frameworks
- Sample Applications
  - Games
  - Media
  - Web
- Tools
  - Build Tools
  - IDEs
  - REPLs
  - Unit Testing

## Introduction

### Overview

- Frege - Official website.

### First Steps

- Getting Started - First steps with Frege on the command line.
- Examples - Some code examples.
- Template - Template for Frege projects.
- Trending - Trending projects on GitHub.

### Comparisons

- Frege vs. Haskell - Differences between Frege and Haskell.
- Frege vs. Scala - Differences between Scala and Frege.

### Official Resources

- Language Reference - Description of the language and its implementation.
- Standard Library API - Frege API documentation.
- Java Runtime API - Java API documentation.
- FAQ - Frequently asked questions.
- Wiki - Official wiki.
- Changelog - Official changelog.

## Community

### Chat

- Gitter - Gitter channel.
- IRC - IRC channel.

### Questions

- Google Group - Frege Google Group.
- Stack Overflow - Frege tag on Stack Overflow.

### Social Media

- Twitter - Official Twitter account.
- reddit - Frege subreddit.
- Dierk König - Core contributor and Groovy expert.

## Information

### Articles & Blogs

- InfoQ - InfoQ article on Frege.
- Frege Wiki - List of more articles on the Frege wiki.
- Frege Programming Language - Blog of Ingo Wechsung.
- JAXenter - Interview with Ingo Wechsung (German).

### Books

- Frege Goodness - Book by Dierk König.
- Frege Quick Reference - Book by Ingo Wechsung.
- Learn You a Frege for Great Good! - Frege adaptation of Learn You a Haskell for Great Good!.
- Frege Wiki - List of more books on the Frege wiki.

### Conferences

- ICFP - International Conference on Functional Programming.

### Courses

- FP101x - Introduction to Functional Programming on edX.

### Talks

- Overview - Frege, a Haskell for the JVM by Dierk König.
- Frege vs. Haskell - FregeDay: Roadmap for resolving differences between Haskell and Frege (Ingo Wechsung).
- ICFP Videos - Videos about functional programming.
- Frege Wiki - List of more talks on the Frege wiki.

## Libraries

- Frege Wiki - List of libraries on the Frege wiki.

### Android

- FregeAndroid - Frege interface to the Android API.
- frege-on-android - How to use Frege on Android.
- FregeAndroid - Proof of concept Android application in Frege.
- GeoQuiz-Frege - Port of the BigNerd Ranch GeoQuiz application in Frege.
- froid - Library for using Frege in Android development.

### Big Data

- Spark - Apache Spark with Frege.

### Databases

- Sirocco - Frege library for relational databases.
- frege-dbc - JDBC with Frege.

### Email

- Frege Email - SMTP library for Frege.

### Graphics

- Frege-RayTracer - Ray tracer in Frege.

### GUI

- FregeFX - Frege bindings for JavaFX.

### Web Frameworks

- Chinook - Frege web framework based on SparkJava.
- Fregelet - Frege web framework based on servlet.
- Play - Play framework with Frege.

## Sample Applications

### Games

- 2048 - Frege clone of 2048.
- frech - Fully functional chess engine.

### Media

- Zwana - Piano using Java Midi.

### Web

- RESTful Todo Manager - Task list manager written in Frege.
- Play Framework - Play application written in Frege.
- Fervor - Server for local directories.

## Tools

### Build Tools

- Leiningen - Project automation for Frege and Clojure.
- Leiningen Template - Template for frege-lein projects.
- gottlob - Build tool for Frege.

### IDEs

- fregIDE - Eclipse plugin for Frege.
- intellij-frege - Frege support for IntelliJ IDEA.
- frege-idea-plugin - Language support for Frege in IntelliJ IDEA.

### REPLs

- Console REPL - REPL on the console.
- GUI REPL - GUI based REPL.

### Unit Testing

- FrUnit - JUnit for Frege.

frege.md Github