"Jörg F. Wittenberger" | 3 Jul 16:07 2015

How to make bindings available to eval?

Hi all,

I'm caught in the compiled vs. evaluated semantics...

In csi everything runs perfect, but in compiled mode I'm confuse why
eval does not see most bindings.  What am I missing?

The crazy thing: in the attached file "bar" is bound only when compile
as `csc tt.scm` (the "else" branch in the cond-expand) but unbound if
compiled as `csc -Dv1 tt.scm`.  The binding to bar however is correct in
either case within "baz":

  (import foo))
  (import (prefix foo foo:))
  (define bar foo:bar)))

(define (baz x) (bar x))

Scratching my head… This effects basically all the eggs.  The only work
around I found so far is to do the import/prefix trick in the file/unit
exporting the binding.  But that's tedious and probably not what I want
to do.


(Continue reading)

Jeremy Steward | 3 Jul 02:52 2015

New Egg: chicken-graphs

Hey all,

For those of you who do not know me, I also go by DeeEff on #chicken.
I'd like to announce an egg I've recently put together which provides
a small set of functionality for graphs, digraphs, multigraphs, and
multidigraphs. I am aware of the digraph egg as it stands, but I
developed this both as a learning exercise (as I am currently studying
graph theory), and in addition, that egg does not support the entirety
of graph types as I have listed above.

The code can be found at https://github.com/ThatGeoGuy/chicken-graphs,
and the license is the LGPL3+.

I plan to add more functionality in the future, I'm currently
attempting to implement some way to test for isomorphism, but am not
quite at that point yet. Things on the TODO list are as follows:


Documentation (I know nothing of qwiki format, but am using hahn
(partially) in the code
Tests (this will be smoother once I implement isomorphism?, as I am
using test-generative and a solid isomorphism predicate will be useful
for that)
Users. I need users to use the code or at least browse it and let me
know if something smells. :)

If there are any issues, I would appreciate if users could email
(mailing list or otherwise) or use the issue tracker on Github.
(Continue reading)

Andy Bennett | 2 Jul 17:07 2015

