41 Repos
Libraries for pattern matching on data structures.
Explore 41 awesome GitHub repositories matching part of an awesome list · Pattern Matching. Refine with filters or upvote what's useful.
This project is a regular expression learning resource and tutorial designed to teach the syntax and logic used to find, match, and manipulate text strings. It serves as a comprehensive guide and syntax reference for building complex search queries and data validation logic. The material covers the use of meta-characters, quantifiers, and boundary markers to define precise text match patterns. It includes instructional content on the logic of greedy and lazy matching, as well as the implementation of capture groups. The resource details a wide range of pattern matching capabilities, includin
Serves as a comprehensive guide to using regular expressions for pattern matching.
This project is a JavaScript style guide and a set of coding standards designed to ensure codebase consistency. It provides a collection of best practices for writing maintainable and idiomatic code, focusing on variable naming, type checking, and execution context. The project serves as a static analysis guide, offering frameworks and guidelines for using linters and automated tools to identify bugs and verify code correctness before deployment. It establishes standards for formatting, syntax, and variable declarations to standardize code style across a project. The scope of the project cov
Establishes rules for creating descriptive and thoughtful identifiers to enhance overall code readability.
This project is a post-exploitation framework and privilege escalation script suite designed to scan local system configurations for security gaps. It serves as a system enumeration toolset used to identify paths for gaining higher administrative privileges on a target host. The suite incorporates capabilities for security penetration testing and vulnerability assessment reporting. It uses shell-based system enumeration and pattern-based vulnerability matching to detect misconfigurations, while employing heuristic-based permission analysis to evaluate system flags. Findings are gathered thro
Compares system outputs against known weak configurations or version strings to identify potential exploits.
This project is a comprehensive collection of web development reference guides and technical cheat sheets. It provides a curated set of markdown-based documentation designed to help developers quickly locate syntax patterns and API examples for common web technologies and programming languages. The repository serves as a specialized reference library covering several distinct technical domains. It includes extensive guides for CSS, focusing on selectors, Flexbox, Grid, and responsive layout properties, as well as a DevOps command reference for Docker, Kubernetes, AWS, Ansible, and general she
Provides technical examples of using pattern matching to destructure data from maps, tuples, and lists.
Codelf is a code naming search engine and public repository index designed to help developers find real-world variable and function naming conventions across open source projects. It functions as a searchable index of codebases to identify the most common and accepted terms for specific features. The tool includes a repository tagging system for organizing starred projects with custom labels to improve the management of saved reference materials. It also provides a curated algorithm reference library containing coding patterns and implementation examples for studying standard programming styl
Scans indexed source code to identify real-world naming conventions for variables and functions.
This repository serves as the programming language design repository for C#, containing the official language specification and the technical standards governing its grammar, type safety, and memory management. It functions as a collaborative space for the formal design and evolution of the language. The project manages a community-driven evolution process, utilizing a public proposal backlog to debate and adopt new features. This involves formal syntax prototyping and the engineering of the type system to refine the language's behavior and implementation. The scope of the specification cove
Evaluates object shapes and types through a recursive decision tree to execute logic based on value patterns.
TabNine is an AI-powered code completion engine that runs a deep-learning model to generate real-time code suggestions across all programming languages. It operates as an editor plugin that communicates with a backend through a JSON message-passing interface, processing code entirely on the local machine or within a private cloud to keep source code secure and private. The system provides a completion request API that accepts cursor context and returns ranked text completions, with features for configuring completion regions, prefetching files for indexing, and managing binary versions and up
Provides an API to retrieve the identifier regex used by the completion backend for a given file.
This project is an ESLint plugin and static analysis tool designed to enforce best practices, prevent bugs, and maintain code quality in React projects. It functions as a specialized JSX linter that analyzes the syntax and structure of components to detect anti-patterns and API misuse. The plugin distinguishes itself by providing deep analysis of React-specific patterns, such as detecting state race conditions, preventing nested component definitions, and identifying unstable references that cause unnecessary re-renders. It also includes security hardening rules to identify vulnerabilities li
Enforces a consistent naming pattern for boolean properties across the codebase.
30 Seconds of Python is a curated collection of short, reusable Python code snippets designed for quick reference and immediate reuse. It provides an interactive browser that lets you explore snippets organized by tags, search across names and descriptions, and copy code to your clipboard with a single click. The collection covers a broad range of common programming tasks, including list and dictionary operations, string formatting and manipulation, date and time calculations, and color format conversion. It also includes utilities for data transformation, such as converting between case styl
Provides functions to locate list elements matching a test condition, returning first, last, or all matches.
Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement
Ensures that variables used in pattern matching follow a specific naming convention.
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
Adds boolean expressions to patterns to impose extra constraints before a specific case executes.
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
Demonstrates how to bind values to identifiers during the pattern matching process.
Penrose is a compiler that transforms structured mathematical notation into optimized SVG diagrams. It uses a three-stage pipeline of separate domain, substance, and style files to define mathematical objects, relationships, and visual presentation, then solves continuous optimization problems with user-defined spatial constraints and objectives to automatically arrange diagram elements. The system separates diagram content from visual style using distinct declarative languages, and provides a typed domain language with subtype hierarchies for mathematical objects. It supports embedding compi
Groups multiple Substance objects into named collections for aggregate operations across diagram elements.
This project is a comprehensive Lisp AI implementation library that provides reference implementations for various artificial intelligence paradigms and symbolic algorithms. It functions as a multi-purpose toolkit containing a logic programming engine, a natural language processing suite, and a symbolic mathematics toolkit. The library is distinguished by its diverse architectural frameworks, including a Prolog-style execution engine that uses unification and goal-driven backtracking, and a system for simulating human decision-making through expert system shells and certainty factors. It also
Provides symbolic pattern matching on data structures using variables and boolean operators to extract bound values.
This project is a comprehensive Python coding guide and software engineering resource focused on professional development practices. It provides a detailed collection of idiomatic techniques, design patterns, and architectural strategies to improve code quality and maintainability. The guide emphasizes advanced design patterns such as dependency injection, data-driven design, and the application of SOLID principles for object-oriented design. It distinguishes itself by covering sophisticated structural strategies, including class-based decorators, the separation of interfaces from implementat
Applies descriptive naming standards and structural patterns to variables to ensure long-term readability.
collect.js is a dependency-free JavaScript library that provides a fluent, chainable interface for manipulating arrays and objects. It mirrors the Laravel Collection API, offering a consistent set of methods for data transformation across JavaScript and Laravel backend environments. The library stores collection data as plain arrays internally and supports fluent method chaining, where each method returns a new collection instance. The library distinguishes itself by closely replicating the Laravel Collection API in JavaScript, mapping each PHP method to an equivalent JavaScript implementatio
Ships a method to retrieve the first matching item with a default fallback, a common collection operation.
Evaluate a scrutinee against a sequence of patterns and execute the first matching branch's body.
The Rust RFCs repository is the formal home for the Rust language evolution process, housing the structured design documents and community review mechanisms that govern changes to the Rust programming language, its compiler, and its standard library. It defines the complete lifecycle for proposing, discussing, and implementing substantial changes through RFC documents, from initial submission and community feedback through final comment periods and sub-team sign-offs. The repository codifies the governance and collaboration processes that shape Rust's development, including mechanisms for com
Defines the split_last method for ergonomic slice access in Rust's standard library.
This is a community-driven style guide for Unreal Engine 5 projects, providing a comprehensive set of conventions for organizing content and writing Blueprint code. The guide establishes standards for project folder structure, asset naming, and Blueprint scripting to improve readability, maintainability, and team collaboration. The guide covers two main areas: project organization and Blueprint coding standards. For project organization, it recommends structuring content by gameplay feature rather than asset type, isolating project assets in a top-level folder, using PascalCase for folder nam
Defines a naming convention for boolean variables using a b prefix in Blueprint scripts.
pgloader is a command-line tool that automates the migration of data and schema from various source databases and file formats into PostgreSQL. It combines schema discovery, parallel data pipelines, and type casting into a single, declarative workflow, using PostgreSQL's COPY protocol for high-throughput bulk loading. The tool distinguishes itself by compiling a dedicated command language into concurrent reader-writer pipelines that handle schema introspection, data transformation, and error-resilient batch processing. It supports migrating entire databases from MySQL, MS SQL, SQLite, and Pos
Filters database tables for migration using include or exclude name patterns.