Mark Thom

Engine Software Developer at Fortinet

Vancouver, British Columbia, Canada
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
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.
code11 years of coding experience
job2 years of employment as a software developer
bookMaster of Science Mathematics, Master of Science Mathematics at The University of British Columbia
bookDoctor 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
languagesEnglish
stackoverflow-logo

Stackoverflow

Stats
53reputation
236reached
0answers
1question
github-logo-circle

Github Skills (10)

prolog10
logic-programming10
system-design9
programming-language8
data-structures8
data-structure8
memory-management7
gadt6
singleton6
haskell6

Programming languages (10)

JavaLeanC++RustCRacketCommon LispShen

Github contributions (5)

github-logo-circle
mthom/scryer-prolog

Oct 2016 - Jan 2023

A modern Prolog implementation written mostly in Rust.
Role in this project:
userBack-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.
prolog-interpreterdataloglogic-programmingprolog-implementationrust
mthom/shentong

Dec 2014 - Apr 2018

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.
Request Free Trial
Mark Thom - Engine Software Developer at Fortinet