@InProceedings{ertl22, author = {M. Anton Ertl}, title = {Memory Safety Without Tagging nor Static Type Checking}, crossref = {euroforth22}, pages = {5--15}, url = {http://www.euroforth.org/ef22/papers/ertl.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/ertl-slides.pdf}, video = {https://www.youtube.com/watch?v=pReEJinuxEI}, OPTnote = {refereed}, abstract = {A significant proportion of vulnerabilities are due to memory accesses (typically in C code) that memory-safe languages like Java prevent. This paper discusses a new approach to modifying Forth for memory-safety: Eliminate addresses from the data stack; instead, put object references on a separate object stack and use \code{value}-flavoured words. This approach avoids the complexity of static type checking (used in, e.g., Java and Factor), and also avoids the performance overhead of dynamic type checking for non-memory operations. This paper discusses the consequences of this approach on the language, and on performance.} } @InProceedings{nelson-values22, author = {Nick J. Nelson}, title = {Better Values: Improvements to the implementation of the extended Forth Value concept}, crossref = {euroforth22}, pages = {16--19}, url = {http://www.euroforth.org/ef22/papers/nelson-values.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/nelson-values-slides.pdf}, video = {https://www.youtube.com/watch?v=UHcLqxG7UI4}, OPTnote = {presentation slides}, abstract = {Improvements to the implementation of the extended Forth VALUE concept} } @InProceedings{nelson-fql22, author = {Nick J. Nelson}, title = {Forth Query Language (FQL): Refining the result set analysis using dynamically generated local functions}, crossref = {euroforth22}, pages = {20--23}, url = {http://www.euroforth.org/ef22/papers/nelson-fql.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/nelson-fql-slides.pdf}, OPTnote = {presentation slides}, abstract = {} } @InProceedings{hoffmann22, author = {Ulrich Hoffmann}, title = {Fuzzing Forth}, crossref = {euroforth22}, pages = {24--32}, url = {http://www.euroforth.org/ef22/papers/hoffmann.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/hoffmann-slides.pdf}, video = {https://www.youtube.com/watch?v=b2XdEyEhMlc}, OPTnote = {presentation slides}, abstract = {Fuzzing is an automatic testing strategy that can be used to increase the reliability of applications. Application interfaces are tested with selected random (fuzzed) arguments in order to uncover implementation problems. The talk will explain various building blocks for fuzz testing, namely corectness notions, generators, mutators, sanitizers, among others, and see how Forth applications can benefit from fuzzing.} } @InProceedings{myneni22, author = {Krishna Myneni}, title = {Progress Towards Porting EISPACK to Forth}, crossref = {euroforth22}, pages = {33--36}, url = {http://www.euroforth.org/ef22/papers/myneni.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/myneni-slides.pdf}, video = {https://www.youtube.com/watch?v=Vq5zdiKX-xI}, OPTnote = {presentation slides}, abstract = {I will give an update on my status of porting EISPACK, the old Fortran package for obtaining numerical solutions of eigensystems problems, to standard Forth. I will describe the rationale behind porting this particular package, instead of a modern package like LAPACK, give an overview of the library modules present in EISPACK, and talk about some of the challenges in porting unstructured Fortran 77 code to current Forth and in testing both the original and ported code. Examples of use in Forth will be presented, for those modules which have already been ported.} } @InProceedings{faulkner22, author = {Glyn Faulkner}, title = {Tales from the Left-Hand Path: Dark Confessions of a Forth Hobbyist}, crossref = {euroforth22}, pages = {37--41}, url = {http://www.euroforth.org/ef22/papers/faulkner.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/faulkner-slides.pdf}, video = {https://www.youtube.com/watch?v=1gaYUt-IoMA}, OPTnote = {presentation slides}, abstract = {Question: What happens when you combine an unhealthy Forth obsession with a background in programming language implementation and a perverse liking for the GNU assembler? Answer: Nothing good or wholesome... Github for most mentioned systems: \texttt{https://github.com/boxoffoxes}} } @InProceedings{schleisiek-academia22, author = {Klaus Schleisiek}, title = {German Academia and Forth}, crossref = {euroforth22}, pages = {42}, url = {http://www.euroforth.org/ef22/papers/schleisiek-academia.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/schleisiek-academia-slides.pdf}, video = {https://www.youtube.com/watch?v=0RfCSQwZRSM}, OPTnote = {presentation slides}, abstract = {A report on the 38th Workshop der GI-Fachgruppe "Programmiersprachen und Rechenkonzepte"} } @InProceedings{paysan22, author = {Bernd Paysan}, title = {Gforth 1.0}, crossref = {euroforth22}, pages = {43}, url = {http://www.euroforth.org/ef22/papers/paysan.pdf}, video = {https://www.youtube.com/watch?v=75_LXUspEOg}, OPTnote = {presentation slides}, abstract = {Gforth is getting closer and closer to the 1.0 release; time to report what changes.} } @InProceedings{schleisiek-ucore22, author = {Klaus Schleisiek}, title = {uCore progress}, crossref = {euroforth22}, pages = {44}, url = {http://www.euroforth.org/ef22/papers/schleisiek-ucore.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/schleisiek-ucore-slides.pdf}, video = {https://www.youtube.com/watch?v=jcD5JbPnoUM}, OPTnote = {presentation slides}, abstract = {Byte addressing and complete division/multiplication test} } @InProceedings{hoffmann-standard22, author = {Ulrich Hoffmann}, title = {Standard Report}, crossref = {euroforth22}, pages = {45}, url = {http://www.euroforth.org/ef22/papers/hoffmann-standard.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/hoffmann-standard-slides.pdf}, video = {https://www.youtube.com/watch?v=tvX__JkhMTY}, OPTnote = {presentation slides}, abstract = {What has been discussed in the just past standard's meeting?} } @InProceedings{morse22, author = {Nate Morse}, title = {Joy to the Web: A Zero Install version of Joy (not a production) Language called Pounce}, crossref = {euroforth22}, pages = {46--47}, url = {http://www.euroforth.org/ef22/papers/morse.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/morse-slides.pdf}, video = {https://www.youtube.com/watch?v=0caXs2xLsZk}, OPTnote = {presentation slides}, abstract = {I could not get the ``Joy language'' to run on my hardware, so I started making interpreters (as one does). In the process of making interpreters, choices are made that deviated from ``pure'' Joy. I love the Forth way, and I am enamored by functional programming, so I followed Joy, Cat, Kitten, which lead me to make this browser based language, Pounce. Pounce has zero state outside of the stack and the program queue (dequeue), see \texttt{https://pounce-lang-show-case.netlify.app/} and \texttt{https://github.com/pounce-lang}} } @InProceedings{ertl-locals22, author = {M. Anton Ertl}, title = {Are locals inevitably slow?}, crossref = {euroforth22}, pages = {48--49}, url = {http://www.euroforth.org/ef22/papers/ertl-locals.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/ertl-locals-slides.pdf}, video = {https://www.youtube.com/watch?v=tPjSKetEJn0}, OPTnote = {presentation slides}, abstract = {Code quality of locals on two code examples on various systems} } @InProceedings{hoffmann-enums22, author = {Ulrich Hoffmann}, title = {Enums in Forth}, crossref = {euroforth22}, pages = {50--52}, url = {http://www.euroforth.org/ef22/papers/hoffmann-enums.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/hoffmann-enums-slides.pdf}, video = {https://www.youtube.com/watch?v=LkyR865QCL4}, OPTnote = {presentation slides}, abstract = {How can we define Enums in Forth? Let's look at best practice and alternatives.} } @InProceedings{nelson-embedding22, author = {Nick Nelson}, title = { Resource embedding in Forth}, crossref = {euroforth22}, pages = {53--54}, url = {http://www.euroforth.org/ef22/papers/nelson-embedding.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/nelson-embedding-slides.pdf}, video = {https://www.youtube.com/watch?v=xP5fnpWrIFI}, OPTnote = {presentation slides}, abstract = {How we put icons, images, UI definitions, CSS styling sheets etc. into our Forth executables.} } @InProceedings{oakford22, author = {Howerd Oakford}, title = {Encoding ASCII into cf2022 colorForth tokens}, crossref = {euroforth22}, pages = {55--56}, url = {http://www.euroforth.org/ef22/papers/oakford.pdf}, url-slides = {http://www.euroforth.org/ef22/papers/oakford-slides.pdf}, video = {https://www.youtube.com/watch?v=zl5IEpUBxfc}, OPTnote = {presentation slides}, abstract = {News from colorForth} } @Misc{read22, author = {Andrew Read}, title = {Can I do this in Forth?}, howpublished = {https://www.youtube.com/watch?v=qqlSPmxnDc4}, year = {2022}, note = {Video of otherwise unpublished talk at EuroForth 2022}, abstract = {A modern instrumentation control and data analysis application is astroimaging at amateur and semiprofessional observatories. A case for Forth software raises interesting questions!} } @Misc{wagner22, author = {Leon Wagner}, title = {Tracking celestial bodies with a satellite antenna}, howpublished = {https://www.youtube.com/watch?v=-IUm6zVYch0}, year = {2022}, note = {Video of otherwise unpublished talk at EuroForth 2022}, abstract = {We added celestial body tracking to our fast antenna controllers last year, primarily for tracking the moon. During testing, we strapped a webcam to an antenna mount and tracked the moon from rise to set in the sky over Fresno, California. I'll show the time-lapse video of this.} } @Misc{pelc&wodni22, author = {Stephen Pelc and Gerald Wodni}, title = {VFX Future / more TUI}, howpublished = {https://www.youtube.com/watch?v=HKPqx6slJj4}, year = {2022}, note = {Video of otherwise unpublished talk at EuroForth 2022}, abstract = {Wodni \& Pelc is already up & running, VFX is receiving new TUI tools} } @Misc{armstrong22, author = {Bob Armstrong}, title = {CoSy: Comuting environment demo}, howpublished = {https://www.youtube.com/watch?v=Vo1nlxBgHrU}, year = {2022}, note = {Video of otherwise unpublished talk at EuroForth 2022}, abstract = {Brief demo of CoSy environment which I use every day as a timestamped diary/log \& to doing my accounting and mail_list handling . CoSy is a Vocabulary in open Forth implementing reference counted dynamic lists very much modeled on Arthur Whitney's K , evolved from Ken Iverson's APL . Indexing is Modulo.} } @Proceedings{euroforth22, title = {38th EuroForth Conference}, booktitle = {38th EuroForth Conference}, year = {2022}, key = {EuroForth'22}, url = {http://www.euroforth.org/ef22/papers/proceedings.pdf} }