## Neil Toronto

I am a doctoral student at Brigham Young University in Computer Science, one publication away from graduation. I work under the awesome Jay McCarthy.

I am primarily interested in researching programming language support for mathematical computation. My current target is Bayesian inference, and hopefully will be for quite some time.

I am a member of the PLT research group, and develop the math, plot, and ray-traced icon libraries for the Racket programming language.

### 1` `Research

Applied mathematics is difficult to carry out correctly and efficiently. I research language support that makes correctness and efficiency easier.

Bayesian inference is one task for which, after spending some time implementing it, it becomes obvious that the full power of language abstraction would be ideal. Bayesian theories and questions about them compose in the same way programmatic abstractions do, but programs written to answer these questions do not compose. Worse, the programs that answer questions are very hard for humans to write correctly, let alone optimize and parallelize.

It makes sense to have a compiler build these programs on demand. Thus, we have Infer.net, Church, and many other languages dedicated to the task, with more popping up all the time.

Most such language implementations to date can carry out Bayesian inference efficiently for some useful class of problems. Unfortunately, none are complete enough or correct enough to be trusted in general practice.

Most fail to be correct because they lack a formal semantics.
This makes it impossible to determine whether unintuitive behavior—

Most fail to be complete enough because the informal semantics the language implementors have in mind is based on a sampling method or on an incomplete theory of probability.

For example, almost all implementors—

I am addressing lack of correctness and completeness by designing a probabilistic modeling language with a formal semantics based on measure theory. The language naturally defines if expressions and unbounded recursion, as well as features that most Bayesians do not yet know they need, such as arbitrary nonrectangular constraints. The current implementation is on GitHub.

### 2` `Papers

Vincent St-Amour and Neil Toronto. Experience Report: Applying Random Testing to a Base Type Environment. ICFP 2013. (PDF)

Neil Toronto and Jay McCarthy. Computing in Cantor’s Paradise with λZFC. FLOPS 2012. (PDF) (Code) (Slides)

Neil Toronto and Jay McCarthy. From Bayesian Notation to Pure Racket via Discrete Measure-Theoretic Probability in λZFC. IFL 2011. (PDF) (Slides)

Neil Toronto. Super-resolution via Image Recapture and Bayesian Effect Modeling. Master’s Thesis, 2009. (PDF) (Slides)

Neil Toronto, Bryan Morse, Kevin Seppi and Dan Ventura. Super-Resolution via Recapture and Bayesian Effect Modeling. CVPR 2009. (PDF)

Neil Toronto, Bryan Morse, Dan Ventura and Kevin Seppi. The Hough Transform’s Implicit Bayesian Foundation. ICIP 2007. (PDF)

Neil Toronto and Dan Ventura. Learning Quantum Operators From Quantum State Pairs. WCCI 2006. (PDF)

Neil Toronto and Dan Ventura. Edge Inference for Image Interpolation. IJCNN 2005. (PDF)

### 3` `PLT and Racket

I have entrenched myself as PLT’s math guy by writing the bulk of Racket’s math library. I am responsible for the overall design, bigfloats (a functional wrapper for MPFR), double-double-precision floating-point, additional elementary functions, special functions, probability distributions, statistical functions, and functional arrays.

I am happy to share some responsibility for the math library with Jens Axel Søgaard, who wrote the number theory and linear algebra functions. As yet, with significant scouring, I have found only one error in his thousands of lines of code. I would never have had the time to do these parts so well, if at all.

I also maintain the plot library, which I rewrote to
make it prettier and more extensible, and to give it new features, such as plotting to PDFs.
Between this and the math library, I no longer have to use
R for anything.
Eventually, I hope to obsolete R entirely—

I wrote the ray tracer that renders DrRacket’s icons.

### 4` `Personal

#### 4.1` `Family

I have been married to the fabulous Amy Toronto for 14 years, and will follow her around forever. Or she will follow me around. We lost the distinction some time ago.

We have four children, who keep growing despite my protestations that they’re too young to be as big as they are. I suppose they do it to to spite me, while I’m sleeping.

#### 4.2` `Music

In my spare time, I compose piano music: the kind I would like to have learned as a teenager, which might have kept me interested enough to keep up with lessons.

Name

Music

Recording

Source

An Endless S.O.I.

Over an Emerald Moon

Kitty's Place

Hosanna

Until We Rise Again

Hello, Emma

Orbital Tango in Δv Major

Dorian Tempest

For easier access to the recordings, check out my Soundcloud page.

Teenage boys should also check out Henry Mancini (The Pink Panther, Peter Gunn), Lalo Schifrin (Mission: Impossible), and Vince Guaraldi (Linus and Lucy, and many other fantastic Peanuts pieces). In fact, do yourself a favor and buy The Peanuts Illustrated Songbook: it will continually challenge you, and gain the attention of the right kinds of people at parties.

#### 4.3` `Religion

I am very fortunate and pleased to be a member of the Church of Jesus Christ of Latter-day Saints.

My wife and I currently serve as primary music choristers. We teach children how to sing.

In the past, I have served in the Cub Scouts and Boy Scouts, in local leadership positions, and as a pianist and choir director.

### 5` `Contact

Contact me at neil.toronto at gmail dot com, or ntoronto at racket-lang dot org.