Topic: "pattern-matching"
gvergnaud/ts-pattern
π¨ The exhaustive Pattern Matching library for TypeScript, with smart type inference.
Language: TypeScript - Size: 2.7 MB - Last synced at: 4 days ago - Pushed at: 10 days ago - Stars: 13,487 - Forks: 147

TDAmeritrade/stumpy
STUMPY is a powerful and scalable Python library for modern time series analysis
Language: Python - Size: 127 MB - Last synced at: 4 days ago - Pushed at: about 1 month ago - Stars: 3,905 - Forks: 332

santinic/pampy
Pampy: The Pattern Matching for Python you always dreamed of.
Language: Python - Size: 291 KB - Last synced at: about 1 month ago - Pushed at: 4 months ago - Stars: 3,525 - Forks: 126

actor-framework/actor-framework
An Open Source Implementation of the Actor Model in C++
Language: C++ - Size: 41.3 MB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 3,270 - Forks: 555

z-pattern-matching/z
Pattern Matching for Javascript
Language: JavaScript - Size: 509 KB - Last synced at: 1 day ago - Pushed at: over 1 year ago - Stars: 1,718 - Forks: 49

hirrolot/datatype99
Algebraic data types for C99
Language: C - Size: 1.15 MB - Last synced at: 5 days ago - Pushed at: about 2 months ago - Stars: 1,407 - Forks: 23

solodon4/Mach7
Functional programming style pattern-matching library for C++
Language: C++ - Size: 97.2 MB - Last synced at: 29 days ago - Pushed at: over 3 years ago - Stars: 1,290 - Forks: 78

winkjs/wink-nlp
Developer friendly Natural Language Processing β¨
Language: JavaScript - Size: 26.8 MB - Last synced at: 13 days ago - Pushed at: 3 months ago - Stars: 1,267 - Forks: 59

KasperskyLab/hrtng
IDA Pro plugin with a rich set of features: decryption, deobfuscation, patching, lib code recognition and various pseudocode transformations
Language: C++ - Size: 105 MB - Last synced at: 18 days ago - Pushed at: 18 days ago - Stars: 1,111 - Forks: 103

noprompt/meander
Tools for transparent data transformation
Language: Clojure - Size: 3.05 MB - Last synced at: 27 days ago - Pushed at: over 1 year ago - Stars: 947 - Forks: 55

DennisLiu1993/Fastest_Image_Pattern_Matching
C++ implementation of a ScienceDirect paper "An accelerating cpu-based correlation-based image alignment for real-time automatic optical inspection"
Language: C++ - Size: 113 MB - Last synced at: 7 days ago - Pushed at: 7 days ago - Stars: 934 - Forks: 218

egison/egison
The Egison Programming Language
Language: Haskell - Size: 8.5 MB - Last synced at: 29 days ago - Pushed at: over 2 years ago - Stars: 918 - Forks: 31

terkelg/tiny-glob
Super tiny and ~350% faster alternative to node-glob
Language: JavaScript - Size: 150 KB - Last synced at: 6 days ago - Pushed at: over 2 years ago - Stars: 852 - Forks: 26

aidenybai/pattycake
Zero-runtime pattern matching
Language: TypeScript - Size: 286 KB - Last synced at: about 1 month ago - Pushed at: over 1 year ago - Stars: 835 - Forks: 8

mpark/patterns
This is an experimental library that has evolved to P2688
Language: C++ - Size: 246 KB - Last synced at: 26 days ago - Pushed at: 5 months ago - Stars: 673 - Forks: 31

benruijl/symbolica
A modern computer algebra library for Python and Rust.
Language: Rust - Size: 3 MB - Last synced at: 2 days ago - Pushed at: 2 days ago - Stars: 605 - Forks: 27

santinic/pampy.js
Pampy.js: Pattern Matching for JavaScript
Language: JavaScript - Size: 134 KB - Last synced at: 21 days ago - Pushed at: 24 days ago - Stars: 552 - Forks: 12

