Dear list,

It seems that niladic lambdas are treated like constants.

Rough and naïve illustration : pasting this :

```
⍝ What about niladic functions and lambdas ?
⍝ Example of a numeric timestamp generator
⍝ Simplifying assumptions : we want to measure about a few minutes
⍝ and not around midnight...
⍝ Start afresh
)clear
⍝ Function
∇ R ← NTS
  R ← 24 60 60 1000 ⊥ ¯4↑⎕TS
∇
⍝ Try it
T1 ← NTS
⍝ Wait a few seconds
)host sleep 2
T2 ← NTS
⍞←'Spent Time : ',⍕(T2-T1)÷1000
⍝ Lambda
nts ← {24 60 60 1000 ⊥ ¯4↑⎕TS}
⍝ Try it
t1 ← nts
⍝ Wait a few seconds
)host sleep 2
t2 ← nts
⍞←'Spent time : ',⍕(t2-t1)÷1000
```

in a `gnu-apl` buffer gives :

```
      CLEAR WS

0 
Spent Time : 2.002
0 
Spent time : 0
```

Why ?

Bonus question : what causes the impression of the `0`s ?

Sincerely,

--
Emmanuel Charpentier

Reply via email to