I build systems software in C and Rust.

I’m Francesco, a computer science student in Cesena, Italy. My work sits close to the operating system and hardware, across shell tools, language tooling, and emulation.

Current work includes fshell, a Unix shell with typed pipelines; my fork of Shadlix, itself a Bloodborne-focused shadPS4 fork; and flanger, a small language frontend.

Projects

fshell

Rust / Unix shell

A Unix shell with familiar sh syntax and typed pipelines. Native commands pass structured records instead of text, so you can filter, sort, and map fields without parsing output columns. Ordinary shell syntax remains available for external commands.

ps | filter cpu > 50.0 | map pid command
Filter process records by CPU use, then select the PID and command fields.

shadPS4 / Shadlix

C++ / JIT / AArch64

My fork of Shadlix (itself a Bloodborne-focused shadPS4 fork) adds work on the native AArch64 backend: lifting x86-64 blocks and emitting AArch64 code, plus guest memory, fault handling, and calls across the guest and host ABI. Recent changes cover LOCK-prefixed atomic updates, scalar float conversion, and shift semantics.

  1. x86-64Guest instructions
  2. IRLifted block
  3. AArch64Emitted host code
The instruction translation path. Guest memory and runtime calls also need to cross the architecture boundary.

flanger

Rust / Experimental language

A small language frontend I am building to learn compilers properly. It has a lexer, parser, syntax tree, and spans for diagnostics. So far it parses functions, return statements, integer arithmetic, and basic integer types. Code generation is not started yet.

Contact

You can find me on GitHub as FraSharp. For project questions, open an issue in the relevant repository.