Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions ideas-internal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
layout: page
title: Project Ideas
permalink: /ideas-internal/
---

## Education

**CS pedagogy**
- Nand2Tetris in OCaml/LEAN: Piyush (IITPKD), Patanjali (IITM), Manu (IITGN)
- Dynamic textbook
- Intro to CS for non-CS audience: Aalok Thakkar (Ashoka)
- OCaml notebooks (like Jupyter) that run in the browser

**Lean for elementary mathematics** — Formalise pen-and-paper arithmetic operations (addition, subtraction, multiplication, long division) and basic discrete math proofs in Lean. Goals: (1) teaching material for 1-day beginner workshops on formal verification; (2) potential basis for teaching discrete math at IITM. Collaborators: Pranav Ramesh, [Neeldhara Mishra](https://www.neeldhara.com/) (IIT Gandhinagar).

---

## Systems, Security & Formal Methods

**Cryptographic primitives in OxCaml** — Implement basic cryptographic primitives natively in OxCaml, rather than as C wrappers (cf. [cryptokit](https://github.com/xavierleroy/cryptokit)). Demonstrate the performance and safety benefits of direct OxCaml implementations.

**Lean verification of Bluespec System Verilog hardware** — Use Lean to verify simple hardware designs written in Bluespec System Verilog.

---

## Concurrency & Programming Languages

**Linearizable data structures in presence of data races**

**Memory model 2.0**

**Composable concurrency**

**Linearizability checker for blocking operations**