over budget
Haskell Integration in Wolfram Tech
Current Project Status
Unfunded
Amount
Received
$0
Amount
Requested
$130,000
Percentage
Received
0.00%
Solution

Wolfram will work with Haskell developers from Tweag to connect Wolfram Language and Haskell. Allowing execution of Haskell across Wolfram Notebooks & Client Libraries to call W.L. from Haskell.

Problem

At present, Wolfram Research does not have the capability to allow Haskell to directly integrate with Wolfram Language and technologies

Impact / Alignment
Feasibility
Auditability

Wolfram Blockchain Labs

1 member

Haskell Integration in Wolfram Tech

Please describe your proposed solution.

Key Points

  • This project will produce Wolfram Language code that is part of the ExternalEvaluate framework: <https://reference.wolfram.com/language/guide/ExternalInterpretedLanguageInterfaces.html>
  • Here is an example of a client library, which has links to GitHub and other relevant pages for code review: <https://reference.wolfram.com/language/WolframClientForPython>

ExternalEvaluate:

A powerful feature of the Wolfram Language is that it allows users to evaluate code in other programming languages, returning the results to a Wolfram Notebook. We have implemented this feature for several languages, including Python, NodeJS, Julia and Ruby.

Client Library for Haskell:

The Wolfram Client Library for Haskell will allow Haskell programs to directly integrate Wolfram Language capabilities. Connect either to a local Wolfram Engine or to the Wolfram Cloud (or a Wolfram Enterprise Private Cloud).

Implementing these two features for Haskell should be a relatively straightforward project, but Wolfram does not have the experience with Haskell, so we will be working with Tweag on this project.

Supplemental Information:

<https://wolfr.am/wolfram-language-haskell>

Please describe how your proposed solution will address the Challenge that you have submitted it in.

The Developer Ecosystem challenge has the following information about Cardano attracting developers: “Cardano attracts high-calibre Developers and developers have ample resources to work on platforms that suit their interests:”

  • Developer productivity: IDE's, scripts to automate stuff.

Integrating Haskell into the Wolfram Language will help provide additional tools for Haskell development.

Once we have an initial Haskell integration, we can focus on providing additional resources to use Haskell within Wolfram Notebooks as an IDE environment.

In the future, this Haskell – Wolfram Language integration will allow us to explore working with Plutus.

What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

The main challenge is the Haskell portion of the project; however, we will work with Tweag to execute that portion of the project and reduce project risks.

Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

We have created a seven-month timeline for the execution of all items in the plan, assuming a start in July.

I. Discovery Phase: July 1, 2022–October 1, 2022

If the project is not funded, we may wind it down and delay the completion until future funding rounds or pursue other avenues of funding.

A. Haskell Wolfram Language Connection

Evaluate a connection to the Wolfram Language from Haskell and a connection to Haskell from the Wolfram Language.

B. Enterprise Use Cases

Review increasing the functionality of Haskell to include Wolfram Language functionality.

II. Working Phase: October 2, 2022–February 1, 2023

Develop the connection to the Wolfram Language from Haskell and the connection to Haskell from the Wolfram Language.

III. Final: February 1, 2023

Supplemental Information:

<https://wolfr.am/wolfram-language-haskell>

Please provide a detailed budget breakdown.

Team Costs: 130,000 USD (writing, programming, modeling and design costs)

Please provide details of the people who will work on the project.

Todd Gayley – Wolfram Director, Engine & Connectivity Engineering

Karla Santana – Wolfram Project Manager

Jesús Hernández – Wolfram Senior Technologist

Steve Purcell – Tweag Vice President of Engineering

Facundo Domínguez – Tweag Senior Software Engineer

Jonathon Bartlett – Tweag Sales Director

Cheng Shao – Tweag Software Engineer

If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

No.

Please describe what you will measure to track your project's progress, and how will you measure these?

The completion of the projects.

The use of Haskell within Wolfram technologies.

The use of Wolfram Notebooks for development by Haskell programmers.

What does success for this project look like?

  • ExternalEvaluate for Haskell similar to <https://reference.wolfram.com/language/ref/ExternalEvaluate.html>
  • Wolfram Client Library for Haskell similar to <https://reference.wolfram.com/language/WolframClientForPython>

Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

This is a new proposal.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00