Home

Awesome

Pyramid Scheme

Pyramid is a dialect of the Scheme programming language targeting the Ethereum Virtual Machine(EVM).

Here is an example of a Pyramid program:

(begin
  (define (factorial n)
    (if (= n 1)
        1
        (* (factorial (- n 1)) n)))
  (factorial 5))

Getting Started

Pyramid Scheme is under heavy construction. Join our public Discord channel if you'd like to contribute or use Pyramid to develop Ethereum contracts.

After installing the prerequisites(listed below),

$ ./pyramid -t tests/0001-factorial.pmd 
(Test Passed:  return 120 120 ((s . 14066) (g . 47052) (z . 3591)))

To deploy that program on a test network:

You can see advanced command line options using pyramid --help.

Prerequisites

Editor

I recommend Emacs with racket-mode. You should add Pyramid's .pmd extension to the list of racket-mode file extensions:

(add-to-list 'auto-mode-alist '("\\.pmd\\'" . racket-mode))

License

This project is licensed under the GNU AGPL 3.0 - see the LICENSE.md file for details

Built With

Authors