﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1197	Egg: Schelog Error: unbound variable: %set-of	bstrecker		"Details: 
After installing the Schelog egg, I began working through the documentation on the Schelog documentation site (http://ds26gte.github.io/schelog/index-Z-H-9.html).  When I got to the %set-of descriptions, I found that my code choked on %set-of, though it works with %bag-of. 

Code (loaded via emacs c-c, c-l, Chicken 4):

    (require-extension schelog)

    (define %knows
      (%rel ()
        [('Odysseus 'TeX)]
        [('Odysseus 'Scheme)]
        [('Odysseus 'Prolog)]
        [('Odysseus 'Penelope)]
        [('Penelope 'TeX)]
        [('Penelope 'Prolog)]
        [('Penelope 'Odysseus)]
        [('Telemachus 'TeX)]
        [('Telemachus 'calculus)]))

    (define %computer-literate
      (%rel (person)
        [(person)
          (%knows person 'TeX)
          (%knows person 'Scheme)]
        [(person)
          (%knows person 'TeX)
          (%knows person 'Prolog)]))

Program run (copied from REPL):

    #;4> (%which (list) (%let (x) (%bag-of x (%computer-literate x) list)))
    ((list (Odysseus Odysseus Penelope)))
    #;5> (%which (list) (%let (x) (%set-of x (%computer-literate x) list)))

    Error: unbound variable: %set-of

        Call history:

        <syntax>      (map370 (lambda363 (nam371 val372) (list373 nam371 (schelog:deref*368 val372))) (quote374 (list)) (l......
        <syntax>      (lambda363 (nam371 val372) (list373 nam371 (schelog:deref*368 val372)))
        <syntax>      (##core#lambda (nam371 val372) (list373 nam371 (schelog:deref*368 val372)))
        <syntax>      (##core#begin (list373 nam371 (schelog:deref*368 val372)))
        <syntax>      (list373 nam371 (schelog:deref*368 val372))
        <syntax>      (schelog:deref*368 val372)
        <syntax>      (quote374 (list))
        <syntax>      (##core#quote (list))
        <syntax>      (list373 list)
        <syntax>      (_376)
        <eval>      (_376)
        <eval>      (call-with-current-continuation362 (lambda363 (__qk364) (set!365 schelog:*more-k*366 __qk364) (set!3......
        <eval>      ((schelog:deref*368 (%let (x) (%set-of x (%computer-literate x) list))) (lambda363 (d369) (set!365 s......
        <eval>      (schelog:deref*368 (%let (x) (%set-of x (%computer-literate x) list)))
        <eval>      (_380)
        <eval>      (%set-of x (%computer-literate x) list)    <--
    #;5>

However, when I looked at the source code for the egg (on the web at http://code.call-cc.org/svn/chicken-eggs/release/4/schelog/trunk/schelog.scm) there was a %set-of define next to the %bag-of define.

    <snip code above>
    (define %bag-of (schelog:make-bag-of cons))
    (define %set-of (schelog:make-bag-of schelog:set-cons))
    <snip code below> 

I have not examined the local copy of the egg's source code on my system.  

Version 4.9.0.1 (stability/4.9.0) (rev 8b3189b)
linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
bootstrapped 2014-06-07

Schelog installed via chicken-install on 7/3/15.  Thought to be 3.4
"	defect	closed	minor	someday	extensions	4.9.x	fixed	Schelog		
