Re: New egg: mdh
On 5/25/21 19:28, felix.winkelm...@bevuta.com wrote: Building, testing, and installing all worked out of the box, but I got these two warnings while compiling (in red even though they're warnings): [...] Hm, I have no idea, but I noticed a couple of suspicious warnings. In fact, the code doesn't even compile without "-w", which may indicate further problems. I"m not a C++ expert, but there are some rather peculiar coding choices in there. I'm not keen on digging too much into the codebase, though, so unless users report genuine bugs, we should wait and watch. Thanks for the report. felix Alright, sounds good to me. Thanks, André Sá
Re: How to handle egg with multiple modules
On Tue, May 25, 2021 at 1:42 PM wrote: > > > (modules species (species ui)) > > declares 2 modules, I"m not sure chicken-install can detect that the extension > consists of 2 files, with one module for each. > Does this mean that extensions are not supposed to be composed of more than one module? It seems like I was kind of trying to use the extension mechanism as a build system... Arnaud
Re: csm 0.1
> Exactly what I was looking for! Feedback is welcome. Should you experience any problems, don't hesitate to report them. felix
Re: New egg: mdh
> Building, testing, and installing all worked out of the box, but I got > these two warnings while compiling (in red even though they're warnings): > >[...] Hm, I have no idea, but I noticed a couple of suspicious warnings. In fact, the code doesn't even compile without "-w", which may indicate further problems. I"m not a C++ expert, but there are some rather peculiar coding choices in there. I'm not keen on digging too much into the codebase, though, so unless users report genuine bugs, we should wait and watch. Thanks for the report. felix
Re: New egg: mdh
On 5/18/21 11:29, felix.winkelm...@bevuta.com wrote: Hi! This is to announce the "mdh" egg, an interface to the C++ API of O'Kane's MUMPS database. The concepts behind it were presented by Luke at the CHICKEN Coding Jam and produced quite some interest. MDH is a very easy to use multidimensional key-value store. The code is included in the egg, the only external dependency is libpcre. Documentation can be found here: http://wiki.call-cc.org/eggref/5/mdh (or of course at api.call-cc.org). Note that this is a first release. It seems to work fine, but has not been heavily tested with regards to scalability and performance. There are a few parameters than can be tweaked once there exists more experience with using this database. Many thanks to Luke K. for inspiration and fruitful discussions regarding a suitable Scheme API. felix Hey Felix, Thanks for this, the talk got me interested too! Building, testing, and installing all worked out of the box, but I got these two warnings while compiling (in red even though they're warnings): /home/siiky/.local/bin/csc -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /home/siiky/.cache/chicken-install/mdh -C -I/home/siiky/.cache/chicken-install/mdh -C -w -C -DNATIVE_SHARED -C -I. -C -D_FILE_OFFSET_BITS=64 -C -D_LARGEFILE_SOURCE -c++ -C -D_MDH_ -L -lpcre mdh.scm /home/siiky/.cache/chicken-install/mdh/arith.o /home/siiky/.cache/chicken-install/mdh/bifs.o /home/siiky/.cache/chicken-install/mdh/bstring.o /home/siiky/.cache/chicken-install/mdh/btree.o /home/siiky/.cache/chicken-install/mdh/globalb.o /home/siiky/.cache/chicken-install/mdh/interp.o /home/siiky/.cache/chicken-install/mdh/libmpscpp.o /home/siiky/.cache/chicken-install/mdh/lock.o /home/siiky/.cache/chicken-install/mdh/pm.o /home/siiky/.cache/chicken-install/mdh/stem.o /home/siiky/.cache/chicken-install/mdh/strmanip.o /home/siiky/.cache/chicken-install/mdh/sym.o /home/siiky/.cache/chicken-install/mdh/sysfunc.o /home/siiky/.cache/chicken-install/mdh/bmgsubs.o -o /home/siiky/.cache/chicken-install/mdh/mdh.so /home/siiky/.cache/chicken-install/mdh/globalb.cpp: In function ‘Mglobal’: /home/siiky/.cache/chicken-install/mdh/globalb.cpp:163:24: warning: ‘strncmp’ specified bound [18446744073709551614, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=] 163 | if (strncmp(( const char * ) hold,( const char * ) bd,j)!=0 || |^ /home/siiky/.cache/chicken-install/mdh/bifs.cpp: In function ‘zfcn’: /home/siiky/.cache/chicken-install/mdh/bifs.cpp:119:12: warning: ‘strncpy’ specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=] 119 | strncpy( (char *) fcnName, (const char *) [2],i-2); |^ (also available here[0]) My C-fu isn't what it used to be, and my C++-fu is worse yet, but I'm wondering if this couldn't be a hint for a source of problems to someone. I think I got all the relevant output, but if you want more just let me know. Got no warnings on my RBPi4. [0]: https://paste.rs/KaU Thanks, André Sá
Re: csm 0.1
Exactly what I was looking for! -- Arnaud Bailly - @dr_c0d3 On Tue, May 25, 2021 at 7:29 PM wrote: > > Hi! > > A first version of "csm" is available, a build system for CHICKEN Scheme > programs: > > http://wiki.call-cc.org/eggref/5/csm > > Assuming a small set of conventions, this tool can infer dependencies and > necessary > command-line options for a set of source files written in CHICKEN or R7RS > Scheme. > A flexible method for customizing the set of options for targets is provided, > as is generation > of GNU/BSD makefiles (thus allowing parallel builds) and the creation of > statically > linked executables. > > The tool has tested this with ensemble, bintracker and other non-trivial > projects, > but will of course still contain bugs and shortcomings. Please send bug > reports or > questions to this list or to me directly. > > > felix > >
csm 0.1
Hi! A first version of "csm" is available, a build system for CHICKEN Scheme programs: http://wiki.call-cc.org/eggref/5/csm Assuming a small set of conventions, this tool can infer dependencies and necessary command-line options for a set of source files written in CHICKEN or R7RS Scheme. A flexible method for customizing the set of options for targets is provided, as is generation of GNU/BSD makefiles (thus allowing parallel builds) and the creation of statically linked executables. The tool has tested this with ensemble, bintracker and other non-trivial projects, but will of course still contain bugs and shortcomings. Please send bug reports or questions to this list or to me directly. felix
Re: How to handle egg with multiple modules
> I have tried removing one of the 2 modules declared in the .egg but I > have the same problem. When I remove the > (species ui) import from darwin.scm it compiles and runs the tests > but of course fails to resolve the symbol at runtime. > (modules species (species ui)) declares 2 modules, I"m not sure chicken-install can detect that the extension consists of 2 files, with one module for each. felix
Re: New egg: Expect
> Thanks. I was wondering if this egg should be called tcl-expect, just in case someone comes up with a pure Scheme implementation of expect (also to make clear that the current one is actually based on Tcl). What do you think? It's a good idea.
Re: How to handle egg with multiple modules
I have tried removing one of the 2 modules declared in the .egg but I have the same problem. When I remove the (species ui) import from darwin.scm it compiles and runs the tests but of course fails to resolve the symbol at runtime. Could it be the name of the modules somehow clash? I tried renaming the module from `(species ui)` to `(origin ui)` but then I am having the following issue: $ CHICKEN_REPOSITORY_PATH=$(pwd):$(chicken-install -repository) chicken-install -test -n building species /usr/local/Cellar/chicken/5.2.0/bin/csc -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /Users/arnaud/projects/scheme/origin-of-species -C -I/Users/arnaud/projects/scheme/origin-of-species -O3 -d0 species.scm -o /Users/arnaud/projects/scheme/origin-of-species/species.so /usr/local/Cellar/chicken/5.2.0/bin/csc -regenerate-import-libraries -M -setup-mode -static -I /Users/arnaud/projects/scheme/origin-of-species -emit-link-file /Users/arnaud/projects/scheme/origin-of-species/species.link -host -D compiling-extension -c -unit species -D compiling-static-extension -C -I/Users/arnaud/projects/scheme/origin-of-species -O3 -d0 species.scm -o /Users/arnaud/projects/scheme/origin-of-species/species.static.o /usr/local/Cellar/chicken/5.2.0/bin/csc -setup-mode -s -host -I /Users/arnaud/projects/scheme/origin-of-species -C -I/Users/arnaud/projects/scheme/origin-of-species -O3 -d0 species.import.scm -o /Users/arnaud/projects/scheme/origin-of-species/species.import.so /usr/local/Cellar/chicken/5.2.0/bin/csc -setup-mode -s -host -I /Users/arnaud/projects/scheme/origin-of-species -C -I/Users/arnaud/projects/scheme/origin-of-species -O3 -d0 origin.ui.import.scm -o /Users/arnaud/projects/scheme/origin-of-species/origin.ui.import.so csc: file `origin.ui.import.scm' does not exist Error: shell command terminated with nonzero exit code 16384 -- Arnaud Bailly - @dr_c0d3 On Tue, May 25, 2021 at 1:31 AM wrote: > > > Error: (car) bad argument type: > > |\xcf\xfa\xed\xfe\x07\x00\x00\x01\x03\x00\x00\x00\x02\x00\x00\x00\x11\x00\x00\x00\x90\x06\x00\x00\x85\x00| > > > > I haven't analyzed this, but this looks like is the header of a binary > object, so the runtime > system is trying to load a binary, perhaps a import library (and fails and > thus treats > the binary data as source code). Is your CHICKEN setup working properly? > > > felix >
Re: New egg: Expect
On Mon, 24 May 2021 19:41:01 +0300 Aydar Zarifullin wrote: > Thank you for your notes. > > - Would the body of `(unless interp ...)' in `tcl-create-interp` [0] > ever be executed? > > - Tcl_CreateInterp may return a null pointer (#f) for example if it fails to > allocate memory > > As for the rest, I'll try to fix it. Thanks. I was wondering if this egg should be called tcl-expect, just in case someone comes up with a pure Scheme implementation of expect (also to make clear that the current one is actually based on Tcl). What do you think? All the best. Mario -- http://parenteses.org/mario
Fwd: How to handle egg with multiple modules
Yes, as far as I can tell it's working fine. The code in the repo (https://gitlab.com/abailly/origin-of-species) works fine, it's only when I start adding another module that things go wrong, at this commit: https://gitlab.com/abailly/origin-of-species/-/tree/separate-ui-module Thanks for your help -- Arnaud Bailly - @dr_c0d3 On Tue, May 25, 2021 at 1:31 AM wrote: > > > Error: (car) bad argument type: > > |\xcf\xfa\xed\xfe\x07\x00\x00\x01\x03\x00\x00\x00\x02\x00\x00\x00\x11\x00\x00\x00\x90\x06\x00\x00\x85\x00| > > > > I haven't analyzed this, but this looks like is the header of a binary > object, so the runtime > system is trying to load a binary, perhaps a import library (and fails and > thus treats > the binary data as source code). Is your CHICKEN setup working properly? > > > felix >