Nothing here yet.
Nothing here yet.
Hi Fabian, I just run the code again and I get 6 solutions too, because it contains duplicates (for example, 2x "astante" within one solution, which is technically correct but not very beautiful). Unfortunaly I can't remember what I did differently last time to prevent the duplicates. (if I did). Anyway I updated the blogpost. Basically the solution listed here is a PicoLisp implementation of this solution: https://stackoverflow.com/questions/21220573/learning-prolog-solving-a-crossword-scheme
Hi Nehal Singhal , sorry for the late reply! You are right, the sym argument refers to the property list of the database object. Actually my definition in the blog was a bit wrong, I changed it! thanks a lot for your comment. This is the correct one: "(collect 'sym 'cls 'any) Returns a list of all database objects of class cls, where the values for the sym property are equal to the any argument."
Hi Nehal, I'm not totally sure what you mean by that, so excuse me if my answer is a little bit off! First of all, you can set any external symbol ({1}, {2}, {3}, ..) like this: (set '{2} 123) However, this is more suitable for debugging mode because except than debugging, you do not know the external symboll for each data has. And note that {1} has a little bit special role because it is the root of the database, this is why you can set the value via the *DB global variable. Let me know if you have more questions, this topic is really a little bit hard to explain&understand in the beginning.