30 open-source projects similar to system-f/fp-course, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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 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
fsql is a command line interface tool that provides a SQL-like query language for finding files and directories on a local disk. It functions as a filesystem query engine, allowing users to isolate files by executing structured statements against metadata instead of using standard command line flags. The tool features an interactive read-eval-print loop that supports multi-line queries and recursive subqueries, where the results of nested search operations serve as criteria for outer queries. Search scopes are configurable through the resolution of absolute paths, relative paths, environment
Devtool is a suite of developer tools designed to execute server-side JavaScript code within a browser environment. It functions as a bridge that allows Node.js programs to run inside a Chromium instance, enabling the use of built-in browser developer tools for visual debugging and performance profiling. The project provides a read-eval-print loop for interactive command execution with support for relative imports and piped input. It also includes a file watcher that monitors source files for changes and automatically reloads programs to accelerate the iteration cycle. The system integrates
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 structured Rust programming course and technical educational resource. It functions as an interactive coding tutorial and systems programming guide, providing a curriculum designed to teach the Rust language, its ecosystem, and advanced concepts like memory management and performance optimization. The resource is delivered as a markdown-based technical book and static website. It distinguishes itself through the integration of interactive coding tasks and executable code snippets, allowing learners to practice syntax and programming logic directly within the instructional co
Sbt is a JVM build tool and dependency management system designed for Scala and Java. It functions as a multi-project build orchestrator that manages the compilation of source code, resolves external libraries from remote repositories, and packages binaries for distribution. The project is distinguished by its interactive build system, which provides a read-eval-print loop for real-time state inspection and task execution. It utilizes a dependency-graph based execution model to process tasks and maintains a type-safe key-value store for dynamic build configuration. Its capabilities cover JVM
Rustlings is an interactive language tutorial and exercise suite designed to teach the syntax and idioms of the Rust programming language. It functions as a guided learning path where users build proficiency by solving a collection of small, interactive coding challenges. The project utilizes compiler-driven learning, employing the Rust compiler to provide immediate feedback and validation as users fix broken code snippets. This approach focuses on language onboarding and education through practical, hands-on coding practice. The learning experience is structured around a file-based exercise
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
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
Melody is a regular expression transpiler and pattern compiler that translates a high-level, human-readable syntax into standard regular expressions. It functions as a tool to simplify the creation and maintainability of complex matching patterns. The project provides a specialized syntax for defining reusable variables and macros to reduce duplication within expressions. It includes native support for mapping specialized labels to Unicode category properties and automatically handles the escaping of literal text. The system is accessible through several interfaces, including a command-line
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
Tern is an editor-independent code analyzer and static analysis engine for JavaScript. It functions as a language server that provides semantic intelligence by parsing source code into abstract syntax trees to infer types and resolve symbols without requiring manual type annotations. The engine distinguishes itself through the use of JSON-based type definitions, which allow it to describe library signatures and external dependencies without needing the original source code. It also features a plugin system that enables the extension of server functionality to support custom loaders or framewo
Yaegi is a Go language interpreter and embedded scripting engine that executes Go source code at runtime without requiring a separate compilation step. It provides a mechanism for evaluating Go expressions and files dynamically, functioning as both a library for compiled applications and a standalone read-eval-print-loop environment. The project enables the integration of dynamic Go scripts into compiled programs to allow for runtime extensibility and plugin development. It facilitates the conversion of interpreted symbols from evaluated scripts into usable interfaces and types within a compi
Nali is a suite of command-line tools for resolving IP addresses to geographic locations and identifying content delivery network providers using offline databases. It functions as an offline IP geolocation tool and database resolver that maps addresses to physical locations and network owners without requiring an active internet connection. The project distinguishes itself through an offline-first approach to network analysis, using pluggable database providers and local file metadata caching to ensure data privacy and independence from external APIs. It includes a dedicated utility for iden
This project is a collection of programming language references and syntax cheat sheets designed for rapid developer onboarding. It serves as a library of code-based documentation that uses valid source code files to provide whirlwind tours of various language specifications. The project focuses on programming language learning by providing concise, commented code examples that explain core features and syntax in place. This approach enables developers to quickly grasp language-specific patterns, data types, and execution flow through a consistent reference format. The content covers a broad
Tengo is a dynamic, embeddable scripting language for Go applications that allows for the execution of custom scripts without requiring the host binary to be recompiled. It operates as a bytecode-compiled virtual machine, transforming source code into a compact intermediate representation for execution on a stack-based engine. The system is designed as a secure scripting sandbox, enforcing strict limits on memory allocation and execution time to safely run untrusted code. It supports concurrent script execution by cloning compiled bytecode and using recursive immutability conversion to share
WebDriverIO is a Node.js test automation framework used for automating functional tests across web browsers and mobile applications. It acts as a WebDriver protocol client that manages remote browser sessions and executes commands against WebDriver and Appium servers to perform end-to-end testing. The framework is distinguished by its ability to control both native and hybrid mobile applications and its support for running automated suites across local machines, remote grids, and cloud device providers. It includes specialized capabilities for coordinating multi-browser interactions and estab
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 repository serves as an educational resource and tutorial collection focused on the principles and implementation of functional programming. It provides a structured guide for developers to learn how to apply functional paradigms to improve software architecture, logic design, and code maintainability. The project distinguishes itself by demonstrating how to implement functional concepts across both statically and dynamically typed programming languages. By utilizing examples in Haskell, OCaml, and Python, it illustrates the practical application of techniques such as immutability, highe
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
IPython is an interactive computing environment and programmable extension of the Python read-eval-print loop. It serves as a development tool for writing, testing, and executing code in a live environment designed for rapid prototyping and data exploration. The system differentiates itself through a specialized set of magic commands for environment configuration and system shell integration. It features an object introspection engine for analyzing live program objects at runtime and a frontend-agnostic kernel that allows the execution logic to be embedded into other applications or graphical
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 is a comprehensive Python programming course and technical curriculum designed to take users from foundational syntax to advanced development patterns. It serves as a multi-disciplinary educational suite covering programming fundamentals, object-oriented design, and data analysis. The project provides specialized guides on professional development techniques, including the use of decorators, generators for memory management, and dunder-method operator overloading. It also includes instructional material on executing parallel tasks through concurrency and multiprocessing to reduce executi
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 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
Cling is an interactive C++ interpreter and read-eval-print loop that allows for the execution of C++ code in real time. It provides an interactive environment where statements can be evaluated immediately, bypassing the manual compilation and linking cycles typically required for the language. The system functions as a Jupyter C++ kernel, enabling cell-based development and visualization within notebook interfaces. It also supports the loading and execution of external source files within an active session. The environment includes capabilities for just-in-time debugging and profiling by em
PsySH is an interactive read-eval-print loop and shell environment for PHP. It functions as a runtime debugger and application inspector, allowing for the execution of PHP code in real-time to experiment with snippets and inspect live application state. The project is distinguished by its ability to be embedded directly into running PHP applications for live troubleshooting. It provides specialized tools for state manipulation, including the ability to bypass visibility restrictions to inspect private or protected object members and the capacity to reload code without restarting the session.
jscamp is a full-stack web development and education project focused on mastering JavaScript, TypeScript, and AI integration. It provides a structured curriculum and interactive exercises covering language fundamentals, frontend engineering, and backend API development. The project distinguishes itself through the implementation of autonomous AI agents capable of complex task automation, such as modifying files, managing servers, and executing API calls. It includes advanced AI development tools for conversational querying, real-time code suggestions, and automated repository analysis to gene