Dan Rose

Results 564 comments of Dan Rose

Still not quite sure what `@null` and `{null}` actually are. I *think* they're just compound terms equivalent to `'@'(null)` and `'{}'(null)` respectively. In addition to being ungooglable, both literal syntaxes...

> Use the standard predicate **`write_canonical/1`** to see what a term "actually" is: > > ?- write_canonical({null}). > {}(null) true. Yep! That's great when you *have* the term. Given the...

> `{}()` is not valid Prolog syntax, a conforming system must reject it. *Cries into the `swipl` console.* But seriously, where can I learn syntax? I'm *still* mystified e.g. -...

@triska, firstly thank you. You’ve gone out of your way to explain some of this stuff in detail. This GitHub issue is certainly not the ideal place for it, and...

> so it sticks a `false.` there to make it semantically equivalent just a `.`, that's my understanding anyway. It's more of a parlor trick to make the CLI look...

> `false/0` is the identity element of disjunction (`(;)/2`), so an answer such as `a ; b.` is semantically equivalent to `a ; b ; false.` Maybe "semantic equivalence" is...

> In general it's probably not a good idea to overwrite modules when you have live iterators; it's better to make a new Prolog instance and query from there. I...

I think `lsof` is only used to check if a file is open before deleting it in https://github.com/bluerobotics/BlueOS/blob/3de218531003b5842d0e9dec5128252243f3a025/core/libs/commonwealth/src/commonwealth/utils/general.py#L157 It's unclear why this check is necessary, and maybe a call to...

> Right, this was necessary because if we delete files that are still open by the log writers, the writer keeps writing to an invalid node without knowing, maybe only...

A little research shows that `fuser` is a better choice than `lsof` for checking whether a particular file is open. https://www.man7.org/linux/man-pages/man1/fuser.1.html