Introducing the Coral Programming Language: A Fast Gradually Typed Python-Like Language with Type Checking

January 10, 2019
Python is a wonderful language to use, but it has a few major faults. It's slow, and it will allow you to run almost any syntactically valid program, even if you just passed a string to that gcd function. This year, we've written the Coral Programming Language, a gradually typed Python variant that takes the optional type annotations introduced in Python 3.7 and uses them to perform type inferrence, type-checking, and optimization of Python code. This allows Coral to compile Python to binaries that can be orders of magnitude faster than Python, while catching many type errors at compile-time.
Read More

Packaging in CMake: Modern Techniques for Writing and Distributing C++ Libraries in CMake and Vcpkg

July 29, 2018
C++ projects, especially those with dependencies, have always been difficult to build and maintain, and even harder to package and redistribute. Recently, CMake and Vcpkg have brought the process of building libraries in C++ more in line with the Python "pip experience", seamlessly installing and linking dependencies with a single command. In this post, I talk through our process of building and distributing a complex library in CMake, using vcpkg to handle dependencies, and even integrating CUDA and other complex libraries.
Read More