Does the chicken circuit support complex numbers? If so, why am I getting this error?

I just started to learn a little Scheme, and I use Dorai Sitaram, Teach Myself a Scheme in Fixnum Days. The mentioned work says:

The circuit numbers can be integers (for example, 42) ... or complex ( 2 + 3i ).

The emphasis is mine. Pay attention to the form.

Using the principles that I taught so far, I tried to write several different programs that dealt with different types of numbers. I ended up writing this extremely simple snippet for testing complex numbers:

(begin (display 3+4i) (newline) ) 

Testing this on codepad.org (which uses MzScheme) and Ideone.com (which uses guile) works fine.

Now that I tried it with Chicken Scheme (my local development environment), it compiles fine, but when it starts, it fails and gives me an error:

 Error: unbound variable: 3+4i Call history: main.scm:2: 3+4i <-- 

Apparently there is an error of an unrelated variable, but with my limited scheme I do not even know what this means (for now).

Has anyone else experienced this? I know that Chicken Scheme is considered to be standards-compliant, and therefore it seems strange that it will not support something simple. I looked through their documentation, but I could not find anything specific (although I think there is a library of an external complex number, so maybe this is a hint.)

If anyone has any suggestions, they will be very grateful. Thank you in advance!:)

+4
source share
1 answer

I believe you need to install the numbers extension to handle complex numbers in the chicken circuit. Do it:

 > chicken-install numbers 

And don't forget to download it:

 (use numbers) 
+7
source

Source: https://habr.com/ru/post/1447638/


All Articles