RE: guile 3.0.7: bitvector-copy not found

2024-01-21 Thread M
IIRC it’s not in the (guile) module, you need to import the appropriate module 
(I don’t recall which one).



RE: can't export conditional variable set with 'cond'

2024-02-01 Thread M
>I think this has something to do with compilation indeed. More specifically, 
>it is caused by cross module inlining [1]. You probably need to declare your 
>env module as not declarative by setting #:declarative? to #f inside the 
>define-module form of env. I think the compiler inlines varB somehow. Not 
>super sure, I am no Guile expert but you could inspect the assembly for main 
>to see what the compiler did.

You shouldn’t need to do that – definitions / variables that are set! within 
the same module are (modulo bugs, which apparently exist) are (supposedly) 
recognised as non-declarative:

>To allow Guile to reason about the values of top-levels from a module, a 
>module can be marked as declarative. This flag applies only to the subset of 
>top-level definitions that are themselves declarative: those that are defined 
>within the compilation unit, and not assigned (set!) or redefined within the 
>compilation unit. 
> By default, modules are compied declaratively if […].

(Technically it doesn’t say that the compiler will actually act according to 
this flag, but I think it’s clear what’s meant here.)




RE: can't export conditional variable set with 'cond'

2024-02-01 Thread M
IMO this looks like a minimalised reproducer for a problem encountered in 
practice.

If you are going to reify variables, I would propose boxes instead, which 
simply hold a single value and hence are have very straightforward semantics 
and are very close to the semantics of variables.

Parameters have more involved semantics (reading and setting depends on the 
dynamic environment, see e.g. ‘parameterize’, also see the bit about conversion 
functions or whatever they are called), which might or might not be desired, 
depending on what you are doing. (With the provided code, it is hard to tell).

Best regards,
Maxime Devos


RE: Getting all symbols in a Scheme file as a list

2024-02-04 Thread M


>Onderwerp: Getting all symbols in a Scheme file as a list

The following will give you a list of all the symbols (unless I made some 
syntax errors) (also replace ‘ by a proper quote, e-mail program is corrupting 
it):

