@InProceedings{read14, author = {Andrew Read}, title = {Concept and implementation of an extended return stack to enhance subroutine and exception handling in {FORTH}}, crossref = {euroforth14}, pages = {5--22}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/read.pdf}, video = {http://www.forth-ev.de/wiki/events:euroforth-2014:xrstack}, OPTnote = {not refereed}, abstract = {A conceptual generalization of the FORTH return stack is obtained by complementing it with one or more additional stacks that are tightly synchronized in operation according to some precise logical rules. With additional stacks specically deployed to support subroutine and exception handling, a model is obtained whereby CATCH and THROW can be implemented as single machine language instructions and a number of other features emerge that enhance the exibility, speed, and robustness of subroutine and exception handling in FORTH. The extended return stack model has been successfully implemented on the N.I.G.E. Machine.} } @InProceedings{pelc14flash, author = {Stephen Pelc}, title = {Compiling to Flash}, crossref = {euroforth14}, pages = {23--25}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/pelc1.pdf}, OPTnote = {not refereed}, abstract = {In the last two or three years, a number of embedded Forth systems have emerged that are self-hosted and compile directly to Flash. This paper explores some of the issues found at MPE when we implemented such a kernel for the MPE Lite edition cross-compilers. Issues for the TI MSP430 family and several ARM implementations are discussed.} } @InProceedings{pelc14arm, author = {Stephen Pelc}, title = {VFX {Forth} for {ARM} {Linux}}, crossref = {euroforth14}, pages = {26--29}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/pelc2.pdf}, video = {http://www.forth-ev.de/wiki/events:euroforth-2014:armvfx}, OPTnote = {not refereed}, abstract = {All VFX Forth versions have been built from the same source tree. However, VFX Forth for ARM Linux is the first ARM port since 1999. This paper looks at how well the original VFX Forth source tree has stood up to the changes of the last 15 years.} } @InProceedings{bennet14code, author = {Paul E. Bennet}, title = {High Integrity Systems --- CODE}, crossref = {euroforth14}, pages = {30--34}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/bennet.pdf}, slides-url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/bennet-slides.pdf}, video = {http://www.forth-ev.de/wiki/events:euroforth-2014:code}, OPTnote = {not refereed}, abstract = {In Phil Koopman's paper ``The Grand Challenge of Embedded System Dependability'' he sets out four challenges. ``Four significant challenges in embedded system dependability are:\begin{itemize}\item embedded-specific security approaches, \item unifying security with safety, \item dealing with composable emergent properties, \item and enabling domain experts to use advanced dependability techniques.''\end{itemize}[Koopman1]\par This paper will describe the benefits of developing software as components of a system, following on from their interface specification, review/examination, functional testing and limitations testing. It will continue to explain why Forth is one such suitable Component Oriented Development Environment. We will cover the development process (including organisational requirements) and the production of well specified and correctly behaving (according to its specification) software.} } @InProceedings{stoddart14, author = {Bill Stoddart}, title = {HiTex --- \LaTeX{} gets a helping hand from Forth}, crossref = {euroforth14}, pages = {35--44}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/stoddart.pdf}, video = {http://www.forth-ev.de/wiki/events:euroforth-2014:hitex}, OPTnote = {not refereed}, abstract = {HiTeX is a simple \LaTeX{} pre-processor that works through token replacement. It provides improved readability of mathematical text in a source document by allowing free use of Unicode characters and eliminating any need for specific spacing and new line commands. HiTeX gains considerable power from the ability to incorporate sections of Forth text within a document. Output generated by Forth can be directed to the output file, or can be used to define place-holders which, when used within maths mode in a HiTeX document, will be replaced by the result of the corresponding computation.} } @InProceedings{ertl14, author = {M. Anton Ertl}, title = {Region-Based Memory Allocation in Forth}, crossref = {euroforth14}, pages = {45--49}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/ertl.pdf}, OPTnote = {not refereed}, abstract = {Memory management has a pervasive effect on the way we program. In region-based memory allocation, objects with roughly the same life expectancy are allocated in one region, and in the end the whole region is freed at once. This avoids the need to keep track of the individual objects for \texttt{free}. Regions are simple to implement and compatible with real-time requirements and multi-threading, and seem to be ideal for Forth, except for one thing: The region id has to be passed to the allocation word, increasing the stack load. We propose using context wrappers to avoid that problem. This even allows to use existing \texttt{allocate}-based libraries with regions, but we then have to decide what \texttt{free} and \texttt{resize} inside these libraries do.} } @InProceedings{schleisiek14, author = {Klaus Schleisiek}, title = {Doing C-style structs on cell addressed uCore}, crossref = {euroforth14}, pages = {50--51}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/schleisiek.pdf}, url-slides = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/schleisiek.ppt}, video = {http://www.forth-ev.de/wiki/events:euroforth-2014:cstruct}, OPTnote = {not refereed} } @InProceedings{wodni14, author = {Gerald Wodni}, title = {Forth --- The Next Generation}, crossref = {euroforth14}, pages = {52--53}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/wodni.pdf}, video = {http://www.forth-ev.de/wiki/events:euroforth-2014:nextgen}, OPTnote = {not refereed}, abstract = {To attract the next generation of Forth programmers, new tools are needed. The Forth Net should serve as a single point of entry to get them started.} } @InProceedings{hoffmann14, author = {Ulrich Hoffmann}, title = {Saturation Arithmetic}, crossref = {euroforth14}, pages = {54--56}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/hoffmann.pdf}, video = {http://www.forth-ev.de/wiki/events:euroforth-2014:satar}, OPTnote = {Presentation slides} } @InProceedings{paysan14, author = {Bernd Paysan}, title = {net2o: Command Language}, crossref = {euroforth14}, pages = {57--60}, url-ho = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/paysan-ho.pdf}, url-proj = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/paysan.pdf}, video = {http://www.forth-ev.de/wiki/events:euroforth-2014:net2ocl}, OPTnote = {Presentation slides} } @InProceedings{bennet14-edu, author = {Paul E. Bennet}, title = {Forth in Education --- Spreading the word}, crossref = {euroforth14}, pages = {61--62}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/bennet-education.pdf}, video = {http://www.forth-ev.de/wiki/events:euroforth-2014:forthed}, OPTnote = {Presentation slides} } @InProceedings{ertl14-c, author = {M. Anton Ertl}, title = {How to get rid of {C}}, crossref = {euroforth14}, pages = {63--65}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/ertl-c.pdf}, video = {http://www.forth-ev.de/wiki/events:euroforth-2014:ridofc}, OPTnote = {Presentation slides} } @Proceedings{euroforth14, title = {30th EuroForth Conference}, booktitle = {30th EuroForth Conference}, year = {2014}, key = {EuroForth'14}, url = {http://www.complang.tuwien.ac.at/anton/euroforth/ef14/papers/proceedings.pdf} }