Christian Kellermann | 30 Oct 01:12 2014

CHICKEN at 31C3

Hi there,

I have registered an assembly for CHICKEN enthusiasts and other
lispy people for the upcomming 31C3:
https://events.ccc.de/congress/2014/wiki/Assembly:The_%28un%29employed_schemers_%26_lispers_guild

If you can make it to Hamburg, I am looking forward to hacking with you there!

Cheers,

Christian

--

-- 
May you be peaceful, may you live in safety, may you be free from
suffering, and may you live with ease.
Michele La Monaca | 28 Oct 21:16 2014
Picon

Redefining macros and special forms

Hi,

shadowing a macro doesn't seem to work properly in all the cases:

(define-syntax my-begin (syntax-rules () ((_ x ...) (begin x ...))))
(let ((my-begin -)) (my-begin 0 1)) ; => -1 (ok)
(define my-begin -)
(apply my-begin '(0 1))             ; => -1 (ok)
(my-begin 0 1)                      ; =>  1 (oops)

Thus `my-begin' acts as either a procedure or a macro depending on the context.

Redefining `begin' (or even `##core#begin') has the same
unsatisfactory behavior:

(let ((begin -)) (begin 0 1)) ; => -1
(define begin -)
(apply begin '(0 1))          ; => -1
(begin 0 1)                   ; =>  1

Is this the expected  behavior?

Regards,
Michele
Michele La Monaca | 28 Oct 21:31 2014
Picon

Redefining macros and special forms

Hi,

shadowing a macro doesn't seem to work properly in all the cases:

(define-syntax my-begin (syntax-rules () ((_ x ...) (begin x ...))))
(let ((my-begin -)) (my-begin 0 1)) ; => -1 (ok)
(define my-begin -)
(apply my-begin '(0 1))             ; => -1 (ok)
(my-begin 0 1)                      ; =>  1 (oops)

Thus `my-begin' acts as either a procedure or a macro depending on the context.

Redefining `begin' (or even `##core#begin') has the same
unsatisfactory behavior:

(let ((begin -)) (begin 0 1)) ; => -1
(define begin -)
(apply begin '(0 1))          ; => -1
(begin 0 1)                   ; =>  1

Is this the expected behavior?

Regards,
Michele
Juergen Lorenz | 28 Oct 17:05 2014
Picon

new egg: arrays

Hi all,
I've just uploaded a new egg, arrays, which contains an implementation
of functional arrays, which -- like vectors -- allow fast access to its
stored items, but -- unlike vectors -- can shrink and grow as needed.
As an application, an implementation of sets is provided.
Please give the library a try.
Best regards
Juergen

--

-- 

Dr. Juergen Lorenz
Flensburger Str. 12
10557 Berlin
Richard | 28 Oct 15:13 2014
Picon

Warning: "exit" called while processing on-exit tasks

Hello everybody,

If I link multiple units into a shared object, load the shared object
and call (exit) I get the warning: "Warning: "exit" called while
processing on-exit task".
If I'm doing this in the interpreter, csi will not exit.

Here is a trivial example:

$ cat a.scm
(declare (unit a))
(define zooi 'a)

$ cat b.scm
(declare (uses a))
(print zooi)

$ csc -c a.scm b.scm ; csc -s a.o b.o -o c.so

$ csi
#;1> (load "c.so")
; loading c.so ...
#;2> (print zooi)
a
#;3> (exit)
Warning: "exit" called while processing on-exit tasks
#;4> 

thanks,
Richard
(Continue reading)

Richard | 28 Oct 10:58 2014
Picon

Re: Interest in SLIME?

Hello Dan,

> I spent some time today looking into what amount of effort it would
> take to add swank-trace-dialog support to the existing SLIME egg; it
> turns out that it's quite doable, but as I have a slew of projects on
> the go I thought I'd gauge if there's any interest outside of my own
> inquisitiveness for such an enhancement?

I might be interested in this but the times I used slime for chicken it
felt a little 'off'. Don't really remember what parts of it though.
Maybe they are the parts you've been submitting patches for.

I was also looking if I could get some more features into the egg,
for example partial completion.

> Relatedly, I've been submitting patches to fix errors in the SLIME egg
> that have resulted from code rot; so if you're like me and you use the
> bleeding edge of Emacs, it should be known that the SLIME egg is sorta
> usable once again.

thanks for that.

> Does anyone know if eldoc support ever functioned with the SLIME egg?

From the wiki:

	Argument hints
	start typing an expression (e.g. (call/cc... )) and the argument
	list will appear in the minibuffer. Note the function must be
	compiled with debug information.
(Continue reading)

James Baker | 27 Oct 05:02 2014
Picon

Compile time modules query

Hey Folks,

Have been toying around with Chicken lately and just started learning
the module system which seems really nice to use so far.  Just have
one question which is probably obvious but I'm not seeing how to do
it.

I've got a trivial example below which works fine from the interpreter
but is there a way to make it work in compiled code?

;;;; module-test.scm
(define-interface things
  (one two))

(module first-module ((interface: things))
  (import scheme)

  (define one 1)
  (define two 2)
)

(functor (first-functor (M things)) things
  (import scheme (except M one))
  (define one 1.5)
  (define three 3)
)

;; these work in csi but fail in csc
(module fi = (first-functor first-module))
(eval 'one (module-environment 'fi))
(Continue reading)

Daniel Leslie | 26 Oct 21:57 2014
Picon

Interest in SLIME?

I spent some time today looking into what amount of effort it would
take to add swank-trace-dialog support to the existing SLIME egg; it
turns out that it's quite doable, but as I have a slew of projects on
the go I thought I'd gauge if there's any interest outside of my own
inquisitiveness for such an enhancement?

Relatedly, I've been submitting patches to fix errors in the SLIME egg
that have resulted from code rot; so if you're like me and you use the
bleeding edge of Emacs, it should be known that the SLIME egg is sorta
usable once again.

Does anyone know if eldoc support ever functioned with the SLIME egg?

Thanks,
-Dan
Sascha Ziemann | 26 Oct 18:03 2014
Picon

file-separator, path-separator

Something like this maybe:

(use posix)

(define file-separator #f)
(define path-separator #f)

(let ((sysname (let ((si (system-information)))
                 (if (pair? si)
                     (car si)
                     #f))))
  (cond
   ((equal? sysname "windows")
    (set! file-separator "\\")
    (set! path-separator ";"))
   (else
    (set! file-separator "/")
    (set! path-separator ":"))))

Is it already defined anywhere? I could not find it.

Regards,
Sascha

_______________________________________________
Chicken-users mailing list
Chicken-users <at> nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users
Sven Hartrumpf | 23 Oct 19:40 2014
Picon
Picon

How to avoid srfi-13 bindings when using the slime egg?

Hi all.

If I install the slime egg and start chicken-slime from inside Emacs,
the REPL has bindings for SRFI-13 names, e.g.

; SLIME 2014-10-10
CSI> (string-count "abc" #\a)
1

Can this be avoided (because this conflicts with
definitions in other projects)?

Ciao
Sven
Thomas Hintz | 22 Oct 20:24 2014

Introducing websockets

The "websockets" egg is now available for public consumption. See the
documentation on the wiki for more details:
https://wiki.call-cc.org/eggref/4/websockets

Note that it hasn't been used in the "real world" much yet so let me
know if you run into any issues.

Thanks to Seth Alves for the initial version and for everyone else on
IRC that helped solve issues and provided feedback.

All the best,
Thomas Hintz

Gmane