recursion-schemes
mgmt
recursion-schemes | mgmt | |
---|---|---|
20 | 34 | |
335 | 3,411 | |
0.3% | - | |
4.3 | 9.6 | |
22 days ago | 9 days ago | |
Haskell | Go | |
BSD 2-clause "Simplified" License | GNU General Public License v3.0 only |
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.
recursion-schemes
-
-❄️- 2023 Day 4 Solutions -❄️-
Reasonably proud of my part 2 solution, although would like to try using a recursion scheme rather than unstructured recursion:
-
Interactive animations
Yeah, that project is pretty much at the bottom of my list, unfortunately. My top projects these days are mgmt, klister, recursion-schemes, and hint... And that's already too much!
-
Science of Recursion
In a programming context, recursion schemes can be used to write recursive (or corecursive) functions, by automating/abstracting away the common boilerplate part of actually doing the recursion. They take the form of polymorphic higher-order functions, which can be imported from a library like this classic one.
-
Is there a way to avoid call overhead?
Maybe I didn't link the best post. It is unfortunately the only one I know that uses Rust. If you are able to read Haskell, the documentation for the recursion-schemes package might be a better resource?
-
Ah yes I love arrays with a length of infinity!!!
Writing something as a type of fold over an infinite sequence is nicer than using recursion directly in my opinion. See: https://hackage.haskell.org/package/recursion-schemes
-
Tips on mastering recursion and trees and shit?
Consider recursion schemes! It let's you separate the logic of how your recursion is structured on your data, and the logic of what you're doing on each recursion stage. So e.g. you can write the core logic of a recursive linked list summation as just fun x accum -> x + accum, and then you just find the appropriate recursion scheme to pipe the list values into x and handle recursing to build accum (a catamorphism in this case)
-
So you come across an undocumented library…
It's a pretty complicated bug, documented in details at https://github.com/recursion-schemes/recursion-schemes/issues/50
-
Beautiful ideas in programming: generators and continuations
It’s also trivial and easy in Haskell — you just need an instance of `Foldable` or `Traversable` on your collection, and then you can fold or traverse it in a configurable way. Or for recursive structures, use https://hackage.haskell.org/package/recursion-schemes. Or even just pass a traversal function as an argument for maximum flexibility.
-
fromMaybe is Just a fold
https://hackage.haskell.org/package/recursion-schemes is the "normal" library for this type of generalized folding. It even contains Base instances for Maybe and Either.
-
Annotation via anamorphism?
I've been working on a system which uses recursion-schemes to annotate a recursive type. The annotated tree itself is pretty simple; at each level, we pair the annotation with the base functor, or
mgmt
- Mgmt: Next generation distributed, event-driven, parallel config management
-
Ask HN: Are there any open source forks of nomad smd consul?
> I think etcd is basically a k8s only project now
I hate etcd with the best of them, but etcd is used in a lot more places than just kubernetes:
https://github.com/apache/apisix/blob/master/docs/en/latest/...
https://github.com/traefik/traefik#:~:text=Etcd,
https://github.com/zalando/patroni#patroni-a-template-for-po...
https://github.com/purpleidea/mgmt/tree/0.0.26/etcd (this one shows up on HN quite a bit)
https://github.com/sorintlab/stolon#features
It's actually one of the major reasons I wouldn't touch those projects
-
Show HN: A new provisioning tool built with mgmt
This is a new provisioning tool built with https://github.com/purpleidea/mgmt/ that I hope both provides great value and also demonstrates the start of a new way to build certain kinds of software.
Thanks for reading!
-
The Cell Programming Language
I've looked briefly into this project before. Some ideas are similar to what I'm doing in https://github.com/purpleidea/mgmt/ but the really weird thing is that I have no idea who's behind this language. A person? A company? A small group? Are they anonymous for some reason or am I oblivious?
-
Show HN: Workflow Orchestrator in Golang
I don't generally believe in orchestrators (they miss the point, things are not single computers and neither is the world) and so I have that feedback here but also for:
> Airflow/Cadence/Temporal/Databuilderframework?
Which don't really think about modelling non-centralized things.
This of course doesn't mean they're not useful, it's just that they don't have what I believe is a good long-term value proposition.
I'm incredibly biased because I'm working on programmatic, real-time modelling of distributed systems with https://github.com/purpleidea/mgmt/
-
The Claro Programming Language
The DAG concurrency stuff feels familiar to what I've been doing with our language, mcl. https://github.com/purpleidea/mgmt/
Our goal is NOT a general-purpose turing-complete language like this one is, but we do some amazing lock-free, DAG concurrency things to achieve the processing wins.
-
HashiCorp Adopts Business Source License
I don't think it's good news, but why is anyone surprised? Nobody wants to pay for open source.
Companies want it for free, and individuals don't have enough luxury time to be able to do it themselves.
Prove me wrong and help patch or fund https://github.com/purpleidea/mgmt/ and you'll have an even better replacement for terraform!
- Ask HN: Could you show your personal blog here?
-
I want to contribute to open-source software written in Go
Individual here, not a company. We'd love contributors to https://github.com/purpleidea/mgmt/
-
On June 12th, many subreddits will be going dark to protest the killing of 3rd Party Apps! All FOSS apps are 3rd Party Apps. Will /r/linux join the strike?
Eventually decided puppet wasn't a good enough tool to be able to autonomously deploy and continuously manage such clusters. So I started working on this https://github.com/purpleidea/mgmt/ project. Not quite MVP yet, but trying to get there soon. Got distracted along the way with having to work real jobs (Red Hat, Amazon) to pay bills.
What are some alternatives?
distributed-process-platform - DEPRECATED (Cloud Haskell Platform) in favor of distributed-process-extras, distributed-process-async, distributed-process-client-server, distributed-process-registry, distributed-process-supervisor, distributed-process-task and distributed-process-execution
GNU Stow - GNU Stow - mirror of savannah git repository occasionally with more bleeding-edge branches
record - Anonymous records
Ansible - Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.
unliftio - The MonadUnliftIO typeclass for unlifting monads to IO
Pulumi - Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages 🚀
machines - Networks of composable stream transducers
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
chr-core - Constraint Handling Rules
Chef - Chef Infra, a powerful automation platform that transforms infrastructure into code automating how infrastructure is configured, deployed and managed across any environment, at any scale
pipes-core - Compositional pipelines
CFEngine - CFEngine Community