Skip to content

Instantly share code, notes, and snippets.

View ShalokShalom's full-sized avatar
🐉
Garuda

ShalokShalom ShalokShalom

🐉
Garuda
View GitHub Profile
Can I change this code:
```rust
pub fn peek_frame<'a>(&'a self) -> Option<&'a [Value<'a>]>
```
into​
```rust
pub fn peek_frame<'a>(&'a self) -> Option<&'a [Value<'v>]>
# 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 March 4, 2026 10:16
Quick installation of Lix + Homemanager
Lix is a community-driven fork of the Nix package manager that offers several technical,
and organizational improvements over upstream Nix while maintaining full backward compatibility.
It has has implemented various optimizations that reduce build times,
increase the parsing performance and error messages compared to upstream Nix,
enhances the debugging workflow, and uses Meson as its build system instead of plain Make.
Also, it incrementally introduces Rust to the codebase, and stays fully backwards compatible. 🙂
@ShalokShalom
ShalokShalom / multi_methods.rb
Created January 2, 2025 09:22 — forked from mehmet-yuksel/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)