singaScript by SGStudioCode

image

The singaScript project consists of a development environment (SGStudioCode) for users to run, evaluate, and test singaScript, a custom-built programming language. SingaScript is a low-level programming language built on top of Python and it uses almost exclusively Singaporean slangs as keywords, making it a unique and fun way to program.

The singaScript development environment is perfect for those who are interested in learning a new programming language, and especially those who are interested in Singaporean culture and language. It is a great tool for educators, students, and hobbyists who want to learn programming in a fun and engaging way.

Why singaScript leh?

  • To bridge the gap between culture and technology: singaScript is designed to make programming more accessible and relatable to Singaporeans and those interested in Singaporean culture.

  • To give a twist to modern programming: singaScript is a low-level programming language built on top of Python and it uses Singaporean slangs as keywords which makes it more interesting and fun to program.

  • To create a sense of belonging: singaScript is also aimed at creating a sense of community among Singaporeans by providing a platform for them to share their knowledge and skills.

Simi is SGStudioCode?

The SGStudioCode development environment includes an interpreter, a virtual Singlish-speaking "tutor" Merli and a set of tools that make it easy for users to practice, run and test their singaScript coding prowess. The interpreter allows users to run singaScript code in real-time, while a custom compiler can convert singaScript code into Python bytecode, making it more efficient to run.

How to code in singaScript ah?

# Welcome to singaScript #

chope 1 table
chope 2 benches

tables not same benches 

chope 5 your_grades
chope 10 my_grades

sekali my_grades better than your_grades then simi("Facts") bobian simi("Lies")

keep on my_grades lousier than 100 then chope my_grades + 1 my_grades
// Welcome to singaScript

const table = 1;
const benches = 2;

(table != benches);

const your_grades = 5;
const my_grades = 10;

if (my_grades > your_grades) {
    console.log("Facts"); 
} else {
    console.log("Lies"); 
}

while (my_grades < 100) {
    my_grades = my_grades + 1; 
}

The syntaxes are as liddat

Keyword singaScript
const chope
if sekali
then then
elif otherwise
else bobian
while keep on
print simi

Better operator? Swee

Operators singaScript
and and
or or
== same
!= not same
> better than
< lousier than
>= better than or same
<= lousier than or same

No more liao

Jialat! Another issue?

  • The code responsible for a low-level language is extremely complex and requires a deep understanding of the grammar rules, underlying systems and architecture. Decrypting the code is time-consuming and much harder than expected.
  • Gained a better understanding of asynchronous programming. "I am now async god" - @sikai #bueypaiseh

What We Learned

This is the first time we delve into the realm of language development. Through this project, we have developed a newfound appreciation for the knowledge and dedication of language developers to their craft. Embarking on this project within 24 hours is admittedly ambitious but it allowed us to pick up new skill sets while forcing us to think creatively and critically to find solutions to problems encountered.

Let's improve singaScript, Onz?

The singaScript project is open-source. We hope that the community can contribute to the development of the language by adding more features and improving its performance of the language. Submit a pull request and we will get back to it eventually. Sumpah ;)

Accomplishment siol

We are happy with the final product.

Credits/Reference

Singlang v2: Now Uncle also can code
py-myopl-code

Built With

Share this project:

Updates