Skip to content

Replace backend$config by backend$inc_config #1081

@myreen

Description

@myreen

Currently, we have two compiler configs. The original one:

Datatype:
config =
<| source_conf : source_to_flat$config
; clos_conf : clos_to_bvl$config
; bvl_conf : bvl_to_bvi$config
; data_conf : data_to_word$config
; word_to_word_conf : word_to_word$config
; word_conf : word_to_stack$config
; stack_conf : stack_to_lab$config
; lab_conf : 'a lab_to_target$config
; symbols : (mlstring # num # num) list
; tap_conf : tap_config
; exported : mlstring list (* field for Pancake entry points - empty for CakeML *)
|>
End

And the version adapted for Eval:

Datatype:
inc_config =
<| inc_source_conf : source_to_flat$config
; inc_clos_conf : clos_to_bvl$config
; inc_bvl_conf : bvl_to_bvi$config
; inc_data_conf : data_to_word$config
; inc_word_to_word_conf : word_to_word$config
; inc_word_conf : word_to_stack$config
; inc_stack_conf : stack_to_lab$config
; inc_lab_conf : lab_to_target$inc_config
; inc_symbols : (mlstring # num # num) list
; inc_tap_conf : tap_config
; inc_exported : mlstring list
|>
End

The original is called config and the new version is called inc_config. The only difference between them is that inc_config drops asm_conf from within lab_conf, since it contains function fields in a record type. Function types don't serialise well to text (for Eval) and the cv translator also struggles them.

This issue is about replacing config by inc_config everywhere.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions