And of course, defining a function using *C-c C-c*
(gnu-apl-interactive-send-current-function) defines the function using the
dyadic ⎕FX as described above. The )LOAD function in GNU APL also sets it.

And there's how function navigation is implemented in the Emacs mode. :-)

Regards,
Elias


On 15 July 2014 10:39, Elias Mårtenson <loke...@gmail.com> wrote:

> Just some extra information: There is not currently (at least as far as I
> know) any way you can read this information from within APL. You can,
> however, set it using the dyadic form of ⎕FX:
>
>     *0 'foo.c:10' ⎕FX 'Z←aa X' 'Z←X+1'*
>
> This specifies that the function aa was defined on line 10 of the file
> foo.c.
>
> The Emacs mode reads this information using C++ code.
>
> Regards,
> Elias
>
>
> On 15 July 2014 07:45, David Lamkins <da...@lamkins.net> wrote:
>
>> That's good to know. Thanks!
>>
>>
>> On Mon, Jul 14, 2014 at 4:34 PM, Elias Mårtenson <loke...@gmail.com>
>> wrote:
>>
>>> This information is already stored. The Emacs mode uses this when
>>> navigating to definition of a function.
>>>
>>> Regards,
>>> Elias
>>> On 15 Jul 2014 02:19, "David Lamkins" <da...@lamkins.net> wrote:
>>>
>>>> I apologize for the confusion, but this proposal is about capturing the
>>>> file location of a function's definition; not about the function's
>>>> comments. My lead sentence was just an indicator that the earlier
>>>> discussion of comments triggered this new line of thought...
>>>>
>>>>
>>>> On Mon, Jul 14, 2014 at 11:14 AM, Juergen Sauermann <
>>>> juergen.sauerm...@t-online.de> wrote:
>>>>
>>>>>  Hi,
>>>>>
>>>>> my favourite for code documentation is *Doxygen*. It does not
>>>>> currently
>>>>> support APL comments but we might be able to change that. Or use one
>>>>> of the existing tags like --- for *VHDL* or %%% for *Erlang*.
>>>>>
>>>>> It would need some changes in GNU APL - multi-line comments and
>>>>> proper storage of documentation information in the function so that it
>>>>> can de *)DUMP*ed without loosing that information.
>>>>>
>>>>> /// Jürgen
>>>>>
>>>>>
>>>>>
>>>>> On 07/14/2014 07:56 PM, David Lamkins wrote:
>>>>>
>>>>>  Elias' thread about docstrings got me to thinking about other
>>>>> function metadata.
>>>>>
>>>>>  One thing that might be nice to have is for APL to record the source
>>>>> location of a function's definition.
>>>>>
>>>>> If the function is defined in a file, record the path and the line
>>>>> number of the first line of the definition. If the function is defined 
>>>>> from
>>>>> some other source, either record a suitable token that won't be confused
>>>>> for a filename or simply record nothing.
>>>>>
>>>>>  The source location information could be exposed to APL programs via
>>>>> an extension to ⎕AT or via a new system function created for this purpose.
>>>>>
>>>>>  Source location information could be used to implement a meta-dot
>>>>> command. Unlike an approach that requires use of a tags file (I'd be
>>>>> surprised if ctags or etags even works for APL code), the location
>>>>> information maintained by the APL session would be up-to-date and would
>>>>> correctly distinguish between a function loaded from a file and a function
>>>>> redefined from within the session.
>>>>>
>>>>>  Finally, it'd be nice to expose a system function to allow update of
>>>>> the source location metadata for use by tools which need to 
>>>>> programatically
>>>>> load APL code from a file.
>>>>>
>>>>>  Note that capturing the source file location of a function
>>>>> definition is something that can't already be done in APL without writing
>>>>> APL equivalents of )LOAD, )COPY, )PCOPY, )IN, )PIN, etc.
>>>>>
>>>>>  --
>>>>>  "The secret to creativity is knowing how to hide your sources."
>>>>>    Albert Einstein
>>>>>
>>>>>
>>>>> http://soundcloud.com/davidlamkins
>>>>> http://reverbnation.com/lamkins
>>>>> http://reverbnation.com/lcw
>>>>> http://lamkins-guitar.com/
>>>>> http://lamkins.net/
>>>>> http://successful-lisp.com/
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> "The secret to creativity is knowing how to hide your sources."
>>>>    Albert Einstein
>>>>
>>>>
>>>> http://soundcloud.com/davidlamkins
>>>> http://reverbnation.com/lamkins
>>>> http://reverbnation.com/lcw
>>>> http://lamkins-guitar.com/
>>>> http://lamkins.net/
>>>> http://successful-lisp.com/
>>>>
>>>
>>
>>
>> --
>> "The secret to creativity is knowing how to hide your sources."
>>    Albert Einstein
>>
>>
>> http://soundcloud.com/davidlamkins
>> http://reverbnation.com/lamkins
>> http://reverbnation.com/lcw
>> http://lamkins-guitar.com/
>> http://lamkins.net/
>> http://successful-lisp.com/
>>
>
>

Reply via email to