Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
Oil Shell
A new Unix shell. It's our upgrade path from bash to a better language and runtime. It's for Python and JavaScript users who avoid shell!
Collective -
Host: opensource -
https://opencollective.com/oilshell
- Website: https://oilshell.org
- Code: https://github.com/oilshell
github.com/oils-for-unix/oils - dff83e68ff14af108efc429739261d99e3c57ec1 authored 7 months ago by Andy C <[email protected]>
and make note of performance issue. I think optimizing Hay Attr node
detection will make this m...
without span ID.
Remove usage of the 'span_id -1' pattern.
github.com/oils-for-unix/oils - a2fabf011bfdb260cb8109f3a52af186ad070a26 authored 7 months ago by Andy C <[email protected]>Thinking about how to further optimize the parser.
github.com/oils-for-unix/oils - 6aa35e99153d4f6a970c9b10718e7edc1060ddea authored 7 months ago by Andy C <[email protected]>
- Improve abbreviation
- Note that BracedVarSub is 56 bytes
github.com/oils-for-unix/oils - e5ef2365c7a3dd6f79e109f381353bb6f379ee13 authored 7 months ago by Andy C <[email protected]>
It's a singleton class, not SimpleVarSub %Token, because
- word_part_t has word_part.Literal %T...
github.com/oils-for-unix/oils - 947d971b6a331128ca34cad1fcdfa0d48ebd2832 authored 7 months ago by Andy C <[email protected]>
Might as well use the same mechanism for OSH here docs and YSH
multi-line strings.
The lossless...
github.com/oils-for-unix/oils - 97d95c61341b5c7628440866efc2ffc395c6553a authored 7 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 4b7e3c9dac692956117c8cee7652e882ec83f25d authored 7 months ago by Andy C <[email protected]>
We introduce Id.Lit_CharsWithoutPrefix, and add a special case in --tool
lossless-cat.
TODO: re...
github.com/oils-for-unix/oils - 6c1ab926d13b8dafda817c7b9b38855635f977ba authored 7 months ago by Andy C <[email protected]>So now we have some EAGER (Token, str) pairs like SimpleVarSub.
And some that use lexer.LazyStr...
github.com/oils-for-unix/oils - 70b09e3de0776a48d4d34568391d65319e662095 authored 7 months ago by Andy C <[email protected]>Use lexer.LazyStr() for the variable, in arith evaluation.
github.com/oils-for-unix/oils - e0409fe32dc10d1251720f4828b46b0e05cadab6 authored 7 months ago by Andy C <[email protected]>For y_lhs
Fix build by removing TokenWithStr
github.com/oils-for-unix/oils - 6a7a91d68577c84bb0f733c966f4fac9d80f7109 authored 7 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 49f02ff2b2bac1a1d25f4738361096639a40cda0 authored 7 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - f0e6769ad7d090e15ff53c157956b56631c16151 authored 7 months ago by Andy C <[email protected]>
[frontend refactor] Simplify re_repeat schema
Remove TokenWithStr. We can just use Token and t...
github.com/oils-for-unix/oils - b4b602a8cf41aa0c691b8761ff057f5bf8dbb5eb authored 7 months ago by Andy C <[email protected]>
- Introduce lexer.LazyStr(tok)
- Remove direct usages of Token.tval
TODO:
- Some NameTok / Tok...
github.com/oils-for-unix/oils - 04b7a46a37eb52059caf85b497de2f210cd3f876 authored 7 months ago by Andy C <[email protected]>Just check tok.col == 0.
Remove Id.Ignored_LeadingSpace. We have a more elegant mechanism now....
github.com/oils-for-unix/oils - 6a6b2488ee826c2acdb6364b347e2cac690074f9 authored 7 months ago by Andy C <[email protected]>
This will make whitespace stripping and the lossles variant more
uniform.
github.com/oils-for-unix/oils - 945897850b30e0cbbd522baa46f2a17b1ce5afa8 authored 7 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - dfdc626c4c6155009ff07ec89aa89247a14cf8c5 authored 7 months ago by Andy C <[email protected]>
We just have to test if tok.col == 0. Duh.
Improve function names.
github.com/oils-for-unix/oils - 67fe30cbfe76861b633f34fee6d6c7d59a3c8929 authored 7 months ago by Andy C <[email protected]>Algorithm for stripping leading space doesn't depend on Token.tval
github.com/oils-for-unix/oils - 40a14b6c122d66fe224ce1ee308d29f83bcde3a2 authored 7 months ago by Andy Chu <[email protected]>Change signature of whitespace stripping algorithm.
github.com/oils-for-unix/oils - b92af3a28158903085c387b8ce400fae5a4b0d4d authored 7 months ago by Andy Chu <[email protected]>github.com/oils-for-unix/oils - 475ca77d97b0464c6dc8afc550795598b6157a24 authored 7 months ago by Andy Chu <[email protected]>
Instead of List[Token], just store the string.
This means we don't use Token.tval at runtime.
...
github.com/oils-for-unix/oils - 532e10c6262bac680b8cfd59b4f0c970427f463b authored 7 months ago by Andy Chu <[email protected]>github.com/oils-for-unix/oils - a98051d8122bd3ada541cb8907f9389e6c949c27 authored 7 months ago by Andy Chu <[email protected]>
This method is useful for avoiding intermediate slices.
github.com/oils-for-unix/oils - 67afc0ea2376858d5750ef8b211f88bbf8c67522 authored 7 months ago by Andy Chu <[email protected]>Remove lexer.DummyToken()
github.com/oils-for-unix/oils - 981d387a2862a3973f1aecfe5c0e748ae1c7aa69 authored 7 months ago by Andy Chu <[email protected]>Optimize schema of re_repeat_t.
github.com/oils-for-unix/oils - 5e997cf77d50daaef96cc820112fd2f7346bba2a authored 7 months ago by Andy Chu <[email protected]>They are constants, so it belongs at parse time.
I think the old style was left over from when ...
github.com/oils-for-unix/oils - 6ef228aa8ea3f53f283a8e32b6c20bec8a03f916 authored 7 months ago by Andy Chu <[email protected]>Clean up re_t schema.
github.com/oils-for-unix/oils - 1af4de1faaff18207ac6ecc2528f0d29072bc754 authored 7 months ago by Andy Chu <[email protected]>Add blame token to re.Primitive
github.com/oils-for-unix/oils - 1f2281d7267fbc17e7a5c2aa6ece4371e6160062 authored 7 months ago by Andy Chu <[email protected]>github.com/oils-for-unix/oils - 2caade4cf4f74653862606d980519ee153f4c492 authored 7 months ago by Andy C <[email protected]>
Observation: we have 300+ extra processes that don't call execve()!
They're almost certainly her...
github.com/oils-for-unix/oils - 33c5aec67618ab438b9b10152636272822a4d546 authored 7 months ago by Andy C <[email protected]>
And
type -a ''
Also able to write out *-argv0.json files, for multiple processes.
It need...
github.com/oils-for-unix/oils - 1bd884195ec732f1f9effb03e2407296da86943d authored 7 months ago by Andy C <[email protected]>Dumping histogram of argv0 as a JSON file
Still need to do it across multiple processes.
github.com/oils-for-unix/oils - c1ae3d5d8b03a68131c029d34800e77cd2d987b0 authored 7 months ago by Andy C <[email protected]>Issue #1864
github.com/oils-for-unix/oils - 4ef2d38c4c44b2a6f2030d00b86a81972241e2ee authored 7 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 8774abe07e433e813530ce771707c53bad8a5924 authored 7 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - 2624f204baf80c16155828002a5b628cb61bd0b6 authored 7 months ago by Andy C <[email protected]>
Compare running time against bash and dash.
I see a big discrepancy in the perf profile vs. our...
github.com/oils-for-unix/oils - 36c5a80f7b735309699cb18c3039365a5edbc41e authored 7 months ago by Andy C <[email protected]>
It seems like this will work! We can create StackArray[T], which is
similar to List[T], but not...
This task runs oils-cpp-smoke, which has been unstable on Github
Actions.
github.com/oils-for-unix/oils - d4366a1ed83648e4ef92fa274dd271b9a3db4edb authored 7 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - 1781058bf29549d264c8898a482935e78a7940b9 authored 7 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - 3e8b22e01951fdaec7de4b621c4d9a7865d23f20 authored 7 months ago by Andy C <[email protected]>
https://github.com/actions/runner-images/issues/9491#issuecomment-1989718917
github.com/oils-for-unix/oils - 26e1d769069e9be886a118a826d6b8efd17e16e6 authored 7 months ago by Andy C <[email protected]>This is issue #1862
github.com/oils-for-unix/oils - bde68fee4a3a2559c7551002d057770be7a12b61 authored 7 months ago by Andy C <[email protected]>This is issue #1862
github.com/oils-for-unix/oils - c88c365e812de3dcb96b3c411bf40c949d7b1fb8 authored 7 months ago by Andy C <[email protected]>And fix typo in release-quality.md
github.com/oils-for-unix/oils - 7a3577c673bf48d16389b8ab2f1ea9a3110c8d3c authored 7 months ago by Andy C <andy@lenny>
Also need to switch machines for release - lenny is machine1, with
bloaty.
No more warnings now!
github.com/oils-for-unix/oils - c265df53ebb83b3ae942438d17762a0144852af5 authored 7 months ago by Andy C <[email protected]>The code is clearer this way.
Also fix soil/worker.sh after renaming function.
github.com/oils-for-unix/oils - dc3fc1aceff50569cb33f6ad41c405a22b8b11fa authored 7 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - b49b94c75b2a5fc3aa2412b9e17796ccb54ca460 authored 7 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - afea525143ce5ac2912c22837d9c73e51cfc12ae authored 7 months ago by Andy C <[email protected]>
[release] Add packaging guidelines.
github.com/oils-for-unix/oils - 9066df0def0b1da244d7a5aa7e47bb24c7f0cba6 authored 7 months ago by Andy C <[email protected]>
Change precision of osh-runtime ratios. We should take about 1.05x as
long as bash on CPython c...
Well the optimization did what I intended, but it didn't move the
overall wall time as much
github.com/oils-for-unix/oils - b740f7de25e4f939eab51593f60a338ed6761667 authored 7 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - 21bae7b3b77d8edfe9ebd1a10af8361f16c43c04 authored 7 months ago by Andy C <[email protected]>
The array in test_strings.py was trivial, so it didn't catch this!
github.com/oils-for-unix/oils - 9f76eacef319d0571795555e3f39d69c0f2ef23e authored 7 months ago by Andy C <[email protected]>Added mylib.JoinBytes()
github.com/oils-for-unix/oils - 833e74daaec5d1741ad602dd5bd8db54e5162adb authored 7 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 0b97555cf66836181f88e9047451941afbadea93 authored 7 months ago by Andy C <[email protected]>
To speed up IFS and glob manipulation
github.com/oils-for-unix/oils - 40c1b72043d2b96403043b37c7c1fe41062e2f31 authored 7 months ago by Andy C <[email protected]>
Put oils-for-unix tarball first on the downloads list. We've translated
it!
Figured out why CPython configure runs in 1.1x the time as bash -- small
1-byte string objects! ...
Not conclusive. We might rely on 'perf' more?
github.com/oils-for-unix/oils - 460c6273d1ce909f030159fe750d1336c6997723 authored 7 months ago by Andy C <[email protected]>[mycpp/examples] Document idea for simplifying cast pattern
github.com/oils-for-unix/oils - 3fafc450efac70351b74afe472dad9e8e6300175 authored 7 months ago by Andy C <[email protected]>We are making the "UP_val downcasting pattern" real in mycpp.
This fixes a failing test case in...
github.com/oils-for-unix/oils - bde2d3f4bfd319c30f9a0e74a31c437bb4967f16 authored 7 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 1225881730b7c7dce594ea7bb8f0e7ce5efadda6 authored 7 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - 091cdf91d864991b91e0a515e0c6ecc9deddb6be authored 7 months ago by Andy C <[email protected]>
- _MakeAssignPair() no longer tickles it
- Disabling it no longer makes tests fail
Add failing ...
github.com/oils-for-unix/oils - acb9724cc6ec4caf788f4ae4e90e3bc09b535e75 authored 7 months ago by Andy C <[email protected]>[doc/ref] Fix TOC title and intro
github.com/oils-for-unix/oils - b2424c8e1fc74d222dbc2aee9736a0e433d1f98b authored 7 months ago by Andy C <[email protected]>
This moved the needle on a few benchmarks! Including the fib workload,
e.g. benchmarks2/gc-cac...
It only happens in str_switch().
In contrast, tagswitch() are often exhaustive.
github.com/oils-for-unix/oils - e56b698ed627f3de20f9366f28b188b3e1683ae1 authored 7 months ago by Andy C <[email protected]>
It first dispatches on the string length, and then the value with the
runtime function str_equal...
Collect a flat list of cases.
github.com/oils-for-unix/oils - 46f144b0870adb926922ea4f65844f8dd60b238c authored 7 months ago by Andy C <[email protected]>
- arg-parse -> parser
- default= and help= are named arguments
- Enforce required arguments in...
- Consistency
- Naming should be "start" and "end"
- startsWith() and endsWith() were th...
Should turn _allow_command_sub => _no_command_sub I think
Other minor updates
github.com/oils-for-unix/oils - 010700566ac8b07deac6d35c47186263a6ff90e0 authored 7 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 64172e07c68946aff82867544137055ebcfe3cc2 authored 7 months ago by Andy C <[email protected]>
Job control with pipelines is a inherently racy.
Zulip thread:
https://oilshell.zulipchat....
github.com/oils-for-unix/oils - 425435ad7dda553aafb3ceec87755267033a26ef authored 7 months ago by Andy C <[email protected]>Document this quirk.
This addresses issue #1822.
github.com/oils-for-unix/oils - 3106088275a84ee1597192dd19940a42a580a01f authored 7 months ago by Andy C <[email protected]>This is after the last change, which removed getpgid() calls.
We shouldn't access the Pipeline....
github.com/oils-for-unix/oils - 8c86c878d03df8cce0b67416494ac903db0c71bc authored 7 months ago by Andy C <andy@lenny>One of them causes the ESRCH bug, triggered by starship and others.
Repro:
$ bin/osh
osh...
In bash, the first part gets a DEBUG trap:
echo hi | cat
But here it doesn't:
{ echo ...
github.com/oils-for-unix/oils - 153f02d4319405630e49205fcbdb353a186b2199 authored 7 months ago by Andy C <andy@lenny>break / continue / etc.
Add spec test case.
github.com/oils-for-unix/oils - 7cd2f9edbc72f0e5c4c52515a29a9722008865fd authored 7 months ago by Andy C <andy@lenny>And inline small functions.
github.com/oils-for-unix/oils - c1a1077b624671a627a5e3edf1fb9ad1a832a3bc authored 7 months ago by Andy C <andy@lenny>We can reproduce issue #1822 reproduce the issue with our own code.
The problem is:
- A DEBUG ...
github.com/oils-for-unix/oils - b1dbb5001b909fb1cb952bad5b976cd9c4ae5de6 authored 7 months ago by Andy C <andy@lenny>
Make note of interleaved set -x output, even when shopt --set
xtrace_rich.
To import from vendor/
github.com/oils-for-unix/oils - 470b479837f0c1cf6c1faecf68ba66212d3cba4a authored 8 months ago by Andy C <[email protected]>[refactor] Move jsontemplate.py to vendor/
github.com/oils-for-unix/oils - 80a105dd79a3573fe944e2ca4f62fc6a1d80054a authored 8 months ago by Andy C <[email protected]>
It takes much longer to print than to parse. See snippet in shell
script.
Also added a test case for the ESRCH bug, but wasn't able to repro.
It seems like useful/missin...
github.com/oils-for-unix/oils - 015034d42869ae2048cf07c0c8633cbc6fafe738 authored 8 months ago by Andy C <[email protected]>No dice
[test] Delete old files, now that we've translated to C++
github.com/oils-for-unix/oils - af550c67339e77431990040978632072a8d7399e authored 8 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - e3cade8e7afbde6573621c257e45f0892eec2119 authored 8 months ago by Aidan <[email protected]>
Also don't use pid_t as synonym for int.
I think there may be a race in the code with getpgid().
github.com/oils-for-unix/oils - 8b432223d4a6cc1f8bda46158a0fc4d8c4093c64 authored 8 months ago by Andy C <[email protected]>We're like bash/zsh, not mksh!
Update comments.
github.com/oils-for-unix/oils - 2b5f98cf3028dfdcbac4237f7eafa79213c1dcb9 authored 8 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 0d7b9e8e2ad407e2e791db34df2f53bc6bb9297b authored 8 months ago by Andy C <[email protected]>