Skip to content
@ihusharp

HuSharp's toy projects

Hi there, I'm husharp👋

This organization contains the collection of my toy projects during learning. Some of them might be helpful.

Some highlights

And I use different languages for writing code, especially Go & Rust.

Some Go Impl

  • Tiny Interpreter Inspired by Writing an interpreter in go: building a inteepreter which named Monkey. It has a C-like syntax, supports variable bindings, prefix and infix operators, has first-class and higher-order functions, can handle closures with ease and has integers, booleans, arrays and hashes built-in.

  • Tiny Compiler Inspired by Writing a compiler in go: It's the next step in Monkey's evolution. We’re going to turn our tree-walking and on-the-fly-evaluating interpreter into a bytecode compiler and a virtual machine that executes the bytecode. And test for interpreter with compiler for the fibonacci.

    $ ./fibonacci -engine=eval
    engine=eval, result=9227465, duration=11.327551667s
    
    $ ./fibonacci -engine=vm
    engine=vm, result=9227465, duration=3.907876125s

Some Rust Impl

  • LSM in a Week: This very in-depth tutorial covers all the essential implementation details and design choices of modern storage systems (i.e., RocksDB) based on the author's experience in several LSM-like storage systems, and you will be able to directly apply what you have learned in both industry and academia. personal impl
  • Writing an OS in Rust: This blog series creates a small operating system in Rust. Each post is a small tutorial and includes all needed code, so you can follow along if you like. personal impl
  • Tokio: This tutorial will take you step by step through the process of building a Redis client and server. We will start with the basics of asynchronous programming with Rust and build up from there. We will implement a subset of Redis commands but will get a comprehensive tour of Tokio. personal impl
  • Hecto: This is a series of blog posts that shows you how to build a text editor in Rust. These blog posts guide you through all the steps to build a basic text editor, hecto. personal impl
  • Lists: This is a series of how to implement a linked list in Rust. The answer honestly depends on what your requirements are, and it's obviously not super easy to answer the question on the spot. As such the author has decided to write this book to comprehensively answer the question once and for all. personal impl

Popular repositories Loading

  1. hust_MIPS_CPU_Design hust_MIPS_CPU_Design Public

    MIPS_CPU_Design by hustMooc

    Assembly 9 1

  2. HuSharp_OS HuSharp_OS Public

    HuSharp's little os

    C 7

  3. uCoreOS_labs uCoreOS_labs Public

    Tsinghua uCoreOS's codes&resources

    C 4

  4. Unix-Linux_Programming Unix-Linux_Programming Public

    code implement by reading understanding-unix-programming

    C 2

  5. Rust-practice Rust-practice Public

    Some Rust small wheels, based on https://github.com/pingcap/talent-plan

    Rust 2

  6. Go-practice Go-practice Public

    Some Go small wheels

    Go

Repositories

Showing 9 of 9 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…