(use-modules (ice-9 match))
(define (all-symbols s-exp)
  (match s-exp
((? symbol? a) (list a))
((a . b) (append (all-symbols a) (all-symbols b)))
   ;; insert rules for vectors and arrays
[…]
(_ ‘(
[ also open file with open-input-file, apply ‘read’ to the port and pass the 
result to all-symbols, in a loop, and append the results together. ].

Doesn’t seem useful for what you are mentioning later, though …

>I'm trying to write a Guile script to trace symbol definition and reference
between modules in a large Guile repo (GNU/Guix), for the purposes of large
scale refactoring.

There is no such thing as symbol definitions in Scheme – you can make symbols 
with symbol->string, but you can’t define a symbol to anything, symbols simply 
are.

You can, however, define variables, which have a symbol as name (and that name 
may depend on context in case of hygienic macros or renamed imports/exports in 
modules).

>I'm wondering how I could programmatically get all the values in a 
Scheme file
as an S-expression. From the manual, I know that the REPL has meta keyword
',binding' and ',apropos'
 
which let
you search and list all bindings in accessible to a module. These are 
exactly
what I need only, since they're meta-commands, they don't produce Scheme
expressions.

>Does anyone have any pointers? Should I go down the route of,

>    (open-input-pipe (string-append "guile -l" file "-c ,binding"))

>? Seems a little bit baroque to me, I'd expect a simpler way of doing 
it. Any
libraries anyone knows of?

No. The quoting is incorrect when file has spaces, \, …, guile in PATH might 
not be the Guile that is being run, … (For the former, consider 
open-input-pipe*.)

You can probably find a simpler way of doing it by locating where “,binding” is 
implemented (in the Guile source code). It probably uses the module reflection 
API. This API is documented in

https://www.gnu.org/software/guile/manual/html_node/Module-System-Reflection.html

However, the documentation is incomplete – IIRC there is a procedure 
‘module-bindings’ to find a list of top-level definitions, but it doesn’t seem 
to be documented.

To find what modules a module uses, there is module-uses, though I doubt it is 
reliable w.r.t. optimisation, inlining, uses of (@ (module name) variable), …

So, instead, I would propose to instead work  on the Tree-IL level 
(https://www.gnu.org/software/guile/manual/html_node/Tree_002dIL.html). In 
particular, see  for definitions and 
, for uses of other modules.

This also allows for more fine-grained information – e.g. these  
etc. objects contain the location in the source code, and if a  is 
inside a  then you know that it is the procedure (assuming it 
is a procedure) of the  that uses the variable of the 
.

(See 
https://www.gnu.org/software/guile/manual/html_node/The-Scheme-Compiler.html 
for how to compile stuff – also, IIRC, the compilation procedure accepts ports 
instead of only S-expressions, despite what the example suggests.)

Best regards,
Maxime Devos


Problems when configuring Guile

2016-12-03 Thread M
Hello,

I am trying to install Guile. However, I get the following error message at
the ./configure stage:

checking for libgmp... no
configure: error: GNU MP 4.1 or greater not found, see README

I have installed gmp 6.1.1 (with gmp.h present in the folder) and use the
following command:

./configure --prefix=/home/user/apps/guile-2.0.13
--with-libgmp-prefix=/home/user/apps/gmp-6.1.1/
CPPFLAGS='-I/home/user/apps/gmp-6.1.1/'
LDFLAGS='-L/home/user/apps/gmp-6.1.1/'

Still it cannot find my gmp library.

Thankful for any help.


Problem when trying to 'make' for guile

2016-12-07 Thread M
Hello,

I'm trying the 'make' command for the installation, but get this:

make -C libguile scmconfig.h
make[1]: Entering directory `/home/user/apps/guile-2.0.13/libguile'
  GEN  gen-scmconfig
/home/user/apps/gc-7.2/include/: file not recognized: Is a directory
collect2: error: ld returned 1 exit status
make[1]: *** [gen-scmconfig] Error 1
make[1]: Leaving directory `/home/user/apps/guile-2.0.13/libguile'
make: *** [libguile/scmconfig.h] Error 2

Not sure what file it's trying to find in /home/user/apps/gc-7.2/include/.
Any advice? Thanks.


Inspekt3d: A 3D Model Viewer Prototype

2018-09-12 Thread Stewart M.
Hello,

I have written a program using Guile called Inspekt3d.  It is a viewer for 
Libfive (a 3D modeling system which also uses Guile).  Inspekt3d is fairly 
simple at this point, as a working prototype.  The program uses the 
Guile-OpenGL package for displaying models.  It is designed to work within a 
REPL, e.g. Geiser and Emacs.  Any comments or criticism would be appreciated.

Libfive: https://www.libfive.com
Inspekt3d: https://www.github.com/sjm-tl-gh/inspekt3d

--
Stewart Milberger
Kavalogic, Inc.

Re: Naming conventions

2020-07-07 Thread Bonface M. K.
nts and puts them into the new value: so
> (make-list 3 'foo) => (foo foo foo), whereas (list 1 2 3) => (1 2 3).
>
> Most of this and a great deal more can be found in Riastradh's Lisp Style
> Guide at <https://mumble.net/~campbell/scheme/style.txt>.  Like all style
> guides it's a bit fussy, but the first half does represent the consensus of
> the Lisp community these last 60 years.
>
> Note that Riastradh's reference to Scheme names being case-insensitive is
> obsolete, although a few implementations still do it (in Common Lisp it is
> still true).  The section on pagination is obsolete too: it comes down from
> the days when editors typically could not fit a whole large file into
> memory and you needed to work on a file page by page (often, but not
> necessarily, the size of a printed page).  I would also say that
> single-letter variable names are fine in local contexts: there is no great
> reason to call the indices of a matrix anything but i and j.  In general,
> the wider the scope of a name, the less that using abbreviation makes sense
> for it.
>
>
> John Cowan  http://vrici.lojban.org/~cowanco...@ccil.org
> Arise, you prisoners of Windows / Arise, you slaves of Redmond, Wash,
> The day and hour soon are coming / When all the IT folks say "Gosh!"
> It isn't from a clever lawsuit / That Windowsland will finally fall,
> But thousands writing open source code / Like mice who nibble through a
> wall.
> --The Linux-nationale by Greg Baker

-- 
Bonface M. K. (https://www.bonfacemunyoki.com)
One Divine Emacs To Rule Them All
GPG key = D4F09EB110177E03C28E2FE1F5BBAE1E0392253F



Re: Naming conventions

2020-07-07 Thread Bonface M. K.
Hi Zelphir \o \o

Zelphir Kaltstahl  writes:

> Hi Simen!
>
> (comments in between)
>
> On 07.07.20 13:05, Simen Endsjø wrote:
>>
>> Hi, I'm quite new to scheme/lisp and haven't coded in a dynamic
>> language in many
>> years. I notice there are some naming conventions, but I'm not sure
>> how they are
>> used/supposed to be used.
>>
>> - *symbol* :: ? Global scope variable?
>> - SYMBOL :: ? Also global scope variable?
>> - %symbol :: ? private function?
>> - %symbol% :: ? private variable?
>
>
> I have seen the % being used for objects. For example in the Racket docs
> for its GUI library:
> https://docs.racket-lang.org/gui/windowing-overview.html#%28part._.Creating_.Windows%29
>
> I am not sure, whether this is a Racket-only thing.
>
>

It's not only confined in Racket. I've also seen in Guile(which is a
scheme too), moreso in the GUIX project

>> - symbol* :: ? extended version of function with same name?
>> - symbol? :: predicate function returning bool
>> - symbol! :: Non-pure/mutating function?- <> :: ?
>> -  :: ? As a macro parameter, and symbol will be defined  in
>> parent scope..?
>> - <> :: ?
>> - type1->type2 :: convertion from type1 to type2
>>
>> What does all of these mean? Are some of them
>> anti-patterns/deprecated? Are there others?
>>
>> I also see functions named type-operation and operation-type. Is one
>> preferable to the other?
>

There was an email that explained this. IMHO this depends on the project
you are working and what part of the code base you are touching. Like
you could do a `vector-length` with makes sense. But also `make-vector`
when you have a struct-like data structure makes sense too. The former
being type-operation and the latter being operation-type. Now this is
up to your good sense IMHO.

>
> Regards,
>
> Zelphir

-- 
Bonface M. K. (https://www.bonfacemunyoki.com)
One Divine Emacs To Rule Them All
GPG key = D4F09EB110177E03C28E2FE1F5BBAE1E0392253F



Re: My Guile Hacker Handbook

2020-07-23 Thread Bonface M. K.
Jérémy Korwin-Zmijowski  writes:

> Hello hackers !
>
> I would liko to introduce my (almost started) book to you : 
> https://jeko.frama.io
>

Thanks for sharing!

> It aims to provide a tutorial-like way to learn Guile. But also to get
> used to tests.
>
> As I am not an experienced Guile hacker, the book will emerge
> accordingly to my Guile journey haha.
>
> Hope it can help someone to jump in and hack.
>

I am that person ;)

> Cheers,
>
> Jérémy
>
>

-- 
Bonface M. K. (https://www.bonfacemunyoki.com)
One Divine Emacs To Rule Them All
GPG key = D4F09EB110177E03C28E2FE1F5BBAE1E0392253F



Re: My Guile Hacker Handbook

2020-07-23 Thread Bonface M. K.
Jérémy Korwin-Zmijowski  writes:

> Le jeudi 23 juillet 2020 à 13:32 +0300, Bonface M. K. a écrit :
>> I am that person ;)
>
> Please leave me your feedback on anything !
>

Cool. I'll do that over the weekend or early next week :)

> Jérémy
>

-- 
Bonface M. K. (https://www.bonfacemunyoki.com)
One Divine Emacs To Rule Them All
GPG key = D4F09EB110177E03C28E2FE1F5BBAE1E0392253F



How do you record output of both STDERR and STDIN to a string?

2020-09-10 Thread Bonface M. K.
Hi all. Is there a way to "record" the output from both *stderr* and
*stdout* from a guile process if you wrap it around a "system" call to a
string? Here's something that works. It's not /exactly/ what I want
because "open-input-pipe" runs the command in a subprocess.

--8<---cut here---start->8---
(define (run-job job)
  (let* ((port (open-input-pipe job))
 (str (read-line port)))
(close-pipe port)
str))

(display (format #t "~s ~s ~s"
 "padding"
 (run-job "echo hello")
 "testing"))
--8<---cut here---end--->8---

I've tried out creating a fork:

--8<---cut here---start->8---
(define (run-job thunk)
  (call-with-output-string
(λ (port)
  (match (pipe)
((in . out)
 (match (primitive-fork)
   (0 ; child
(close in)
(with-error-to-port out thunk))
   ((= waitpid (pid . exit-code)) ;; parent
(close out)
(display (read-line in) port

;; Doesn't work:
(display (format #t "~s ~s ~s"
 "padding"
 (run-job (system "echo hello"))
 "testing"))
--8<---cut here---end--->8---

Ideally for a correct output without errors, I'd like to have as output:

--8<---cut here---start->8---
 "padding" "hello" "testing"
--8<---cut here---end--->8---

and in the event I have an error, like say, by running (system "ech 
hello"), I get
the output:

--8<---cut here---start->8---
"padding" "sh: command not found" "testing""
--8<---cut here---end--->8---

PS: I'm new to Guile :)

-- 
Bonface M. K. (https://www.bonfacemunyoki.com)
One Divine Emacs To Rule Them All
GPG key = D4F09EB110177E03C28E2FE1F5BBAE1E0392253F


signature.asc
Description: PGP signature


Re: How do you record output of both STDERR and STDIN to a string?

2020-09-10 Thread Bonface M. K.
Hi!

Roel Janssen  writes:

[...]
> Having spent a day on this myself, this is the best I had come up with:
>
> (define (virtuoso-isql-query query)
>   "Executes QUERY via ISQL and returns a both an ERROR-PORT and a PORT
> to read CSV output from."
>   (let* ((tmp(getenv "TMPDIR"))
>  (error-port (mkstemp! (string-append (if tmp tmp "/tmp") "/sg-
> XX")))
>  (port   (open-input-pipe
>   (format #f "~a ~a -U ~a -P ~a verbose=off
> csv_rfc4180=on csv_rfc4180_field_separator=, exec='~:a' 2> ~a"
>   (isql-bin) (isql-port) (rdf-store-
> username)
>   (rdf-store-password)
>   (string-append "SPARQL " query)
>   (port-filename error-port)
> (setvbuf port 'block 4096)
> (values error-port port)))
>
> I certainly hope someone can come up with a better solution!
>

Thanks. If I don't find anything, I'll give it a shot :)
> Kind regards,
> Roel Janssen
>
>
>
>
>

-- 
Bonface M. K. (https://www.bonfacemunyoki.com)
One Divine Emacs To Rule Them All
GPG key = D4F09EB110177E03C28E2FE1F5BBAE1E0392253F


signature.asc
Description: PGP signature


Re: Characters - Guile Hacker Handbook

2020-10-16 Thread Bonface M. K.
Jérémy Korwin-Zmijowski
 writes:

> Hey ! 
> Thank you all for your feedback.
> I appreciate ! 
> On my way for the next chapter ;-)
> Jérémy
>

I'm not sure if this is reasonable to ask, but
would it be practical if you posted on this ML
once you finished each chapter?

PS: I'm following the book. I'll try to post PR's
against some minor things I noticed.

-- 
Bonface M. K. <https://www.bonfacemunyoki.com> 
Chief Emacs Mchochezi / Rieng ya software sare
Curator of <https://upbookclub.com> / Twitter: @BonfaceKilz
GPG Key: D4F09EB110177E03C28E2FE1F5BBAE1E0392253F


signature.asc
Description: PGP signature


Re: zenity bindings

2016-03-28 Thread Christopher M. Hobbs
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On Mon, 28 Mar 2016 20:00:54 +0100
ra...@openmailbox.org wrote:

> Hello
> 
> I've made a guile interface to the zenity program: 
> . It is released under GPL3.
> 
> This allows people to easily make simple dialog boxes from guile
> scheme programs. Quite useful!
> 
> Currently it covers: Calendar, File Selection, List, Checklist, 
> Messages, Password Entry, Text Entry.
> 
> 
> 

This is great, thanks!!

- -- 
Please use GPG!
http://libernil.net/cmhobbs.gpg.asc
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQIcBAEBCAAGBQJW+ecnAAoJEP4mb/sadwhoJZkQAMZbqDVilMzmSVRYTMmYq/+o
iGwXJLTfictaKEIrOdWCG8M7FJCD2JdVTu+Y39X+yfET5XhGMLHHRlkUi72Zb1UH
/x23vXiQpwfaAVDp71ThBCkQ+vKEGyc9lR1tEvzFtVm0jmLJcpAgDcz3tKXnphMZ
AU8/jLoyq61ozbCcRgUgsJmZ3TEY//qfzSlwuTZCxhCMhiE8FK+kIj9dxPHGCsN6
RTxvvw93Dj4mP4Q+WFCViJpNxrsnMgexGnvqLAspyONEGhOFPHJU5zVG/P5Ksm2P
w0m/kKm28KsW5oQf3tXv1I4fkcc+pGEhzzRqXzEA0lmMd3um1i2dlbBE0tVWzDiY
MNJM5ymEcV9nNHTTUG5yIlXy6sHj5AM+5AijRR01lQlM4JZd1w4b0F00rnrHqrhG
tRJJDlRj7GtQVdwJEXbxb+EIbqkpriYLp1KGcple8gh7mstY2rgWNRe2kMXTCUfl
FBklZIXJWTV0OkezZ2KLg2IQTvcCJVb6puUm9hUQyD7f8LjtMGrGSrGF74u/Yvqa
1ZetdpVkfxcVmUOFyL3sTBzVgBxD41mJLMb17EuoAIg+UyUxPNXXqHOAZmfRwK8E
FORUsyKE4JmqHLYrwMjJCHZxkySsW9srly4G/DeTinVvotjzXp9AGpepnn0wl9u3
PPeEGmD0rlY/Aj4NkLi3
=r7r7
-END PGP SIGNATURE-


Re: How do you earn money with Guile?

2016-06-03 Thread Christopher M. Hobbs
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On Fri, 03 Jun 2016 11:32:24 +0200
Arne Babenhauserheide  wrote:

> Hi,
> 
> > “I would take Guile seriously when someone earned money with it.”
> > — someone from IRC
> 
> When I saw this on IRC, I realized that the there’s something to it:
> When a professional sees something new and is unsure whether it can be
> useful to business, it’s sensible to first check whether someone else
> already earns money with it. That doesn’t work for the first person,
> but it works for all others.
> 
> 
> So I want to ask you: Do you earn part of your income by programming
> with Guile?
> 
> 
> I’ll go first: I used Guile for a few tasks for my PhD thesis (which I
> got paid for).
> 
> The first main task was to assemble commandlines for my plotting tool
> where my previous shell scripts became a maintenance nightmare. All in
> all that’s about 300 lines of Guile Scheme. I’ll be using Guile for
> this again in the following months.
> 
> The second main task was to build an Ensemble Kalman Filter to get a
> deeper understanding of the method. That’s about 266 lines of Guile
> wisp and available online:
> https://bitbucket.org/ArneBab/wisp/src/v0.9.0/examples/ensemble-estimation.w
> 
> 
> I’d be glad to hear how you earn money with Guile!
> 
> 
> Best wishes,
> Arne Babenhauserheide
> 
> PS: Earning money with Free Software is awesome!
> 

In today's development ecosystem, I fear a language won't gain any
popular traction (and thereby cause profit to be gained) until you can
build a blog or some other inane web application in it... preferably in
under 5 minutes.  It doesn't matter how well the language does anything
else.

At the risk of derailing the thread, I think a better approach would be
to show things that guile can do.  This seems to help the popularity of
languages.

And to contribute:  I wrote a couple of bits of guile at work for
monitoring some system processes, which I was paid for.  I've also used
it in a side project related to mail processing that may someday
generate income but that's still a long way off.

cmh

- -- 
Happy Hacking!

http://libernil.net/~cmhobbs
GPG:  1200 0808 F968 47AB F489  91A3 FE26 6FFB 1A77 0868

-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQIcBAEBCAAGBQJXUcUPAAoJEP4mb/sadwhosXQQAMpVQNDi1VA3gdc10vldWOdr
IjErmy3DRnOx8sfpBtnDpL48+KnQppTGBZOldIlf0Mb9mLkWl054JMzxVIJ0r+bU
GU8xK7vpk6wBuYnYD9s8653Nd1QuBaL4RO1RsqpZ5TAAvr31NqmOIt8LPDJ/ILlH
/azHaZx/zaLICNKGlyuNalXhZITb7vlILfttOAMR4WGB1eHyT8OjlK4U4PZtPO67
FbwKYq0HWmCoXS9e5477kjKmbuI2gu3+OlDZhNP8rRxfch11iaXe09ORe8LDTVRw
Azf1YP3KxzlDLFLx57V15AdYhzVR6Ea3PojfPJPlRz0MJOkh8EMg4tQEHCwxPdau
7n6Q9U2n96yAhO4GPsiNJiN1/BxXZt6Sp3MpQbMG86MIOmv/oo/VgjtE+dXz69aM
6a/swSE/FuAOTpEEh2uKC8pQj8iJa0YnXNE2L4EOFS10QVmf4kiuaPNjkVHiNsV9
NMdryFpDafWt+0MFEJSamaIML6UFF3KTr/ySi/XzMY1ljk/fTeKy/evSkoSTmcif
x0ujcnNu7U87ws+tEs7o1W5vTTtCJuA12gxe1ItQSDvLv9coOVXtVNOnBqMkQvR3
0Aj5Ir2Q7Gv49WqfJsU6O1vHUJwQdpJkHbhqWWp/TX/dTo9t0c2DA6gu80RoZwwH
rif3i7FtsZ/SBbITmM51
=jDI7
-END PGP SIGNATURE-


getting started writing desktop applications

2016-07-17 Thread Christopher M. Hobbs
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Greetings, Guilers!

Is there a recommended library for building desktop applications?
Maybe some GTK (or maybe Tk, as old as it is) tie-ins or something to
that effect?

Thanks a ton!
cmh

- -- 
Happy Hacking!

http://libernil.net/~cmhobbs
GPG:  1200 0808 F968 47AB F489  91A3 FE26 6FFB 1A77 0868

-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQIcBAEBCAAGBQJXi7RsAAoJEP4mb/sadwhoDnkQAMG5rK5RmfehRvIxV/g+jqWd
+91Ze4kdjRXwqp668gaGy7HDKchO50LmlTmfXDutS1sOvH1xSmNTzkpoaRGMWic5
yZPvnCCXUNERx6sBrLeBd7ZHPZx4eP/W0BbrF7gMzJrUz9jFftJ31WZho2LtZf2j
ggWYLmxP04kwwbhdYqd2Ejmh5BssIGyi6792nxMVJKIbaxO4FLui8i+NKeRuVtJB
LLyJzc3MyyIDa2i+s4RrykwBs2Rk1UhQQpdxomI3j4kjwVRW4Z493QL4bJtYtyCr
SYOWQChXFqVF72ZWqX49qA5p6yJTIZuNP98NvGHL2/RzaKORKgCz0cQbpCYtzDC1
5tawKKNEPZ2fr4Nq8R3IzjPOuYp3HsPpxuB2rYqKgBjLH39uybxU3/kznKUMxQzn
pZ0WvmyWjao4QpXzP7GTxkw7w73+pOmGvCf5jhY7KyixjGlhc8M5Gr56XnfKjGEv
qX3ZIiuPZSXa5dlqv14ioYFZlyxGApHZ+eEdDXIKZuQ6uRdD46yPrfwvJdMUtBDQ
yH/rmmAxIoEc5NilxRXVkcjJ+ABCQSHjRbQo7YImJttz+03jPdFBVZRXfk7xcF9s
dkTvILscI4v0IhLJ19SMg0YUcLioPL/E5ItNpHQmUNj56zYKdoumtWtTWomHSrfb
EZrit1E+lU7SVQyJum4G
=3did
-END PGP SIGNATURE-


Re: A request to take charge of guile-zmq

2016-09-12 Thread Christopher M. Hobbs
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On Mon, 12 Sep 2016 23:02:58 +0800
Nala Ginrut  wrote:

> I plan to use guile-zmq in my work. Also, guile-zmq may play an
> important role in Artanis. 
> 
> Thanks Wingo for all previous work. If you don't mind, I would like
> to take charge of guile-zmq for improving and maintaining.
> 
> Here's the new repo:
> 
> https://github.com/NalaGinrut/guile-zmq
> 
> 
> Contributions welcome!
> Thanks!
> 

I'd be potentially interested in assisting.  I wanted to use it for a
project but encountered some compatibility issues.  Please keep us
updated and thanks to Wingo as well!

cmh

- -- 
Happy Hacking!

http://libernil.net/~cmhobbs
GPG:  1200 0808 F968 47AB F489  91A3 FE26 6FFB 1A77 0868

-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQIcBAEBCAAGBQJX1sjmAAoJEP4mb/sadwhoS0YP/jA3ywaFOEee+AEpD2YP2ups
aIOQr54oaabdlWieV2zSPRDj3nCYwYv8yXEoP/e0N96PkdMyBBP652Ozp4SIsaI+
7zZwjHcEaTHqtufnIbGECQ7snKKz6bCcPumllQzOIIQKmxtYo5hqsCQxGIwiw6Vg
y7omcCWR6RNaUNpSda5tpDeDDixIhsZuYj9kUh6dflAL063YU6kZuhOlkBK0F0lf
J0yRniin4nSLyu6SnysmKQerRzFGJAzDttLPGmxOoBybKxuh2pna5X/2eEpB0atS
AS0jnAGZNCv8Ds4EzwFRN238PAgt/G+KAAvNxtuSmAGE1mV8sdeGyolF37TlldyV
Xx/i0G943ENixMo6OmgrMJhuNvOfxMDZYpRBAgphu3tVSgTPrOL8zVvT2Biu5hQ/
L/9MpQJmoh/7cOsGtFWoIx7ZThH8yQqsdMGe3LCE7dXttMfGKA2C63C3P/R3uXQF
2XrHjcv1fYiIkJib7dJegYMZGUeUmjlOX9O7AygOPtmrpjIjX+49bHWqDmpg8q3P
ocOgkG1HKXyzWFtiHP5ZDBFY54Dy7dozp2bvns/UyIzKh3pL5n8zvgDxc4U65qam
NOALOvXL+dbjBbY3ylwEyBnuWOuC4neJOq2gTbOrr9HTwN77cHb39ZKrAzmoJSp3
FLeouutKYSb6gYoJ3bV6
=MtaD
-END PGP SIGNATURE-