mech
HVM
Our great sponsors
mech | HVM | |
---|---|---|
5 | 107 | |
200 | 7,101 | |
2.0% | 2.5% | |
7.0 | 6.7 | |
6 months ago | 2 months ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mech
-
Reactive Programming Without Functions
There's also https://github.com/mech-lang/mech which is a sort of descendant of Eve https://witheve.com/ . That too seems to be getting close to hiatus. It's a bit of a shame since it seems like quite a nice paradigm for some stuff like GUIs, interactive stuff, and discrete event simulation, but I suppose the paradigm is both a bit obscure and different enough from everything else that it becomes a "boil the ocean" situation where one or a few people try and hack away but aren't really able to get much traction and eventually tired themselves out.
-
What features would you want in a new programming language?
You should take a look at the language Iām developing, Mech: https://github.com/mech-lang/mech
-
How do you think of concurrency and parallelism and what would your dream syntax be for it?
I'm working on a language called Mech (github.com/mech-lang/mech) that is semantically parallel and asynchronous first. You can write something like this:
-
Mech Lang Spring Update: On the Road Toward Beta!
Hi everyone. I've posted here a couple times about my language Mech, which you can find here. I've just put together an update which I hope this community will find interesting!
-
Frustration: One Year with R
> HN readers - do you have an "up and coming" language that you think has better structured the fundamentals from R, that you hope will someday have enough capabilities you can use it instead of R?
Hope is the operative word here!
I'm writing a language to compete in this area. It's called Mech and I'll be releasing the first beta in October. You can think of it like Matlab + Excel. It's very fast, has default-parallel semantics for operators and functions, and supports full interactive coding with no startup/compilation latency issues. It's meant for robots, but I've also designed it to be a better Matlab, and I think it should take on R handily. Fair warning, it's public alpha now so error messages are sparse and the happy path is narrow.
https://github.com/mech-lang/mech
HVM
-
SaberVM
Reminds me of HVM[0]
[0]https://github.com/HigherOrderCO/HVM
Really interesting to see how new lang concepts and refinements keep popping up this last decade, between Vale, Gleam, Hylo, Austral...
Linear types really opened up lots of ways to improve memory management and compilation improvements.
- GPU Survival Toolkit for the AI age: The bare minimum every developer must know
-
A new F# compiler feature: graph-based type-checking
I have a tangential question that is related to this cool new feature.
Warning: the question I ask comes from a part of my brain that is currently melted due to heavy thinking.
Context: I write a fair amount of Clojure, and in Lisps the code itself is a tree. Just like this F# parallel graph type-checker. In Lisps, one would use Macros to perform compile-time computation to accomplish something like this, I think.
More context: Idris2 allows for first class type-driven development, where the types are passed around and used to formally specify program behavior, even down to the value of a particular definition.
Given that this F# feature enables parallel analysis, wouldn't it make sense to do all of our development in a Lisp-like Trie structure where the types are simply part of the program itself, like in Idris2?
Also related, is this similar to how HVM works with their "Interaction nets"?
https://github.com/HigherOrderCO/HVM
https://www.idris-lang.org/
https://clojure.org/
I'm afraid I don't even understand what the difference between code, data, and types are anymore... it used to make sense, but these new languages have dissolved those boundaries in my mind, and I am not sure how to build it back up again.
-
A History of Functional Hardware
Impressive presentation but I find two things missing in particular:
* GRIN [1] - arguably a breakthrough in FP compilation; there are several implementation based on this
* HVM [2] - parallel optimal reduction. The results are very impressive.
[1] https://link.springer.com/chapter/10.1007/3-540-63237-9_19
[2] https://github.com/HigherOrderCO/HVM
-
Is the abstraction of lazy-functional-purity doomed to leak?
Purity has nothing to do with memoization. Haskell's semantics never "rewrite under a lambda" (unlike, e.g. HVM). Calling (\_ -> e) () twice will (modulo optimizations) always perform the computation in e twice.
-
Can one use lambda calculus as an IR?
The most recent exploration of this, that I'm aware of is HVM (another intermediate language / runtime), although this one is not actually based on the lambda calculus, but on the interaction calculus.
-
The Rust I Wanted Had No Future
Then, actually unrelated but worth mentioning: HVM. Finally, something new on the functional front that isn't dependent types!
- The Halting Problem Is Decidable on a Set of Asymptotic Probability One (2006)
-
Bachelor Thesis Topic
If you are into functional PL, how about https://github.com/HigherOrderCO/HVM? You could experiment if you could schedule that on a GPU?
-
For those of you self taught,how did you cope with distractions while using a computer ?
In the interest of seeking ways of optimizing my code, I stumbled upon http://www.rntz.net/datafun/ as a means to do incremental computations of fixpoints while avoiding redundant work. And also the idea of automatic parallelism achieved by using Interaction Nets as a model of computation https://github.com/HigherOrderCO/HVM.
What are some alternatives?
cheatsheets - Posit Cheat Sheets - Can also be found at https://posit.co/resources/cheatsheets/.
Kind - A next-gen functional language [Moved to: https://github.com/Kindelia/Kind2]
Frustration-One-Year-With-R - An extremely long review of R.
rust-gpu - š Making Rust a first-class language and ecosystem for GPU shaders š§
ggplot2-book - ggplot2: elegant graphics for data analysis
SICL - A fresh implementation of Common Lisp
COVID-19 - Plots and analysis relating to the pandemic
Sharp-Bilinear-Shaders - sharp bilinear shaders for RetroPie, Recalbox and Libretro for sharp pixels without pixel wobble and minimal blurring
tidyr - Tidy Messy Data
fslang-suggestions - The place to make suggestions, discuss and vote on F# language and core library features
forcats - šššš: tools for working with categorical variables (factors)
atom - A DSL for embedded hard realtime applications.