Caolan McMahon | 28 Aug 12:34 2015

ldap-bind egg

Please add this to the egg index:

It provides basic bind functionality for authenticating a user with an
LDAP server - it's not a full OpenLDAP binding, but hopefully it's
still useful.

Thanks to Moritz Heidkamp for doing most of the hard work. I was
halfway through my own implementation when I learned Moritz had a more
complete one I could build on.

Sven Hartrumpf | 25 Aug 12:34 2015

vim support for s-expression comments

Hi all.

The page
is very useful for vim users, but unfortunately the patch at the
beginning does not apply cleanly to current syntax/scheme.vim
Are any newer patches around?

"Jörg F. Wittenberger" | 22 Aug 10:31 2015

mixing srfi-34 and srfi-12 exceptions (patch)


I noticed that mixing exception handling from both styles does not work
well with the srfi-34 egg as it is.  I'm afraid after importing srfi-34
one has to be aware that there now two definitions of
with-exception-handler.  One from chicken's library and the srfi-34 one.

So far I can't see any damage from overwriting the library version with
the srfi-34 version.  The attached patch does just this.

Best regards

Attachment (srfi-34+12.diff): text/x-patch, 882 bytes
Chicken-users mailing list
Chicken-users <at>
Caolan McMahon | 21 Aug 13:06 2015

CommonMark parser (please add to egg index)

I've written some simple bindings to the cmark C library for parsing
CommonMark (a more highly specified MarkDown):

Please add this to the egg-locations file in SVN, as I don't have the
appropriate permissions :)

(cmark "")

Many thanks! ...more eggs to come soon

Ryan Senior | 14 Aug 04:43 2015

Incorrectly linked binaries with chicken-install -deploy

Does anyone have stand-alone application deployments working via chicken-install? I'm running into an issue where the binaries for my executables are in place, but they are linked to the system libchicken. I'm not sure if this is a bug or I'm using it wrong. I'm seeing this with Chicken 4.10.0, running on Ubuntu 14.04. I compiled 4.10.0 from the tarball on the website and have it installed globally. I have an egg setup file that looks like the following (thanks to Mario Goulart for helping me put this together):

