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
Not just long. For some reason C has strtol() and not strtoi()?
And atoi() is broken.
github.com/oils-for-unix/oils - 1e8d05db7363b1d0c913b52086c7bbb75bd002bf authored 8 months ago by Andy C <[email protected]>These are wrappers around strtoll() and strtol()
Although we should still test for truncation f...
github.com/oils-for-unix/oils - b26082cc0ee8ae7fdb52de5f4c60a2fe53885a5c authored 8 months ago by Andy C <[email protected]>
- Test it in mycpp/examples
- Change StringToInteger helper to take int64_t, and change all usages
github.com/oils-for-unix/oils - 5aad8bd90b4f2256f9e8f8912c57b5958e80de96 authored 8 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - 264a7cfece10dea06447a86ab252349168d7efda authored 8 months ago by Andy C <[email protected]>
We don't require arbitrary precision right now, since no shell has that.
bash, dash, and zsh al...
github.com/oils-for-unix/oils - c55f9ec74822709db5d6d30fa42294d751c4a09f authored 8 months ago by Andy C <[email protected]>Fix lint error
github.com/oils-for-unix/oils - 7d012882b3e6323edb6e02688365dfe5aff9aec0 authored 8 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 751bb73aecdc05936549772c123361a2c6537da8 authored 8 months ago by Andy C <[email protected]>
We don't need it! It caused a lot of duplication.
github.com/oils-for-unix/oils - b386774d204d115d163c19a8c9e0db9c579d61b9 authored 8 months ago by Andy C <[email protected]>Need to rewrite the evaluators to use them.
And maybe reduce the mylib.{py,pyi} duplication.
github.com/oils-for-unix/oils - 1449bb08dc8381f8d2fdd7eb4fcc798392c7288f authored 8 months ago by Andy C <[email protected]>Add examples/integers.py
This seems like it can work without too much effort.
github.com/oils-for-unix/oils - 163a039925107d989e597c0fd2f7115ef0d8380f authored 8 months ago by Andy C <[email protected]>[benchmarks] Polish CPython configure diff
It seems like the (cached) differences are gone now?...
github.com/oils-for-unix/oils - 833cee94ee95572042975a17d7a00a24503e4418 authored 8 months ago by Andy C <[email protected]>Fixes a case in spec/redirect under osh-cpp.
This is because you can't throw an exception from ...
github.com/oils-for-unix/oils - d60e5cf2cb7388e5a5a67237f5e4cf1bb618f85d authored 8 months ago by Andy C <[email protected]>
We can compute _pipeline_status -> status AFTER waiting for process
subs.
They are independent.
github.com/oils-for-unix/oils - 12a5e34413b8a3df7f2ac075303ac43343e9915d authored 8 months ago by Andy C <[email protected]>Assert invariant for pipelines.
github.com/oils-for-unix/oils - bab2432419a9b7172d05024bfc315733eac0f719 authored 8 months ago by Andy C <[email protected]>Use the status variable.
github.com/oils-for-unix/oils - 4d21ac7f7bb8baea9312cc07ad44eb98d550c2ec authored 8 months ago by Andy C <[email protected]>Working on "can't throw from destructor" bug
github.com/oils-for-unix/oils - 5bea516ba6f601b6feeeeb3ee78f06b7243a11d3 authored 8 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 630b49474622d4abcfa93c0459767920236ad4b1 authored 8 months ago by Andy C <[email protected]>
In C++, it still doesn't work, i.e. with clean Oils 0.20.0 tarball:
~/src/oils/oils-for-unix-0....
github.com/oils-for-unix/oils - 091969983fc3e293fd27928c1ef36b51ce8e9ba2 authored 8 months ago by Andy C <[email protected]>For fixing the "can't throw exceptions in destructors" issue.
github.com/oils-for-unix/oils - 9f9867764fa699c3346bc9a21b1c6dfb72d4933f authored 8 months ago by Andy C <[email protected]>Compared to Python and awk. This could be a blog post.
On just 92K lines of code, shells are >...
github.com/oils-for-unix/oils - 9887c0683d6c8e8016018a4c4dd37f271c4cbefe authored 8 months ago by Andy C <[email protected]>Tell the user to use 'read -r' instead.
It has a design problem - unbuffered I/O on file descri...
github.com/oils-for-unix/oils - 2d80b6391b84c71d8a04322b772ece8befbedd15 authored 8 months ago by Andy C <[email protected]>Explain why in a couple places.
Still need to remove it from the code.
github.com/oils-for-unix/oils - 31b1f6063db1b5918ddc880f83a9d9be3d700478 authored 8 months ago by Andy C <[email protected]>Happens in Python too
github.com/oils-for-unix/oils - ac6675964a2865ecf7fc1e7a6283b53f62a0bab7 authored 8 months ago by Andy C <[email protected]>
There don't appear to be any hard errors for overflow in JS and Python.
Python has arbitrarily b...
github.com/oils-for-unix/oils - 239d4c0dda02cbcc6481aca2586edad6a2f0e736 authored 8 months ago by Andy C <[email protected]>
e.g. I realized bash [[ a < b ]] should use libc strcoll()
Still need a solution for case foldi...
github.com/oils-for-unix/oils - 2d82158f4fc87c34de87d07c7c65d93effdf2c8b authored 8 months ago by Andy C <[email protected]>Most of it was done a long time ago.
github.com/oils-for-unix/oils - b9598f608f2d7794424c7b3640d2c33e7c6bb524 authored 8 months ago by Andy C <[email protected]>This fixes the 'pp proc' bug in C++.
doc_token would be initialized as a separate var inside th...
github.com/oils-for-unix/oils - ac140f6ae90b48fe0a1b567ae8de152f160d1207 authored 8 months ago by Andy C <[email protected]>They use common routines in core/num.py - integer divide and remainder.
This fixes a spec-cpp d...
github.com/oils-for-unix/oils - 611c95007da70d1c3a46d3e64c1d2daad4b64da1 authored 8 months ago by Andy C <[email protected]>No modulus like Python.
This is part of #1342.
github.com/oils-for-unix/oils - a014578c822aae5c15ab1ae835e89aa19f2ce3cb authored 8 months ago by Andy C <[email protected]>This is part of #1342.
github.com/oils-for-unix/oils - d4ecb520e2d395a604672acb7590eeef323a3e6a authored 8 months ago by Andy C <[email protected]>
[demo] Survey division and modulus behavior. Next we'll make it
consistent between Python and C++.
Move assertion back to cpp/data_lang.cc.
Regenerate prebuilt/ files.
github.com/oils-for-unix/oils - 9664b2d1bd1bc5088c32e8c50644aaa2c4683bf2 authored 8 months ago by Andy C <[email protected]>Factor out common ObjectId() function for ASDL types.
github.com/oils-for-unix/oils - 3f94e7c58ed609cb7511f37f8c3b07812fb9869c authored 8 months ago by Andy C <[email protected]>This is #1342. These cases complement the test cases for YSH modulus.
github.com/oils-for-unix/oils - f33dedf879596534c716590254763e63cf4d2b9b authored 8 months ago by Andy C <[email protected]>This avoids a compile warning. Those assertions should never happen.
github.com/oils-for-unix/oils - 09b97b54cc39b86f5dd3765140ecd682334c79ce authored 8 months ago by Andy C <[email protected]>Move another test case to spec/testdata. Avoid code on stdin.
Remove unnecessary pyos function.
github.com/oils-for-unix/oils - 57995d11c0dcab2bad6f944a3d2fc04bac1ed3fc authored 8 months ago by Andy C <[email protected]>Hm one is still failing?
github.com/oils-for-unix/oils - f1b61dfb3989762878021e5c97bd93db3a5ff9be authored 8 months ago by Andy C <[email protected]>
Anything with read --line conflicts with the spec test framework, which
reads code on stdin.
j8...
github.com/oils-for-unix/oils - f854d52d62448902a28448b59682afba09534fce authored 8 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 0c8a980f6c3d6b955dc5cd5c6970becfed41ea0b authored 8 months ago by Andy C <[email protected]>
Make 2 spec tests pass.
- introduce mylib::File and mylib::CFile
- CFile instead of CFileLine...
Move it to frontend/flag_util.py.
This fixes a couple bugs in test/spec-cpp.sh runfile builtin-...
github.com/oils-for-unix/oils - dde2e52ed658a12937fa5a8dc3da80151c693aca authored 8 months ago by Andy C <[email protected]>No change in functionality.
Things that stand out:
- We should define Bool and Int as builtin ...
github.com/oils-for-unix/oils - b75b84ed6f6dfe0690a52b2e335cc1cf38397bd3 authored 8 months ago by Andy C <[email protected]>github.com/oils-for-unix/oils - 4f293c3b2b0e9f5a8ffb77958158f9a871ef7e96 authored 8 months ago by Andy C <[email protected]>
It works on hello.yaks!
github.com/oils-for-unix/oils - a07234600a5d0f5aabe2f2d770f73276b0abe78a authored 8 months ago by Andy C <[email protected]>Add to line counts
github.com/oils-for-unix/oils - bf14f2f29a62e58a26df8469100807595f180dca authored 8 months ago by Andy C <[email protected]>We still need the main wrapper
github.com/oils-for-unix/oils - d69d67c39aeb6beeb88e681ecb2f2f675cd66fed authored 8 months ago by Andy C <[email protected]>Document catch-22 with imports - def_write() vs. decl_write().
github.com/oils-for-unix/oils - 3f1115668660bd205811270c369592c51d758eba authored 8 months ago by Andy C <[email protected]>
self.always_write()
self.def_write() # write in definitions only
I think we will add o...
github.com/oils-for-unix/oils - 2a617d2818789252a9d41eecbd3514837169de7c authored 8 months ago by Andy C <[email protected]>It should be translatable now.
Also refactor to MustBeList().
github.com/oils-for-unix/oils - 3b11b3cb08e8e34e3fcfaec263903fa5d21d53f2 authored 8 months ago by Andy C <[email protected]>Also:
* [ysh/builtins] ctx, error.FatalRuntime(3, ...) -> error.Expr(...)
github.com/oils-for-unix/oils - e25522b2f7e55a9efa247fa6a36bb8cc4e14978d authored 8 months ago by Aidan <[email protected]>Still have to do the param list.
The infix rule is still working pretty well. We can use it fo...
github.com/oils-for-unix/oils - 43d8d216dec3a4984e95086aebd5b006fc48700e authored 8 months ago by Andy C <[email protected]>Add gen_cpp.py stub
github.com/oils-for-unix/oils - 057f1ff60c1749852be9d7fc17a16676e9f44a3f authored 8 months ago by Andy C <[email protected]>The infix rule is working out nicely for signatures:
(func main [argv [List Str]] => Int
...
This duplicates what's in soil/worker.sh a bit. But it should make the
build more correct.
* change j"..." example to u'...'
* add example with ++
* Polish answers some more
--------...
github.com/oils-for-unix/oils - 7b2b5036d8e728bd6fd7198c6ae1bc4d43c9a821 authored 8 months ago by andychu <[email protected]>And refine the yaks.asdl schema.
github.com/oils-for-unix/oils - 4fd920404aafc70e213e26e8121a43ac74038ae4 authored 8 months ago by Andy C <[email protected]>
I think we have a strategy. Though it has several steps, and might take
quite awhile.
OK that wasn't too hard. Let's see if everything passes.
github.com/oils-for-unix/oils - b6a39ea69dd20144be941ab9d54f9d23b917e7ae authored 8 months ago by Andy C <[email protected]>
- More NIL8 parsing tests
- binary size metric: yaks is about 200K
- autoformat the code
- enabl...
(k:v k2:v2) is equivalent to
((: k v) (: k2 v2))
These infix operators should be useful...
github.com/oils-for-unix/oils - b9cecf88838d4c89ce1dbd8f4bcdd8e92e10d442 authored 8 months ago by Andy C <[email protected]>Translates to C++.
Next: do special rule for infix operators?
github.com/oils-for-unix/oils - fa99788a0c01ebfe6534d6bc07f9fa7f9e455edf authored 8 months ago by Andy C <[email protected]>Remove inverted dependencies from data_lang/j8.py.
github.com/oils-for-unix/oils - b0c21a66e9454af19399614c1e0e2bfb49d96813 authored 8 months ago by Andy Chu <[email protected]>
There are some issues with using NIL8 as the syntax for both Yaks
and ASDL pretty printing. We ...
- Start nil8.asdl
- Import j8, and move vm.Value* functions to j8
- core.vm pulls in Oils, whi...
github.com/oils-for-unix/oils - f058d8fb3602d7692aaf7d89f4e2b20a96de149c authored 9 months ago by Andy Chu <[email protected]>
JSON/JSON8 and NIL8 now both reject trailing data.
github.com/oils-for-unix/oils - 50f439242f0a369c51f2b7ee85ff43c11e704f83 authored 9 months ago by Andy Chu <[email protected]>[spec/ysh-json] Make note of bug with trailing data.
We shouldn't accept it. Added this to the...
github.com/oils-for-unix/oils - 4d3c119dac8c957a66517143aaaa6dd13c8e2f18 authored 9 months ago by Andy Chu <[email protected]>Notes on NIL8 grammar
github.com/oils-for-unix/oils - 5b638645aac80f0f64c7f518f208b5bfe02a78a8 authored 9 months ago by Andy Chu <[email protected]>Document J8 comments. Shell # vs. JavaScript // is an annoying issue.
But I just found that //...
github.com/oils-for-unix/oils - fba8579fb8666e8678f40b66a9cfad6b9aed4dfa authored 9 months ago by Andy Chu <[email protected]>But not JSON
Reformat Python code.
github.com/oils-for-unix/oils - 22a58dc8bbbb1f409d6bac018ed0bb3013a56de8 authored 9 months ago by Andy Chu <[email protected]>
- Narrow Intermediate Language
- NIL8 Isn't Lisp
* ctx push, set, emit
* mini-argparse (from zulip conversation)
* Add documentation
* Add yap...
github.com/oils-for-unix/oils - 2a6aa5bd7fa2e72b279bef65e09bdfe4aa2fac34 authored 9 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - f730c79e2dcde4bc08e85a718951cfa42102bd01 authored 9 months ago by Andy C <andy@lenny>
github.com/oils-for-unix/oils - ffbe52abca49a72a984df0340646e38a597da64f authored 9 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - 937bd8b419125fd7e5d51c82cb6e5bcee3bca290 authored 9 months ago by Andy C <[email protected]>
github.com/oils-for-unix/oils - 3985e2e94cd0c25305058b049134cf654077921a authored 9 months ago by Andy C <[email protected]>
We don't have a faithful translation of both ParseLikeEcho() and
ParseCmdval().
Refactor to use...
github.com/oils-for-unix/oils - b287a35cd6255c423903a46f86e98df4510ee783 authored 9 months ago by Andy C <[email protected]>
- Run with ysh in spec/ysh-builtins
- shopt -s ysh:all is like running with bin/ysh, which is ...
Co-authored-by: Andy C <[email protected]>
github.com/oils-for-unix/oils - 0acb18e7d21d8813a9087c85453b3bae27cbafb1 authored 9 months ago by Adam Bannister <[email protected]>
- Notes on TYG8 -- I think there is probably someting to share.
- ASDL is an IR for Oils. And...
We were only printing each value once, where as printing JSON trees can
print values multiple ti...
We're doing reference counting, not cycle detection! In both JSON and
ASDL.
[ASDL] Fix type an...
github.com/oils-for-unix/oils - 05a85ea854ecf9ad31867d27496016f2f51cb509 authored 9 months ago by Andy C <[email protected]>
Still need to do generated C++. I guess that requires a Dict, or maybe
we use something like my...
Also make notes about ref counting, which we can use for:
- = operator
- pp line (x) - since it...
These are valid in J8 Notation (TYG8), but not JSON or JSON8.
github.com/oils-for-unix/oils - 2ecc7a38ce3c05f29711f587d3c2880261389f2f authored 9 months ago by Andy C <[email protected]>Unifying ASDL pretty printing and J8 Notation with "TYG8" (typed graph).
I recently did a bit o...
github.com/oils-for-unix/oils - 20a2d04fe31efd9fa3f9c99c95f48824817664c4 authored 9 months ago by Andy C <[email protected]>
Technically we could have two different CanOmitQuotes(), but this
doesn't really hurt.
The set ...
github.com/oils-for-unix/oils - 2dcf91ce66f9e116ee000ff8c2e6bcf1d0988c31 authored 9 months ago by Andy C <[email protected]>
ASDL now depends on J8 notation for pretty printing, which depends on
the Python 2 extension fas...
[doc] Release index now links to Oils reference
github.com/oils-for-unix/oils - 81c6b575479cc1f79218e7a47867887da9147da4 authored 9 months ago by Andy C <[email protected]>Wow that is allowed in C, and very unsafe
[spec/xtrace] Adjust stderr for quoting
[doc/ref] Po...
github.com/oils-for-unix/oils - f45288a220bda0633d3acd892efe22e3bac29437 authored 9 months ago by Andy C <[email protected]>[cleanup] remove parse_tea shopt
github.com/oils-for-unix/oils - 5b954839a220fd0d74c157532522c0a9b35167d4 authored 9 months ago by Andy C <[email protected]>Based on a survey, the only pages that don't have this are:
- release-{index,quality}.html - I ...
github.com/oils-for-unix/oils - 4c2bacdd0a691d5c9205152bb18d6715afd8aac9 authored 9 months ago by Andy C <[email protected]>
We can't just refer to the member because it needs to be computed for
small string optimization.
github.com/oils-for-unix/oils - b343ef3b7278f5e7b9ff472f7dc4c990926cb963 authored 9 months ago by Aidan <[email protected]>
* Create spec tests
* Handle tricky cases where new_len or old_len are zero
* Update doc/ref
...
This is bug #1775.
It was unclear whether we were supporting arbitrary indices from a YSH
user,...
We can have these 3 behaviors depending on whether ^ is present and
whether re.MULTILINE ("m" in...