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
-
…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) -
…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 -
…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 -
…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) -
…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 -
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 -
…shell parsers, like ShellCheck in Haskell and shfmt in Go. [1] https://bost.ocks.org/mike/make/ [2] https://github.com/oilshell/oil/wiki/ExternalResources
comment by chubot · 2018-12-29 · in Anatomy of a shell -
…author: https://github.com/magicant/yash I mentioned it here (and just added a proper link): https://github.com/oilshell/oil/wiki/ExternalResources I wrote some notes about POSIX here: http://www.oilshell.org/blog/2018/01/28.html#limit-to-p…
comment by chubot · 2018-12-28 · in Anatomy of a shell -
…recursive-descent parser I recently wrote in Python (that recognizes certain C data definitions). https://github.com/oilshell/oil/blob/master/build/cpython_de... I think your structure is bit odd because Nodes are "smart". That is, the…
comment by chubot · 2018-11-07 · in Owl: Parser generator for visibly pushdown languages -
…new completion system AND THEN write 3000+ lines of git completion in that hypothetical system. https://github.com/oilshell/oil/issues/175 FWIW git is also the biggest completion script in the zsh source tree by a factor of 2 -- ~7000…
comment by chubot · 2018-09-24 · in Creating a bash completion script -
…now as well: https://github.com/PowerShell/PowerShell Then of course, there is oil shell: https://github.com/oilshell/oil which is more like a subset of bash (and somewhat close to the idea of stripping away all the legacy stuff) Then…
comment by no_wizard · 2018-05-15 · in Shell Style Guide -
…unify the two languages. Like you can use STL with constexpr at compile time. Link on this page: https://github.com/oilshell/oil/wiki/Metaprogramming I think your suggestion is exactly what I've been thinking, so if you want to talk more…
comment by chubot · 2018-03-06 · in Building Oil with the OPy Bytecode Compiler -
…-c "..." ! I'm going to write a blog post about this. I also do this with find -exec $0 myfunc ';' https://github.com/oilshell/oil/blob/master/test/spec-runner... However I think Oil will have something built-in to make this parallel…
comment by chubot · 2018-02-01 · in Why Create a New Unix Shell? -
FWIW I have your project on my wiki page :) https://github.com/oilshell/oil/wiki/ExternalResources I guess what you mean by embedded is that it should be an embedded DSL in a full-fledged programming language? I don't quite agree, since…
comment by chubot · 2018-02-01 · in Why Create a New Unix Shell? -
…Vi or Emacs -- it can write to a terminal, or have its own UI. I have been keeping a wiki page: https://github.com/oilshell/oil/wiki/Interactive-Shell Although honestly I won't get to any of this in the near future.
comment by chubot · 2018-01-31 · in Why Create a New Unix Shell? -
I made a comprehensive list of shells here: https://github.com/oilshell/oil/wiki/ExternalResources Of course I think my own project, Oil, could be a "21st century shell", or I wouldn't be working on it :) It's designed in a principled way,…
comment by chubot · 2017-12-13 · in Fish: A user-friendly command line shell for macOS, Linux, etc -
…I'm designing a shell which will feature data frames (eventually, probably not for a year or more): https://github.com/oilshell/oil/wiki/Oil-and-the-R-Language SQL is a very limited language, with essentially no capabilities for…
comment by chubot · 2017-10-31 · in Do we need a third Apache project for columnar data representation? -
…where it's not necessary.) For example, all the instructions here are of the form 'foo.sh ACTION': https://github.com/oilshell/oil/wiki/Contributing Pretty much every shell script in the repo uses "the argv dispatch pattern"... I've been…
comment by chubot · 2017-08-18 · in Afraid of Makefiles? Don't be -
…“zero-latency typing” in IntelliJ IDEA. [1] https://news.ycombinator.com/item?id=14798211 [2] https://github.com/oilshell/oil/wiki/Interactive-Shell
comment by chubot · 2017-07-26 · in Typing with Pleasure -
…build a Python program into a single file (stripped-down Python interpreter + embedded bytecode): https://github.com/oilshell/oil/blob/master/Makefile Although generally I prefer shell to Make. I just use Make for the graph, while shell…
comment by chubot · 2017-07-24 · in Ask HN: In what creative ways are you using Makefiles? -
…instance of runtime parsing of arithmetic expressions inside strings, AFTER variable substitution: https://github.com/oilshell/oil/issues/3 (all shells I tested implement this, not just bash) Also there is one issue that would require…
comment by chubot · 2017-06-14 · in Writing a Unix Shell – Part II