about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2022-10-07 r/5055 feat(wpcarro/blog): git-filter-repo (note to self)William Carroll2-0/+66
More notes to me :) Change-Id: I27859468249a320a6c307937fd54aa7f1279fd8e Reviewed-on: https://cl.tvl.fyi/c/depot/+/6890 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
2022-10-07 r/5054 feat(wpcarro/dotfiles): Use difftastic as git diff engineWilliam Carroll1-0/+2
Mostly good, but I'm not sure it works with `git diff --patch`. Not a big deal though if true. Change-Id: I268c52dd253f5b0f9dd462a1825206da5dd86dd2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6889 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
2022-10-07 r/5053 fix(wpcarro/blog): Fix markdown hyperlink syntaxWilliam Carroll2-5/+5
i always seem to get this wrong Change-Id: Ib6f31523aba1d9f9a32d9af95b96b8d75e0ec16e Reviewed-on: https://cl.tvl.fyi/c/depot/+/6863 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
2022-10-07 r/5052 feat(wpcarro/blog): nix-shell (note to self)William Carroll2-0/+57
Publishing another "note to self" Change-Id: If5d052f0360f3e1f371b0c1fdd3781e5bb846ea4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6861 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-10-07 r/5051 chore(sterni/keys): add ludwig ssh keysterni1-0/+1
ancient thinkpad experiment 2 Change-Id: Id8a1e9d70642289235dcdac75a07e35c78689d0b Reviewed-on: https://cl.tvl.fyi/c/depot/+/6888 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-10-07 r/5050 feat(tvix/eval): coerce values to paths when importingVincent Ambo2-13/+2
This enables the use of string paths (and, in the future, derivations), as long as their string values represent an absolute path. Change-Id: I4b198efeb70415ed52f58bd1da6fa79a24dad14c Reviewed-on: https://cl.tvl.fyi/c/depot/+/6866 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-10-07 r/5049 feat(tvix/eval): add method for emitting runtime warningsVincent Ambo4-8/+57
This lets the VM emit warnings when it encounters situations that should only be warned about at runtime. For starters, this is used to pass through compilation warnings that come up when `import` is used. Change-Id: I0c4bc8c534d699999887c430d93629fadfa662c4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6868 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-10-07 r/5048 feat(tvix/eval): insert `import` into the builtins itselfVincent Ambo4-14/+32
Adding `import` to builtins causes causes a bootstrap cycle because the `import` builtin needs to be initialised with the set of globals before being inserted into the globals, which also must contain itself. To break out of the cycle this hack wraps the builtins passed to the compiler in an `Rc` (probably sensible anyways, as they will end up getting cloned a bunch), containing a RefCell which gives us mutable access to the builtins. This opens up a potentially dangerous footgun in which we could mutate the builtins at runtime leading to different compiler invocations seeing different builtins, so it'd be nice to have some kind of "finalised" status for them or some such, but I'm not sure how to represent that atm. Change-Id: I25f8d4d2a7e8472d401c8ba2f4bbf9d86ab2abcb Reviewed-on: https://cl.tvl.fyi/c/depot/+/6867 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-10-07 r/5047 fix(sterni/emacs): fix build on i686-linux by avoiding CBQNsterni1-17/+17
Skip setting bqn-interpreter-path on 32bit – contrary to the LanguageTool integration, bqn-mode is still useful without the binary which doesn't compile on i686-linux. Change-Id: If4493e3e72307ca14984c660f376952cbdcc201c Reviewed-on: https://cl.tvl.fyi/c/depot/+/6887 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-10-06 r/5046 chore(3p/sources): Bump channels & overlayssterni6-95/+80
* //3p/overlays: kill electrum override applied upstream * //corp/tvixbolt, //users/tazjin/predlozhnik: update wasm-bindgen to match nixpkgs and run `cargo update` Change-Id: If4327112832fd0c7938962dd8d3888d4730b7532 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6874 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-10-06 r/5045 fix(tazjin/blog): ensure unlisted posts are renderedVincent Ambo1-2/+5
Change-Id: Iece11259e3c26ae0b40d16f9ba2c6b8ad5e9995f Reviewed-on: https://cl.tvl.fyi/c/depot/+/6886 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-10-06 r/5044 feat(tazjin/blog): add some thoughtsVincent Ambo2-0/+149
Change-Id: If161fd8b6c96d66aa63cfb22f8a8bb26d71c5caf Reviewed-on: https://cl.tvl.fyi/c/depot/+/6885 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-10-06 r/5043 chore(tazjin/tgsa): bump all dependenciesVincent Ambo3-89/+109
Change-Id: Id90cf6b74999e81680c589847a8b2f64eefc37ca Reviewed-on: https://cl.tvl.fyi/c/depot/+/6875 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-10-06 r/5042 fix(sterni/emacs): fix eval on i686-linux by disabling languagetoolsterni1-2/+9
Given that the laptop I need this for is really slow, I may want to disable even more stuff, but I'll take it step by step. This should at least make it possible to build its system closure. Change-Id: I50c55fa3426252e7f23f419bb2009d58a9312a98 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6876 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-10-06 r/5041 feat(tvix/eval): initial implementation of `builtins.import`Vincent Ambo4-8/+143
This adds an initial working version of builtins.import which encapsulates the entire functionality of `import` within the builtin itself, without requiring any changes in the compiler or VM. The key insight that enables this is that we can simply return a Thunk from `import` that is constructed from the output of running the compiler and - ta-da! - no other component needs to know about it. A couple of notes: * builtins.import needs to capture variables like the SourceCode structure. This means it can not currently be constructed the same way as other builtins and has special handling, which leaks out to `eval.rs`. I have postponed dealing with that until we have this working a bit more. * the `globals` are not yet passed through * the error representation for the new variants is absolutely not done yet, we probably want to switch to something that supports cause-chaining now (like miette) * there is no mechanism for emitting warnings at runtime; we need to add that Change-Id: I3117a7ae3ff2432bf44f5ff05ad35f47faca31d5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6857 Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-10-06 r/5040 refactor(tvix/eval): builtins now contain closuresVincent Ambo2-93/+115
For some upcoming builtins (notably, import) we need to capture arguments in the builtin's implementation. To allow this, we can no longer use function pointers for builtins, but must use a reference-counted closure object instead. Unfortunately this adds an extra pointer operation to every builtin call. We should benchmark this later against having a split builtin representation. Change-Id: I109d98d0e25998870542f47573eb1ec2e546f2a2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6856 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-10-06 r/5039 fix(web/static/css): Improve paragraph & line heightsProfpatsch1-0/+11
The text was a little cramped, which made the font hard to read. If one gives it a little more breathing space, it gets easier to digest. I couldn’t check the change locally, since `-A web.tvl` doesn’t reference the static assets (it hardlinks to `static.tvl.su` from what I can see). I only tested it directly in the browser css editor and then added the values I found here. Change-Id: Ic3cb78b2ed0f37e1c55ba70027fec2c62b43a52f Reviewed-on: https://cl.tvl.fyi/c/depot/+/4055 Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-10-05 r/5038 feat(tvix/eval): implement tvix's user-agent, err, nixVersionVincent Ambo3-0/+12
nixpkgs has hardcoded references to Nix versions, we need to provide it with something that looks like a Nix version while actually being a Tvix version. For now, we do this by stealing a trick out of the browser book and constructing a version that looks like a Nix version to Nix, but like a Tvix version to people who know what they are looking for. Nevermind that we don't actually have any kind of versioning for Tvix (yet?), other than depot revisions. Change-Id: I7ce8079dd8164a2079891d38e707f09a45f0bbc1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6858 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-10-05 r/5037 chore(3p/sources): Bump channels & overlayssterni2-9/+24
* //3p/overlays/tvl: apply more or less questionable compilation fix for electrum with protobuf >= 4. Change-Id: Iedbc45cb96b9e5382e304f2cd5ed9fc1c13f7884 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6850 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-10-05 r/5036 docs(nix/nix-1p): Update to use final and prevvpfeiffer1-5/+7
The convention has changed to use `final` instead of `self` and `prev` instead of `super`. This new convention is much easier to understand especially for users that are new to Nix and Nixpkgs. This change is notable in the Nixpkgs project code. I added a note mentioning that the official documentation hasn't been update with this information. The documentation is currently undergoing an overhaul and that is why I believe this hasn't been reflected in the nixpkgs documentation as of yet. Imported-From: https://github.com/tazjin/nix-1p/pull/9/commits Change-Id: I901df69a564969b1784b3d7ac629cfaf85093acb Reviewed-on: https://cl.tvl.fyi/c/depot/+/6859 Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-10-05 r/5035 refactor(tvix/eval): introduce source::SourceCode typeVincent Ambo8-57/+105
This type hides away the lower-level handling of most codemap data structures, especially to library consumers (see corresponding changes in tvixbolt). This will help with implement `import` by giving us central control over how the codemap works. Change-Id: Ifcea36776879725871b30c518aeb96ab5fda035a Reviewed-on: https://cl.tvl.fyi/c/depot/+/6855 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-10-04 r/5034 refactor(tvix/eval): remove unnecessary clones in compilerVincent Ambo4-151/+147
There's basically nothing that needs *ownership* of an AST node (which is just a little box full of references to other things anyways), so we can thread this through as references all the way. Change-Id: I35a1348a50c0e8e07d51dfc18847829379166fbf Reviewed-on: https://cl.tvl.fyi/c/depot/+/6853 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-10-04 r/5033 refactor(tvix/eval): split observer traits in twoVincent Ambo3-18/+22
There are actually two different types of observers, the ones that observe the compiler (and emitted chunks from different kinds of expressions), and the ones that trace runtime execution. Use of the NoOpObserver is unchanged, it simply implements both traits. Change-Id: I4277b82674c259ec55238a0de3bb1cdf5e21a258 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6852 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-10-04 r/5032 feat(tvix/eval): use fancy error formatting in REPLVincent Ambo3-9/+16
Change-Id: I8d5652d797b012bc3d5248ca2b2d0c87572dbf2e Reviewed-on: https://cl.tvl.fyi/c/depot/+/6851 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-10-04 r/5031 refactor(wpcarro/dotfiles): Move gitconfig into dotfilesWilliam Carroll1-0/+0
Not sure why/how I ended-up with both dotfiles *and* configs, but I don't really like working with `stow`, so I'm preferring dotfiles. Change-Id: Id00566ea8206eef65b9a27dd4765c2d17f3d2317 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6865 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
2022-10-04 r/5030 feat(wpcarro/keys): Add kyokoWilliam Carroll1-0/+2
yet another computer Change-Id: I77f52b863c9b8567a22ab288ab1c5548ba0e1207 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6862 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
2022-10-04 r/5029 feat(wpcarro/envrc): Add REPO_ROOTWilliam Carroll1-0/+2
Some commit removed this, and I didn't notice. Change-Id: I6686282fd3c0d2569120b5687ecdfdc04367fe1e Reviewed-on: https://cl.tvl.fyi/c/depot/+/6864 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
2022-10-04 r/5028 fix(tvix/eval): forward thunk error codes from inner errorsVincent Ambo1-1/+7
Until we can display a chained representatino of errors in thunks, it is most useful to forward the error code from the innermost error to the user. Change-Id: I8d67254d52313be40387f080e57966c001e0d51c Reviewed-on: https://cl.tvl.fyi/c/depot/+/6854 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-10-04 r/5027 feat(tvix/eval): implement `builtins.currentTime`Vincent Ambo1-2/+12
Returns time since epoch in seconds. This has a slight behaviour difference from Nix, in that we don't pin the time between REPL entries (Nix pins it for the program lifetime), but this is probably inconsequential as long as it is pinned during an evaluation. Change-Id: I010c02e93097a209d8ad69e278397c7e30e54c86 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6846 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-10-04 r/5026 refactor(tvix/eval): allow impure Value builtinsVincent Ambo2-10/+27
Allows impure builtins that have a different shape than a Rust function pointer; specifically this is required for builtins.currentTime which does not work in WASM. Change-Id: I1362d8eeafe770ce4d1c5ebe4d119aeb0abb5c9b Reviewed-on: https://cl.tvl.fyi/c/depot/+/6849 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-10-03 r/5025 fix(ops/www): fix port templating for keycloakVincent Ambo1-1/+1
Change-Id: I714b12f996d7dbe705f1f553d449f2dbc4910b1e Reviewed-on: https://cl.tvl.fyi/c/depot/+/6848 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-10-03 r/5024 feat(tvix/eval): implement `builtins.any`Vincent Ambo3-0/+30
Change-Id: I640ee20e7c0a68c4e024a577e429fed9b3a49ece Reviewed-on: https://cl.tvl.fyi/c/depot/+/6845 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-10-03 r/5023 feat(tvix/eval): implement `builtins.all`Vincent Ambo3-0/+30
Change-Id: I19ec2b2194681efd73041f4aa1e5f2c893e839c2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6844 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-10-03 r/5022 feat(tvix/eval): implement builtins.concatListsVincent Ambo3-0/+21
Concatenates (but not flattens) a list of lists. Change-Id: I692e0b3e7b5a5ff93d5768d3a27849b432ec5747 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6843 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-10-03 r/5021 refactor(tvix/eval): implement IntoIterator for NixListVincent Ambo1-4/+9
This is the same code as before, just moved into a trait impl to gain access to stuff that needs IntoIterator Change-Id: Iff9375cd05593dd2681fa85ccc7f4554bf944a02 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6842 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-10-03 r/5020 fix(tvix/eval): do not fail when finalising non-capturing valuesVincent Ambo1-1/+6
This can actually legitimately be emitted by the compiler currently when compiling formals with default values. See the scope6 test from the Nix test suite for an example. We should restructure this slightly to be able to reintroduce a runtime error here in case something was compiled incorrectly. Change-Id: Ib81f0f58ae0e850db9fbc459458b7bd0d3ac6f23 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6841 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-10-03 r/5019 feat(tvix/eval): implement tail-calling of __functor attributesVincent Ambo3-19/+39
This implements __functor calling in situations where `OpTailCall` is used, but not yet for `OpCall`. For some reason I have not yet figured out, this same implementation does not work in call_value, which means that it also doesn't yet work in builtins that apply functions. Change-Id: I378f9065ac53d4c05166a7d0151acb1f55c91579 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6826 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-10-02 r/5018 feat(tvix/eval): Add passthru build for benchmark binariesGriffin Smith1-4/+16
Add a new derivation target to the passthru of tvix.eval that builds the benchmark binaries, *and* copies them to the outupts of the derivation via the (somewhat arcane) `copyBinsFilter` jq script arg to naersk. This is a bit annoying because (as far as I can tell) the derivations returned by naersk aren't directly overridable, so we have to explicitly fixpoint the attrs we're passing. Also, since this is now a separate target to build the benchmarks, we can remove `--all-targets` from the build of `tvix-eval` itself since that was only added to build benchmarks in CI, and make regular (non-benchmark) builds a bit faster. Change-Id: I136b8526790545e93b1ae666abaefb51cbbee390 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6847 Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-10-02 r/5017 chore(ops/whitby): use renamed 'kbdInteractiveAuthentication' optionVincent Ambo1-1/+1
Relates to b/200 Change-Id: Ica7a32e3d2392aba22c2de93cc9be49c4a57eeb9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6838 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-10-02 r/5016 chore(ops/whitby): use new keycloak HTTP port optionVincent Ambo1-1/+1
Relates to b/200 Change-Id: Id8f415d5c4a8947b56031e1671f4f84ac5f2665d Reviewed-on: https://cl.tvl.fyi/c/depot/+/6837 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-10-02 r/5015 chore(tazjin/home): drop deprecated screen-locker optionVincent Ambo1-1/+0
This option actually doesn't change behaviour in xss-lock, which I'm using instead of xautolock, so this is a no-op. Relates to b/200 Change-Id: Ia5b155bf80fcd092038ed2c95517e64d562d0219 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6840 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-10-02 r/5014 chore(tazjin/camden): fix use of deprecated ACME optionsVincent Ambo1-7/+8
Relates to b/200 Change-Id: Ifdc4e694ddf22b899109a843dfce176164af80a5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6839 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2022-10-02 r/5013 chore(nixery): use `ldflags` parameter instead of `buildFlagsArray`Vincent Ambo1-2/+5
The latter has been deprecated in nixpkgs. Relates to b/200 Change-Id: I42871ce3eb54ebf092909f033b43936b9610d982 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6836 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-10-02 r/5012 chore(web/converse): cargo updatesterni1-241/+377
This should take care of the chrono advisory which has finally become actionable. Change-Id: I0c290c10893d2b112bc17281a96c760b62dff02f Reviewed-on: https://cl.tvl.fyi/c/depot/+/6831 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-10-02 r/5011 chore(grfn/xanthous/server): cargo updatesterni1-159/+192
This should take care of the chrono advisory which finally has become actionable. Change-Id: I801330b4dc5273a76f88e3e1eae4ca5237f9a070 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6830 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-10-02 r/5010 chore(3p/rust-crates): chrono: 0.4.19 -> 0.4.22sterni1-3/+3
Change-Id: I94e5abd7ce824455ae9493a47eda04552807774d Reviewed-on: https://cl.tvl.fyi/c/depot/+/6829 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2022-10-01 r/5009 feat(nix/stateMonad): simple Nix state monad implementationsterni2-0/+186
In the absence of do syntactic sugar relatively tedious to write, but useful to express certain types of algorithms. I found it useful to memoize intermediate results as they are calculated in order to avoid recomputing them later in a drv dependency analyzer I've written. Change-Id: I47cf3c644a96952c70276c9fa4cb3190b1c1e027 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6828 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-10-01 r/5008 docs(tvix/eval): start doc about problematic/weird lang behaviorsterni1-0/+39
The idea is that we can keep track of the more unexpected behavior, behavior that maybe should not be a thing at all and behavior we are not sure about yet. Change-Id: I70933f00af1230a7ab9d30e917b61199fe571caf Reviewed-on: https://cl.tvl.fyi/c/depot/+/6803 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-09-30 r/5007 fix(nix/buildkite): follow parent skip behavior in extra stepsEvgeny Zemtsov1-1/+12
We found a bug after updating to latest tvl-kit which broke incremental releases. Bug was related to the fact that extra steps skip attribute had precedence over parent configuration. This is a desired behavior when extra step is explicitly set to `skip=true` but otherwise it must follow parent. Due to extra step normalization skip parameter is always set to false if not explicitly set. Along the way, I'm adding support for setting skip attribute on extra steps as string so that people can define skip reasons. The bug was introduced by commit: b9d79109d feat(ops/buildkite): Allow skip of individual steps Change-Id: I8a46d0926a749d2434412b309c661b749e9dbf37 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6827 Autosubmit: ezemtsov <eugene.zemtsov@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-09-30 r/5006 fix(tvix/eval): fix thunk borrowing error in force_for_outputVincent Ambo3-1/+7
This function previously kept a borrow in the form of the `Thunk::value` result alive while performing arbitrary actions in the VM, which caused a borrowing error in the test case attached. The `Ref` value must never be used in cases where control flow is passed to other parts of the VM. Change-Id: I41d10aa1882a2166614b670e8ba77aab0e67deca Reviewed-on: https://cl.tvl.fyi/c/depot/+/6825 Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI