midas-framework/midas

Tracking changes in Gleam Language/Libraries

CrowdHailer opened this issue · 6 comments

Things I would like to have but that need to come from Gleam, if you would like to help with Midas helping on these core issues would be just as useful

High Priority

  • gleam-lang/gleam#34
    Fixing this would make choosing Gleam much more compelling in general. It is also important to understand how this will effect error handing when let Ok(value) = risky() no longer works

  • Done 0.8.0 gleam-lang/gleam#474
    A Request in particular is a large record, having to individually ignore every field is painful

  • Done stdlib API docs. API reference, language documentation is limited to guides currently.

Medium Priority

  • Library for interacting with SQL database,
  • Library for working with JSON,
  • Templating library, HTML escaping
    Templating is likely to be implemented in the core language

Low Priority

  • Function capture with any number of arguments, including 0
    error: Invalid capture
    
      let start = server.start_link(_, _)
    
    
    The function capture syntax can only be used with a single _ argument,
    but this one uses 2. Rewrite this using the fn(a, b) { ... } syntax.
    
lpil commented

Templating will at a later point be built into the language so that templates can be entirely type safe and have no runtime parsing requirement.

For JSON there are json bindings here -> https://github.com/rjdellecese/gleam_jsone. I am interested in possibly migrating jason to Erlang from Elixir and wrapping that.

For postgresql I intend to wrap pgo -> https://github.com/gleam-experiments/pgo

For supervision we currently have this crude supervisor library which mimics the Erlang supervisor API -> https://github.com/gleam-experiments/otp_supervisor. I indent to build other supervisor libraries later which will provide more type safety at the expense of flexibility.

There's a list of libraries and such here -> https://github.com/gleam-lang/awesome-gleam

@lpil is your pgo repo just a placeholder?

lpil commented

At the moment yes, one for after v0.8

Closing this in favour of a Gleam tag, https://github.com/midas-framework/midas/issues?q=is%3Aissue+is%3Aopen+label%3AGleam

The areas these issues referr to are where I will focus my attentions on Gleam, once I learn some more rust.

lpil commented

Love the pink label

Of course