Skip to content

Instantly share code, notes, and snippets.

View ShalokShalom's full-sized avatar
🐉
Garuda

ShalokShalom ShalokShalom

🐉
Garuda
View GitHub Profile
# python_julia_connector.py
import os
from juliacall import Main as jl
# from juliacall import JuliaError # To specifically catch Julia errors if needed
# --- Environment Management & Initialization ---
# You might need to configure JuliaCall if Julia is not in your PATH
# or if you want to use a specific Julia project environment.
# For example:
# from juliacall import JuliaCall # For more control
New features get merged into `development`
New corrections get merged into `release`
Every new merge creates a new version.
A release has the versioning 2024.06.12-1
Binaries are called release-2024.06.12-1 and
development-2025.07.23-2
homoiconic transpiler toolchain
@ShalokShalom
ShalokShalom / gist:335c7aafd8a93b0e0c65cb6ff86b418d
Created February 19, 2025 00:03
The transparency of programming
Semantic transparency
Examples:
-- Multiple dispatch - ECS
-- Lambda principle - Lisp interpreter
An implementation can match the semantics of the architecture of the underlying system.
The tool ideally matches the product.
If CVEs in C++ code were 98% lower (2% of today) in the four key buckets -- initialization safety, type safety, bounds safety, and lifetime safety -- then we wouldn't be having this conversation. There would be no problem.
Cpp2 today has
guaranteed initialization safety (better than C# or Java),
guaranteed type safety (via safe is type queries and as casts),
bounds safety (via subscript checking, banning pointer arithmetic, and safe-by-construction iteration such as range-for) except for naked use of raw STL iterators, and
--Rich Hickey's infamous transducers, demonstrating reversed function composition.
--Look closely.
function transduce(tf, rf, init, iter)
for i in iter do
init = tf(rf)(init, i)
end
return init
end
@ShalokShalom
ShalokShalom / multiple-dispatch.hx
Created January 2, 2025 15:56
Haxe (multiple dispatch)
// Type definitions for method signatures and dispatch information
private typedef MethodSignature = {
var paramTypes:Array<Class<Dynamic>>;
var method:Dynamic;
}
// Dispatcher implementation that could be used by a transpiler
class GenericDispatcher {
// Static registry for all multi-methods
private static var methodRegistry:Map<String, Array<MethodSignature>> = new Map();
@ShalokShalom
ShalokShalom / lix_install
Last active February 15, 2025 14:07
Quick installation of Lix + Homemanager
We couldn’t find that file to show.
@ShalokShalom
ShalokShalom / multi_methods.rb
Created January 2, 2025 09:22 — forked from unworthyEnzyme/multi_methods.rb
Multi-methods/multiple dispatch implemented in ruby
class Type
attr_accessor :name
attr_accessor :supertype
def initialize(name, supertype = nil)
@name = name
@supertype = supertype
end
def is?(type)
@ShalokShalom
ShalokShalom / .logic
Created December 8, 2024 07:24
Logic Programming Language (LPL)
Implemented in Terra
Transpiler from Logic to Terra
Using the Julia type system and type checker through the C API