Re: [Chicken-users] set-file-position! only works with fixnums
John Cowan writes: > Thomas Bushnell BSG scripsit: > >> I think this is a mistake, but "fixing" it is harder than it seems. >> >> Really, this is totally non-schemey. >> >> The criterion should be an exact integer, just as it is for arrays. >> Instead of allowing inexact integers to be file positions, how about >> extending the hierarchy to handle these cases directly? > > Well, in order for that to work you have to persuade Felix to incorporate > bignums in the core, and they can't be GMP bignums either because of > the licensing -- that would make Chicken as a whole GPL, and that's not > gonna happen. Making all that happen is what is harder than it seems. > Uhm, GMP is LGPL, so Chicken can use whatever license it likes, even if it would start to use GMP. Regards, Rotty -- Andreas Rottmann -- <http://rotty.yi.org/> ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] confusion tracking down memory leak
Thomas Bushnell BSG writes: > I have a memory leak in a long-running program; I can easily provoke it. > (It's quite complex; too complex to post here.) > > The program involves lots of FFI interfaces to Linux syscalls, and other > stuff. > > The memory leak is *not* in Scheme; this is verified by the fact that > (memory-statistics) while it's running shows bounded memory consumption. > > Yet the heap usage is growing without limit. There's bad malloc going > on somewhere. > > Are there any convenient tools to try and figure out malloc usage in > Chicken Scheme? > Dunno specifically about Chicken Scheme (and "convinient" ;-), but given the fact that your leak is in C code, you might be able to make sense from Valgrind[0] output -- for C/C++ this works great, usually. [0] http://valgrind.org/ Regards, Rotty -- Andreas Rottmann -- <http://rotty.yi.org/> ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Clojure
Peter Bex writes: > On Thu, Jul 02, 2009 at 01:42:16PM -0700, Shawn Rutledge wrote: >> If you want real Scheme (rather than just lisp-like) you could try >> Kawa. I have not tried either one, though. > > Actually, I think SISC is the canonical Scheme-on-Java. Not sure why, > possibly because it's better maintained or implements Scheme more > completely? > IIRC, SISC is a complete implementation of R5RS, while Kawa punts on continuations (it has only escape continuations) and proper tail calls[0]. [0] http://www.gnu.org/software/kawa/internals/complications.html Regards, Rotty ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] GPG support?
Hi! I'm considering switching to ugarit (from a home-made C program driving afio/tar/gpg) for my backup needs (a few Linux boxes), and would really appreciate: - GPG support (e.g. generate a random AES key/IV, and store it, encrypted via GPG, in the archive). This would do away with the need to store the AES key in plaintext in a config file. - .ugarit-ignore file support (as already on the list of planned features); this is in fact the itch I scratched with my custom-made backup tool, as I couldn't find a backup solution that offered that feature. Keep up the good work! Regards, Rotty ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Cryptographic eggs
Peter Bex writes: > On Sun, Feb 08, 2009 at 08:00:55PM +, Alaric Snell-Pym wrote: >> VOTE! :-) > > I don't find S3 all that exciting, while SFTP is very nifty to have. > > So I vote for SFTP. > +1 Cheers, Rotty ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Slow unix-sockets?
"Harri Haataja" <[EMAIL PROTECTED]> writes: > On 20/09/2007, Peter Busser <[EMAIL PROTECTED]> wrote: >> Is it possible that writing to/reading from UNIX domain sockets using the >> unix-sockets egg is very very slow? >> >> When I connect the two programs using a normal UNIX pipe, then it takes >> less than 0.6 seconds for a >100k message. But it takes more than 4 >> seconds when I do the same over a UNIX domain socket. That is a difference >> of a factor 8 or so. It runs on a 1G Pentium III machine. Has anyone of >> you experienced this too? > > I wonder if you could give a small test program people could try in > different environments? > Another idea: doing an strace(1) can maybe shed some light on this... Regards, Rotty -- Andreas Rottmann | [EMAIL PROTECTED] | [EMAIL PROTECTED] | [EMAIL PROTECTED] http://rotty.uttx.net| GnuPG Key: http://rotty.uttx.net/gpg.asc Fingerprint | C38A 39C5 16D7 B69F 33A3 6993 22C8 27F7 35A9 92E7 v2sw7MYChw5pr5OFma7u7Lw2m5g/l7Di6e6t5BSb7en6g3/5HZa2Xs6MSr1/2p7 hackerkey.com 09 f9 11 02 9d 74 e3 5b d8 41 56 c5 63 56 88 c0 ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] syntax-case modules questions
"felix winkelmann" <[EMAIL PROTECTED]> writes: > On 5/25/07, Graham Fawcett <[EMAIL PROTECTED]> wrote: >> On 5/25/07, felix winkelmann <[EMAIL PROTECTED]> wrote: >> > Modules to be "import"ed by client code should always be >> > available in source code form: the source code is processed >> > by the syntax-case macro expander and binding information >> > (of normal variables and macros) is recorded. So to create >> > an extension, install both the compiled .so and the source files. >> >> Conceivably, a different module-system could be designed that did this >> processing at compilation time? Perhaps library source would need to >> be available at application-compilation time, or perhaps the library >> source could be distilled into an export-directive that contains the >> details required by the importer (including syntax definitions)? > > I'm not quite sure what you mean here: the binding resolution while > importing is already done at compile time (unless you are interpreting > code, of course). Creating a condensed module definition from the source > file might be possible, though, and would probably speed up compile > times somewhat. On the other hand it might not really be worth the trouble. > > Ideally, we need a well hackable, understandable module system that > supports syntax-rules and that is static enough to be used with batch > compilation. I haven't found such a thing yet. > What about Scheme 48's module system? FWICT, it supports batch compilation (there is a compiler for s48 packages at [0]). It's also pretty nice otherwise; you can read about it on the CSW[1] or in the "Nearly complete manual" [2]. [0] http://mumble.net/~campbell/darcs/s48-comfasl/ [1] http://community.schemewiki.org/?scheme48-module-system [2] http://mumble.net/~campbell/s48-refman/html/Module-system.html#Module-system Cheers, Rotty -- Andreas Rottmann | [EMAIL PROTECTED] | [EMAIL PROTECTED] | [EMAIL PROTECTED] http://rotty.uttx.net| GnuPG Key: http://rotty.uttx.net/gpg.asc Fingerprint | C38A 39C5 16D7 B69F 33A3 6993 22C8 27F7 35A9 92E7 v2sw7MYChw5pr5OFma7u7Lw2m5g/l7Di6e6t5BSb7en6g3/5HZa2Xs6MSr1/2p7 hackerkey.com Latein ist das humanoide Äquivalent zu Fortran. -- Alexander Bartolich in at.linux ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] syntax-case modules questions
"felix winkelmann" <[EMAIL PROTECTED]> writes: > On 5/25/07, Andreas Rottmann <[EMAIL PROTECTED]> wrote: >> >> Since Chicken lacks a built-in module system, I'm playing with the >> syntax-case egg. I want to take an extension (say SRFI-39) and make >> that (or parts of it) available as a syntax-case module. It seems I >> have to use EXPORT-TOPLEVEL instead of the export list, since this >> doesn't work: >> >> (module foo (append!) >> (require-extension srfi-1)) >> ===> >> Error: missing definition for export(s): (append!) > > The module form expects source forms to define the exported > identifiers. "require-extension" just loads compiled code, basically. > So there is no way to package extensions as syntax-case modules? >> >> This works: >> >> (module foo () >> (require-extension srfi-1) >> (export-toplevel append!)) >> > > Not really: it makes "append!" available under an (unqualified) name > "append!", not as an identifier specific to the module "foo". > Oh, I see. :-/ BTW, no need to CC me, I read the list. Regards, Rotty -- Andreas Rottmann | [EMAIL PROTECTED] | [EMAIL PROTECTED] | [EMAIL PROTECTED] http://rotty.uttx.net| GnuPG Key: http://rotty.uttx.net/gpg.asc Fingerprint | C38A 39C5 16D7 B69F 33A3 6993 22C8 27F7 35A9 92E7 v2sw7MYChw5pr5OFma7u7Lw2m5g/l7Di6e6t5BSb7en6g3/5HZa2Xs6MSr1/2p7 hackerkey.com Software Patents: Where do you want to stifle innovation today? ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] syntax-case modules questions
Hi! Since Chicken lacks a built-in module system, I'm playing with the syntax-case egg. I want to take an extension (say SRFI-39) and make that (or parts of it) available as a syntax-case module. It seems I have to use EXPORT-TOPLEVEL instead of the export list, since this doesn't work: (module foo (append!) (require-extension srfi-1)) ===> Error: missing definition for export(s): (append!) This works: (module foo () (require-extension srfi-1) (export-toplevel append!)) So now, the question is what to do about syntax (i.e. macros). The syntax-case egg docs mention that EXPORT-TOPLEVEL doesn't support syntax. So how would I export a macro imported from an extension loaded with REQUIRE-EXTENSION? This doesn't work: (module spells.parameter (parameterize) (require-extension srfi-39) (export-toplevel make-parameter)) ===> Error: missing definition for export(s): (parameterize) Any ideas? Another thing that I noticed when using the syntax-case egg is that INCLUDEs are not relative to the file containing the module declaration, but I think they should be. So given a file "some/dir/modules.scm": (module foo (bar) (include "foo.scm")) Now running "csi -R syntax-case some/dir/modules.scm" should look in "some/dir" for foo.scm instead of the current directory. This is also what happens in mzscheme when using the INCLUDE syntax. Cheers, Rotty -- Andreas Rottmann | [EMAIL PROTECTED] | [EMAIL PROTECTED] | [EMAIL PROTECTED] http://rotty.uttx.net| GnuPG Key: http://rotty.uttx.net/gpg.asc Fingerprint | C38A 39C5 16D7 B69F 33A3 6993 22C8 27F7 35A9 92E7 v2sw7MYChw5pr5OFma7u7Lw2m5g/l7Di6e6t5BSb7en6g3/5HZa2Xs6MSr1/2p7 hackerkey.com Anonymous surfing? Use Tor: http://tor.eff.net ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users