Regardless of how crazy it sounds, an idea from Joe Armstrong is worth seriously thinking over.

This has bugged me before: think about how we design and write code as project size, or programmer skill grows. You start with composing statements inside a single function; later, you start to compose functions inside a single file; later you move on to composing modules; subsystems; systems...

Different techniques, doing the same thing in different ways, depending on the level of complexity. Surely there's some unified approach that can replace them all?


Erlang has the advantage of functions being the basic, composeable building block. Packages and modules are merely means to organize them, and mediocre means at that, so a better system is definitely a possibility. Haskell has the complication of having type definitions in addition to functions.

On Sat, May 28, 2011 at 1:09 AM, Dmitry Vyal <akamaus@gmail.com> wrote:
On 28.05.2011 07:10, Tom Murphy wrote:
Hi All,
     I sure love Hackage, but there's a very interesting discussion
going on, on the Erlang mailing list, about completely restructuring
the module-model.
     Before you dismiss it as crazy, know that the topic was brought
up by Joe Armstrong, one of the creators of the language.

Here's the archive:
http://erlang.org/pipermail/erlang-questions/2011-May/058769.html

     Food for thought...

Tom

Hi Tom,
sounds interesting! But seems to me this will raise current package dependencies problems on a new level. Now one sees modules and packages as some kind of aggregates, black boxes which supply useful functionality and hide non relevant complexity and tight dependencies.

Moving to functions all the way down looks to me like a lowering level of abstraction. The meta information about the overall program structure would inevitably be lost.

Dmitry


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe