To much information

Started by Jim Short, March 08, 2009, 08:01:01 AM

Previous topic - Next topic

Jim Short

C-Speak
(dcl_ListBox_SelectItem <CONTROL> ItemIndex [as Long] {Select [as Boolean]})

Lisp-Speak
(dcl_ListBox_SelectItem <CONTROL>  ItemIndex [as INT] {Select [as T or NIL})

AutoLISP functions do not allow optional arguments. The above must be some other kind of function.

When I started with ObjectDCL I found much of the documentation confusing because
of my lack of experience with C++ terminology. Those users with experience in languages other
than lisp will recognize C-Speak. AutoLISP only users will find it confusing.

In AutoLISP I would write the above:

((dcl_ListBox_SelectItem ControlName idx toggle)
;ControlName symbol
;idx 0 based int index
;toggle T or Nil

There has been a huge effort bringing the help along to this point. This is not a suggestion to change it.
We live with a differently arranged number pad on keyboards and telephones.
Jim Short

owenwengerd

Thanks for the feedback. I'm sympathetic to your viewpoint (I programmed in Lisp long before I programmed in C, FWIW).

When Lisp functions are defined in ObjectARX code, they can have optional arguments, and there is an actual "long integer" Lisp data type. I think the OpenDCL function syntax is a combination of "C-Speak", convenience, and necessity. For example, types like "Color" have no analagous Lisp data type (although Color can be represented by a combination of lisp data types). My goal was to abstract all types into "Neutral-speak", but unfortunately I'm biased when it comes to the "neutral" type names. ;)