freenode/#clasp - IRC Chatlog
Search
14:41:16
drmeister
Ok, could you push those as well? I have two copies of the dev repo - one in clasp that I can update and test and one for cando that I won't change until I'm sure the first one builds properly
14:44:42
drmeister
frgo: attila_lendvai has been making improvements to the build system - some of the changes had unexpected and unintended consequences. We spent yesterday trying to figure out what was going on.
14:45:05
drmeister
I have a better handle on things now - and I think attila_lendvai's latest changes should correct the issues.
14:45:49
drmeister
One consequence was that unicode characters in the source code were breaking the scraper.
14:46:00
attila_lendvai
sorry for the breakage! some of it was old stuff, though. the original scraper code ran with the host's encoding settings...
14:46:00
frgo
I followed the discusions, so, yeah, I know that there might be surprises still ahead. No problem for me - I am considering myself being a clasp tester.
14:46:44
drmeister
I changed the German characters to ascii equivalents in desperation to get things working.
14:47:47
drmeister
attila_lendvai: Like I said - the build system is complicated and anytime we touch it - there are unexpected/unintended consequences.
14:48:32
drmeister
I'm all for cleaning things up and improving things though - it was just a bad confluence of problems and upcoming deadlines.
14:49:03
attila_lendvai
yeah, it's a complicated code, and needs to be treated with respect. everything applies to it that applies to complicated programs. including explicitly controlling its environment, factoring out stuff, loggging, etc
14:50:42
attila_lendvai
I pushed the locale fix to dev. it's a bit more complicated patch than the previous, from the middle of the others, so... but I hope it's self-contained, as it seems to be
14:51:11
attila_lendvai
if I knew that there's a deadline in a few days I wouldn't have pushed anything to dev
14:53:41
attila_lendvai
you're welcome, and good luck with the demo! I'll be around if there's anything. I'll start a build of the refactor branch and go cook something, but will keep an eye here, too
15:00:22
attila_lendvai
drmeister: yes. I made a PR (that I'll update in a few minutes with some smaller things)
15:01:46
drmeister
Ok - sorry - I haven't been paying enough attention. I'm going to be tied up with getting demos ready for next week and two weeks from now.
15:02:41
attila_lendvai
these are the only two commits that I also wanted to push to dev, the rest is just improvements
15:05:14
drmeister
Bike is working on adding inlining that should more than recover speed lost with a compiler change that came with source tracking.
15:05:34
attila_lendvai
I hope there won't be too many conflicts with the build refactor... but I think you should merge those first, then I'll resolve the issues because it's much easier for me than for you
15:05:36
drmeister
We are going to have to carefully merge these build system changes along with the cst changes into dev.
15:07:45
drmeister
The cst changes change some dependencies and add some dependencies. But that is all in the wscript file.
15:08:14
drmeister
Now that we don't do submodules anymore (thanks Shinmera for the suggestion) it should be easier.
15:30:23
attila_lendvai
clang seems to accept utf-8 regardless of the unix's locale settings. apparently it's mandated by the C++ standard or somesuch... https://stackoverflow.com/questions/24469809/identifier-character-set-clang
15:53:43
drmeister
_sym_STARaccumulatedLlvmFinalizationTimeSTAR could have been _sym_<POOP-EMOJI>accumulatedLlvmFinalizationTime<POOP-EMOJI>
15:56:28
drmeister
I'm running into an issue with handling/printing my first C++ struct specialized array
15:56:55
drmeister
I have these SimpleVectorCoordinate_O arrys that inherit from AbstractSimpleVector_O
15:58:41
drmeister
static value_type from_object(core::T_sp obj) { return translate::from_object<Vector3>(obj)._v; };
15:58:51
drmeister
static core::T_sp to_object(const value_type& v) { return OVector3_O::create(v);};
15:59:31
drmeister
These should allow me to use (elt *v* 0) and (setf (elt *v* 0) '(1.0 2.0 3.0)) - although it won't be terribly efficient.
16:00:04
drmeister
I have no idea right now why it's failing to print. It should convert each packed vector of 3 doubles into an OVector3_sp object.
16:03:07
drmeister
I hope it's something simple and not some deep problem with representing dense C++ arrays in CL.
16:13:46
drmeister
I think the inlined array functions have a problem with these arrays. How are specialized arrays handled?
16:14:39
Bike
https://github.com/drmeister/clasp/blob/dev/src/lisp/kernel/cleavir/inline.lisp#L506-L513 explicit check
16:14:56
Bike
if you're talking about vectors with some other element type, the inlined code is ignorant of themk
16:15:54
drmeister
We'd need some kind of extensible sequence protocol for specialized vectors/arrays.
16:17:06
drmeister
What about printing - will adding a print-object method allow me to print these arrays?
16:18:28
Bike
it's possible to just change the inline definition if there are other array types, but then code previously compiled with the old inline definition won't change
16:18:36
drmeister
In general there are a whole host of things to do - to allow efficient traversal of these arrays.
16:18:40
Bike
and if we don't inline, every aref has to go through an element type indirection, which is dumb.
16:19:23
drmeister
I don't need to manipulate these from CL right now - other than occasionally. They are built by C++ code and they are used by C++ code.
16:21:07
Bike
something like sbcl does where it uses a general routine and only replaces it with an et-specific one when the et is known might be nice
16:27:58
drmeister
These coordinate arrays are dangerous to work with - I suspect inline access to them
16:28:12
beach
Until we know that the current way of doing it is a problem, I am not willing to put work into a special solution.
16:32:48
Bike
have an aref or aset kind of instruction that takes a dynamic element size, which can be computed from a table in the bad case
16:32:57
drmeister
I wonder if with source tracking we might have better profiling capabilities. Can we get backtraces with source info.
16:33:32
beach
And, like I said, we should not act upon intuition only, especially when it is know that the intuition is often very very wrong.
16:36:11
drmeister
It's not clear yet that clasp produces large code - we haven't eliminated debug info.
17:09:01
attila_lendvai
good to know, thanks! my build-refactor branch is also finishing the build soon.
17:37:38
DVSSA
Ok great I'll give it another go. I tried to build earler (~8hours) and its still building.
17:38:32
drmeister
We had a bunch of problems with the build system yesterday and it spilled over into cando builds.
17:45:52
drmeister
Sure - or feel free to do it yourself - if it fails I want to be able to figure out why - I need to get it going for a docker build.
18:16:23
frgo
attila_lendvai: You still around? I saw you mentioning replacing print statements in wscript with log statements. How does such a replacement look like?
18:32:36
attila_lendvai
frgo: it's pushed into the PR: https://github.com/drmeister/clasp/pull/419 or more specifically, this is the final state: https://github.com/drmeister/clasp/pull/419/commits/f1916830ee7c963b4e8198374a6fc35772cb6262
18:33:20
attila_lendvai
everything goes to the file build/variant/build.log and >= info goes to the console
20:11:54
kpoeck
Here is a link to the buses from Malaga: http://www.aena.es/en/malaga-airport/intercity-buses.html
21:39:22
DVSSA
How do I start cando/clasp? I think it built correctly (last line from build.log 'install_cboehm' finished successfully). Typing clasp/cando in terminal does nothing.
21:44:21
drmeister
That provisioning script I gave you is for building cando - there are dockerfiles that you can mine in clasp/tools/dockerfiles that show you how to provision a machine for jupyter notebooks or slime.