On Wed, 18 Sep 2019 07:46:01 +0200 Mario Domenech Goulart <ma...@parenteses.org> wrote:
>> 2019-09-17 22:06:21 root@tinkywinky ~ >> # cat /etc/debian_version >> 9.11 >> >> 2019-09-17 22:10:03 root@tinkywinky ~ >> # uname -a >> Linux tinkywinky 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3 (2019-09-02) >> x86_64 GNU/Linux >> >> 2019-09-17 22:15:35 root@tinkywinky ~ >> # dpkg-query -s chicken-bin >> Package: chicken-bin >> Status: install ok installed >> Priority: optional >> Section: lisp >> Installed-Size: 5765 >> Maintainer: Davide Puricelli (evo) <x...@xxxxxx.xxx> >> Architecture: amd64 >> Source: chicken >> Version: 4.11.0-1 >> Replaces: chicken, chicken-dev >> Depends: libc6 (>= 2.4), libchicken8 (>= 4.11.0), libchicken-dev (= >> 4.11.0-1) >> Conflicts: chicken, chicken-dev >> Description: Practical and portable Scheme system - compiler >> CHICKEN is a Scheme compiler which compiles a subset of R5RS into C. >> It uses the ideas presented in Baker's paper "Cheney on the MTA", and >> has a small core and is easily extendable. >> . >> This package contains the compiler. >> Homepage: http://www.call-cc.org >> >> >> I am attempting to follow: >> >> http://wiki.call-cc.org/man/5/Getting%20started >> >> >> I have created a Scheme program source file: >> >> 2019-09-17 22:07:12 dpchrist@tinkywinky ~/sandbox/chicken-scheme >> $ cat palindrome.scm >> ;;; http://wiki.call-cc.org/man/5/Getting%20started >> ;;; downloaded 2019-09-17 >> >> (import (chicken process-context)) ; for "command-line-arguments" >> >> (define (palindrome? x) >> (define (check left right) >> (if (>= left right) >> #t >> (and (char=? (string-ref x left) (string-ref x right)) >> (check (add1 left) (sub1 right))))) >> (check 0 (sub1 (string-length x)))) >> >> (let ((arg (car (command-line-arguments)))) >> (display >> (string-append arg >> (if (palindrome? arg) >> " is a palindrome\n" >> " isn't a palindrome\n")))) >> >> >> When I try to compile: >> >> 2019-09-17 22:07:15 dpchrist@tinkywinky ~/sandbox/chicken-scheme >> $ csc -o palindrome palindrome.scm >> >> Syntax error (import): cannot import from undefined module >> >> process-context >> >> Expansion history: >> >> <syntax> (##core#begin (import (chicken process-context))) >> <syntax> (import (chicken process-context)) <-- >> >> Error: shell command terminated with non-zero exit status 17920: >> '/usr/bin/chicken' 'palindrome.scm' -output-file 'palindrome.c' >> >> >> I appear to be missing the module "chicken process-context", which is >> supposed to be included (?): >> >> http://wiki.call-cc.org/man/5/Included%20modules >> >> >> Suggestions? > > The problem is that you are using CHICKEN 4 to compile code for CHICKEN > 5. There are some incompatibilities. One of the is the import > declarations for modules. > > Installing CHICKEN 5 from sources on Linux is not difficult and doesn't > require much besied what is required to install eggs (the only extra > requirement is GNU make). In case you wnat to do that, here are the > steps that should work on Debian: > > $ wget http://code.call-cc.org/releases/5.1.0/chicken-5.1.0.tar.gz > $ tar xzvf chicken-5.1.0.tar.gz > $ cd chicken-5.1.0 > $ make PLATFORM=linux PREFIX=$HOME/local/chicken-5.1.0 install > > That will install CHICKEN 5.1.0 under $HOME/local/chicken-5.1.0. > > To have the CHICKEN 5 tools in your environment's PATH, you can do > something like > > $ export PATH=$PATH:$HOME/local/chicken-5.1.0/bin > > assuming you are using Bash. Actually, $ export PATH=$HOME/local/chicken-5.1.0/bin:$PATH if you want the CHICKEN 5 tools to take precedence over the CHICKEN 4 tools from the Debian package. Or you can simply remove the Debian package. > On the CHICKEN 4 -> CHICKEN 5 migration, you might find > http://wiki.call-cc.org/porting-c4-to-c5 helpful. > > If you have questions, don't hesitate to ask them here or in the IRC > channel (Freenode, #chicken). All the best. Mario -- http://parenteses.org/mario _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users