oils-for-unix/oils
View on GitHub ↗ ★ 3,398 Python
Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
225 mentions on Hacker News by 35 people: 15 stories, 210 comments · first 2016-11-26 · latest 2025-11-06
20082026
-
…the biggest shell program in the world: http://www.oilshell.org/cross-ref.html?tag=ble.sh#ble.sh https://github.com/oilshell/oil/wiki/The-Biggest-Shell-Progr... ---- I did add little hack in the lexer for autocompletion of partial input.…
comment by chubot · 2020-07-29 · in The Regular Expression Visualizer, Simulator and Cross-Compiler Tool -
…and all its sublanguages without any nongreedy repetitions. It's dozens if not hundreds of regexes. https://github.com/oilshell/oil/blob/master/frontend/lexer_d... Though, regular languages are more like a building block for the lexer than…
comment by chubot · 2020-07-29 · in The Regular Expression Visualizer, Simulator and Cross-Compiler Tool -
Oh interesting, I have been thinking about related things for Oil: Shell as an engine for TUI or GUI https://github.com/oilshell/oil/issues/738 That came out of a discussion with someone doing a really ambitious overhaul of terminals and…
comment by chubot · 2020-06-15 · in Zsh and Fish’s simple but clever trick for highlighting missing linefeeds -
…provide an even simpler method that's built in (and it also has readlink builtin to support this) https://github.com/oilshell/oil/issues/587
comment by chubot · 2020-05-22 · in Good coders borrow, great coders steal -
That's the point of Oil: https://github.com/oilshell/oil A new Unix shell. Our upgrade path from bash to a better language. It runs thousands of lines of existing shell scripts unmodified, but there's also a brand new language that will be…
comment by chubot · 2020-05-21 · in Kiss Linux – A distribution with a focus on less is more -
I started down this path last year: https://github.com/oilshell/oil/wiki/Shellac-Protocol-Propos... but cut it out of the Oil project (for the forseeable future). Right now Oil takes the approach of running existing bash completion…
comment by chubot · 2020-05-21 · in OpenAutoComplete: Shell-agnostic, cross-platform autocomplete specification -
…also suffers from the problem where it doesn't list the commands. I filed a bug for Oil shell here: https://github.com/oilshell/oil/issues/751 I mentioned a couple other "frameworks" there like just, go, Taskfile, etc. But it should really…
comment by chubot · 2020-05-15 · in Polyglot Makefiles -
…That's unfortunately an open problem. As I mentioned here, lexing is "solved" but parsing isn't: https://github.com/oilshell/oil/wiki/Why-Lexing-and-Parsing-... Here are what some recent languages do: Go: Maintain a written spec [1], with…
comment by chubot · 2020-05-03 · in The naked truth about writing a programming language (2014) -
…be parsed efficiently with particular algorithms. And some people reject CFG in favor of PEG, etc. https://github.com/oilshell/oil/wiki/Parsing-Models-Cheatshe... ---- That is, the recursive grammar issue is not "settled". Whereas regular…
comment by chubot · 2020-04-23 · in Incremental Regular Expressions (2012) -
…of Oil, so you can implement as a library in another language. I'm interested in help too: https://github.com/oilshell/oil/issues?q=eggex+label%3Aeggex One easy contribution is to to translate it back to PCRE syntax, because that's a very…
comment by chubot · 2020-04-22 · in Incremental Regular Expressions (2012) -
…all in bash. https://github.com/akinomyoga/ble.sh Some details from the author on this wiki page: https://github.com/oilshell/oil/wiki/How-Interactive-Shells-... Other big shell programs: https://github.com/oilshell/oil/wiki/The-Biggest-She…
comment by chubot · 2020-04-21 · in Show HN: Desed – Debugger for Sed -
…page with shell: http://www.oilshell.org/releases.html And it's separated into 3-4 functions here: https://github.com/oilshell/oil/blob/master/devtools/release... ---- Shell falls down when you have to generate complex logic as with tables…
comment by chubot · 2020-04-03 · in Notes on the M4 Macro Language (2008) -
▲ 4
How Interactive Shells Workstory by pcr910303 · 2020-03-27 · 0 comments
-
…really make sense IMO, but there are a bunch of links here about having a shell-agnostic system: https://github.com/oilshell/oil/wiki/Shell-Autocompletion https://github.com/oilshell/oil/wiki/Projects-Already-Doing-...…
comment by chubot · 2020-03-06 · in Hacking up your own shell completion -
…remember all the option names. But I just fixed that and it will be out with the next Oil release. https://github.com/oilshell/oil/commit/ddac119254f9a7045dca7... If anyone wants to add more strictness options to Oil to avoid these types…
comment by chubot · 2020-02-09 · in A common mistake involving wildcards and the find command -
▲ 3
Compact AST Representationstory by tosh · 2020-02-05 · 0 comments
-
…are some (disorganized) links, including the one by Chris Lattner mentioned in a sibling comment: https://github.com/oilshell/oil/wiki/Compact-AST-Representat...
comment by chubot · 2020-02-03 · in Pointer Compression in V8 -
…but even that's not enough. Oil has shopt -s strict_errexit and more_errexit that fixes even more. https://github.com/oilshell/oil/issues/476 I'm still looking for feedback and there's probably one more thing I want to change. Although the…
comment by chubot · 2020-02-01 · in Writing Safe Shell Scripts (2019) -
…of many/most parsers is dominated by object allocation. Some vaguely related stuff here: https://github.com/oilshell/oil/wiki/Compact-AST-Representat... Anyway I don't think this will make it into Oil any time in the next year, but I think…
comment by chubot · 2020-01-27 · in Grammars for Programming Languages (2018) -
…or you can even distribute them to other machines. I currently run benchmarks on two machines. https://github.com/oilshell/oil/blob/master/benchmarks/osh-p... https://www.oilshell.org/release/0.7.0/benchmarks.wwz/osh-pa... Also, I wrote…
comment by chubot · 2020-01-27 · in Ambitions for a Unix Shell -
…stuff only tangentially related to the project that the author has collected as well (one example: https://github.com/oilshell/oil/wiki/ExternalResources ). this is clearly such a well-organized, thoughtful endeavor that i have absolute…
comment by keeganpoppen · 2020-01-26 · in Ambitions for a Unix Shell -
…# not implemented but is consistent But I'm probably going to implement this safety feature https://github.com/oilshell/oil/issues/552 to solve the well known issue where files that look like flags can confuse code and data. e.g. 'rm *'…
comment by chubot · 2020-01-26 · in Ambitions for a Unix Shell -
▲ 1
Shell Agnostic Completions: The Shellac Protocolstory by pcr910303 · 2020-01-23 · 0 comments
-
…posts. I learned a lot particularly from these: 1. http://www.oilshell.org/blog/2016/11/06.html 2. https://github.com/oilshell/oil/wiki/Shell-WTFs
comment by zomglings · 2019-12-01 · in Shell Has a Forth-Like Quality (2017) -
…is to replace bash! If you know shell and Python (or C++), I maintain a "help wanted" bug label: https://github.com/oilshell/oil/issues?q=is%3Aissue+is%3Aope... It's almost there, except for speed, but it needs more testing from users. The…
comment by chubot · 2019-12-01 · in Shell Has a Forth-Like Quality (2017) -
If you have some realistic shell benchmarks, please file a bug and link the files: https://github.com/oilshell/oil Oil isn't fast at the moment, but I'm currently optimizing it (auto-translating some code to C++, and eventually…
comment by chubot · 2019-12-01 · in Shell Has a Forth-Like Quality (2017) -
▲ 2
Eggex(Oil shell): New syntax for regexes meant to be transpiledstory by pcr910303 · 2019-11-27 · 1 comment
-
…so I don't mess up the next time. Over time that has grown into over 1000 lines of shell, e.g. https://github.com/oilshell/oil/blob/master/devtools/release... And this is why I'm writing a shell -- because it's good for automating things…
comment by chubot · 2019-10-14 · in How to fuck up software releases -
…with R, but running the benchmarks is done with shell, and creating the HTML is done with Python: https://github.com/oilshell/oil/blob/master/benchmarks/repor... (and yes this page is meant to be motivation to speed up my principled but…
comment by chubot · 2019-10-07 · in R is a joy if you treat it like Awk -
▲ 2
Egg Expressions (Oil Regexes)story by chubot · 2019-09-23 · 1 comment
-
This looks cool! I linked it on my wiki page of alternative shells: https://github.com/oilshell/oil/wiki/ExternalResources (which is cited on the first page of the thesis!) I hope that Oil can a lot of these things in a backward compatible…
comment by chubot · 2019-09-01 · in Magritte: A Language for Pipe-Based Programming [pdf] -
…used? Are you part of its development? FWIW I have my own TSV enhancement that is more modest: https://github.com/oilshell/oil/wiki/TSV2-Proposal I hope to find time to prototype it in https://www.oilshell.org/ first. Although it's very…
comment by chubot · 2019-09-01 · in TSV Utilities: Command line tools for large, tabular data files -
…users can use efficiently compiled regexes. And I filed this issue to try derivatives awhile ago: https://github.com/oilshell/oil/issues/197 There is a possible performance win, but I'm not sure if it makes sense. If you see anything…
comment by chubot · 2019-08-26 · in Interviews with programming language creators (2010) [pdf] -
…isn't ideal, but I have some plans to fix that: http://www.oilshell.org/blog/tags.html?tag=awk#awk https://github.com/oilshell/oil/wiki/Structured-Data-in-Oil
comment by chubot · 2019-08-25 · in Introducing nushell -
…lshell.org/release/0.7.pre3/doc/osh-manual.htm... Well actually there's one more thing I want to fix: https://github.com/oilshell/oil/issues/179 That will fix your case, because foo is a function, and the disabling of errexit in || is…
comment by chubot · 2019-08-25 · in Introducing nushell -
…are shell-ish DSLs for most Lisps here, which includes Racket, Clojure, Common Lisp, Scheme, etc. https://github.com/oilshell/oil/wiki/ExternalResources
comment by chubot · 2019-08-24 · in The Scheme Shell (2006) -
…wrappers for all POSIX utils that support GNU-style options. I just filed this as an issue for Oil: https://github.com/oilshell/oil/issues/464 Note that I also plan to provide long options for all shell builtins, mentioned here:…
comment by chubot · 2019-08-17 · in Maybe We Should Stop Creating Inscrutable CLIs -
…--help. Or any tool written in Go, or node.js, etc. I always support long options myself, e.g.: https://github.com/oilshell/oil/blob/master/test/sh_spec.py#... The only case where you don't have long options if you're trying to limit…
comment by chubot · 2019-08-17 · in Maybe We Should Stop Creating Inscrutable CLIs -
…a list of similar ideas done in essentially every language, including every popular Lisp variant: https://github.com/oilshell/oil/wiki/ExternalResources#inter...
comment by chubot · 2019-07-11 · in Powerlisp: Common Lisp tool for automating tasks for Unix power-users -
…gone down a similar rabbit hole, and written a bunch of code too in that direction. Resources here: https://github.com/oilshell/oil/wiki/Compact-AST-Representat... I wouldn't be surprised that somebody else thought of the same idea -- that…
comment by chubot · 2019-06-24 · in LoCal: A Language for Programs Operating on Serialized Data -
…own parser. OSH uses the same parser for both the interpreter and the completion engine. https://github.com/oilshell/oil/issues/208#issuecomment-4496...
comment by yorwba · 2019-06-14 · in What's Happened Since February? -
…and parsing of strings, but also being able to use plain tools like "grep", and probably SQL. https://github.com/oilshell/oil/wiki/Structured-Data-in-Oil Note that R has some popular packages that allow SQL syntax over data frames. So…
comment by chubot · 2019-05-31 · in Better Bash History (2012) -
…bash-compatible shell [1]) doesn't support PROMPT_COMMAND, which tons of people appear to be using. https://github.com/oilshell/oil/issues/320 It seems like a weird hack but apparently it works for tons of things! [1] Latest status:…
comment by chubot · 2019-05-31 · in Better Bash History (2012) -
…the PROMPT_COMMAND hook for stuff like this -- are you using something else, or did I miss it? https://github.com/oilshell/oil/issues/320 I will add PROMPT_COMMAND to Oil, but I'm curious if there is something else I should add to support…
comment by chubot · 2019-05-31 · in Better Bash History (2012) -
…instead of writing bash completions in Rust, you could write zsh/fish/bash/Oil completions in Rust. https://github.com/oilshell/oil/wiki/Shellac-Protocol-Propos... A lot of people are already "scraping" bash completions this way, i.e. to…
comment by chubot · 2019-05-19 · in Shell Completions in Rust -
There are some difference listed here: https://github.com/oilshell/oil/blob/master/doc/osh-manual.m... Those are the ones that I thought people might hit. There are surely some other differences, which may or may not matter in practice.…
comment by chubot · 2019-04-25 · in Es: A shell with higher-order functions (1993) -
…completion scripts (with slight patches) (3) scripts generated by virtualenv, git-prompt.sh, etc. https://github.com/oilshell/oil/wiki/How-To-Test-OSH Testing it out is straightforward but maybe not super friendly. That's what I would like…
comment by chubot · 2019-04-25 · in Es: A shell with higher-order functions (1993) -
…setting and getting variables. In C# they have something called "Red-Green Trees" that are similar: https://github.com/oilshell/oil/wiki/Lossless-Syntax-Tree-Pa... In summary, your debugger is not going to show you which nodes are red and…
comment by chubot · 2019-03-22 · in I Don't Like Debuggers (2000) -
…I separated my Oil shell parser into a standalone stdin/stdout filter, which is ready to be fuzzed: https://github.com/oilshell/oil/blob/master/bin/osh_parse.py https://github.com/oilshell/oil/issues/171 I'm already testing it by running…
comment by chubot · 2019-02-27 · in Launch HN: Fuzzbuzz (YC W19) – Fuzzing as a Service -
…and shell. There was some discussion here, even related to bats, but I'm not sure where it went: https://github.com/oilshell/oil/issues/200 [1] The other being how hard it is to write an autocompletion script!
comment by chubot · 2019-02-21 · in Testing Bash with BATS