From: Mark Carter
Subject: Newbie and clocc
Date: 
Message-ID: <2lt6jpFg7g0mU1@uni-berlin.de>
I can't seem to get clocc working properly. I'm sure it's something 
simple I'm doing wrong, I just can't figure out what. I've installed 
clocc (to the best of my ability), and when I type in the program

(setq *clocc-root* "c:/packages/clocc/")
(load (concatenate 'string *clocc-root* "clocc"))
(load (translate-logical-pathname "clocc:src;cllib;base"))
(load  (translate-logical-pathname "clocc:src;cllib;math") )
(mgg-interest (100 3 0.1))

I obtain the results:

; SLIME: The Superior Lisp Interaction Mode for Emacs
;;;; (setq *clocc-root* "c:/packages/clocc/")  ...
;;;; (load (concatenate 'string *clocc-root* "clocc")) ...
;; Loading file C:\packages\clocc\clocc.lisp ...
;; Loaded file C:\packages\clocc\clocc.lisp
;;;; (load (translate-logical-pathname "clocc:src;cllib;base")) ...
;; Loading file C:\packages\clocc\src\cllib\base.lisp ...
;;  Loading file C:\packages\clocc\src\port\ext.lisp ...
;;  Loaded file C:\packages\clocc\src\port\ext.lisp
;;  Loading file C:\packages\clocc\src\port\sys.lisp ...
;;   Loading file C:\packages\clocc\src\port\path.lisp ...
;;   Loaded file C:\packages\clocc\src\port\path.lisp
;;  Loaded file C:\packages\clocc\src\port\sys.lisp
;; Loaded file C:\packages\clocc\src\cllib\base.lisp
;;;; (load  (translate-logical-pathname "clocc:src;cllib;math") ) ...
;; Loading file C:\packages\clocc\src\cllib\math.lisp ...
;;  Loading file C:\packages\clocc\src\cllib\withtype.lisp ...
;;  Loaded file C:\packages\clocc\src\cllib\withtype.lisp
;;  Loading file C:\packages\clocc\src\cllib\log.lisp ...
;;   Loading file C:\packages\clocc\src\cllib\tilsla.lisp ...
;;   Loaded file C:\packages\clocc\src\cllib\tilsla.lisp
;;  Loaded file C:\packages\clocc\src\cllib\log.lisp
;;  Loading file C:\packages\clocc\src\cllib\fileio.lisp ...
;;   Loading file C:\packages\clocc\src\cllib\symb.lisp ...
;;   Loaded file C:\packages\clocc\src\cllib\symb.lisp
;;  Loaded file C:\packages\clocc\src\cllib\fileio.lisp
;;  Loading file C:\packages\clocc\src\cllib\simple.lisp ...
;;  Loaded file C:\packages\clocc\src\cllib\simple.lisp
;;  Loading file C:\packages\clocc\src\cllib\list.lisp ...
;;  Loaded file C:\packages\clocc\src\cllib\list.lisp
;; Loaded file C:\packages\clocc\src\cllib\math.lisp
;;;; (mgg-interest (100 3 0.1)) ...

CL-USER>

EVAL: undefined function MGG-INTEREST
    [Condition of type SYSTEM::SIMPLE-UNDEFINED-FUNCTION]




I'm presumably doing something right, otherwise it wouldn't give me all 
that stuff about "Loading File". It just kinda refuses to recognise any 
of the functions. Here's a snippet from math.lisp:

(export '(mgg-monthly mgg-compare mgg-prepay mgg-payoff mgg-interest
           black-scholes-call black-scholes-eput
           solow solow-next-year
           lognormal luhn))
From: Mark Carter
Subject: Re: Newbie and clocc RESOLVED
Date: 
Message-ID: <2ltedbFgbrjdU1@uni-berlin.de>
Mark Carter wrote:
> I can't seem to get clocc working properly. I'm sure it's something 
> simple I'm doing wrong, I just can't figure out what. I've installed 
> clocc (to the best of my ability), and when I type in the program
> 
> (setq *clocc-root* "c:/packages/clocc/")
> (load (concatenate 'string *clocc-root* "clocc"))
> (load (translate-logical-pathname "clocc:src;cllib;base"))
> (load  (translate-logical-pathname "clocc:src;cllib;math") )
> (mgg-interest (100 3 0.1))
> I obtain the results:
...

> EVAL: undefined function MGG-INTEREST
>    [Condition of type SYSTEM::SIMPLE-UNDEFINED-FUNCTION]

I would help if I had actually used the right library!
mgg-interest is actually in clocc/src/cllib/fin.lisp, and not math.lisp, 
so a way of invoking it might be as follows:

(setq *clocc-root* "c:/packages/clocc/")
(load (concatenate 'string *clocc-root* "clocc"))
(load  (translate-logical-pathname "clocc:src;cllib;fin") )
(cllib:mgg-interest 100 3 0.1)

It might not be the best way, but at least it works.

Just to elaborate on the point, here's how one might invoke the sysinfo 
function found in clocc/src/port/sys.lisp:

(setq *clocc-root* "c:/packages/clocc/")
(load (concatenate 'string *clocc-root* "clocc"))
(load (translate-logical-pathname "clocc:src;port;sys") )
(port:sysinfo)


Thanks go to "Persons or Persons Unknown" for providing feedback to my 
personal email address.