Frege implementation of examples in the book "Learn You a Haskell for Great Good!". See also LYAH adaptions for Frege in the official wiki.
- About this tutorial (no examples)
- So what's Haskell? (no examples)
- What you need to dive in (no examples)
- Ready, set, go!
- Baby's first functions
- An intro to lists
- Texas ranges
- I'm a list comprehension
- Tuples
- Believe the type
- Type variables (no examples)
- Typeclasses 101
- Hello recursion! (no examples)
- Maximum awesome
- A few more recursive functions
- Quick, sort!
- Thinking recursively (no examples)
- Curried functions
- Some higher-orderism is in order
- Maps and filters
- Lambdas
- Only folds and horses
- Function application with $
- Function composition
- Algebraic data types intro
- Record syntax
- Type parameters
- Derived instances
- Type synonyms
- Recursive data structures
- Typeclasses 102
- A yes-no typeclass
- The Functor typeclass
- Kinds and some type-foo
- Hello, world!
- Files and streams
- Command line arguments
- Randomness
- Bytestrings (omitted:
String
is not a synonym of[Char]
in Frege) - Exceptions
- Getting our feet wet with Maybe
- The Monad type class
- Walk the line
- do notation
- The list monad
- Monad laws
- Writer? I hardly know her!
- Reader? Ugh, not this joke again.
- Tasteful stateful computations
- Error error on the wall
- Some useful monadic functions
- Making monads
The project is built by Gradle and Frege Gradle Plugin. The Gradle wrapper is already committed in the repository, so what you have to do is execute:
$ ./gradlew compileFrege
Then you can find the generated .java
and .class
files under the build/classes/main
directory.
This work is highly inspired by "Learn You a Haskell for Great Good!", and licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License, just like the original.