User loginNavigation |
Cross language runtimes"8th" - a gentle introduction to a modern ForthFound on the ARM community's embedded blog. It seems that Forth may be making a comeback.
Other differences from traditional Forth appear to include automatic memory management and some kind of signed and encrypted application deployment. [Edit: per gasche's comment, please note that 8th appears to be closed source. From their FAQ: By Allan McInnes at 2017-10-02 00:26 | Cross language runtimes | 17 comments | other blogs | 69620 reads
Project Snowflake: Non-blocking safe manual memory management in .NETProject Snowflake: Non-blocking safe manual memory management in .NET by Matthew Parkinson, Kapil Vaswani, Manuel Costa, Pantazis Deligiannis, Aaron Blankstein, Dylan McDermott, Jonathan Balkind, Dimitrios Vytiniotis:
Rather than trying to solve safe manual memory management using compile-time reasoning, you can move some of it into the runtime and raise dynamic failures on use-after-free and other hazards. With some judicious special types that track ownership and a type of borrowing, and some reasonable restrictions on how these types can be handled, you can achieve a nice framework for integrating manual and automatic memory management. The performance benefits for large heaps looks pretty clear. PowerShell is open sourced and is available on LinuxLong HN thread ensues. Many of the comments discuss the benefits/costs of basing pipes on typed objects rather than text streams. As someone who should be inclined in favor of the typed object approach I have to say that I think the text-only folks have the upper hand at the moment. Primary reason is that text as a lingua franca between programs ensures interoperability (and insurance against future changes to underlying object models) and self-documenting code. Clearly the Achilles' heel is parsing/unparsing. As happens often, one is reminded of the discussions of DSLs and pipelines in Jon Bentley's Programming Pearls... By Ehud Lamm at 2016-08-19 09:23 | Cross language runtimes | DSL | 8 comments | other blogs | 48657 reads
Don Syme receives a medal for F#Don Syme receives the Royal Academy of Engineering's Silver Medal for his work on F#. The citation reads:
Congratulations! By Ohad Kammar at 2015-07-03 19:16 | Cross language runtimes | Fun | Functional | General | Implementation | Object-Functional | OOP | Paradigms | Software Engineering | 5 comments | other blogs | 19081 reads
Draining the Swamp: Micro Virtual Machines as Solid Foundation for Language Development
Draining the Swamp: Micro Virtual Machines as Solid Foundation for Language Development Many of today's programming languages are broken. Poor performance, lack of features and hard-to-reason-about semantics can cost dearly in software maintenance and inefficient execution. The problem is only getting worse with programming languages proliferating and hardware becoming more complicated. An important reason for this brokenness is that much of language design is implementation-driven. The difficulties in implementation and insufficient understanding of concepts bake bad designs into the language itself. Concurrency, architectural details and garbage collection are three fundamental concerns that contribute much to the complexities of implementing managed languages. We propose the micro virtual machine, a thin abstraction designed specifically to relieve implementers of managed languages of the most fundamental implementation challenges that currently impede good design. The micro virtual machine targets abstractions over memory (garbage collection), architecture (compiler backend), and concurrency. We motivate the micro virtual machine and give an account of the design and initial experience of a concrete instance, which we call Mu, built over a two year period. Our goal is to remove an important barrier to performant and semantically sound managed language design and implementation.Inside you will find the specification of an LLVM-inspired virtual instruction set with a memory model (enables proper GC support) including a specification of concurrent weak-memory operations (reusing C(++)11, a debatable choice), relatively rich control-flow primitive (complete stack capture enabling coroutines or JIT-style de-optimization), and live code update. By gasche at 2015-05-17 21:46 | Cross language runtimes | Implementation | 13 comments | other blogs | 30369 reads
.NET Compiler Platform ("Roslyn")
In a nutshell: OPEN SOURCE C# COMPILER. Putting aside possible practical implications of this for the .NET ecosystem, I think it is good for programming language geeks to be able to peruse the source code for compilers and language tools. For the debate about MS being evil, you can head directly to HN where you'll also find an explanation of what bootstrapping a compiler means. By Ehud Lamm at 2014-04-04 06:21 | Cross language runtimes | Implementation | 134 comments | other blogs | 29591 reads
Azul's Pauseless Garbage CollectorHere's Gil Tene on Azul's Pauseless Garbage Collector for the JVM.
And
The challenge seems to be that standard OSes don't currently have enough hooks for them to do this kind of thing so their runtime must live in either their custom hardware and OS or a virtual machine. By James Iry at 2010-12-20 15:21 | Cross language runtimes | Implementation | 14 comments | other blogs | 17318 reads
ThornThorn is
Thorn is implemented by a compiler targeting the JVM and a Java interpreter, and syntactically resembles Scala, at least superficially. One of those "features" is a unique (as far as I know) soft type system:
Concurrency is also a little odd:
A couple of papers are linked to the home page; "Thorn - Robust, Concurrent, Extensible Scripting on the JVM", by Bard Bloom, et. al., is a general description of the language, from which come the quotes above; and "Integrating Typed and Untyped Code in a Scripting Language", by Tobias Wrigstad, et. al., with more information about like types. I have not seen Thorn here before. Apologies if I have just missed it. By Tommy McGuire at 2010-09-22 22:22 | Cross language runtimes | Object-Functional | Parallel/Distributed | 4 comments | other blogs | 19757 reads
The Future of C#One of the future additions to C# announced by Anders Hejlsberg in this entertaining video from 2008 is Compiler as a Service. By that he means the ability to He shows this off at around minute 59, to great effect and great excitement by the audience. It feels like an inflection point. There probably won't be another REPL-less language from now on. I predict that after that, they'll add hygienic macros and quasisyntax. By Manuel J. Simoni at 2010-07-20 00:54 | Cross language runtimes | Fun | Meta-Programming | 26 comments | other blogs | 25923 reads
Compiling Structural Types on the JVMHere's a little sausage making article for JVM language implementors. In Compiling Structural Types on the JVM: A Comparison of Reflective and Generative Techniques from Scala’s Perspective, Gilles Dubochet and Martin Odersky describe
There's no discussion of the the proposed JVM "method handles" and whether they might be an even better solution than runtime reflection. Whiteoak was mentioned previously on LtU. By James Iry at 2010-06-30 15:18 | Cross language runtimes | Implementation | Scala | 5 comments | other blogs | 13577 reads
|
Browse archives
Active forum topics |
Recent comments
23 weeks 2 days ago
23 weeks 3 days ago
23 weeks 3 days ago
45 weeks 4 days ago
49 weeks 6 days ago
51 weeks 3 days ago
51 weeks 3 days ago
1 year 2 weeks ago
1 year 6 weeks ago
1 year 6 weeks ago