BETA RELEASE OF SOUS IN PROGRESS — MADE WITH YOU IN MIND

Coby Schumitzky

Principal Developer

Senior at Loyola Marymount University majoring in Computer Science. Interested in Algorithm Engineering and ML/AI. Enjoys cooking, competing, and learning.

Milla Penelope Markovic

Project Lead, Supporting Developer

Senior at Loyola Marymount University majoring in Computer Science. Interested in Cyber Security. Enjoys running and spending time with family.

Clifford Phillips

Supporting Developer

Junior at Loyola Marymount University majoring in Computer Science with focus on game development and AI. Enjoys cooking and making games.

Christina Choi

Supporting Developer

Senior at Loyola Marymount University majoring in Computer Science. Partial to iOS Development. Beach goer. Pickle hater.

Restaurant-Themed

Inspired by a love of cooking and food. Thematically aligned to infuse retaurant aspects into every paradigm and programmatic notion.

Intuitive

Blends features such as strong and static typing, garbage collection, type inference, optionals, and Pyth-style loops.

For Everyone

Easy to learn and use. For those who savor the art of code as much as the art of cooking. Made for people who love to program.

About Sous

One of the most interesting facts about Sous is the fact that it is the work of just four undergraduate Computer Science students. One of the final projects for CS Majors at Loyola Marymount University is the creation of their very own language. Sitting in class, our group brainstormed ideas. A Candygrammer? A Golfing language? After much discussion about various concepts and themes, we came to the realization that each member of our group enjoys cooking. Finally, we settled on a themed language combining some of our favorite features from other languages. We began our work on Sous, an intuitive cooking-themed language meant for everyone.

Example Programs

Try-Catch-Finally Block

// Prep, Rescue, Cleanup is Sous's version of Try-Catch-Finally Blocks
prep {
    ingredient _x := 0;
    serve("Started");
    eightysix("Error Entered", Exception);
} rescue (Exception e) {
    serve(e);
} rescue (ValueError v) {
    serve(v);
} cleanup {
    serve("Finished");
}