Our great sponsors
json | APL.jl | |
---|---|---|
4 | 3 | |
76 | 62 | |
- | - | |
0.0 | 0.0 | |
7 months ago | about 2 years ago | |
Perl 6 | Julia | |
- | GNU General Public License v3.0 or later |
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.
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).
APL.jl
-
The counter-intuitive rise of Python in scientific computing (2020)
2. ipython repl
1. pairs with jaimebuelta's artistic vs engineering dichotomy, but also plays into the scientist wearing many more hats than just programmer. Code can be two or more degrees removed from the published paper -- code isn't the passion. There isn't reason, time, or motivation to think deeply about syntax.
2. For a lot of academic work, the programming language is primarily an interface to an advanced plotting calculator. Or at least that's how I think about the popularity of SPSS and Stata. Ipython and then jupyter made this easy for python.
For what it's worth, the lab I work for is mostly using shell, R, matlab, and tiny bit of python. For numerical analysis, I like R the best. It has a leg up on the interactive interface and feels more flexible than the other two. R also has better stats libraries. But when we need to interact with external services or file formats, python is the place to look (why PyPI beat out CPAN is similar question).
Total aside: Perl's built in regexp syntax is amazing and a thing I reach for often, but regular expressions as a DSL are supported almost everywhere (like using languages other than shell to launch programs and pipes -- totally find but misses all the ergonomics of using the right tool for the job). It'd love to explore APL as an analogous numerical DSL across scripting languages. APL.jl [0] and, less practically april[1], are exciting.
[0] https://github.com/shashi/APL.jl
-
Symbolic Programming
APL.jl might be of interest to you.
- Try APL
What are some alternatives?
array - Simple array language written in kotlin
ngn-apl - An APL interpreter written in JavaScript. Runs in a browser or NodeJS.