All Projects → rpeszek → fpiglet

rpeszek / fpiglet

Licence: Apache-2.0 license
FUNctional Programming in Groovy. Adds to Groovy: Implicitly Curried Functions, Monads, Applicative, Functors and more ... This project was moved from:

Programming Languages

groovy
2714 projects

Projects that are alternatives of or similar to fpiglet

cpsfy
🚀 Tiny goodies for Continuation-Passing-Style functions, fully tested
Stars: ✭ 58 (+314.29%)
Mutual labels:  curried-functions

Fpiglet 0.1. FUNctional Programming in Groovy

Release 0.1 TOC:

  • (Implicitly) curried functions (Curried Functions will change the way you code!)
  • Functional Types accompanied by libraries of (curried) functions:
    • Maybe
    • Either
    • Lazy Functional Lists (FunList, ListFunctions)
  • Functional concepts (and Functional Combinator Libraries):
  • Functor
  • Applicative
  • Monad
  • Functor mapped functional list libraries (functional list library applied to other concepts):
  • Function library for Groovy Lists
  • Function library for Strings
  • Function library for InputStream
  • Expressions:
  • Monadic Comprehensions
  • Functional if-then-elseif-then-else chains
  • Localized scope expressions

Dependencies:

Fpiglet is using Groovy 2.0 (but it should work fine on 1.8) and JUnit4.

Gruesome: Fpiglet source tree: ext/gruesome includes a slightly modified copy of https://github.com/mcandre/gruesome together with its own (FreeBSD) license file. Gruesome is a simplified version of QuickCheck Property-based Testing library ported to Groovy. (Integration of Property-based testing into Fpiglet is work in progress and will improve in the future).

Building:

Gradle build file is included. Eclipse project files are included, but may require some classpath adjustments.

Source Tree Structure:

  • src/groovy/ - Fpiglet source
  • ext/gruesome/ - a slightly modified copy of https://github.com/mcandre/gruesome together with its own (FreeBSD) license file.
  • test/ - All Fpiglet unit test files.
  • resources/ - resource files used in tests
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].