|5 months ago
|2 months ago
|BSD 3-clause "New" or "Revised" 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.
Gojq: Pure Go Implementation of Jq
8 projects | news.ycombinator.com | 21 Aug 2022
It's very possible it could be faster; jq seems to actually be fairly unoptimized. This implementation in OCaml was featured on HN a while back and it trashes the original jq in performance: https://github.com/davesnx/query-json
After seeing that one I did my own (less-complete) version in Rust and managed to squeeze out even more performance: https://github.com/brundonsmith/jqr
query-json: A story of cross-compilation with Reason
query-json is a faster and simpler re-implementation of jq's language in Reason.
There're probably better ways of achieving it since I made the implementation very unsafe davesnx/query-json/js/Js.re.
You can see more examples in the parsing tests
Implementing Interactive Languages
6 projects | news.ycombinator.com | 25 Aug 2023
Not directly related, but this made me think of something I've been interested in recently - structured editors. Instead of tokenizing text and then parsing to an AST, you effectively edit the AST directly.
Since the thrust of the post seems to be about the sum of compilation + run time, it's a potentially more efficient alternative to traditional code editing. Here's an example of one in action:
Project Mage is an effort to build a power-user environment in Common Lisp
3 projects | news.ycombinator.com | 17 Jan 2023
The eco article is quite interesting, it's a cool proof-of-concept. I don't know exactly how it compares, but there's also tylr, with an online demo you can check out .
> The example of splitting "Hello world" into a list of words is a pretty bad example;
I just wanted to set up some very quick easy-to grasp context with it for the discussion that follows. You are right, of course, the normal editors don't have much trouble with that level of detail. Maybe I will come up with something better later on, though not too complex...
> I'm currently working on knowledge management, which I think you have to split in different subfields;
My view on this is that you can't generally predict that, but what you can do instead is let the user compose the structure and features of custom documents, thus creating custom workflows suitable for the task at hand, whatever it may be. I will be generally taking that approach with Kraken.
> literate programming
I think computational notebooks take the core idea and make it practical, and I think it's fair to say those are literate programs, albeit without the web-tangle aspect.
> Again, good luck etc.
Hey, thanks for the feedback!
What are some alternatives?
yojson - Low-level JSON parsing and pretty-printing library for OCaml
ocaml_webapp - A minimal example of a lightweight webapp in OCaml
fullstack-reason - A demo project that shows a fullstack ReasonML/OCaml app–native binary + webapp
pq - Like jq, but with Python
logseq - A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base. Use it to organize your todo list, to write your journals, or to record your unique life.
oni2 - Native, lightweight modal code editor
styled-ppx - Type-safe styled components for ReScript and Melange with type-safe CSS
crystal - The Crystal Programming Language
jsoo-react - js_of_ocaml bindings for ReactJS. Based on ReasonReact.
hashmap - A Golang lock-free thread-safe HashMap optimized for fastest read access.
org-roam-ui - A graphical frontend for exploring your org-roam Zettelkasten