Comments (12)
I refer folks to the recent chat room debate about how we could add a scroll back history to the runtime.
from chrysalisp.
We now have debug instruments for stack frames, profiling and network wide statement tracking.
from chrysalisp.
That's interesting, thank you.
Chris
from chrysalisp.
I've just added a Debug app as part of the new System Services implementation.
Now, this isn't the be all and end all of debugging, but I'm heading towards the auto instrumented debugging you pointed me at a few months back ! See I do get round to things eventually ;)
Debug statements go to, if it's running, the DEBUG_SERVICE, and currently I've got a Lisp GUI app that registers itself as such. This then can control the stepping of debug statements in the code at a VP or Lisp level.
So the next step would be to do an auto instrument decorator macro, or such, that adds the debug statements to the code without needing to do it manually.
But already this is a great addition. Being able to watch thousands of spawned threads do their thing and step them etc is a great leap forward.
Chris
from chrysalisp.
You might have noticed that I detoured to do a C++ Clang/LLVM version of the Lisp to get a real feel for what the difference was compared to my own crude roll your own compiler.
I need to update that now with the recent change to write-char so it can build the system again, but in the STATUS.md file I show the results so far. While I could put more effort into trying to squeeze more performance out of the C++/LLVM version I have tried to stick to the same game plan as I do for the Native Lisp. Not very encouraging results from LLVM here so far on performance or footprint.
I'm not having a go at C++/LLVM I think they are both wonderful things, but they are not going to match what ChrysaLisp native is doing. And I still don't consider my optimizer up with the best. C++ is my go to language when doing work outside ChrysaLisp dev. Have to wait for ChrysaLisp to take over the world before that situation changes :)
Regards
Chris
from chrysalisp.
Does the ability to think clearly count ?
from chrysalisp.
Check the latest release for debug and profile instrumentation.
from chrysalisp.
On that I'll close this pr as it's going to become some argument about UI presentation and option boxes.
from chrysalisp.
Great news!
btw., I mentioned above that I have yet to find source code for Ripple - well, I have found it, and I think at the time I wrote the above the artifact hadn't become available yet due to ACM processing it slowly. You can find the Ripple artifact here, which contains the Ripple source code as outlined in the second paper:
Note that it consists of a 2.4 GB VM due to, well, Academia being Academia.
[Edit: Something to note: The VM contains the source code twice, once in one of the downloads folder - and there DOES exist a difference in two lines of main.rkt:
]
Unrelated to the debugging matter entirely (well, almost!), here, (yet) another paper I figured you might like, which incidentally also made me appreciate the last response you gave in #2 a lot more:
http://lampwww.epfl.ch/~amin/pub/collapsing-towers.pdf Amin, Nada; Rompf, Tiark - Collapsing Towers of Interpreters [January 2018]
from chrysalisp.
🤔 I wonder if one could shoehorn https://opentracing.io/ into the debugger. Then again, likely not much benefit to that.
from chrysalisp.
Does the ability to think clearly count ?
wdym/hdym?
from chrysalisp.
Are we not there yet ???
You can take the debug and profile code and add any instrumentation you desire.
I really don't see how we can offer anything more powerful than that.
from chrysalisp.
Related Issues (20)
- Transition Log Service to new IPC and data exchangers HOT 1
- Fix yaml string quote compounding
- Display scaling options? HOT 5
- src/main.cpp:37:11: fatal error: 'SDL.h' file not found HOT 5
- Package manager needed HOT 3
- @Chris HOT 16
- Containers woven in to foundations HOT 1
- Interprocess communication port needed HOT 4
- WYSIWYG interface builder HOT 6
- A browser for ChrysaLisp pages. HOT 10
- WebDriver compatible functional UI clicking test automation HOT 1
- reload definitions in lisp HOT 3
- error while compiling HOT 3
- error HOT 1
- rather a request: RISCV would be great HOT 10
- SDL2 dep for building on Macs - tweaks needed? HOT 9
- Bootstrapping ChrysaLisp on ChrysaLisp? HOT 10
- README feedback HOT 5
- Transparent windows HOT 1
- Can it run Doom? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chrysalisp.