/// | World |
/// |------------------------------------------|
/// | Module A | Module B | Module C | Module D|
- World is a module
- World is aware of all modules.
- Modules aren't aware of World.
/// | World |
/// |------------------------------------------|
/// | Module A | Module B | Module C | Module D|
Os direitos digitais e as garantias democráticas são, a seguir à emergência climática e à resposta da sociedade aos novos modelos de trabalho, uma area da política actual que vai definir as próximas décadas. Resumo aqui as posições dos partidos que concorrem às eleições legislativas 2019. Não sou um observador isento por isso classifico cada proposta tendo como critério o acesso livre e sem censura à informação, e as garantias de proteção da vida privada.
Nota: E
I made a documentation generator that cashes in on Clojure's dynamism. See the play-cljs docs (a ClojureScript game library) for an example of its output.
Like many of you, I've often wondered what my final regret will be on my deathbed. My best guess came to me in a dream recently. I was walking across the charred earth of an apocalyptic future world, maneuvering around the remains of the less fortunate. I was startled to find a young girl, barely holding onto her life. She murmured something to me. I asked her to repeat it, and she said more loudly: "I...wish your Clojure projects didn't have such crappy documentation."
Disclaimer: This piece is written anonymously. The names of a few particular companies are mentioned, but as common examples only.
This is a short write-up on things that I wish I'd known and considered before joining a private company (aka startup, aka unicorn in some cases). I'm not trying to make the case that you should never join a private company, but the power imbalance between founder and employee is extreme, and that potential candidates would
import UIKit | |
import PlaygroundSupport | |
//http://stackoverflow.com/questions/72768/how-do-you-detect-credit-card-type-based-on-number | |
enum CreditCardType { | |
case visa | |
case visaElectron | |
case mastercard |
Copyright © 2016-2018 Fantasyland Institute of Learning. All rights reserved.
A function is a mapping from one set, called a domain, to another set, called the codomain. A function associates every element in the domain with exactly one element in the codomain. In Scala, both domain and codomain are types.
val square : Int => Int = x => x * x
// Circular primes | |
// Problem 35 | |
// The number, 197, is called a circular prime because all rotations of the digits: 197, 971, and 719, are themselves prime. | |
// | |
// There are thirteen such primes below 100: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, and 97. | |
// | |
// How many circular primes are there below one million? | |
import Foundation |
//: Playground - noun: a place where people can play | |
import UIKit | |
struct Domino { | |
let left: Int | |
let right: Int | |
init(string: String) { | |
let split = string.componentsSeparatedByString("-") |
Hello World, how is it going?
Miles Sabin recently opened a pull request fixing the infamous SI-2712. First off, this is remarkable and, if merged, will make everyone's life enormously easier. This is a bug that a lot of people hit often without even realizing it, and they just assume that either they did something wrong or the compiler is broken in some weird way. It is especially common for users of scalaz or cats.
But that's not what I wanted to write about. What I want to write about is the exact semantics of Miles's fix, because it does impose some very specific assumptions about the way that type constructors work, and understanding those assumptions is the key to getting the most of it his fix.
For starters, here is the sort of thing that SI-2712 affects:
def foo[F[_], A](fa: F[A]): String = fa.toString