Hi.

In depth Look at Generics Implementation in Type-C

2024-03-20

Given the new development of Type-C, I have decided to share my experience with implementing generics in my language. Lovely feature but damn hard to nail! This article will cover the current implementation of generics in Type-C and some of the challenges related to it.

Type-C
Generics

Closures Implementation in Type-V

2024-03-18

Given the recent progress in the Type-V project, I have been working on implementing closures in Type-V, in a way that is non-intruisive to the current bytecode and least possible overhead. This article will cover the current implementation of closures in Type-V.

Type-C
Type-V
Bytecode

Type-C: Type System

2023-12-24

The name Type-C, actually comes from two things. The first is the fact that it is a statically typed language and rich in terms of data types, the second is C, the language that inspired it. In this post, I will be talking about the various data types that type-c supports. Some interesting types are intentionally left out, such as `variant`, `string`, `array` and `process`. These will be addressed in a separate post. Hence in this post we focus on: Basic Types, Enums, Structs, Interfaces, Classes, Joins, Nullables and Functions. We finalize by looking into the strict type modifier.

Type-C
Type-V

Type-C Dev Post 1

2023-12-22

In a new series of blog post, I highlight the current status of type-c and the type-v VM. Since I am posting on an infrequent basis, expect the order of these posts to be chaotic.

Type-C
Type-V

Have you heard of Bloom Filters?

2023-12-16

Bloom filter, a fancy name for a a very simple algorithm. We will have a look at bloom filters, how they work, and how to use them. Also, look at an efficient C implementation of bloom filter.

tutorial
algorithms
bloom filter

Introducing Type-C

2023-12-08

A sneak-peek into Type-C, a new programming language I am working on.

Type-C
programming language

Demystifying the math and implementation of Convolutions: Part III.

2019-04-03

In this part, we will discuss how to implement convolutions over 3D matrices, such as RGB images. We will also discuss how to optimize the code using im2col and vectorization.

convolutions
deep learning
AI

Demystifying the math and implementation of Convolutions: Part II.

2019-03-31

Part 2 of the series, we will discuss how to improve the performance of our convolution implementation using vectorization and matrix multiplication.

convolutions
deep learning
AI

The magic behind ndarray

2019-03-29

NDArray; or N-Dimensional Array is the core data structure for most deep learning frameworks. It is a data structure that is able to hold a large amount of data in a single object, and it is highly optimized for matrix operations. In this post, we will discuss the basics of NDArray, how to create them, how to perform basic operations on them and how to use them to perform matrix operations.

ndarrays
numpy

Demystifying the math and implementation of Convolutions: Part I.

2019-03-26

A deep dive into convolutions, how they work and how to implement them in python.

convolutions
deep learning
AI