Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024 event planning #48

Open
frasertweedale opened this issue Oct 11, 2023 · 47 comments
Open

2024 event planning #48

frasertweedale opened this issue Oct 11, 2023 · 47 comments

Comments

@frasertweedale
Copy link
Member

frasertweedale commented Oct 11, 2023

We will use this issue to plan and schedule events for 2024.

Talks

Schedule

  • 2024-01-12 (Friday) - 2024 Kickoff: social event @ Bloodhound.
  • 2024-02-13 - Regular meetup
    • Javan Wood - Parsing a programming language
    • @frasertweedale - Advent of Code 2023 - A Haskeller's reflections
  • 2024-03-12 - Regular meetup
  • 2024-04-09 - Regular meetup
    • Lightning talks / demos / mob programming
  • 2024-05-14 - Regular meetup
  • 2024-06-11 - Regular meetup
  • 2024-07-09 - Regular meetup
    • @donovancrichton - something Dependent Types related.
    • Jack and Fraser - ZuriHac and Ecosystem Workshop recap
  • 2024-08-13 - Regular meetup
    • Dylan Just (@techtangents) - Property Testing in Typescript with fast-check [abstract]
    • Caolán Leatham-Orrell - The percolation of FP into the mainstream
  • 2024-09-10 - Regular meetup
  • 2024-10-08 - Regular meetup
  • 2024-11-12 - Regular meetup
    • @endgame - Understanding the core of streaming, my favourite Haskell streaming library [abstract]
    • Rob Ellen (@rellen) - The new Set-Theoretic Type System for Elixir [abstract]
  • 2024-12-10 - Social event
    • Gathering at Bloodhound

Concrete but unscheduled

These are concrete talk proposals where we have a willing presenter. Please file separate issues for general topic requests.

Requested topics

  • Debugging in Haskell (stack traces, etc)

Venue

  • BCC Library Brisbane Square

Hack nights

Would be good to kick of hack night again

Suggested activities

  • Migrate applied FP course from waaargonaut to aeson.
@flatwhatson
Copy link

I couldn't present "Evaluating the Meta-circular Interpreter" last year due to illness (apologies), maybe it's a good one for February?

@frasertweedale
Copy link
Member Author

@flatwhatson if you're good for Feb, lock it in.

@donovancrichton
Copy link

Hello!

Sadly I cannot make drinks this Friday evening, I have a PhD milestone report due on Sunday, and I've been busy reviewing code artefacts for OOPSLA 24 all week.

There are some points I wanted to bring up though, so I'll bring them up here.

Talk organisation for Meetup.com

Could we please try to organise talks 2 months out this year? This would let us update the meetup page (our most publicly visible face) immediately after a meetup each month, giving newcomers and occasional visitors time to plan to attend if they see a particularly interesting talk.

I am happy to take over the meetup page updating from you Frase if you're too busy.

Public submission for talk ideas?

Is there a way we could do this? I like the idea of having a list of talk ideas that we can work though and slowly cross off that is open to the general public, if people are open to this idea I can look at potential solutions.

Talks

I'm happy to give approximately 5 talks this year:

  • Feb/Mar: Introduction to Propositions As Types (Introductory)
    A FP focussed approach, rather than a type theoretic one.
  • May: Proof Techniques for Dependent Types (Intermediate)
    You've all seen intro to GADTS and Vectors over and over, but what about more interesting examples?
  • Jul: Enforcing Invariants in Network and Security Protocols through Linear Types (Intermediate)
    Idris' linear type system gets talked about a lot, but largely ignored in anger, so I wanted to explore it here.
  • Sep: Guarded Observational Dependent Type Theory (Advanced)
    happy to discuss the level of difficulty here, or remove it if it's too theoretical.
  • Nov: SECRET
    This one is really a cracker, but I can't reveal the title until the paper is published later this year.

If people want to pick/choose some of these (or even take some of them over!) then just yell out. This is just something to get us started.

Have fun on Friday and I shall see you all in February!

@frasertweedale
Copy link
Member Author

@donovancrichton

Could we please try to organise talks 2 months out this year? This would let us update the meetup page (our most publicly visible face) immediately after a meetup each month, giving newcomers and occasional visitors time to plan to attend if they see a particularly interesting talk.

I agree we should try to do this.

Public submission for talk ideas?

Is there a way we could do this? I like the idea of having a list of talk ideas that we can work though and slowly cross off that is open to the general public, if people are open to this idea I can look at potential solutions.

This GitHub issue and repo are public? We probably need to advertise more clearly that this is how you can propose ideas and participate in organising the content.

