freenode/#clasp - IRC Chatlog
Search
15:51:51
shiho
It's in the smarts specification . - I don't want to damage the code because of my shitty memory.
15:53:38
shiho
I don't see any examples of smarts that starts with a bond - lets go with starting with an atom test
16:00:17
shiho
#i(CHEM:CHEM-INFO (:ROOT . #i(CHEM:SMARTS-ROOT (:TESTS . #i(CORE:HASH-TABLE-EQ (CORE:DATA . #A(T (0) ())) (CORE:REHASH-THRESHOLD . 1.0d0) (CORE:REHASH-SIZE . 2.0d0))) (:FIRST-TEST . #i(CHEM:ATOM-TEST (:SYM . :C) (:TEST . :SAPELEMENT))))))
16:06:08
bike
this eight line defparameter expands into hundreds of lines of code. the isolated smallest function the error is in is still three megabytes of dotfile
16:11:23
scymtym
assuming "C" should return an atom test, this change should do it: https://github.com/scymtym/language.smarts/blob/future/src/smarts/parser/grammar.lisp#L16-L31
17:29:14
bike
generate-ast results in a pointless conditional for lambda lists with &optional, which means a lexical location that only conditionally has a value (but dynamically the condition will always take that path, so there's no runtime problem)
18:33:10
bike
if i have generate-ast not do inlining on functions with &optional it works. so there's the problem.
18:46:40
drmeister
Bike: I was going to try to get back to working on chemistry code - but this &optional inlining issue leaves me dead in the water. How much trouble would it be to fork sicl and push this to the fork. Why don't we have this anyway - for pull requests and problems just like this.
19:26:55
bike
could fix that and put in a dumb assignment to fix clasp, or just stick with the patch
20:00:03
bike
i set the -p in an inlined function with &optional to be the argument, thinking i was being clever, but then if you pass NIL the -p will be wrong