Как использовать модуль io с Chicken Scheme? - PullRequest
0 голосов
/ 15 января 2020

В Chicken Scheme я хочу использовать процедуру read-lines. С интерпретатором (csi) проблем нет:

(define (lire-vecteur)
   (let* ((fichier (car (command-line-arguments)))
      (flux (open-input-file fichier)))
     (let ((V (list->vector (map string->number (read-lines flux)))))
       (close-input-port flux)
       (display (tri-rapide V)))))

Но при попытке компилирования (cs c) я получаю:

$ time ./tri-rapide-vecteur-lst ../mega-vecteur.txt 

Error: unbound variable: read-lines

    Call history:

    library.scm:3448: print-exit54375438      
    library.scm:2290: body3981    
    library.scm:2292: assign      
    library.scm:3448: current-print-length54395440    
    library.scm:2290: body3981    
    library.scm:2292: assign      
    library.scm:3926: ##sys#print     
    library.scm:3188: case-sensitive      
    library.scm:3189: keyword-style   
    library.scm:3190: ##sys#print-length-limit    
    library.scm:3297: outchr      
    library.scm:3188: g5148   
    library.scm:3927: print-call-chain    
    library.scm:3882: ##sys#get-call-chain    
    library.scm:3834: ##sys#make-vector   
    library.scm:1371: ##sys#allocate-vector     <--

read-lines является частью ( курица и.о.) модуль. Как импортировать этот модуль в мою программу?

Спасибо за любую подсказку и хорошего дня.

1 Ответ

0 голосов
/ 15 января 2020

Вы уверены, что используете курицу 5? Похоже, вы используете CHICKEN 4. В CHICKEN 5 интерпретатор обычно должен иметь те же модули, что и компилятор, но это может немного зависеть от того, что вы делаете.

Правильное заклинание импортировать модуль (chicken io) просто: (import (chicken io)).

...