<abu[7]>
You don't need *Scl at all in the first expr
<abu[7]>
(let ..
<abu[7]>
What exactly is the goal?
<abu[7]>
I would not fiddle so much with *Scl
<abu[7]>
call 'scl' before you read a module, to have 1.0 expanded
<abu[7]>
may be different for different modules
<tankf33der>
whole programm run inside scl 100 or bigger, but mike should run inside scl 10
<abu[7]>
Good
<abu[7]>
But *run* does not really care about *Scl
<abu[7]>
just I/O
<abu[7]>
and output is done with 'format'
<abu[7]>
which also does not need *Scl
<tankf33der>
i thought i would save scl inside mike and return in exit
<abu[7]>
'scl' saves by itself
<tankf33der>
hm
<abu[7]>
(scl 100 (load "xxx.l"))
<abu[7]>
(scl 100 (load "xxx.l"))
<abu[7]>
(scl 10 (load "yyy.l"))
<abu[7]>
I think there is no need to fiddle with *Scl
<tankf33der>
and then i can call (mike) from yyy.l and will be scl 10?
<abu[7]>
Runtime does not need scale
<abu[7]>
only I0
<abu[7]>
if mike reads
<abu[7]>
output is format
<abu[7]>
'format'
<abu[7]>
If you read data ouside "xxx.l", you can do (scl 100 (my-reading-data))
<abu[7]>
if the data contain "."
<tankf33der>
no reading then. only calculations
<abu[7]>
so no *Scl needed at all
<abu[7]>
(scl 100) (load "@lib/math.l") (de mike ...
<abu[7]>
In other source files you may use 10
<abu[7]>
no problem
<abu[7]>
It is all only about reading 1.0 -> 10000000000
<abu[7]>
or other constants like PI
<tankf33der>
but this is ok, right? (* 4 (** 10 *Scl)) ?
<abu[7]>
Yes, but it is unnecessary runtime overhead
<tankf33der>
i knew it
<abu[7]>
and it doen not need *Scl
<abu[7]>
you can use a normal local variable
<abu[7]>
or constant
<tankf33der>
ok
<abu[7]>
Can you show the structure of your modules
<abu[7]>
?
<abu[7]>
ako skeleton
<abu[7]>
where is scale 100 and where 10
beneroth has joined #picolisp
<tankf33der>
there is skeleton only. this working code will be (newton) function and i stuck with (mike) function. inside (newton) scl will depend on input number