jadrouil / tuna-lang Goto Github PK
View Code? Open in Web Editor NEWLicense: BSD 3-Clause "New" or "Revised" License
License: BSD 3-Clause "New" or "Revised" License
Implement a trait system similar to Rust's.
This will allow tuna to nicely integrate with existing IDEs https://en.wikipedia.org/wiki/Language_Server_Protocol
Provide documentation on how to deploy tuna code on to a cloud environment.
Provide examples for k8s.
Currently, there is no easy way to compile code, so we should build a CLI.
Given input types, assign types to every value in the system.
Document install process and trial run
Allow specifying a interpreter type instance as a schema instance
https://github.com/Conder-Systems/conder
Conder is currently limited in functionality, so we should wait until the alpha release is complete.
Just use https://github.com/infinitered/gluegun
Should tell version and provide help
Currently tuna does not support atomic operations like:
Spits out a ".can" file that describes function and schemas.
Allow users to discriminate between types.
type SomeUnion = Foo or Bar
func f(i: SomeUnion) {
if i is Foo {
} else {
// i is a Bar
}
}
Include parenthesis
Map types are maps of string to optional things.
type = Map
Test can run in memory.
Should look like this:
test ValidateSomeBehavior() {
... do things
assertions...
}
Out of scope:
parameterization
run against database.
Just write tests and fix whatever doesn't work as expected
This will require detangling operations and maintaining intended ordering
at any level
Once as type inference is done, add implicit traits. It should require zero meta data other than schema to determine which function to call.
Runs locally and ephemerally against mongo.
Automatically trace all function calls and database requests. Use a CNCF tracer.
This info can be used to identify performance bottlenecks, suggest automatic improvements, etc.
Pulls images
Display any warnings generated by the compiler.
Unary: not, -,
Binary: + - ==, !=, <=, >=, <, >, *, /, or, and,
Make a toy demo app with some documentation
It would be nice to be able to share tuna code with other tuna developers through a build tool.
Eventually, we can generate type hints or client side data validation.
It is more of an inconvenience than anything to have them in separate repos.
Used for schema validation and nothing else
This is for production builds only. Users should be able to generate from Tuna the equivalent rust code.
With that rust code they should be able to build a container that is equivalent to their interpreted version of Tuna.
-fors
-ifs
-globals
-limitations
-types
Users may specify lock contexts
delete
push
overwrite
if depth > 10 {
return 'too much fib, no thanks'
}
return fibonacci(1, 1, depth)
}```
Should be a function call.
Don't allow deleting of globals or anything without a level.
Some platforms require webhook to be deployed to an HTTPS server. For example, FB messenger platform.
All arguments should be pass by reference.
Returning a value derived from a reference yields a reference.
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.