Skip to content

Wouldn't it be nice to code in Singlish? Our project consists of a gamified development environment (SGStudioCode) for users to run, evaluate, and test singaScript, our custom-built Singlish programming language.

Notifications You must be signed in to change notification settings

Guo-KeCheng/singaScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

singaScript by SGStudioCode

Landing Page


Pass Testcase


Fail Testcase


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" - @sikai00 #bueypaiseh
  • Lack of proficiency in tech stack resulted in small hiccups along the way
  • Working on sleep deprivation was an added challenge
  • Had issues with managing state using React Hooks

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
Credits to Singapore Tourism Board for the Merli Mascot

About

Wouldn't it be nice to code in Singlish? Our project consists of a gamified development environment (SGStudioCode) for users to run, evaluate, and test singaScript, our custom-built Singlish programming language.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published