pgoodman/XY
{ "createdAt": "2011-06-15T19:20:43Z", "defaultBranch": "master", "description": "XY Programming Language", "fullName": "pgoodman/XY", "homepage": "http://www.xy-lang.org", "language": "C++", "name": "XY", "pushedAt": "2013-09-26T19:27:20Z", "stargazersCount": 4, "topics": [], "updatedAt": "2022-12-07T18:39:41Z", "url": "https://github.com/pgoodman/XY"}Note: XY is incomplete, bug-ridden, and unmaintained!!
XY Programming Language
Section titled “XY Programming Language”XY is an experimental programming language. This repository is a C++11 implementation of an XY compiler. The code is not particularly pretty, but it gets the job done.
The syntax of XY is a mix between JavaScript, C, C++, Haskell, and Python.
Types in XY are structurally defined. I intend to have both inductive and co-inductive data types. The XY compiler will check the well-typedness of programs statically (i.e. at compile time).
Requirements
Section titled “Requirements”A relatively recent version of the GCC, Clang, or the Intel® C++ XE Studio. The compiler is implemented using some features of C99 and C++11, e.g. variadic templates, variadic macros, r-value references, etc.
Downloading the Coding
Section titled “Downloading the Coding”git clone git@github.com:pgoodman/XY.gitcd XYCompiling with GNU Toolchain
Section titled “Compiling with GNU Toolchain”make installmake CXX="g++ -Dconstexpr=const -Dnullptr=0" CC="gcc"Compiling with LLVM Toolchain
Section titled “Compiling with LLVM Toolchain”make installmake CXX="clang++ -Dconstexpr=const -Dnullptr=0" CC="clang"Compiling with the Intel® C++ Studio
Section titled “Compiling with the Intel® C++ Studio”make installmake CXX="icpc -Dconstexpr=const -Dnullptr=0" CC="icc"Reporting Bugs / Compiler Errors
Section titled “Reporting Bugs / Compiler Errors”I usually compile the XY compiler on my computer and on a Linux box. This leaves much to be desired in terms of portability. If you run into a compiler error a runtime error, then please post them here or email them to i@petergoodman.me. Thank you!