| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new setup stores all configurations are parameters. This forces
everything into modules, and ensures that we can't have a module use an
unloaded config. It (unfortunatelly) also causes users to have to
specify namespaces when defining values, but ini-files (and the like)
already does that. Also, there is nothing stopping a new `set-config!'
from being defined which allows un-namespaced operation.
The commit also removes the introspection procedures. They where a bit
weird to begin with, since they only showed loaded fields. And since the
program had no way of properly serializing or deserializing them we
remove them for the time being. They would however be good to
reintroduce together with a proper menu for editing simple
configuration (see Emacs' `custom-set-variables').
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This frees it, currently only for calling it from our import entry
point, but this will also allow us to much easier write tests for it
(which we need since adding recurring events doesn't work).
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While not necessary, since we barely use UUID:s, it's still WAY faster,
and nice to not depend on the system providing `uuidgen'.
For comparison, number of UUID:s generated by different settups in 1
second:
65.000 :: guile native
700 :: guile shell-out
3.500.000 :: c native
100.000 :: libuuid - guile bindings
650.000 :: libuuid
Tests where run with either
(call-with-time-limit
1
(lambda ()
(let loop ()
(uuid)
(set! count (1+ count))
(loop)))
(lambda _ (display count)))
or
volatile unsigned long long count = 0;
sigaction(SIGALARM, ...);
alarm(1);
for (;;) {
uuid();
count++;
}
(let ((count 0))
(call-with-time-limit
1
(lambda ()
(let loop ()
((@ (hnh util) uuidgen))
(set! count (1+ count))
(loop)))
(lambda _ (format #t "exec count = ~:d~%" count))))
|
|
|
|
|
| |
This is the first (major) step in splitting the generally useful items
into its own library.
|
|
Primarly this moves all vcompenent input and output code to clearly
labeled modules, instead of being spread out. At the same time it also
removes a handfull of unused procedures.
|