Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

WOW!


We're doing real time control for vehicles, which has to handle, among other things, valve timing, fuel flow, the transmission, suspension adjustments, braking. We can't afford to have the system break, and Erlang is built for mission critical systems, giving us quality primitives for handling concurrency and software breakage.

But in Erlang records and math are kinda broken, and we needed both. Hence, LFE.


Could you describe how records are broken in Erlang?


Essentially, the syntax for dealing with them is painful.

From the Recless project page:

http://code.google.com/p/recless/

Recless is a type inferring Erlang parse transform. Instead of writing these lines:

     City = ((Project#project.owner)#person.address)#address.city,
                                                                             
     NewProject =
       Project#project{owner =
        (Project#project.owner)#person{address =
          ((Project#project.owner)#person.address)#address{city =
            'Boston'}}}.
                                                                              
it lets your write these lines:

     City = Project.owner.address.city,

     NewProject = Project.owner.address.city = 'Boston'.


Thanks! Is there a link to the project?


My project, or Lisp Flavored Erlang?

Regardless, the answer (I believe) is, not at this time. But soon enough...


http://forum.trapexit.org/viewtopic.php?p=43950#43950

It's awesome. But, the shell is a little neutered, i.e. it breaks on (lambda (x) x)...hopefully that'll be fixed soon.


nods that's fairly high up in the priority list...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: