Hey folks,
I've implemented a new Common Lisp implementation that hosts the ECL Common Lisp source code. The core of it is written from scratch in C++ using completely different core data-structures than ECL. I've reproduced the functionality of the ECL core without copying the C source code or data structures but my code and ECL host the same ECL CL source code. I've compiled about 50 of the ECL Common lisp source files - the list is shown below but when I hit generic functions and funcallable-instances that's where it becomes extremely important to understand the ECL generic-function dispatching and caching very well and mimic it very closely. Could anyone who understands this code spend a few minutes with me on the phone or Skype to give me a few pointers as to how it works? I kind of get it but it would be great to talk to someone who really understand it how it works. Feel free to email me: chris.sc...@verizon.net or find me on the #lisp IRC channel on freenode.net. My id on #lisp is drmeister. I'll follow up with an email to this mail-list regarding why I'm doing this and what I'm up to. --- The ECL CL source code that I've loaded and compiled follows ------ ;; One file specific to my implementation lsp/foundation ;; ECL CL source code follows lsp/export lsp/defmacro lsp/helpfile lsp/evalmacros lsp/logging lsp/makearray ;; My compiler consists of the following modules cmp/cmpsetup cmp/cmpglobals cmp/cmpvar cmp/compile-main cmp/llvm-ir cmp/exception-handling cmp/debuginfo cmp/lambda-list cmp/compile-var-lookups cmp/cmpquote cmp/compiler cmp/compile-file ;; My compiler stops here - ECL source code follows lsp/setf lsp/setfrest lsp/listlib lsp/predlib lsp/sharpmacros lsp/cmuutil lsp/seqmacros lsp/seqlib lsp/seq ;; lsp/arraylib lsp/assert lsp/defstruct lsp/iolib lsp/module lsp/trace lsp/loop2 lsp/packlib lsp/defpackage :stage2 ;; Turn on :CLOS feature to compile beyond here lsp/format #| ;; These are not currently loaded arraylib describe mislib numlib packlib |# clos/package clos/cpl clos/hierarchy clos/std-slot-value clos/slot cmp/cmprepl clos/boot clos/kernel clos/method clos/combin clos/std-accessors clos/defclass clos/slotvalue clos/standard clos/builtin clos/change clos/stdmethod clos/generic clos/fixup ;; I've loaded and compiled up to here clos/conditions clos/print clos/streams Cheers, .Chris. ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list