freenode/#clasp - IRC Chatlog
Search
11:23:07
frgo
Hello all - I know it's early for US but, by any chance, are you drmeister or Bike online? I cloned externals-clasp and clasp branch dev and get a build error - is this a known issue?
12:01:27
attila_lendvai
I'm wondering now that I've integrated pump into the build, maybe its output should be deleted from the repo and moved under build/...
12:01:58
attila_lendvai
I'd fancy some opinion on that. python is needed for the build anyways, so there's no reason to keep the pump.py output checked into the repo
12:03:58
frgo
The output are header files. They are needed for C++ level compile. Do you plan to regenerate those every time a compile is done?
12:05:32
frgo
Ok - distclean cleans the build directory, in fact deletes it. So yes, it *should* work.
12:06:51
attila_lendvai
I'll create the PR now anyways to gather feedback, and I'll do that afterwards. then I need to run a full build to test it...
12:10:08
attila_lendvai
frgo: it's black magic... one thing that I needed was bld.add_group(). it's kinda like a separator between two groups of parallel tasks. then there's the ext_out property on tasks, that I don't understand much, but they do affect the order (i.e. tasks with '.h' ext_out must be finished before tasks with '.o' ext_out can start). and then there's new_task(..., after = [ some_other_task_instance ])
12:11:26
attila_lendvai
no, it's waf. it's full of complex DWIM behavior that hurts making progress way more than helps it
12:11:53
frgo
Ok - I figure it's an extension thing. This happens only for the extension I am implementing.
14:18:59
drmeister
We had a host of problems yesterday with the build system. But Shiho and I were able to build at the end of the day - do you have the latest dev commit>
14:22:42
drmeister
We ran into the problem that you are seeing at around 2:00pm in the afternoon and got past it on Shiho's machine and my machine.
14:27:36
drmeister
and then ./waf update_submodules and then go back into clasp/src/lisp/kernel/contrib/sicl
14:28:45
attila_lendvai
I have fixes for that, but I stayed away from dev as we discussed. this is the proper fix: https://github.com/attila-lendvai/clasp/commit/8d1e641e490327e8babe1a4bb07ab019518044ef
14:28:59
drmeister
attila_lendvai: Its something to do with the recent changes to fetch_git_revision
14:30:23
drmeister
I'm not going to pull it into the repo that I'm depending on until I've tested it.
14:34:47
attila_lendvai
I've made some changes locally into those repos and been running fine with those. hope it'll also work in your env!
14:36:59
attila_lendvai
in case of 3 it should merge the news and the local changes. if it doesn't work it should fail (but it may leave merge artifacts in the working copy. not sure which is better...)
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