- a way to link notes together;
- a citation management system;
- a way to write and edit notes;
- an index of notes; ↳ Should I have project index note?
- you should add it to your study / writing workflow;
Meu nome é Ju Gonçalves e eu tenho mais ou menos 7 anos de experiência trabalhando com TI. Passei meus primeiros 4 anos trabalhando como desenvolvedora front-end (HTML, CSS, JS) e depois migrei para uma abordagem mais fullstack. Estudo programação funcional desde 2013, que tem sido meu foco desde então. Meus últimos dois trabalhos foram na Dinamarca e na Holanda, trabalhando como Lead Frontend Engineer com React e como Software Engineer com Elm e Haskell. Nos últimos anos, eu venho fazendo doutorado em Ciência da Computação na Dinamarca, em que o meu foco é programação funcional, teoria de tipos e paralelismo.
Minha disponibilidade para live sessions seria 1 vez na semana, ou 1 vez a cada 2 semanas. Considerando chat por texto, eu estou disponível virtualmente o dia todo. Me adicione no [email protected] no gtalk. Não tenho celular, logo não tenho Whatsapp ou Telegram. Como estou na Dinamarca, estou de 3 à 5 horas (depen
- Freer monads, more extensible effects (Haskell 2015) by Oleg Kiselyov and Hiromi Ishii
- An Introduction to Algebraic Effects and Handlers (MFPS 2015) by Matija Pretnar
- Programming and reasoning with algebraic effects and dependent types (ICFP 2013) by Edwin Brady
- Embedding effect systems in Haskell (Haskell 2014) by Dominic Orchard and Tomas Petricek
- A generic type-and-effect system (TLDI 2009) by Daniel Marino and Todd Millstein
module LHbasics where | |
-- sorted lists | |
data List a = Emp | |
| (:::) a (List a) | |
data IncList a = IncEmp | |
| (:<) { hd :: a, tl :: IncList a } |
Require Import Arith. | |
Require Import List. | |
(* This is the definition of insertion sort from "Coq in a Hurry": *) | |
Fixpoint insert n l := | |
match l with | |
| nil => n :: nil | |
| a :: l' => if leb n a then n :: l else a :: insert n l' | |
end. |
Require Import Bool. | |
Require Import Arith. | |
Require Import List. | |
(*E1 Find the last element of a list. *) | |
(*E2 Find the last but one element of a list. *) | |
(*E3 Find the K'th element of a list. The first element in the list is number 1. *) |
2016 não foi um ano bom, em geral. Entretanto, esse foi um ano que eu considero especialmente bom na minha vida.
- 2015 foi um ano desastroso pra mim, comecei 2016 com aviso prévio na Podio, que tava demitindo em massa todo mundo do escritório de Copenhagen. Felizmente, já na primeira semana de Janeiro, consegui uma oferta da Opbeat - que é definitivamente o produto mais interessante que já trabalhei.
- Em Abril, larguei a Opbeat (como dev em tempo integral), para começar o doutorado em Ciência da Computação na Universidade de Roskilde. Algo que eu ensaiava fazer há muito tempo, que era me distanciar de JavaScript e desenvolvimento frontend para me dedicar à Programação Funcional e Teoria de Tipos, em um nível acadêmico.
- Aprendi Teoria de Tipos, inclusive a implementar checadores de tipos até System F. Sei como tipos dependentes e de refinamento funcionam, embora não tenha uma visão clara de como implementá-los (2017 spoiler). Também aprendi "tipos
Verifying that +cyberglot is my blockchain ID. https://onename.com/cyberglot |
plus1 :: [Int] -> [Int] | |
plus1 [] = [] | |
plus1 (x:xs) = x + 1 : plus1 xs | |
-- plus1 [0,1,2,3] | |
-- > [1,2,3,4] |