•        6

Provides an alternative Apply implementation for arrays. The common implementation of Apply for arrays works with all combinations. However, there is another implementation of Apply for arrays that works in "pairwise" fashion. You can think of this as a data type level encoding of the zip family of functions. Encoding the effect ("pairwise" application) in the data type allows us to write code that expresses our intentions better.



Related Projects

fantasy-land - Specification for interoperability of common algebraic structures in JavaScript

  •    Javascript

An algebra is a set of values, a set of operators that it is closed under and some laws it must obey. Each Fantasy Land algebra is a separate specification. An algebra may have dependencies on other algebras which must be implemented.

static-land - Specification for common algebraic structures in JavaScript based on Fantasy Land

  •    Javascript

This is a specification for common algebraic structures in JavaScript based on Fantasy Land.Fantasy Land uses methods to define interfaces that a type must implement in order to support a particular Algebra. For example values of a type that implements the Monoid algebra must have fantasy-land/empty and fantasy-land/concat methods on them.

pointfree-fantasy - Point free wrappers for fantasy land

  •    Javascript

Point-free wrappers for fantasy-land. Functions are curried using lodash's curry function, and receive their data last. Gives us aliases with our familar haskell names as well. pointfree-fantasy implements a point-free version of the fantasy-land spec, in order to promote a less cluttered, more Haskell-like approach to algebraic programming. We'll justify this approach using Functor as an example.

ramda-fantasy - :ram::sparkles: Fantasy-Land compatible types for easy integration with Ramda.js

  •    Javascript

Fantasy Land compatible types for easy integration with Ramda. Ramda-Fantasy is no longer developed. There are a number of excellent libraries providing algebraic datatypes in JavaScript. The existing npm releases of Ramda-Fantasy will remain available indefinitely.

flow-static-land - Implementation of common algebraic types in JavaScript + Flow

  •    Javascript

The idea (faking higher kinded types in Flow) is based on the paper Lightweight higher-kinded polymorphism and elm-brands.

crocks - A collection of well known Algebraic Data Types for your utter enjoyment.

  •    Javascript

crocks is a collection of popular Algebraic Data Types (ADTs) that are all the rage in functional programming. You have heard of things like Maybe and Either and heck maybe even IO, that is what these are. The main goal of crocks is to curate and provide not only a common interface between each type (where possible of course), but also provide all of the helper functions needed to hit the ground running. There are many options to use crocks to suit the needs of your, projects. When used on the backend or in an environment where size is not a big concern, the entire lib can be brought in and the various elements can be either be plucked off of or referenced by the namespace.



An API written in .NET that provides you with access to Final Fantasy XIV's lodestone (Equalent to WoW's armory)


  •    CSharp

RuleForge is a tool to simplify the creation and modification of custom Fantasy Grounds v2 rulesets and modules. RuleForge attempts to solve the problem of steep learning curves and lengthy timeframes to create custom rulesets and modules for Fantasy Grounds, by providing a g...

Q-Gears : A free Final Fantasy 7 engine.

  •    C++

Q-Gears is an RPG engine for games like Squaresoft's Final Fantasy 7, Final Fantasy IX or Xenogears. It is designed to be cross-platfrom and run on modern operating systems such as Win32 and Linux.

awesome-fantasy - :european_castle: Fantasy literature worth reading


Inspired by the awesome list thing. For science fiction books, see awesome-scifi. Please read the Contributing Guidelines before contributing.

wesnoth - An open source, turn-based strategy game with a high fantasy theme

  •    C++

The Battle for Wesnoth is an Open Source, turn-based tactical strategy game with a high fantasy theme, featuring both singleplayer and online/hotseat multiplayer combat. Fight a desperate battle to reclaim the throne of Wesnoth, or take hand in any number of other adventures. See for instructions on how to build the game from source code.


  •    Lua

A relatively easy to win but feature rich fantasy roguelike game with a highly interactive world. Avanor was once a great land, but now it is an isolated valley kingdom under serious threat. You, as the hero must save Avanor, or dominate it.


  •    C++

A single player 3D game based on Ogre3D. Theme will be an ancient fantasy land where player is a hunter in the wild. Current version is a simple bow and arrow wolf hunt in first person perspective. Go to for more info!

list - 🐆 An immutable list with unmatched performance and a comprehensive functional API.

  •    TypeScript

A fast immutable list with a functional API. List is a purely functional alternative to arrays. It is an implementation of a fast persistent sequence data structure. Compared to JavaScript's Array List has three major benefits.

data.task - Migrating to

  •    Javascript

The Task(a, b) structure represents values that depend on time. This allows one to model time-based effects explicitly, such that one can have full knowledge of when they're dealing with delayed computations, latency, or anything that can not be computed immediately. A common use for this monad is to replace the usual Continuation-Passing Style form of programming, in order to be able to compose and sequence time-dependent effects using the generic and powerful monadic operations.

Final Fantasy VI Save State Editor

  •    C++

ff6edit is a program that can be used to edit the save state information in Final Fantasy VI (or FFIII in the USA) in order to customize your characters however you see fit. It will be written in C++ and run in the GTK environment.

Evidyon - Isometric 3d Fantasy MMORPG

  •    C++

Evidyon is a real-time online 3d fantasy video game programmed over several years by Karl Gluck. The game features fast-paced combat, player guilds, hundreds of items/spells and a complete world-editing tool. Custom 3d content by Erich Gluck.


  •    Java

Clan is a german play-per-email-game. In a fantasy world, different races fighting for resources. It is written in Java. The development is stalled until a new graphicer or a big and free (GPL) repository of fantasy pictures is found.

Warhammer Dice Master


DiceMaster is an object-oriented approach to simulating rolling polyhedral dice with the custom dice symbols used in Warhammer Fantasy Roleplay, published by Fantasy Flight games. DM is developed in C#, and hopefully will be useful to those wanting to develop their own apps.