30 open-source projects similar to bitemyapp/learnhaskell, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Learnhaskell alternative.
PureScript is a statically typed, purely functional programming language that compiles to JavaScript. It is designed as a cross-platform frontend language for building safe web applications, utilizing a static type system and a JavaScript compiler to ensure program correctness across browser and server environments. The language is distinguished by its emphasis on mathematical purity, featuring a robust type system with first-class support for monads. It provides a sophisticated toolset for static verification, including algebraic data types, type classes, and automatic type inference to reje
Cats is a Scala functional programming library and type class library designed to implement algebraic patterns and functional abstractions. It provides a standardized set of interfaces and a modular toolkit of functional wrappers and containers to enable ad-hoc polymorphism and generic programming across disparate types. The project serves as a functional abstraction standard, offering a monad transformer suite to compose nested effectful contexts and handle multiple computational side effects within a single pipeline. It further enables the construction of embedded domain-specific languages
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
This project is a comprehensive programming education platform designed to teach Python fundamentals through a structured curriculum. It provides a sequence of lessons and exercises that cover core language syntax, data structures, and object-oriented programming concepts to help beginners build a foundation in software development. The curriculum distinguishes itself through a modular design that decomposes complex topics into discrete, sequential units. It utilizes a multi-modal delivery approach, combining written documentation with video tutorials and code samples to accommodate different
fp-ts is a TypeScript library that brings pure functional programming patterns to the language through algebraic data types, type class abstractions, and composable combinators. It provides foundational data types like Option for optional values, Either for typed error handling, and Task for lazy asynchronous computations, all designed to make invalid states unrepresentable and side effects explicit. The library is built on category theory concepts, offering type classes such as Functor, Applicative, Monad, Semigroup, and Monoid with lawful instances for common data structures. The library di
This project is a comprehensive programming course and educational curriculum designed to transition developers from basic scripting to advanced software development. It provides structured guides and technical exercises focusing on language internals, professional software architecture, and sophisticated programming techniques. The curriculum distinguishes itself through a deep focus on language internals, analyzing object behavior and memory efficiency to improve execution speed. It provides specialized instruction on metaprogramming using decorators and dynamic attributes, as well as async
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 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 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 an interactive programming curriculum and educational system designed to teach computer science and software engineering. It provides a structured set of courses and professional roadmaps focused on backend engineering, DevOps, and systems fundamentals. The platform is distinguished by an AI-powered coding tutor that provides Socratic guidance and contextual hints to help students find solutions independently. It features a browser-based code sandbox using WebAssembly to eliminate local environment setup, alongside automated test-based grading and spaced-repetition logic to re
language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution
TrumpScript is a Python-based domain specific language and compiler extension that wraps the Python runtime to enforce custom grammar and vocabulary rules. It transforms a specialized, case-insensitive vocabulary and natural speech patterns into executable Python instructions. The implementation distinguishes itself through strict constraints on source code, including a variable name system that restricts identifiers to a predefined whitelist and a numeric parser that rejects any integer not exceeding one million. It further utilizes a token-filtering preprocessor to remove filler words and n
Ohm is a formal grammar parser generator and domain-specific language framework. It provides a system for defining custom languages to parse, validate, and extract data from input text, transforming raw strings into hierarchical abstract syntax trees based on specified formal rules. The project utilizes an Earley parsing algorithm, which allows it to support all context-free grammars, including those with left recursion and ambiguity, without requiring predefined operator precedence. It also includes a dedicated debugging toolkit for tracing and visualizing the step-by-step state transitions
This repository provides curated learning paths, structured courseware, and technical materials for mastering Go programming, container orchestration, and software architecture. It serves as a comprehensive educational resource for systems programming, focusing on language mechanics, memory safety, and high-performance backend design. The project distinguishes itself through a multi-modal instructional design that combines instructor-led workshops, project-based curricula, and competency-based certifications. It offers specialized guidance on building production-grade AI infrastructure, inclu
Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications. It functions as an abstract syntax tree compiler and native interop layer, allowing developers to map Rust types and functions into a scripting environment for bidirectional communication. The project serves as a framework for creating customizable domain-specific languages. It allows for the definition of custom operators, syntax, and restricted execution environments, enabling the creation of specialized languages with tailored functional sets. The engine covers a broad rang
This project is a technical curriculum and set of educational resources focused on parallel programming, high-performance computing, and systems programming. It provides a structured course covering the implementation of parallel algorithms and multithreading techniques for processing large datasets. The project includes a systems programming guide for modern language features, a framework for lock-free concurrency patterns, and a manual for optimizing CPU and GPU performance through assembly analysis and cache management. The material covers hardware performance tuning, the implementation o
FrankenPHP is a Go-based PHP runtime and application server that integrates a web server and PHP interpreter to host applications without requiring a separate process manager. It functions as a worker mode server that keeps applications in memory across requests to eliminate bootstrap overhead and a static binary bundler that packages applications and the server into a single self-contained executable. The project distinguishes itself by allowing the embedding of a PHP runtime directly into Go programs and enabling the development of PHP extensions using the Go language. It also includes a bu
Groovy is a JVM programming language and metaprogramming framework that provides a Java compatible environment for building applications. It functions as a dynamic scripting language and a tool for authoring domain-specific languages, allowing for the execution of custom scripts and the creation of specialized mini-languages with concise syntax. The project is distinguished by its ability to modify program behavior and class definitions through both compile-time and runtime metaprogramming. It utilizes a hybrid typing model that combines dynamic method resolution with optional static type che
This project is a centralized repository of technical literature that identifies and ranks essential programming books based on industry-wide developer consensus. It functions as a curator and aggregator, compiling recommendations from multiple sources to determine which titles are most frequently cited by software professionals. The platform distinguishes itself by using a data-driven methodology to transform peer recommendations into a structured, ranked list of learning materials. By aggregating consensus data, it provides a resource for developers to identify high-quality literature for m
This project is a C++ learning resource and study guide consisting of structured notes and programming examples. It provides practical implementations and exercise solutions covering core language syntax, data types, and control flow. The repository features specialized samples for object-oriented design, including class inheritance, polymorphism, and abstract classes. It includes demonstrations of memory management techniques such as dynamic allocation, move semantics, and placement new, as well as template programming examples for creating generic functions and data structures. The codebas
Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor
FFmpeg-Builds is a cross-platform compilation toolchain and custom build system designed to generate static executables of the FFmpeg multimedia framework. It provides a distribution of pre-compiled binaries for multiple operating systems and hardware architectures. The project utilizes a Docker-based build environment to isolate toolchains and dependencies. This containerized approach enables multi-architecture cross-compilation and allows for parameter-driven feature selection to include specific codecs, libraries, and license options in the final binaries. The system manages the entire wo
This project is a Lisp interpreter implementation guide and framework designed to teach the core principles of programming language design. It provides a structured, step-by-step technical framework for building a functional Lisp language from scratch, featuring a specialized interpreter engine and an S-expression parser that converts syntax into abstract syntax trees. The project emphasizes a code-as-data metaprogramming framework, enabling the implementation of macros, quoting, and quasiquoting to transform expressions during evaluation. It is designed with host language agnosticism, allowi
Hypothesis is a property-based testing library for Python that automatically generates randomized input data to identify bugs and edge cases. It functions as an automated edge case finder and test data generator, creating diverse synthetic datasets based on defined strategies to stress test application logic. The library includes a failing case shrinker that simplifies complex failing test inputs into the smallest possible examples to accelerate debugging. It also provides a mechanism for bug reproduction simplification by reducing the size of the input that triggers a failure. The project c
Ray is a distributed computing framework designed to scale Python and Java applications across clusters by abstracting task scheduling and resource management. It functions as a resource-aware execution engine that manages task dependencies, placement, and fault tolerance across networked compute nodes. At its core, the system provides a stateful actor model, allowing developers to define classes that run in dedicated processes to maintain and mutate internal state across remote method calls. The framework distinguishes itself through a robust cross-language interoperability layer, enabling f
The framework is a comprehensive penetration testing platform designed for the development, testing, and execution of security exploits. It serves as a research toolkit and automated assessment environment, enabling security professionals to identify and validate vulnerabilities within networked systems and infrastructure through repeatable, standardized procedures. The platform distinguishes itself through a modular architecture that supports reflective payload injection, allowing for the execution of code directly in memory without writing to disk. It utilizes an asynchronous event loop to
This project is a comprehensive, community-driven directory of software resources, libraries, and frameworks for the Java programming language. It serves as a centralized knowledge base designed to help developers discover tools and industry-standard solutions for building and maintaining software applications. The repository distinguishes itself through a hierarchical taxonomy that organizes a vast array of technical components into a structured, navigable tree. By relying on distributed peer contributions, the index remains a living resource that reflects current community-recommended pract
Rustlings is a command-line learning tool designed to build language proficiency through a structured, interactive curriculum. It functions as a practice-oriented platform where users master syntax and core concepts by resolving compilation errors within a sequence of small, incremental code exercises. The environment distinguishes itself by utilizing a compiler-driven feedback loop that parses error messages to provide targeted hints for fixing logic and syntax issues. Progress is managed through a file-based system where users modify incomplete source templates, which are then verified agai