Free Online Rust to Haskell Code Converter

Instantly convert code snippets from Rust to Haskell with our free online code converter. Transform your code easily and accurately.

RustRust Code

0/4000 characters

How to Use Our Rust to Haskell Code Converter

  1. Paste your Rust code snippet into the input box.
  2. Click the "Convert" button to transform your code.
  3. Our AI-powered converter will instantly translate your Rust code to Haskell.
  4. Copy the converted Haskell code and use it in your project.

Is Our Rust to Haskell Converter Secure?

We prioritize your code's security and privacy. Your code is not stored on our servers and is only temporarily processed for conversion. We use OpenAI's secure servers for the conversion process, ensuring your code remains confidential.

About Rust

Rust is a multi-paradigm programming language focused on performance and safety, especially safe concurrency.

About Haskell

Haskell is a purely functional programming language.

Palindrome Check Example: Rust vs Haskell

Palindrome Check in Rust

fn is_palindrome(s: &str) -> bool {
    let clean: String = s.chars()
        .filter(|c| c.is_alphanumeric())
        .map(|c| c.to_ascii_lowercase())
        .collect();
    
    clean.chars().eq(clean.chars().rev())
}

fn main() {
    println!("{}", is_palindrome("A man, a plan, a canal: Panama")); // true
    println!("{}", is_palindrome("race a car")); // false
}

Palindrome Check in Haskell

import Data.Char (isAlphaNum, toLower)

isPalindrome :: String -> Bool
isPalindrome str = clean == reverse clean
  where clean = map toLower $ filter isAlphaNum str

main :: IO ()
main = do
  print $ isPalindrome "A man, a plan, a canal: Panama" -- True
  print $ isPalindrome "race a car" -- False

Bubble Sort Example: Rust vs Haskell

Bubble Sort in Rust

fn bubble_sort(arr: &mut [i32]) {
    let n = arr.len();
    for i in 0..n {
        for j in 0..n - i - 1 {
            if arr[j] > arr[j + 1] {
                arr.swap(j, j + 1);
            }
        }
    }
}

fn main() {
    let mut arr = vec![64, 34, 25, 12, 22, 11, 90];
    bubble_sort(&mut arr);
    println!("{:?}", arr);
}

Bubble Sort in Haskell

bubbleSort :: Ord a => [a] -> [a]
bubbleSort xs = foldr (\_ -> bubble) xs [1..length xs - 1]
  where
    bubble [] = []
    bubble [x] = [x]
    bubble (x:y:xs)
      | x > y     = y : bubble (x:xs)
      | otherwise = x : bubble (y:xs)

main :: IO ()
main = print $ bubbleSort [64, 34, 25, 12, 22, 11, 90]

More Rust Code Conversion Tools

RustRust→PythonPython

Convert Rust to Python

Open Converter

RustRust→JavaScriptJavaScript

Convert Rust to JavaScript

Open Converter

RustRust→TypeScriptTypeScript

Convert Rust to TypeScript

Open Converter

RustRust→JavaJava

Convert Rust to Java

Open Converter

RustRust→CC

Convert Rust to C

Open Converter

RustRust→C++C++

Convert Rust to C++

Open Converter

RustRust→C#C#

Convert Rust to C#

Open Converter

RustRust→GoGo

Convert Rust to Go

Open Converter

RustRust→DartDart

Convert Rust to Dart

Open Converter

RustRust→RubyRuby

Convert Rust to Ruby

Open Converter

RustRust→SwiftSwift

Convert Rust to Swift

Open Converter

RustRust→KotlinKotlin

Convert Rust to Kotlin

Open Converter

RustRust→ScalaScala

Convert Rust to Scala

Open Converter

RustRust→PHPPHP

Convert Rust to PHP

Open Converter

RustRust→RR

Convert Rust to R

Open Converter

RustRust→JuliaJulia

Convert Rust to Julia

Open Converter

RustRust→MATLABMATLAB

Convert Rust to MATLAB

Open Converter

RustRust→LuaLua

Convert Rust to Lua

Open Converter

RustRust→AssemblyAssembly

Convert Rust to Assembly

Open Converter

RustRust→PerlPerl

Convert Rust to Perl

Open Converter

RustRust→GroovyGroovy

Convert Rust to Groovy

Open Converter

RustRust→ElixirElixir

Convert Rust to Elixir

Open Converter

RustRust→F#F#

Convert Rust to F#

Open Converter

RustRust→ClojureClojure

Convert Rust to Clojure

Open Converter

RustRust→DelphiDelphi

Convert Rust to Delphi

Open Converter