8/2022 – Present


Bismuth is designed to be a user-friendly general-purpose programming language for distributed, concurrent, and mobile systems.


Between the growing trends in hyperscale computing, machine learning, IoT devices and more, programmers increasingly need to write distributed and/or concurrent programs; however, this is often a challenging task as programming languages are traditionally designed around the notion of sequential execution of a program located on a single device—thus, programs in these languages may behave unpredictably when distributed or made to run concurrently. Not only does this mean that such languages are unable to provide compile-time guarantee for such applications, programmers are often forced to spend time working on tedious tasks (such as data parsing and serialization) which can easily introduce bugs into the code. To address these limitations, I created Bismuth: a programming language designed for distributed, concurrent, and mobile systems. While Bismuth is still a new language (with many features still in development/yet to be added), it already has many of the basic features one would expect from a programming language including algebraic data types, pointers, type inferencing, basic garbage collection, automatically being able to deep copy any non-linear value, and more. In addition, Bismuth provides type saftey and deadlock freedom. More information about Bismuth can be found at the links below: