Não use UUID
como PK nas tabelas do seu banco de dados.
const TRUE = (p) => (q) => (p) | |
const FALSE = (p) => (q) => (q) | |
const OR = (p) => (q) => p(p)(q) | |
const NOT = (p) => (p)(FALSE)(TRUE) | |
const AND = (p) => (q) => (p)(q)(FALSE) | |
const PROG = (func) => FALSE(func())(PROG) | |
const PRINT = (text) => () => TRUE(console.log(text)) | |
const IF = (cond) => (execute) => (nonexecute) => (cond(execute)(nonexecute))() | |
PROG |
defmodule LinkedList do | |
defstruct data: 0, | |
next: nil, | |
index: 0 | |
def new(data \\ 0, index \\ 0) do | |
%__MODULE__{data: data, index: index} | |
end | |
def push( |
Firstly, what is <details>
<summary>
?
The HTML Details Element (
<details>
) creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state. A summary or label can be provided using the<summary>
element. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details.
type Eq<A, B> = <X>(a: A, eq: (x: A & B) => X) => X; | |
const refute = (x: never) => x; | |
const refl = <A, X>(a: A, eq: (x: A) => X) => eq(a); | |
const sickos = <A>(x: A, eq: Eq<A, number>) => eq(x, (x) => x); | |
const two = sickos(2, refl); | |
type Ty<A> = | |
| { tag: "number"; eq: Eq<A, number> } | |
| { tag: "string"; eq: Eq<A, string> }; |
Aviso: Muitas vezes detalhes de várias operações podem variar de banco para banco. Em questões onde fiquei em dúvida, este documento segue o funcionamento do PostgreSQL, pois é o banco que conheço melhor.
Antes de começar a escrever SQL, você precisa entender o modelo de como um banco de dados relacional funciona. Não precisa se aprofundar muito, mas você precisa entender como que dados e relacionamentos entre eles são representados. (Nota importante: Relacionamento e relação não são a
A list of commonly asked questions, design decisions, reasons why Clojure is the way it is as they were answered directly by Rich (even when from many years ago, those answers are pretty much valid today!). Feel free to point friends and colleagues here next time they ask (again). Answers are pasted verbatim (I've made small adjustments for readibility, but never changed a sentence) from mailing lists, articles, chats.
How to use:
- The link in the table of content jumps at the copy of the answer on this page.
- The link on the answer itself points back at the original post.
- High level overview https://yogthos.github.io/ClojureDistilled.html
- An Animated Introduction to Clojure https://markm208.github.io/cljbook/
- Interactive tutorial in a browser https://tryclojure.org/
- Interactive exercises http://clojurescriptkoans.com/
- More interactive exercises https://4clojure.oxal.org/
- Functional Programming with Clojure resources https://practicalli.github.io/
- Getting started guide https://grison.me/2020/04/04/starting-with-clojure/
- Interactive book https://www.maria.cloud/
// not iterable | |
{ | |
const myItem = { | |
a: 1, | |
b: 2 | |
} | |
// const r = [...myItem] // TypeError: myItem is not iterable | |
} | |
// now object is iterable |