tokay
marcel
tokay | marcel | |
---|---|---|
4 | 13 | |
230 | 332 | |
0.4% | - | |
8.7 | 9.3 | |
about 1 month ago | 17 days ago | |
Rust | Python | |
MIT 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.
tokay
-
The Awk Programming Language, Second Edition
[0]: https://github.com/tokay-lang/tokay
- GitHub - tokay-lang/tokay: Tokay is a programming language designed for ad-hoc parsing, inspired by awk.
-
Hacker News top posts: May 13, 2022
Tokay Programming Language\ (21 comments)
-
Tokay Programming Language
I am very interested in this project as a "better awk" is something I have often fantasized about.
I read all of the documentation that's available on https://tokay.dev/tokay-docs/, but unfortunately it never really... describes itself? Many sections, including the section on "parselets" are just unwritten. "Consumable" values are mentioned but never described (there is a "stub" section that doesn't really explain what the term means).
It begins with a pretty detailed description of value "severity" but doesn't really motivate why the concept exists. (I think that it's (basically) a way to very concisely discard certain matches? When there are "more important" matches around them?)
There are no examples of how I could use Tokay to "parse" something -- there are lots of examples dotted through the docs, but none of them demonstrate working with structured file formats, and they feel a little bit contrived.
I'm not complaining here: this project is not making any false claims about its status, the docs are clearly and explicitly unfinished, it is very clear that Tokay is still under active development.
But I want to learn more about it! I came away from that with a sense that, this has the potential to be really useful to me, but without any concrete evidence to support that. I guess the next step is to download the source and start reading through the tests.
All this to say: please highlight some examples showcasing situations where Tokay shines! (Parsing CSVs containing quoted strings was making the rounds recently, right? What does that look like in Tokay?)
Oh, actually, the GitHub readme has an example that is more involved than any in the documentation: https://github.com/tokay-lang/tokay
_ : [ \t]+ # redefine whitespace to just tab and space
marcel
-
Generating graphs from the marcel command line
Marcel is one of the pipe-objects-instead-of-strings shells (https://marceltheshell.org).
Here's a blog post showing how to use marcel to generate graphs directly from the command line.
https://www.marceltheshell.org/post/generating-graphs-from-t...
-
Xonsh: Python-powered, cross-platform, Unix-gazing shell
Check out marcel (https://marceltheshell.org). It's yet another pipe-objects-instead-of-strings shell (like nushell). Unlike nushell, you pipe Python values. Marcel has no sublanguages (like awk, sed, ...). Instead, when logic is needed, you write Python code, delimited by parens. So:
(USER)
-
Marcel the Shell
It is a useful correction. This project predates the release of the movie: https://github.com/geophile/marcel/commit/bb6adacbb6b3a683ce...
-
Object SHell
Check out marcel: https://marceltheshell.org, and https://github.com/geophile/marcel. Both marcel and nushell start with the idea of piping structured data instead of strings, which is incredibly powerful. (This also applies to osh. I am the author of osh and marcel.)
Marcel (and osh) rely on Python types and language where typical shells have sublanguages. So instead of awk or find and their sublanguages, you just use Python. Instead of piping strings, you pipe streams of Python values.
Marcel lets you use Python on the commmand line. It also has an API which allows you to use shell-like commands inside of Python programs.
-
Shshsh is a bridge connects Python and shell
I wrote a shell, marcel, that pipes Python values instead of strings: https://marceltheshell.org.
It also does the inverse, allowing you to run marcel commands from Python, e.g. https://www.marceltheshell.org/scripting-1
-
The Case for Nushell
Check out my entry, marcel: https://marceltheshell.org.
E.g., find the newest vlc instance and kill it (a command that an acquaintance needs frequently, for some reason):
ps | select (p: p.name == 'vlc') | sort (p: p.create_time) | tail 1 | (p: p.signal(9))
- The Awk Programming Language, Second Edition
What are some alternatives?
sparklines - Text-based sparklines for the command line mimicking those of Edward Tuft.
awk-vm - A virtual machine and assembler written in AWK.
butter - A tasty language for building efficient software. WIP
asm - scriptable runtime-writable livecd / hardware wrangler
mech - 🦾 Main repository for the Mech programming language. Start here!
busybox-w32 - WIN32 native port of BusyBox.
react-snippets - A sample of useful snippets in React
iterable-subprocess - Python context manager to communicate with a subprocess using iterables: for when data is too big to fit in memory and has to be streamed
textimg - Command to convert from color text (ANSI or 256) to image.
ioccc-obfuscated-c-contest - IOCCC International Obfuscated C code contest entries
erg - A statically typed language compatible with Python
carbon - :black_heart: Create and share beautiful images of your source code