Git Product home page Git Product logo

gq's People

Contributors

mpl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

gq's Issues

JS functions instead of Go?

just read the headline from https://changelog.com/news/Q5Yy/visit and having a first look, not knowing the details yet,

even though I am personally fluent on both Go and JavaScript, but I still think the JS version's filter map is more natural than Go's, and by supporting JavaScript's native function interfaces, you can reach a far more number of developers (JS is more than Go anway),
the type flexibility would be more useful and important in such a jq-like tool? but static typing? no need in a CLI tool

$ echo '["list", "of", "mostly", "uninterseting", null, "good/strings", "good/welp"]' | gq 'j.filter(n => n?.includes("good/"))'
  // look at a bad value `null` in the input, and JS's `?.` can handle it wonderfully
[
  "good/strings",
  "good/welp"
]
$ echo '[1, 2, 3, 4.5]' | gq 'j.map((n, i) => (n + i + 25))' 
    // what's the point using `50/2` in your example?  and JS's version you got the index naturally, useful in many cases,
[
  26,
  28,
  30,
  32.5
]

underlying I would not care in which language you implement this, and I believe you can find another JS interpreter in Go, would be better than yaegi in go,
by implementing in Go, I believe it could be faster than currently node -e ... every time if I can't figure out in jq, then I would pipe to node -p '...' or deno eval -p '...' would like to see such a tool implemented in Go and would have better performance than node or deno on command line

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.