Hello!
In the attachment you will find a file, in which I try to access Java from
Haskell using the Java bridge for functional languages.
For details see
http://sourceforge.net/projects/jvm-bridge/
and
http://dapissarenko.com/resources/2005_02_17_eigenvaluesJava/2005_02_17_eigenva
luesJava.pdf
When I try to compile the attached file using
ghc +RTS -c -RTS -package javavm -c EigenvalueCalculatorHaskell.hs -o
EigenvalueCalculatorHaskell.o
I get the error
EigenvalueCalculatorHaskell.hs:28: parse error on input `putStrLn'
Unfortunately, I have not the slightest idea about how to fix/isolate it (I
already commented out almost the whole code).
Please tell me what I could try to correct the error. I appreciate ANY hint.
Many thanks in advance
Dmitri Pissarenko
PS: The source code of the files related to EigenvalueCalculatorHaskell.hs is
located at
http://dapissarenko.com/resources/2005_02_17_eigenvaluesJava/2005_02_17_lik.zip
--
Dmitri Pissarenko
Software Engineer
http://dapissarenko.com
module EigenvalueCalculatorHaskell where
{
import Class_MathLibEigenvalueCalculator;
import EigenvalueCalculatorHaskell_JVM;
import JVMBridge;
import IO;
calculateEigenvalues :: Array (Int, Int) Double -> [Double]
calculateEigenvalues matrix = (do
{
calculateEigenvalues_JMathLibEigenvalueCalculator_ArrayArrayJdouble matrix
} :: JVM ());
-- calculateEigenvalues matrix = (do
-- {
-- calculateEigenvalues_JMathLibEigenvalueCalculator_ArrayArrayJdouble matrix
-- } :: JVM ());
main :: IO ();
main = runWithClasspath ["./"](do
{
let matrix1 = (array ((1,1),(3,3)) [((1,1), 0.0), ((1,2), 0.0), ((1,3),-2.0), ((2,1), 0.0), ((2,2), 7.0), ((2,3), 0.0), ((3,1), 0), ((3,2), 0), ((3,3), -3)]);
--let eigenVal = calculateEigenvalues_JMathLibEigenvalueCalculator_ArrayArrayJdouble (matrix1);
-- eigenvalues <- (do {calculateEigenvalues_JMathLibEigenvalueCalculator_ArrayArrayJdouble matrix1} :: JVM ());
--eigenvalues <- (calculateEigenvalues_JMathLibEigenvalueCalculator_ArrayArrayJdouble matrix1);
-- putStrLn "Eigenvalues of matrix1 (start)";
-- putStrLn (show eigenvalues);
putStrLn "Eigenvalues of matrix1 (end)";
-- callIO (putStrLn ("end"));
{- let matrix2 = array ((1,1),(3,3)) [((1,1), 1.0), ((1,2), 0.0), ((1,3), 2.0), ((2,1), 0.0), ((2,2), 5.0), ((2,3), 0.0), ((3,1), 3), ((3,2), 0), ((3,3), 2)];
eigenvalues <- calculateEigenvalues matrix2;
putStrLn "Eigenvalues of matrix2 (start)";
putStrLn (show eigenvalues);
putStrLn "Eigenvalues of matrix2 (end)";
let matrix3 = (array ((1,1),(2,2)) [((1,1), 3.0),
((1,2), 0.0), ((2,1), 4.0), ((2,2), 5.0)]);
eigenvalues <- calculateEigenvalues matrix3;
putStrLn "Eigenvalues of matrix3 (start)";
putStrLn (show eigenvalues);
putStrLn "Eigenvalues of matrix3 (end)";
let matrix4 = (array ((1,1),(2,2)) [((1,1), -1.0),
((1,2), 3.0), ((2,1), -2.0), ((2,2), 4.0)]);
eigenvalues <- calculateEigenvalues matrix4;
putStrLn "Eigenvalues of matrix4 (start)";
putStrLn (show eigenvalues);
putStrLn "Eigenvalues of matrix4 (end)";
let matrix5 = (array ((1,1),(2,2)) [((1,1), 0.0),
((1,2), -2.0), ((2,1), 1.0), ((2,2), -3.0)]);
eigenvalues <- calculateEigenvalues matrix5;
putStrLn "Eigenvalues of matrix5 (start)";
putStrLn (show eigenvalues);
putStrLn "Eigenvalues of matrix5 (end)"; -}
} :: JVM ());
}
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe