

Enchilada Programming Language - aerique
http://www.enchiladacode.nl/

======
lonestar
The section on "verifiable computation" is interesting:
<http://www.enchiladacode.nl/technology.html#verifyable>

"Every ID of an Enchilada Value is calculated by taking the SHA1 hash of the
Value's contents."

The docs suggest that this can be used in a consensus protocol. Many nodes can
compute the same result, and quickly test for equality by comparing the ID.
Seems nice to have this built-in to the language, but I have to wonder:

a) Why SHA1? Why not a member of the SHA2 family? b) If you're creating a
distributed system and want to implement a consensus protocol, a hash ID isn't
really sufficient. Who is going to end up using this feature?

~~~
andrewcooke
can you expand on why hash isn't sufficient for consensus? (i am just curious
- i know nothing about this, but it seems like as long as the hash space is
large enough that there are no collisions in the age of the universe etc
etc..)

~~~
lonestar
The hash could be used as the response in a consensus protocol, but it looks
like Enchilada leaves building that protocol up to the developer.

So like I said, it's nice to have that hash for every reference, but I wonder
if it's worth the storage overhead, and if a developer will use it when he's
building his own distributed system anyway.

~~~
andrewcooke
ah, ok, thanks. for "simple" values they wouldn't need to actually store the
hash. instead they could use, for example, the actual value of an int, byte,
float etc, xored with a type-specific base (but it wouldn't be that great as a
hash in, say, a hash table - better to use some function that preserves
uniqueness but disperses related values). that would mean they only need to
store large hashes for composite structures.

edit: i am making life too complicated. in short, if it can be calculated
quickly, it doesn't have to be stored.

------
jcw
Having the REPL in a frame as soon as you go to the site is very clever.

~~~
nbroyal
Unfortunately, it's broken in Chrome.

~~~
nielsadb
Running Chrome 4 here, no problems using the Repl. Did you install the Java
plug-in?

------
mbreese
Okay, so I was lost when I read this _feature_ in the RATIONALE section:

    
    
        Green Computing: mutating lesser bits generates lesser heat.
    

This is just silly.

~~~
iamwil
That's under the assertion that moving instructions through the processor is
the main source of heat generation in computers.

Is this not the case?

~~~
gthank
The idle draw of the processor was already a major source of power consumption
when I went through undergrad VLSI 5 years ago. It was my understanding that
it might not be more than 50% in actual production processors, but only
because they were already using lots of tricks as compared to a naive design.

