Abstract.Erlang is an industrially successful functional language that uses the Actor model for concurrency. It supports the messagepassing paradigm by providing pattern-matching over received messages. Unfortunately coding synchronisation between multiple processes is not straightforward. To overcome this limitation we designed and implemented JErlang, a Join-Calculus inspired extension to Erlang. We provide a rich set of language features with our joins. We present implementation details of our two alternative solutions, a library and an altered VM. Our optimisations provide JErlang with good performance.
Dealing with statically-typed languages and their complex type systems is problematic for programmers of all levels. Resolving confusing type errors is a time consuming and not always successful process.In this tool demonstration we give an overview of Scalad, an interactive tool that can explain decisions made by the existing typechecker of a multi-paradigm programming language by visualizing the whole process in the form of a proof tree. The tool works for both type correct and incorrect programs, making it suitable for educational purposes as well as debugging. We provide examples on how the tool can be used to understand typing puzzles. The debugger comes with an expandable search mechanism that can precisely guide users in finding answers to the typechecking problems and improve exploration time.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.