freenode/#clasp - IRC Chatlog
Search
20:12:04
Bike
beach: #'some-undefined-function should be a runtime error, right? i don't think that's easy to do with the way generate-ast and cst-to-ast are written, since calls go through the same code, and for (some-undefined-function ...) sicl doesn't need to explicitly check boundedness.
20:18:23
drmeister
Do the semantics of compile-file work out so that I can compile-file clos using aclasp?
20:18:53
Bike
i thought that theh previous compile-one-form-at-a-time was intended to mimic compile file semantics anyway
23:43:17
drmeister
For a call - you need to get the arguments from the original instruction, don't save them and reuse them later. They can be altered by optimizers.
3:39:56
beach
Bike: A function that is undefined at compile-time can be defined at run-time, and vice versa. In both cases, you have to check whether the function is fbound. So I don't see why at compile-time calls to unbound functions should be treated differently.
3:39:58
beach
I can see, though, how calls to standard functions could be treated differently since they are always fbound. However, if Clasp actually checks whether the function is bound, then you have a significant source of slowdown, I would think. It would be better to do what SICL does, i.e., set the function cell to something that calls error.
3:41:47
drmeister
Currently it checks if the function slot of the symbol contains the symbol #:UNBOUND or not.
3:43:55
beach
I mean, you already have an indirection through the symbol. Why not take advantage of that, rather than making a second test.
3:50:33
drmeister
emaczen: The C++ interface is all worked out. Hang on - I'll point you at two demos
3:52:06
drmeister
https://github.com/drmeister/demo-clasp-cxx/blob/master/hello-world/hello-world-cxx.cc#L60