JuliaSymbolics/SymbolicUtils.jl
Symbolic expressions, rewriting and simplification
Language: Julia - Size: 6.56 MB - Last synced at: 20 days ago - Pushed at: 20 days ago - Stars: 546 - Forks: 121

BowenFu/matchit.cpp
match(it): A lightweight single-header pattern-matching library for C++17 with macro-free APIs.
Language: C++ - Size: 2.72 MB - Last synced at: 12 months ago - Pushed at: over 2 years ago - Stars: 530 - Forks: 20

adam-mcdaniel/sage
A programming language that's wise beyond its bytes!π±πΏπͺ΄
Language: Rust - Size: 85.8 MB - Last synced at: about 1 month ago - Pushed at: 2 months ago - Stars: 502 - Forks: 17

killme2008/defun
A macro to define clojure functions with parameter pattern matching just like erlang or elixir.
Language: Clojure - Size: 46.9 KB - Last synced at: 2 days ago - Pushed at: over 1 year ago - Stars: 477 - Forks: 20

thma/WhyHaskellMatters
In this article I try to explain why Haskell keeps being such an important language by presenting some of its most important and distinguishing features and detailing them with working code examples. The presentation aims to be self-contained and does not require any previous knowledge of the language.
Language: Haskell - Size: 480 KB - Last synced at: 11 days ago - Pushed at: over 1 year ago - Stars: 469 - Forks: 14

patois/HexraysToolbox
Hexrays Toolbox - Find code patterns within the Hexrays ctree
Language: Python - Size: 247 KB - Last synced at: about 2 months ago - Pushed at: almost 2 years ago - Stars: 455 - Forks: 44

rgroli/other.nvim
Open alternative files for the current buffer
Language: Lua - Size: 2.8 MB - Last synced at: about 19 hours ago - Pushed at: 1 day ago - Stars: 449 - Forks: 35

usethesource/rascal
The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
Language: Java - Size: 1.02 GB - Last synced at: 6 days ago - Pushed at: 6 days ago - Stars: 421 - Forks: 78

thautwarm/MLStyle.jl
Julia functional programming infrastructures and metaprogramming facilities
Language: Julia - Size: 2.87 MB - Last synced at: 1 day ago - Pushed at: about 1 year ago - Stars: 410 - Forks: 38

A200K/IDA-Pro-SigMaker
Signature maker plugin for IDA 8.x and 9.x
Language: C++ - Size: 66.4 KB - Last synced at: 4 months ago - Pushed at: 4 months ago - Stars: 363 - Forks: 65

baweaver/qo
Qo - Query Object - Pattern matching and fluent querying in Ruby
Language: Ruby - Size: 798 KB - Last synced at: 3 days ago - Pushed at: about 6 years ago - Stars: 360 - Forks: 9

lukemorales/exhaustive
Exhaustiveness checking in TypeScript
Language: TypeScript - Size: 182 KB - Last synced at: 1 day ago - Pushed at: 10 months ago - Stars: 354 - Forks: 5

TeaEntityLab/fpGo
Monad, Functional Programming features for Golang
Language: Go - Size: 306 KB - Last synced at: 7 months ago - Pushed at: 7 months ago - Stars: 346 - Forks: 22

guicho271828/trivia
Pattern Matcher Compatible with Optima
Language: Common Lisp - Size: 765 KB - Last synced at: 12 months ago - Pushed at: over 1 year ago - Stars: 324 - Forks: 22

andreaferretti/patty
A pattern matching library for Nim
Language: Nim - Size: 93.8 KB - Last synced at: about 1 month ago - Pushed at: about 2 years ago - Stars: 280 - Forks: 14

r-lib/zeallot
Variable assignment with zeal! (or multiple, unpacking, and destructuring assignment in R)
Language: R - Size: 271 KB - Last synced at: 4 days ago - Pushed at: 5 days ago - Stars: 260 - Forks: 14

p-ranav/glob
Glob for C++17
Language: C++ - Size: 302 KB - Last synced at: 24 days ago - Pushed at: 25 days ago - Stars: 260 - Forks: 43

