@InProceedings{ertl&gregg05, author = {M. Anton Ertl and David Gregg}, title = {Stack Caching in {Forth}}, crossref = {euroforth05}, pages = {6--15}, url = {http://www.complang.tuwien.ac.at/anton/euroforth2005/papers/ertl%26gregg05.pdf}, psurl = {http://www.complang.tuwien.ac.at/anton/papers/ertl%26gregg05.ps.gz}, abstract = {Stack caching speeds Forth up by keeping stack items in registers, reducing the number of memory accesses for stack items. This paper describes our work on extending Gforth's stack caching implementation to support more than one register in the canonical state, and presents timing results for the resulting Forth system. For single-representation stack caches, keeping just one stack item in registers is usually best, and provides speedups up to a factor of 2.84 over the straight-forward stack representation. For stack caches with multiple stack representations, using the one-register representation as canonical representation is usually optimal, resulting in an overall speedup of up to a factor of 3.80 (and up to a factor of 1.53 over single-representation stack caching).} } @InProceedings{ertl&paysan05, author = {M. Anton Ertl and Bernd Paysan}, title = {Xchars or {Unicode} in {Forth}}, crossref = {euroforth05}, pages = {16--20}, url = {http://www.complang.tuwien.ac.at/anton/euroforth2005/papers/ertl%26paysan05.pdf}, psurl = {http://www.complang.tuwien.ac.at/anton/papers/ertl%26paysan05.ps.gz}, abstract = {When dealing with different scripts at the same time (e.g., Latin, Greek, Cyrillic), or with Chinese ideograms, 8-bit fixed-width characters are too narrow. However, many Forth programs have an environmental dependency on $\code{1 chars}=1$, so just making Forth characters wider would cause quite a lot of portability problems. We propose to add xchars for dealing with potentially wider, variable-width characters. This extension is relatively painless, requiring changes in only those program parts that work with individual characters, if they should work with the extended characters; uses of string words need no changes to work with extended characters. The xchar words can also be implemented on 8-bit-only Forth systems, so programs written to use xchars can also work on such systems.} } @InProceedings{lynas&stoddart05, author = {Angel Robert Lynas and Bill Stoddart}, title = {SuDoku Solver Case Study: from specification to {RVM-Forth} (part I)}, crossref = {euroforth05}, pages = {21--34}, url = {http://www.complang.tuwien.ac.at/anton/euroforth2005/papers/lynas%26stoddart05.pdf}, abstract = {A project is underway to formulate a development cycle from B -- suitably augmenting its implementation language B0 with reversibility constructs -- to a coded implementation in the reversible target language RVM-Forth with translation schemas defined for this final stage. This paper describes the first phase of a case study using the puzzle SuDoku to investigate possible ways of fleshing out such a development cycle. We adopt an experimental approach, using a relatively simple specification as a springboard for what a generated code implementation might look like, and explore correspondences between the specification and implementation.} } @InProceedings{nelson&williams05, author = {N.J. Nelson and C. Williams}, title = {First experiences with {Microcore}}, crossref = {euroforth05}, pages = {35--45}, url = {http://www.complang.tuwien.ac.at/anton/euroforth2005/papers/nelson%26williams05.pdf}, abstract = {Following the convincing demonstrations at EuroForth 2004, we decided to use the "Microcore" VHDL Forth processor in the design of three new products. This paper will describe our progress in expanding the core design with additional peripherals, performing simulation, board implementation, and early experiments in writing code on the Microcore.} } @InProceedings{nelson&swiatlowski05, author = {N.J. Nelson and K.B. Swiatlowski}, title = {Self Documenting Sequences}, crossref = {euroforth05}, pages = {45--51}, url = {http://www.complang.tuwien.ac.at/anton/euroforth2005/papers/nelson%26swiatlowski05.pdf}, abstract = {When creating automation code for mechanical handling equipment which is specially adapted for installation at a wide variety of different sites, it is common for numerous alterations in the code to be required on site, at the last minute. Under pressure, user documentation starts to diverge from code. How nice it would be, if clear, accurate and readable documentation could be regenerated automatically each time the code was recompiled -- and translated, also automatically, into the customer's language!} } @InProceedings{ceballos05, author = {Federico de Ceballos}, title = {Simplicity in {Forth}}, crossref = {euroforth05}, pages = {51--56}, url = {http://www.complang.tuwien.ac.at/anton/euroforth2005/papers/ceballos05.pdf}, abstract = {In his book "Simplicity", celebrated author Edward de Bono (famous for concepts such as "Lateral Thinking" or "Po") put forward ten rules that should be used in every system that tries to define itself as simple. This paper studies how the Forth language meets these rules.} } @InProceedings{pelc05, author = {Stephen Pelc}, title = {{XML}, {SOAP} and Web Services in {Forth}}, crossref = {euroforth05}, pages = {57--62}, url = {http://www.complang.tuwien.ac.at/anton/euroforth2005/papers/pelc05.pdf}, abstract = {Web services enable applications to exchange data using an extension to HTTP. Implementing web services requires extensions to an HTTP server, parsing and generating XML and then interfacing to other applications. This paper discusses what was needed to extend MPE's PowerNet to handle web services, and how we took advantage of Forth itself to simplify the solution.} } @Proceedings{euroforth05, title = {21st EuroForth Conference}, booktitle = {21st EuroForth Conference}, year = {2005}, key = {EuroForth'05}, url = {http://www.complang.tuwien.ac.at/anton/euroforth2005/papers/proceedings.pdf} }