metashade
hy
metashade | hy | |
---|---|---|
2 | 56 | |
52 | 4,802 | |
- | 0.6% | |
8.2 | 9.2 | |
7 days ago | 13 days ago | |
Python | Python | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
metashade
-
Show HN: Metashade – a Pythonic GPU shading/compute EDSL
Thanks!
Multiple targets is definitely the plan, and GLSL is my next priority. Metashade can currently generate HLSL for the DX12 version of https://github.com/ppenenko/glTFSample/tree/metashade_demo, and there's also a Vulkan version of that demo using GLSL. So implementing GLSL generation for that would be a great proof of concept and a test bed: HLSL and GLSL generated from single source and producing identical rendering results.
The diagram on slide 31 of my presentation shows how implementation is currently inherited between the Metashade packages. The future GLSL generators should inherit common functionality from the "rtsl" package, just like the existing HLSL generators. However, I expect heavy refactoring to be necessary because I was initially targeting just one language and so not all code is implemented at the appropriate level.
BTW, here's a poll where you can vote for a target language you'd like to see prioritized: https://github.com/ppenenko/metashade/discussions/17
hy
- Try Clojure
-
Homoiconic Python
Only tangentially related, but for anyone interested in the idea of a simple, quick Python-like scripting Lisp, there are two Clojure-style languages to look at:
1) Hy (https://hylang.org/, compiles to Python bytecode, usually slower than Python but compatible with all Python libraries)
2) Janet (https://janet-lang.org/, very light Lua-style embeddable VM ~1 Mb, roughly twice as fast as Python for similar ops, very easy C interop)
- Basilisp: A Clojure-ish Lisp dialect targeting Python 3.8
-
Show HN: Exploring HN by mapping and analyzing 40M posts and comments for fun
I couldn't help but notice that Hy is on the map but Clojure isn't.
Am I out of touch?
https://hylang.org
- A dialect of Lisp that's embedded in Python
-
How to Write a (Lisp) Interpreter (In Python)
Not exactly the same (doesn't embed into the source like this did), but I believe Hylang[0] is the best Lisp package available for modern Python.
[0] https://github.com/hylang/hy
-
Sapling: A highly experimental vi-inspired editor where you edit code, not text
Isn't that a bit what hy (https://hylang.org/) tries to do ? AIUI it is a lisp interacting directly with the AST of Python, allowing seamless interop: Python modules can be used from hy and vice versa, everything is transparent.
- Hylang, a Lisp dialect embedded in Python
-
Hissp
I’ve been keeping loose tabs on this and Hy[1] for a while, but I’ve had some trouble figuring out the major differences between them and the use-cases for either. Would love to see an in-depth comparison in the form of a blog post sometime (though maybe the answer here is to do the research and write one up myself).
1: https://hylang.org
- Hy
What are some alternatives?
hissp - It's Python with a Lissp.
Fennel - Lua Lisp Language
babashka - Native, fast starting Clojure interpreter for scripting
eso-light-attack-weave - This is a macro for the game Elder Scrolls Online
Carp - A statically typed lisp, without a GC, for real-time applications.
hebigo - 蛇語(HEH-bee-go): An indentation-based skin for Hissp.
awesome-clojure-likes - Curated list of Clojure-like programming languages.
mal - mal - Make a Lisp
hy-language-server - Hy Language Server built using Jedhy. works only under Hy1.0a1. For the recent version of Hy, please use https://github.com/sakuraiyuta/hyuga instead.
cyclone - :cyclone: A brand-new compiler that allows practical application development using R7RS Scheme. We provide modern features and a stable system capable of generating fast native binaries.
py4cl - Call python from Common Lisp
rich4clojure - Practice Clojure using Interactive Programming in your editor