Profile cover photo
Profile photo
Brent Yorgey
992 followers
992 followers
About
Brent's posts

Post has shared content
If you're creating art or music functionally, please consider submitting something to #FARM2016 The scope is quite wide so you might not even realize yet that you could submit your work.

Here's the official description:

FARM encourages submissions from across art, craft and design, including textiles, visual art, music, 3D sculpture, animation, GUIs, video games, 3D printing and architectural models, choreography, poetry, and even VLSI layouts, GPU configurations, or mechanical engineering designs. Theoretical foundations, language design, implementation issues, and applications in industry or the arts are all within the scope of the workshop. The language used need not be purely functional (“mostly functional” is fine), and may be manifested as a domain specific language or tool. Moreover, submissions focusing on questions or issues about the use of functional programming are within the scope.

http://functional-art.org/2016/
Photo

Post has attachment
Celebrating with ice cream cones since someone counted to 100 all by himself. He chose strawberry with gummy bears mixed in. 
Photo

Post has attachment
Me in my native habitat. (My fancy Penn regalia just arrived!)
Photo

Post has attachment
I've been on a physical-object-making kick recently. It's the perfect mindful-yet-relaxing thing to do between pomodoros.
PhotoPhotoPhoto
Building mathy objects
3 Photos - View album

Post has attachment
Lazy Saturday with my favorite 4-year old.
Photo

Post has attachment
New office!
Photo

Python's inconsistent handling of mutable vs immutable (strings are immutable; lists are mutable; some list methods modify the list in place; some return a new list; etc.) is making me angry.  I don't know how I'm going to teach this to freshmen without going off on a rant.

Post has attachment
"Hold my jacket!  HOLD MY JACKET!!"

Post has shared content
Our paper has been accepted for the 2015 Mathematics of Program Construction Conference:

Polynomial Functors Constrained by Regular Expressions
http://dept.cs.williams.edu/~byorgey/pub/type-matrices.pdf

It's based on some blog posts from a couple of years ago and shows how to define a tree type in a language like Haskell where the leaves of the tree are constrained to match a regular expression. A basic example that many are familiar with is the type of lists where the elements alternate between two types. The picture corresponds to an example of a binary tree with regular expression b*1a* where 1 is the type with just one inhabitant so it functions as a "hole". These types have the property that it's completely impossible to build a tree that fails to satisfy the constraint.

As a side effect it also shows how you can think of Conor McBride's Jokers and Clowns paper as really being about divided differences (ie. (f(x)-f(y))/(x-y)) applied to types, even though you can't literally divide types: https://personal.cis.strath.ac.uk/conor.mcbride/Dissect.pdf

Sadly it's hard to find a programming language that can truly automate this process, especially as it involves matrices whose entries are types. Brent and I both tried independently with Agda, but even with dependent types we got stuck. But that doesn't stop you using the paper to hand craft the appropriate type. (I guess Template Haskell would work fine but that's cheating.)
Photo

Post has attachment
Wait while more posts are being loaded