00:15:25 -!- MDude has joined. 00:25:59 -!- arseniiv has quit (Ping timeout: 276 seconds). 00:26:28 In GURPS, skills cost 4 points per level, and techniques cost 1 point per level. A technique improves your effective skill level for one use of the skill, but increasing the skill itself (for 4 points) improves your effective skill level for all uses of that skill. If you have many techniques, then it will cost too much points. 00:27:09 Therefore, I made up this variant rule: techniquePoints = dotProduct x . reverse . sort where x = 1 : 1 : (half <$> x) 00:27:30 I think that mathematically it is better. Do you think that it is better? 00:42:30 -!- FreeFull has quit. 00:56:16 -!- tromp has joined. 01:01:05 -!- tromp has quit (Ping timeout: 276 seconds). 01:10:02 -!- imode has quit (Ping timeout: 240 seconds). 02:16:50 -!- imode has joined. 02:44:31 -!- tromp has joined. 02:49:38 -!- tromp has quit (Ping timeout: 276 seconds). 02:56:54 [[Keg]] https://esolangs.org/w/index.php?diff=66633&oldid=66619 * JonoCode9374 * (+1177) Added a whole bunch of Reg commands added since the table was last changed 03:04:08 [[Keg]] https://esolangs.org/w/index.php?diff=66634&oldid=66633 * JonoCode9374 * (+3812) 03:15:44 What's the list for Charlie the Unicorn? 03:28:00 I am not aware. 03:45:23 -!- Lord_of_Life_ has joined. 03:46:00 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 03:46:46 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 03:54:53 Stone of Lizard Men {2} Artifact ;; {X}, {T}: You may put a Lizard or Viashino card with converted mana cost less than X from your hand into the battlefield. If you do, add one mana of any color. 03:55:06 (It is a mana ability) 03:57:11 -!- hakatashi2 has quit (Remote host closed the connection). 04:01:47 -!- hakatashi has joined. 04:04:15 Does any Haskell core library have a dot product function? (It is easy enough to implement; I am just wondering if it has already.) 04:45:27 -!- anima has joined. 04:51:50 -!- anima has quit (Ping timeout: 276 seconds). 05:01:05 Apparently BBC BASIC has a built-in dot product function. 05:12:26 -!- imode has quit (Ping timeout: 240 seconds). 05:45:15 huh 05:45:16 wonder why 05:46:55 -!- b_jonas has quit (Remote host closed the connection). 05:58:05 I don't know, but I think dot product can be a useful function in many programs, even with lists having arbitrary number of elements if they are not used as a vector, such as the code I mentioned above. 06:17:07 zzo38, gah I have to think twice to realize why that isn't actually broken as far as I can tell 06:17:47 Oh I just meant in terms of net mana. It being mana ability speed is probably really really interesting 06:25:18 Yes 07:17:45 -!- atslash has quit (Quit: This computer has gone to sleep). 07:25:33 -!- atslash has joined. 07:25:33 -!- atslash has quit (Client Quit). 07:40:10 -!- tromp has joined. 07:56:58 -!- xkapastel has joined. 08:30:08 [[Talk:Kvikkalkul]] https://esolangs.org/w/index.php?diff=66635&oldid=8365 * YamTokTpaFa * (+292) /* I think I shall add grammar and several descriptions but */ new section 09:34:30 -!- FreeFull has joined. 10:21:23 -!- arseniiv has joined. 10:32:17 -!- b_jonas has joined. 10:40:03 `? log 10:40:04 `? logs 10:40:10 ​#esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/ 10:40:11 ​#esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/ 10:42:58 [[Esolang:Community portal]] https://esolangs.org/w/index.php?diff=66636&oldid=65802 * B jonas * (+109) /* #Esoteric */ 10:44:19 ``` sed -i '1s"$" https://github.com/KrzysztofSzewczyk/esologs/"' wisdom/log 10:44:21 wisdom/log//#esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/ https://github.com/KrzysztofSzewczyk/esologs/ 10:44:56 soon we'll have so many webpages with logs that they won't fit in the topic 10:46:52 (soon as in https://www.xkcd.com/605/ ) 11:14:44 -!- kspalaiologos has joined. 11:15:13 it doesn't matter that the channel might be dead for half a day and only a few people reach it constantly 11:15:23 but we have a dozen of log copies, this is what matters 11:15:42 any turing complete, interesting and not-so-hard to implement languages out therE? 11:15:54 kept mashing random page button for around 15 minutes, nothing interesting so fafr 11:16:44 kspalaiologos: are you familiar with all of the Big Five? 11:16:55 Big Five? 11:16:56 what's this 11:17:02 probably I know what it represents 11:17:07 but I haven't heard the name yet 11:17:33 it goes like, Intercal, Malbolge, Befunge, Unlambda, Underload 11:17:37 btw, additional points if the source looks gibberish 11:17:43 five famous esoteric programming languages 11:17:46 yeah, I've heard bout them 11:17:54 no Brainfuck though, have you missed something? 11:18:02 I've programmed in every single one except Underload 11:18:05 no idea what's this 11:18:12 ah yes, must be brainfuck instead of Malbolge 11:18:24 Intercal, Brainfuck, Befunge, Unlambda, Underload 11:18:27 that makes way more sense 11:19:09 befunge is quite hard one 11:19:13 brainfuck is too popular 11:19:20 intercal is very verbose 11:19:32 Unlambda is functonal 11:19:38 and I haven't heard about Underload 11:19:43 I think about rolling my own esolang 11:19:52 but I don't really have an idea how to do that 11:20:17 Emmental seems like a really cool language though 11:44:26 -!- kspalaiologos has quit (Quit: Leaving). 11:51:03 I just realized. Not only can we no longer refer to printed phonebooks when explaining algorithms on sorted arrays, we now also can't refer to electromechanical washing machines to explain multiple entry points to a subroutine. 12:30:35 will we have difficulties to explain multiplication to the next generation because they will be buying everything pre-packaged and nothing of which you can freely choose a quantity and has a price per unit weight? 12:31:27 will we have difficulty explaining Eucliean coordinates because they haven't seen the index of a map refering to map grid squares? 12:33:02 [[BrainCrash]] https://esolangs.org/w/index.php?diff=66637&oldid=64733 * YamTokTpaFa * (+19) /* Features */ 13:38:27 -!- tromp_ has joined. 13:41:23 -!- tromp has quit (Ping timeout: 246 seconds). 14:36:34 the previous OotS strip was published over 18 days ago. please upload the next one, fungot 14:36:34 b_jonas: 1/(sqrt(2)-1) ( fnord) as modulus, 216 as fnord, fnord, fnord 14:37:46 we usually write that as sqrt(2)+1, but sure 14:46:47 soon they'll take as long to upload as they take to read 15:25:08 -!- atslash has joined. 15:43:16 -!- Lord_of_Life_ has joined. 15:46:37 -!- Lord_of_Life has quit (Ping timeout: 265 seconds). 15:46:42 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 16:24:30 -!- LKoen has joined. 16:31:39 Unlambda is functonal => why does it look like a bad thing? 16:34:34 BTW there is another side to “functional languages”, going from combinators and no variables (and composition) to defining equations and variables (and composition), on that way you could have reinvented https://esolangs.org/wiki/%E2%84%B2 16:35:57 allowing definitions makes writing nontrivial code a bit less hard 16:43:41 [[User:Arseniiv]] M https://esolangs.org/w/index.php?diff=66638&oldid=63723 * Arseniiv * (+176) I think in the end we should have this draft linked to from my userpage 17:15:37 -!- anima has joined. 17:32:59 -!- anima has quit (Read error: Connection reset by peer). 17:34:39 -!- arseniiv_ has joined. 17:37:45 -!- arseniiv has quit (Ping timeout: 250 seconds). 18:13:12 -!- anima has joined. 18:15:57 -!- imode has joined. 18:17:11 arseniiv_: hmm, that article should mention "lazy" somewhere 18:17:36 as in evaluation order 18:22:34 -!- arseniiv_ has changed nick to arseniiv. 18:23:14 or strict, as it may be, for it makes a difference 18:23:47 b_jonas: hm doesn’t it? I’ll look at it 18:25:55 and "currying" too, because without currying, you need some extra builtins for conditionals and for data storage 18:26:14 as in an if-else, cons, (), null, car, cdr 18:26:25 > Overall evalution strategy is call-by-need, unless a modification (for example, to allow full IO) has something like Haskell’s `seq` or `$!`. 18:26:27 :1:43: error: parse error on input ‘,’ 18:26:31 specified! 18:26:45 oh I never learn 18:26:49 @botsnack 18:26:49 :) 18:27:49 and "currying" too => hm I did thought it’s obvious these definitions result in functions that can be partially applicated 18:29:01 [[Falsebrain9Q+Fishload]] M https://esolangs.org/w/index.php?diff=66639&oldid=58343 * AnimaLibera * (+3) 18:29:30 [[Falsebrain9Q+Fishload]] M https://esolangs.org/w/index.php?diff=66640&oldid=66639 * AnimaLibera * (+1) 18:29:35 I’ll add some explanations, how better to name the section with them? 18:29:50 elaborations, I’d say 18:31:14 arseniiv: "data storage" I think, for you need currying to be able to data other than from a limited alphabet of function names on the call stack 18:32:02 `unidecode Ⅎ 18:32:05 ​[U+2132 TURNED CAPITAL F] 18:32:17 [[Language list]] M https://esolangs.org/w/index.php?diff=66641&oldid=66618 * AnimaLibera * (+28) Adding Falsebrain9Q+Fishload 18:32:55 b_jonas: I wanted one section to explain about call-by-need meaning the same as lazy 18:34:45 I keep thinking of the strict non-curried version of this language 18:36:47 it would be something akin to the original Backus article? 18:36:52 b_jonas: ^ 18:37:41 where he makes the first functional language, albet somewhat a clumsy one, given that it’s the first one 18:39:30 IIRC that’s 1977, “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. Hm pretty modern times. I thought from the time Lisp was invented it should have been earlier?.. 18:40:36 arseniiv: do you mean Backus's FP? because then no 18:40:50 the one I'm talking about still has named function arguments 18:43:18 https://esolangs.org/wiki/Pointfree_programming has a link to that one, we don't have a separate page apparently 18:44:40 but also, the language I'm thinking of not only doesn't have currying, it doesn't even have functions as first class objects either. you can only use function names if you immediately call them. mind you, you can still program Backus's FP that way. 18:44:49 well, sort of. 18:45:03 not exactly the same as Backus's FP 18:45:28 but the style you program in translates to that well, only you lose named function arguments then 18:51:13 you can also translate it to a subset of Olvashato where you don't use lambdas 18:51:57 in all these cases you have named global functions that can be mutually recursive, which is sort of the distinctive feature 18:52:23 hm maybe I shouldn’t elaborate on call-by-need there, it looks too long or too incomprehensible 18:53:08 -!- xkapastel has quit (Quit: Connection closed for inactivity). 18:54:19 b_jonas: interesting, and there also is no partial application, yes? 18:56:00 I mean, I don’t think “currying” is a name for a well-defined language feature, it always confused me what it should mean, and I only see it viable as a name for the natural isomorphism from A×B→R to A→B→R 18:57:28 wait, let me check how Backus's FP worked again? 18:57:31 I got confused 18:57:37 I think it doesn't have named global functions 18:58:13 arseniiv: you can call it "partial application then, it doesn't matter too much that it's implemented by currying 18:58:14 though maybe it means that we could write λxyz.A for λx.λy.λz.A and correspondingly f x y z = … for f x = let g y = let h z = … in h in g 18:59:13 ok, Backus's FP is weirder 18:59:15 b_jonas: then I more or less understand what language you are describing 18:59:21 but it doesn't have named global functions 18:59:59 arseniiv: for the language I'm talking about, you still have a sequence of global function definitions, each one has a function name followed by named arguments on the left, and parenthisized function calls on the right 19:00:33 but on the right, each time you refer to a function, it must be called by all arguments, you can't pass around function pointers, whether partially applied or not 19:00:34 -!- LKoen has quit (Remote host closed the connection). 19:00:40 then the distinctive feature could be described thus: no partially applied function is an expression, this would formalize what it means that functions aren’t first class 19:01:07 and you get new builtins, namely if-else, which is the only way to not strictly evaluate all arguments, 19:01:50 maybe case-of and pattern matching is better? 19:01:50 and some builtins for creating data, namely at least nil and cons as data constructors, null and car and cdr as deconstructors, 19:01:58 but ideally also some basic numeric stuff 19:02:09 arseniiv: no, that's not enough 19:02:21 arseniiv: you also can't use bare function names (without any argument applied) as an expression 19:02:58 yeah I understand, a bare name is partially applied too 19:03:16 the base of olvashato and common lisp already work like that; they also have explicit way to manipulate first-class functions, but you can't do it as easily as mentioning a function name or partially applying anything 19:03:58 -!- xkapastel has joined. 19:05:00 olvashato isn't quite like this even without the first-class functions, because olvashato has let and case which lets you create local bindings other than the parameters of the global function, and I don't want that 19:05:11 (also the syntax is different) 19:11:51 also, as for what I said earlier 19:12:09 "will we have difficulties to explain multiplication to the next generation because they will be buying everything pre-packaged and nothing of which you can freely choose a quantity and has a price per unit weight?" => 19:12:13 this requires electric cars, 19:12:40 but I think we're officially in the electric car future now, because this year's Nobel Prize is for electric cars 19:22:01 I don't think so; some people will buy and sell stuff that you will have to freely choose a quantity, even if it is rare. 19:23:41 zzo38: sure, it will exist, I'm just positing that it won't be such an everyday thing that every eleven year old in school sees it and finds multiplication of real numbers a natural and commonly used operation because of that 19:26:53 (Also, multiplication would still be used with stuff other than buying and selling stuff.) 19:26:55 when I go to the market today, I need to know a bit of cultural context to know which price tags are per kilogram and which ones are per unit, because it's hard to guess 19:28:32 I should think they ought to label if it is per kilogram or per unit. If it is prepackaged then it can be assumed as per unit if it doesn't say; if they are not pricing it per unit then they should not prepackage it. 19:28:44 most fruits and vegetables are sold by kilogram, but the ones that come with lots of leaves are sold by bunch or single root 19:29:29 zzo38: sure, but consider fruits: kohlrabi is per single root, but canteloupes and lemons and cabbage are per kilogram 19:29:53 lemons and canteloupes and kohlrabi have a strong rind so they don't need pre-packaging 19:30:07 so they aren't packaged, yet you could sell them either way 19:30:21 Yes, that is OK, but they should label them as "per unit" or "per package". I did not say that per unit stuff should be prepackaged; only that prepackaged stuff should be priced per unit. 19:31:12 s/per package/per kilogram/ 19:31:24 lemons of linear logistics 19:31:42 there are even roots that are sold per bunch, which could count as pre-packaged, but it's sometimes not obvious to notice the strings that tie a few roots into bunches 19:32:00 this happens with carrots and radishes 19:32:31 zzo38: yes, prepackaged stuff is sold by unit except in very rare cases that are clearly labeled 19:32:55 there are two sorts of exceptions: 19:33:24 one is for pre-packaged cheese and the like that is sold by weight and the weight is measured in advance when packaging and written on a printed label and encoded in the bar code 19:34:00 the other is pre-packaged stuff sold in twos or threes, where you can still buy in single units but it becomes more expensive, and you can buy two or three of different kinds mixed and matched of the same price group 19:34:01 Yes; in that case, you would print the price and weight on the label of the individual package. 19:34:15 So the price is both per unit and per weight. 19:34:16 there's no problem with packaged stuff 19:34:26 the difficulty is more with the non-packaged stuff 19:34:50 So it is OK that it is like that, since the label mentions the price. 19:35:12 With non-packaged stuff the label still should make it clear about the price. 19:35:35 (If they don't specify, then, I think, it isn't very good.) 19:39:21 admittedly many of the vendors do specify 19:49:57 Did they make the AD year numbering the way that it is for reasons having to do with leap years since it is not precise according to when Jesus is born? 19:59:41 [[]] https://esolangs.org/w/index.php?diff=66642&oldid=63105 * Arseniiv * (+2582) elaborations for somebody 20:00:56 I feel warm 20:17:49 thanks 20:27:41 I have implemented turned F myself but I don’t remember in what language and where the project is, and also I’m pretty certain its code shouldn’t see the daylight. I probably will someday just write it from scratch in Python like with Punctree. I don’t like I write Python in a usual text editor without IDE hints but this language is pretty popular and you can easily run single files without any special manoeurs so that drives my hand 20:27:51 or forces, or delays 20:28:42 -!- kspalaiologos has joined. 20:29:02 I have made a chess engine in Malbolge 20:29:13 in theory it's decent 20:29:17 but it has two drawbacks 20:29:29 a) It requires 31 and a half gigabytes of memory 20:29:35 whoa 20:29:42 b) it's quicker to count atoms in universe than to run it 20:29:49 oh 20:29:53 but I'm certainly sure it works 20:30:09 (^cont.) and of course I have implemented something like YE…A, even with some optimizations for functions constructed with simple recursion operator, in Ceylon but I didn’t make that human-readable and it wasn’t YE…A strictly speaking, but an interpreter for a DSL 20:30:11 how can you be sure? if it's so slow, how do you debug it? 20:30:20 the same generator that made this program 20:30:25 has been tested to 100% coverage 20:30:33 the chess engine is just higher scale of the same thing 20:30:38 kspalaiologos: lol :D 20:30:40 so it has to work, eventually 20:30:48 for anyone interested 20:30:49 https://github.com/KrzysztofSzewczyk/malbolge-chess 20:30:58 the 7z file unzips to 113 megabytes of malbolge 20:31:07 32 gigabytes is solvable these days 20:31:18 I'm equipped with just eight 20:31:35 anyone willing to borrow 24G and a quantum computer? 20:31:55 a quantum computer? what for? 20:32:19 it would hopefully speed up the process 20:32:37 what... chess? how? 20:32:40 the quantum computer is able to solve "puzzles" that conventional computers aren't able to 20:32:56 puzzles maybe, but I don't think it helps for chess 20:32:57 for example, it can break RSA encryption quite eaisly from what I've heard 20:33:04 that sure 20:33:17 isn't malbolge just a fancy encryption? 20:33:42 I've spent my entire day on writing a proof of concept in C, then translating it to assembly, and then stepping down to something 4004-like to finally produce the output 20:33:58 it was a quite fun process 20:34:08 nonetheless 20:34:21 kspalaiologos: hm but your code should use its “features”, like a program can’t just start using SSE or what there is these times, without the programmer writing those instructions beforehand 20:34:43 sure 20:34:48 the interpreter can be tweaked 20:34:53 so it runs smoother on quantum computers 20:35:01 I have made once a SSE brainfuck interpreter, nothing is scary now 20:35:10 :D 20:35:16 imagine a tape, but of type __m64 20:36:16 or __m512i 20:36:36 optimizing malbolge is quite hard process tho 20:36:45 to do it correctly you'd have to know the assembler structure 20:36:59 but as you can reverse it, is there any sense in simplifying the assembly down to malbolge? 20:44:46 -!- kspalaiologos has quit (Quit: Leaving). 20:47:55 Trick NSA to make the computation for you, by using encryption. 20:50:45 b_jonas: Did you see the Magic: the Gathering card I mentioned and that Sgeo__ wrote a comment? 20:56:06 zzo38: no, what card? 20:56:10 does it have "Frore" in its name 20:56:28 No 20:56:50 Stone of Lizard Men 20:57:03 Sgeo__: Yes. 20:57:06 Stone of Lizard Men {2} Artifact ;; {X}, {T}: You may put a Lizard or Viashino card with converted mana cost less than X from your hand into the battlefield. If you do, add one mana of any color. 21:01:09 hmm, there are fewer lizards now, because cards like Imperiosaur have been patched to Dinosaurs 21:02:04 Yes, but there still are some, including cards with changeling 21:02:14 sure 21:02:43 (And you can also use Artificial Evolution to alter which creature types this can be used with.) 21:15:57 -!- imode has quit (Ping timeout: 240 seconds). 21:43:07 -!- xkapastel has quit (Quit: Connection closed for inactivity). 22:08:22 Do you know the "backward" variant of scope (an Italian card game)? Someone showed me that variant, but I don't know if anyone else has written about it. 22:14:29 b_jonas, any ideas about what fun can be had by effectively summoning a creature at mana ability speed? 22:17:06 Of course, then you can do it during a mana step, I suppose, which might sometimes allow you to play triggered abilities in a different order. 22:26:02 (There are also ways to play replacement effects during a mana step, even with only Vintage-legal cards. See http://zzo38computer.org/textfile/miscellaneous/magic_card/puzzle.4 for one example.) 22:42:47 (Well, that one doesn't have a replacement effect during the mana step, but with other cards it can be easy to see that it can still be done.) 23:07:53 -!- anima has quit (Read error: Connection reset by peer). 23:32:31 Now I added a "Frequently Asked Questions" section in story I wrote (from the GURPS game), so, if you have a question, then I can add it, please. 23:42:36 -!- imode has joined. 23:42:50 -!- arseniiv has quit (Ping timeout: 240 seconds).