EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Erlang
From: Benjamin Franksen <[email protected]>
To: [email protected]
Date: Sat, 25 Feb 2006 20:00:44 +0100
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  <20062007  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  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·