15 repositorios
Language-level operators for verifying value equivalence and identity.
Distinct from Equality Validators: Distinct from Equality Validators: focuses on language-level operator implementation rather than validation logic.
Explore 15 awesome GitHub repositories matching software engineering & architecture · Equality Operators. Refine with filters or upvote what's useful.
The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It provides a comprehensive walkthrough of the language's design, focusing on its core identity as a systems programming language that enforces memory safety and high-performance execution without the need for a garbage collector. The project is distinguished by its focus on ownership, borrowing, and lifetime tracking, which allow the compiler to verify memory safety and thread safety at compile time. It covers the language's unique approach to zero-cost abstractions, including t
Provides operators to check if two instances are equivalent.
This project is a technical interview study guide and a markdown-driven static site designed to help developers prepare for coding screenings. It serves as a curated collection of common technical questions and expert answers, functioning as a comprehensive educational resource. The platform provides a structured curriculum and reference materials across several key domains. This includes a JavaScript language reference covering programming fundamentals, a frontend engineering curriculum focused on UI patterns and responsive design, and a web security knowledge base detailing attack vectors a
Explains loose equality comparisons that allow for type coercion between operands.
This project is a technical interview preparation resource focused on JavaScript. It provides a collection of common technical questions, detailed answers, and conceptual quizzes designed to help users master core language fundamentals and browser APIs. The resource utilizes an interactive infrastructure that includes a coding workspace with in-browser runtime execution and an automated test suite to validate code correctness. It organizes content through curated learning paths and modular concept mapping to decompose complex language fundamentals into searchable study modules. The curriculu
Explains the difference between abstract and strict equality operators to avoid type coercion bugs.
This library is a data assertion tool and equality logic framework for PHP. It provides utilities to verify that two values, nested objects, or complex data types match based on their internal contents. The project distinguishes itself through the use of custom matching rules and configurable precision. It allows for the comparison of floating point numbers and dates using a defined margin of error to account for numeric precision loss. The framework covers deep value equality verification across scalars, arrays, and nested objects. It implements strict type enforcement to prevent implicit c
Prevents implicit type conversion during comparison to ensure that only identical data types are considered equal.
Rockstar is an esoteric programming language whose syntax is inspired by 1980s hard rock and heavy metal lyrics, making programs read like song lyrics. It uses poetic number literals, where the length of each word in a phrase is parsed as a decimal digit to initialize numeric variables, and pronoun-based variable references, where words like "it" and "they" resolve to the most recently assigned or compared variable at runtime. The language can be compiled to WebAssembly and run inside a web page for in-browser code execution. The language distinguishes itself through a lyric-driven parsing sy
Checks strict equality using the lyrical 'is really' operator, verifying both value and type identity.
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
Uses strict equality by default for collection comparisons, eliminating the need for separate strict methods.
Scala 3 is an open-source, statically typed programming language that compiles to JVM bytecode, combining object-oriented and functional programming paradigms. Its core identity is defined by a sophisticated type system that includes traits, generics, union types, and a dependent object type system where types can depend on runtime values through path-dependent and singleton types. The language distinguishes itself through several advanced type-level and metaprogramming capabilities. It features a contextual abstraction mechanism using given instances and using clauses for compile-time implic
Enforces type-safe equality comparisons through a canEqual method preventing unintended type comparisons at compile time.
Flags use of strict equalities that can be easily manipulated by an attacker.
Tape is a TAP-producing test framework for Node.js that provides assertions, spies, subtests, and isolated test harnesses. It functions as both a test runner and an assertion library, outputting results in the Test Anything Protocol format for machine or human consumption. The framework manages test execution through callback-based async control, plan-based auto termination, and subtest stack isolation. It includes a spy wrapper system that replaces object methods with call-recording wrappers that restore originals during teardown, along with a teardown callback registry that collects and exe
Verifies strict equality between values using Object.is comparison.
Verifies that two values are strictly equal and reports the result as a TAP assertion.
flutterrustbridge is a code generation tool that automatically creates type‑safe Dart bindings for Rust functions, enabling direct cross‑language calls between Flutter and a Rust backend. It provides an async FFI adapter that transforms synchronous Rust functions into Dart async methods with background thread management, a cross‑language object manager that wraps persistent Rust structs as Dart objects preserving state across calls, and trait object interop that converts Rust traits into Dart abstract classes for seamless bidirectional use. The project handles the full lifecycle of integrat
Derives equality and hash code methods on Dart wrappers from Rust struct implementations for consistent value semantics.
Returns es una biblioteca de programación funcional para Python que proporciona contenedores con tipos seguros para gestionar el estado, el manejo de errores y la opcionalidad. Sirve como una biblioteca de contenedores monádicos y un framework de manejo de errores con tipos seguros, reemplazando los bloques try-catch tradicionales y las comprobaciones de nulos con contenedores Result y Optional para tratar las excepciones como datos. El proyecto se distingue por su uso de un plugin de análisis estático Mypy especializado para validar pipelines funcionales y emular tipos de orden superior. Proporciona mecanismos para aislar efectos secundarios a través de contenedores IO y ofrece un framework para la inyección de dependencias con tipos seguros que difiere la provisión de dependencias hasta la ejecución final de un cálculo. La biblioteca cubre una amplia gama de primitivas funcionales, incluyendo currificación, aplicación parcial y la composición de pipelines de datos declarativos. Admite la gestión de flujos de trabajo asíncronos envolviendo corrutinas en contenedores para encadenar operaciones no bloqueantes e incluye utilidades para la gestión del ciclo de vida de recursos y verificación de leyes algebraicas para contenedores personalizados.
Provides compile-time enforcement of type-safe equality comparisons to prevent unintended comparisons between unrelated types.
Apache AGE is a graph database extension for PostgreSQL that adds openCypher graph query capabilities directly within the relational database environment. It functions as a loadable extension that translates Cypher graph traversal queries into SQL expressions, enabling users to run pattern matching and path analysis alongside standard SQL operations within a single database instance. The extension stores labeled, directed property graphs as isolated schemas with internal relational tables for vertices, edges, and labels, preventing cross-graph interference. It supports hybrid query execution
Distinguishes between strict equality and equivalence semantics in Cypher queries, a key language feature.
TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source generation for test discovery and mock creation, ensuring compatibility with Native AOT and IL trimming by eliminating the need for runtime reflection and proxies. The framework provides specialized capabilities for integration testing, including the management of distributed application lifecycles, isolated database schemas, and the correlation of telemetry and logs across process boundaries via OTLP. It also includes an HTTP testing utility to intercept network exchanges and mock AP
Checks if two strings are equal using a variety of configurable comparison options.
Este proyecto proporciona un conjunto de estándares de codificación y convenciones diseñadas para asegurar patrones de desarrollo uniformes en codebases de JavaScript. Funciona como un framework basado en configuración para análisis estático, estableciendo reglas que gobiernan la sintaxis, la estructura y los requisitos estilísticos para prevenir errores de programación comunes y reducir la deuda técnica. La guía se distingue por exigir prácticas estructurales específicas, como el uso de sintaxis literal para la creación de objetos y arrays, y la imposición de comparaciones de igualdad estrictas para evitar la coerción de tipos implícita. También enfatiza la gestión disciplinada de variables al requerir declaraciones explícitas en la parte superior de los ámbitos funcionales, lo que previene la contaminación del espacio de nombres y mitiga problemas relacionados con el hoisting de variables. Más allá de estas reglas centrales, el proyecto cubre una amplia gama de estándares de desarrollo, incluyendo convenciones de nomenclatura, encapsulamiento de módulos y prácticas de documentación. También incorpora directrices orientadas al rendimiento para entornos basados en navegador, enfocándose en estrategias eficientes de consulta de elementos e interacción con el DOM para mantener la capacidad de respuesta de la aplicación.
Enforces strict equality comparisons across the codebase to eliminate runtime bugs caused by type coercion.