Lyndsay LaBarge ’17 and Maya Montgomery ’18 spent this summer working on the design and implementation of CSPy, a variation of the programming language Python. The research is under the supervision of Associate Professor of Computer Science Alistair Campbell.
LaBarge and Montgomery continued the work of previous student researchers with a developed grammar for the language and a parser, language syntactic analysis. The team divided the work, with LaBarge primarily working on semantic analysis and Montgomery working with translation and a run time system for CSPy.
“A lot of code is needed in order to make this language functional, and every detail needs to fit seamlessly into the bigger picture,” Montgomery explained. To be sure they were always on the same page, they updated shared folders regularly.
The team has developed a basic type system for CSPy and a comprehensive type checker whose functionality is currently being tested with small CSPy programs. They have also made great strides in translating CSPy programs to Python, and achieved the goal of seeing the first CSPy programs run.
The project is intended to make the process of learning to code somewhat easier on novice programmers, as declared and typed variables in CSPy will prevent them from making type errors in codes. It is designed for use in introductory computer science courses.
The collaboration has been a great experience for the team. Montgomery said, “As much as I like writing a program myself start to finish, in a job I will almost certainly be working on larger scale projects involving multiple programmers and shared code. Discussing code with Lyndsay helps both of us solve problems!”
LaBarge agreed with Montgomery on the value of this research experience. “I have learned more about programming languages, and how to coordinate my work with other people.”