HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ridiculousfish
regress
Rust2020–2020
ridiculousfish / regress

regress

REGex in Rust with EcmaScript Syntax

2Distinct people
2Mentions
1Explicit recommenders
224GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

REGex in Rust with EcmaScript Syntax

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

(Author here) I love Rust. I've lost track of the number of times I've stared at a chunk of C++ code, considered how much nicer it would look in Rust, and sighed. At the…

IainIreland used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day2 dated mentions

Observed mentions: 2020-05-25 01:41:21 UTC to 2020-06-12 14:28:51 UTC.

012020-05-25 00:00:00 UTC to 2020-05-26 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsMay 252020-05-26 00:00:00 UTC to 2020-05-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-27 00:00:00 UTC to 2020-05-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-28 00:00:00 UTC to 2020-05-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-29 00:00:00 UTC to 2020-05-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-30 00:00:00 UTC to 2020-05-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-31 00:00:00 UTC to 2020-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-01 00:00:00 UTC to 2020-06-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-02 00:00:00 UTC to 2020-06-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-03 00:00:00 UTC to 2020-06-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJun 32020-06-04 00:00:00 UTC to 2020-06-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-05 00:00:00 UTC to 2020-06-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-06 00:00:00 UTC to 2020-06-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-07 00:00:00 UTC to 2020-06-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-08 00:00:00 UTC to 2020-06-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-09 00:00:00 UTC to 2020-06-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-10 00:00:00 UTC to 2020-06-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-11 00:00:00 UTC to 2020-06-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-12 00:00:00 UTC to 2020-06-13 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 12

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
May 252020-05-25 00:00:00 UTC2020-05-26 00:00:00 UTC110
May 262020-05-26 00:00:00 UTC2020-05-27 00:00:00 UTC000
May 272020-05-27 00:00:00 UTC2020-05-28 00:00:00 UTC000
May 282020-05-28 00:00:00 UTC2020-05-29 00:00:00 UTC000
May 292020-05-29 00:00:00 UTC2020-05-30 00:00:00 UTC000
May 302020-05-30 00:00:00 UTC2020-05-31 00:00:00 UTC000
May 312020-05-31 00:00:00 UTC2020-06-01 00:00:00 UTC000
Jun 12020-06-01 00:00:00 UTC2020-06-02 00:00:00 UTC000
Jun 22020-06-02 00:00:00 UTC2020-06-03 00:00:00 UTC000
Jun 32020-06-03 00:00:00 UTC2020-06-04 00:00:00 UTC000
Jun 42020-06-04 00:00:00 UTC2020-06-05 00:00:00 UTC000
Jun 52020-06-05 00:00:00 UTC2020-06-06 00:00:00 UTC000
Jun 62020-06-06 00:00:00 UTC2020-06-07 00:00:00 UTC000
Jun 72020-06-07 00:00:00 UTC2020-06-08 00:00:00 UTC000
Jun 82020-06-08 00:00:00 UTC2020-06-09 00:00:00 UTC000
Jun 92020-06-09 00:00:00 UTC2020-06-10 00:00:00 UTC000
Jun 102020-06-10 00:00:00 UTC2020-06-11 00:00:00 UTC000
Jun 112020-06-11 00:00:00 UTC2020-06-12 00:00:00 UTC000
Jun 122020-06-12 00:00:00 UTC2020-06-13 00:00:00 UTC101

What Hacker News says

2 sources
IainIreland·Jun 12, 2020Recommendation phrase
(Author here) I love Rust. I've lost track of the number of times I've stared at a chunk of C++ code, considered how much nicer it would look in Rust, and sighed. At the beginning of this project, we did consider whether it was the right place to use Rust. There are no existing JS-compatible regexp crates. BurntSushi's regex crate is great, but finite automata don't do backreferences, which is a dealbreaker for JS. After this code landed, somebody brought https://github.com/ridiculousfish/regress to my attention. It looks promising, but still has a long way to go before it's production-ready, and it didn't exist when we made our decision. If we had written our own replacement, it would likely have been Rust. SpiderMonkey has a lot of cross-cutting issues (GC especially) that make it hard to replace individual C++ components with Rust, but
Read the rest
the regexp engine has a pretty clean API boundary. It's the same reason that it was feasible to swap in Irregexp in the first place. Ultimately we decided that writing a new engine wasn't the best use of time. A regexp engine is a complicated beast. Writing a new high-performance, JS-compatible engine in Rust could have been person-years of effort, with a long tail of corner cases and performance issues. We haven't had many memory safety bugs in regexp code. As sstangl points out in a sibling comment (hi Sean!), doing JIT compilation undermines some of Rust's safety guarantees. When it comes down to it, the regexp engine is not a place where SpiderMonkey is looking to push the state of the art. We have to be reasonably fast and feature-complete, but beyond that nobody is going to notice marginal gains. There are higher-leverage opportunities elsewhere.
In A New RegExp Engine in SpiderMonkey

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.