I'm happy to give approximately 5 talks this year:
...
If people want to pick/choose some of these (or even take some of them over!) then just yell out. This is just something to get us started.

For sure, Propositions as Types is a great one for early in the year. We'll finalise Feb in the coming days and look at March too.

@techtangents
Copy link

Hey crew,

I'm keen to do some talks this year.

I'd be keen to present the "algebra of algebraic data types" requested talk. There's a youtube video of this from the London Haskell meetup and it's one of my favourite talks.

One talk I like doing is demonstrating The Incredible Proof Machine, but then doing the same proofs in a programming language. I've done this in Java and Typescript before for coworkers. Could also do it in Haskell or Scala if preferred. I like how this demonstrates Propositions as Types, so it would be cool if @donovancrichton did a Props as Types talk, and I did this one in a following month.

I did a talk on fast-check (https://github.com/dubzzz/fast-check) at work recently. I'm good to polish that up and present to BFPG.

I did a guest talk at REA Group about finding the sweet spot for FP adoption in a real organisation, and the considerations to make. It's very hand-wavy and practical tech leadership stuff. Not sure how fun it would be for BFPG.

I'm happy to talk on a bunch of theoretical and practical stuff. Doing FP in Typescript is one of my interest areas, so happy to dig into that if people are interested.

Cheers,
Dylan

@techtangents
Copy link

techtangents commented Feb 5, 2024

Enforcing Invariants in Network and Security Protocols through Linear Types

I recall Edwin Brady covering this in an Idris talk. It was definitely fun. I'd be keen to see that.

I'd also be keen to see a talk introducing linear types... if that hasn't already been done.

@frasertweedale
Copy link
Member Author

@techtangents thank you very much! We'll definitely take you up for a couple of those.

Would you be available on 2024-03-12 to do the fast-check talk? If you, please provide an abstract when able.

@techtangents
Copy link

@frasertweedale Yep, I can do that. How about:

Property Testing in Typescript with fast-check

Property testing is a technique for writing tests using pseudo-random data in a controlled way. It lets you write tests that cover a variety of possible inputs, while removing human bias and finding edge cases that you wouldn't normally think to check. This talk introduces property testing using the fast-check library for Typescript. We'll cover seeds and generators and shrinking, how to turn a unit test into a property test, and some common properties that can be useful to test.

@techtangents
Copy link

These "common properties" are things like:

  • generalise a unit test
  • round-trips
  • inverses
  • multiple implementations of an algorithm
  • laws - idempotency, associativity, commutativity, reflexivity etc
  • weak properties strongly held
  • should outputs be inputs
  • combining generators to trigger certain outputs

@frasertweedale
Copy link
Member Author

@donovancrichton are you still planning to do Introduction to Propositions As Types for March? Could you please provide abstract?

@donovancrichton
Copy link

Apologies for the delay, abstract as follows:

Propositions As Types

This talk will introduce you to an alternative way to think about types and
functions. Under certain conditions your types can be logical propositions and
your functions can be mathematical proofs. Proving a theorem becomes no different
to writing a program in a (particular kind of) pure functional programming language.
We will explore this notion in the Idris functional programming language and see
examples of how proofs can be very useful to day-to-day programming.

@techtangents
Copy link

Hey @frasertweedale, unfortunately I'm going to have to pull out of speaking next week. My wife has been in hospital and our world is still a bit upside down. I'm prepped for the talk, and should be able to present it another time. I'll post here when things are a bit more normal.

@frasertweedale
Copy link
Member Author

@techtangents sorry to hear mate. Thanks for the notice and we look forward to your presentation at a future date.

@flatwhatson any chance you could bring your talk forward to 2024-03-12 (next Tuesday)?

@rellen
Copy link

rellen commented Mar 13, 2024

Hi @frasertweedale
I am happy to do another talk some time July or later.
The new Set-Theoretic Type System for Elixir

@frasertweedale
Copy link
Member Author

Talk requests from 2024-04-09 meetup:

  • Lean 4
  • Type-level programming in TypeScript
  • TypeScript (from a Haskeller's perspective)
  • PLT + help me read these papers
  • Lambda Calculus and related topics

@nasosev
Copy link

nasosev commented Apr 10, 2024

I'll put my hand up to give a talk on Lean 4. This is a topic I know little about now, but I've been wanting to learn and this seems like a good opportunity - thanks for the suggestion @frasertweedale 😊

I'll have to think about exactly what aspect I'll speak about - maybe something like a brief tour of the syntax and principles of the language, and then a look at some specific interesting feature not available in Haskell, e.g. quotient types?

@frasertweedale
Copy link
Member Author

That sounds awesome @nasosev. Please let us know what timeframe you are comfortable with.

@nasosev
Copy link

nasosev commented Apr 11, 2024

That sounds awesome @nasosev. Please let us know what timeframe you are comfortable with.

@frasertweedale over the next month I'll be a bit busy wrapping up my PhD , but anytime after then - ie from June - should be fine.

As a tentative title for the talk:

"Subtypes and quotient types in Lean 4"

@frasertweedale
Copy link
Member Author

@frasertweedale over the next month I'll be a bit busy wrapping up my PhD , but anytime after then - ie from June - should be fine.

@nasosev if you are comfortable with June, we can lock that in. But I don't want you to feel pressured - we can definitely schedule it later if you are more comfortable with that.

@nasosev
Copy link

nasosev commented Apr 11, 2024

@frasertweedale over the next month I'll be a bit busy wrapping up my PhD , but anytime after then - ie from June - should be fine.

@nasosev if you are comfortable with June, we can lock that in. But I don't want you to feel pressured - we can definitely schedule it later if you are more comfortable with that.

@frasertweedale june should be fine - let's lock it in 😁. Thank you!

@frasertweedale
Copy link
Member Author

@rellen could you please furnish us with an abstract for your Gleam talk, in the next week or so? Cheers!

@frasertweedale
Copy link
Member Author

Dropping my draft abstract for the tax talk


Tax time is coming!

The Australian income tax system is pretty complicated. It helps to know where
you stand so you can avoid nasty surprises and make better financial decisions.
For several years I have used Haskell to prepare my tax return and model scenarios.
I published the generic stuff as the tax-ato library.

In this presentation I will walk you through the library. Fortuitiously, it is
Budget Night. What better way to learn about the library than to update it live?
Hopefully Jim Chalmers doesn't babble on too long...

After the library tour, we will play "fantasy tax time" and collaboratively prepare
Jane Citizen's tax return. Will Jane get a refund this year? Or will she get
Division 293'd into oblivion? Together, we decide. Along the way, we'll cut
ourselves on rough edges and notice lots of things the library doesn't implement
yet (like Division 293).

@rtpg
Copy link

rtpg commented Apr 14, 2024

@frasertweedale I can do a talk on figuring out church encoding. I think it would be 30 minutes? Whenever is convenient in the schedule is good for me.

Title: Representing Data With Functions With The Church Encoding

People say you can do "everything" with just functions in the lambda calculus. You are told this, you are shown this, but you probably cannot reproduce this from scratch if somebody asks you to.

In this presentation we'll go over how you can build booleans, numbers, and lists purely through functions, and nothing else, via the Church encoding. We'll talk about the intuition behind the encoding, to really grasp why the encoding is designed the way it is.

You should be able to walk away from this and never be intimidated by some lambda calculus soup in the middle of a research paper ever again.

@frasertweedale
Copy link
Member Author

@rtpg thank you! How about June 2024-06-11?

@rtpg
Copy link

rtpg commented Apr 14, 2024

Yeah that works!

@rellen
Copy link

rellen commented Apr 17, 2024

Draft abstract for Gleam 1.0

Gleam is a statically-typed functional programming that compiles to the BEAM (the Erlang Virtual Machine) and JavaScript. It has a focus on simplicity and ergonomics. With its recent v1.0 release, Gleam, its standard library, and tooling, are stable and ready for industrial use. In this talk, I'll take us on a tour through some of the interesting language features and choices made, some interesting libraries and use-cases, and how Gleam fits into the BEAM and broader PL landscape.

@endgame
Copy link

endgame commented Apr 17, 2024

Note that 1.1 just came out yesterday, in case you want to revise anything: https://gleam.run/news/gleam-v1.1/

@frasertweedale
Copy link
Member Author

@donovancrichton do you want to do a preso in July?

@frasertweedale
Copy link
Member Author

@rellen just making sure you're all systems go for Gleam v1 tomorrow night :)

@nasosev
Copy link

nasosev commented May 17, 2024

@frasertweedale I'm currently overseas and may not be back in time for 2024-06-11; is it possible to move me to July? I apologise for the late notice.

@frasertweedale
Copy link
Member Author

@frasertweedale I'm currently overseas and may not be back in time for 2024-06-11; is it possible to move me to July? I apologise for the late notice.

@nasosev thanks for letting me know. I'll move you to July.

@gwils
Copy link

gwils commented Jun 3, 2024

@frasertweedale June abstract:

Error handling in functional languages

In this talk we'll look at one of the areas where strongly typed FP shines: error handling. We'll learn about Either, a simpler, more robust, less error-prone alternative to exceptions. Then we'll go beyond the basics to talk about error modelling best practices. We'll see how this approach fits naturally into web services and we'll discuss which languages support this approach in a first-class way.

@nasosev
Copy link

nasosev commented Jun 23, 2024

@frasertweedale I'm currently overseas and may not be back in time for 2024-06-11; is it possible to move me to July? I apologise for the late notice.

@nasosev thanks for letting me know. I'll move you to July.

@frasertweedale I was back in Brisbane for a little while but I've already gone again, and it's looking like I won't be back for the July date either. It may be better to take me off the list for now until my schedule is a bit clearer. So sorry about this!

@endgame
Copy link

endgame commented Jun 23, 2024

I'm happy to take that timeslot for July with a report from Lambda Days and ZuriHac, and maybe @frasertweedale can say a few words about the Haskell Ecosystem Workshop? Hopefully you're able to make a talk later in the year, because I'm keen for some lean.

@frasertweedale
Copy link
Member Author

frasertweedale commented Jul 1, 2024

@nasosev are you still good for July 9? If so, could you please provide an abstract ASAP? sorry, I missed the comment above. No problem!

@frasertweedale
Copy link
Member Author

Ping @techtangents - are you available to do your ts property testing talk on August 13?

@techtangents
Copy link

Yep. Lock it in, Eddie

@frasertweedale
Copy link
Member Author

frasertweedale commented Jul 12, 2024

Yep. Lock it in, Eddie

Thank you Dylan! Looking forward to it! I will reuse the title and abstract you already provided. Let me know if you want to alter it.

@scurtis142
Copy link

Unfortunately, I'll have to move my talk on IHP to September, is this ok?

@frasertweedale
Copy link
Member Author

@scurtis142 yes, that's OK mate. Thanks for the notice and we look forward to your talk in September!

@frasertweedale
Copy link
Member Author

@rellen if you could pull off September, that would be awesome. Otherwise, we have a slot in November :)

@rellen
Copy link

rellen commented Aug 27, 2024

@frasertweedale Lock me in for November

@frasertweedale
Copy link
Member Author

@tonymorris speaking in Sept, Explaining List Folds to Yourself:

In this talk we go back to first principles, defining and examining the definition for a list, then take a look at the ubiquitous right and left fold functions on a list.

We develop an intuition for how these functions work, in any programming language so that we can best decide when to apply them. This talk will be interactive with audience as we solve problems using our new knowledge as we acquire it.

No prior understanding of list folds is necessary. All those points, and more, will be covered in greater detail.

@flatwhatson
Copy link

@frasertweedale Here's the abstract for my October talk:

The Algorithmic Language Scheme

Scheme is a minimalist programming language in the Lisp family, originally described as an "extended lambda calculus". While best categorised as a multi-paradigm language, Scheme offers excellent support for functional programming techniques thanks to its first-class procedures, strict lexical scope, and proper tail recursion. In this talk I'll provide a brief introduction to Scheme syntax and semantics, and demonstrate the features of the language with some motivating examples.

@frasertweedale
Copy link
Member Author

@rellen confirming you're still good for 2024-11-12, and could you please provide the abstract?

@frasertweedale
Copy link
Member Author

Abstract for @endgame's November Talk:

Understanding the core of streaming, my favourite Haskell streaming library

Streaming libraries are as important in Haskell as they are in other languages — they let you process large amounts of data in constant memory. streaming is my favourite of these, because it has a very elegant core type and doesn't invent a plethora of custom operators. In this talk, I will motivate and build up the core types used by the streaming library, and show that not only do they enable safe and efficient streaming, they are also surprisingly expressive.

@rellen
Copy link

rellen commented Oct 30, 2024

Elixir's new Set-Theoretic Type System

Abstract

"A static type system!" is the probably the most popular answer/guess to the questions, "What is Elixir missing?" or "What will Elixir 2.0 have in it?" Since its creation, Elixir has relied on rudimentary compiler checks and static analysis tools inherited from Erlang to provide any confidence before running the program and finding out. However in recent years, a research effort has been undertaken in partnership with Elixir's core team to develop a static type system for the language. The type system is described as Set-Theoretic and is both gradual and being "gradually" added to the language. In this talk we will explore what we know about the theory and practice of this type system. We explore the theory as described by The Design Principles of the Elixir Type System - Castagna, Duboc, and Valim, 2023, https://arxiv.org/abs/2306.06391. We will also look at some examples of the latest iteration of the type system as it has been released in Elixir 1.18

attn @frasertweedale

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants