clara-rules
sortedcontainers
clara-rules | sortedcontainers | |
---|---|---|
1 | 6 | |
1,179 | 3,241 | |
0.8% | - | |
5.9 | 7.4 | |
22 days ago | 2 months ago | |
Clojure | Python | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
clara-rules
-
Ask HN: Where do I find good code to read?
I've met a few young programmers who heard somewhere that object-oriented programming was bad and they want to get the enlightenment of functional programming that they've heard about. Frequently they travel from job to job like itinerant martial artists always looking for somewhere where they practice the true technique but they always seem disappointed as it is just as easy if not easier to screw up handling errors with monads than it is with exceptions and they find analogies like "a monad is like a burrito" just get them more confused.
As for something profound I'd point you to
https://github.com/cerner/clara-rules
which many people will struggle with because like many other production rules engines in LISP (and many other examples of simple compilers), there is hardly any code! Contrast that to the orders of magnitude larger rules engine Drools
https://github.com/kiegroup/drools
which is so crazy-complicated primarily because the Drools language is Java-based so you need all sorts of things that Clara or CLIPS don't need.
sortedcontainers
-
Ask HN: Where do I find good code to read?
If you like Python, the library sortedcontainers as a clear, well documented, yet short source code that is a joy to read for a non trivial problem:
https://github.com/grantjenks/python-sortedcontainers/blob/m...
-
Problem #2353 Design a food rating system
See for yourself. Looks like sortedset uses sortedlist under the hood, which itself uses a list of lists under the hood.
-
Discussion Thread
You could use http://www.grantjenks.com/docs/sortedcontainers/ instead!
-
Blog Post: Large Rust Workspaces
Even the Gentoo package repository manages fine with a two-level hierarchy. There's also a Python library, sortedcontainers, that suggests two-level trees are pretty good at any reasonable human-scale (and beyond), even while fixed-arity trees are asymptotically optimal.
-
Show HN: Mongita is to MongoDB as SQLite is to SQL
It's a good question and to be accurate, depending on the benchmark, Mongita is about the same speed at SQLite to several-times slower.
There is less happening algorithmically than you would think. Where the tricky slow bits do exist, they have largely fallen into the happy-path of fast data structures in the Python language/stdlib. I also use sortedcontainers for indexes which helped quite a bit (http://www.grantjenks.com/docs/sortedcontainers/).
If you're curious, the benchmark code is in the repo: https://github.com/scottrogowski/mongita/blob/master/benchma...
-
Top 15 Python Packages You Must Try
I’d like to add sortedcontainers. I use it all the time. It basically does what it says on the tin. Other than the SortedList, the fact that the container is sorted only comes into play when you iterate over it or perform a bisect left/right.
What are some alternatives?
Refactoring-Summary - Summary of "Refactoring: Improving the Design of Existing Code" by Martin Fowler
python-patterns - A collection of design patterns/idioms in Python
sqlite - sqlite mirror
algorithms
pocket - Official implementation of the Pocket Network Protocol v1
TheAlgorithms - All Algorithms implemented in Python
deno_std - deno standard modules
more-itertools - More routines for operating on iterables, beyond itertools
DOOM - DOOM Open Source Release
PyPattyrn - A simple library for implementing common design patterns.
beanie - Asynchronous Python ODM for MongoDB
python-ds - No non-sense and no BS repo for how data structure code should be in Python - simple and elegant.