frawk
makesure
Our great sponsors
frawk | makesure | |
---|---|---|
23 | 11 | |
1,073 | 271 | |
- | - | |
4.8 | 4.9 | |
5 days ago | 12 days ago | |
Rust | Shell | |
Apache License 2.0 | MIT License |
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.
frawk
-
Awk: Power and Promise of a 40 yr old language (2021)
It does, just go to the "Benchmarks" link: https://github.com/ezrosent/frawk/blob/master/info/performan...
-
What's the software you couldn't live without?
and frawk for good measure
-
What is yay situation?
frawk ["frawk" in aur] - a fancier awk with support for CSV files
- Fd: A simple, fast and user-friendly alternative to 'find'
- Command-line Tools can be 235x Faster than your Hadoop Cluster
-
Awk implementation?
https://github.com/ezrosent/frawk - awk like language in rust
-
Hacker News top posts: Feb 15, 2022
Frawk: A fast, JITted, statically-typed AWK written in Rust\ (27 comments)
-
Frawk: A fast, JITted, statically-typed AWK written in Rust
Interesting (and a bit surprising) that the cranelift backend keeps up with LLVM backend reasonably well, especially with parallelism enabled https://github.com/ezrosent/frawk/blob/master/info/performan...
In the example I noticed a PREPARE block in addition to the well known BEGIN and END blocks. After a few minutes of searching it appears to be frawk specific:
https://github.com/ezrosent/frawk/blob/master/info/paralleli...
"Because the repeated map references are both annoying to write and inefficient to execute, frawk has a PREPARE block which executes in the worker threads at the end of its input"
makesure
-
Just: A Command Runner
Another simple tool similar to this is makesure[1]. It’s written in shell so the idea is you include makesure itself in your repo, which avoids needing to install another tool to run commands on your project.
It’s very simple so isn’t good for everything, but works well as a simple command runner.
-
just VS makesure - a user suggested alternative
2 projects | 13 Aug 2022
-
run VS makesure - a user suggested alternative
2 projects | 13 Aug 2022
-
Frawk: A fast, JITted, statically-typed AWK written in Rust
As they say: "Good programmer chooses the most powerful tool for the job, best programmer chooses the least powerful tool for the job". Also see [1].
There is absolutely nothing wrong in learning AWK. It's very small language you can grasp fully in hours or days, and be sure you know it all, since it's very unlikely it chanages any time soon. Besides the classical book [2] by A., W., K. is absolute pleasure to read.
Shameless plug. I'm the author of a task/command runner [3] implemented almost 100% in AWK and I still think this was perfect choice for a language for this project.
[1] https://en.wikipedia.org/wiki/Rule_of_least_power
[2] https://archive.org/download/pdfy-MgN0H1joIoDVoIC7/The_AWK_P...
- mawk (https://invisible-island.net/mawk/) - bundled in some Linux distros (?), known as the fastest byte-code compiled implementation.
All three have very good compatibility, but Gawk is super-set over POSIX standard. I have some evidence here, since I regularly test [1] against these implementations and even some others, like GoAWK.
[1] https://github.com/xonixx/makesure/actions/runs/1830978431
-
How did I run that code again? Tools to help recall
I've been using make to do this for ages, but its syntax really shows its age in a bad way. A while ago I switched to just (https://github.com/casey/just), which is a simple command runner with less unnecessary cruft (for my use case as a command runner) and a much saner syntax, and I've been pretty happy with it so far, I hardly ever need to look up anything.
There's also task (https://taskfile.dev/), which is YAML-based and might work well in an environment where everything else is YAML anyway, and makesure (https://github.com/xonixx/makesure), which is pretty similar to just, but didn't really click with me.
-
How to do things safely in Bash
5. Easy shell interoperability
As an example here is a simplistic build tool [1] I’ve developed in AWK. As you can check [2] it runs unchanged under Linux/macOS/Win (via Git Bash).
[1] https://github.com/xonixx/makesure/blob/main/makesure.awk
What are some alternatives?
clojure-rust-graalvm - An example of Clojure program calling a Rust library, all combined into one executable using GraalVM.
babashka - Native, fast starting Clojure interpreter for scripting
awka - Revive awka - Awk to C Compiler
pawk - PAWK - A Python line processor (like AWK)
rust_cmd_lib - Common rust command-line macros and utilities, to write shell-script like tasks in a clean, natural and rusty way
awk - One true awk
tui-rs - Build terminal user interfaces and dashboards using Rust
awk-ward.nvim
scripts - Useful scripts that I find handy to work with
bwk - Kernighan's Awk a.k.a. "One True Awk"
PowerShell - PowerShell for every system!
run_lib - A bash script to help you organise and allow discovery of your project's scripts.