---
# System prepended metadata

title: 'EPF: Cohort 4 - Week 7'
tags: [Compilers, Week7, EOFv1, Ethereum Protocol Fellowship, ETK, EPF, Ethereum]

---

During the seventh week, I continued to focus mainly on the implementation of the various EIPs that make up the EOF specification.

After finishing the implementation of [EIP-4200](https://eips.ethereum.org/EIPS/eip-4200), I continued implementing **[EIP-6206](https://eips.ethereum.org/EIPS/eip-6206): EOF - JUMPF instruction** and **[EIP-663](https://eips.ethereum.org/EIPS/eip-663): Unlimited SWAP and DUP instructions**. Both EIPs were implemented without complications.

The next step was to implement the **[EIP-4750](https://eips.ethereum.org/EIPS/eip-4750): EOF - Functions**. However, as I started digging into the ETK codebase, I discovered that features like the ability to rename and deprecate opcodes were not easy to implement and a refactoring of the code was going to be necessary. Since then, I have been in contact with Lightclient and Sam Wilson and we have been discussing possible ways to address this situation. 
*A glimpse from the future, since I am writing this after the week is over: Both parties came to the conclusion that the ideal in this case would be to rewrite and simplify the assembler, so my project to implement the EOF specification will be temporarily paused, but now the project aligns even better with my initial idea of working on the implementation of a compiler from scratch.*

In other aspects, my PR on the MEMCOPY opcode implementation in Huff has been merged. Link to the merged PR [here](https://github.com/huff-language/huff-rs/pull/289).

____________________________________

For next week I would like to:
- Finally present my project proposal regarding the implementation of EOF in ETK at the meeting on September 5th.
- Plan the necessary changes for the simplification of the assembler and start with the implementation of these changes.

_______________________________

### Relevant links:
- EIP-4200: EOF - Static relative jumps, PR [here](https://github.com/quilt/etk/pull/128)
- EIP-4750: EOF - Functions, draft PR [here](https://github.com/quilt/etk/pull/131)
- EIP-6206: EOF - JUMPF instruction, PR [here](https://github.com/quilt/etk/pull/130)
- EIP-663: Unlimited SWAP and DUP instructions, PR [here](https://github.com/quilt/etk/pull/129)