Swiftpack.co -  Package - TristanBurnside/prance
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
TristanBurnside/prance
A language and LLVM based compiler for teaching/learning about Protocol Oriented Programming concepts.
.package(url: "https://github.com/TristanBurnside/prance.git", from: "0.1")

Prance

A language and LLVM based compiler for teaching/learning about Protocol Oriented Programming concepts.

Prance code uses an Object-oriented style without type inheritence. This is intended to prompt users into finding non heirarchical solutions to problems.

v0.1

Support for:

  • if-else
  • c-like for statements
  • while loops
  • primitive double, float, int and string types
  • stand alone functions
  • reference types
    • properties
    • methods
    • protocol conformance
  • protocols
    • functions
  • arithmetic operators
  • logical comparators

Learn more

To learn more about the language please read the language guide.

Getting started

get llvm brew install llvm@11

clone this repo

run swift build

run swift package generate-xcodeproj

open prance.xcodeproj

run swift ./DerivedData/prance/SourcePackages/checkouts/LLVMSwift/utils/make-pkgconfig.swift

build in XCode

compiled Prance binary should reside in ./DerivedData/Prance/Build/Products/Debug/Prance

compile the demo code at samples/demo.prance by calling ./Prance demo.prance

run the demo code ./demo

GitHub

link
Stars: 1
Last commit: 3 weeks ago

Dependencies

Release Notes

0.1
6 weeks ago

Initial implementation

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco