15 Repos
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 ist eine Bibliothek für funktionale Programmierung für Python, die typsichere Container zur Verwaltung von Zustand, Fehlerbehandlung und Optionalität bereitstellt. Sie dient als monadische Container-Bibliothek und typsicheres Fehlerbehandlungs-Framework, das traditionelle Try-Catch-Blöcke und Null-Checks durch Result- und Optional-Container ersetzt, um Ausnahmen als Daten zu behandeln. Das Projekt zeichnet sich durch die Verwendung eines spezialisierten Mypy-Plugins zur statischen Analyse aus, um funktionale Pipelines zu validieren und Higher-Kinded-Types zu emulieren. Es bietet Mechanismen zur Isolierung von Seiteneffekten durch IO-Container und bietet ein Framework für typsichere Dependency-Injection, das die Bereitstellung von Abhängigkeiten bis zur finalen Ausführung einer Berechnung aufschiebt. Die Bibliothek deckt ein breites Spektrum funktionaler Primitive ab, einschließlich Currying, partieller Anwendung und der Komposition deklarativer Datenpipelines. Sie unterstützt asynchrones Workflow-Management durch das Einwickeln von Coroutines in Container, um nicht-blockierende Operationen zu verketten, und enthält Utilities für das Ressourcen-Lebenszyklusmanagement sowie die Verifizierung algebraischer Gesetze für benutzerdefinierte Container.
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.
Dieses Projekt bietet eine Sammlung von Coding-Standards und Konventionen, die einheitliche Entwicklungsmuster über JavaScript-Codebasen hinweg sicherstellen sollen. Es fungiert als konfigurationsgesteuertes Framework für statische Analysen und legt Regeln für Syntax, Struktur und stilistische Anforderungen fest, um häufige Programmierfehler zu vermeiden und technische Schulden zu reduzieren. Der Leitfaden zeichnet sich durch die Vorgabe spezifischer struktureller Praktiken aus, wie etwa die Verwendung von Literalsyntax für die Erstellung von Objekten und Arrays sowie die Erzwingung strikter Gleichheitsvergleiche, um implizite Typumwandlungen zu vermeiden. Zudem betont er ein diszipliniertes Variablenmanagement durch die Anforderung expliziter Deklarationen am Anfang funktionaler Scopes, was Namensraumverschmutzung verhindert und Probleme im Zusammenhang mit Variable Hoisting mindert. Über diese Kernregeln hinaus deckt das Projekt ein breites Spektrum an Entwicklungsstandards ab, einschließlich Namenskonventionen, Modulkapselung und Dokumentationspraktiken. Es enthält zudem performanceorientierte Richtlinien für browserbasierte Umgebungen, mit Fokus auf effiziente Elementabfragen und DOM-Interaktionsstrategien, um die Anwendungsreaktionsfähigkeit zu erhalten.
Enforces strict equality comparisons across the codebase to eliminate runtime bugs caused by type coercion.