4 ms·
We're doing real time control for vehicles, which has to handle, among other things, valve timing, fuel flow, the transmission, suspension adjustments, braking.
by DaniFong 18y ago
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.
- prakash 18y agoThanks! Is there a link to the project?
- DaniFong 18y agoMy project, or Lisp Flavored Erlang? Regardless, the answer (I believe) is, not at this time. But soon enough...
- lg 18y agohttp://forum.trapexit.org/viewtopic.php?p=43950#43950 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.
- DaniFong 18y agonods that's fairly high up in the priority list...
- pivo 18y agoCould you describe how records are broken in Erlang?
- DaniFong 18y agoEssentially, the syntax for dealing with them is painful. From the Recless project page: http://code.google.com/p/recless/ 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'.