ergolib
compile-time-regular-expressions
ergolib | compile-time-regular-expressions | |
---|---|---|
6 | 26 | |
140 | 3,163 | |
- | - | |
0.0 | 7.0 | |
almost 3 years ago | 10 days ago | |
Common Lisp | C++ | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ergolib
-
Lisp in Space
I have a macro in my personal library called BINDING-BLOCK that eliminates many though not all of the parens in common code idioms:
https://github.com/rongarret/ergolib/blob/master/core/bindin...
But like many of the sibling comments say, if you think getting rid of the parens entirely is desirable then you have missed the point, which is that Lisp code is not text, it's a data structure, a linked list, and the best way of serializing a linked list is with delimiters a the start and end, like so:
(1 2 3)
-
Lisping at JPL Revisited
I believe the OP's ergolib provides an example. From https://github.com/rongarret/ergolib/blob/master/core/bindin..., the examples show code like:
;;; (bb
-
Did anyone use Lisp in their home computers during the early PC revolution of the late 70s/early 80s (Apple, C64, etc.)? What was that experience like?
Yes. It was awesome. I used P-Lisp on an Apple II in the late 70s and it pretty much laid the foundation for my whole career. In the 80s I did my compiler class assignments in Lisp while everyone else was using Pascal or C. I got my assignments done in an hour while everyone else took days. I still got an A. I did my masters and Ph.D. thesis work using Coral Common Lisp (now Clozure Common Lisp) first on a Mac Plus, then a Mac II, then a Quadra. Nowadays I run CCL on an MBP. I still use some of the library code I wrote back in the 90s.
-
Eliminating Format from Lisp (2003)
to get a list of primes under 100.
See https://github.com/rongarret/ergolib for an implementation of WITH-COLLECTOR and lots of other constructs that are IMHO the Right Way to write code.
-
Common Lisp Resources
Any code modification is a potential security issue. There is nothing special about dynamic class redefinition in this regard.
I use it for deployment. I can deploy new code without having to take my application down. In fact, not only do all my existing instances get updated, but I also use an ORM [1] that automatically updates my database tables too.
[1] https://github.com/rongarret/ergolib/blob/master/layer1/sql....
- How do you use Lisp at work?
compile-time-regular-expressions
-
Why are strings and IO so complicated?
CTRE (https://github.com/hanickadot/compile-time-regular-expressions) ranges::views (filter, transform, etc.) (C++20) str.find() + str.substr() freopen to stdin + cin >> extraction Parser libraries
- Compile time regular expression in C++
-
What are thoughts on removing regular expression from the standard library?
There are suggestions that should be replaced by the high performance ctre implementation: https://github.com/hanickadot/compile-time-regular-expressions
-
What's the most hilarious use of operator overloading you've seen?
operator"" can be used in a similar way to expression templates (DSLs), where the type of the resulting expression is dependent on the string contents. For example ctre makes use of this to build efficient regular expression parsers, and kumi uses this in conjunction with operator[] to make tuple indexing quite elegant
-
It's easy, I swear! Once you learn a bit about it, you'll be amazed!
Check out https://github.com/hanickadot/compile-time-regular-expressions anything is possible 😂
-
Verify all characters are same except a few
Yes to regex, no to std::regex. Better to use CTRE. Something like "^Hello [0-9]+ how are you" should allow checking if there's a match
-
Constexpr regex parser!
You could compare your implementation with https://github.com/hanickadot/compile-time-regular-expressions and see if there are any ideas you can copy.
- Regex is comically slow. High performance alternatives? (Pattern matching for validation)
-
Regex shootout updated - hyperscan 1st, Rust 2nd, std::regex dead last
std::compile_time_regex would be a nice addition. Something similar to ctre https://github.com/hanickadot/compile-time-regular-expressions Simply letting the compiler generate all the regex parsing machinery at compile time.... And benefitting from compiler optimizations, vectorization, etc...
-
What are some cool modern libraries you enjoy using?
ctre
What are some alternatives?
quilc - The optimizing Quil compiler.
RE2 - RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
weblog - a weblog
consteval-huffman - Compile-time Huffman coding compression using C++20
opendylan - Open Dylan compiler and IDE
xorstr - heavily vectorized c++17 compile time string encryption.
PC-LISP - Franz Lisp dialect Lisp system
neo-fun - Some library components that didn't quite fit anywhere else...
screenshotbot-oss - A Screenshot Testing service to tie with your existing Android, iOS and Web screenshot tests
C++ Format - A modern formatting library
AI-Feynman
staticvec - Implements a fixed-capacity stack-allocated Vec alternative backed by an array, using const generics.