blob->s8vector/shared: types.db incorrect


 types.db thinks that blob->s8vector/shared returns an u8vector!

 $ cat >> /tmp/x.scm
 (use srfi-4)
 (s8vector-ref (blob->s8vector/shared #${0000000a}) 0)

 $ csc /tmp/x.scm

 Warning: at toplevel:
   (/tmp/x.scm:2) in procedure call to `s8vector-ref', expected argument 
 #1 of type `(struct s8vector)', but was given an argument of type 
 `(struct u8vector)'


 andyjpb <at> ashurst.eu.org
Nick Van Horn | 30 Jun 21:43 2015

New egg: clucker (Twitter API)

Hello fellow chickeneers,

I'm happy to announce the first release of the "clucker" egg, which
provides access methods to Twitter's public api endpoints.

Currently, the egg:

* Provides access to all (two) public streaming api endpoints

* Provides access to all GET methods on the REST api

* Includes oauth procedures for handling credentials (via the oauth egg).

* Provides customizable parameters for each api call that control how
  returned data is processed. Default behavior is simply `read-line`,
  which means you get strings of json in return. This can be easily
  set to something more useful such as `read-json` from the medea egg.

I've been successfully using the egg in an application I've been
developing. I've written some procedures for this other application
that handle things such as rate limits (api requests are limited by
number of calls, and reset after set amounts of time), pagination of
results, etc. If others are interested, I'd be happy to share what
I've done, or simply include these procedures in the clucker egg.

A big TODO is to add the remaining REST api POST methods, which have
been ignored to date due to me not needing them in my other project :P

(Continue reading)

"Jörg F. Wittenberger" | 25 Jun 23:54 2015

callbacks returning twice

Hi all,

for a couple of days I've been looking into iup for chicken.  This is
close to the best thing since sliced bread in a way.

Except that it crashes all the time.  "callback returned twice"

So what's the recipe to hit that problem?

(The code is fairly trivial; I'm just exploring.  Actually I was about
to ask "what I'm doing there in the first module is so basic textbook
stuff, which egg do I actually want to use instead of mimicking it
here?" - It registers some callbacks around data to propagate updates to
the gui elements.)

Thanks for any suggestions.


(I attach my code here for reference.  Just in case.  It really does not
too much; the second and third tab are only useful in connection with a
server, just the first one usable out of the box.  Not much different to
csi, just with a gui.)
Attachment (iuprep.scm): text/x-scheme, 21 KiB
Chicken-users mailing list
Chicken-users <at> nongnu.org
(Continue reading)

Martin DeMello | 25 Jun 20:39 2015

performance of bignums

Post to /r/scheme about chicken's bignum performance. (Not my post,
just figured it could use some eyeballs.)


Andy Bennett | 24 Jun 17:18 2015

read-u8vector: types.db inconsistent with documentation


 I'm using chicken-4.10rc1.

 When I use read-u8vector with #f for the LENGTH argument as specified 
 in the docs (http://api.call-cc.org/doc/srfi-4/read-u8vector ) the 
 compiler gives me

 Warning: in local unknown procedure,
   in local unknown procedure,
   in toplevel procedure `stargate-lolevel#scanner-get-next':
   (stargate-lolevel.scm:166) in procedure call to `read-u8vector', 
 expected argument #1 of type `fixnum', but was given an argument of type 


 andyjpb <at> ashurst.eu.org
Andy Bennett | 24 Jun 17:06 2015

http-client gets stuck in scheduler when reusing connections


 I've been using CHICKEN to speak to HBase via the Stargate REST API.
 I've managed to build a binding with the rest-bind egg and it works.

 However, it's very slow but it doesn't saturate CPU or IO bandwidth.

 I have a benchmark where it requests 124 cells from HBase using the 
 scanner API. This takes about 5 seconds, of which less than 0.2 seconds 
 are actually spend doing anything at all:

 #: 124
 0.18s CPU time, 0.02s GC time (major), 157977/130286 mutations 
 (total/tracked), 4/273 GCs (major/minor)
 0.32user 0.02system 0:05.20elapsed 6%CPU (0avgtext+0avgdata 
 0inputs+32outputs (0major+3514minor)pagefaults 0swaps

 There are some more benchmarks here: 

 The benchmark is almost the same from compiled code as it is via csi.

 I've tried attaching the debugger to the process and I always catch it 
 in __poll_nocancel so I suspect that it's getting stuck in the 

 If I tell the HTTP request to use HTTP/1.0 rather than HTTP/1.1 then it 
(Continue reading)

Andy Bennett | 22 Jun 19:16 2015

Inserting Binary Data with sql-de-lite


 I'm using a parameterized statement to insert binary data into 
 sql-de-lite (0.6.6) on CHICKEN 4.10rc1.

 When I call sql-de-lite's exec procedure I get:

 Error: (##sys#make-c-string) cannot represent string with NUL bytes as 
 C string: "��\x00...


         Call history:

         sql-de-lite.scm:459: lru-cache#lru-cache-capacity
         sql-de-lite.scm:188: ##sys#block-set!
         sql-de-lite.scm:461: lru-cache#lru-cache-set!
         sql-de-lite.scm:175: ##sys#block-set!
         sql-de-lite.scm:567: bind-parameter-count
         sql-de-lite.scm:581: keyword?
         sql-de-lite.scm:583: bind
         sql-de-lite.scm:594: %bind-int
         sql-de-lite.scm:605: bind-parameter-count
         sqlite3-api.scm:155: ##sys#make-c-string
         sql-de-lite.scm:584: loop
         sql-de-lite.scm:581: keyword?
         sql-de-lite.scm:583: bind
         sql-de-lite.scm:594: %bind-int
         sql-de-lite.scm:605: bind-parameter-count
(Continue reading)

Bahman Movaqar | 20 Jun 20:10 2015

Geiser on Emacs 24.5.1

Following Geiser's giude[1], Emacs[2] keeps complaining with "Symbol's
function definition is void: state" when doing `run-geiser`.
Is this an issue with this version of Emacs or am I missing something?

[1] http://www.nongnu.org/geiser/
[2] Emacs 24.5.1


Bahman Movaqar

http://BahmanM.com - https://twitter.com/bahman__m
https://github.com/bahmanm - https://gist.github.com/bahmanm
PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com)

Chicken-users mailing list
Chicken-users <at> nongnu.org
"Jörg F. Wittenberger" | 17 Jun 13:52 2015

iup/ffcall - illegal instruction

Hi all,

I'm trying to get iup running.  It fails around line 355 in iup-base.scm
when creating the wrapper object raising an "illegal instruction".

Anyone a good idea what a common reason could be?

(Aside: Jürgen: is there a way to ease development of the iup egg?
chicken-install will always recompile everything.  That's tad slow.)

Thanks a lot


Chicken-users mailing list
Chicken-users <at> nongnu.org