dbs-leipzig/gradoop
Distributed Temporal Graph Analytics with Apache Flink
Language: Java - Size: 927 MB - Last synced at: 13 days ago - Pushed at: 13 days ago - Stars: 249 - Forks: 88

fluentpython/lispy
Learning with Peter Norvig's lis.py interpreter
Language: Scheme - Size: 1.75 MB - Last synced at: about 1 month ago - Pushed at: 10 months ago - Stars: 248 - Forks: 37

alexpantyukhin/go-pattern-match
Pattern matchings for Go.
Language: Go - Size: 1.95 MB - Last synced at: about 1 month ago - Pushed at: about 2 years ago - Stars: 247 - Forks: 9

yorickpeterse/pattern-matching-in-rust
Pattern matching and exhaustiveness checking algorithms implemented in Rust
Language: Rust - Size: 72.3 KB - Last synced at: about 1 month ago - Pushed at: 6 months ago - Stars: 217 - Forks: 3

HoShiMin/Sig
The most powerful and customizable binary pattern scanner
Language: C++ - Size: 30.3 KB - Last synced at: about 1 month ago - Pushed at: over 3 years ago - Stars: 217 - Forks: 50

p-ranav/hypergrep
Recursively search directories for a regex pattern
Language: C++ - Size: 9.31 MB - Last synced at: about 1 month ago - Pushed at: almost 2 years ago - Stars: 213 - Forks: 7

BennyThadikaran/stock-pattern
A Python CLI tool to scan, detect, and plot stock chart patterns
Language: Python - Size: 367 KB - Last synced at: 4 months ago - Pushed at: 4 months ago - Stars: 201 - Forks: 42

aappleby/matcheroni
A minimalist single-header library for building pattern-matchers, lexers, and parsers.
Language: C++ - Size: 7.31 MB - Last synced at: 17 days ago - Pushed at: 3 months ago - Stars: 200 - Forks: 5

stefano-regosa-deel/pattern-matching-ts
β‘ Pattern Matching in Typescript
Language: TypeScript - Size: 1.68 MB - Last synced at: 8 days ago - Pushed at: over 3 years ago - Stars: 190 - Forks: 8

G-Research/ahocorasick_rs
Check for multiple patterns in a single string at the same time: a fast Aho-Corasick algorithm for Python
Language: Python - Size: 300 KB - Last synced at: 3 days ago - Pushed at: 19 days ago - Stars: 183 - Forks: 13

tfeldmann/simplematch
Minimal, super readable string pattern matching for python.
Language: Python - Size: 110 KB - Last synced at: 5 days ago - Pushed at: 11 months ago - Stars: 183 - Forks: 8

tevelee/Eval
Eval is a lightweight interpreter framework written in Swift, evaluating expressions at runtime
Language: Swift - Size: 281 MB - Last synced at: 4 days ago - Pushed at: over 2 years ago - Stars: 182 - Forks: 7

Effect-TS/match π¦
Functional pattern matching with the full power of TypeScript
Language: TypeScript - Size: 1.35 MB - Last synced at: 3 months ago - Pushed at: over 1 year ago - Stars: 181 - Forks: 7

SafeBreach-Labs/Back2TheFuture
Find patterns of vulnerabilities on Windows in order to find 0-day and write exploits of 1-days. We use Microsoft security updates in order to find the patterns.
Language: C - Size: 1.38 MB - Last synced at: about 1 month ago - Pushed at: almost 4 years ago - Stars: 180 - Forks: 36

missingfaktor/akar
First-class patterns for Clojure. Made with love, functions, and just the right amount of syntax.
Language: Clojure - Size: 3.38 MB - Last synced at: about 1 month ago - Pushed at: 10 months ago - Stars: 176 - Forks: 14

vic/expat
Reusable, composable patterns across Elixir libraries
Language: Elixir - Size: 70.3 KB - Last synced at: about 6 hours ago - Pushed at: over 6 years ago - Stars: 176 - Forks: 5

