Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/glyh/vape_on_yula
Your next Lisp/ML can be a Ruby.
https://github.com/glyh/vape_on_yula
functional haskell lazy lisp parallel-programming ruby
Last synced: 5 days ago
JSON representation
Your next Lisp/ML can be a Ruby.
- Host: GitHub
- URL: https://github.com/glyh/vape_on_yula
- Owner: glyh
- License: mit
- Created: 2023-07-06T07:23:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-06T02:56:16.000Z (5 months ago)
- Last Synced: 2024-12-05T13:23:11.835Z (2 months ago)
- Topics: functional, haskell, lazy, lisp, parallel-programming, ruby
- Language: Haskell
- Homepage:
- Size: 434 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## NOTE: This is a vaporware.
![]()
(this logo is temporary, help from ui designers and calligraphers wanted!)
## Quick Pitch
- [ ] A **lazy** **statically-typed** **functional logic** language
- [ ] **Tight-integration** with [Zig](https://ziglang.org/)/C
- [ ] The language is **always available**, just like Smalltalk and Lisp
- [ ] Type system that **doesn't get in your way** while being **expressive enough**
- [ ] CuTT + substructural
* [ ] ordered, linear, affine, & relevent types
* [ ] dependent types
* [ ] \(higher) inductive types
* [ ] cubical type theory basis, so you'd be working in homotopy type theory for any proof stuff
- [ ] Verification aware (static precondition & post condition system)
- [ ] Parallelization for **free**
- Prioritization: Correctness > **Readability** > **Extensibility** > **Consistency** > Performance > Predictability
- Inspired by [Haskell](https://www.haskell.org/), [Common Lisp](https://lisp-lang.org/), [Racket](https://racket-lang.org/), [Clojure](https://clojure.org/), [Elixir](https://elixir-lang.org/), [Rust](https://www.rust-lang.org/), [Dafny](https://github.com/dafny-lang/dafny))## Rationale: Why yet another langauge
Although there's already tons of language on the market, there isn't really a language that is suitable for writing extensible softwares, like [Vim](https://www.vim.org/), [Emacs](https://www.gnu.org/software/emacs/), just to name a few. Common Lisp was close but it's too old and it can't really leverage the ecosystem that C/C++ have well. And thus it is obsolete.
You can definitely argue that is not the language itself, but the architecture of your softwares that matters. Then all managed code should be written in plain old java because language doesn't matter.
## Mission
Misson of Yula is really to serve the end user and the developer, and we expect those two group of people highly overlap. To make it easier for end user to become a hacker on the software they are using, we deliberately design the language to be extensible, easy to use, and developer friendly.
## When?
Well, I'm a newbie in PL-design so expect at least 5 years.
## How can I participate?
I am more than willing to hear that you are interested in the design phase of Yula language :) Feel free to open an issue and tell me what I can improve on the language!