Skip to content
/ ploy Public

A (work-in-progress) lisp-like programming language for my own fun and learning

License

Notifications You must be signed in to change notification settings

jcmdln/ploy

Repository files navigation

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

About

A (work-in-progress) lisp-like programming language for my own fun and learning

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published