gleam-lang/gleam

Re-export types and values from other modules

Open

#614 opened on May 28, 2020

View on GitHub
 (27 comments) (13 reactions) (0 assignees)Rust (21,417 stars) (960 forks)batch import
discussionhelp wanted

Description

It would be nice to be able to re-export a type or function from another module.

Here's an idea for a syntax:

// one.gleam
pub type MyType {
  MyConstructor
}

pub fn my_function() -> Nil {
  Nil
}
// two.gleam

import two.{pub MyType, pub MyConstructor, pub my_function}

Questions

Should it be permitted to export only a subset of a type's constructors? This would mean it would not possible for users to pattern match on all records as only some have been exported. The above syntax would allow that.

Contributor guide