Would a functional language like Haskell be worse off in developing a compiler as opposed to a systems language like Rust, C, etc?

This page summarizes the projects mentioned and recommended in the original post on /r/ProgrammingLanguages

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Carp

    A statically typed lisp, without a GC, for real-time applications.

  • Take a look at this compiler. It's written in Haskell and compiles a Lisp-like language called Carp into C. Carp is a super interesting language, it sort of brings together concepts from (in roughly descending order) Lisp, Haskell, Rust, and C.

  • inkwell

    It's a New Kind of Wrapper for Exposing LLVM (Safely)

  • You can use any language to make compiler, because all compiled languages are made in itself. But i will use rust/c to make a compiler. Enums in rust is so useful to make ast. I have came across a repo which is a wrapper to expose llvm https://github.com/TheDan64/inkwell . Rust is great for compiler but the because of borrow checker, it is not too good for interpreters. If you really make a working compiler, you will probably rewrite it in your own language. If your are using llvm, cpp or rust are go to choice

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • rfc

    My slides and compilation of resources.

  • I'd like to address your first question, I gave a talk once about the relationship between compilers and Haskell, and at the bottom I link to a bunch of resources on compiler construction using Haskell/functional languages, including a compilers book using Haskell.

  • langs

  • https://github.com/sal55/langs/blob/master/jpeg.hs (Original.)

  • Nim

    Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

  • I don't want to confuse you further, but I'll throw one last language into the mix: Nim. I've been looking at it lately and it really seems to get a lot of things right, particularly if you prefer a more "traditional" language than Lisp and its list-based syntax. Nim's compiler is written in Nim, so that may be a good resource.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts