Mark Thom is an engine software developer with 11 years of experience bridging research-grade language theory and production systems, currently working at Fortinet. He holds a PhD in Theoretical and Computational Science and has applied his deep background in functional programming, type systems, compiler design, and memory management across roles from postdoctoral research to embedded Android and Lisp engineering. Mark contributes to notable open-source systems work such as core enhancements to Scryer Prolog (a modern Prolog in Rust), demonstrating hands-on skill with logic engines and Rust-based systems. His career shows a pattern of moving complex academic ideas into practical engines and products, including work on garbage collection and system-level clauses. Comfortable across low-level systems and high-level mathematics, he also brings unexpected breadth—game/graphics interest and measure-theoretic probability—that informs elegant algorithmic solutions. Based in Vancouver, Canada, he combines rigorous theory with pragmatic engineering to improve language runtimes and embedded platforms.
11 years of coding experience
2 years of employment as a software developer
Master of Science Mathematics, Master of Science Mathematics at The University of British Columbia
Doctor of Philosophy (Ph.D.) Theoretical and Computational Science (Computer Science), Doctor of Philosophy (Ph.D.) Theoretical and Computational Science (Computer Science) at The University of Lethbridge
A modern Prolog implementation written mostly in Rust.
Role in this project:
Back-end Developer
Contributions:4 releases, 16 reviews, 1971 commits in 6 years 4 months
Contributions summary:Mark's commits primarily involved implementing and modifying various system clauses for Scryer Prolog, a modern Prolog implementation. The changes encompass adding new system clause types, modifying existing ones, and implementing core functionalities like the '$crypto_random_byte' to generate random bytes and handling memory management. The code changes also include modifications to core components related to program execution and system call, indicating a focus on core logic and performance improvements of the Prolog engine.
Contributions:40 commits, 2 PRs, 34 pushes in 3 years 4 months
haskellprogramming-languageshen
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.