An extension to the core Scala library for functional programming. It provides purely functional data structures to complement those from the Scala standard library. It defines a set of foundational type classes (e.g. Functor, Monad) and corresponding instances for a large number of data structures.
scala-extension scala-library functor monadcrocks 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.
adt predicate-functions lift unary-functions functor composition curry monoid monad pair fp functional monadic monads fantasy applicativeAn 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.
fantasy-land functional specification algebraic monad applicative functor monoid semigroup chain applyThis 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.
functional-programming fantasy-land specification monad functor monoid adt algebraic algebraic-data-types algebraWitchcraft is a library providing common algebraic and categorical abstractions to Elixir. Monoids, functors, monads, arrows, categories, and other dark magic right at your fingertips. You shouldn't have to learn another language just to understand powerful abstractions! By enabling people to use a language that they already know, and is already in the same ballpark in terms of values (emphasis on immutability, &c), we can teach and learn faster.
elixir type-class functor monad category applicative traversable operators algebraic-data-types algebraThis course/tutorial was created with purpose to better understand functional programming idioms using Scala language. It covers type classes, monoids, functors, applicatives, monads, traversable/foldable, monad transformers, free monad. Material is structured as set of stub/unimplemented functions/classes and tests for them. Your objective is to make all unit tests green. It is learn-by-doing course. NICTA course was a great and interesting challenge for me to do in Haskell. I think Scala community will benefit from the similar course.
course functional-programming monad monoid functor typeclasses functional-idioms monad-transformers tutorial comonads monads applicativeThis development encodes category theory in Coq, with the primary aim being to allow representation and manipulation of categorical terms, as well realization of those terms in various target categories. Core Theory, covering topics such as categories, functors, natural transformations, adjunctions, kan extensions, etc.
category-theory coq monad profunctor comonads monoid profunctor-composition construction category categories functor cartesian cartesian-closed-categoryFluokitten is a Clojure library that implements category theory concepts, such as functors, applicative functors, monads, monoids etc. in idiomatic Clojure. There is a lot of documentation and tutorials at Fluokitten Website. Please make sure to check it out.
category-theory clojure-library monad monoid functorAbstractions and constructions from math (Category theory, Abstract algebra) implementations in Scala, minimal description, links to good explanations, links to implementations in other FP languages: Haskell, Idris, Purescript, non FP too: Java, C++ and to formalizations in proof assistants: Coq (UniMath, HoTT book), Cubical Agda.
category-theory monads comonads functor applicative-functors contravariant-functors free-monads free-applicative kan-extensions coyoneda yoneda arrows profunctors semigroup monoid day-convolution abstract-algebraBow is a library for Typed Functional Programming in Swift. Bow is available using CocoaPods, Carthage, and Swift Package Manager.
functional-programming category-theory functor monad swift-library free-monad tagless-final mtl cocoapods carthage bow effects composition fp spm declarative-programming reactive-programmingImplementation of STL (Standard Template Library) in TypeScript. TSTL is an open-source project providing features of STL, migrated from C++ to TypeScript. You can enjoy the STL's own specific containers, algorithms and functors in the JavaScript. If TypeScript, you also can take advantage of type restrictions and generic programming with the TypeScript.
typescript stl container collection iterator algorithm critical-section mutex semaphore hashmap treemap tstl typescript-stl typescript-standard-template-library functor exception functional utility thread numeric special_math vector deque list forward_list stack queue priority_queue set multiset unordered_set unordered_multiset map multimap unordered_map unordered_multimap treeset treemultiset hashset hashmultiset treemultimap hashmultimap shared_mutex timed_mutex shared_timed_mutex unique_lock shared_lock timed_semaphore latch barrier flex_barrierzen-signals is a signal library focused on readability. You should be able to open the code and understand it. Therefore, its main value is educational. Yes, you can use it in your project, and maybe even in production, but it will fall short for more complex use cases. If you're learning Rx (or any other production ready signal library), you may find understanding and reading zen-signal's code helpful. To understand zen-signals, you need to understand 3 things: signals, processes and side effects. As names suggest, a signal is a place where data comes from; a process is something that changes data - and only data; and a side effect is something that changes other things than data.
streams signals simple functor ramdaAn abstraction for managing asynchronous code in JS.* The name is an abbreviation for "functional task" (this library is based on many ideas from Functional Programming). The type that library implements is usually referred to in the documentation as just "Task".
fp promise future task async monad functional-programming applicative functor fantasy-land static-land functionalCurried property accessor function that resolves deeply-nested object properties via dot/bracket-notation string path while mitigating TypeErrors via friendly and composable API. You may also install selectn via Bower or jspm.
accessor property-accessors guard curry typeof nested-objects nested-properties keypath deeply-nested mitigate-typeerror typeerror typeerrors access bracket-notation-string-path browser callback composable compatible curried deep dot-notation-string-path dot/bracket-notation dot/bracket-notation-string-path dref es3 es3-compatible functional functor higher-order nested object parameter-order path-lookup pathval pointfree predicate property property-access property-accessor reach string-path to-functionAn exploratory look into functors, applicatives, and monads for Elixir. See the accompanying blog post for more details. More code, documentation, and tests are in progress.
elixir functor monad applicativeAljebra provides toy implementations of the algebraic structures defined in the Fantasy Land specification, mostly borrowed from Haskell libraries. The following objects each implement a constructor allowing you to lift values into these base objects. Many of the other instances in this library are built on top of these base objects. As such, they implement a similar constructor pattern.
algebraic semigroup monoid functor applicative monadA funky (and "souly"?) library for functional programming in Javascript
functional haskell currying functor monadCombination of a Free applicative functor and Free monad. Free implements Functor, Applicative, ChainRec and Monad specifications.
free applicative functor monadBow is a library for Typed Functional Programming in Swift. If you want to contribute to this library, you can check the Issues to see some of the pending task.
functional-programming category-theory swift4 functor monad swift-library free-monad tagless-final mtlCorrect, easy to use Option type for TypeScript. Like Scala options; see the introductory blog post. Note: You can use JavaScript instead of TypeScript, but it's not as fun.
typescript monad functional-programming adt algebra algebraic-data-type haskell option optional maybe fantasy fantasyland functor sanctuary type typesafe null safe
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.