Log for #openttdcoop.devzone on 21st June 2015:
Times are UTC Toggle Colours
06:02:21  *** Alberth has joined #openttdcoop.devzone
06:04:35  <DevZone> Project road-hog build #742-push: SUCCESS in 35 sec:
08:25:35  *** LSky` has joined #openttdcoop.devzone
09:00:30  *** frosch123 has joined #openttdcoop.devzone
10:48:30  *** LSky`` has joined #openttdcoop.devzone
10:49:20  *** LSky` has quit IRC
10:49:20  *** DevZone has quit IRC
10:49:20  *** dihedral has quit IRC
10:49:20  *** michi_cc has quit IRC
10:49:20  *** Taede has quit IRC
10:52:04  *** Taede has joined #openttdcoop.devzone
10:52:24  *** michi_cc has joined #openttdcoop.devzone
10:52:31  *** dihedral has joined #openttdcoop.devzone
10:53:51  <Alberth> Hacking NML expressions to make them read-only, so 'reduce' can be cached, and objects can be shared (hopefully)
10:54:08  <Alberth>   is what I have so far (unfinished)
10:55:14  <Alberth>  the core of the hack
10:56:51  <Alberth>  my problem, action2 is also an expression in one or so case
10:58:06  <Alberth> what would be a direction?
10:59:32  <frosch123> multiple inheritage :p
11:00:38  <Alberth> it does indeed, which makes that class also have the RO protection
11:01:01  <Alberth> one way is to make action2 read-only, but that seems a large step
11:02:01  <frosch123> i do not quite see the problem in your backtrace
11:04:05  <Alberth>
11:04:43  <frosch123> yes, but isn't that constant assignment in the constructor?
11:05:43  <Alberth> sure, but it needs   self.set_value('var_num', var_num)    there, you cannot assign anything anywhere
11:06:12  <Alberth> due to the expression.Expression inheritance
11:07:08  <Alberth> but it's initialization in the base class, which means you need 'self.set_value()' from every derived class, or add it to the base class
11:08:02  <frosch123> how about some is_shareable method?
11:08:14  <Alberth> if you don't, there is an expression object which is not RO
11:09:22  <frosch123> anyway, where are Expressions actually shared?
11:09:27  <frosch123> resp. where could they?
11:09:48  <Alberth> hmm, is_sharable is an idea
11:10:04  <Alberth> currently I am just enforce RO access after creation
11:10:11  <Alberth> so they are not shared at all
11:10:51  <Alberth> biggest benefit imho is with reduce where you can return self, and cache reduction results, so you don't need actually build the entire tree again
11:11:26  <Alberth> one step further could be to make factory functions that track objects they create
11:17:19  <Alberth> this varaction2var looks so much like variable in expression wrt to members
11:25:53  <Alberth> hmm, makes me wonder whether these expressions should be merged
11:28:46  <frosch123> they are on different levels in the compilation pipe
11:29:00  <frosch123> not all variables become varact2, some also become actiond
11:29:41  <Alberth> yeah, but have expressions in general, and then rewrite to either actiond or action2
11:30:06  <Alberth> rather than having action2 and actiond separately rewriting their expressions
11:31:39  <Alberth> and it may already be there mostly, as expressions have "is_supported_by _action{2,D}" methods irc
11:32:09  <Alberth> this varaction2 is an exception
11:32:25  *** Supercheese has quit IRC
11:32:58  *** Supercheese has joined #openttdcoop.devzone
11:32:58  <Alberth> varaction2 also has its own optimizations, by the look of it
12:44:35  *** DevZone has joined #openttdcoop.devzone
13:11:59  <DevZone> Project Squirrel2Doxygen build #4-push: SUCCESS in 5.4 sec:
13:56:03  *** gelignite has joined #openttdcoop.devzone
15:31:40  <DevZone> Project Squirrel2Doxygen build #5-push: SUCCESS in 2.5 sec:
18:57:47  <DevZone> Project World Airliner Set build #1176-push: SUCCESS in 3 min 39 sec:
19:26:19  *** Alberth has left #openttdcoop.devzone
20:08:45  <DevZone> Project road-hog build #746-push: SUCCESS in 29 sec:
20:49:31  *** frosch123 has quit IRC
21:41:32  *** Supercheese has quit IRC
22:08:26  *** gelignite has quit IRC
22:43:16  *** LSky`` has quit IRC

Powered by YARRSTE version: svn-trunk