Question

I'm frustrated by the lack of clear documentation in NARS2000.

For example, I don't know how to define a function yet. ( I know I can use trains, but that's beside the point. )

  AVG←{(+/⍵)÷⍴⍵} ⍝ computes the average
SYNTAX ERROR
  AVG←{(+/⍵)÷⍴⍵} ⍝ computes the average
                                       ∧

Then,

  AVG←(+/⍵)÷⍴⍵ ⍝ computes the average
VALUE ERROR
  AVG←(+/⍵)÷⍴⍵ ⍝ computes the average
            ∧

At this point, I really starting to wonder if NARS2000 uses in function definition.

So how do I do define a function?

Was it helpful?

Solution 2

Omega ( ⍵ ) is an identifier in NARS2000. You create a function either with the del operator or with the )EDIT command. So if you wanted to define an avg function:

)edit avg

[0] r←avg arg
[1] r←(+/arg)÷⍴arg

Control E to save, then do

   a←5 10 15 20
   avg a

12.5

OTHER TIPS

Good news! As of version 0.4.0.29 (2 Aug 2013) NARS2000 supports Anonymous Functions (a.k.a. dynamic functions). For more details, see the Wiki.

Darn it.

NARS2000 doesn't support dynamic functions.

The feature is on the main page under Wish List of Features.

Actually, there is some implementation of omega/alpha dynamic functions.

Here is an example:

      ⎕SYSVER
0.4.0.29  Fri Aug 02 06:09:58 2013  Win/32

      AVG←{(+/⍵)÷⍴⍵} ⍝ computes the average
      AVG 2 3 5
3.333333333
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top