freenode/#clasp - IRC Chatlog
Search
8:34:49
kpoeck
::notify drmeister I found an easy way to reproduce the mps problem (See https://github.com/clasp-developers/clasp/issues/1042). Just do (make-hash-table :size 128 :test #'eq :weakness :key) and (gctools:garbage-collect) -> The MPS detected a problem!
8:37:16
kpoeck
::notify karlosz In my test your fix solves the type inference problem, see regression-test type-inference-error (just merged in misc.lisp)
9:35:18
kpoeck
::notify drmeister I fixed this specific mps problem (issue 1042), Also fixes test HASH-TABLE-SIZE-WEAK-KEY. Will just rebuild with your newest changes to be on the safe side
14:05:17
kpoeck
::notify drmeister please check pr https://github.com/clasp-developers/clasp/pull/1043
15:18:01
Colleen
drmeister: kpoeck said 6 hours, 43 minutes ago: I found an easy way to reproduce the mps problem (See https://github.com/clasp-developers/clasp/issues/1042). Just do (make-hash-table :size 128 :test #'eq :weakness :key) and (gctools:garbage-collect) -> The MPS detected a problem!
15:18:01
Colleen
drmeister: kpoeck said 5 hours, 42 minutes ago: I fixed this specific mps problem (issue 1042), Also fixes test HASH-TABLE-SIZE-WEAK-KEY. Will just rebuild with your newest changes to be on the safe side
15:18:01
Colleen
drmeister: kpoeck said 1 hour, 12 minutes ago: please check pr https://github.com/clasp-developers/clasp/pull/1043
15:33:43
drmeister
But I'm waiting for some new code to appear in llvm for dynamic linking. It's supported on macOS but linux is still catching up.
15:34:08
beach
That would be a great win, as I have pointed out in the past. You can then skip all the optimizations that were meant only for improving startup time.
15:38:23
drmeister
The llvm folks are implementing a runtime linker called JITLink that will work like the 'ld' but for JITted code. Once that is in place then I can see a path to GCing code. I couldn't before.
15:40:19
drmeister
Yeah - there are structural problems that make it difficult to do things the lisp way.
15:42:13
drmeister
The MPS has a facility to walk memory - so I can spool all of the objects out to a file. Then I can load them back in and allocate memory for them and then fix up external pointers.
15:42:38
drmeister
I still need to run some tests to see if the allocation is fast enough to make this worth it - but I think it will be.
15:44:26
beach
I seem to have read some GC technique working like that in the past, when memory was much smaller than now.
15:44:31
beach
Speaking of C++, out of curiosity, for my daily exercise, I watched a few talks from (I think it was) CPPconf. I was horrified by how the language-definition process is working. They changed the meaning of some syntax that year, but introduced a bug that they fixed another year, but that introduced another bug, that they promise to fix next time.
15:47:59
beach
What is C++ used for these days? I read somewhere that Python is now the world's most popular language. That, in itself, is horrible of course.
15:48:46
drmeister
That most popular language designation was because it generated the most questions in StackExchange.
15:50:56
beach
I see. I also watched some presentations about Rust. One of the people in the group that decides the language definition explained the reason behind it, and the entire language seems to be based on false information, namely that manual memory management is faster than automatic.