> Thanks! All those references are interesting (and depressing).
Programming on Windows is depressing indeed.
I found that IO routines (eg. call-with-input-file, call-with-output-file) in 
S7 Scheme does not support unicode path while it works on windows.
It means if a user's name is in unicode, S7 Scheme will not work properly on 
Windows. Because the path on Windows would be: 
C:/Users/[Username]/Documents/xxx.scm
Goldfish Scheme add tbox as a dependency to solve the problem of cross platform 
without dive into the boring Windows API.
https://github.com/tboox/tbox <https://github.com/tboox/tbox >
There are three reason why I choose tbox to add glue routines to S7 Scheme for 
Goldfish Scheme:
1. cross platform (Linux/macOS/Windows)
2. zero dependency
3. almost available everywhere because xmake is almost available everywhere
> I think there might be a typo in the patch you sent: _MSC_V
Yes. Your correction is correct. Sorry that I have not generate the patch by 
the diff command line tool.
Why not host S7 on Github, and setup continuous integration in Linux, Windows, 
macOS using different compilers?
In this way, community developers can create pull request much more easier.
------------------------------------------------------------------
From:bil <b...@ccrma.stanford.edu>
Send Time:2024 Nov. 21 (Thu.) 03:38
To:"沈达"<d...@liii.pro>
Cc:cmdist<cmdist@ccrma.Stanford.EDU>
Subject:Re: [CM] s7_complex does not compile for MSVC
Thanks! All those references are interesting (and depressing).
I think there might be a typo in the patch you sent: _MSC_V
for _MSC_VER? Here's my current guess (with 2 clang++ cases so
I can switch back and forth more easily):
#if __TINYC__ || _MSC_VER || (__clang__ && __cplusplus)
 /* _MSC_VER (and clang++??) should also set HAVE_COMPLEX_NUMBERS to 0 
*/
 typedef double s7_complex;
#else
 #if __cplusplus /* only __GNUC__ */
 #include <complex>
 #ifdef __GNUC__
 typedef std::complex<s7_double> s7_complex;
 #else
 using s7_complex = std::complex<double>;
 /* sort of works in clang++ but there are many more problems */
 #endif
 #else
 #include <complex.h>
 typedef double complex s7_complex;
 #endif
#endif
_______________________________________________
Cmdist mailing list
Cmdist@ccrma.stanford.edu
https://cm-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to