[03:00:09] @vrandecic also, someone on [[m:talk:Abstract Wikipedia]] was suggesting that we rename the project to "Machine Wikipedia". I've stated my objections there, and tried to clarify what exactly this project intends and how exactly we intend to do it. [05:13:04] I've managed to lower this to 370,000, or about 1/4 (re @Feeglgeef: Nevermind, it's 1,241,805 characters in JSON.) [10:30:23] Al is your Z20089 reduce list only any different to one of the "fold" functions: Z12753 Z12781? [10:46:33] I’m not sure 😮 I was thinking that a single-argument function applied to a singleton list should not be the singleton list unchanged, but it probably makes more sense to allow only two-argument functions to reduce, which would make it a right fold. Thanks for pointing that out! (re @Toby: Al is your Z20089 reduce list only any different to one of the "fold" functions: [10:46:33] Z12753 Z12781?) [11:08:54] It tries to render functions in compositions when they are not expanded. Example here Z13907 : https://tools-static.wmflabs.org/bridgebot/52310a6e/file_66545.jpg [11:09:59] Looking at Z20092, I may repurpose Z20089 to wrap Z12753 with an explicit (object) value for the empty list. Maybe there could be an optional opt-out for a singleton list too, but I’m thinking not. (re @Toby: Al is your Z20089 reduce list only any different to one of the "fold" functions: Z12753 Z12781?) [11:16:06] Okay, but why aren’t the arguments just function calls? (re @Toby: It tries to render natural number functions in compositions when they are not expanded. Example here Z13907) [11:18:15] Oh yes, that's strange! I guess @lucaswerkmeister found the composition interface confusing? (re @Al: Okay, but why aren’t the arguments just function calls?) [11:22:56] …or T359231 (re @Toby: Oh yes, that's strange! I guess @lucaswerkmeister found the composition interface confusing? But you're right, it seems unneces...) [11:45:45] 🤔 left fold, when it matters 🙄 (re @Toby: Al is your Z20089 reduce list only any different to one of the "fold" functions: Z12753 Z12781?) [19:48:58] Luckily, though, I don't pay for the Data I receive, only the data I send (which I guess means the WMF is paying for it) (re @Feeglgeef: There's probably a more efficient way to do it) [22:35:20] Implementations that are objects other than function calls are fine in theory but not fully supported in practice when they contain function calls (or, possibly, references). Should we: [22:35:21] 1. Avoid them by wrapping the object in a Z801 function call? [22:35:23] 2. Make sure that the orchestrator resolves function calls within objects that are not inside a function call? [22:35:24] 3. Change Try this function/implementation so that it evaluates any such function calls (while allowing API results to remain as unresolved function call objects)? [22:35:26] 4. Something else? (re @Al: It looks like implementations of Z19866 need a Z801 wrapper… But is leaving the function calls unresolved “expected behaviour”?) [22:36:06] 3 (re @Al: Implementations that are objects other than function calls are fine in theory but not fully supported in practice when they cont...) [22:37:31] If we are forced to use echo anywhere something is seriously wrong [22:53:19] But an object without a function is not an argument, so why should anything at all be returned (so we might label Z801 “return object” and all would be well?) (re @Feeglgeef: If we are forced to use echo anywhere something is seriously wrong) [22:55:20] f(x) = 0 is a function. 0 is a number. We don't use f(x) = return(0) in math (re @Al: But an object without a function is not an argument, so why should anything at all be returned (so we might label Z801 “return ...) [23:05:24] No… but implementations are implementations of functions, and these should be evaluated by a function call (in the Wikifunctions architecture). Whether a function call with an argument that is not function should be evaluated is (perhaps exactly) the question. (re @Feeglgeef: f(x) = 0 is a function. 0 is a number. We don't use f(x) = return(0) in math) [23:46:20] I missed when you showed this issue at first. Interesting. I can see why it might make sense to wrap it in something like "evaluate object" or "return", but I don't really mind what the answer is. At first Z801 would get it working immediately, even if software changes are planned for later? (re @Al: Implementations that are objects other than function calls are fine in [23:46:20] theory bu [23:46:20] t not fully supported in practice when they cont...)