[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] using exceptions

From: David Brown
Subject: Re: [avr-gcc-list] using exceptions
Date: Wed, 02 May 2012 13:00:06 +0200
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20120420 Thunderbird/12.0

On 01/05/2012 21:34, Bob Paddock wrote:
a subgroup
        of students (under my direction) has set up to write a
compiler for a subset
        of Haskell targetting AVR.  This is quite an exciting research project.

There is the Atom subset of Haskell meant for embedding, if you are
not aware of it:

"Atom is a Haskell DSL for designing hard real-time embedded software.
At Eaton, we use it for automotive control systems. Based on guarded
atomic actions, and similar to software transactional memory, Atom
enables highly concurrent programming without the need for mutex
locking. In addition, Atom performs compile-time task scheduling and
generates code with deterministic execution time and constant memory
use, simplifying the process of timing verification and memory
consumption in hard realtime applications. Without mutex locking and
run-time task scheduling, Atom can eliminate the need and overhead of
RTOSs for many embedded applications."
-- http://tomahawkins.org/

I used another of Tom Hawkins' projects - Confluence - several years ago. It was an excellent tool for FPGA design - much more efficient and natural than writing Verilog or VHDL, and far easier to write correct code. But he got bored with the project, and moved on - and Confluence stagnated. Take that both as a recommendation and a warning - judging from Confluence, Hawkins is a smart guy and produced a very imaginative and out-of-the-box tool. But it also shows that for a project to really live, you need more than a couple of people doing some research - you need enough people to have a continuation of the project over time.



You and yours might also find the http://mbeddr.wordpress.com/ project
of interest.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]