diff -Naur -x '*~' /Programs/Compile/1.10.2/bin/Compile /Programs/Compile/1.10.2+cabal/bin/Compile
--- /Programs/Compile/1.10.2/bin/Compile	2008-02-05 23:03:55.000000000 -0700
+++ /Programs/Compile/1.10.2+cabal/bin/Compile	2008-04-09 21:18:26.000000000 -0700
@@ -1344,5 +1344,46 @@
 
 ##################################################
 
+if [ "$recipe_type" = "cabal" ]
+then
+   Quiet ghc -V || Die "This is a cabal recipe and you don't seem to have GHC installed."
+   [ "$runhaskell" ] || runhaskell="runhaskell"
+   if [ ! "$override_default_options" = "yes" ]
+   then
+      cabal_variables=(
+         "${cabal_variables[@]}"
+         "--prefix=$target"
+      )
+   fi
+   if [ ! -z "$goboIndex" ]
+   then
+      cabal_variables=(`echo ${cabal_variables[@]} | sed "s,$target,$goboIndex,g"`)
+   fi
+   build_tree_if "true"
+   for f in Setup.lhs Setup.hs ; do
+      [ -e $f ] && cabal_setup="$f";
+   done
+   [ ! -z "$cabal_setup" ] || Die "Cabal Setup.hs or Setup.lhs not found"
+   if ! [ "$do_build" = "no" ]
+   then
+      $runhaskell "$cabal_setup" configure "${cabal_variables[@]}" || wrap_fail "Configure failed"
+      is_function_set pre_build && pre_build
+      $runhaskell "$cabal_setup" build "${build_variables[@]}" || wrap_fail "Build failed."
+   fi
+   Boolean "no-install" && exit
+   is_function_set pre_install && pre_install
+   if [ ! "$do_install" = "no" ]
+   then
+      # SandboxInstall?
+      $runhaskell "$cabal_setup" install "${install_variables[@]}" || wrap_fail "Installation failed."
+   fi
+   do_symlink --no-make "$appname" "$versionnumber"
+   check_direct_dependencies
+   is_function_set post_install && post_install
+   wrapup
+fi
+
+##################################################
+
 Die "Unsupported configuration in recipe '$recipe'."
 
diff -Naur -x '*~' /Programs/Compile/1.10.2/bin/MakeRecipe /Programs/Compile/1.10.2+cabal/bin/MakeRecipe
--- /Programs/Compile/1.10.2/bin/MakeRecipe	2008-02-05 23:03:55.000000000 -0700
+++ /Programs/Compile/1.10.2+cabal/bin/MakeRecipe	2008-04-09 21:05:17.000000000 -0700
@@ -239,6 +239,12 @@
 then
    Log_Normal "$packagename $versionnumber build system seems to be based on CMake."
    echo "recipe_type=cmake" >> "$recipefile"
+elif egrep -q "Setup.l?hs" "$file_contents"
+then
+   # Note: check Haskell Cabal before regular configure because cabal
+   # will oftent invoke autoconf operations
+   Log_Normal "$packagename $versionnumber build system seems to be based on Haskell Cabal."
+   echo "recipe_type=cabal" >> "$recipefile"
 elif grep -q "configure.in$" "$file_contents" \
 || grep -q "configure.ac$" "$file_contents"
 then
