Skip to content

Latest commit

 

History

History
60 lines (50 loc) · 2.12 KB

README.md

File metadata and controls

60 lines (50 loc) · 2.12 KB

J: From C to C++20

Build Status contributions welcome GitHub followers GitHub stars Twitter

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.

Goals

  • 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 Travis-CI
  • Set up CodeCov
  • 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

Non-Codebase Goals

  • Learn to not use mouse

Comparison of Languages

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

Getting started & Building:

For building this repository, please see CONTRIBUTING.md.

image