Basic unit type:
λ> replTy "()"
() :: ()
Basic functions:
# 2013-03-17 刚才不小心更新了一下 curl | |
sudo pacman -S curl | |
# 结果 curl 跪了,所有的 pacman 命令也是 | |
curl: /usr/lib/libc.so.6: version `GLIBC_2.17' not found (required by curl) | |
curl: /usr/lib/libc.so.6: version `GLIBC_2.17' not found (required by /usr/lib/libcurl.so.4) | |
# 于是很悲剧地连回滚 curl 都不行,幸好找到了不通过 pacman 命令回滚软件的方式 | |
# https://bbs.archlinux.org/viewtopic.php?pid=1148260#p1148260 | |
zcat /var/cache/pacman/pkg/curl-7.26.0-1-<arch>.pkg.tar.xz | tar xv -C / |
require("list") | |
local a = { 3 } | |
local b = { 4 } | |
local l = list({ 2 }, a, b, { 5 }) | |
l:pop() | |
l:shift() | |
l:push({ 6 }) | |
l:unshift({ 7 }) |
### emerge package management (need root access) ### | |
### "emerge" is a tool manipulating Gentoo's package management tool "Portage" ### | |
# update portage tree | |
emerge --sync | |
# search package | |
emerge --search pdf | |
emerge --searchdesc pdf |
# Reference: http://www.gentoo.org/doc/zh_cn/gentoo-x86-quickinstall.xml | |
########################################################################## | |
##### part 1: boot with gentoo minimal ##### | |
# boot | |
gentoo | |
# config network | |
net-setup eth0 | |
ifconfig |
# -*- coding: utf-8 -*- | |
import os,time | |
import threading | |
rlock = threading.RLock() | |
curPosition = 0 | |
class Reader(threading.Thread): | |
def __init__(self, res): | |
self.res = res |
#!/usr/bin/env python3 | |
import sys | |
import socket | |
import select | |
def command(name, args=None): | |
return {'name': name, 'args': args} | |
def readcmd(): |
local$ socat TCP-LISTEN:2222,bind=127.0.0.1,reuseaddr,fork TCP-LISTEN:2223,reuseaddr | |
local$ ssh -p 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no localhost | |
remote$ socat TCP:10.0.2.2:2223 TCP:127.0.0.1:22 |
Basic unit type:
λ> replTy "()"
() :: ()
Basic functions:
Availability and quality of developer tools are an important factor in the success of a programming language. C/C++ has remained dominant in the systems space in part because of the huge number of tools tailored to these lanaguages. Succesful modern languages have had excellent tool support (Java in particular, Scala, Javascript, etc.). Finally, LLVM has been successful in part because it is much easier to extend than GCC. So far, Rust has done pretty well with developer tools, we have a compiler which produces good quality code in reasonable time, good support for debug symbols which lets us leverage C++/lanaguge agnostic tools such as debuggers, profilers, etc., there are also syntax highlighting, cross-reference, code completion, and documentation tools.
In this document I want to layout what Rust tools exist and where to find them, highlight opportunities for tool developement in the short and long term, and start a discussion about where to focus our time an
rsync (Everyone seems to like -z, but it is much slower for me)