freenode/#clasp - IRC Chatlog
Search
8:25:12
scymtym
is (will) clasp (be) using the lambda list parsing facilities of the concrete-syntax-tree library? i'm asking because i noticed a few missing/suboptimal things when switching lambda list parsing to it in my toy
12:44:07
scymtym
as far as can tell, concrete-syntax-tree does not check for repeated parameter names, using constants as parameter names, etc. does clasp implement its own checks for these or how does this work?
13:24:27
drmeister
We don’t do any other checks. We recently switched to cst and haven’t run into problems
13:33:34
scymtym
i see. i noticed this because my toy accepted lambda lists like (a a pi) for which it should complain
13:34:26
scymtym
so i guess the question is whether to implement these checks (the environment-independent ones?) in the concrete-syntax-tree library
13:34:33
drmeister
We have just been compiling the clasp Common Lisp source code over and over again with cst. There probably aren't any instances of lambda-lists like that.
13:36:13
scymtym
yes. my focus is somewhat on invalid programs since i experiment with editor support
13:38:03
scymtym
i'm going to ask beach whether these things are in scope for the concrete-syntax-tree library
13:42:08
drmeister
And since we only ever write valid and correct programs - we didn't notice any problems.
13:55:29
drmeister
I'm shaking compiler bugs out of the kinematics code. I've ripped out my terrible idea of managing memory in vectors using reference counting and switched to Clasp's standard memory management.
14:07:07
Bike
i came up with a fix but i'm pretty weirded out, i should have hit this bug before and i thought i did
14:10:03
Bike
also i have an idea about precompiling clos stuff. i think it would reduce but not eliminate startup compilation, and we could move the delay when running the first compile to actual startup
14:37:12
drmeister
But I'm getting to [350/359] or so. It's difficult to say though because every time I build clasp the C++ files get built in a different order. So I hop all over the place fixing problems.
14:56:12
drmeister
::notify attila_lendvai Do you recall how to shut down messages from waf? Specifically when it links or aggregates all of the scraped files? The lines are really long and they cause emacs to pause for many seconds when you try to skip over them.
15:29:45
drmeister
The kinematics code is compiling now - on to figuring out how it works and debugging it.
16:18:27
Bike
some other weird error. maybe it's just something to do with alexandria already being loaded,and i should test with some other library
16:22:54
drmeister
DVSSA: Not yet - I couldn't compile the CL code because there was a conflict with names. kinematics defined ATOM and Common Lisp defines ATOM and I don't have a good way to define shadow symbols in packages from C++.
16:45:30
DVSSA
drmeister: Ok, not a problem, let me know when you have pushed it so I can take a look.
16:46:56
drmeister
It hasn't been tested - I expect there are a couple of days of debugging in there.
16:55:01
drmeister
DVSSA: No there is no test suite - I have to figure out how that code works and probably write some code to get things going.
16:56:01
drmeister
It builds and maintains an atom tree - like the one in Rosetta - but it's got a couple of extra nodes like kinematics:delayed-bonded-joint that should make fused ring systems easier to work with.
16:58:00
drmeister
An atom tree crawls out over a tree and builds x,y,z coordinates from internal coordinates. When you have rings - it's not a tree - it's a graph - and so I created that joint type to delay going down a branch until all of the joints that the branch needs have been built.
17:02:54
DVSSA
Ok, yeah I was thinking about how we would modify the DAG approach that Rosetta uses for building the atom & fold trees to make it simpler for our cyclic use cases.