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
[email protected]
http://felix-lang.org
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language