guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Trouble trying to use some modules from the docs


From: Matt Wette
Subject: Re: Trouble trying to use some modules from the docs
Date: Sat, 2 Jun 2018 10:21:58 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

On 06/02/2018 10:13 AM, Zelphir Kaltstahl wrote:
Hello Guile mailing list members,

Guile Scheme beginner here.

I want to play with network programming things in Guile a little, but I
cannot figure out how to use the modules, which are described in the
docs at
https://www.gnu.org/software/guile/manual/html_node/Network-Sockets-and-Communication.html
.

There is no (use-modules ...) example anywhere I looked and I could also
not find any examples in search engines. For other modules I somehow
always found an example (use-modules ...) somewhere, mostly in the docs.

Is there some inherent way of simply knowing how to import a module? I
did not read all of the docs from front to back, but that really should
not be necessary in order to use some part of it.

What I've tried already:

(use-modules (ice-9 posix))  ; maybe the same way many other things are
imported?
(use-modules (posix))  ; maybe it's its own module?
(use-modules (std posix))  ; maybe "std" for "standard" works?

None of those worked in the REPL.

A search on Github:

https://github.com/cky/guile/search?utf8=%E2%9C%93&q=use-modules+posix&type=

Yielded the following interesting result:

https://github.com/cky/guile/blob/c1eb929258fc6b9653d31c0d1bc654d9e300d4e5/module/ice-9/boot-9.scm#L1445

But why does (use-modules (ice-9 posix)) not work then? I am out of ideas.

Can you point me to the part of the docs, which explain how to always
know how to import a module, if there is such? Or, if there is no such
thing, can you help me out in this case?

Regards,

Zelphir

The manual is not crystal clear in all uses of procedures.  The posix 
procedures are built-in so
no `(use-module ...)' is necessary.  The test is to just type the procedure 
name. You will get a
procedure object in return. see example below. (Note this does not work with 
syntax.)

mwette$ guile
GNU Guile 2.2.3
Copyright (C) 1995-2017 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.

scheme@(guile-user)> getaddrinfo
$1 = #<procedure getaddrinfo (_ #:optional _ _ _ _ _)>

scheme@(guile-user)>






reply via email to

[Prev in Thread] Current Thread [Next in Thread]