Instantly convert code snippets from Haskell to Delphi with our free online code converter. Transform your code easily and accurately.
Perfect for vibe-coding with Cursor. Save 32+ hours of development time with Next.js, Supabase, Auth, Payments, and everything you need to launch faster.
Cursor Rules & MCP
AI-assisted development with Supabase MCP integration
Save 32+ Hours
Skip the boilerplate and focus on your product
Complete Backend
Supabase DB, Auth, Storage & Stripe payments
Lifetime Access
One-time payment, unlimited projects
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.
Haskell is a purely functional programming language.
Delphi is an event-driven programming language based on Object Pascal.
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
function IsPalindrome(const S: string): Boolean;
var
CleanStr: string;
I: Integer;
begin
// Remove non-alphanumeric characters and convert to lowercase
CleanStr := '';
for I := 1 to Length(S) do
if S[I].IsLetterOrDigit then
CleanStr := CleanStr + S[I].ToLower;
// Check if the string is equal to its reverse
Result := CleanStr = ReverseString(CleanStr);
end;
// Example usage
WriteLn(IsPalindrome('A man, a plan, a canal: Panama')); // True
WriteLn(IsPalindrome('race a car')); // False
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]
procedure BubbleSort(var Arr: array of Integer);
var
I, J, Temp: Integer;
begin
for I := High(Arr) downto Low(Arr) do
for J := Low(Arr) to I - 1 do
if Arr[J] > Arr[J + 1] then
begin
Temp := Arr[J];
Arr[J] := Arr[J + 1];
Arr[J + 1] := Temp;
end;
end;
// Example usage
var
Arr: array of Integer;
begin
SetLength(Arr, 7);
Arr[0] := 64; Arr[1] := 34; Arr[2] := 25; Arr[3] := 12;
Arr[4] := 22; Arr[5] := 11; Arr[6] := 90;
WriteLn('Original array:');
PrintArray(Arr);
BubbleSort(Arr);
WriteLn('Sorted array:');
PrintArray(Arr);
end;
Convert Haskell to Python
Open ConverterConvert Haskell to JavaScript
Open ConverterConvert Haskell to TypeScript
Open ConverterConvert Haskell to Java
Open ConverterConvert Haskell to C
Open ConverterConvert Haskell to C++
Open ConverterConvert Haskell to C#
Open ConverterConvert Haskell to Go
Open ConverterConvert Haskell to Dart
Open ConverterConvert Haskell to Ruby
Open ConverterConvert Haskell to Swift
Open ConverterConvert Haskell to Kotlin
Open ConverterConvert Haskell to Rust
Open ConverterConvert Haskell to Scala
Open ConverterConvert Haskell to PHP
Open ConverterConvert Haskell to R
Open ConverterConvert Haskell to Julia
Open ConverterConvert Haskell to MATLAB
Open ConverterConvert Haskell to Lua
Open ConverterConvert Haskell to Assembly
Open ConverterConvert Haskell to Perl
Open ConverterConvert Haskell to Groovy
Open ConverterConvert Haskell to Elixir
Open ConverterConvert Haskell to F#
Open ConverterConvert Haskell to Clojure
Open Converter