passerine
zx
passerine | zx | |
---|---|---|
10 | 114 | |
1,029 | 41,666 | |
0.5% | 2.5% | |
0.0 | 8.5 | |
almost 2 years ago | 7 days ago | |
Rust | JavaScript | |
MIT License | 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.
passerine
- Passerine: A small functional scripting language with macros, powered by Rust
-
The absurd complexity of server-side rendering
It's still a long way from being complete, but I'm working on something like that[0]. Eventual plans are to have good Rust library interop (e.g. bindings to hyper for http) while also being able to compile to Wasm (to run on an erlang-style distributed runtime / the browser). The language is currently interpreted, but one I get typechecking working, I should be able to merge in the Wasm codegen backend I'm working on (with eventual plans for LLVM). Current compiler has zero external dependencies.
Language itself could be described as a mix of OCaml, Scheme, and Lua. Currently working on the hygienic procedural macro system and system injection through algebraic effects.
[0]: https://github.com/vrtbl/passerine
-
I wrote a Cozy Programming language
Passerine was the next language i decided to try to fit onto paka, but alas this one too was eventually put aside for the time being.
-
Scripting Languages of the Future
Tossing my hat in for Passerine [1]. Gorgeous ML inspired syntax. Built for scripting Rust applications.
Dreaming here: Lua is a fantastic scripting language, but the Rust FFI isn’t as ergonomic as it could be. Enter Luster [2], which is basically LuaJIT rewritten in Rust.
Embedding a scripting language in a Rust application gives you tons of power (e.g. scripting Rust structs from Lua [3]), and setting this up isn’t terribly difficult.
[1] https://github.com/vrtbl/passerine
[2]: https://github.com/kyren/luster
[3]: https://git.sr.ht/~ioiojo/kiwi
- GitHub - vrtbl/passerine: A small extensible programming language designed for concise expression with little code.
-
Extensible syntax?
Seed7 and https://github.com/vrtbl/passerine (and seemingly more as others have suggested) have direct / first-class support of syntax declaration/definition in a homoiconic way, as powerful as LISPs, but feels more "natural" compared to a LISP.
-
Achieving nullable ergonomics with a real optional type without special compiler privileges.
It used to work pretty well only if the core PL makes semicolons programmable, but given the development of effect systems, plus customizable syntax as in https://github.com/ThomasMertes/seed7 and https://github.com/vrtbl/passerine , I'd say, there are much more we can do about it.
-
Passerine: An extensible and expressive new programming language
git clone https://github.com/vrtbl/passerine
- Passerine — extensible functional scripting langauge — 0.9.0 Released!
zx
- Zx 8.0
- Google ZX – A tool for writing better scripts
-
Dax – Cross-platform shell for Node.js
TIL about zx! https://github.com/google/zx
This suite of tools feels indispensable. Anything to keep me from having to write/maintain bash scripts that are more than a series of commands.
-
The Bun Shell
Great point! According to https://github.com/oven-sh/bun/blob/b433beb016470b87850f3c01..., Bun Shell took inspiration from zx[0], dax[1] and bnx[2]
[0]: https://github.com/google/zx
[1]: https://github.com/dsherret/dax
[2]: https://github.com/wobsoriano/bnx
- Zx: A tool for writing better scritps
-
My script to install husky, commitlint and lint-staged with zx
If you want test it, you can run this script withzx :
-
YavaScript: Write shell scripts in JavaScript/TS instead of bash
I really love writing with zx. https://github.com/google/zx
We have some folks who have gone wild copy-pasting random fancy bash snippets into various developer helpers scripts. Zx did like 90% of that stuff out of the box, without being a pile of chaotic custom bash.
-
Scripting with Go: A Modest Proposal
I ended up using this for my cli scripting needs. https://github.com/google/zx
- And forget about shell scripting in /bin/sh ... I hate to say it, but, this is the middle of 2021 we have react and svelte we need more /etc/shells, we need modern languages all over, we can't do this anymore
-
Bash. For me it is "read only". It is too arcane, even for me. I use Perl now.
lol no javascript
What are some alternatives?
dapr - Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
shelljs - :shell: Portable Unix shell commands for Node.js
dmd - dmd D Programming Language compiler
execa - Process execution for humans
xvm - Ecstasy and XVM
Commander.js - node.js command-line interfaces made easy
langs-in-rust - A list of programming languages implemented in Rust, for inspiration.
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
seed7 - Source code of Seed7
oclif - CLI for generating, building, and releasing oclif CLIs. Built by Salesforce.
deno - A modern runtime for JavaScript and TypeScript.