# TODO list (epic) - [x] Create a TODO list - [x] Custom Functions (not external) - [x] Add support for function definitions in the type checker - [x] Add support for function definitions in the LLVM emitter - [ ] Structures - [x] Add support for definitions in the type checker - [x] Add support for definitions in the LLVM emitter - [x] Add support for member accesses in the type checker - [x] Add support for member accesses in the LLVM emitter - [x] Add support for packed in the parser - [x] Add support for packed in the LLVM emitter - [ ] Add support for nested member accesses - [ ] Unions - [ ] Add support for unions in the type checker - [ ] Add support for unions in the LLVM emitter - [ ] Add support for member accesses in the type checker - [ ] Add support for member accesses in the LLVM emitter - [ ] Enums - [ ] Add support for enums in the type checker - [ ] Add support for enums in the LLVM emitter - [ ] Add support for member accesses in the type checker - [ ] Add support for member accesses in the LLVM emitter - [ ] Modules - [ ] Add support for modules in the type checker - [ ] Modify functions, structures, unions and enums to have names mangling - [ ] Add support for modules in the LLVM emitter - [ ] Modify functions, structures, unions and enums to have names mangling - [ ] Typed Unions - [ ] Add support for unions in the parser - [ ] Add support for unions in the type checker - [ ] Add support for unions in the LLVM emitter - [ ] Add support for member accesses in the type checker - [ ] Add support for member accesses in the LLVM emitter - [ ] Create a self-sustained compiler - [ ] Add a glue code to the compiler to compile itself (basically interface to libc) - [ ] Create an assembler for x86_64 - [ ] Create a custom backend