Skip to content
vic

pgoodman/XY

XY Programming Language

pgoodman/XY.json
{
"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 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).

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.

git clone git@github.com:pgoodman/XY.git
cd XY
make install
make CXX="g++ -Dconstexpr=const -Dnullptr=0" CC="gcc"
make install
make CXX="clang++ -Dconstexpr=const -Dnullptr=0" CC="clang"
make install
make CXX="icpc -Dconstexpr=const -Dnullptr=0" CC="icc"

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!