question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Make it possible to /display/ an entire chain of operations producing a variable

See original GitHub issue

Issue type:

➕ Feature request

Description

IntegratedDynamics doesn’t let the user /write/ their own functions (as mentioned in #211), but for debugging purposes, whilst looking at labels is passable, it would be incredibly helpful to be able to see the entire chain of operations leading to a variable’s construction.

This probably relates to the (mentioned in some issue that I can’t find by @rubensworks, IIRC) suggestion that it should be possible to copy programs for example to put them here in Github Issues.

This possibly relates to #357, as being able to pretty-print variables may depend on reading them back into ‘programmer form’ from NBT.

What I’m hoping/asking for is something along the lines of the Haskell-esque form that we’ve all been writing in issues here, along the lines of:

someList = {#11 inventoryReader.items}
mappedList = map uname someList
predicate = and (contains mappedList x) (contains mappedList y)

where someList and the like are labelled variable names,

or (from #211, meant for computers not humans - though breaking it up like above to be more human readable in a heuristic fashion would be nice)

conj(disj(dot(apply(flip(modulus), 3), apply(equals, 0)), dot(apply(flip(modulus), 3), apply(equals, 0))), negate(conj(dot(apply(flip(modulus), 3), apply(equals, 0)), dot(apply(flip(modulus), 3), apply(equals, 0)))))

which is also simpler with some syntax re-introduced (apply left explicit, to be easier for players), in a form like

(apply contains (map uname itemList)) . uname

Any thoughts?

Issue Analytics

  • State:open
  • Created 6 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

2reactions
rubensworkscommented, Nov 13, 2017

@tekacs Do you specifically mean stringifying a chain of operations? Or simply displaying it in a nice way ingame?

What I have in mind for the advanced LP, is that it has a canvas on which operators can be visually chained together (possibly enhanced with IDE-like keyboard controls). This would already allow you to visually observe the operator chains. Other than that, this graph-based visualization would also be exportable (and importable) via JSON (or something similar).

So until this advanced LP arrives, perhaps a quick way for exporting the complete chain behind a variable as a string would be indeed nice for debugging. Adding this behaviour to a network-attached part would indeed be the only way of doing this.

IMO it’s not worth the effort to spend time on this as a standalone feature, but I’d rather invest the effort in working towards an advanced LP.

0reactions
TomyLobocommented, Nov 28, 2019

https://www.gradlibrary.net/ this library looks like it’d fit the bill

Read more comments on GitHub >

github_iconTop Results From Across the Web

12. Debugging Makefiles - Managing Projects with GNU Make ...
To use it, just set the list of variables to print on the command line, and include the debug target: $ make V="USERNAME...
Read more >
Google Sheets: Creating Complex Formulas - GCF Global
In Google Sheets complex formulas can help you calculate lots of data. Learn how to create complex formulas in Google Sheets.
Read more >
Copy variables to chain test cases - Dynamics 365
This article shows how the Regression Suite Automation Tool can be used to chain test cases, which is the ability of a test...
Read more >
GNU make
GNU make. This file documents the GNU make utility, which determines automatically which pieces of a large program need to be recompiled, ...
Read more >
Value Chain: Definition, Model, Analysis, and Example
A value chain is a business model that describes all of the activities that a business employs to create a product or service....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found