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
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to