Skip to main content
Hategekimana Fabrice
IT trainer, Programming language designer
View all authors

Better tests with TypR

· 4 min read
Hategekimana Fabrice
IT trainer, Programming language designer

Test-Driven Development (TDD) is a well-recognized practice for improving code quality. Yet its adoption often remains limited due to the friction it imposes: juggling between code and test files, maintaining synchronization between logic and tests, and managing sometimes complex test architecture.

TypR offers an elegant solution to this problem: inline test blocks.

Solving the OOP's "Chaos" for R

· 5 min read
Hategekimana Fabrice
IT trainer, Programming language designer

Introduction: The Object-Oriented Dilemma in R

For R package and application developers, the Object-Oriented Programming (OOP) landscape is, at best, a minefield. Between S3, which is informal and flexible but lacks validation; S4, which is formal but heavy; and R6, which introduces reference semantics but deviates from R's functional style, choosing an OOP system is often a painful compromise. This fragmentation slows down development, complicates maintenance, and introduces security flaws into the code.

R and TypR

· 6 min read
Hategekimana Fabrice
IT trainer, Programming language designer

When people first hear about TypR, a very common question comes up:

“Is TypR meant to replace R?”

The short answer is no. The more interesting answer is: TypR is designed to live next to R, not instead of it.

TypR is not a new platform, a new runtime, or a new ecosystem that forces you to rewrite everything. It is a typed language that transpiles to R, and integrates directly into the existing R ecosystem.

Vectorization by design

· 8 min read
Hategekimana Fabrice
IT trainer, Programming language designer

Introduction

Vectorization is one of the greatest tools for data manipulation I know and I am happy that R got this system out of the box. It makes computation simple and simplifies translation from formula to code.

Unfortunately I have encountered one limitation: R's vectors are not very compatible with functional programming or object-oriented programming, two paradigms I like when building libraries or applications. This is what TypR's vectorization is improving with the mechanism of lifting-based vectorization.

TypR's new official documentation

· One min read
Hategekimana Fabrice
IT trainer, Programming language designer

After some adventures, the official documentation will soon be open.

Documentation is sometimes hard to maintain because it is an independent entity to the code base. It's even created in a separate github repository.