# Compilers

**URL:** https://d.strumenta.community/c/compilers/8.md

[Latest](https://d.strumenta.community/latest.md) · [Categories](https://d.strumenta.community/categories.md) · [Tags](https://d.strumenta.community/tags.md)

---

## [About the Compilers category](https://d.strumenta.community/t/about-the-compilers-category/19)

<div class="topic-metadata">

**Author:** [@ftomassetti](https://d.strumenta.community/u/ftomassetti)\
**Replies:** 0

</div>

---

## [SModel for Rust](https://d.strumenta.community/t/smodel-for-rust/1899)

<div class="topic-metadata">

**Author:** [@matheus](https://d.strumenta.community/u/matheus)\
**Replies:** 0\
**Last updated:** [May 4, 2024, 11:52am UTC](https://d.strumenta.community/t/smodel-for-rust/1899 "2024-05-04T11:52:47Z")

</div>

I’ve recently built the SModel crate for Rust for defining the semantic “thingy” in a compiler codebase using inheritance and dynamic dispatch, with additional super.m(...) calls and #\[inheritdoc\] attributes. So, for an…

---

## [Dependency graph of Java-like imports and aliases](https://d.strumenta.community/t/dependency-graph-of-java-like-imports-and-aliases/1807)

<div class="topic-metadata">

**Author:** [@matheus](https://d.strumenta.community/u/matheus)\
**Replies:** 3\
**Last updated:** [April 5, 2023, 12:24pm UTC](https://d.strumenta.community/t/dependency-graph-of-java-like-imports-and-aliases/1807 "2023-04-05T12:24:09Z")

</div>

Terminology My scripting language’s execution consists of three phases: parsing, verification and evaluation, much like ActionScript. The verifier ensures the program is correct at compile-time. For example, it checks i…

---

## [Typed parameterized functions in a semantic model](https://d.strumenta.community/t/typed-parameterized-functions-in-a-semantic-model/1745)

<div class="topic-metadata">

**Author:** [@matheus](https://d.strumenta.community/u/matheus)\
**Replies:** 2\
**Last updated:** [December 24, 2022, 11:30am UTC](https://d.strumenta.community/t/typed-parameterized-functions-in-a-semantic-model/1745 "2022-12-24T11:30:44Z")

</div>

I’ve implemented most of my semantic model for a type checker; now just missing Java-like interface implementation verification logic. I’ve something that I’m not safe about: how to structure symbol for functions such a…

---

## [How do I become a compiler or programming language development expert?](https://d.strumenta.community/t/how-do-i-become-a-compiler-or-programming-language-development-expert/1434)

<div class="topic-metadata">

**Author:** [@leikang123](https://d.strumenta.community/u/leikang123)\
**Replies:** 8\
**Last updated:** [February 18, 2022, 10:25am UTC](https://d.strumenta.community/t/how-do-i-become-a-compiler-or-programming-language-development-expert/1434 "2022-02-18T10:25:28Z")

</div>

I’m currently learning the Dragon Book compilation principle and rust programming language, as well as computer architecture. LLVM learning, I found that the dragon book theory too much, a lot of difficult to understand,…

---

## [Register based vs Stack based VMs](https://d.strumenta.community/t/register-based-vs-stack-based-vms/1448)

<div class="topic-metadata">

**Author:** [@Ankur](https://d.strumenta.community/u/Ankur)\
**Replies:** 3\
**Last updated:** [December 17, 2021, 2:13pm UTC](https://d.strumenta.community/t/register-based-vs-stack-based-vms/1448 "2021-12-17T14:13:19Z")

</div>

Hey, I am trying to understand what are the design decisions taken when implementing a stack based VM against a register based one? What is the advantage of one over the other when designing a compiled language.

---

## [Polyhedral compilation](https://d.strumenta.community/t/polyhedral-compilation/1413)

<div class="topic-metadata">

**Author:** [@ldesantis](https://d.strumenta.community/u/ldesantis)\
**Replies:** 0\
**Last updated:** [November 15, 2021, 11:08am UTC](https://d.strumenta.community/t/polyhedral-compilation/1413 "2021-11-15T11:08:32Z")

</div>

Hello community, is there anyone here expert in “polyhedral compilation” ? Thanks in advance

---

## [Compile into the hardware, or ... the hard side of compiling](https://d.strumenta.community/t/compile-into-the-hardware-or-the-hard-side-of-compiling/1355)

<div class="topic-metadata">

**Author:** [@ldesantis](https://d.strumenta.community/u/ldesantis)\
**Replies:** 7\
**Last updated:** [September 29, 2021, 5:52am UTC](https://d.strumenta.community/t/compile-into-the-hardware-or-the-hard-side-of-compiling/1355 "2021-09-29T05:52:20Z")

</div>

Hello everyone, the proliferation of JIT compilation technique in many fields of application, makes me wondering if there is some way to accelerate compilation tasks by dedicated hardware. This is only a first thinking …

---

## [Java Symbol Solver, any book on how it is developed?](https://d.strumenta.community/t/java-symbol-solver-any-book-on-how-it-is-developed/1306)

<div class="topic-metadata">

**Author:** [@hydroper](https://d.strumenta.community/u/hydroper)\
**Replies:** 3\
**Last updated:** [June 18, 2021, 10:02pm UTC](https://d.strumenta.community/t/java-symbol-solver-any-book-on-how-it-is-developed/1306 "2021-06-18T22:02:20Z")

</div>

I’m developing a language semantically similiar to Java and C#, but it’s different in some aspects (e.g. it is a VBScript dialect). I’m used to create parsers based on the projects Luaparse and Esprima since some years. …

---

## [How does symbol solving work for a general purpose language?](https://d.strumenta.community/t/how-does-symbol-solving-work-for-a-general-purpose-language/1262)

<div class="topic-metadata">

**Author:** [@hydroper](https://d.strumenta.community/u/hydroper)\
**Replies:** 0\
**Last updated:** [May 16, 2021, 10:42pm UTC](https://d.strumenta.community/t/how-does-symbol-solving-work-for-a-general-purpose-language/1262 "2021-05-16T22:42:18Z")

</div>

Programs of a typed language (where supplying declarations such as members with type expressions allow for compile-time verifications) have to be verified and have references resolved before tasks such as compilation (be…

---

## [What do you think of LLVM?](https://d.strumenta.community/t/what-do-you-think-of-llvm/51)

<div class="topic-metadata">

**Author:** [@gtomassetti](https://d.strumenta.community/u/gtomassetti)\
**Replies:** 4\
**Last updated:** [February 6, 2021, 11:09am UTC](https://d.strumenta.community/t/what-do-you-think-of-llvm/51 "2021-02-06T11:09:54Z")

</div>

There is a lot of interest in our community about LLVM, which is probably the most known compiler tool. We talked a lot about parsing, and compilation is a natural next step after parsing. The issue is that is a bit hard…

---

## [Hawk-lang: A practice project for beginners interested in lang-dev and compilers!](https://d.strumenta.community/t/hawk-lang-a-practice-project-for-beginners-interested-in-lang-dev-and-compilers/980)

<div class="topic-metadata">

**Author:** [@alcouch65](https://d.strumenta.community/u/alcouch65)\
**Replies:** 1\
**Last updated:** [November 4, 2020, 1:50pm UTC](https://d.strumenta.community/t/hawk-lang-a-practice-project-for-beginners-interested-in-lang-dev-and-compilers/980 "2020-11-04T13:50:17Z")

</div>

I haven’t posted here in a long time but I’ve been so caught up with life and work that I haven’t had the chance to make any updates. This is only one thing I’m going to post here that I just did for fun. Took me a few d…

---

## [ShockScript, an ECMAScript subset](https://d.strumenta.community/t/shockscript-an-ecmascript-subset/916)

<div class="topic-metadata">

**Author:** [@hydroper](https://d.strumenta.community/u/hydroper)\
**Replies:** 0\
**Last updated:** [September 25, 2020, 1:53pm UTC](https://d.strumenta.community/t/shockscript-an-ecmascript-subset/916 "2020-09-25T13:53:20Z")

</div>

This language needs WebAssembly target and standard library implementation on Rust to be usable. Language introduction: GitHub. Compiler: GitHub

---

## ["Interview with Scott McKinney on improving static typing": new article online!](https://d.strumenta.community/t/interview-with-scott-mckinney-on-improving-static-typing-new-article-online/942)

<div class="topic-metadata">

**Author:** [@sandra.delpistoia](https://d.strumenta.community/u/sandra.delpistoia)\
**Replies:** 3\
**Last updated:** [October 8, 2020, 7:07am UTC](https://d.strumenta.community/t/interview-with-scott-mckinney-on-improving-static-typing-new-article-online/942 "2020-10-08T07:07:36Z")

</div>

Hi everybody! A new article is online :slight\_smile: This time, it’s an interview with Scott McKinney, the creator of Manifold, a plugin that supplements Java with powerful features. In this interview, we’ll try to fig…

---

## [Beads, a competitor to TypeScript, a complete rethink of JS and Python](https://d.strumenta.community/t/beads-a-competitor-to-typescript-a-complete-rethink-of-js-and-python/917)

<div class="topic-metadata">

**Author:** [@CodingFiend](https://d.strumenta.community/u/CodingFiend)\
**Replies:** 0\
**Last updated:** [September 26, 2020, 9:15am UTC](https://d.strumenta.community/t/beads-a-competitor-to-typescript-a-complete-rethink-of-js-and-python/917 "2020-09-26T09:15:36Z")

</div>

I built Beads initially in Adobe AIR the same way Shockscript was built. But we have an entirely different approach towards syntax. My system is not so much about computation as bundling several DSLs into one consistent …

---

## [Compiler Pipeline and Architecture](https://d.strumenta.community/t/compiler-pipeline-and-architecture/407)

<div class="topic-metadata">

**Author:** [@alcouch65](https://d.strumenta.community/u/alcouch65)\
**Replies:** 3\
**Last updated:** [May 26, 2020, 9:11am UTC](https://d.strumenta.community/t/compiler-pipeline-and-architecture/407 "2020-05-26T09:11:06Z")

</div>

So I’ve been really interested in how to organize compiler architecture and codebase. Right now, the experimental toylang compiler is a jarbled mess with no direction. Spaghetti is not the term I would use to describe it…

---

## [Beagle Update: Architecture Overview, Performances, and Future Marketing Plans](https://d.strumenta.community/t/beagle-update-architecture-overview-performances-and-future-marketing-plans/650)

<div class="topic-metadata">

**Author:** [@alcouch65](https://d.strumenta.community/u/alcouch65)\
**Replies:** 0\
**Last updated:** [May 15, 2020, 5:18pm UTC](https://d.strumenta.community/t/beagle-update-architecture-overview-performances-and-future-marketing-plans/650 "2020-05-15T17:18:23Z")

</div>

Hello, everybody! Hope everyone is doing alright in these times. Just a fair warning, the following content is a rather advanced and rather technical content. My job has been put on hold due to our investors being on st…

---

## [Metadata-driven generic compilers?](https://d.strumenta.community/t/metadata-driven-generic-compilers/618)

<div class="topic-metadata">

**Author:** [@rafael](https://d.strumenta.community/u/rafael)\
**Replies:** 15\
**Last updated:** [May 6, 2020, 1:36am UTC](https://d.strumenta.community/t/metadata-driven-generic-compilers/618 "2020-05-06T01:36:01Z")

</div>

Folks, I am looking for a generic compiler based on a somewhat uniform host syntax that accepts the abstract syntax as a pluggable (in-memory) object model description at runtime (a grammar of sorts, but as native langua…

---

## [Beagle Update: Priorities, New Codebase, Updated Roadmap](https://d.strumenta.community/t/beagle-update-priorities-new-codebase-updated-roadmap/537)

<div class="topic-metadata">

**Author:** [@alcouch65](https://d.strumenta.community/u/alcouch65)\
**Replies:** 0\
**Last updated:** [April 15, 2020, 1:34pm UTC](https://d.strumenta.community/t/beagle-update-priorities-new-codebase-updated-roadmap/537 "2020-04-15T13:34:04Z")

</div>

Hey everybody! I have an update on the Beagle language’s development. I’ll go in order as appearing in the title. Priorities I have done some careful evaluation of Beagle and what I envision it to be and I have made se…

---

## [Beagle's Love for People and Hardware](https://d.strumenta.community/t/beagles-love-for-people-and-hardware/291)

<div class="topic-metadata">

**Author:** [@alcouch65](https://d.strumenta.community/u/alcouch65)\
**Replies:** 1\
**Last updated:** [February 25, 2020, 4:43pm UTC](https://d.strumenta.community/t/beagles-love-for-people-and-hardware/291 "2020-02-25T16:43:12Z")

</div>

Beagle is being designed to allow you to choose how your code is compiled and how objects are treated at runtime. Let’s say for example, you’re building for an embedded systems (I have a fitlet2 setup in my office for a …

---

## [Challenges in Black-box Code Generator Composition](https://d.strumenta.community/t/challenges-in-black-box-code-generator-composition/294)

<div class="topic-metadata">

**Author:** [@andreas.wortmann](https://d.strumenta.community/u/andreas.wortmann)\
**Replies:** 1\
**Last updated:** [February 25, 2020, 4:40pm UTC](https://d.strumenta.community/t/challenges-in-black-box-code-generator-composition/294 "2020-02-25T16:40:50Z")

</div>

Hi all, for some time, I’m working on ‘hollistic’ (i.e., concrete syntax definition, abstract syntax definition, well-formedness rules, code generators realizing semantics) language components and their composition in t…

---

## [Beagle: A Mid Level Programming Language](https://d.strumenta.community/t/beagle-a-mid-level-programming-language/87)

<div class="topic-metadata">

**Author:** [@alcouch65](https://d.strumenta.community/u/alcouch65)\
**Replies:** 2\
**Last updated:** [February 25, 2020, 12:08am UTC](https://d.strumenta.community/t/beagle-a-mid-level-programming-language/87 "2020-02-25T00:08:49Z")

</div>

Hey everyone! So I mentioned in my introduction post that I’m designing and implementing a new programming language called Beagle. I’m calling it a “mid level” programming language. Here’s why: Beagle lets you write hi…
