[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-hackers] [PATCH][5] Some FFI improvements
From: |
lemonboy |
Subject: |
[Chicken-hackers] [PATCH][5] Some FFI improvements |
Date: |
Sun, 28 May 2017 23:29:06 +0200 |
Hello hackers,
I'll be brief:
- The first patch fixes a problem where we'd fail to consider the
internal defines as toplevel ones,
leading to a compiler error.
- The second patch complements the first by rejecting more `define-`
forms in non-toplevel contexts.
- The third one is slightly beefier as it prevents us to apply the
wrong specialization in some cases
like in the following snippet.
```
(import foreign)
(define-foreign-type ty int (lambda (x) 42) (lambda (x) 0.5))
(let ((t0 ((foreign-lambda* ty ((ty x)) "return 0;") 'sym)))
(print (min t0 1))) ;; We expect this to be 0.5 and not 1
```
Cheers,
Lemonboy
0001-Do-not-treat-internal-defines-as-non-toplevel-ones.patch
Description: Text Data
0002-Reject-more-definitions-outside-of-toplevel-context.patch
Description: Text Data
0003-Fix-the-type-inference-with-foreign-types.patch
Description: Text Data
- [Chicken-hackers] [PATCH][5] Some FFI improvements,
lemonboy <=