Skip to content

Latest commit

 

History

History
81 lines (57 loc) · 1.54 KB

README.md

File metadata and controls

81 lines (57 loc) · 1.54 KB

Ploy is a (work-in-progress) lisp-like language for my own fun and learning.

Building Ploy requires the following:

Example

#!/usr/bin/env ploy

(print "Hello, world!")

Using

Build

Release

sudo dnf install -y cmake gc-devel ninja-build pkgconf readline-devel
cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON
ninja -C build

Debug

-DCMAKE_BUILD_TYPE:STRING="Debug" requires ASan/UBSan. If you want to avoid these dependencies use -DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo" instead.

sudo dnf install -y clang-tools-extra libasan libubsan
cmake -B build -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON
ninja -C build

Lint

clang-format

ninja -C build clang-format

clang-tidy

ninja -C build clang-tidy

Test

ninja -C build
ninja -C build test

Run

$ ./build/ploy -h
usage: ploy [-h] [-v] [-e EXPR] [-f FILE]

  -h         Show help output
  -v         Show version
  -e EXPR    Evaluate an expression
  -f FILE    Evaluate contents of a FILE

Special Thanks