Hi,
I've noticed that INSTALL_PROGRAM is not used to create directories.
The attached patch fixes this behavior.
Regards,
Michele
0001-fix-MAKEDIR_COMMAND-when-INSTALL_PROGRAM-is-set.patch
Description: Binary data
___
Chicken-users mailing list
Hi,
Operating system: Solaris 10
Hardware platform: SPARCv9
C Compiler: Sun C 5.11
Installation works?: yes (INSTALL_PROGRAM=/usr/ucb/install)
Tests work?: yes
Installation of eggs works?: yes
The default build produces a 32bit version, it would be a good idea to
switch to 64. Let me know if you
On Wed, Jun 3, 2015 at 1:50 PM, John Cowan co...@mercury.ccil.org wrote:
Peter Bex scripsit:
It's pretty cool in that it supports both er/ir macros *and* syntactic
closures.
Thanks. I've updated http://trac.sacrideo.us/wg/wiki/SyntaxDefinitions
accordingly.
Great reference. Thanks.
On Sun, May 31, 2015 at 1:53 PM, Peter Bex pe...@more-magic.net wrote:
On Sat, May 30, 2015 at 10:30:38PM -0700, chi wrote:
On 05/30/2015 07:02 AM, Peter Bex wrote:
As has been pointed out time and again, it is fundamentally broken.
It would be more correct to say that define-macro has not
On Sat, May 30, 2015 at 4:23 AM, John Cowan co...@mercury.ccil.org wrote:
Jinsong Liang scripsit:
I want to learn some basic macro programming in Chicken. However, it seems
there are multiple macro definition APIs in Chicken: define-syntax,
syntax-rules, syntax-case, define-macro. Which one
On Sat, May 30, 2015 at 4:02 PM, Peter Bex pe...@more-magic.net wrote:
On Sat, May 30, 2015 at 03:42:41PM +0200, Michele La Monaca wrote:
On Sat, May 30, 2015 at 4:23 AM, John Cowan co...@mercury.ccil.org wrote:
Jinsong Liang scripsit:
I want to learn some basic macro programming
On Fri, May 29, 2015 at 3:10 AM, Jinsong Liang jinsongli...@gmail.com wrote:
Thank you Michele! This is a nice example.
Nice but maybe not very useful:
(apply-syntax or (#f (+ 1 2) (print hello)))
is just a longer and more cumbersome version of
(or (#f (+ 1 2) (print hello)))
A far more
On Thu, May 28, 2015 at 8:59 AM, Peter Bex pe...@more-magic.net wrote:
Yeah, the numbers random implementation is shitty, which is why I
decided to omit it from my port to CHICKEN core (CHICKEN 5's random is
still fixnum only). Personally, I think it would be better if we simply
got rid of
On Thu, May 28, 2015 at 11:23 PM, Peter Bex pe...@more-magic.net wrote:
On Thu, May 28, 2015 at 10:34:55PM +0200, Michele La Monaca wrote:
On Thu, May 28, 2015 at 8:59 AM, Peter Bex pe...@more-magic.net wrote:
Yeah, the numbers random implementation is shitty, which is why I
decided to omit
On Thu, May 28, 2015 at 1:53 AM, John Cowan co...@mercury.ccil.org wrote:
Jinsong Liang scripsit:
Then is there a straightforward way to get a list of booleans ored? I
tried fold with or but it does not work either. It seems writing a loop
or a recursion for this is a little overkill.
You
Hi Sascha,
you might want to use:
make PLATFORM=solaris INSTALL_PROGRAM=/usr/ucb/install install
I've already complained about that:
https://lists.gnu.org/archive/html/chicken-hackers/2013-01/msg00037.html
and I even went so far as to propose a general solution:
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) ; =
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) ; =
On Tue, Oct 28, 2014 at 9:35 PM, Peter Bex peter@xs4all.nl wrote:
Yes, this is according to spec. Macros aren't first-class, so whenever
you use the same identifier in a non-application context it will look up
the identifier in the runtime environment. In application context it
will
Hi,
curiously:
(cond (1 = odd?))
Error: unbound variable: =
while
(cond (+ = procedure?))
#t
The only difference I can spot is that 1 is self-evaluating while + is
not. Anyhow, it doesn't look good to me.
Regards,
Michele
___
Chicken-users
On Fri, Aug 22, 2014 at 9:06 PM, John Cowan co...@mercury.ccil.org wrote:
Michele La Monaca scripsit:
AFAICT, Posix systems treat text files as binaries even if you don't
explicitly say so. Windows does not.
That's true, but the only difference is that CR-LF is mapped to CR
in text mode
On Sun, Aug 24, 2014 at 7:22 PM, John Cowan co...@mercury.ccil.org wrote:
Michele La Monaca scripsit:
So, let me understand, are you comfortable about that?
$ cat -e f.txt
^Z1234$
(with-input-from-file f.txt read-line) ;; unix
\x1a1234
(with-input-from-file f.txt read-line) ;; windows
On Sun, Aug 24, 2014 at 8:04 PM, John Cowan co...@mercury.ccil.org wrote:
Michele La Monaca scripsit:
... but binaries do. Yet, open-input-file will open them as text files
in Windows and as binaries in Unix (by default).
The short answer to that is that there is a way of opening binary
Hi,
I think it would be better to change open-input-file default mode to binary.
While Posix systems doesn't care, on non-Posix ones ftell and fseek
might not work properly.
For example, on Windows:
$ cat f.txt
1
2
3
4
(call-with-input-file f.txt (lambda (p) (read-string 4 p)
(file-position
On Fri, Aug 22, 2014 at 6:20 PM, John Cowan co...@mercury.ccil.org wrote:
Michele La Monaca scripsit:
I think it would be better to change open-input-file default mode to binary.
Over my dead body. The last thing I want is random CRs in text files.
Can you elaborate this sentence, please
Hi all,
eventually I found some time to review one of my early work in Scheme
and give it dignity of egg.
You may learn more about it here:
http://wiki.call-cc.org/eggref/4/install
Btw, I really appreciated the new wiki design.
Regards,
Michele
___
Hi all,
(directory? C:) - #f
(directory? C:/) - #f
(directory? C://) - #t
(pathname-directory C:) - #f
(pathname-directory C:/) - C:
(pathname-directory C://) - C:
Huh?
Regards,
Michele
___
Chicken-users mailing list
Hi (again),
1) Is this supposed to be the correct output?
(normalize-pathname /) - /.
2) I think it would be a good idea to strip any trailing slash, otherwise:
(string=? (normalize-pathname /tmp/) (normalize-pathname /tmp)) - #f
Regards,
Michele
Hi Caolan,
thanks for the egg, much needed addition (though I would like to see
it in the posix module rather than a separate egg). I used to
workaround (the lack of) it through ##sys#glob-regexp which is
another function I would like to be explicitly supported in core.
A few suggestions if you
Hi all,
I think it would be useful if csc were able to work directly from the
standard input (e.g. in case of no source files). For example:
csc -o quick_test
[paste code]
Ctrl-D
./quick_test
or
cat f.scm | preprocessor | csc
./a.out
On most Unixes you can obtain the result with /dev/stdin,
Hi,
I get this annoying warning when defining a count variable at the toplevel:
echo '(define count 1)' | csc -to-stdout /dev/stdin /dev/null
Warning: at toplevel:
assignment of value of type `fixnum' to toplevel variable `count'
does not match declared type `(forall (a109) (procedure count
It seems count is defined in srfi-1. Anyway, I found this warning
intrusive and annoying given I'm not using srfi-1.
Regards,
Michele
On Fri, Jul 11, 2014 at 11:15 AM, Michele La Monaca
mikele.chic...@lamonaca.net wrote:
Hi,
I get this annoying warning when defining a count variable
On Wed, Jul 9, 2014 at 7:00 AM, Alex Shinn alexsh...@gmail.com wrote:
However, I don't think that's the real problem. The issue as I
understand is that although Chicken has both strings and
bytevectors in the core, historically and for continued simplicity
strings are abused as bytevectors
Attached a fixed and tested (cygwin, solaris) patch.
Regards,
Michele
On Wed, May 7, 2014 at 4:46 PM, John Cowan co...@mercury.ccil.org wrote:
Peter Bex scripsit:
In my opinion, large parts of the POSIX unit should die. They're broken,
at the wrong level of abstraction and just generally
Hi,
Could you try the attached patch instead? I've tested it on Debian
(with zsh and csh), OpenIndiana, Haiku, Cygwin and Mingw-msys.
Works fine on Solaris.
What shell is Solaris really using?
Solaris 10 - Bourne shell.
Solaris 11 - Korn shell.
I would like to make my OpenIndiana
mimick
daylight is non-zero if Daylight Savings Time is in effect. Non-zero
doesn't mean 1.
On Thu, May 8, 2014 at 12:52 AM, John Cowan co...@mercury.ccil.org wrote:
Michele La Monaca scripsit:
Attached a fixed and tested (cygwin, solaris) patch.
Thanks for testing. What was wrong with multiplying
Hi,
this patch fixes the private repository issue in Solaris.
Regards,
Michele
On Sun, May 4, 2014 at 3:54 PM, Michele La Monaca
mikele.chic...@lamonaca.net wrote:
OS : Solaris 10
ARCH : sparc
C_COMP : Sun C 5.11
Installation works? : yes
Installation of eggs works? : yes
Hi,
I am not an expert here, but I find these functions ill-defined.
Both take as input a time-vector which already carries the timezone
information (seconds west of UTC). So a time-seconds function just
seems the right thing to me. Having to specify the local/utc prefix
feels redundant,
On Tue, Mar 4, 2014 at 10:19 AM, Michele La Monaca
mikele.chic...@lamonaca.net wrote:
After some more mulling, I concluded that it would be even more
convenient to have a generalised version of irregex-replace-match
which also accepts lists of matches:
(irregex-replace-match match-or-list
On Tue, Mar 4, 2014 at 1:05 AM, Michele La Monaca
mikele.chic...@lamonaca.net wrote:
(define (my-own-irregex-replace irx s . o)
(let ((m (irregex-search irx s)))
(and m (string-append
(substring s 0 (irregex-match-start-index m 0))
(apply string-append (reverse
(define (my-own-irregex-replace irx s . o)
(let ((m (irregex-search irx s)))
(and m (string-append
(substring s 0 (irregex-match-start-index m 0))
(apply string-append (reverse (irregex-apply-match m o)))
(substring s (irregex-match-end-index m 0)
Hi Alex,
I've used irregex-replace{,/all} and equivalents in other
languages for a long time, and find the current semantics
most convenient. I can see in some cases wanting to test
for a replacement, or in irregex-replace-all the number of
replacements, but it seems to be by far the rarer
Hi,
I've noticed that irregex-replace returns the original string
if no replacement takes place. I think its a very poor choice.
Whether or not a replacement was actually made can be an important
piece of information which is lost returning the original string.
The correct return value should be
Hi,
it looks like irregex-search has some serious problems with ranges:
time csi -R irregex -e '(irregex-search ^.{1,20}$ (make-string 99))' - 0.20s
time csi -R irregex -e '(irregex-search ^.{1,21}$ (make-string 99))' - 0.39s
time csi -R irregex -e '(irregex-search ^.{1,22}$ (make-string 99))' -
Hi all,
substring is picky towards string indexes, not so about the number of its
arguments. Es:
(substring abc 1 2 (sleep 10))
This patch tries to remedy the situation. While at that I also removed tabs
and trailing whitespaces.
Regards,
Michele
Hi Peter,
On Sun, Nov 10, 2013 at 5:57 PM, Peter Bex peter@xs4all.nl wrote:
Hi Michele,
Thanks for attempting to fix the situation. However, it seems rather
pointless to me to fix only this procedure. There are numerous other
procedures which have the same problem. If this is to be
Hi again,
I think process-execute and its siblings misbehave when handling
environment variables. For example:
(process ls '()); works
(process ls '() '()); fails
(process ls '()
On Sat, Aug 24, 2013 at 11:28 AM, Jörg F. Wittenberger
joerg.wittenber...@softeyes.net wrote:
On Aug 22 2013, Michele La Monaca wrote:
How can I check if a symbol is bound to a value?
Oleg Kiselyov's receipe might be helpful here:
http://okmij.org/ftp/Scheme/macro-symbol-p.txt
Intriguing
On Thu, Aug 22, 2013 at 10:15 PM, Michele La Monaca
mikele.chic...@lamonaca.net wrote:
On Thu, Aug 22, 2013 at 6:39 PM, John Cowan co...@mercury.ccil.org wrote:
Michele La Monaca scripsit:
(define-syntax bound?
(syntax-rules ()
((_ exp) (handle-exceptions exn #f (atom? exp) #t
On Wed, Jun 26, 2013 at 2:22 PM, John Cowan co...@mercury.ccil.org wrote:
Michele La Monaca scripsit:
Happy pinging.
Cool!
I made a minor documentation change on the wiki to encourage strings over
symbols as hostnames, and to remove the suggestion to use dotted-decimal
symbols like
Forget the previous macro. Hopefully this one will do the intended job.
(define-syntax eping
(syntax-rules ()
((_ h)
(_eping (symbol-string '|h|)))
((_ h p1 p2 ...) (_eping (symbol-string '|h|) 'p1 p2 ...
On Thu, Aug 22, 2013 at 11:29 AM, Michele La Monaca
mikele.chic
at 11:29 AM, Michele La Monaca
mikele.chic...@lamonaca.net wrote:
On Wed, Jun 26, 2013 at 2:22 PM, John Cowan co...@mercury.ccil.org wrote:
Michele La Monaca scripsit:
Happy pinging.
Cool!
I made a minor documentation change on the wiki to encourage strings over
symbols as hostnames
On Thu, Aug 22, 2013 at 4:54 PM, John Cowan co...@mercury.ccil.org wrote:
Your macro will work as far as handling bound and unbound symbols; of
course, symbols *lexically* bound will not be seen, only global symbols.
That's the nature of Scheme's eval.
I think eval usage (and limitations) can
On Thu, Aug 22, 2013 at 6:39 PM, John Cowan co...@mercury.ccil.org wrote:
Michele La Monaca scripsit:
I think eval usage (and limitations) can be avoided: For example:
(define-syntax eping
(syntax-rules ()
((_ h)
(handle-exceptions exn
(_eping (symbol-string '|h
On Sun, Jul 28, 2013 at 1:27 AM, Felix
fe...@call-with-current-continuation.org wrote:
Does it freeze while the long-running operation is in progress,
or does it freeze indefinitely?
The app is only unresponsive while the long-running operation is being executed.
So my question is: it's just
Hi,
I am investigating the feasibility and the opportunity to write
(basic) Win32 GUI apps using Chicken. So far I think I've obtained
good results leveraging Christian Kellermann's nice technique to
handle callbacks
(http://pestilenz.org/~ckeen/blog/posts/callbacks.html)*. I am able
to create
Hi,
It looks like a bug:
Mingw
#;1 (print 1.0 \n 2.0 \n 3.10)
1.
2.
3.1
Any other platform (I have access to)
#;1 (print 1.0 \n 2.0 \n 3.10)
1.0
2.0
3.1
Ciao,
Michele
___
Chicken-users mailing list
Chicken-users@nongnu.org
On Tue, Jul 9, 2013 at 3:44 PM, John Cowan co...@mercury.ccil.org wrote:
Chicken uses the local C's idea of number-to-string conversion.
Not the best approach I think. I would rather prefer a consistent behavior.
Since 1. is a valid Scheme inexact number, that's perfectly fine.
Being a valid
On Tue, Jul 9, 2013 at 6:31 PM, Jim Ursetto zbignie...@gmail.com wrote:
If you're really concerned about this (which is ultimately aesthetic)
Is this acceptable?
C:\TMPchicken-status | tail -3
socket ... version: 0.2.3
srfi-37
On Tue, Jul 9, 2013 at 10:11 PM, Felix
fe...@call-with-current-continuation.org wrote:
It can't be that hard to fix this problem. Are we just talking about adding a
0 in this case? I can look into this, Michele - if you can give me a hand
in testing it, since I don't have a Windows system
Hi all!
those interested in network management/monitoring might find this egg useful:
https://wiki.call-cc.org/eggref/4/eping
Happy pinging.
Ciao,
Michele
___
Chicken-users mailing list
Chicken-users@nongnu.org
This nonsense seems to be valid syntax:
#;1 (and-let* ((foobar 1 2 3)) foobar)
1
2 and 3 are not even evaluated as the following example demonstrates:
#;2 (and-let* ((foobar 1 (sleep 100))) foobar)
1
I think it's dangerous to leave it as it is. For example:
#;3 (and-let* (((or #f #t))) 1)
On Sat, Jun 15, 2013 at 1:00 AM, Jim Ursetto zbignie...@gmail.com wrote:
On May 8, 2013, at 8:48 AM, Michele La Monaca mikele.chic...@lamonaca.net
wrote:
2) The egg doesn’t install on Cygwin due to the unbound identifier
'SO_EXCLUSIVEADDRUSE' (mingw only?). Dropping the related option
(so
On Fri, Jun 14, 2013 at 10:24 PM, Jim Ursetto zbignie...@gmail.com wrote:
Hi,
It's a bug in the socket egg; nonblocking mode is only set during a
socket-connect or socket-accept, which won't be called for UDP.
I've already reported this issue in the list:
On Wed, May 29, 2013 at 11:22 PM, Michele La Monaca
mikele.chic...@lamonaca.net wrote:
On Wed, May 29, 2013 at 11:10 PM, Michele La Monaca
mikele.chic...@lamonaca.net wrote:
On Wed, May 29, 2013 at 10:20 PM, Patrick Li patrickli.2...@gmail.com
wrote:
Hi Michele,
I realized after posting my
On Wed, May 29, 2013 at 2:47 PM, Jörg F. Wittenberger
joerg.wittenber...@softeyes.net wrote:
On May 27 2013, Michele La Monaca wrote:
R5RS doesn't specify this kind of syntax (nor Chicken supports it):
(let* loop ((a init) (b a))
body)
To me it seems a missing piece of syntax. Am I
On Wed, May 29, 2013 at 3:53 PM, Patrick Li patrickli.2...@gmail.com wrote:
If I understand the OP correctly, he wants let* to imitate this macro.
(define-syntax named-let*
(syntax-rules ()
((named-let* name ((var val) ...)
body ...)
(let* ((var val) ...)
(let
On Wed, May 29, 2013 at 10:20 PM, Patrick Li patrickli.2...@gmail.com wrote:
Hi Michele,
I realized after posting my version of named-let*, that you actually
*cannot* use it to accomplish all of what you want. For that you do need
loop to be a syntactic extension, as mentioned by Jorg.
For
On Wed, May 29, 2013 at 11:10 PM, Michele La Monaca
mikele.chic...@lamonaca.net wrote:
On Wed, May 29, 2013 at 10:20 PM, Patrick Li patrickli.2...@gmail.com wrote:
Hi Michele,
I realized after posting my version of named-let*, that you actually
*cannot* use it to accomplish all of what you
On Tue, May 28, 2013 at 2:06 AM, Jim Ursetto zbignie...@gmail.com wrote:
On May 27, 2013, at 4:14 PM, Michele La Monaca mikele.chic...@lamonaca.net
wrote:
So writing down the options, we have:
(let* loop ((i (random N)) (ch (string-ref buf i)))
(do-something)
(if (some-condition
R5RS doesn't specify this kind of syntax (nor Chicken supports it):
(let* loop ((a init) (b a))
body)
To me it seems a missing piece of syntax. Am I wrong?
I've missed it occasionally as well, but I'm not sure it's *that* useful.
Of course that's something we all can live without, but
Hi all,
R5RS doesn't specify this kind of syntax (nor Chicken supports it):
(let* loop ((a init) (b a))
body)
To me it seems a missing piece of syntax. Am I wrong?
Ciao,
Michele
___
Chicken-users mailing list
Chicken-users@nongnu.org
Hi,
while using this egg I experienced a few issues:
1) (inet-address) always fails on Solaris.
I consistently get Error: (inet-address) invalid internet address.
This seems to be related to the definition of AI_NUMERICSERV.
netdb.h has these definitions on Solaris:
#define AI_PASSIVE
68 matches
Mail list logo