On 10/01/2013, at 7:49 AM, srean wrote:

> John, could you post your lengthy replies to a blog ?

All email to sourceforge is saved by the mailing system into an archive 
and can be accessed from the web. I don't know about google's mail.

> This way a new user can get directly to the question he/she needs help with. 
> This goes in the mail and then you have a link to the extended discussion. 
> This flow is much easier for a new user.

Sourceforge mail can be linked by author, thread, or date.
It's the same as a blog already. Just some respondents don't use
the sourceforge mail. Some lurkers do not read google mail.

Blogs are for more considered posts than what goes to email,
otherwise a whole lot of irrelevant cruft gets in and the blog is just
an image of the email archives. We already have email archives.

> 
> Fixing build systems is a noble goal, in that case Fbuild should also live 
> outside of the Felix repository.

It is. TRE is outside Felix as well. As is OSC Scheme and Dypgen.
But this has little to do with fixing the build system, the repo structure
is more about the development workflow.

Originally, Erick used this mechanism: Felix used git submodules.

However git is badly broken with respect to submodules, you can break
the repository if you don't commit correctly. Lacking a secure workflow
I dumped the submodules. Git has commands to fix things but stuff
like "rebase" make no sense to me. I have no idea what they're 
talking about. It doesn't support more obvious requirements in a
simple way.

For example you'd expect a submodule to contain patches
to upstream. Local changes are patches. Upstream changes
would merge. And local changes could be merged back
to upstream (if you have authority).

I believe git CAN do exactly what I just said but I don't 
know HOW to do it and arbitrary commands just break
the repository. Without a git-spert around to fix the breakages
I personally cannot maintain such a complex system .. and
we haven't even got up to running separate branches to
support releases.

The right way to do this is probably to make all the parts of Felix
separate submodules of a master project with no other content.
I don't know. I'm not a git expert. Lacking the expertise everything
is in a single repo now. I can make that work.

The ideal solution would be a universal package manager.
But Windows and Mac have their own systems and Linux
is fragmented into 10,000 distros. Even those using the same
package manager, eg Debian and Ubuntu, use separate databases
and require teams of people wasting their time with packaging
instead of developing software. 

Ultimately tarballs are the universal package, but then you need
a universal build system too. Which is fbuild at the moment.
But without a maintainer ..

In the long run, Felix can provide a better solution.
For its own sources, there is no need to have "binary"
distributions because Felix can "run" text files directly.
With a bit of work, the third party Felix libraries will
no longer need to be "installed" at all.

You will just run your program and

        include "http://felix-lang.org/weirdlib/module26";;

will fetch the source and cache it. No need to download latest version
when you run your program "in the cloud". The technology to make
this work is trivial. The technology to make it secure and reliable is not.

You'd need signing and some trust mechanism. Luckily systems like
Debian already provide this so we don't have to reinvent the wheel
entirely.

What we get back to is this: Felix is a major system, not a simple library.
It takes a lot of work to build and manage the infrastructure for such
a system. The more complex the system the more work is needed
on the infrastructure, rather than the actual product. The more work
I do on that, the less work on the actual product. Writing tutorials
doesn't make the compiler any faster or more capable.

The minimum team required at the moment for any semblance of
good structure whilst maintaining progress is three. Full time.
Or equivalent. The team size is one. I haven't been off my yacht
even to go shopping since New Year, and I haven't done any work
at all on the boat.

The only way to make all this more manageable is to design
infrastructure and write programs to maintain it. Hence the
flx_tangle tool helps with the tutorial, the webserver formats
fdocs without any need for a separate formatting pass,
there's a tool to generate references for the grammar and
library, so the documentation effort is reduced to commenting
them and improving the tools. At least that focusses the work
on Felix source code (documenting the libraries leads to
restructuring, the tools are written in Felix ....)


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




------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to