GRACL (GRAph Concurrency Language), a language aiming to improve the efficiency of common graph algorithms while allowing programmers to initialize and modify graphs easily with built-in data structures specific to our language.
The syntax is inspired by some of the past projects focused on graphs (such as GRAIL from Spring 2017) with elements from Java, Python, and C. We plan to make the following features available to the programmer: graphs, nodes, edges, integer and double hash tables, edge lists, and node lists. GRACL focuses on directed graphs but the user is able to create undirected graphs by calling directed edges twice.
Thanks to MicroC for the structure of the compiler.
Final report: http://www.cs.columbia.edu/~sedwards/classes/2021/4115-spring/reports/GRACL.pdf