#Csce 550 Principles Of Programming Languages

Author avatar
Brain DumpDec 12, 2024
Church Numerals

Church numerals are a way of representing natural numbers using lambda calculus. a foundational framework in mathematical logic and computer science. In essence

3 min read·General
Article cover
Author avatar
Brain DumpDec 12, 2024
Reduction Strategies For Lambda Calculus

Redex is a deducible expression. It is a lambda abstraction applied to an argumentReduction replaces a redex with the result of applying the function.Beta Reduc

3 min read·General
Article cover
Author avatar
Brain DumpDec 12, 2024
Lambda Calculus | Alpha renaming | Exercise 1

A formal system used to study functions, variables & how they interact through application & abstraction. It's a foundational mathematical framework tha

8 min read·General
Article cover
Author avatar
Prashant BasnetDec 12, 2024
Type Environment | Exercise 4

A type environment (T) maps variables names to theirs types. For example:+ is mapped to the type , Int -> Int -> Int y is mapped to the type Int Lambda E

4 min read·General
Article cover
Author avatar
Prashant BasnetDec 12, 2024
SubTyping | Exercise 7

In type theory, sub typing denoted by (<:) is a relation that describes when one type can be used in place of another type. It's more like flexible version o

2 min read·General
Article cover
Author avatar
Prashant BasnetDec 12, 2024
Constraint Solving in the context of programming language | Exercise 5.

Solve each of the following constraints. Let's first understand the tools to solve it:Constraint Solving in type inference involves finding a way to make d

7 min read·General
Article cover
Author avatar
Prashant BasnetDec 12, 2024
Type Environment | Exercise 4 for Final Exam

How to solve it?Let's learn.A type environment (T) maps variables names to theirs types. For example:+ is mapped to the type , Int -> Int -> Int y is map

4 min read·General
Article cover
Author avatar
Prashant BasnetDec 12, 2024
Static Typing | Dynamic Typing | Type Inference

Static TypingDefinition: In statically typed languages, type checking is done at compile time. This means that the types of all variables must be known before t

2 min read·General
Author avatar
Prashant BasnetDec 12, 2024
Soundness & Completeness in Type Theory

To explain the concepts of soundness and completeness, particularly in the context of type checking and type inference, we can use analogies to make them easier

4 min read·General
Article cover
Author avatar
Prashant BasnetDec 12, 2024
Different forms of polymorphism

1. Ad-hoc Polymorphism Function or operator overloading based on different typesint add(int a, int b) {   return a + b; } double add(double a, d

1 min read·General
Author avatar
Prashant BasnetDec 5, 2024
Rust 101 | CSCE-550

What is Rust?Rust is a system programming language that focuses on speed, memory safety, and parallelism. It was developed by Mozilla and has been gaining popul

6 min read·General
Article cover
Author avatar
Anonymous UserDec 5, 2024
Key Findings in A Large-Scale Analysis of Borrow Patterns Used Inside Rust's Open-Source Ecosystem

Findings from the study on borrow patterns within Rust's open-source ecosystem.The purpose of the study:This study aims to analyse how the borrow checker is uti

6 min read·General
Article cover
Author avatar
Prashant BasnetDec 5, 2024
Memory Management Across Languages with Simple Analogies | A Large Scale Analysis of Borrow Pattern in Rust

Let's look at how memory is managed in multiple languages first.Imagine you're renting bikes from a shop:C/C++: Manual Memory ManagementYou have to manually pi

2 min read·General
Article cover
Author avatar
Prashant BasnetNov 13, 2024
Understanding Subtyping in Programming Language Theory: A Step-by-Step Proof

this lecture is from CSCE-550, Nov 12, 2024.The Why?Why understand the lecture on Programming language theory (Subtyping) is important to study ? Today's lectur

7 min read·General
Article cover