Dan's Blog

Dan's
Project

Programming Language Theory • System Programming

17 Projects

cbf

cbrainfuckinterpreter

Brainfuck interpreter written in C

controllable-refinement

racketpltmacro

A new language feature

debug-racket

racketdebuggerprototype

A language variant of Racket to help you debug program

dependent type languages

workingracketdependent type

The followings are dependent type languages I try to create.

  • semi macro as type for dependent type theory work, by using local-expand and syntax-property
  • typical try macro as type and learn how to do termination check
  • incr inductive based on introduction/elimination rules
  • inductive try to build inductive language

elz

rustcompiler

A programming language

kubenet

gokubernetesnetworking

Tiny Kubernetes to show how its network work

little scheme

haskellschemeinterpreter

A little scheme for playing SICP

llir/llvm

workingllvmllirgo

Library for interacting with LLVM IR in pure Go. As a contributor, I majorly contribute to

  • 128-bits floating number
  • support of llvm 10.0/11.0
  • support of llvm 12.0(working)
  • document

logic programming

logicracketsolver

Show the idea behind of logic programming(rule-based problem solver) and create one

macro is not magic

racketmacro

Present how macro work. The idea of macro is simple: a function operating AST. By operating AST, we can create new syntax for certain usage.

raytracer

racketgraph

racket raytracer

redux

workinggoredux

redux in Go

racket.tw: reporter

workingracketcompilererror reporting

A util toolbox for compiler error reporting.

rocket

workinggoweb

Light-weight web framework for Go

racket.tw: sauron

workingracketide

racket IDE

racket.tw: simple-typer

racketnanopasscompiler

Demonstrate how to do type checking under nanopass framework.

Post link: https://racket.tw/post/2020-12-18-simple-type-check-with-nanopass.html

write a programming language

languageplt

A tutorials teaching how to create a programming language

©2021 dannypsnl(林子篆)