On 20/01/2013, at 2:20 PM, john skaller wrote:

> You will be able to do this:

Done ..

>       flx p.flx
>       flx p.fdoc
>       flx p

The webserver now chooses hyperlinks from felix include directives the same way.

Now the issues.. i do not really like that you can have both fred.fdoc and 
fred.flx.
One advantage if that you can modify the fred.flx file and try it out, then 
merge
the changes into the fred.fdoc file when you're happy, or simply delete fred.flx
if you're not. Or you can flx_tangle fred.fdoc to overwrite your changes.

For the library, it is possible to run flx_tangle on the fdoc files to extract
the *.flx files. However the install process does NOT respect time stamps.
On the other hand flx and the webserver base their choice on timestamps.

Syntactically, a *.flx file can do anything a *.fdoc file can,
even contain slideshows :) With two constraints: @felix commands
mark text which is merged for parsing. So at the moment a library
file can be documented but you cannot also include regression test code.

The other caveat is that you have to start *.fdoc files containing code
with a blank line or Felix cannot parse it. This is a limitation of dypgen:
we do not want to match arbitrary @t because that means a possibly
null pointer to t, so we require 

        newline @

which excludes a @ at the start of a file. The constraint is probably temporary.
Although you can now put @ commands in a *.flx file, the webserver cannot
parse them (Felix can though!).

Note the documentation generators that scan the libraries have not yet
been updated to support fdocs.

The misc/vim/syntax/felix.vim allows *.flx files to be colourised properly.
[The same syntax should work for fdoc extensions, I just haven't done it yet]
[If anyone has a emacs mode for Felix please contribute it!, similarly
for Eclipse, Visual Studio]

So I'm uncomfortable with the two files and the timestamp selection.

Future directions. Well here's the rub: I know how to generalise this
system to be very powerful. In fact @fdoc format can be used
to do anything, including construct a complete build system.
I know this because @interscript did precisely that.
in interscript a @command we nothing more or less than completely
arbitrary Python script. [You just learned ALL of interscript in two seconds,
apart from the libraries .. :]

LP was judged to get in the way of developers, it was removed to remove
the barrier to contributing. Now part of that's been put back because
(a) there are hardly any contributors anyhow and (b) I simply cannot
document the library any other way.

--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to