virt-v2v
specter
virt-v2v | specter | |
---|---|---|
4 | 17 | |
69 | 2,479 | |
- | 0.2% | |
8.7 | 0.0 | |
6 days ago | about 1 year ago | |
OCaml | Clojure | |
GNU General Public License v3.0 only | 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.
virt-v2v
-
Two Years of OCaml
In virt-v2v we eventually enforced that every module file also has a corresponding interface file: https://github.com/libguestfs/virt-v2v/blob/master/check-mli...
-
Why and How We Retired Elm at Culture Amp
You can look at the project yourself: https://github.com/libguestfs/virt-v2v I've been writing OCaml for 20+ years and C for 40 years.
-
Multicore OCaml: April 2021
I develop in OCaml from time to time, and it's pretty practical. Separate compilation, makes small-ish binaries that most people wouldn't know weren't written in C/C++, easily call out to C if you need to. We steer clear of the more complex language features like functors because they confuse most programmers.
Here's an example of one very widely used production application: https://github.com/libguestfs/virt-v2v/tree/master/v2v
-
Traversing nested data-structures in various languages
XPath is the real killer feature for XML. I don't think it's possible to use it in this particular example, but in the more generally useful cases where you want to pull (eg) all subnodes with key matching a particular string, XPath is great.
Here's it being used in real code (search for "xpath_"):
https://github.com/libguestfs/virt-v2v/blob/master/v2v/parse...
https://github.com/libguestfs/virt-v2v/blob/master/v2v/parse...
specter
-
Why your F# evangelism isn't working
If you are truly interested in understanding my point of view -- a great way to do it would be to learn how to use this Clojure DSL: https://github.com/redplanetlabs/specter
-
Digging into deeply nested sequence in Clojure
For deeply nested data, use specter https://github.com/redplanetlabs/specter
-
Advent of Code inside the REPL
Yes :), I needed a fast dijkstra implementation to solve a puzzle in 2021. A pure clojure implementation was too slow so i built one on top of this https://github.com/redplanetlabs/specter
-
Lisp feature - domain specific language
https://github.com/redplanetlabs/specter (very powerful way to express modifications to nested data)
-
Working with large maps
Don't forget about specter which is efficient and compact due to its DSL.
- How to modify a nested element of a list
- Making a small change to a big data structure in Clojure
-
Nested mapping?
Learn and use specter for nested data manipulation, will take some studying but is a more general solution (https://github.com/redplanetlabs/specter)
-
-🎄- 2021 Day 16 Solutions -🎄-
For part 1, the version (and other things) are attached to the metadata of each sexp, and a Specter recursive path is used to extract all of the versions.
-
Clojure 1.11.0-alpha2 is now available
https://github.com/redplanetlabs/specter helps as well
What are some alternatives?
eioio - Effects-based direct-style IO for multicore OCaml
meander - Tools for transparent data transformation
ocaml-multicore - Multicore OCaml
malli - High-performance data-driven data specification library for Clojure/Script.
nested-data-structure-traversal
clojure-graph-resources - A curated list of Clojure resources for dealing with graph-like data.
loom - Concurrency permutation testing tool for Rust.
crux - General purpose bitemporal database for SQL, Datalog & graph queries. Backed by @juxt [Moved to: https://github.com/xtdb/xtdb]
ocaml-aeio - Asynchronous effect based IO
schema - Clojure(Script) library for declarative data description and validation
elm-ts - A porting to TypeScript featuring fp-ts, rxjs6 and React
fulcro - A library for development of single-page full-stack web applications in clj/cljs