mint

A refreshing programming language for the front-end web mint-lang language compiler programming-language compile-to-js
HEAD Latest release Yanked release released
mint-lang/mint
2402 62 38
Mint

Mint

A refreshing programming language for the front-end web, aiming to solve the most common issues of Single Page Applications (SPAs) at a language level:

  • Reusable components
  • Styling
  • Routing
  • Global and local state handling
  • Synchronous and asynchronous computations that might fail

While focusing on:

  • Developer happiness
  • Fast compilation
  • Readability

Project Status

The project is in development, we are still tweaking the language and standard library.

There are two bigger applications which can be used as examples / learning material:

It would be great if you could take part in this short survey to provide your feedback about Mint.

Installing

Follow these instructions

Documentation

Community

Questions or suggestions? Ask on Gitter channel or on Spectrum.

Also, visit Awesome Mint, to see more guides, tutorials and examples.

Contributing

Read the general Contributing guide, and then:

  1. Fork it ( https://github.com/mint-lang/mint/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Ways you can contribute

  • use the language - this is the most helpful thing at this stage because we can discover bugs and missing features this way
  • documentation and website - the documentation always needs some work, if you discover that something is not documented or can be improved you can create a PR for it in the website repository
  • language features - if you have any idea about a new language feature, create a detailed issue about it with examples and description (why is it needed? what problems does it solve?)
  • code review - the compiler can use a thorough code review, also code reviews for PRs are welcome
  • standard library - the standard library is incomplete and needs a lot of work:
    • create modules for not yet implemented Web APIs (or a separate package)
    • Time module needs some rethinking and possibly a rewrite
    • a lot of modules like String, Dom, etc... are missing a lot of features, you can add new functions here (with tests)
  • write a package - if you have a feature you use and can be moved into a package it can be good for other developers
  • marketing - write blog posts and such to help others become aware of the language
  • compiler - there are a few issues that could be fixed and features that can be implemented in the compiler

Questions, Proposals?

Let's discuss in the Mint Gitter Lobby, otherwise please create at new issue

FAQ

Why functions called fun instead of function?

You can find an explanation in this issue: https://github.com/mint-lang/mint/issues/55#issuecomment-404886342

Why is the language called Mint?

You can find an explanation in this issue: https://github.com/mint-lang/mint/issues/53#issuecomment-404717310

What makes Mint unique?

You can find an explanation in this issue: https://github.com/mint-lang/mint/issues/70#issuecomment-412324721

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

License

FOSSA Status


Build Status Gitter chat Discord Join the community on Spectrum Backers on Open Collective Sponsors on Open Collective FOSSA Status

mint:
  github: mint-lang/mint
  
Crystal none

Dependencies 8

  • admiral ~> 1.11.2
    {'github' => 'jwaldrip/admiral.cr', 'version' => '~> 1.11.2'}
  • baked_file_system ~> 0.9.8
    {'github' => 'schovi/baked_file_system', 'version' => '~> 0.9.8'}
  • dotenv ~> 0.3.1
    {'github' => 'gdotdesign/cr-dotenv', 'version' => '~> 0.3.1'}
  • kemal a8c0f09b858162bd13c96663febef5527b322a32
    {'commit' => 'a8c0f09b858162bd13c96663febef5527b322a32', 'github' => 'kemalcr/kemal'}
  • markd 620845abb6776d1765d20d86cc0220aa40f89a91
    {'commit' => '620845abb6776d1765d20d86cc0220aa40f89a91', 'github' => 'icyleaf/markd'}
  • string_inflection ~> 0.2.1
    {'github' => 'mosop/string_inflection', 'version' => '~> 0.2.1'}
  • time_format ~> 0.1.1
    {'github' => 'vladfaust/time_format.cr', 'version' => '~> 0.1.1'}
  • tree_template 3fcb71ee6852040077dd1a2c8c55c67f4a95ba4e
    {'commit' => '3fcb71ee6852040077dd1a2c8c55c67f4a95ba4e', 'github' => 'anykeyh/tree_template'}

Development Dependencies 2

  • ameba ~> 0.13.0
    {'github' => 'crystal-ameba/ameba', 'version' => '~> 0.13.0'}
  • diff ~> 1.1.0
    {'github' => 'MakeNowJust/crystal-diff', 'version' => '~> 1.1.0'}

Dependents 0

Last synced .
search fire star recently