Re: [Chicken-users] Creating my own extensions
From: Alaric Snell-Pym ala...@snell-pym.org.uk Subject: Re: [Chicken-users] Creating my own extensions Date: Tue, 06 Mar 2012 17:28:26 + -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/06/2012 05:25 PM, Mario Domenech Goulart wrote: For starters, there is no exe named chicken-setup in Debian, although there is a chicken-install. The following wiki page suggests that there should be: http://wiki.call-cc.org/man/3/chicken-setup#install-program The /3/ part in the path indicates that is the manual for CHICKEN 3.x. chicken-setup is for CHICKEN 3.x only. The tool to install eggs for CHICKEN 4.x is chicken-install. Is it time we either: 1) Removed /3/ from the wiki? 2) Kept it online for archival purposes, but put it somewhere even more hidden-away and obviously not current? 3) Slapped a big warning banner on every /3/ page? I can't remember whether I commented on this, but I think it would be a good idea to just remove the Release 3 docs. cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Creating my own extensions
Hi Mark, On Tue, 6 Mar 2012 16:57:11 + Mark Carter mcar...@markcarter.me.uk wrote: I'm a bit confused about how to create extensions. I have the following files in an mccsl directory: mccsl.setup: (compile -s mccsl.scm) (install-extension 'mccsl mccsl.so) mccsl.scm: (module mccsl ( define-simple-syntax) (import scheme) ... ;; lots of definitions ) I have managed to load and use the library using csi, but creating a proper extension seems to not work. For starters, there is no exe named chicken-setup in Debian, although there is a chicken-install. The following wiki page suggests that there should be: http://wiki.call-cc.org/man/3/chicken-setup#install-program The /3/ part in the path indicates that is the manual for CHICKEN 3.x. chicken-setup is for CHICKEN 3.x only. The tool to install eggs for CHICKEN 4.x is chicken-install. The documentation for the .setup things are here: http://wiki.call-cc.org/man/4/Extensions (if you intend to use the `make' macro, please, use the egg -- http://wiki.call-cc.org/egg/make -- since the core `make' macro is going to be deprecated). If I type chicken mccsl.setup it creates an mccsl.c file, but not an mccsl.so file. I'm thinking that's wrong?? To test the installation of your egg, you can just execute chicken-install in your egg directory. If you want to perform some extra tests, you can use salmonella: $ chicken-install salmonella $ cd my-egg # directory where you put your egg code $ salmonella --this-egg In case of errors, you may want to read the log file generated by salmonella: $ salmonella-log-viewer salmonella.log So, there doesn't actually seem to be a way of installing a home- brewed extension. chicken-setup doesn't exists, and the install- extension function doesn't seem to install the extension. Presumably I'm making some schoolboy errors. Maybe this document can be useful: http://wiki.call-cc.org/eggs%20tutorial Best wishes. Mario -- http://parenteses.org/mario ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Creating my own extensions
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/06/2012 05:25 PM, Mario Domenech Goulart wrote: For starters, there is no exe named chicken-setup in Debian, although there is a chicken-install. The following wiki page suggests that there should be: http://wiki.call-cc.org/man/3/chicken-setup#install-program The /3/ part in the path indicates that is the manual for CHICKEN 3.x. chicken-setup is for CHICKEN 3.x only. The tool to install eggs for CHICKEN 4.x is chicken-install. Is it time we either: 1) Removed /3/ from the wiki? 2) Kept it online for archival purposes, but put it somewhere even more hidden-away and obviously not current? 3) Slapped a big warning banner on every /3/ page? ABS - -- Alaric Snell-Pym http://www.snell-pym.org.uk/alaric/ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk9WSToACgkQRgz/WHNxCGoVKACffmJiR1mmEHzth3vifVWvp7iR JIkAnjuZ7cdVLpLrBHPytfCGdWaXCuuE =TVYa -END PGP SIGNATURE- ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Creating my own extensions
Alaric Snell-Pym scripsit: Is it time we either: 1) Removed /3/ from the wiki? 2) Kept it online for archival purposes, but put it somewhere even more hidden-away and obviously not current? 3) Slapped a big warning banner on every /3/ page? I favor 3. -- If you understand, John Cowan things are just as they are; http://www.ccil.org/~cowan if you do not understand, co...@ccil.org things are just as they are. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Creating my own extensions
Mario Domenech Goulart mario.goul...@gmail.com Maybe this document can be useful: http://wiki.call-cc.org/eggs%20tutorial OK, after many chicken sacrifices (strangely appropriate somehow), I was able to build my extension and load it. Just one comment: I think there is a doc fix needed at http://wiki.call-cc.org/man/4/Extensions In the section my-lib.setup, I think the following line needs to be included below the other two compile lines: (compile -c -O2 -d1 my-lib.scm -unit my-lib -j my-lib) Otherwise, the .o file isn't created, causing installation to fail. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Creating my own extensions
Hi Mark, * Mark Carter mcar...@markcarter.me.uk [120306 19:59]: Mario Domenech Goulart mario.goul...@gmail.com Maybe this document can be useful: http://wiki.call-cc.org/eggs%20tutorial OK, after many chicken sacrifices (strangely appropriate somehow), I was able to build my extension and load it. Just one comment: I think there is a doc fix needed at http://wiki.call-cc.org/man/4/Extensions In the section my-lib.setup, I think the following line needs to be included below the other two compile lines: (compile -c -O2 -d1 my-lib.scm -unit my-lib -j my-lib) Otherwise, the .o file isn't created, causing installation to fail. Ah right, it needs a fix. But not the one you suggest :) The ID.o in the example is a leftover from old days. I will fix it. Your code does not need your line above. *Unless* you want to be able to link extensions statically which is technically possible, but no longer supported. HTH, Christian -- Who can (make) the muddy water (clear)? Let it be still, and it will gradually become clear. Who can secure the condition of rest? Let movement go on, and the condition of rest will gradually arise. -- Lao Tse. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users