On 28/08/2014, at 10:04 AM, srean wrote:

> Great development. If I managed to wear you down into doing this, may be I 
> should continue pestering you about authoring that Felix book :

No way. Its too much work, no fun, and not going
to bring in any money. It's also not going to get published.
Even O'Riley refused to publish a book on OCaml.

I might do this if I had more confidence in the whole
system, but that will not come without some effort
by other people: users, developers, and theoreticians.

My main interest is in getting the type system right.
At present, for example, the way compact linear types
are handled -- the stuff that provides polyadic arrays --
is flawed.

Similarly, whilst we have

        int * int = int ^ 2
        int ^ 2 * int ^ 2 = int ^ (2 + 2)

there is no corresponding identity for sums:

        int + int = 2 * int // doesn't hold

In fact this *nearly* holds: the general representation of sums is:

        struct _uctor_ {
                int tag;
                void *data;
        };

which is layout compatible with

        2 * &int

however there are other compact representations:

        1 + int

for example is

        int * // C rep

with the first case denoted by NULL.

In general, there are many categorical isomorphisms,
including for example:

        a * b \iso b * a

which do not have "automatic" representation equalities,
and others that do. Its not clear ANY isomorphisms should
be applied automatically. For example

        int * int \iso int ^ 2

in theory, but should that iso apply in the language as an identity?

What about

        int ^ 0 ?? // zero length array or unit tuple?

I actually have a paper by Barry Jay on how to do this right.

And there are languages based on polynomial types like Charity.
But I have the added burden of C compatibility and performance
to deal with :)

But the bottom line is the comments by actual or potential users.
It's fun to discuss features with observers but only the users really count.

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




------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to