IRC channel logs


back to list of logs

<nalaginrut>morning guilers~
***jao is now known as Guest54116
<civodul>Hello Guilers!
<civodul>anyone tried doing a NumPy-style library for Guile?
<civodul>it seems that the guts of it is essentially a set of methods so arithmetic operations work on arrays
<civodul>well, there's more than just that, of course
<nalaginrut>how about libctl? But I haven't look in detail
<nalaginrut>maybe different from numpy
<civodul>that seems to be a different area, no?
<nalaginrut>ah, maybe it is ;-)
<lloda>i recommend against libctl.
<lloda>(although it is what got me into Guile...)
<lloda>libctl is an intrusive wrapper that hides Guile from the user.
<lloda>it messes with your build system too.
<lloda>numpy doesn't hide python, so it isn't like libctl.
<lloda>the easiest number 1 step for numerics in Guile is having bindings to libraries.
<civodul>which libraries, for example? GSL?
<lloda>half of GSL is itself wrappers, isn't it?
<lloda>I'd start with BLAS/LAPACK.
<lloda>eventually GSL too, yes.
<lloda>BLAS/LAPACK means you need to be able to manipulate arrays. A lot of what you need falls out of that.
<civodul>yeah, well GSL implements BLAS too, but sequentially
<civodul>lloda: you're doing numerics with Guile, aren't you?
<lloda>I do some, but I also tend to drop down to C++ very quickly.
<lloda>I have guile-ploy (array manipulation library, broken and incomplete) and guile-ffi-fftw (wrapper for FFTW) up in Gitorious.
<lloda>I have C++ wrappers for BLAS/LAPACK that I can't publish, I'd love to have wrappers in the style of guile-ffi-fftw for that.
<lloda>I get the GC warning 'Repeated allocation of very large block' fairly often, too
<lloda>when handling large arrays
<lloda>once I put a big matrix in a smob just to make sure I could control where and when it was live.
<civodul>lloda: guile-ploy looks very cool!
<civodul>you get the warning when allocating big vectors/arrays?
<lloda>guile-ploy is an experiment. some pieces are usable I think, and I do use them (from, reshape, cat), but it overall it's inconsistent, clumsy and slow.
<lloda>the warning happens mostly when debugging. Like I call a backtrace and suddently there's a lot of allocation.
<civodul>hmm, ok
<civodul>anyway, looks like a cool experiment
<civodul>and it's an achievement to not use GOOPS for that ;-)
<lloda>it suffers for it, probably
<lloda>i wanted to ignore syntax issues, because I wasn't even sure of the behavior I wanted
<lloda>and even though I said it wasn't good, it'd be great to have some users/critics ;)
<wingo_>woo, i have type and range inference working
<davexunit>wingo_: hacking the good hack!
***linas__ is now known as linas