Skip to content

Instantly share code, notes, and snippets.

MaiaVictor

Block or report user

Report or block MaiaVictor

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View desabafo.md

As vezes eu sinto que só vou ser reconhecido quando eu morrer. Quanto mais eu preciso fazer para começar a mudar o mundo? Minha visão é clara: um mundo onde a matemática saia do papel e vire código. Onde artigos científicos deixem de ser PDFs e se tornem módulos. Onde teoremas e algoritmos coexistam no mesmo idioma universal.

Para isso, eu estudei anos, pratiquei e programei incansavelmente até desenvolver a primeira linguagem de provas do mundo que desde o princípio visa ser acessível e eficiente. Algo que, simplesmente, não existe, e que, ao meu ver, tem potencial para trazer um progresso comparável à própria popularização do computador. Mas idai? Quantas pessoas meu trabalho moveu? Quanta gente sabe quem eu sou?

É verdade, as vezes eu posto algo em comunidades de programação e recebo uns 300 likes e meia centena de comentários interessados. É verdade, muita gente me respeita e admira meu trabalho. Uma ou outra pessoa já até quis investir em mim. Meus amigos juram que eu sou um gênio e minha mãe me acha b

@MaiaVictor
MaiaVictor / TaelinArena_model_build_log
Created Feb 21, 2020
TaelinArena model build log
View TaelinArena_model_build_log
built models/benfix/block/000.json, removing 1015 of 3586 voxels (28.30%)
built models/benfix/dash/000.json, removing 1016 of 3518 voxels (28.88%)
built models/benfix/dash/001.json, removing 1015 of 3512 voxels (28.90%)
built models/benfix/dash/002.json, removing 997 of 3521 voxels (28.32%)
built models/benfix/dash/003.json, removing 2121 of 6660 voxels (31.85%)
built models/benfix/dash/004.json, removing 3131 of 9358 voxels (33.46%)
built models/benfix/dash/005.json, removing 4142 of 12051 voxels (34.37%)
built models/benfix/dash/006.json, removing 5171 of 14472 voxels (35.73%)
built models/benfix/dash/007.json, removing 5171 of 14472 voxels (35.73%)
built models/benfix/dash/008.json, removing 5171 of 14472 voxels (35.73%)
View projections.html
<body><script>
// Returns the two points of intersection
// of a line and a circle, if they exist.
function circle_line_intersection(circle, line) {
var cx = circle.pos.x;
var cy = circle.pos.y;
var dx = line.dir.x;
var dy = line.dir.y;
var x1 = line.pos.x - cx;
@MaiaVictor
MaiaVictor / voxtree.js
Last active Jan 7, 2020
voxtree marching on cpu
View voxtree.js
// Format: a Tree can be either Nil, Tip or Oct. Nil holds
// nothing. Col holds a color. Oct holds 8 Trees. The memory
// is organized in blocks if 8 uint32, plus a root pointer.
// A pointer is represented as an uint32, where the first
// two bits represent the constructor it points to, and the
// last 30 bits represent its data. For a `Tip`, it is a
// color as `0xARRGGBB`. For an `oct`, it is an index. The
// tree has an exact depth of 10, allowing 1024x1024x1024
// colors to be stored.
View TaelinArena.md

Taelin Arena

Uma arena online feita em uma nova linguagem de programação ultra-segura desenvolvida por nós, o Formality. O jogo será non-profit, get-paid-to-win: todo seu lucro é redirecionado pros próprios jogadores competitivos. Também será open-source e 100% modável: jogadores poderão criar seus próprios heróis. Será um jogo competitivo, real-time, top-view e muito dinâmico. O gameplay será uma mistura de League of Legends

View intmap.js
const WNIL = 0;
const WVAL = 1;
const WBIN = 2;
const WEXT = 3;
var wnil = ({ctr:WNIL});
var wval = (val) => ({ctr:WVAL, val});
var wbin = (lft, rgt) => ({ctr:WBIN, lft, rgt});
var wext = (len, key, map) => ({ctr:WEXT, len, key, map});
const winsert = (len, key, val, wm) => {
View fm_micro_benchmark.md

stress.hs:

data Bits
  = Be
  | B0 Bits
  | B1 Bits
  deriving Show

data Pair a b
View debugging_life.txt
- implementei um garbage collector pro novo reduce()
- testei o gc e ele nao alterava o termo, entao parecia certo
- joguei o gc no reduce(), o resultado final deu errado
- como o reduce() funcionava sem o gc, deve ter algum caso onde o gc altera o programa
- dei um log em todas as chamadas do gc dentro do reduce() pra ver qual alterava o programa
- nenhuma, o gc estava funcionando impecavelmente bem
- se o gc nao altera o programa, como colocar ele dentro do reduce faz o reduce parar de funcionar? wtf?
- carreguei o reducer antigo no novo e, pra cada redução do novo, printei a reducao do antigo
- isso me levou ao exato loop onde o reducer novo fazia algo que alterava sua reducao final
- percebi que nesse loop, era uma aplicacao de um lambda que nao usava sua variavel
View equal.fm.js
// Equal.fm
// ========
//
// The propositional equality type. A value (proof) of type
// `Equal(A,a,b)` contains the reflexive constructor that
// `a` equals itself, which implies `b` is equal to `a` iff
// `b` reduces to `a`.
// Definition
// ----------
View parse.fm.js
import Maybe
import Nat
import String
import Unit
// Consumes a String and returns the rest and the parsed value, if any
Parser(A) : Type
(str : String) -> [: String, Maybe(A)]
// Å parser that just return some value
You can’t perform that action at this time.