Skip to content

Instantly share code, notes, and snippets.

@EduardoRFS
Last active June 23, 2024 04:44
Show Gist options
  • Save EduardoRFS/38825f710dd86470495004b2b411f2dc to your computer and use it in GitHub Desktop.
Save EduardoRFS/38825f710dd86470495004b2b411f2dc to your computer and use it in GitHub Desktop.

Roadmap

Geral

O que é uma linguagem de programação?

Linguagens de programação não são algo especial. "code is data".

Como representar código / AST

Interpretando aritmética

Lambda calculus

Frontend

História

Fortran

Lisp

C

Parsing Aritmética

TODO: somewhere, expressions vs statements

Lambda calculus 2

História

O que é?

Para que serve?

Parsing as Lisp

Typed Lambda Calculus

História

Por que?

Simply Typed Lambda Calculus(STLC)

Type Theory

System F(F)

Hindley Milner(HM)

System F-Omega(Fω)

Intermediary Representation

Por que?

TODO:

Runtime

Memória

Alocação

Heap / Stack

Boxing

Foreign Function Interface

Primitives

JavaScript

Backend

Bytecode

JavaScript

C

TODO: more

Native

Register allocation

TODO: more

Linguagens de Programação

Fortran

Algol 58

COBOL

ISWIM

C

Shell

awk

Simula

Small Talk

Erlang

Self

Prolog

APL

Scheme

Caml

Miranda

Haskell

Coq

Clean

Pascal

Modula

C++

Java

Python

JavaScript

C#

F#

F*

Agda

Idris

Lua

D

Elixir

R

Zig

Rust

Ruby

Elm

CoffeScript

PureScript

Swift

Kotlin

Groovy

Go

Objective C

Forth

PHP

Basic

Visual Basic

TypeScript

Clojure

Ada

VHDL

Verilog

Nim

Features

TODO: split in advanced features and basic features

Memory Safety

Static Types

Dynamic Types

Polymorphism

Records

Objects

Variants / Sum Types

ADTs

Pattern Matching

Subtyping

Mutability

Homoiconicity

Ad-hoc polymorphism

Type Classes

Modular type classes

Scala Implicits

Modular Implicits

Modules

Dependent types

Refinment types

Linear types

Affine types

Uniqueness types

Substructural types

Algebraic Effects

Typed Algebraic Effects

Templates

Latent types

Performance

TODO:

@jamietteo
Copy link

gosto do que vejo!

@emeborges
Copy link

Esperando ansiosamente para o término desse roadmap

@raguzzoniluis
Copy link

Muito bom, parabéns pela iniciativa!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment