lambdaconf / winter-retreat-2017

The official repository for the LambdaConf 2017 Winter Retreat (January 8 - 12).
12 stars 0 forks source link

Guide: Gabriel Gonzalez #7

Open Gabriella439 opened 7 years ago

Gabriella439 commented 7 years ago

I'm probably one of the biggest Haskell fanboys alive: I blog about Haskell and also maintain several Haskell packages. I believe mathematics is the future of programming and nothing delights me more than elegant solutions to practical problems.

The best presentations I give are in subjects that I'm only just beginning to learn, because I explain things better to others when I approach them with a beginner's eyes. Some candidate subjects that I've just begun learning where I have cool new things to share are:

However, I'm also happy to revisit topics that I've blogged or presented about before, such as:

Please suggest any topics you are interested in, even if they are not listed above.

jethrolarson commented 7 years ago

I'm interested in techniques for doing high performance game programming without loosing the FP goodness.

pazthor commented 7 years ago

I'm interesting in the relevance of category theory to programming (I beginner on FP ) .

l-d-s commented 7 years ago

I won't be attending, but am very interested in your thoughts on APIs for data science.

I'm a big fan of

I've often wondered how dplyr and tidyr-like APIs for munging data tables might work in Haskell (especially in ghci -- most of my work is done interactively or in notebooks).

The biggest difficulty seems to be the one that F#'s "type providers" aim to solve ("Object-Relational Mapping", I believe). Could Haskell get something like this without TH or dependent types?

See also: this Reddit comment.

argumatronic commented 7 years ago

I am quite curious about the APIs for data science, personally.

mudphone commented 7 years ago

Throwing in my vote for data science and game programming.

haroldcarr commented 7 years ago

Interested (in the listed order):

serras commented 7 years ago

I would really like to hear about event sourcing. It seems like a good match for FP, but I have never had the chance to hear how to mix both successfully in a project.

rezalesmana commented 7 years ago

"high-performance algorithms based on succinct data structures" or "event sourcing" is the topic that will be great to learn about. Hopefully can make it to the winter retreat 2017.

purefunctions commented 7 years ago

Shell scripting in Haskell, especially for those ones that you only look at once in a while and want it easy to be maintainable!

nomicflux commented 7 years ago

I'll put in yet another vote for APIs for data science.

ErrorNullPointer commented 7 years ago

I vote for "APIs for data science"

LambdaMathematician commented 7 years ago

+1 Relevance of category theory to programming

Gabriella439 commented 7 years ago

Okay, so the final tally (using approval voting) is:

I've been informed that I can split the 2 hour session into several sessions so what I will do is:

I feel that these two topics complement each other nicely because I would like to tie in data science APIs to category theory anyway

If nobody objects then I'll proceed to write up the descriptions for those two sessions

purefunctions commented 7 years ago

That sounds good Gabriel!

Would you also be available outside of these talks to guide us on / talk about shell scripting? I’m interested in using Haskell for shell scripting and related areas.

From: Gabriel Gonzalez [mailto:notifications@github.com] Sent: Thursday, November 10, 2016 9:27 AM To: lambdaconf/winter-retreat-2017 winter-retreat-2017@noreply.github.com Cc: Siva Jayaraman siva@virtuosic.net; Comment comment@noreply.github.com Subject: Re: [lambdaconf/winter-retreat-2017] Guide: Gabriel Gonzalez (#7)

Okay, so the final tally (using approval votinghttps://en.wikipedia.org/wiki/Approval_voting) is:

I've been informed that I can split the 2 hour session into several sessions so what I will do is:

I feel that these two topics complement each other nicely because I would like to tie in data science APIs to category theory anyway

If nobody objects then I'll proceed to write up the descriptions for those two sessions

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/lambdaconf/winter-retreat-2017/issues/7#issuecomment-259753039, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AV_jD1H6HbInjBsdsL2lawea3NLWFxqsks5q81PpgaJpZM4JzJk9.

serras commented 7 years ago

It seems that I (#2) will also talk about category theory, but as an introductory course. Maybe we can arrange it in such a way that people get the most from both your talk and my course: ensuring that I cover any notion that you have as prerequisite for your talk, showing the relevance of CT on the last day, and that kind of things.

Gabriella439 commented 7 years ago

My talk focuses more on the relevance and less on advanced concepts. I doubt I will cover anything fancier than categories/monoids, functors, and monads. I will be covering things like how to use category theory to organize proofs and how to simplify APIs and software architecture. You can get an idea of what the first talk will about by reading these posts:

However, I would like to keep the talk self-contained

serras commented 7 years ago

That sounds great! I completely understand that you want to keep it self-contained. But I still think that the schedule can be arranged so that people who are not as familiar with CT can go to the introduction and then have a better base to understand your talk.

Gabriella439 commented 7 years ago

Alright, so the final formal descriptions will be:

Session 1 - Applied category theory and abstract algebra (60 minutes)

The Haskell programming language resembles "executable math" and this mathematical connection challenges us to rethink how we organize our code. We can tackle software complexity by reusing standard interfaces that originate in the fields of category theory and abstract algebra. These interfaces improve code reuse for end-users, and also simplify correctness proofs for library authors.

You should attend this session if you've ever pondered questions such as:

This session assumes basic Haskell programming literacy (specifically familiarity with type classes) but does not assume a mathematical background so you don't have to know any category theory. I will use Haskell code to motivate and explain all concepts. All examples will be real code that compiles and there won't be any mathematical notation, category theory diagrams, or pseudo-code.

By the end of this session you should understand how to better apply these standard mathematical interfaces in your own code and also understand basic techniques for scaling correctness proofs.

Session 2 - Data science APIs in Haskell (60 minutes)

Data science is one programming area where Haskell's data-driven approach should be a natural fit but hasn't quite taken off just yet. However, the language has recently made several leaps and bounds in this area and most of the lower-level machinery is there, although perhaps not as slick as their counterparts in more mature languages.

This session surveys the existing ecosystem of libraries and tools in order to offer some suggestions for how we might be able to improve upon the user experience. This builds upon my first "Applied category theory and abstract algebra" session by taking inspiration from mathematics to design user-friendly interfaces. However, the other session is not necessarily a prerequisite and familiarity with Haskell's Typeclassopedia would also suffice to follow along.

You should attend this session if you are interested in using Haskell for data science or you are interested in authoring a library or tool of your own. By the end of this session, you should be better equipped to use Haskell for small-scale data science (but not necessarily big data).

cc: @jdegoes

alexi21 commented 7 years ago

Sounds great, looking forward to it