J is an array programming language created by Ken Iverson and Roger Hui (see image below).
This is a fork of jsoftware/jsource
and we will be porting it to C++20.
- Reduce complexity of build options
- Compile with GCC 10+
- Compile with Clang 11+
- Remove all (most) of the macros
- Clang-format the code base
- Clang-tidy the code base
- Set up CI (Buildkite)
- Set up Code Coverage
- Set up badges
- Get both build / tests running in parallel
- Parallel build (for free off of zhihaoy branch)
- Parallel tests
- Monitor compile & run time perf while refactoring
- Learn to not use mouse
Calculating the first 10 odd numbers:
Python:
[1 + 2 * i for i in range(10)]
Haskell:
map (1+) $ map (2*) [0..9]
map ((+1) . (*2)) [0..9] -- alternative thanks to Alexandru Dinu
R:
-1+2*seq(10) # thanks to Roi Barkan
APL:
1+2×⍳10
J:
1+2*i.10
C++:
// https://godbolt.org/z/5r7aEo
iota(0, 10) | transform([](auto e) { return e * 2 + 1; })
For building this repository, please see CONTRIBUTING.md
.