# Talk:Story telling

From LiteratePrograms

## [edit] The Code

Very good but where's the code ? -- Derek Ross | Talk 20:20, 13 October 2006 (PDT)

- It will come, just be patient. I want to rewrite it before putting it here. Lehalle
- Excellent ! -- Derek Ross | Talk 16:20, 27 October 2006 (PDT)

## [edit] Questions

Also there seems to be a lot of category confusion in the mathematics. In particular it's still very unclear to me whether E is supposed to be a set, or a natural number. In some places it's used as the former in other places as the latter. -- Derek Ross | Talk 20:35, 13 October 2006 (PDT)

- E is into the set of of subsets of , so it's a subset of , where do you think it's used as a natural number? Lehalle

- You show E being used as an indexing subscript of τ, which is fair enough. But then further on you show τ with subscripts 1, 2, 3, etc. This implies (to me at any rate) that τ can be indexed by natural numbers and thus that E can be a natural number. Of course this conflicts with the explicit definition of E as a member of the powerset of which cannot include natural numbers. Hence my confusion. Can you clarify things ? I'd appreciate it as this looks interesting. -- Derek Ross | Talk 16:20, 27 October 2006 (PDT)

## [edit] Scheme pieces of code

Here are some hints about a scheme implementation:

<<story_elements.sc>>=;; typical element(definean-element '((properties((name "Alpha")(type "character")(age 28)))(relations((knows(lambda(e)(if(prop-equal? e(quote name)"Beta")3 0)))))))(defineelement-2 '((properties((name "Beta")))));; some simple functions(define(prop-e e key)(cadr(assq key(cadr(assq 'properties e)))))(define(prop-equal? e key value)(equal?(prop-e e key)value))(define(prop-rf e key)(cadr(assq key(cadr(assq 'relations e)))))(define(prop-rel e1 key e2)((local-eval(prop-rf e1 key)(the-environment))e2));; simple use ; get a property value(prop-e an-element 'name)(prop-equal? an-element 'name "Beta"); get a property relation(prop-rf an-element 'knows)(prop-rel an-element 'knows element-2)