Skip to content

Instantly share code, notes, and snippets.

This is a silly idea for programming language I had. I didn't give it much thought, and the syntax & edge case rules are just a placeholder.

The only structured data type is the "record".

A record is a key-value mapping. It can also be typed.

MyRecord = (
	value: Int = 0,
	other_value = value + 24
)
@FranchuFranchu
FranchuFranchu / SAT.hvml
Created January 9, 2024 17:36
SAT in HVM
// Boolean constructors and functions
T = λt λf t
F = λt λf f
(Id a) = a
(Not a) = λt λf (a f t)
(And a b) = (a λx(x) λx(F) b)
(Or a b) = (a λx(T) λx(x) b)
(Or3 a b c) = (Or a (Or b c))
data List = (Cons head tail) | Nil
@FranchuFranchu
FranchuFranchu / tree-calculus.vi
Last active December 17, 2024 13:42
Tree calculus interpreter in Vine
use std::option::Option;
use Option::{Some, None};
enum Program {
Leaf,
Stem(Program),
Fork(Program, Program),
}
mod Program {
@FranchuFranchu
FranchuFranchu / pi.vi
Created March 14, 2025 18:24
A parallel Pi approximator in Vine
use std::numeric::F32;
use std::ops::Cast;
use std::unicode::ToString;
struct Decimal {
m_sign: Bool,
mantissa: N32,
e_sign: Bool,
exponent: N32,
}