Stony Brook University’s Computer Science Department is making waves with the programming language XSB.
XSB is a dialect of Prolog, the computer language program that was originally developed for “artificial intelligence applications,” according to Dictionary.com.
Stony Brook professor emeritus David Scott Warren started the development of XSB in the early 90s. As a result, Stony Brook continues to develop the program and is one of the few universities in the United States to teach Prolog.
“As a programming language, Prolog is not very popular – primarily out of ignorance but also due to the limitations of the language,” Michael Kifer, a Stony Brook computer science professor and researcher who continues to improve Prolog, said in an email.
But the flaws with the program have opened a door for research opportunities at Stony Brook. Professors, researchers and students are fixing the problems, specifically with the computational issues, through the form of XSB.
Computer science professor Paul Fodor said that the logic-programming group at Stony Brook developed XSB to fix Prolog’s issues through a tabled resolution.
“Tabled Resolution [is] a technique that stores the results of predicated calls and returns the cached result when the same call occurs,” Fodor said in an email. “This technique proved highly efficient to solve the non-termination and efficiency problems of the Prolog language.”
For example, according to computer science graduate student Hendrik de Kock, “the best way to explain prolog is that is programming via a series of rules provided by the program (I.e a building is on Long Island implies the building is in New York).”
While many described Prolog as flawed, it found success in various applications, like the IBM Watson Grand Challenge project that played on “Jeopardy!,” the software for the Buran spacecraft, the Clementine data mining application, the Nokia N900 UI state management, project analysis, security applications and more.
In addition to being used in top applications, professors said they feel that Prolog is a great learning opportunity for their students.
Fodor said that Prolog “builds skills in cognitive learning with explanations for conclusions derived out of inference rules, promotes learning through inquiry, and cultivates problem-solving and decision-making student abilities.”
Students said they agree with Fodor about the advantages of learning Prolog.
“Prolog is hard to learn but I enjoyed it after some struggle,” de Kock said. “I have a very positive opinion of the program. It teaches an incredibly broad range of skills.”