guile

Guile scheme - quoted period?

What does the following Guile scheme code do? (eq? y '.) (cons x '.) The code is not valid in MzScheme, is there a portable equivalent across scheme implementations? I am trying to port this code written by someone else. Guile seems to respond to '. with #{.}#, but I'm not sure what it means or how to do this in another scheme. ...

How to run TAP::Harness tests written in Guile?

The usual approach of test: $(PERL) "-MExtUtils::Command::MM" "-e" "test_harness($(TEST_VERBOSE), '$(INCDIRS)')" $(TEST_FILES) fails to run Guile scripts, because it passes to Guile the extra parameter "-w". ...

How to build unit tests in Guile, which output to the TAP standard?

I would like to have a Guile script, which implements functions, which output test result messages according to the TAP protocol. ...

How to check for memory leaks in Guile extension modules?

I develop an extension module for Guile, written in C. This extension module embeds a Python interpreter. Since this extension module invokes the Python interpreter, I need to verify that it properly manages the memory occupied by Python objects. I found that the Python interpreter is well-behaved in its own memory handling, so that...

How to convert a string into bignum in C code which extends Guile?

In Guile 1.6.*, the function scm_istring2number(char *str,int strlen,int radix) does the work. However, this function does not exist in Guile 1.8.. How can I accomplish the same task in Guile 1.8.? This is not trivial because the function scm_string_to_number(SCM str,int radix) does not convert numbers larger than 2^31-1 (at least ...

Lisp Web Frameworks?

What are the popular (ok, popular is relative) web frameworks for the various flavours of LISP? ...

How to parse out base file name using Script-Fu

Using Gimp 2.6.6 for MAC OS X (under X11) as downloaded from gimp.org. I'm trying to automate a boring manual process with Script-Fu. I needed to parse the image file name to save off various layers as new files using a suffix on the original file name. My original attempts went like this but failed because (string-search ...) doesn't ...

Guile and Emacs?

I'm learning Emacs Lisp and I came across this decade old post saying that at some point Guile (Scheme) will replace Emacs Lisp, or Emacs will be rewritten with Guile. http://sanpietro.red-bean.com/guile/guile/old/3114.html I was wondering if this is still a possibility, and if developers should be trying to write Elisp with this in m...

Problem with circular definition in Scheme

I am currently working through SICP using Guile as my primary language for the exercises. I have found a strange behavior while implementing the exercises in chapter 3.5. I have reproduced this behavior using Guile 1.4, Guile 1.8.6 and Guile 1.8.7 on a variety of platforms and am certain it is not specific to my setup. This code works f...

Guile Scheme and CGI?

I recently discovered that CGI scripts can be written in pretty much any language that can print to stdout. I've written a small guile cgi script that works on my local apache install, but not on my shared host: #!/usr/local/bin/guile -s !# (display "Content-Type: text/html") (newline) (newline) (display "hi") (newline) This is the o...

Scheme: why this result when redefining a predefined operator?

I received an unexpected result when redefining the + operator in a scheme program using guile. I should point out that this occurred while experimenting to try to understand the language; there's no attempt here to write a useful program. Here's the code: (define (f a b) 4) (define (show) (display (+ 2 2)) (display ",") (display (f...

How to create cairo surface in guile

I have this code guile> (cairo-pdf-surface-create "foo.pdf" 100.0 100.0) ; and get this error standard input:29:1: In procedure cairo-pdf-surface-create in expression (cairo-pdf-surface-create "foo.pdf" 100.0 ...): standard input:29:1: Wrong type (expecting string): 100.0 ABORT: (wrong-type-arg) and when I use strings as width and hei...