00:15:25 -!- MDude has joined.
00:25:59 -!- arseniiv has quit (Ping timeout: 276 seconds).
00:26:28 <zzo38> 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 <zzo38> Therefore, I made up this variant rule: techniquePoints = dotProduct x . reverse . sort where x = 1 : 1 : (half <$> x)
00:27:30 <zzo38> 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 <esowiki> [[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 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=66634&oldid=66633 * JonoCode9374 * (+3812)
03:15:44 <Sgeo__> What's the list for Charlie the Unicorn?
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 <zzo38> 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 <zzo38> (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 <zzo38> 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 <zzo38> Apparently BBC BASIC has a built-in dot product function.
05:12:26 -!- imode has quit (Ping timeout: 240 seconds).
05:45:16 <kmc> wonder why
05:46:55 -!- b_jonas has quit (Remote host closed the connection).
05:58:05 <zzo38> 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 <Sgeo__> zzo38, gah I have to think twice to realize why that isn't actually broken as far as I can tell
06:17:47 <Sgeo__> Oh I just meant in terms of net mana. It being mana ability speed is probably really really interesting
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 <esowiki> [[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:10 <HackEso> #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 <HackEso> #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 <esowiki> [[Esolang:Community portal]] https://esolangs.org/w/index.php?diff=66636&oldid=65802 * B jonas * (+109) /* #Esoteric */
10:44:19 <b_jonas> ``` sed -i '1s"$" https://github.com/KrzysztofSzewczyk/esologs/"' wisdom/log
10:44:21 <HackEso> 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 <b_jonas> soon we'll have so many webpages with logs that they won't fit in the topic
10:46:52 <b_jonas> (soon as in https://www.xkcd.com/605/ )
11:14:44 -!- kspalaiologos has joined.
11:15:13 <kspalaiologos> 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 <kspalaiologos> but we have a dozen of log copies, this is what matters
11:15:42 <kspalaiologos> any turing complete, interesting and not-so-hard to implement languages out therE?
11:15:54 <kspalaiologos> kept mashing random page button for around 15 minutes, nothing interesting so fafr
11:16:44 <b_jonas> kspalaiologos: are you familiar with all of the Big Five?
11:17:33 <b_jonas> it goes like, Intercal, Malbolge, Befunge, Unlambda, Underload
11:17:37 <kspalaiologos> btw, additional points if the source looks gibberish
11:17:43 <b_jonas> five famous esoteric programming languages
11:18:02 <kspalaiologos> I've programmed in every single one except Underload
11:18:12 <b_jonas> ah yes, must be brainfuck instead of Malbolge
11:18:24 <b_jonas> Intercal, Brainfuck, Befunge, Unlambda, Underload
11:44:26 -!- kspalaiologos has quit (Quit: Leaving).
11:51:03 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <esowiki> [[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 <b_jonas> the previous OotS strip was published over 18 days ago. please upload the next one, fungot
14:36:34 <fungot> b_jonas: 1/(sqrt(2)-1) ( fnord) as modulus, 216 as fnord, fnord, fnord
14:37:46 <b_jonas> we usually write that as sqrt(2)+1, but sure
14:46:47 <int-e> 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 <arseniiv> <kspalaiologos> Unlambda is functonal => why does it look like a bad thing?
16:34:34 <arseniiv> 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 <arseniiv> allowing definitions makes writing nontrivial code a bit less hard
16:43:41 <esowiki> [[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 <b_jonas> arseniiv_: hmm, that article should mention "lazy" somewhere
18:22:34 -!- arseniiv_ has changed nick to arseniiv.
18:23:14 <b_jonas> or strict, as it may be, for it makes a difference
18:23:47 <arseniiv> b_jonas: hm doesn’t it? I’ll look at it
18:25:55 <b_jonas> and "currying" too, because without currying, you need some extra builtins for conditionals and for data storage
18:26:14 <b_jonas> as in an if-else, cons, (), null, car, cdr
18:26:25 <arseniiv> > 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 <lambdabot> <hint>:1:43: error: parse error on input ‘,’
18:27:49 <arseniiv> <b_jonas> and "currying" too => hm I did thought it’s obvious these definitions result in functions that can be partially applicated
18:29:01 <esowiki> [[Falsebrain9Q+Fishload]] M https://esolangs.org/w/index.php?diff=66639&oldid=58343 * AnimaLibera * (+3)
18:29:30 <esowiki> [[Falsebrain9Q+Fishload]] M https://esolangs.org/w/index.php?diff=66640&oldid=66639 * AnimaLibera * (+1)
18:29:35 <arseniiv> I’ll add some explanations, how better to name the section with them?
18:31:14 <b_jonas> 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:05 <HackEso> [U+2132 TURNED CAPITAL F]
18:32:17 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=66641&oldid=66618 * AnimaLibera * (+28) Adding Falsebrain9Q+Fishload
18:32:55 <arseniiv> b_jonas: I wanted one section to explain about call-by-need meaning the same as lazy
18:34:45 <b_jonas> I keep thinking of the strict non-curried version of this language
18:36:47 <arseniiv> it would be something akin to the original Backus article?
18:37:41 <arseniiv> where he makes the first functional language, albet somewhat a clumsy one, given that it’s the first one
18:39:30 <arseniiv> 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 <b_jonas> arseniiv: do you mean Backus's FP? because then no
18:40:50 <b_jonas> the one I'm talking about still has named function arguments
18:43:18 <b_jonas> https://esolangs.org/wiki/Pointfree_programming has a link to that one, we don't have a separate page apparently
18:44:40 <b_jonas> 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:45:03 <b_jonas> not exactly the same as Backus's FP
18:45:28 <b_jonas> but the style you program in translates to that well, only you lose named function arguments then
18:51:13 <b_jonas> you can also translate it to a subset of Olvashato where you don't use lambdas
18:51:57 <b_jonas> in all these cases you have named global functions that can be mutually recursive, which is sort of the distinctive feature
18:52:23 <arseniiv> 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 <arseniiv> b_jonas: interesting, and there also is no partial application, yes?
18:56:00 <arseniiv> 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 <b_jonas> wait, let me check how Backus's FP worked again?
18:57:37 <b_jonas> I think it doesn't have named global functions
18:58:13 <b_jonas> arseniiv: you can call it "partial application then, it doesn't matter too much that it's implemented by currying
18:58:14 <arseniiv> 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 <b_jonas> ok, Backus's FP is weirder
18:59:15 <arseniiv> b_jonas: then I more or less understand what language you are describing
18:59:21 <b_jonas> but it doesn't have named global functions
18:59:59 <b_jonas> 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 <b_jonas> 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 <arseniiv> 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 <b_jonas> and you get new builtins, namely if-else, which is the only way to not strictly evaluate all arguments,
19:01:50 <arseniiv> maybe case-of and pattern matching is better?
19:01:50 <b_jonas> 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 <b_jonas> but ideally also some basic numeric stuff
19:02:09 <b_jonas> arseniiv: no, that's not enough
19:02:21 <b_jonas> arseniiv: you also can't use bare function names (without any argument applied) as an expression
19:02:58 <arseniiv> yeah I understand, a bare name is partially applied too
19:03:16 <b_jonas> 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 <b_jonas> 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 <b_jonas> (also the syntax is different)
19:11:51 <b_jonas> also, as for what I said earlier
19:12:09 <b_jonas> "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 <b_jonas> this requires electric cars,
19:12:40 <b_jonas> 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 <zzo38> 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 <b_jonas> 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 <zzo38> (Also, multiplication would still be used with stuff other than buying and selling stuff.)
19:26:55 <b_jonas> 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 <zzo38> 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 <b_jonas> 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 <b_jonas> zzo38: sure, but consider fruits: kohlrabi is per single root, but canteloupes and lemons and cabbage are per kilogram
19:29:53 <b_jonas> lemons and canteloupes and kohlrabi have a strong rind so they don't need pre-packaging
19:30:07 <b_jonas> so they aren't packaged, yet you could sell them either way
19:30:21 <zzo38> 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 <zzo38> s/per package/per kilogram/
19:31:42 <b_jonas> 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 <b_jonas> this happens with carrots and radishes
19:32:31 <b_jonas> zzo38: yes, prepackaged stuff is sold by unit except in very rare cases that are clearly labeled
19:32:55 <b_jonas> there are two sorts of exceptions:
19:33:24 <b_jonas> 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 <b_jonas> 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 <zzo38> Yes; in that case, you would print the price and weight on the label of the individual package.
19:34:15 <zzo38> So the price is both per unit and per weight.
19:34:16 <b_jonas> there's no problem with packaged stuff
19:34:26 <b_jonas> the difficulty is more with the non-packaged stuff
19:34:50 <zzo38> So it is OK that it is like that, since the label mentions the price.
19:35:12 <zzo38> With non-packaged stuff the label still should make it clear about the price.
19:35:35 <zzo38> (If they don't specify, then, I think, it isn't very good.)
19:39:21 <b_jonas> admittedly many of the vendors do specify
19:49:57 <zzo38> 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 <esowiki> [[]] https://esolangs.org/w/index.php?diff=66642&oldid=63105 * Arseniiv * (+2582) elaborations for somebody
20:27:41 <arseniiv> 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:28:42 -!- kspalaiologos has joined.
20:29:42 <kspalaiologos> b) it's quicker to count atoms in universe than to run it
20:30:09 <arseniiv> (^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 <b_jonas> how can you be sure? if it's so slow, how do you debug it?
20:30:33 <kspalaiologos> the chess engine is just higher scale of the same thing
20:30:49 <kspalaiologos> https://github.com/KrzysztofSzewczyk/malbolge-chess
20:31:07 <b_jonas> 32 gigabytes is solvable these days
20:31:35 <kspalaiologos> anyone willing to borrow 24G and a quantum computer?
20:31:55 <b_jonas> a quantum computer? what for?
20:32:40 <kspalaiologos> the quantum computer is able to solve "puzzles" that conventional computers aren't able to
20:32:56 <b_jonas> puzzles maybe, but I don't think it helps for chess
20:32:57 <kspalaiologos> for example, it can break RSA encryption quite eaisly from what I've heard
20:33:42 <kspalaiologos> 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:34:21 <arseniiv> 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:35:01 <kspalaiologos> I have made once a SSE brainfuck interpreter, nothing is scary now
20:36:45 <kspalaiologos> to do it correctly you'd have to know the assembler structure
20:36:59 <kspalaiologos> 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 <zzo38> Trick NSA to make the computation for you, by using encryption.
20:50:45 <zzo38> b_jonas: Did you see the Magic: the Gathering card I mentioned and that Sgeo__ wrote a comment?
20:56:10 <b_jonas> does it have "Frore" in its name
20:57:06 <zzo38> 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 <b_jonas> hmm, there are fewer lizards now, because cards like Imperiosaur have been patched to Dinosaurs
21:02:04 <zzo38> Yes, but there still are some, including cards with changeling
21:02:43 <zzo38> (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 <zzo38> 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 <Sgeo__> b_jonas, any ideas about what fun can be had by effectively summoning a creature at mana ability speed?
22:17:06 <zzo38> 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 <zzo38> (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 <zzo38> (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 <zzo38> 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).