Giter VIP home page Giter VIP logo

cosmo's Introduction

build

Cosmo

Cosmo is a statically-typed programming language written in pure Crystal.
We have an extension for VS code (source), however it currently only features syntax highlighting.

Installation

Download the Cosmo Installer and run it.

Things I Gotta Do

Features

  • Enums
  • Utility methods for tables
  • Stack trace
  • Allow throwing class instances that inherit from a base Exception class
  • String stuff
    • Multiline strings
    • Regexes
  • try..catch statements
  • none accessing (hello&.world evaluates to none if hello == none)
  • Intrinsic methods for all datatypes (inherit from a base type)
  • Decorators
  • Interfaces
  • Namespaces
  • Classes
    • single inheritance
    • mixins
    • static/protected members
  • Better type system
    • type inference
    • generics
    • casting union types
    • implicit conversions
    • intersections

Fixes

  • Accessing private class members in public class methods
  • Performance boosts lol
  • Weird expression parsing ([0].123 evaluates to 0.123??)
  • Segfaults
    • e.x. x << [1]
  • Handle infinite recursion
    • macro function to set recursion depth limit

Refactorings

(empty)

Meta

  • Package manager (WIP)
  • Documentation generator
  • Linting/language server
  • Highlight function names without parentheses

Things I Might Do

  • Named arguments
  • Make into a compiler or bytecode interpreter
  • C bindings

Contributing

  1. Fork it (https://github.com/R-unic/cosmo/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Test your code (make test)
  5. Push to the branch (make publish)
  6. Create a new Pull Request

Contributors

  • R-unic - creator and maintainer

cosmo's People

Contributors

r-unic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.