Our great sponsors
-
Remarks: 1. Strict functional languages can be expressed in STG without overhead, because STG has explicit liftedness control. In a strict language every data is unlifted or unboxed. 2. Supporting all GHC primops is not unrealistic. See the primop implementation in the external STG interpreter source code. Here is the implementation of the threading primops.
-
normalization-bench
Lambda normalization and conversion checking benchmarks for various implementations
I benchmarked lambda term normalization, which is heavy on closures (HOAS) and small allocation, and there V8 RTS performance was clearly inferior, and I even had stability issues with deep stack usage.
-
InfluxDB
Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.
-
manual-stg-experiment
Manually constructed STG programs compiled with the standard GHC codegen backend.
Yes, unlifted boxed STG values does not have thunk checks. The STG to Cmm codegen generates only a single ADT tag lookup code. You can check the generated ASM code: https://github.com/csabahruska/manual-stg-experiment https://github.com/csabahruska/manual-stg-experiment/blob/master/StgSample.hs#L390-L391
-
| The Idris language versions have always supported easy and modular code generation. I am working on the Idris-ExtSTG backend closely collaborating with Csaba. The progress can be followed here: https://github.com/andorp/IdrisExtSTGCodegen . I am going to give a talk about my experiences at BobKonf 2021: https://bobkonf.de/2021/penzes.html