plan9port
sam
plan9port | sam | |
---|---|---|
28 | 6 | |
1,559 | 425 | |
0.3% | - | |
5.0 | 0.0 | |
26 days ago | about 2 months ago | |
C | C | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
plan9port
-
Only9Fans
Acme is genuinely worth trying, you can run it on Linux/Mac without a VM [1]. I'm pretty sure Russ Cox [2] and Rob Pike use it as their daily driver which is insane because it doesn't even have syntax highlighting. I used it for years when I was in school as an exercise in masochism, but I learned a lot about Unix, and the mouse-driven workflow actually grew on me.
[1]: https://9fans.github.io/plan9port/
-
Show HN: Towards Oberon+ concurrency; request for comments
[2] https://9fans.github.io/plan9port/
-
A pure C89 implementation of Go channels, including blocking and non-blocking selects
If you find it too complicated and closely tied to Go internals, you can also check out Plan 9 from User Space's version, which is itself based on libthread from Plan 9 starting from 3rd edition, which is itself based on Alef's implementation of channels (Alef is Go's grandfather).
- A tutorial for the Sam command language (1986) [pdf]
- Makefile Tutorial
-
Mk: A Successor to Make [pdf]
I tried plan9port's mk for a moment out of curiosity. I quickly ran into an annoying usability problem: it compares file mtimes with second accuracy.
https://github.com/9fans/plan9port/blob/cc4571fec67407652b03...
With sub-second build times for individual targets, this causes mk to needlessly recompile files because the target may have the same mtime as the prerequisites.
- Plan 9 from User Space
sam
-
A tutorial for the Sam command language (1986) [pdf]
deadpixi's sam port[1] includes a "ssam" command, but it's just a shell-script that writes standard input to a temporary file, launches sam to run commands, then copies the temporary file to standard output - it's not really a "stream".
"Plan 9 from User Space" has its own ssam command, whose implementation is basically the same, except as an rc script instead of a shell script.
I don't know if there's an actually-streaming sam implementation anywhere.
[1]: https://github.com/deadpixi/sam
- Mtm: Perhaps the worlds smallest useful terminal multiplexer
-
Introduction to the Sam Text Editor
Sam for modern Linux and BSD can be obtained from two different sources. One is Plan 9 from User Space that ports Plan 9 programs to other Unix-like operating systems, and the other is Deadpixi Sam that has continued development of the 1990s Unix port of Sam. I installed and reviewed Deadpixi Sam. If you install a different version of Sam, some of the configuration details might differ, but most of the information here should apply to all versions of Sam.
-
Set standalone version of mouse to ps2intellimouse
If you’re using sam standalone, maybe try or reference: https://github.com/deadpixi/sam
- Deadpixi/sam – An updated version of the sam text editor
What are some alternatives?
plan9-1e - Mirror of Plan 9 1st Edition from p9f
mtm - Perhaps the smallest useful terminal multiplexer in the world.
Fontpkg-PxPlus_IBM_VGA8 - A monospace system font in the styles of regular, italic and underline.
tine - tine - a modern clone of the AmigaDOS/TRIPOS ED display editor
Shrine - A TempleOS distro for heretics
libtmt - A small, simple, useful terminal emulation library.
fsv - fsv is a file system visualizer in cyberspace. It lays out files and directories in three dimensions, geometrically representing the file system hierarchy to allow visual overview and analysis.
ergex - The Ergex Regular Expression Library
mk - make remade
kakoune - mawww's experiment for a better code editor
nushell - A new type of shell
mtm - Perhaps the smallest useful terminal multiplexer in the world.