| ▲ | Linux Applications Programming by Example: The Fundamental APIs (2nd Edition)(github.com) |
| 70 points by teleforce 8 hours ago | 8 comments |
| |
|
| ▲ | discarded1023 6 hours ago | parent | next [-] |
| For those looking for a broader/more portable introduction, Xavier Leroy and Didier Rémy wrote a great high-level text on UNIX system programming a long time ago [1]. Of course it uses ocaml (perhaps motivating some to learn that language) but the style is low-level and straightforwardly imperative. The advantage is that it sweeps up a lot of the messy and boring error handling into the ocaml runtime and/or exceptions. This makes the code a lot easier to follow, but of course makes it look misleadingly simpler than it would be in C (etc). [1] https://ocaml.github.io/ocamlunix/ |
| |
| ▲ | jacobgeorge08 6 hours ago | parent | next [-] | | Thanks! I just started the OCaml Programming Book this week to learn and language and get better at functional programming.
Cant wait to jump into this after | |
| ▲ | up2isomorphism 4 hours ago | parent | prev [-] | | Why would someone want to learn Unix Programming using OCAML? Not a smart choice. Also this does not look easier to read than a shell script either. let rec copy_rec source dest =
let infos = lstat source in
match infos.st_kind with
| S_REG ->
file_copy source dest;
set_infos dest infos
| S_LNK ->
let link = readlink source in
symlink link dest
| S_DIR ->
mkdir dest 0o200;
Misc.iter_dir
(fun file ->
if file <> Filename.current_dir_name
&& file <> Filename.parent_dir_name
then
copy_rec
(Filename.concat source file)
(Filename.concat dest file))
source;
set_infos dest infos
| _ ->
prerr_endline ("Can't cope with special file " ^ source) |
|
|
| ▲ | NewsaHackO 7 hours ago | parent | prev [-] |
| Is there an actual book available? |
| |