HPAC/matchpy
A library for pattern matching on symbolic expressions in Python.
Language: Python - Size: 904 KB - Last synced at: 8 days ago - Pushed at: about 1 year ago - Stars: 168 - Forks: 25

propensive/kaleidoscope
Statically-checked inline matching on regular expressions in Scala
Language: Scala - Size: 3.51 MB - Last synced at: 6 days ago - Pushed at: 3 months ago - Stars: 166 - Forks: 8

egison/egison-ruby
A Ruby gem for non-linear pattern-matching with backtracking
Language: Ruby - Size: 128 KB - Last synced at: 5 days ago - Pushed at: over 9 years ago - Stars: 163 - Forks: 4

shuckster/match-iz
A tiny pattern-matching library in the style of the TC39 proposal.
Language: JavaScript - Size: 706 KB - Last synced at: 21 days ago - Pushed at: 4 months ago - Stars: 159 - Forks: 2

bfontaine/grape
:grapes: Syntax-aware grep-like for Clojure
Language: Clojure - Size: 226 KB - Last synced at: 5 days ago - Pushed at: over 2 years ago - Stars: 152 - Forks: 3

johnlcox/motif
Scala-like pattern matching for Java 8
Language: Java - Size: 586 KB - Last synced at: about 1 month ago - Pushed at: over 7 years ago - Stars: 149 - Forks: 4

pangloss/pattern
Pattern lets you transform data structures in amazing ways.
Language: Clojure - Size: 813 KB - Last synced at: about 1 month ago - Pushed at: 5 months ago - Stars: 147 - Forks: 5

jamiejennings/rosie-pattern-language
Rosie Pattern Language (RPL) and the Rosie Pattern Engine have MOVED!
Size: 18.9 MB - Last synced at: about 1 month ago - Pushed at: almost 7 years ago - Stars: 145 - Forks: 20

Qutuf/Qutuf
Qutuf (ΩΩΨ·ΩΩΩΩ): An Arabic Morphological analyzer and Part-Of-Speech tagger as an Expert System.
Language: Python - Size: 6.15 MB - Last synced at: 4 days ago - Pushed at: over 2 years ago - Stars: 132 - Forks: 17

logstash-plugins/logstash-filter-grok
Grok plugin to parse unstructured (log) data into something structured.
Language: Ruby - Size: 224 KB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 126 - Forks: 98

sfast/zeronode
Zeronode - minimal building block for NodeJS microservices
Language: JavaScript - Size: 2.86 MB - Last synced at: 9 days ago - Pushed at: over 2 years ago - Stars: 126 - Forks: 11

bem/bem-xjst
bem-xjst (eXtensible JavaScript Templates): declarative template engine for the browser and server
Language: JavaScript - Size: 2.38 MB - Last synced at: 6 days ago - Pushed at: almost 4 years ago - Stars: 116 - Forks: 48

PacktPublishing/Java-Coding-Problems-Second-Edition
Java Coding Problems, Second Edition - Published by Packt
Language: Java - Size: 2.62 MB - Last synced at: 5 months ago - Pushed at: about 1 year ago - Stars: 113 - Forks: 77

MasonProtter/SumTypes.jl
An implementation of sum types in Julia
Language: Julia - Size: 159 KB - Last synced at: about 1 month ago - Pushed at: 8 months ago - Stars: 109 - Forks: 9

thautwarm/moshmosh
An amazing syntax extension system in pure Python, the way to coding efficiency.
Language: Python - Size: 1.56 MB - Last synced at: 4 days ago - Pushed at: over 3 years ago - Stars: 108 - Forks: 7

PHLAK/Splat
Glob-like file and pattern matching utility.
Language: PHP - Size: 126 KB - Last synced at: 1 day ago - Pushed at: 2 months ago - Stars: 107 - Forks: 5

scravy/awesome-pattern-matching
Pattern Matching for Python 3.7+ in a simple, yet powerful, extensible manner.
Language: Python - Size: 212 KB - Last synced at: 6 days ago - Pushed at: about 2 years ago - Stars: 107 - Forks: 6

