Fix bytevector->hex-string.
[guile-toxcore.git] / README.md
1 guile-toxcore
2 =============
3
4 Guile Scheme bindings for [libtoxcore](https://github.com/irungentoo/toxcore).
5
6 Usage
7 -----
8
9 There are 2 ways to use guile-toxcore. The `(tox)` module exports a
10 high-level API that performs error checking and abstracts away the handling of
11 foreign data types and pointers. This is almost certainly the API that you
12 want to use. However, if you desire to build up your own abstractions on top
13 of the low-level C bindings or the high level bindings do not do what you
14 want, use the `(tox bindings)` module.
15
16 To use the high-level API:
17
18 ```
19 (use-modules (tox))
20
21 (with-tox (make-tox)
22 ;; TODO: Call your friend to ask if they've read their SICP today.
23 (display "Hello, Tox!\n"))
24 ```
25
26 To use the low-level API:
27
28 ```
29 (use-modules (tox bindings))
30
31 (define tox (tox-new 1))
32
33 (tox-kill tox)
34 ```
35
36 Dependencies
37 ------------
38
39 * libtoxcore
40 * GNU Guile >= 2.0.5
41
42 Install
43 -------
44
45 ```
46 ./autogen.sh &&
47 ./configure &&
48 make &&
49 sudo make install
50 ```
51
52 License
53 -------
54
55 Copyright © 2014 David Thompson <davet@gnu.org>
56
57 guile-toxcore is free software: you can redistribute it and/or modify it under
58 the terms of the GNU General Public License as published by the Free Software
59 Foundation, either version 3 of the License, or (at your option) any later
60 version.
61
62 guile-toxcore is distributed in the hope that it will be useful, but WITHOUT
63 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
64 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
65 details.
66
67 You should have received a copy of the GNU General Public License along with
68 this program. If not, see <http://www.gnu.org/licenses/>.