30 open-source projects similar to caiorss/functional-programming, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Functional Programming alternative.
This project is a collection of curated guidelines and manuals for writing clean, idiomatic, and maintainable code in Scala. It serves as a comprehensive guide for Scala coding standards, functional programming design, and enterprise software architecture. The repository provides specific strategies for concurrency management, including patterns for actors, futures, and thread pools to ensure thread safety. It also contains a performance optimization manual focused on reducing memory allocations and managing garbage collection pressure to improve runtime efficiency. The guides cover a broad
This project is an educational resource for functional programming education, focused on teaching core concepts and terminology through simple definitions and practical code examples. It provides a way to study fundamental vocabulary and illustrative examples to assist with the transition from imperative to functional programming. The resource serves as a reference for building a professional software engineering vocabulary, enabling more effective communication of technical terms used within the functional paradigm. The site is implemented using static site generation, utilizing markdown co
This project is a comprehensive educational guide and curriculum for applying functional programming principles and category theory within the JavaScript ecosystem. It provides a structured learning path focused on writing predictable and scalable code through the use of pure functions and immutability. The resource includes a dedicated course on algebraic data structures and a functional programming tutorial. To reinforce theoretical concepts, it features a set of interactive coding exercises and runnable programming challenges for hands-on practice. The materials cover a broad range of fun
AlgoXY is a functional programming educational book and technical publication produced as a LaTeX digital book. It serves as a programming education resource and library focused on functional algorithms and data structures. The project provides a collection of persistent data structures, such as trees and heaps, designed for immutable state management. It includes a series of implementation exercises and verified answers to teach core computer science concepts through the practical application of functional logic. The content covers the design of persistent data structures and the implementa
This is a JavaScript immutable data library used to create objects and arrays that prevent direct mutation. It serves as an immutable state manager and object wrapper designed to ensure data consistency by blocking modifications while remaining compatible with standard JavaScript syntax. The library functions as a converter that transforms standard mutable data into frozen structures and can convert them back for local modifications. This allows for a workflow where data is switched between immutable and mutable versions to perform bulk edits before locking the state again. The project provi
This repository is a collection of JavaScript coding challenges and a comprehensive interview guide. It provides reference implementations and educational examples designed to help developers master language fundamentals and prepare for technical interviews. The project covers a wide array of specialized implementations, including functional programming patterns like currying and partial application, as well as asynchronous patterns for concurrency control. It also includes practical examples of Document Object Model manipulation and the implementation of common data structures such as stacks
Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for the Java platform. It is built around a Haskell-inspired compiler that implements non-strict evaluation and a static type inference system to ensure data immutability and prevent side effects. The project distinguishes itself through a sophisticated type system featuring rank polymorphism, type-class based dispatch, and static purity enforcement. It includes a JVM language bridge and a foreign function interface that map Java classes and interfaces into functional types, allow
This project is a functional programming compiler and JavaScript transpiler that transforms a statically typed language into optimized JavaScript for web browsers. It serves as a frontend architecture framework, providing a static type system and a package manager that enforces semantic versioning. The compiler uses a type-checking engine with automatic type inference to prevent runtime errors and guide code refactoring. It implements a structural pattern for managing application state and rendering user interfaces through a virtual DOM, utilizing immutable data and purity-based state transit
This project is a collection of software engineering principles and architectural design patterns designed to minimize the mental effort required to understand and maintain source code. It serves as a guide for implementing clean code methodologies and architectural simplification to reduce the overall cognitive load on developers. The framework emphasizes aligning module boundaries and ubiquitous language with business stakeholders to prevent architectural ripple effects. It advocates for balancing service granularity to avoid the overhead of distributed monoliths and suggests favoring objec
This project is a comprehensive guide to software architecture, providing a framework for designing maintainable, readable, and modular codebases. It focuses on establishing design best practices that help developers structure complex applications into independent, single-purpose units. The guide emphasizes the use of modular programming principles to decouple software components, allowing for greater reusability across different parts of an application or separate projects. By prioritizing interface-based design and the dependency inversion principle, it enables safe, incremental refactoring
F# is a strongly typed, functional programming language and compiler for the .NET ecosystem. It transforms functional source code into Common Intermediate Language for execution on the .NET runtime and provides a foundational core library of primitive types and functions. The language emphasizes immutability and uses a static, constraint-based type inference system to automatically determine variable types without requiring explicit user annotations. It also functions as a Language Server Protocol provider, exposing compiler logic through a service-based API to deliver real-time code analysis
ES6-for-humans is an educational resource and technical manual providing a structured tutorial and programming guide for the ECMAScript 2015 language standards. It serves as a reference for transitioning from legacy JavaScript to modern syntax and coding patterns. The project covers modern language constructs including block-scoped variables, arrow functions, and class hierarchies. It provides guidance on implementing functional programming patterns via generators and lexically scoped functions, as well as object-oriented design using prototype-based inheritance. The documentation covers asy
This repository is a curated knowledge base focused on core JavaScript fundamentals, specifically designed for frontend interview preparation. It provides structured explanations of essential concepts including closures, prototype chains, execution contexts, and memory management, serving as a reference for developers seeking to deepen their understanding of the language's inner workings. The content covers a range of practical JavaScript topics, including object copying techniques (shallow and deep copy), event handling optimization through throttle and debounce patterns, and functional prog
This project is a comprehensive instructional resource and tutorial guide for learning React and the broader frontend engineering ecosystem. It serves as a structured course covering the fundamentals of building user interfaces through component-based architecture. The project provides specialized guides on coordinating application data via Redux state management, integrating and mutating data using GraphQL and Relay, and building native mobile applications using a single codebase. It also includes a dedicated tutorial for verifying component behavior through unit testing, shallow rendering,
This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre
This project is a functional programming course and automated coding curriculum designed to teach the core principles of the paradigm through a structured sequence of exercises and modules. It serves as an interactive programming tutorial where learners solve incremental problems and validate their understanding through a programming exercise suite. The curriculum is language-agnostic, focusing on core logic and paradigms rather than a specific language. It employs an automated toolchain that transforms source code into executable binaries to verify solutions. Correctness is validated using
This repository contains the code exercises and answers that accompany the book Functional Programming in Scala. It is a structured learning resource designed to help readers build functional programming skills through hands-on coding practice, with exercises organized by chapter. The project provides a complete development workflow for learners, including the ability to compile and run Scala code directly from the command line using Scala CLI. It also includes unit tests for each exercise, allowing readers to verify their solutions and track their progress as they work through the material
This project is an exercise-based learning platform and functional programming course designed to teach Haskell through a structured curriculum of practical implementation tasks. It functions as an interactive tutorial and learning framework where students master functional programming concepts by completing a curated sequence of modules. The platform emphasizes a type-driven development workflow, utilizing type holes and compiler-integrated type querying to guide the discovery of program logic. It provides an interactive programming environment via a read-eval-print loop, allowing for real-t
This project is a comprehensive programming tutorial and technical guide focused on the Java 8 language specification. It provides educational resources for implementing functional programming patterns, utilizing modern language syntax, and adopting updated API standards. The guide covers the transition to functional programming through the use of lambda expressions, method and constructor references, and functional interfaces. It also details the use of default interface methods to extend logic without breaking existing classes and the implementation of repeatable annotations. Additional co
Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming patterns. It serves as a framework for typed error handling, a concurrency toolkit, and a library for the manipulation of immutable data. The project distinguishes itself through specialized capabilities for managing application failures using explicit types instead of exceptions and implementing resilience patterns such as circuit breakers and retry policies for distributed services. It also provides optics to update and query deeply nested immutable data structures without man
This project is a comprehensive study kit and resource archive for the Structure and Interpretation of Computer Programs (SICP) course. It serves as a curated learning path for studying functional programming and the fundamentals of program construction, providing a centralized directory of textbooks, tutorials, and instructional materials. A primary focus of the repository is multilingual accessibility, specifically providing Chinese translations of English lecture subtitles and transcripts. These translated resources are mirrored across multiple video hosting platforms and cloud storage pro
This project provides a community-driven translation of technical literature into Simplified Chinese, focusing on Haskell programming and functional software architecture. It serves as an educational resource designed to help non-native speakers master advanced language features and practical application development through accessible documentation. The project maintains a standardized collection of translated programming terminology to ensure consistency and clarity across its collaborative documentation efforts. By utilizing a centralized glossary and structured peer review processes, the t
This project is a comprehensive functional programming curriculum and learning resource for Haskell. It provides sequenced educational paths and technical reference guides designed to take developers from beginner to advanced levels of proficiency. The project distinguishes itself through a deep focus on theoretical and technical foundations, offering detailed studies on type theory, category theory, and runtime internals. It includes a dedicated performance handbook for optimizing execution speed and memory management, as well as an ecosystem guide for managing development tools and editor c
This project is a Scala programming course and educational resource. It provides a set of lessons covering the core fundamentals of the language, ranging from basic syntax to advanced type systems. The material includes a functional programming tutorial focused on higher-order functions and pattern matching, as well as guides on managing asynchronous execution and concurrency. It also serves as a resource for understanding the Java Virtual Machine and language interoperability. The course covers the application of polymorphism and variance for type-safe data structures and the use of specifi
This repository is a curated knowledge base designed to assist developers in preparing for technical job assessments. It serves as a structured reference for fundamental programming concepts, language mechanics, and functional patterns, providing a collection of common questions and conceptual explanations to support professional development in software engineering. The project distinguishes itself through a community-driven approach, where technical content is refined and updated by contributors using a collaborative revision control workflow. It emphasizes functional programming education,
Scalaz is a functional programming library for Scala that provides a collection of purely functional data structures and type classes. It functions as a framework for organizing functional behaviors into hierarchies to enable generic programming and type-safe transformations. The library includes tools for composing and managing nested functional effects within a single type stack through a monad transformer system. It provides data structures for representing and combining input, output, and optionality effects. The project covers a broad surface of functional abstractions, including the im
CSharpFunctionalExtensions is a functional programming library for C# that provides a framework of monadic containers, pipeline orchestration tools, and immutable domain object patterns. It implements the result pattern to handle operation success and failure as values, reducing the reliance on exceptions for control flow. The library enables railway-oriented programming by chaining multiple operations into sequences that execute only upon the success of previous steps. It provides specialized wrappers for optional and result types to minimize null checks and nested conditional logic, alongsi
LearnPython is a programming tutorial consisting of a collection of practical code examples used to demonstrate Python language features and programming patterns. It serves as a comprehensive learning resource that implements core language concepts through functional code. The project provides specialized guides and samples covering several key domains. These include asynchronous network programming with event loops and coroutines, data visualization using numerical datasets for 2D and 3D plots, and web scraping for fetching content and automating login flows. It also features instructions on
This is a C++ ranges library and extension to the Standard Template Library that provides a collection of composable algorithms and lazy views for processing data sequences. It functions as a lazy sequence processing framework and a template meta-programming library for manipulating type lists and performing compile-time type computations. The project enables functional programming patterns in C++ through the use of pipe syntax and partial application to create readable, left-to-right data transformation chains. It allows for the construction of lazy data pipelines that filter and transform e
This project is a comprehensive educational suite of coding challenges and implementation guides focused on JavaScript. It provides a collection of programmatic exercises and interview questions designed to practice core logic and algorithms. The repository serves as a test-driven development workbook, pairing coding problems with test suites to verify the correctness of implemented solutions. It includes a specific framework for exercise solution verification and the integration of asynchronous logic into automated testing flows. The content covers a wide range of computer science building