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

Switch to using Haskell #40

Merged
merged 8 commits into from
Feb 25, 2020

Conversation

everythingfunctional
Copy link
Member

No description provided.

@certik
Copy link
Member

certik commented Feb 25, 2020

The Linux and Mac works, the Windows fails due to mstksg/setup-stack#5. I am figuring a workaround.

@certik
Copy link
Member

certik commented Feb 25, 2020

@milancurcic: To describe our plan here: @everythingfunctional and I decided to join forces on FPM. Brad has already an implementation in Haskell of a subset of what we want FPM to do, and we decided to use his code to get the minimal viable version of FPM. So we'll do it in Haskell. It turns out Haskell's Stack is like Rust's Cargo, and both do what we want to achieve with FPM.

Once we have the minimal viable version working, we, as a community, will have to choose a language to implement this in for the long run (I still think Rust is not a bad option). But for now our goal is to get a minimal version out there, and the best is to join forces as much as we can.

@milancurcic
Copy link
Member

Sounds good. I like Haskell as well. I was more interested in learning Rust though. However this is a practical decision and getting to MVP sooner is what matters.

I only wish this was discussed in the open rather than decided under the table. Not so much about who makes the decision, but more about how and why are decisions made.

@certik
Copy link
Member

certik commented Feb 25, 2020

@milancurcic thanks for the comment. (Yes, I am personally more interested in learning Rust also.)

I should have phrased it differently. We are working on the PR and once we are done with the PR, we would like to get a community agreement that this would be an ok path to get to the MVP. We have not made the decision under the table. Only if the community agrees, then we will merge the PR.

The downside is that Haskell is not as well known language. The huge upside is that now we have 2 developers (@everythingfunctional and myself) as opposed to just one developer (myself). And that, in my eyes, outweighs the slight negative of using a different language for the MVP.

Once MVP is out, we would need to decide what language to use for the long run. (I think I would prefer either C++ or Rust for that.)

@milancurcic
Copy link
Member

Thanks for clarifying that, sounds like a good plan.

@certik
Copy link
Member

certik commented Feb 25, 2020

Tests pass. This is currently just a bare bones Haskell project, but it runs on Linux, macOS and Windows.

@milancurcic would you be ok with merging this PR now? It would help us to develop faster --- have a master that passes tests everywhere and we can quickly send PRs to get the features implemented. The Rust version is still there in the archive directory if we every wanted to come back to it.

@everythingfunctional
Copy link
Member Author

I think we can have some MVP within the week. If things go wrong or the community would rather switch back to using Rust or something else, we can always switch back to that.

@milancurcic
Copy link
Member

milancurcic commented Feb 25, 2020

This is fine with me. As I'm not actively engaged yet, I don't have much say. But I also don't foresee issues when I do start contributing. So please go ahead with whatever you find is the best way forward and keep discussing.

@everythingfunctional everythingfunctional merged commit 5d38dff into fortran-lang:master Feb 25, 2020
@certik
Copy link
Member

certik commented Feb 25, 2020

Thanks @milancurcic! We'll keep you updated.

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

Successfully merging this pull request may close these issues.

3 participants