Define a primitive data type: Difference between revisions

Line 1,166:
 
=={{header|J}}==
J excels in composition rather than permitting verb overloading. Express a dyadic operation as verb__object1 object2 rather than object1 verb object2 . The example uses the verb ''add'' . The constructor, create, retains j's array data structure opposed to limiting to an atom.
<lang J>
NB. le provides total ordering to control the error when non-numeric types are arguments
le_z_=: 0 1-:"1 /:@(,&<"0)
 
NB. used to ensure the object has the value field, again, to control errors.
nameClass_z_=: 4!:0
signalError_z_=: 13!:8
Line 1,180 ⟶ 1,183:
)
 
NB. return a new restrict object as the sum of two restrict-like objects
 
add_restrict_=: monad define
if. 0 = nameClass<'value__y' do.
Line 1,195 ⟶ 1,198:
1 2 3
4 5 6
 
B =: 1 4 conew 'restrict'
 
Anonymous user