Experimental Physics and Industrial Control System
On Friday 24 February 2006 23:22, Steve Lewis wrote:
> >Of course, Erlang's runtime system is written in (fine-tuned,
> >hand-optimized) C...
>
> I have always considered EPICS record support, channel access, and
> the related code to /be/ a "fine-tuned, hand-optimized run-time
> system." That's where the hard work has gone.
Yes, of course. That's why I made this last remark ;-)
I am very fond of the high code equality in the EPICS base.
> Other than the
> process routines, there is not much other code needed.
Not much, but still.
Often you have to write additional code, for instance in SNL. And you
can't really argue that SNL is a high-level language. It is more or
less a downgraded C plus a simplified CA plus state machine semantics.
No abstraction facilities to speak of. It is barely adequate for simple
jobs and gets extremely annoting if you want to do complex things.
Also, record support is a bit more than just a linear process() routine
(init_record, special, cvt_dbaddr, special code for asynch processing,
especially in conjunction with bumpless reboot).
> We already have what Erlang--or any other language+runtime with the
> same qualities--would bring to the table.
We have much of it, agreed. But there are also things missing. See the
wish-list for EPICS V4. Off the top of my head:
- online add/delete of records
- unlimited data sizes (strings, arrays)
- atomic read/write of structured data
- asynchronous link processing
- replication
And from my personal wish list
- hot-swap of code
- exception handling / supervisor processes
- automatic memory management
- decent high-level processing language
It's not that there isn't anything to do to make EPICS even better than
it is...
Ben
- References:
- RE: XML is dead, long live ML9 Jeff Hill
- Re: Erlang Benjamin Franksen
- Re: Erlang Steve Lewis
- Navigate by Date:
- Prev:
Re: Erlang Steve Lewis
- Next:
Re: (A)synchronous dbGetLink Benjamin Franksen
- Index:
2002
2003
2004
2005
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Erlang Steve Lewis
- Next:
Re: (A)synchronous dbGetLink Benjamin Franksen
- Index:
2002
2003
2004
2005
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024