Fortunatly we could use pre-built gccemacs right now.
Those two repos did the greate job for us.
https://github.com/twlz0ne/nix-gccemacs-darwin
https://github.com/twlz0ne/nix-gccemacs-sierra
Here is the tutorial:
Fortunatly we could use pre-built gccemacs right now.
Those two repos did the greate job for us.
https://github.com/twlz0ne/nix-gccemacs-darwin
https://github.com/twlz0ne/nix-gccemacs-sierra
Here is the tutorial:
; THIS IS A Fennel SOURCE FILE (.fnl) !NOT! clojure! | |
; you need to use luajit to run this, after using fennel --compile | |
; install lapis and turbo from luarocks | |
(local turbo (require "turbo")) | |
(local render_html (. (assert (require "lapis.html")) :render_html)) | |
(fn render [parent expr] | |
(parent:add_header "Content-Type" "text/html") |
""" | |
Single Responsibility Principle | |
“…You had one job” — Loki to Skurge in Thor: Ragnarok | |
A class should have only one job. | |
If a class has more than one responsibility, it becomes coupled. | |
A change to one responsibility results to modification of the other responsibility. | |
""" | |
class Animal: | |
def __init__(self, name: str): |
Thanks to React hooks you have now happily turned all your classes into functional components.
Wait, all your components? Not quite. There is one thing that can still only be implemented using classes: Error boundaries.
There is just no functional equivalent for componentDidCatch
and deriveStateFromError
yet.
This is one way of managing your user profile declaratively.
Alternatives include:
nix-env
-based environment, installed using nix-env -ir
rather than nix-env --set
. LnL has an overlay which shows a way of doing this.$HOME
Note that this is incompatible with regular imperative use of nix-env
, e.g. nix-env -iA nixpkgs.hello
. It has the advantage of allowing the installation of multiple outputs of the same package much better than nix-env
's builtin profile builder does.
For a while, JSX
and new es6 syntax had flaky support in emacs, but there's been huge work on a lot of packages. Using emacs for JavaScript with React, ES6, and Flow (or Typescript, etc) is really easy and powerful in Emacs these days.
This is how you can work on modern web development projects with full support for tooling like JSX, Flow types, live eslint errors, automatic prettier.js formatting, and more.
web-mode
web-mode
provides most of the underlying functionality, so a huge shout-out to the maintainer(s) there.
create-react-native-app purescript-app; cd purescript-app
pulp init --force
pulp build
src/Main.js
var React = require("react");
var RN = require("react-native");
exports.text = function(props){
A collection of links to the excellent "Composing Software" series of medium stories by Eric Elliott.
Edit: I see that each post in the series now has index, previous and next links. However, they don't follow a linear flow through all the articles with some pointing back to previous posts effectively locking you in a loop.
(ns pubsub-with-callbacks | |
"Adapted from Timothy Baldridge's 2013 core.async examples: | |
* https://raw.githubusercontent.com/halgari/clojure-conj-2013-core.async-examples/master/src/clojure_conj_talk/core.clj" | |
(:require [clojure.core.async :as async])) | |
(def pub-channel (async/chan 1)) | |
(def publisher (async/pub pub-channel :tag)) | |
(def print-channel (async/chan 1)) | |
(defn run-print-channel |