array
json
Our great sponsors
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.
array
-
Benchmarking 20 programming languages on N-queens and matrix multiplication
I should have mentioned somewhere, I disabled threading for OpenBLAS, so it is comparing one thread to one thread. Parallelism would be easy to add, but I tend to want the thread parallelism outside code like this anyways.
As for the inner loop not being well optimized... the disassembly looks like the same basic thing as OpenBLAS. There's disassembly in the comments of that file to show what code it generates, I'd love to know what you think is lacking! The only difference between the one I linked and this is prefetching and outer loop ordering: https://github.com/dsharlet/array/blob/master/examples/linea...
-
A basic introduction to NumPy's einsum
If you are looking for something like this in C++, here's my attempt at implementing it: https://github.com/dsharlet/array#einstein-reductions
It doesn't do any automatic optimization of the loops like some of the projects linked in this thread, but, it provides all the tools needed for humans to express the code in a way that a good compiler can turn it into really good code.
json
-
Using Recursive-Descent-Style Functions to Specify a Full Grammar
An example is the 40 line JSON::Tiny::Grammar of the Raku module JSON::Tiny. Raku grammars are analytical grammars. This one corresponds to the grammar of JSON defined by "RFC7159, which is a superset of ECMA-404, in that it permits any value as a top-level JSON string, not just arrays and objects".
-
What's the position/name of Raku(formerly Perl6)'s `grammar` in parsing technology?
For example, the JSON::Tiny grammar uses no backtracking, has almost entirely declarative rules, but leans on the default Turing complete powered top down recursive descent invocation of those rules to drive its predictive parsing.
-
Try APL
A `rule` is a `token` with `:sigspace` also enabled (whitespace becomes the same as a call to `<.ws>`).
The only one of those that really looks anything like traditional regexes is the `value:sym` token. (Raku replaced non capturing grouping `(?:…)` with `[…]`, and character classes `[eE]` with `<[eE]>`)
This code was copied from https://github.com/moritz/json/blob/master/lib/JSON/Tiny/Gra... but some parts were simplified to be slightly easier to understand. Mainly I removed the Unicode handling capabilities.
It will generate a tree based structure when you use it.
my $json = Q:to/END/;
-
With the metaprogramming features added in ECMAScript 6 and existing JSON faculties is it feasible (or even worth it) to make a Homoiconic JS/TS derivative in the vein of REBOL and family?
For JSON specifically, here's a simple serializer/deserializer (Grammar, Actions).
What are some alternatives?
optimizing-the-memory-layout-of-std-tuple - Optimizing the memory layout of std::tuple
nqp - NQP
NumPy - The fundamental package for scientific computing with Python.
array - Simple array language written in kotlin
cadabra2 - A field-theory motivated approach to computer algebra.
ngn-apl - An APL interpreter written in JavaScript. Runs in a browser or NodeJS.
alphafold2 - To eventually become an unofficial Pytorch implementation / replication of Alphafold2, as details of the architecture get released
APL.jl
Einsum.jl - Einstein summation notation in Julia
aplette - This is a new take on an old language: APL. The goal is to pare APL down to its elegant essence. This version of APL is oriented toward scripting within a Unix-style computing environment.
c-examples - Example C code
ride - Remote IDE for Dyalog APL