yakshalang / yaksha Goto Github PK
View Code? Open in Web Editor NEW๐ Yaksha Programming Language - Offside rule + Lisp system for macros. ๐ฃ WIP
Home Page: https://yakshalang.github.io/
License: GNU General Public License v3.0
๐ Yaksha Programming Language - Offside rule + Lisp system for macros. ๐ฃ WIP
Home Page: https://yakshalang.github.io/
License: GNU General Public License v3.0
Add support for a fully embedded mode, where we do not use any of the yaksha lib, strings, sr, most complicated builtins, dynamic arrays.
There is essentially no README. Your README is the first chance to speak to potential users who land on your repo.
What is the aim of this language?
What problems does it solve?
What are the expected skills of developers (Should you know haskell and be dissapointed with it's type system? Maybe you want a more expressive react.)
After looking at the docs for the standard lib, this looks like a close to typed python that maps more closely to C
The libs docs doesn't link to the tutorial, forcing me to go back to the README
This link https://yakshalang.github.io/documentation should be the first link for your docs. They are good. I have a much better feel for the philosophy of the language after reading this
YAMA proposals is a 404 https://github.com/YakshaLang/YAMA/tree/main/proposals
On the demos:
https://github.com/YakshaLang/YAMA/tree/main/proposals
explain that fractal tree is Yakasha compiled to WASM running in the browser. That's impressive.
https://yakshalang.github.io/static_demos/tree/wind_tree.html
Space blast looks fun, by default it was sized too big for my 14 inch Mac Book. Why don't you try a smaller default resolution. It's still impressive at non full screen.
I would recommend using github issues. It might not be your favorite, but it's more relatable to people looking to adopt your language.
After reading through your docs how does this sound as a description of your language:
"Looks like python, compiles to C, then to WASM so it can run in the browser. When you dig deeper there is an advanced lisp based macro language to help with zero cost meta programming."
There's a lot of good stuff here, talk about it and how it can be used.
Wrap Ptr[u8]
as sr
- Create a simple wrapper function in libs.strings to wrap getref_u8p
Add these to Menu.
Start by creating a YAMA document for this.
Part 1 would just add templates to def's
Provide ability to create fixed size stack allocated arrays.
def receive_a(item_a: FixedArr[int, 3]) -> int:
item_a[0] + item_a[2]
def main() -> int:
a = fixedarr(1, 2, 3)
b = fixedarr(1, 2, 3, receive_a(a))
for (i = 0; i < len(b); i++): # <----------- len(b) simply becomes 4
println(b[i])
println(a[4]) # <------ this will result in an error
0
a: Const[int] = ccode "abc"
Shows up as
#define yy__a (abc)
Is this a bug or intentional?
Following does not compile. This is a bug!
ITEM: Const[int] = ccode """1 + 1"""
def main() -> int:
a: int = ITEM + 1
println(a) # Some comment here
return 0
Work around
ITEM: Const[int] = ccode """1 + 1"""
def main() -> int:
a: int = ITEM + 1
# Some comment here
println(a)
return 0
Wrap Array[u8]
as sr
- Create a simple wrapper function in libs.strings to wrap getref_u8a
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.