(define info '((version "0.1")))

(define progs

(for-each (lambda (prog)
            (compile -O3 -d1 ,(make-pathname #f prog "scm")))

(install-program 'prog progs info)


I run the following command to build:

chicken-install -deploy -p <my-app-directory>

All of my dependencies look to be correctly compiled and put into the specified directory, but there is no libchicken in that directory. The 3 programs above also appear to be linked to the global libchicken

$ ldd <my-app-directory>/bin/prog1 =>  (0x00007fff591fc000) => /usr/local/lib/ (0x00007f69474eb000) => /lib/x86_64-linux-gnu/ (0x00007f6947125000) => /lib/x86_64-linux-gnu/ (0x00007f6946e1e000) => /lib/x86_64-linux-gnu/ (0x00007f6946c1a000)
/lib64/ (0x00007f6947acf000)

Am I going about this correctly? Running 'csc -deploy prog1.scm' results in a correctly linked libchicken binary, but it doesn't look like chicken-install -deploy uses that.

My goal is a tarball that a user can unzip and run directly without installing chicken or any other dependencies. Talking with sjamaan on #chicken, sounds like another option is to not create an egg from the project and script individual calls to 'csc -deploy ...' and chicken-install for the dependencies.

For reference. the project I'm having difficulty building can be found on github here.

Thanks for the help!

Chicken-users mailing list
Chicken-users <at>
Alexej Magura | 13 Aug 00:07 2015

do* code-review

Could I please get a code review on this function: I didn't write it, but even if I had, I'd still want some of yall to look over it just to make sure that it's as efficient and performant as far as getting as much work done as possible with as little effort as possible: efficient, essentially, lulz. 

(define-syntax do*
  (syntax-rules ()
    ((_ ((?var0 ?init0 ?inc0) ...)
         (?test ?result)
         ?body ...)
     (let* ((?var0 ?init0) ...)
       (let lp ()
         (cond (?test ?result)
               (else ?body ...
                     (set! ?var0 ?inc0) ...

Chicken-users mailing list
Chicken-users <at>
Alexej Magura | 12 Aug 13:50 2015

sequential version of set!

Is there a sequential version of set!, as in setq?
Chicken-users mailing list
Chicken-users <at>
Alexej Magura | 12 Aug 12:05 2015

versions patch

Adds the following functions to the `versions' egg:
(define (local egg)
   (format "~%")
      (string-append "chicken-status " egg)

(define (remote egg #!optional url)
  (let ((.url.
     (if url
    (uri-encode-string egg)
       #f read-all)
      (format "~%")))))

(define (update-available? egg #!optional url)
  (version-newer? (last (remote egg)) (local egg)))

The above functions can/could be used as the basis for a more flexible/powerful means of updating eggs, as in only updating eggs that actually needed to be updated instead of just updating all of them.  The functions depend on the http-client, uri-generic, and versions eggs; they also use the irregex, posix, and utils units. 

If these don't seem like a good fit for versions, then that's okay: so long as these functions get added to some egg, I'll live: I just felt that they'd be out of place in the readline egg. 

Chicken-users mailing list
Chicken-users <at>
Hugo Arregui | 12 Aug 02:30 2015

iconv egg patch


The attached small patch get rides of this warning in the iconv egg:

/usr/include/iconv.h:42:15: note: expected ‘char ** restrict’ but
argument is of type ‘const char **’

I tried to contact the author but the email addresses found both in the
egg and in the wiki are disabled, so perhaps he is here on the list.

Attachment (restrict_warning.patch): text/x-diff, 192 bytes
Chicken-users mailing list
Chicken-users <at>
Jurriaan Hage | 11 Aug 22:44 2015

Final call for papers for IFL 2015


Please, find below the final call for papers for IFL 2015.
Note that the draft submission date has been extended until August 15.
Please forward these to anyone you think may be interested.
Apologies for any duplicates you may receive.

best regards,
Jurriaan Hage
Publicity Chair of IFL


IFL 2015 - Call for papers


University of Koblenz-Landau, Koblenz, Germany

In cooperation with ACM SIGPLAN

September 14-16, 2015


The goal of the IFL symposia is to bring together researchers actively engaged in the implementation and
application of functional and function-based programming languages. IFL 2015 will be a venue for
researchers to present and discuss new ideas and concepts, work in progress, and publication-ripe
results related to the implementation and application of functional languages and function-based programming.


Following the IFL tradition, IFL 2015 will use a post-symposium review process to produce the formal
proceedings. All participants of IFL2015 are invited to submit either a draft paper or an extended
abstract describing work to be presented at the symposium. At no time may work submitted to IFL be
simultaneously submitted to other venues; submissions must adhere to ACM SIGPLAN's republication policy:

The submissions will be screened by the program committee chair to make sure they are within the scope of
IFL, and will appear in the draft proceedings distributed at the symposium. Submissions appearing in the
draft proceedings are not peer-reviewed publications. Hence, publications that appear only in the
draft proceedings do not count as publication for the ACM SIGPLAN republication policy. After the
symposium, authors will be given the opportunity to incorporate the feedback from discussions at the
symposium and will be invited to submit a revised full article for the formal review process. From the
revised submissions, the program committee will select papers for the formal proceedings considering
their correctness, novelty, originality, relevance, significance, and clarity.

Important dates

August 15: Submission deadline draft papers
August 17: Notification of acceptance for presentation
August 19: Early registration deadline
August 26: Late registration deadline
September 7: Submission deadline for pre-symposium proceedings
September 14-16: IFL Symposium
December 1: Submission deadline for post-symposium proceedings
January 15, 2016: Notification of acceptance for post-symposium proceedings
March 1, 2016: Camera-ready version for post-symposium proceedings

Submission details

Prospective authors are encouraged to submit papers or extended abstracts to be published in the draft
proceedings and to present them at the symposium. All contributions must be written in English. Papers
must adhere to the standard ACM two columns conference format. For the pre-symposium proceedings we
adopt a 'weak' page limit of 12 pages. For the post-symposium proceedings the page limit of 12 pages is
firm. A suitable document template for LaTeX can be found at:

Authors submit through EasyChair:


IFL welcomes submissions describing practical and theoretical work as well as submissions describing
applications and tools in the context of functional programming. If you are not sure whether your work is
appropriate for IFL 2015, please contact the PC chair at rlaemmel <at> Topics of interest include,
but are not limited to:

- language concepts
- type systems, type checking, type inferencing
- compilation techniques
- staged compilation
- run-time function specialization
- run-time code generation
- partial evaluation
- (abstract) interpretation
- metaprogramming
- generic programming
- automatic program generation
- array processing
- concurrent/parallel programming
- concurrent/parallel program execution
- embedded systems
- web applications
- (embedded) domain specific languages
- security
- novel memory management techniques
- run-time profiling performance measurements
- debugging and tracing
- virtual/abstract machine architectures
- validation, verification of functional programs
- tools and programming techniques
- (industrial) applications

Peter Landin Prize

The Peter Landin Prize is awarded to the best paper presented at the symposium every year. The honored
article is selected by the program committee based on the submissions received for the formal review
process. The prize carries a cash award equivalent to 150 Euros.

Programme committee

Chair: Ralf Lämmel, University of Koblenz-Landau, Germany

- Malgorzata Biernacka, University of Wroclaw, Poland
- Laura M. Castro, University of A Coruña, Spain
- Martin Erwig, Oregon State University, USA
- Dan Ghica, University of Birmingham, UK
- Andrew Gill, University of Kansas, USA
- Stephan Herhut, Google, USA
- Zhenjiang Hu, National Institute of Informatics (NII), Japan
- Mauro Jaskelioff, CIFASIS/Universidad Nacional de Rosario, Argentina
- Frédéric Jouault, ESEO, France
- Oleg Kiselyov, Tohoku University, Japan
- Lindsey Kuper, Indiana University, USA
- Rita Loogen, Philipps-Universität Marburg, Germany
- Akimasa Morihata, University of Tokyo, Japan
- Atsushi Ohori, Tohoku University, Japan
- Bruno C. D. S. Oliveira, The University of Hong Kong, Hong Kong
- Frank Piessens, Katholieke Universiteit Leuven, Belgium
- Norman Ramsey, Tufts University, USA
- Matthew Roberts, Macquarie University, Australia
- Manfred Schmidt-Schauss, Goethe-University Frankfurt, Germany
- Simon Thompson, University of Kent, UK
- Stephanie Weirich, University of Pennsylvania, USA
- Steve Zdancewic, University of Pennsylvania , USA


The 27th IFL will be held in association with the Faculty of Computer Science, University of
Koblenz-Landau, Campus Koblenz. Koblenz is well connected by train to several international airports.
For instance, Koblenz can be reached from Frankfurt by high-speed train ICE within an hour. The modern
Koblenz campus is close to the city center and can be reached by foot, bus, or cab. See the website for more
information on the venue.

Social events

The conference attendees are welcome at „Kaffeewirtschaft“ in the historical center of Koblenz on
the evening of arrival (Sunday, 13 September). A special reception takes places on Monday in the form of a
wine tasting and guided tour at „Weingut Lunnebach“. The conference banquet on Tuesday is held at the
historical site „Festung Ehrenbreitstein“ at Restaurant Casino with a wonderful view over the city
and the two rivers Rhine and Moselle. 


Chicken-users mailing list
Chicken-users <at>
Matt Welland | 10 Aug 07:37 2015

is posix-extras#resolve-pathname calling non-existant ##sys#expand-home-path?

I'm testing Chicken 4.10.0, so far it is fine but the calls to resolve-pathname give the kind of error shown below which implies to me that the expand-home-path is still being called. I'm fixing by wrapping with a call to pathname-expand but I must say this looks rather silly:

(resolve-pathname (pathname-expand somepath))

If the calls are going to be that pedantically specific I suggest equally pedantic and specific names:

(resolve-dots-double-dots-and-other-things (resolve-tildes somepath))

Why not a pragmatic coalescing of resolve and expand into a single call? Not a big deal but does seem a tad tiresome to me.

The error:

Warning (#<thread: runs:run-tests-queue>): in thread: unbound variable: ##sys#expand-home-path

        Call history:

        http-transport.scm:290: thread-terminate!        
        http-transport.scm:291: debug:print-info         
        common_records.scm:96: debug:debug-mode  
        rmt.scm:111: k103        
        rmt.scm:111: g107        
        rmt.scm:121: http-transport:server-dat-update-last-access        
        http-transport.scm:338: current-seconds  
        launch.scm:723: hash-table-set!  
        launch.scm:726: file-exists?     
        launch.scm:727: posix-extras#resolve-pathname

Chicken-users mailing list
Chicken-users <at>