[Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread Patrick Perry

New version!

The blas package is a set of bindings to the BLAS (Basic Linear Algebra
Subprograms) library.

On Hackage:

http://hackage.haskell.org/cgi-bin/hackage-scripts/package/blas-0.7

What's new:

* Get rid of most functional dependencies in favor of type families.
  There is one remaining functional dependency that cannot be gotten
  rid of until GHC implements equality constraints in superclass
  contexts.
* Put the right superclass constraints in  ReadMatrix/ReadBanded.
* Fix freeze/thaw functions.  They used to be awkward to use.
* Fix a bug in getting a row view of a banded matrix.
* Make sure no NaNs/Infinities/Denormals are used when testing.
* Documentation.
* Export functions for writing QuickCheck tests.
* Remove Perm and Diag.  These will be in the LAPACK bindings.
* Get rid of UnsafeIOToM type class.
* Lots of INLINE everywhere.  This will improve performance (?)
* Switch to autoconf for build system.

Requisite blog post:

http://quantile95.com/2009/01/09/new-haskell-blas-bindings/

Not much example code.  Here's some old stuff:

 http://github.com/patperry/blas/tree/master/examples/LU.hs

Thanks for listening.  Any feedback is always welcome.


Patrick

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread Patrick Perry
Here's the haddock documentation; I'm not sure if Hackage honors {-#  
OPTIONS_HADDOCK hide #-} when it displays the exposed modules:


http://quantile95.com/blas/


Patrick

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread David Waern
2009/1/10 Patrick Perry patpe...@stanford.edu:
 Here's the haddock documentation; I'm not sure if Hackage honors {-#
 OPTIONS_HADDOCK hide #-} when it displays the exposed modules:

 http://quantile95.com/blas/

It should, so If it doesn't then please tell us about it. We have a trac at:

  http://trac.haskell.org/haddock/

David
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread Patrick Perry

Hi David,

The problem is with Hackage, not with haddock.


Patrick

On Jan 10, 2009, at 3:38 AM, David Waern wrote:


2009/1/10 Patrick Perry patpe...@stanford.edu:

Here's the haddock documentation; I'm not sure if Hackage honors {-#
OPTIONS_HADDOCK hide #-} when it displays the exposed modules:

http://quantile95.com/blas/


It should, so If it doesn't then please tell us about it. We have a  
trac at:


 http://trac.haskell.org/haddock/

David


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread Ross Paterson
On Sat, Jan 10, 2009 at 02:46:05AM -0800, Patrick Perry wrote:
 Here's the haddock documentation; I'm not sure if Hackage honors {-#  
 OPTIONS_HADDOCK hide #-} when it displays the exposed modules:

 http://quantile95.com/blas/

Who do you want the same modules to be both exposed and hidden?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread David Waern
2009/1/10 Patrick Perry patpe...@stanford.edu:
 Hi David,

 The problem is with Hackage, not with haddock.

Oops, Sorry. I misread Hackage as Haddock :)

David
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread Patrick Perry
The reason I want to expose modules but hide the documentation is  
because there are a lot of unsafeX functions I want to provide  
access to, but which 99% of users don't care about.  The array library  
does the same thing.



Patrick

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread Eugene Kirpichov
Why don't you put them into a separate non-hidden Unsafe module and
provide documentation for it? Users who don't care simply won't look
there, whereas users who do care (for whom you are providing access)
will still have a possibility to do so.

2009/1/10 Patrick Perry patpe...@stanford.edu:
 The reason I want to expose modules but hide the documentation is because
 there are a lot of unsafeX functions I want to provide access to, but
 which 99% of users don't care about.  The array library does the same thing.


 Patrick

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread Patrick Perry

Thanks for the suggestion!

Done and uploaded to hackage.


Patrick

On Jan 10, 2009, at 9:07 AM, Eugene Kirpichov wrote:


Why don't you put them into a separate non-hidden Unsafe module and
provide documentation for it? Users who don't care simply won't look
there, whereas users who do care (for whom you are providing access)
will still have a possibility to do so.

2009/1/10 Patrick Perry patpe...@stanford.edu:
The reason I want to expose modules but hide the documentation is  
because
there are a lot of unsafeX functions I want to provide access to,  
but
which 99% of users don't care about.  The array library does the  
same thing.



Patrick

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread Henning Thielemann
Patrick Perry schrieb:
 The reason I want to expose modules but hide the documentation is
 because there are a lot of unsafeX functions I want to provide access
 to, but which 99% of users don't care about.  The array library does the
 same thing.

Alternatively, the DEPRECATED pragma may prevent programmers from using
these functions too extensively. However, this may be considered abuse
of this pragma. I think the Unsafe module is the cleanest solution.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe