Somewhat functional dynamically typed language

Overview

Wellang


wellang



Well discord server

About

This is a project originally started by Tristan Wellman(read CONTRIBUTING.md for contribution info). This is a high level assembly language, you will have your low level assembly programming but with some features from high level languages. Wellang compiles directly to assembly(NASM), See below for compilation and simple documentation.

contact me at:

email: [email protected]

discord: __Oblivion__#3258

wellang discord server: https://discord.gg/K4ufunGxJv

Compile Wellang

git the wellang github repository

$ git clone https://github.com/wellang/well.git

move to the wellang directory in your terminal

$ cd well

compile wellang with make

$ make base

install wellang

$ make install

Example program: helloworld.well (in /example/)

var:main {

	string~ text = 'hello world!'
	length~ text_length, text

}

~func:main {

	move~ 1, rax
	move~ 1, rdi
	move~ text, rsi
	move~ text_length, rdx
	return

	move~ 60, rax
	move~ 0, rdi 
	return

}

compile program

to compile your well program you can run wesm in your terminal:

[test@test example]$ wesm helloworld.well -o hello.o hello
done compiling program
[test@test example]$ ./hello
hello world!

Vim syntax highlighting

to install wellang syntax highlighting for vim all you have to do is

make vim

if it says you don't have ~/.vim/syntax/ or ~/.vim/ftdetect/ then you can do

cd {path/to/.vim}
mkdir syntax && mkdir ftdetect

New Features!

5/14/22: Added Function handling. You can now make use of more than just the main function in wellang!

5/10/22: Added support for vim syntax highlighting with wellang

You might also like...
Functional programming style pattern-matching library for C++
Functional programming style pattern-matching library for C++

Mach7: Pattern Matching for C++ by Yuriy Solodkyy, Gabriel Dos Reis, Bjarne Stroustrup Abstract Pattern matching is an abstraction mechanism that can

Functional C++ iterator library

iter (alpha) Functional C++20 iterator library. Godbolt demo Small, single header, feature-rich, functional C++20 iterator library that aims to be sim

Bringing the power, stability and functional capabilities of C++ to Python.

going-native-py Bringing the power, stability and functional capabilities of C++ to Python. This is just a get your hands dirty approach and should be

Flutter-Clock-and-Reminder-App - a highly functional clock and reminder app developed on flutter framework.

clock_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

A fully-functional open source and open hardware mechanical USB computer keyboard with only three keys!
A fully-functional open source and open hardware mechanical USB computer keyboard with only three keys!

threeboard threeboard is a fully-functional open source and open hardware mechanical USB computer keyboard with only three keys. It supports multiple

A modern and functional replacement for the About Windows dialog
A modern and functional replacement for the About Windows dialog

Modern Winver A modern and more functional replacement for the About Windows screen powered by UWP and RegistryRT, providing details on Windows and yo

C/C++ language server supporting multi-million line code base, powered by libclang. Emacs, Vim, VSCode, and others with language server protocol support. Cross references, completion, diagnostics, semantic highlighting and more

Archived cquery is no longer under development. clangd and ccls are both good replacements. cquery cquery is a highly-scalable, low-latency language s

exp2swift translator which translates STEP schema files described in ISO 10303-11 STEP EXPRESS language to the Swift programing language.

STEPswiftcode/ exp2swift exp2swift translator which translates STEP schema files described in ISO 10303-11 STEP EXPRESS language to the Swift programi

StarkScript - or the Stark programming language - is a compiled C-based programming language that aims to offer the same usability as that of JavaScript's and TypeScript's

StarkScript StarkScript - or the Stark programming language - is a compiled C-based programming language that aims to offer the same usability as that

Owner
wellang
wellang
A bytecode interpreter for statically typed functional languages.

A bytecode interpreter for statically typed functional languages.

Luc Tielen 2 Dec 25, 2021
Somewhat Universal Widescreen Fix

SUWSF Somewhat Universal Widescreen Fix is intended to enable widescreen aspect ratios (e.g. 21:9, 32:9, 48:9) in games where it is unsupported. WARNI

Chris Yeninas 36 Dec 19, 2022
A simple, cheap, and somewhat secure USB Key for SSH authentication, costs < $5

44Key A simple, cheap, and somewhat secure ed25519 USB Key for SSH authentication, costs < $5 Hardware: https://oshwhub.com/44670/miniusbkey PC Softwa

null 26 Dec 12, 2022
A concatenative functional language to be used as a sidekick for the mlatu language

gerku _, | | __ _, ___ ,_ __ | | __ _, _, /\___ / _` | / _ \| '__)| |

Remo Dentato 9 Jan 14, 2022
Multi-dimensional dynamically distorted staggered multi-bandpass LV2 plugin

B.Angr A multi-dimensional dynamicly distorted staggered multi-bandpass LV2 plugin, for extreme soundmangling. Based on Airwindows XRegion. Key featur

null 21 Nov 7, 2022
struct_san is a vulnerability prevention tool that dynamically detects function pointers in kernel structures

struct_san - struct sanitizer 简介 struct_san是一个动态检测内核结构体函数指针的漏洞防御工具。业界对于结构体函数指针的保护主要集中在 Control-Flow Integrity (CFI),也就是关注在控制流上,没有关注在数据流上,例如某些CFI验证函数指针

YunDing Security Lab 22 Nov 24, 2022
IDA Debugger Module to Dynamically Synchronize Memory and Registers with third-party Backends (Tenet, Unicorn, GDB, etc.)

IDA Debug Bridge IDA Debugger Module to Dynamically Synchronize Memory and Registers with third-party Backends (Tenet, Unicorn, GDB, etc.) By synchron

null 9 Sep 5, 2022
ArkScript is a small, fast, functional and scripting language for C++ projects

ArkScript Documentation Discord server: invite link, to discuss the specification of the language and receive help Modules Nota bene: the project is r

ArkScript 484 Jan 1, 2023
hooking the execve syscall, to randomly sabotage typed bash commands.

Syscall hooks A small project of hooking the execve() syscall, to randomly sabotage typed bash commands. This project was tested on 5.11.0-38-generic.

ilevi 4 Aug 2, 2022