サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
www.scattered-thoughts.net
(This is part of a series on the design of a language. See the list of posts here.) Many 'scripting' languages use a hashmap for their default associative data-structure (javascript objects, python dicts, etc). Hashtables have a lot of annoying properties: Vulnerable to hash flooding. If protected against hash flooding by random seeds, the iteration order becomes non-deterministic which is annoyin
Unexplanations: sql is syntactic sugar for relational algebra This idea is particularly sticky because it was more or less true 50 years ago, and it's a passable mental model to use when learning sql. But it's an inadequate mental model for building new sql frontends, designing new query languages, or writing tools likes ORMs that abstract over sql. Before we get into that, we first have to figure
(This is part of a series on the design of a language. See the list of posts here.) Suppose I want to implement an interactive language - one where code is often run immediately after writing. Think scientific computing, database queries, system shells etc. So we care about both compile-time and run-time performance because we'll usually experience their sum. A traditional switch-based bytecode in
TLDR The relational model is great: A shared universal data model allows cooperation between programs written in many different languages, running on different machines and with different lifespans. Normalization allows updating data without worrying about forgetting to update derived data. Physical data independence allows changing data-structures and query plans without having to change all of y
I keep seeing discussions that equate zig's level of memory safety with c (or occasionally with rust!). Neither is particularly accurate. This is an attempt at a more detailed breakdown. This article is limited to memory safety. See Assorted thoughts on zig and rust for a more general comparison. I'm concerned mostly with security. In practice, it doesn't seem that any level of testing is sufficie
I'm trying to find a better debugging experience for my current projects (zig/c, nixos). Usually I just use vanilla gdb. Here is a debugging session I ran recently on this linux x64 binary. 1. Open and run until crash. [nix-shell:~/focus]$ gdb ./test ... (gdb) run ... Test [1/1] test "search forwards"... reached unreachable code /nix/store/5g4w66g606d46w8pmzwzq7flrlk3k7cs-zig/lib/zig/std/debug.zig
I've been using zig for ~4 months worth of side projects, including a toy text editor and an interpreter for a relational language. I've written ~10kloc. That's not nearly enough time to form a coherent informed opinion. So instead here is an incoherent assortment of thoughts and experiences, in no particular order :) This is not meant to be an introduction to zig - check out the excellent languag
While working with RelationalAI I wrote Blobs.jl, a library for zero-copy deserialization in Julia. Not super exciting in itself, but it nicely demonstrates the kinds of zero-overhead abstractions that are possible in Julia. The problem Folks at RelationalAI want to build various complex on-disk data-structures, with these constraints: The system is typically bottle-necked on memory bandwidth alre
I work on Eve, a functional-relational programming language and environment. Since the Eve editor has to run in a browser we built the first few versions entirely in javascript. This has been pretty painful, so a little over three months ago we started looking at other options. The only hard requirements for the runtime are a) we need control over memory layout and b) we need to safely execute unt
I feel that the readme for strucjure does a reasonable job of explaining how to use the library but not of explaining why you would want to. I want to do that here. I'm going to focus on the motivation behind strucjure and the use cases for it rather than the internals, so try not to worry too much about how this all works and just focus on the ideas (the implementation itself is very simple but l
このページを最初にブックマークしてみませんか?
『www.scattered-thoughts.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く