If you are a fan of strict data-typing, then use Haskell. If you are a fan of the Actor model, use Erlang. If you’d like to work in a flexible, dynamic language where Immutable is the default, use Clojure.”
https://blog.scottnonnenberg.com/getting-started-with-elixir/
lang
- Haskell, Erlang and Clojure 2017.04.07
- How to read Printable Characters in ASCII in Unicode 2017.01.20
- coroutine 2015.05.20
- orthogonality, a.k.a., separation of concerns 2015.05.13
Haskell, Erlang and Clojure
How to read Printable Characters in ASCII in Unicode
Keyboard의 표시된 기호들을 Unicode에서는 어떻게 읽는가?
ASCII table에 printable characters(Space ~ Tilt)를 가지고 변환해 보았다.
기호들중에 우리가 보통 칭하는 이름과는 다른 것들이 있었다.
예를 들면 ^(Caret) 와 같이 내가 알고 있는 것과 다른것도 있었고, `(Grave Accent)처럼 어떻게 읽는지 신경쓰지 않고 있었던 것도 있었다.
# / 47 0x2f SOLIDUS
# ^ 94 0x5e CIRCUMFLEX ACCENT
# | 124 0x7c VERTICAL LINE
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# how to read Printable characters in ASCII
import unicodedata
# printable charaters in ASCII
# 32~126
SPACE = ord(' ')
TILT = ord('~')
for c in range(TILT - SPACE + 1):
s = chr(SPACE + c)
u = unicode(s)
text = unicodedata.name(u)
print u.encode('utf8'), SPACE + c, hex(SPACE + c), text
# 32 0x20 SPACE
# ! 33 0x21 EXCLAMATION MARK
# " 34 0x22 QUOTATION MARK
# # 35 0x23 NUMBER SIGN
# $ 36 0x24 DOLLAR SIGN
# % 37 0x25 PERCENT SIGN
# & 38 0x26 AMPERSAND
# ' 39 0x27 APOSTROPHE
# ( 40 0x28 LEFT PARENTHESIS
# ) 41 0x29 RIGHT PARENTHESIS
# * 42 0x2a ASTERISK
# + 43 0x2b PLUS SIGN
# , 44 0x2c COMMA
# - 45 0x2d HYPHEN-MINUS
# . 46 0x2e FULL STOP
# / 47 0x2f SOLIDUS
# 0 48 0x30 DIGIT ZERO
# 1 49 0x31 DIGIT ONE
# 2 50 0x32 DIGIT TWO
# 3 51 0x33 DIGIT THREE
# 4 52 0x34 DIGIT FOUR
# 5 53 0x35 DIGIT FIVE
# 6 54 0x36 DIGIT SIX
# 7 55 0x37 DIGIT SEVEN
# 8 56 0x38 DIGIT EIGHT
# 9 57 0x39 DIGIT NINE
# : 58 0x3a COLON
# ; 59 0x3b SEMICOLON
# < 60 0x3c LESS-THAN SIGN
# = 61 0x3d EQUALS SIGN
# > 62 0x3e GREATER-THAN SIGN
# ? 63 0x3f QUESTION MARK
# @ 64 0x40 COMMERCIAL AT
# A 65 0x41 LATIN CAPITAL LETTER A
# B 66 0x42 LATIN CAPITAL LETTER B
# C 67 0x43 LATIN CAPITAL LETTER C
# D 68 0x44 LATIN CAPITAL LETTER D
# E 69 0x45 LATIN CAPITAL LETTER E
# F 70 0x46 LATIN CAPITAL LETTER F
# G 71 0x47 LATIN CAPITAL LETTER G
# H 72 0x48 LATIN CAPITAL LETTER H
# I 73 0x49 LATIN CAPITAL LETTER I
# J 74 0x4a LATIN CAPITAL LETTER J
# K 75 0x4b LATIN CAPITAL LETTER K
# L 76 0x4c LATIN CAPITAL LETTER L
# M 77 0x4d LATIN CAPITAL LETTER M
# N 78 0x4e LATIN CAPITAL LETTER N
# O 79 0x4f LATIN CAPITAL LETTER O
# P 80 0x50 LATIN CAPITAL LETTER P
# Q 81 0x51 LATIN CAPITAL LETTER Q
# R 82 0x52 LATIN CAPITAL LETTER R
# S 83 0x53 LATIN CAPITAL LETTER S
# T 84 0x54 LATIN CAPITAL LETTER T
# U 85 0x55 LATIN CAPITAL LETTER U
# V 86 0x56 LATIN CAPITAL LETTER V
# W 87 0x57 LATIN CAPITAL LETTER W
# X 88 0x58 LATIN CAPITAL LETTER X
# Y 89 0x59 LATIN CAPITAL LETTER Y
# Z 90 0x5a LATIN CAPITAL LETTER Z
# [ 91 0x5b LEFT SQUARE BRACKET
# \ 92 0x5c REVERSE SOLIDUS
# ] 93 0x5d RIGHT SQUARE BRACKET
# ^ 94 0x5e CIRCUMFLEX ACCENT
# _ 95 0x5f LOW LINE
# ` 96 0x60 GRAVE ACCENT
# a 97 0x61 LATIN SMALL LETTER A
# b 98 0x62 LATIN SMALL LETTER B
# c 99 0x63 LATIN SMALL LETTER C
# d 100 0x64 LATIN SMALL LETTER D
# e 101 0x65 LATIN SMALL LETTER E
# f 102 0x66 LATIN SMALL LETTER F
# g 103 0x67 LATIN SMALL LETTER G
# h 104 0x68 LATIN SMALL LETTER H
# i 105 0x69 LATIN SMALL LETTER I
# j 106 0x6a LATIN SMALL LETTER J
# k 107 0x6b LATIN SMALL LETTER K
# l 108 0x6c LATIN SMALL LETTER L
# m 109 0x6d LATIN SMALL LETTER M
# n 110 0x6e LATIN SMALL LETTER N
# o 111 0x6f LATIN SMALL LETTER O
# p 112 0x70 LATIN SMALL LETTER P
# q 113 0x71 LATIN SMALL LETTER Q
# r 114 0x72 LATIN SMALL LETTER R
# s 115 0x73 LATIN SMALL LETTER S
# t 116 0x74 LATIN SMALL LETTER T
# u 117 0x75 LATIN SMALL LETTER U
# v 118 0x76 LATIN SMALL LETTER V
# w 119 0x77 LATIN SMALL LETTER W
# x 120 0x78 LATIN SMALL LETTER X
# y 121 0x79 LATIN SMALL LETTER Y
# z 122 0x7a LATIN SMALL LETTER Z
# { 123 0x7b LEFT CURLY BRACKET
# | 124 0x7c VERTICAL LINE
# } 125 0x7d RIGHT CURLY BRACKET
# ~ 126 0x7e TILDE
EOF
coroutine
A coroutine is a kind of function that can suspend and resume its execution at various pre-defined locations in its code. Subroutines are a special case of coroutines that have just a single entry point and complete their execution by returning to their caller
http://lwn.net/Articles/643786/
orthogonality, a.k.a., separation of concerns
orthogonality, a.k.a., separation of concerns
- Bartosz Milewski
http://bartoszmilewski.com/2014/02/26/c17-i-see-a-monad-in-your-future/