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

Add tutorials on Curry-Howard Isomorphism #52

Open
melvic-ybanez opened this issue Apr 8, 2022 · 7 comments
Open

Add tutorials on Curry-Howard Isomorphism #52

melvic-ybanez opened this issue Apr 8, 2022 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@melvic-ybanez
Copy link
Owner

The following should also contain some common isomorphisms and code samples from supported languages. The user should be able to select which language to choose for the samples.

@melvic-ybanez melvic-ybanez added the enhancement New feature or request label Apr 8, 2022
@mlliarm
Copy link
Contributor

mlliarm commented May 12, 2023

Hello,

Not exactly a tutorial, but this talk of prof. P. Wadler is an amazing introduction to the Curry-Howard Isomorphism.

If you want I can write a summary of the ideas mentioned there.

Regarding the common isomorphisms and code samples I'll have to do further research.

Overall really interesting enhancement, I'd love to work on this.

Cheers !

ps: Also these two talks of prof. Wadler [1][2] are very interesting as well, if you haven't watched them before. And finally, this paper [3] of prof. Baez is a must read, if only to keep the final result, the table with all the isomorphisms between the scientific fields mentioned there, that I believe is related to the Curry-Howard isomorphism.


[1] YouTube: "Everything Old is New Again: Quoted Domain Specific Languages"

[2] YouTube: "Categories for the Working Hacker"

[3] Arxiv.org: Physics, Topology, Logic and Computation: A Rosetta Stone

@melvic-ybanez
Copy link
Owner Author

melvic-ybanez commented May 13, 2023

Not exactly a tutorial, but this talk of prof. P. Wadler is an amazing introduction to the Curry-Howard Isomorphism.

Yes, I've watched this one before. It may actually be one of the resources I used to learn Curry-Howard Isomorphism. It's really useful.

@mlliarm I'd really appreciate it if you would work on this. It's good to see other people also interested in these topics.

Thanks for the links. I think I've only watched the second one.

@mlliarm
Copy link
Contributor

mlliarm commented May 13, 2023

I'd love to, @melvic-ybanez ! Thank you for creating such an interesting project !

Feel free to assign this issue to me.

If I write the tutorial/notes of the talk (and perhaps the basic ideas from Howards' paper) in Markdown, would it be okay?

Cheers !

@melvic-ybanez
Copy link
Owner Author

The plan is to eventually add the tutorial to the UI. So users can select a Tutorial menu item and see a new panel of explanations and examples. However, we can also have a separate task for that.

For now, it's okay to write it in Markdown, unless you also want to write the UI. I'm also open to other suggestions.

@mlliarm
Copy link
Contributor

mlliarm commented May 13, 2023

@melvic-ybanez I'll start with the Markdown and when time comes I can help with the UI, but will need some help to get started (like directions etc), because I don't know much about UI development. Thanks again.

@mlliarm
Copy link
Contributor

mlliarm commented May 28, 2023

Sorry, I got distracted from work and stuff. I'll start this week, but could take a while to have something complete.

  • As step 1: extract related notes from the talk of prof. Wadler on the CH-isomorphism.
  • As step 2: check Howard's paper and do a summary of the main ideas and arguments.
  • As step 3: create more examples in code in some static typed functional languages (I'll start with the ones you've already used).

Edit: Actually, that speech is based on this paper (PDF) of prof. Wadler. I'll start from here.

@melvic-ybanez
Copy link
Owner Author

No worries @mlliarm! The steps look good to me. Thanks for taking this one.

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

No branches or pull requests

2 participants