{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,9]],"date-time":"2026-01-09T03:26:50Z","timestamp":1767929210599,"version":"3.49.0"},"reference-count":21,"publisher":"Wiley","issue":"11","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":6938,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1987,11]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Sam is an interactive multi\u2010file text editor intended for bitmap displays. A textual command language supplements the mouse\u2010driven, cut\u2010and\u2010paste interface to make complex or repetitive editing tasks easy to specify. The language is characterized by the composition of regular expressions to describe the structure of the text being modified. The treatment of files as a database, with changes logged as atomic transactions, guides the implementation and makes a general \u2018undo\u2019 mechanism straightforward.<\/jats:p><jats:p>Sam is implemented as two processes connected by a low\u2010bandwidth stream, one process handling the display and the other the editing algorithms. Therefore it can run with the display process in a bitmap terminal and the editor on a local host, with both processes on a bitmap\u2010equipped host, or with the display process in the terminal and the editor in a remote host. By suppressing the display process, it can even run without a bitmap terminal.<\/jats:p>","DOI":"10.1002\/spe.4380171105","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T02:05:25Z","timestamp":1163815525000},"page":"813-845","source":"Crossref","is-referenced-by-count":23,"title":["The text editor sam"],"prefix":"10.1002","volume":"17","author":[{"given":"Rob","family":"Pike","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1984.tb00056.x"},{"key":"e_1_2_1_3_2","volume-title":"MacWrite","author":"Johnson L.","year":"1983"},{"key":"e_1_2_1_4_2","first-page":"31","volume-title":"Alto User's Handbook","author":"Lampson B.","year":"1979"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.1984.234050"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/4284.4288"},{"key":"e_1_2_1_7_2","volume-title":"UNIX Programmer's Manual","author":"Bell Telephone Laboratories","year":"1983"},{"key":"e_1_2_1_8_2","volume-title":"The Unix Programming Environment","author":"Kernighan B. W.","year":"1984"},{"key":"e_1_2_1_9_2","volume-title":"Unix Time\u2010Sharing System Programmer's Manual, Research Version","year":"1986"},{"key":"e_1_2_1_10_2","volume-title":"Unix Time\u2010Sharing System Programmer's Manual, 4.1 Berkeley Software Distribution","year":"1981"},{"key":"e_1_2_1_11_2","unstructured":"R.Pike \u2018Structural Regular Expressions \u2019 Proc. EUUG Spring Conf. Helsinki 1987 Eur. Unix User's Group Buntingford Herts UK1987."},{"key":"e_1_2_1_12_2","volume-title":"Smalltalk\u201080 \u2013 The Interactive Programming Environment","author":"Goldberg A.","year":"1984"},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/363347.363387"},{"key":"e_1_2_1_14_2","volume-title":"The Design and Analysis of Computer Algorithms","author":"Aho A. V.","year":"1974"},{"key":"e_1_2_1_15_2","volume-title":"The C Programming Language","author":"Kernighan B. W.","year":"1978"},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380160508"},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/358826.358834"},{"key":"e_1_2_1_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/357318.357322"},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/357306.357308"},{"key":"e_1_2_1_20_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380150203"},{"key":"e_1_2_1_21_2","first-page":"62","volume-title":"Winter USENIX Conference Proceeding, Denver","author":"Cargill T. A.","year":"1986"},{"key":"e_1_2_1_22_2","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1985.tb00010.x"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380171105","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380171105","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,22]],"date-time":"2023-10-22T07:18:07Z","timestamp":1697959087000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380171105"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1987,11]]},"references-count":21,"journal-issue":{"issue":"11","published-print":{"date-parts":[[1987,11]]}},"alternative-id":["10.1002\/spe.4380171105"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380171105","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1987,11]]}}}