svenssonjoel/lispBM
An interpreter for a concurrent lisp with message-passing and pattern-matching.
Language: C - Size: 25.8 MB - Last synced at: 6 days ago - Pushed at: 6 days ago - Stars: 105 - Forks: 11

dry-rb/dry-matcher
Flexible, expressive pattern matching for Ruby
Language: Ruby - Size: 350 KB - Last synced at: 7 days ago - Pushed at: over 1 year ago - Stars: 101 - Forks: 18

HealthSamurai/matcho Fork of niquola/matcho
Simpliest pattern matching you've ever seen
Language: Clojure - Size: 85 KB - Last synced at: 7 days ago - Pushed at: about 1 year ago - Stars: 97 - Forks: 5

micromatch/nanomatch
Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but without support for extended globs (extglobs), posix brackets or braces, and with complete Bash 4.3 wildcard support: ("*", "**", and "?").
Language: JavaScript - Size: 382 KB - Last synced at: 6 days ago - Pushed at: over 2 years ago - Stars: 97 - Forks: 20

PhakornKiong/go-pattern-match
Pattern Matching library for go
Language: Go - Size: 83 KB - Last synced at: 6 months ago - Pushed at: over 1 year ago - Stars: 93 - Forks: 2

pyxem/kikuchipy
Toolbox for analysis of electron backscatter diffraction (EBSD) patterns
Language: Python - Size: 193 MB - Last synced at: 27 days ago - Pushed at: about 1 month ago - Stars: 89 - Forks: 34

Roger-luo/Moshi.jl
nextgen MLStyle: Generic Algebraic Data Type + Pattern Match
Language: Julia - Size: 1.61 MB - Last synced at: 7 days ago - Pushed at: 4 months ago - Stars: 82 - Forks: 5

owo-lang/narc-rs
(WIP) Dependently-typed programming language with Agda style dependent pattern matching
Language: Rust - Size: 455 KB - Last synced at: 2 days ago - Pushed at: over 4 years ago - Stars: 80 - Forks: 4

Hugal31/yara-rust
Rust bindings for VirusTotal/Yara
Language: Rust - Size: 713 KB - Last synced at: 4 days ago - Pushed at: 2 months ago - Stars: 76 - Forks: 28

xapix-io/matchete π¦
Simple pattern-matching library for Clojure(Script)
Language: Clojure - Size: 146 KB - Last synced at: 6 days ago - Pushed at: almost 5 years ago - Stars: 74 - Forks: 2

vizvamitra/patme
Elixir-style pattern matching for ruby methods
Language: Ruby - Size: 15.6 KB - Last synced at: about 1 month ago - Pushed at: about 8 years ago - Stars: 74 - Forks: 2

mnemnion/mvzr
Minimum Viable Zig Regex
Language: Zig - Size: 216 KB - Last synced at: 8 days ago - Pushed at: 22 days ago - Stars: 73 - Forks: 2

swissmanu/pattern-matching-with-typescript
TypeScript does not have any pattern matching functionality built in. This article shows several ways how you can replicate the core of a simple pattern matcher using a few simple structures and functions within TypeScript. Resulting code will have improved maintainability and better runtime type safety when done right.
Language: JavaScript - Size: 128 KB - Last synced at: 5 days ago - Pushed at: almost 6 years ago - Stars: 73 - Forks: 2

chenxuhao/GraphMiner
Graph Pattern Mining
Language: C++ - Size: 9.93 MB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 68 - Forks: 17

WimJongeneel/ts-pattern-matching
Pattern matching in TS with Record Patterns, Type Patterns, type inference and more
Language: TypeScript - Size: 146 KB - Last synced at: 17 days ago - Pushed at: almost 5 years ago - Stars: 68 - Forks: 5

hexops/zorex
Zorex: the omnipotent regex engine
Language: Zig - Size: 2.39 MB - Last synced at: 3 days ago - Pushed at: over 3 years ago - Stars: 67 - Forks: 4

pb82/MissMatch
Pattern matching for JavaScript inspired by one of the great features of the Haskell language. Suitable for browsers or node.js.
Language: JavaScript - Size: 160 KB - Last synced at: 22 days ago - Pushed at: almost 7 years ago - Stars: 67 - Forks: 2

