Git Product home page Git Product logo

hello-vale's Introduction

A Vale playground, for fun and discovery

Vale is currently in alpha! version 0.2.0.27 as of May 2024

https://github.com/ValeLang && https://vale.dev/

Notes :

  • Statically typed
  • Compiles with LLVM (Uses LLVM13 under the hood now.)
  • Compiler written in Scala
  • Requires java installation and clang
  • Has a concept of unsafe code, like Rust or Solidity (named "unchecked" in solidity)
  • Has Universal Function Call Syntax
  • Generics and const generics
  • Rare or novel concepts: Generational references, linear types and regions. And Higher RAII.

Goals:

  • Memory safety without garbage collection, nor borrow checker

Claims:

  • One of its novel concepts will be the future of programming

Upcoming Features:

  • A region borrow checker to eliminate memory-safety overhead.
  • Seamless Concurrency for parallelism without added complexity!
  • Perfect Replayability to completely eliminate heisenbugs, even in the presence of multithreading!
  • Dependency Sandboxing to keep external code from corrupting Vale memory, and mitigate supply chain attacks.
  • Hybrid-Generational Memory, which could reduce the overhead of generational references.

Claims :

  • "Vale is:

Fast: Vale is AOT compiled to LLVM, statically-typed, and uses the new generational references technique for memory safety with speed and flexibility, and will soon have region borrow checking to make it even faster. Safe: It is the safest native language, thanks to generational references and Fearless FFI. Easy: Vale has memory-safe single ownership without garbage collection or a borrow checker, which makes it easy to write safe, fast code."

Instructions

Requirements: Docker or vale = 0.2.0.27

With Docker

clone my repository

git clone [email protected]:Neal-C/hello-vale.git
cd hello-vale

build and run with Docker

docker build -t neal-c-vale:latest .
docker run --name neal-c-vale neal-c-vale:latest

With vale installed locally

Warning : Vale is not stable yet and these instructions only apply to the hardcoded version of 0.2.0.27 . There is no garantee, whatsoever for any other version.

Important : All the unziped files need to be in the same directory

See docs: At time of writing the documentation is a work in progress.

and install vale locally on your machine

apt-get update && apt-get install -y curl unzip wget apt-transport-https gpg clang

echo "deb [arch=amd64] https://some.repository.url focal main" | tee /etc/apt/sources.list.d/adoptium.list > /dev/null

wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null

apt-get update && apt-get install -y temurin-20-jdk

curl -L -o vale.gz  https://github.com/ValeLang/Vale/releases/download/v0.2.0/Vale-Ubuntu-0.2.0.27.zip

mkdir -p ~/Vale && mv vale.gz ~/Vale/vale.gz && cd ~/Vale && unzip vale.gz

hello-vale's People

Contributors

neal-c avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.