calvis / cKanren

Constraint programming language embedded in Racket
152 stars 33 forks source link

[How-To]How to use it with Geiser in Emacs #20

Open ProfessorX opened 10 years ago

ProfessorX commented 10 years ago
standard-module-name-resolver: collection not found
  for module path: ckanren/miniKanren
  collection: "ckanren"
  in collection directories:
   /home/abrahamx91/.racket/6.1/collects
   /usr/share/racket/collects
   /home/abrahamx91/.emacs.d/elpa/geiser-20141006.1147/scheme/racket/
   /home/abrahamx91/Profession/Git/cKanren/
   ... [146 additional linked and package directories]

Expression evaluated was:

(require ckanren/miniKanren)

I did install it as guided in the README. The feedback from raco showed that the installation is correct.

So to use this correctly, do I have to do some configurations with Emacs side?

calvis commented 10 years ago

If you installed it from the command line, did you install using the same Racket version (it looks like 6.1 from the error message)?

I don't use Geiser, but that doesn't look like an Emacs related error.

ProfessorX commented 10 years ago
abrahamx@debian:~/Git/CIS604/Codes/AI$ racket
Welcome to Racket v6.1.
> (require ckanren/miniKanren)
stdin::10: collection not found
  for module path: ckanren/miniKanren
  collection: "ckanren"
  in collection directories:
   /home/abrahamx/.racket/6.1/collects
   /usr/share/racket/collects
   ... [147 additional linked and package directories]
  context...:
   show-collection-err
   standard-module-name-resolver
   /usr/share/racket/collects/racket/private/misc.rkt:87:7
> 

This is what the terminal told me when I try your package with the command line.

I think it may be with Emacs...Today I am kinda budy with reviewing for the midterm on Sunday (yeah the Middle East life style), so I would like to try to "beat the ckanren" in Emacs (and CLI?) and update you.

bennn commented 10 years ago

I'm using Racket 6.1 and Emacs 24.2 and was able to install cKanren today and use it in Geiser.

The command raco setup cKanren didn't work for me, but raco setup worked fine (it just took a little longer). Afterwards, I could (require cKanren) through the terminal, Dr.Racket, and geiser.

@ProfessorX Try adding (setenv "PATH" (getenv "PATH")) to the top of your .emacs.

ProfessorX commented 9 years ago

I am using prelude configuration package, so I guess I should put that in my personal folder, the init.el file right?

bennn commented 9 years ago

Yes, that sounds right. Does it work?

vkz commented 9 years ago

not an Emacs issue. Here's the most likely culprit: cd cKanren/cKanren Most likely you didn't go into the subdirectory, cd cKanren instead of the above followed by

raco link .
raco setup cKanren

I just lost an hour of my life to that. Must say the need to go into the nested directory is unusual. Should've paid attention of course.

Does anyone know how to remove the link though? raco link -r cKanren doesn't remove it even though I see it clearly as day when raco link -l. Baffling

vkz commented 9 years ago

to remove the incorrect link (will remove correct one too if you just followed the setup instruction and installed the cKanren): raco link --remove --name "cKanren". Don't ask me why. I think there's a bug in raco