Skip to content

Down the Oregon Trail with Functional C#, with Simon J. Painter

Photo of Mark Foreman
Hosted By
Mark F. and 4 others
Down the Oregon Trail with Functional C#, with Simon J. Painter


An in-person and online event (with pizzas at the start)

In 1971, three students from Minnesota thought they could liven up a history lecture by creating a computer game for the students to play, and after several days of work in HP Time Share BASIC, they came up with what turned out to be a significant milestone in the history of computer games - Oregon Trail.

Oregon Trail is often regarded as one of the first great computer games, as well as being the originator of a franchise that is still running to this day. It was effectively also one of the first instances of both Shareware and a Commercial home release (depending on the version).

My interest though, isn't just in historical computer games, it's also .NET and Functional Programming. I want to use this as a worked example of one of my passions - Functional Programming in C#! The challenge I've set myself is to redevelop Oregon Trail into C# using the following restrictions:

  • Near 100% unit test coverage
  • No variables can change state once set
  • No statements (for, foreach, if, where, etc.) unless there literally is no way of avoiding them

I'll also be demonstrating a few of the tricks Functional Programming can offer, like Higher-order functions, functional flows with simple Monads and Tail Recursion. There should also be a bit of retro computing fun, while we're at it.

We will have some cool swag from O'Reilly to celebrate the launch of Simon's new book! Simon will be joining us live from the UK.

Functional Programming with C#
by Simon J. Painter
Released September 2023
Publisher(s): O'Reilly Media, Inc.
ISBN: 9781492097075


  • 5.30pm - Pizza and networking
  • 6.00pm - Presentation
  • 7.00pm - Additional networking

Thanks to O'Reilly, Encode Talent and Taptu! 🍕 🎉

COVID-19 safety measures

Event will be indoors
The event host is instituting the above safety measures for this event. Meetup is not responsible for ensuring, and will not independently verify, that these precautions are followed.
Photo of Adelaide .NET User Group group
Adelaide .NET User Group
See more events