Combinatory Logic: Finding and Evaluating Combinators
Simple Kombinator Interpreter - a combinatory logic & lambda calculus parser and interpreter. Supports SKI, BCKW, Church numerals, and setting up assertions ('quests') involving all of the above.
Combinatory logic interpreter in Typescript.
A combinatory parser library
combinatory data refinement DSL
A combinatory categorial grammar (CCG) library for the web.
An Algolia tool to match and get known entities in your query.
Flocked is bringing combinators and combinatory logic to typescript
TypeScript identity type — type aliases that return the input type unchanged
A react-native library designed to streamline UI implementation.
Basic combinators and bird aliases.
Cirsim Circuit Simulator
<!--suppress HtmlDeprecatedAttribute --> <div align="center">
A Practical Combinator Library
parser library for extremely modular parsers
utils for js
An implementation of the Cat language in TypeScript
compute stitch adjustments for knitting
A set of baseline functions in JavaScript.
`open-event` specifies a way to store information on events/meetups/meetings as JSON files.
Peg Operators for TypeScript
Parser Combinator Library
Fantasy Birds =============
Some combinators
Create every combination possible of values of 2D collections / iterators.
A flexible, high-performance genetic algorithm library written in Rust
Rust implmementations of combinatronic concepts
Combinatorial tools, functions, and generators.
Solve any combinatorial game
Combinatorial Game Theory framework
DDO a generic and efficient framework for MDD-based optimization.
Discrete Optimization Global Search framework. Implements various search algorithms that can be found in combinatorial optimization or heuristic search.
Asemantic computation and Church-style isomorphism using combinatory logic.
A Rust implementation of generalized maps (n-dimensional combinatorial topology) for representing meshes, graphs, and complex geometric structures.
A parser for the Lynx declarative modeling language - a statically typed language for expressing combinatorial optimization problems
Optimization module for SciRS2 (scirs2-optimize)
The thing to convert entities from one to other. Idea from Python Trafaret lib in Ruby way.
A resolver of combinatorial number-placement puzzles, like Sudoku.
Combinatory logic parsing and reduction
Knapsacker is a Knapsack (combinatorial opimization) problem solver with Branch and bound algorithm.
A Ruby gem implementing the combinatory logic birds from Raymond Smullyan's To Mock a Mockingbird
In computer science, a disjoint-set data structure, also called a union–find data structure or merge–find set, is a data structure that keeps track of a set of elements partitioned into a number of disjoint (non-overlapping) subsets. It provides near-constant-time operations (bounded by the inverse Ackermann function) to add new sets, to merge existing sets, and to determine whether elements are in the same set. In addition to many other uses (see the Applications section), disjoint-sets play a key role in Kruskal's algorithm for finding the minimum spanning tree of a graph. A disjoint-set forest consists of a number of elements each of which stores an id, a parent pointer, and, in efficient algorithms, a value called the "rank". The parent pointers of elements are arranged to form one or more trees, each representing a set. If an element's parent pointer points to no other element, then the element is the root of a tree and is the representative member of its set. A set may consist of only a single element. However, if the element has a parent, the element is part of whatever set is identified by following the chain of parents upwards until a representative element (one without a parent) is reached at the root of the tree. Forests can be represented compactly in memory as arrays in which parents are indicated by their array index. Disjoint-set data structures model the partitioning of a set, for example to keep track of the connected components of an undirected graph. This model can then be used to determine whether two vertices belong to the same component, or whether adding an edge between them would result in a cycle. The Union–Find algorithm is used in high-performance implementations of unification. This data structure is used by the Boost Graph Library to implement its Incremental Connected Components functionality. It is also a key component in implementing Kruskal's algorithm to find the minimum spanning tree of a graph. Note that the implementation as disjoint-set forests doesn't allow the deletion of edges, even without path compression or the rank heuristic. Sharir and Agarwal report connections between the worst-case behavior of disjoint-sets and the length of Davenport–Schinzel sequences, a combinatorial structure from computational geometry.
No description provided.
No description provided.