| quazimodo | any open source compilers? |
| action | nyef doubts that open source compilers would be answering questions on IRC. |
| nyef | doubts that open source compilers would be answering questions on IRC. |
| quazimodo | nyef, silly! i like anyway, i should use correct grammar this time does an open source compiler exist for lisp? |
| nyef | Several. |
| quazimodo | can you please name one? |
| nyef | Just one? Okay, how about SBCL? |
| tz_ | Is anyone familiar with the SBCL internals? |
| Modius | Anybody know of any web service libraries for common lisp? |
| nyef | tz_: I'm familiar with some of them, why? Modius: "web service libraries"? |
| Modius | Something for calling into web services from CL (as a client) SOAP, all that |
| nyef | Like an xml-rpc client? |
| pkhuong | look on c-l.net I think there's a few (XML-RPC, cl-soap) |
| tz_ | nyef: I saw on the internals site on cliki about there not being an optimization for squaring bignums. It sounded like a reasonable way to get my feet wet with SBCL. |
| nyef | Hrm... I'm not familiar with the bignum code... |
| tz_ | nyef: I am looking at the bignum.lisp code and saw this: (defun %bignum-length (bignum) (declare (type bignum-type bignum)) (%bignum-length bignum)) ... how does that work exactly, I grepped through the code and couldn't find another definition for bignum-length |
| nyef | Ah. It'll be in src/compiler somewhere. Yeah, src/compiler/vm-fndb.lisp and src/compiler/target/arith.lisp. Basically, the compiler knows how to open-code a call to %bignum-length, but we still need an actual function for it in some cases, so we do what you saw. |
| tz_ | nyef, ok thanks. Going to read up on the vop docs some more |
| nyef | No problem. Good luck with it. |
| tz_ | nyef: thanks nyef: I've got the define-vop and defknown for bignum-length, but I'm still not seeing an implementation, Code is here http://paste.lisp.org/display/39707 |
| smolyn | does anyone know what (lambda (sb-pcl::.arg0.)) might indicate in sbcl's profiler? is it clos slot access? |
| nyef | tz_: The define-vop -is- the implementation. The (:translate %bignum-length) says "consider using this VOP for this function". smolyn: It's something to do with CLOS. Beyond that, not sure. Could be a descriminating function or something. |
| kpreid | some quick grepping suggests that yes, discriminating functions |
| nyef | tz_: Ah. I see. The bignum-length VOP inherits from the get-header-data VOP. The code might be there, or get-header-data might inherit from something else with the code. (The latter feels unlikely, though.) Should be in src/compiler/target/system.lisp. |
| tz_ | nyef: ahh, I didn't know that was inheritance. I may write this up to help the next guy that comes along |
| nyef | Please do. |
| kpreid | and add it to http://sbcl-internals.cliki.net/ |