thegoodfellas/blogset-br huggingface dataset:
val consumer: (buffer -> unit) -> unit4 val producer: (buffer -> unit) -> unitThe great advantage of such interface is that nested functions do not lose context. That means, you keep current bindings when you call another anonymous function. For instance:1 [..]2 consume3 begin fun inp ->4 produce5 begin fun out ->6 write inp out7 end8 end9 [..]In this case, 'consume' gets called and receives the first block "begin fun ... end", which is a function, as argument. It then calls this argument, that calls the 'produce' function, which will eventually call function 'write'.The reader should notice that 'inp' in being passed by context, as any other value might have been passed. Functional objects, OTOH, do not have this flexibility.As a last note, I would say programming as an everyday basis using a language (in this case, C++) bring you a great deal of confidence about it, but when you got some degree of knowledge about other forms of programming (in this case, functional programming), sometimes you want a bit more of what the language can provide you.
Um dos melhores pontos de se formar e o tempo livre que comeca a sobrar no final de semana: as velhas leituras e pesquisas comecam a caminhar novamente, os projetos comecam a sair do zero, o blog comeca a funcionar novamente, e por ai vai.Algo que esta no topo da fila, no momento, e aprender SML'97, especialmente usando o MLton como compilador. Comecei a estudar a linguagem, mas felizmente ela e similar o suficiente com O'Caml para que eu nao precise me preocupar: algumas keywords e construcoes sintaticas novas, e grande parte do caminho estara andado. As vantagens sao algumas: alem da linguagem em si, e de algumas tecnicas interessantes que sao implementadas neste compilador, ha tambem a possibilidade de estudar e contribuir com um compilador realmente open source. O desempenho do compilador tambem e outro fator importante para a escolha.Ha ainda uma penca de coisas na fila, mas grande parte depende das impressoes que o MLton render. Assim que tiver um tempinho, volto aqui para continuar a lista.E por enquanto, e isso. Trabalhando diariamente com C++, sendo praticamente um zero a esquerda em orientacao a objeto e a engenharia de software da mesma (por opcao), comecei a procurar um pouco mais sobre o paradigma, para encontrar recursos que espelhassem algumas funcionalidades que encontro em Objective Caml, especialmente uma: pattern-matching.Depois de alguma procura, encontrei este artigo, que faz uma comparacao direta entre C++, O'Caml, algumas implementacoes de SML, e outras linguagens, citando justamente o pattern-matching de O'Caml como uma de suas vantagens. Nesta comparacao, traz-se a analoga ao pattern-matching no mundo OO, que em outro artigo descobri ser uma tecnica de engenharia de software chamada visitor pattern.Este outro artigo, do criador da linguagem Scala, vem em defesa do pattern matching, trazendo inclusive criticas que sao feitas a este recurso, entre elas, que e desnecessario, que quebra o encapsulamento do codigo, e que nao e extensivel.Depois de ler sobre estas informacoes, fui no artigo da Wikipedia e vi o exemplo da tecnica, feito em linguagem Java. Percebi que as criticas que sao feitas sobre pattern matching, na verdade, sao criticas que muito bem poderiam ser feitas sobre o visitor pattern. Para comecar, voce precisa criar varios objetos so para tratar os casos possiveis. Um exemplo de 4 casos chega a dar dezenas de linhas de codigo, enquanto que em O'Caml, voce tem uma linha para cada case, em exemplos simples com esse.Outro ponto importante e a maneira que se utilizam as duas tecnicas: no caso do pattern-matching, este e usado dentro de modulos, isolado do programa principal, ou ate mesmo no proprio programa principal, mas como um meio de organizar dados obtidos por entrada e os dados de modulos: nao ha problema de flexilidade nem de extensibilidade, e a tecnica se ajusta muito bem para este uso. Tambem e interessante notar que voce nao pode realmente usar um pattern no caso do visitor pattern: o compilador faz uma comparacao apenas baseando-se no tipo dos objetos, e nao e possivel usar valores concretos: strings, caracteres e inteiros ficam de fora, o que ja limita
bastante a tecnica em comparacao com a primeira.Por ultimo, mas nao menos importante: pelo fato de precisar de chamadas de metodos extra e criar uma dependencia desnecessaria entre classes, pode-se perceber que quem quebra o encapsulamento na verdade e o visitor pattern, que faz com que o programador precise de muito codigo so para conseguir um recurso simples. Como ja disse o proprio criador da linguagem Scala, as criticas feitas ao pattern matching normalmente originam de quem nao entendeu como funciona o recurso. O que faz muito sentido se o problema for observado do ponto de vista pratico: os programadores que utilizam orientacao a objetos, especialmente aqueles que so utilizam uma unica linguagem monoparadigma, raramente conhecem o suficiente a programacao funcional moderna para entende-la, e perdem muitas das vantagens associadas a ela.E e isso.
didn't even came closer to the best ones I've used: emacs was complicated even in the basic read/edit/save file loop, and vi needed too much keystrokes (which became even worse on a dvorak keyboard). Even trying hard, I never really found what was so special in these programs.Perhaps their merit is not so much technical, but really archeological: these programs have a strong history in UNIX-like systems development, and many people have learned these systems through them, mixing the user's concept of the system with the presence of these applications. Maybe 30 years from now they'll be like COBOL: something nobody wants to use anymore, and just waiting to be left behind.And that's it.
Sou flamenguista desde que me entendo por gente. Na verdade, desde muito antes disso: meu pai ja dizia que eu era flamenguista desde que nasci. E, numa tendencia natural dos filhos seguirem os times do pai, abracei o Flamengo como time do meu coracao. Alias, nao so eu como tambem meu irmao.No comeco era so p/ dizer que tinha time, assim como algumas pessoas dizem que sao catolicas nao-praticantes quando perguntam a religiao delas. "Voce torce p/ qual time? - Flamengo". Resposta pronta. Ate o dia que resolvi, de fato, acompanhar um jogo. E ai eu entendi o que era ser flamenguista e percebi que aquilo estava no meu sangue.Mais ou menos 90 min de pura adrenalina, olhos vidrados e muitas emocoes. Pronto, eu era uma torcedora nata. Aprendi ate as regras de futebol, como funcionavam os campeonatos, marcava com os amigos de ver aos jogos. Torcia, gritava, me irritava, vibrava, comemorava, sorria e, ao final do jogo, comentava com meus amigos o que tinha acontecido bebendo cerveja e falando dos bons tempos do Flamengo.O que pouca gente sabe e que muito antes disso eu ja tinha tentado me apaixonar por futebol e pensei que torcidas organizadas seriam uma boa p/ me enturmar. No Flamengo, tinhamos a Raca Rubro-Negra e a Torcida Jovem Fla. Comecei a procurar informacoes sobre elas. Decepcao primeira: sem mulheres. Era clube do bolinha. Nao sei como e agora, mas ha mais de 10 anos, era so para meninos.Segunda decepcao: Young Flu. Essa e uma torcida organizada do Fluminense similar a Jovem Fla. Os integrantes tem mais ou menos a mesma idade. E FlaxFlu (mesmo fora de tempos de gloria) e classico. E quando a Jovem Fla e a Young Flu se encontravam, dava merda. Das grandes. Entao decidi que torcidas organizadas nao eram p/ mim. Mas isso tem mais de 10 anos...Nesse tempo, esses grupos cresceram, difundiram, ganharam mais forca e se tornaram... Muito mais violentos. Perplexa leio nos noticiarios as violencias das organizadas Brasil a fora. Ate que elas ganharam o mundo com o Corinthians.Querido leitor, vamos abrir um parenteses aqui. Torcidas organizadas existem em todos os paises amantes de futebol e a maioria e violenta e estraga o prazer e o objetivo dos jogos. Mas aqui, irei me ater as torcidas brasileiras, tudo bem? Espero que voce possa conviver com isso. Fechando parenteses.Entao, dizia eu que as torcidas do Corinthians ganharam o mundo. Primeiro o Japao. Os torcedores da Fiel tomaram o aeroporto de Guarulhos na despedida do time antes da partida para a Terra do Sol Nascente (PEEEEENNNN alerta de cliche). Nao satisfeitos, invadiram o aeroporto do Japao quando chegaram la p/ ver o Timao jogar. Pobres japoneses de fala baixa e contato fisico minimo... Ate ai, tudo bem. Euforia. Mas logo viria o grande TCHAN da Fiel.Bolivia, fevereiro de 2013. Doze corintianos, dentre eles um menor de idade (14 anos), foram acusados pela morte do adolescente boliviano Kevin Spada, atingido por um sinalizador, durante um jogo entre o Corinthians e o San Jose, pela Taca Libertadores da America. Sete torcedores foram libertados no
comeco de junho. Os outros cinco chegaram no Brasil em agosto.Todos os torcedores negaram envolvimento na morte de Kevin. Menos um adolescente, socio da Gavioes da Fiel (torcida organizada do Corinthians). Ele apresentou-se a Justica brasileira como autor do disparo do sinalizador. No entanto, o Ministerio Publico boliviano emitiu parecer pela libertacao, apos concluir que nao havia provas para incriminacao. Como forma de retratacao a familia, o Corinthians fez um acordo de que pagaria 200 mil dolares de indenizacao. Mas acabou pagando apenas 50 mil dolares, alegando "dificuldades financeiras". E ta la! Mais um final feliz.De volta p/ casa, agora completinha, A Gaviao continuou com sua costumeira boa educacao nos estadios. E entao surgiu a discussao: devemos impedir torcidas organizadas? Elas devem ser barradas dos estadios? Todas sao violentas?Em resposta, quase iconica, a essas questoes veio o "por muito tempo inesquecivel" (pelo menos ate as retrospectivas 2013) jogo Vasco e Atletico-PR. Alguem no twitter comentou "e algum pach novo de GTA? Porque isso ta parecendo um massacre!" E eu nao ri. Porque era verdade. Futebol e um esporte. Rivalidade e natural. Sacanear o coleguinha do time adversario porque foi rebaixado, e comum. E saudavel.Espancar com pedacos de pau alguem que nunca viu so porque e da torcida adversaria nao e so crime. E cruel e desumano.A palavra esporte deriva do Frances - desport, passatempo, recreacao, prazer, do verbo desporter, divertir-se, distrair-se, jogar, literalmente levar embora, retirar no sentido de desviar a cabeca dos assuntos serios. Voces, eu nao sei, mas eu nao consigo me divertir, descansar a cabeca, me distrair, com essa quantidade de violencia... A coisa se perdeu.Entao, voltando aquela questao laaa em cima: devemos proibir as torcidas organizadas de entrarem nos estadios? SIM. E digo mais: deveriamos proibir a existencia delas. Essas "torcidas" estao acabando com a maior paixao brasileira pelo esporte. (PEEEEEEENNNNN alerta de cliche).Pense nisso.
Um dia desses eu tomo coragem e me livro dessa mesmice queme sufoca todos os dias. Levanto da cama com um sorriso do rosto pronta p/jogar tudo p/ alto.Nesse dia nao havera choro nem tristezas, so alegrias. Naohavera emprego, patroes nem contas a pagar, so o sol aquecendo meu rosto.Nao tera religiao, nem regras, nem normassociais e nem nada que possa me oprimir, so o som do vento tocando meuscabelos.E nesse dia, ah... Nesse dia... Como serei feliz!Sem horarios, sem prazos, sem obrigacoes, sem relatorios, sem nada. So eu e Deus.Tomar um banho de chuva, voltar a ser crianca, brincar depular nas pocas d'agua e depois secar ao sol! Correr pelas ruas sem rumo,porque elas sao minha casa, meu reinado.E depois poder dormir e sonhar que o mundo e colorido eutenho um ponei azul que voa! E acordar e escrever um livro sobre isso!Ah... Dia desses... Sim, precisa. O Texto precisa ver o mundo e o mundo precisa ver o Texto. Essa e a premissa inicial de qualquer escritor. E aquele comichao que te chama desesperadamente a qualquer hora do dia ou da noite para uma folha de papel ou ao computador. Quando voce sente - sim, voce sente - que esta na hora, aquele emaranhando de ideias vai criar uma forma. Pode ate ser que o escritor ainda nao saiba qual seja ela exatamente, mas agora ele nao tem mais tanto dominio sobre isso. O Texto precisa sair e conhecer o mundo.Entao o escritor para tudo. Nada mais e importante. Agora e o momento mais sagrado. A hora em que as palavras o levam a um outro nivel: ao extase total. Elas se jogam e voce brinca com elas. E um momento sublime onde nao existe mais nada alem do autor e do Texto. Nao importa o assunto, a forma, a linguagem. O Texto... sempre sera Texto.Ah, mas como ele pode ser diferente a cada vez que surge! Em lugares diferentes, em maos diferentes. Ele nunca sera o mesmo, ainda que escrito por uma so pessoa, no mesmo dia. E essa e a beleza dessa arte: ela e mutavel, em transformacao, para sempre inacabada. Porque o artista ao reler sua obra vai querer mudar uma coisa ou outra. Ou mesmo rasga-la em pedacos e comecar do zero.E, mesmo assim, isso so nos tras paz a alma. Confesso que muitos Textos ja me acordaram de madrugada e me tiraram da cama. E quem me conhece sabe o quanto isso e perigoso. Mas nao para ele. Nao. Nao para o amor da minha existencia. Como poderia negar o dom da vida as palavras que tanto admiro? Jamais! Seria como um aborto!Entao escrevo. E a cada letra, palavra, virgula, ponto; nasce uma frase, uma ideia, um paragrafo. Ate o Texto estar pronto. Olho para ele e sorrio. E meu filho. Nasceu de mim. Nao. Nasceu por meio de mim. Tenho certeza que essas ideias maravilhosas nao sairam da minha cabeca. Sou abencoada por uma Musa grega inspiradora que me sopra aos ouvidos as palavras que transcrevo.Admiro. Admiro o Texto como se nao fosse eu
propria a escritora. Porque quando ele nasce, ele ja nasce adulto. Pronto para encarar o mundo. E, assim como filhos, temos que deixa-los partir. Mas aqui o desapego e mais abrupto, mais rapido.Daqui, apenas o acompanho crescer. Vejo-o tocar "coracoes e mentes" - como diria meu pensador favorito. E essa e minha maior recompensa. Entao va, Texto, va voar. Porque o mundo e o seu dominio, o seu lugar.
Ha pelo menos uns 4 anos eu tenho pensado bem antes de escrever esse post. Mas chega, agora chega. Preciso contar. Simplesmente preciso contar. Colocar tudo para fora. Contar o que aconteceu comigo, o que acontece com milhares de mulheres, criancas e adolescentes todos os dias. Nao vou citar nomes, porque tem mais de 10 anos essa historia, entao nao tenho mais provas.Sim, mais de 10 anos... Tem tudo isso porque eu era inocente, fiquei com medo e acuada. E porque nossa sociedade machista tende a dizer que a culpa e nossa. "A mulher provoca". Eu, de minha parte, nao sei como poderia estar provocando alguma coisa naquela epoca. E se voce, querido leitor -independente de ser homem ou mulher - possui esse sentimento machista, por favor, pare por aqui. Encerre sua participacao neste texto aqui mesmo. Nao o avalie, nao comente (nao sera liberado). Siga sua vida pequena em paz e me deixe desabafar. Esse espaco e meu. So meu. E dele faco o que bem entendo. E nesse momento quero falar de mim.Aos 14 anos eu estava na setima serie. Tinha amigas, estava com meu primeiro namoradinho e desenvolvia loucamente minha fama pelos Backstreet Boys. Passava horas depois da aula sentada nos bancos em volta da escola com meus amigos comendo Fandangos e jogando conversa fora. Era uma tipica adolescente.Nao me lembro o dia, mas me lembro a manha. Para quem me conhece, sabe que uma "chave-de-travesseiro" e a maneira mais eficaz para me derrubar. Eu estudava de tarde, mas as 11h ainda estava babando na cama. Foi ai que a porta se abriu, deixando um pouco de claridade entrar e, com ela, todo o pesadelo que mudou minha vida para sempre."Camila, acorda. Voce esta atrasada para aula". Verdade, estava mesmo. Mas nao consegui me levantar. Nao conseguia porque nao podia entender porque aquela pessoa. Nao... Aquele homem estava me sacudindo com as maos... Bem... Uma mao apoiada no meu peito, a outra, na minha boceta (sim, usarei palavras xulas, para que sintam - mesmo que de leve - o que eu senti). Ele me sacodia pelo peito e pela boceta. Eu nao tinha reacao. E para ele, aquilo era a coisa mais natural do mundo.Ate que ela, meu anjinho, entrou no quarto e, sem nada perceber, disse "Miloca, acorda". Eu pulei em seus bracos e chorei. Chorei muito e ela nao entendeu. E aquele homem se afastou sem emitir uma palavra.Aquele episodio passou dias e dias pela minha cabeca. E se eu tivesse entendido errado? E se fosse coisa da minha imaginacao? Teria que ser coisa da minha imaginacao!!! Logo aquele homem! Eu o havia idolatrado a vida toda!!! Nao, eu tinha entendido mal. Nada daquilo tinha acontecido. E segui a minha vida em frente.Algumas semanas depois eu deitei na cama do meu anjinho para assistir a televisao. Sem maiores explicacoes e na ousadia - ja que a porta estava aberta - aquele homem me abracou por traz e ficou esfregando o pau dele na minha bunda. Passava a mao pelos meus peitos, gemia no meu ouvido. Todo mundo
estava em casa, mas eu nao tinha reacao. Nao consegui gritar, nao consegui falar, nao consegui chorar. E entao ele gozou. E como um raio percorrendo meu corpo, sai correndo.Trancada no banheiro, percebi que nao era minha imaginacao. Aquilo tinha acontecido de verdade, as duas vezes. Tive raiva, tive medo, tive nojo. Tomei banho me esfregando forte para tirar aquele cheiro, aquele suor, aquele homem de mim, de qualquer jeito.Infelizmente isso aconteceu mais duas vezes. Ate o dia que eu disse: voce nao encosta mais em mim, ou vai preso. Senti um leao explodir dentro de mim! (Ou seria um cachorro do mato?) E veio bem na hora! Nao falo mais com esse homem desde entao e poucas pessoas na minha vida sabiam sobre isso.Depois de 12 anos de terapia, contei aos meus pais. Sim, eles sabem o que aconteceu. E me apoiam, do jeito deles, como eles acham que e possivel. Mas infelizmente nao podemos tirar esse homem agora do nosso meio, por causa de pessoas que amamos.E, recentemente, no meu noivado, sem ser convidado, ele apareceu. Foi como um deboche, um tapa na minha cara. Nunca na minha vida eu achei que poderia odiar alguem. Pois ai esta: eu o odeio. Obrigada por quase estragar o dia mais feliz do meu ano, um dos melhores dias da minha vida.A pior parte e que mesmo que voce se va, ainda o terei aqui dentro de mim, porque todas as noites eu sonho com o que voce fez. Obrigada por marcar para sempre a minha vida.Obs: Se voce, querido leitor, descobriu quem e, por favor, guarde esta informacao apenas para si.
Se fosse possivel ligar os cerebros dos homens e das mulheresnuma especie de aparelho de televisao para vermos o que passa dentro de cadaum, as pessoas ficariam espantadas em como eles sao diferentes.Claro, existem algumas mulheres que pensam mais parecido comhomens e existem homens que pensam mais parecido com mulheres. Mas a maioria etotalmente diferente.Ja vi casos de uma amiga achar que o cara estava querendoterminar e ele so estava com dor de garganta... E acredite, por mais quepareca, isso nao e so inseguranca.Para o homem o universo e sim e nao. Para a mulher a verdade e relativa, varia com os fatos, ashoras do dia, Jupiter em conjuncao com Venus...Entao o Homem chega em casa depois de um longo e cansativo dia de trabalho. Acabou de enfrentarum engarrafamento de 3h. Sem duvidas ele esta muito mais do que emburrado.A Mulher vai achar que isso nao e motivo suficiente para estarirritado. Ela vai tentar achar um porque obscuro na sua irritacao que, namaioria das vezes, conclui sozinha que e insatisfacao com a relacao. Enquanto,na verdade, o cara so esta puto mesmo com o engarrafamento.Ai o Homem esta vendo TV. A essa altura ja ate se esqueceudo engarrafamento. Mas a Mulher ta la, encucada com aquilo, criando chifre emcabeca de cavalo. E e ai, bem ai, querido leitor, que se inicia um dialogo bem conhecidopor todos nos. Uma conversa mais ou menos assim:- Amor...- Ah...- O que voce tem?- Nada.- Nada nao. Voce chegou em casa com uma cara...- Foi o transito.- Ninguem fica assim so por causa do transito. Taacontecendo mais alguma coisa, nao ta?- Ja disse que nao.(Silencio)- E comigo?- O que?- Eu fiz alguma coisa errada?- Puta merda! Eu ja disse que foi o transito! Passei 3h noengarrafamento! O dia inteiro no trabalho com chefe me enchendo! Eu so querover TV e distrair a cabeca!- Nossa! Como voce e grosso!(Silencio)- Se era comigo era so ter dito ao inves de colocar a culpano transito.- Pela ultima vez! Nao e com voce! Eu so tive um dia demerda! Eu quero paz!- Voce nao me ama mais!!!- Ah, caralho...(mulher chorando)(homem respira fundo)- Vem ca, vem. Nao fica assim. Nao e nada com voce ta? Eu teamo. Foi so o transito mesmo.- Jura?- Juro.- Tambem te amo.(Beijinho)- Amor, voce quer suco?- Tem cerveja?- Tenho cara de garconete de boteco por acaso? Andava pela rua quando o sol saiu secando as ultimas gotasde chuva. Ela levantou a cabeca e olhou as nuvens se dissiparem no ceu. Umcachorro vagabundo se sacudiu para se secar e acabou molhando-a. Praguejou econtinuou seu caminho.Agora restavam somente alguns metros ate a casa dele. Ja podiaver o contorno do predio no fim da rua. Seu coracao acelerou. Nunca antes haviafeito aquilo. Mas agora havia uma urgencia, uma necessidade. Era preciso queele ouvisse o que tinha a dizer.Chegou ao predio e parou a porta. Os batimentos de seucoracao aumentavam a cada segundo. Fechou os olhos tentando se acalmar.Reorganizou os pensamentos e repassou mais uma vez a frase que ensaiou a semanainteira em frente ao espelho. Quando se sentiu confiante, tocou o
interfone:- Pronto.- Roberto?- Quem e?- Mariana...- Oi, Mari. Sobe ai!A portaria abriu e ela entrou. Resmungou mal humorada quandodescobriu que teria que subir ate o quinto andar de escada: o elevador estava quebrado.Subiu os dois primeiros andares e a respiracao acelerou. Ese ele nao respondesse as expectativas do que tinha a dizer? Nao tinha pensadonisso ainda. Seu coracao se encheu de duvidas. E se tudo desse errado? MeuDeus! O que ela faria? Agora ja era tarde demais para pensar nisso. Estava a apenastres andares dele. Era agora ou nunca. Venceu os degraus restantes.Quando chegou em frente ao apartamento dele, tocou acampainha.- Oi, Mari! Como voce esta? Deu um beijo no rosto dela eabriu espaco para que entrasse. Aceita uma agua?Ela fez que sim com a cabeca e sentou-se no sofa. Em poucotempo havia um copo de agua em sua mao, ainda intocado. Estava dispersa. Seusolhos vagavam entre os moveis, o copo e o rosto dele.Demorou varios minutos ate perceber que Roberto estavafalando. E muito. A boca nao parava de despejar um mar de palavras sem fim quecomecaram a desnortea-la. Quando nao aguentou mais, interrompeu-o com desculpade ir ao banheiro.Sozinha, lavou a nuca e o rosto na pia. Olhou-se no espelho.Era a propria visao do desespero. So de lembrar-se do que fora fazer alirevirava seu estomago. Tentou se acalmar o maximo que pode e voltou para asala.Roberto sorriu e Mariana sentiu-se derreter por dentro.Medo. Ansiedade. Vergonha. Eram tantos os sentimentos que a inundavam agora quenao saberia descreve-los. Por fim, reuniu toda a coragem que lhe restava.- Preciso te falar uma coisa.- Fique a vontade! Voce sabe que o que precisar e so falar.Pode se abrir comigo. Sou seu amigo. Estou aqui para o que der e vier.Ela se irritou.- Cala a merda da boca so por um segundo!- O que foi, Mari? Por que voce esta nervosa? Sou seu amigo!Pode confiar em mim.Deus, o sorriso dele era perfeito.- So escute o que eu tenho para falar.- Mas se voce tem alguma coisa para falar, diga logo! Nuncaimpedi ninguem de falar nada. - A irritacao dela crescia. Alem do mais, entreamigos nao deve haver segredos. Vamos, diga! O que e?Nervosa, coracao palpitando, boca seca. Fechou os olhos edisse em voz mais alta do que gostaria:- Vim cobrar os R$ 200 que voce esta me devendo.