PistonDevelopers / Dyon

Licence: other
A rusty dynamically typed scripting language

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to Dyon

Dynamic Data Source Demo
基于事务的读写分离
Stars: ✭ 43 (-96.66%)
Mutual labels:  dynamic
Horope
Generates dynamic rope setup from spline. c4d python plugin.
Stars: ✭ 61 (-95.27%)
Mutual labels:  dynamic
Fizzygum
a new web framework, an entire platform really, designed from the ground up to handle complex things easily. Put the power of an entire Operating System at your fingertips.
Stars: ✭ 70 (-94.57%)
Mutual labels:  dynamic
Atlas
A powerful Android Dynamic Component Framework.
Stars: ✭ 8,028 (+522.81%)
Mutual labels:  dynamic
Lypaymentfield
多种风格的支付框控件,可定制加密图片,也可使用带动画的弹窗。A variety of styles of payment box controls can be customized to encrypt pictures, can also be used with animated alert.
Stars: ✭ 58 (-95.5%)
Mutual labels:  dynamic
Console Based Projects C
All projects are console based💻 and developed using C📚.All projects are dynamic and developed with the concept of Advance data structure 📁(Dynamic memory allocation,Linkedlist,Stack,Queue,Tree)✏️
Stars: ✭ 67 (-94.8%)
Mutual labels:  dynamic
Rapidview
RapidView is an android ui and lightapp development framework
Stars: ✭ 951 (-26.22%)
Mutual labels:  dynamic
Reason Loadable
🔥 Suspense/Lazy for ReasonReact.
Stars: ✭ 88 (-93.17%)
Mutual labels:  dynamic
Dyci Main
Dynamic Code Injection Tool for Objective-C
Stars: ✭ 1,103 (-14.43%)
Mutual labels:  dynamic
Forge
A Generic Low-Code Framework Built on a Config-Driven Tree Walker
Stars: ✭ 70 (-94.57%)
Mutual labels:  dynamic
Kendogridbinderex
This is a ModelBinder designed to consume an http request and build a json serializable object for the Kendo UI Grid datasource. AutoMapper is used to support mapping from ViewModel <> Entity.
Stars: ✭ 52 (-95.97%)
Mutual labels:  dynamic
Terraform Aws Multi Az Subnets
Terraform module for multi-AZ public and private subnets provisioning
Stars: ✭ 58 (-95.5%)
Mutual labels:  dynamic
Frost Dev
Fast Robot Optimization and Simulation Toolkit (FROST)
Stars: ✭ 67 (-94.8%)
Mutual labels:  dynamic
Django Access
Django-Access - the application introducing dynamic evaluation-based instance-level (row-level) access rights control for Django
Stars: ✭ 47 (-96.35%)
Mutual labels:  dynamic
Cekirdekler
Multi-device OpenCL kernel load balancer and pipeliner API for C#. Uses shared-distributed memory model to keep GPUs updated fast while using same kernel on all devices(for simplicity).
Stars: ✭ 76 (-94.1%)
Mutual labels:  dynamic
Plant
Trait-Driven Models of Ecology and Evolution 🌲
Stars: ✭ 39 (-96.97%)
Mutual labels:  dynamic
Dynamic Datasource Starter
springboot 动态切换数据的基本思想与实现方法
Stars: ✭ 63 (-95.11%)
Mutual labels:  dynamic
Dynamicanimationexample
A simple spring animation (support library v25.3.0+) example android app
Stars: ✭ 88 (-93.17%)
Mutual labels:  dynamic
Docker Nginx Image Proxy
on the fly image cropping with gravity, resize and compression microservice
Stars: ✭ 79 (-93.87%)
Mutual labels:  dynamic
Qigsaw
🔥🔥Qigsaw ['tʃɪɡsɔ] is a dynamic modularization library which is based on Android App Bundles(Do not need Google Play Service). It supports dynamic delivery for split APKs without reinstalling the base one.
Stars: ✭ 1,162 (-9.85%)
Mutual labels:  dynamic

dyon

A rusty dynamically typed scripting language

Tutorial
Dyon-Interactive
Dyon Snippets
/r/dyon

Dyon script files end with .dyon.

To run Dyon script files from command line, type:

cargo install --example dyonrun dyon

Then, to run a script file you type:

dyonrun <file.dyon>

Editor-plugins

Dyon for Atom
Dyon for Vim
Dyon for Visual Studio Code

coding

List of features

Why the name Dyon?

Dyon is a hypothetical particle predicted by several grand unified theories in physics with both electrical and magnetic charge. See this Wikipedia article for more information.

The name Dyon fits because, just like the particle, there are things that are yet to be discovered about language design. However, this language was not born out of a grand new vision, but is the result of exploring and testing new ideas.

Motivation and goals

Sven Nilsen started this project in early 2016. The idea was to make a simple, but convenient scripting language that integrated well with Rust.

  • During the first week of coding, a way to do lifetime checking on function arguments was discovered
  • A different approach to code organization was explored by adding the ability to dynamically load modules
  • For nice error handling, added option, result and ? operator
  • To test the design of the language, created a demo for interactive coding
  • Mutability check to improve readability
  • Short For loop to improve readability and performance
  • Mathematical loops and Unicode symbols to improve readability
  • Go-like coroutines to add multi-thread support
  • 4D vectors with unpack and swizzle to make 2D and 3D programming easier
  • Html hex colors to make copying colors from image editors possible
  • Optional type system to help scaling a project
  • Ad-hoc types for extra type safety
  • Current objects to improve prototyping and tailored environments
  • Macros for easier embedding with Rust
  • Secrets to automatically derive meaning from mathematical loops
  • Closures that can be printed out, use current objects and grab from closure environment
  • Type safety for secrets, easy load/save of Dyon data
  • Link loop for easier and faster code generation and templates
  • In-types for easy cross thread communication

Main goals:

  • Integrate well with Rust
  • Flexible way of organizing code

Performance will be optimized for the cycle:

coding -> parsing -> running -> debugging -> coding

Sub goals:

  • Safety

Non-goals:

  • Rust equivalent performance
  • Replace Rust to build libraries
  • Interfacing with other languages than Rust

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].