robbie-vanderzee / p-computation

A repository for investigation of p-computation type unification, circuitry, programming, and compilation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

P-Computation Logo

About   |   Installation   |   Features   |   Wiki   |   Release   |   Contributing   |   License

Contents

About

A C++ based transpiler for the P-computation programming language ({P}); additionally including documentation, specification, and theoretical discussions.

Features

Implemented

Unimplemented

Priority Name Description Challenges
0 P Modules Implement P Modules language to export file structures Requires filesystem management.

Installation License badge

P is currently only available from source via Bazel (v 4.0.0) for multi-platform compilation and scaling. The build is configurable with the following flags:

Required flags:
  • --config=(debug|release)
    • debug builds an unoptimized release with all relevant debugging information.
    • release builds an optimized release with no debugging information.
Optional flags:
  • --config=(asan|msan|ubsan|test) <Santizer> compiles Google Santizers with the static library. This option may overwrite other options on the build. The Santizer can be any of asan, msan, ubsan, or tsan.

P build with Bazel:

  • bazel build '...' --config=(debug|release) --config(asan|msan|ubsan|tsan)

The project will be built to bazel-bin/{compiler, docs, ...}.

You may also test the current implementation for your configuration:

P test build with Bazel:

  • bazel test '...' --config=(debug|release) --config=(asan|msan|ubsan|tsan)

To build specific projects (compiler, docs, etc) specify '...' to target directory { "@pcomputation//compiler", "@pcomputation//docs" }.

Refer to the platform specific instructions if necessary.

License License badge

MIT © Robbie VanDerzee

Built with ❤️ by Robbie VanDerzee

About

A repository for investigation of p-computation type unification, circuitry, programming, and compilation.

License:MIT License


Languages

Language:C++ 70.4%Language:Starlark 29.2%Language:OpenEdge ABL 0.4%