unknowntrojan/binja_coolsigmaker
a cooler signature scanning and creation library for binja
Language: Rust - Size: 84 KB - Last synced at: 3 months ago - Pushed at: 3 months ago - Stars: 66 - Forks: 8

GateNLP/python-gatenlp
Python text processing, pattern matching, and NLP framework
Language: Jupyter Notebook - Size: 19.4 MB - Last synced at: 3 days ago - Pushed at: almost 2 years ago - Stars: 65 - Forks: 8

MeetMartin/conditional-expression
JavaScript functional conditional expression
Language: JavaScript - Size: 134 KB - Last synced at: 1 day ago - Pushed at: over 2 years ago - Stars: 64 - Forks: 9

bolshakov/fear
Ruby port of some Scala's monads
Language: Ruby - Size: 613 KB - Last synced at: 7 months ago - Pushed at: 9 months ago - Stars: 63 - Forks: 9

thautwarm/flowpython
tasty feature extensions for python3(NO MAINTENANCE!).
Language: C - Size: 102 MB - Last synced at: 4 days ago - Pushed at: almost 6 years ago - Stars: 62 - Forks: 0

eriknyquist/librxvm
non-backtracking NFA-based regular expression library, for C and Python
Language: C - Size: 1.58 MB - Last synced at: 10 days ago - Pushed at: over 4 years ago - Stars: 61 - Forks: 1

sampersand/squire
The medieval language held together by twine.
Language: C - Size: 1.02 MB - Last synced at: 2 days ago - Pushed at: 5 months ago - Stars: 60 - Forks: 5

PositiveTechnologies/PT.PM π¦
:black_small_square: An engine for searching patterns in the source code, based on Unified AST or UST. At present time C#, Java, PHP, PL/SQL, T-SQL, MySql, and JavaScript are supported. Patterns can be described within the code or using a DSL.
Language: C# - Size: 11.7 MB - Last synced at: 6 months ago - Pushed at: almost 5 years ago - Stars: 60 - Forks: 12

dfdx/Espresso.jl
Expression transformation package
Language: Julia - Size: 791 KB - Last synced at: 22 days ago - Pushed at: 8 months ago - Stars: 58 - Forks: 8

solid-process/solid-result
Unleash a pragmatic and observable use of Result Pattern and Railway-Oriented Programming in Ruby.
Language: Ruby - Size: 681 KB - Last synced at: 18 days ago - Pushed at: about 1 year ago - Stars: 55 - Forks: 4

alehander92/matchete
A DSL for method overloading in Ruby based on pattern matching
Language: Ruby - Size: 153 KB - Last synced at: 14 days ago - Pushed at: almost 10 years ago - Stars: 55 - Forks: 3

softmatcha/softmatcha
A soft and fast pattern matcher for billion-scale corpora.
Language: Python - Size: 48.8 KB - Last synced at: 15 days ago - Pushed at: 2 months ago - Stars: 54 - Forks: 7

jenojp/extractacy
Spacy pipeline object for extracting values that correspond to a named entity (e.g., birth dates, account numbers, laboratory results)
Language: Python - Size: 124 KB - Last synced at: 22 days ago - Pushed at: almost 3 years ago - Stars: 54 - Forks: 9

c-cube/stimsym
[toy] A rewriting language similar to the core of Mathematica
Language: OCaml - Size: 498 KB - Last synced at: 3 days ago - Pushed at: about 3 years ago - Stars: 54 - Forks: 3

h2non/siringa
Minimalist dependency injection library for Python that embraces type annotations syntax
Language: Hy - Size: 42 KB - Last synced at: 7 months ago - Pushed at: about 7 years ago - Stars: 54 - Forks: 2

nrc/proc-macro-rules
Macro-rules-style syntax matching for procedural macros
Language: Rust - Size: 43.9 KB - Last synced at: 2 days ago - Pushed at: over 1 year ago - Stars: 53 - Forks: 5
