Skip to content

Make (interface) optional in (dialect) #7776

@aantron

Description

@aantron

Desired Behavior

We would like to recommend Dune (dialect) for converting eml files to ML, which would be a major improvement (see camlworks/dream#228). However, this currently requires boilerplate like this in dune-project:

(lang dune 2.0)

(dialect
 (name eml)
 (implementation
  (extension eml)
  (preprocess (run %{bin:dream_eml} --stdout %{input-file})))
 (interface
  (extension emli)
  (format (run cat))))

However, there are no emli files -- eml is concerned only with the expression language of ML. The (interface) stanza here is completely redundant. We would like to have something like...

Example

(lang dune 2.0)

(dialect
 (name eml)
 (implementation
  (extension eml)
  (preprocess (run %{bin:dream_eml} --stdout %{input-file}))))

...which should be much less confusing for Dream's users, and also would avoid any potential entanglements with actual emli files that may exist for some reason (it's cleaner).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions