< 1498781930 0 :atslash!~atslash@broadband-46-188-0-82.2com.net JOIN :#esoteric < 1498783149 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1498783450 0 :atslash!~atslash@broadband-46-188-0-82.2com.net QUIT :Quit: Leaving < 1498783670 0 :augur!~augur@2601:643:8400:9b9b:4ce0:cc91:6b77:947f JOIN :#esoteric < 1498784308 0 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 240 seconds < 1498785892 0 :quintopia!~quintopia@unaffiliated/quintopia JOIN :#esoteric < 1498786094 0 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :how do < 1498786648 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net JOIN :#esoteric < 1498786666 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :`w < 1498786674 0 :doesthiswork!~Adium@207.55.82.87 JOIN :#esoteric < 1498786676 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :swatter//The swatter is a tool for punishment commonly found in #esoteric. Not to be confused with the saucepan or mapoles. < 1498787067 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`4 w < 1498787073 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :1/1:alogl//ALOGL is a logarithmic language. \ zork//Zork is like York, except for the first letter. Uaneb invented it. \ stalagmyte//A stalagmyte is eight stalagmits \ il//An il is a cohelix of pper wire. < 1498787193 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :helloochaf. < 1498787260 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :`5 w < 1498787267 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :1/2:rhenium//Rhenium is a precious metal. It can be found nowhere in Earth because the Enemy has used up all of it for forging the One Ring. \ vorpal//Vorpal writes software for boring machines. Really big ones. \ sbeef//Sbeef is the culinary name for meat from scow. \ homophone//Homophones are pairs of words that sound totally gay together. \ heff < 1498787272 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :ǹ < 1498787277 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :`n < 1498787278 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :2/2:alump//A heffalump is similar to a lump of sugar, but with honey instead. < 1498787549 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07User:Qwertyu6314]]4 10 02https://esolangs.org/w/index.php?diff=52342&oldid=52340 5* 03Qwertyu63 5* (-15) 10 < 1498788076 0 :Warrigal_!~tswett@unaffiliated/tswett QUIT :Ping timeout: 276 seconds < 1498788613 0 :augur!~augur@2601:643:8400:9b9b:4ce0:cc91:6b77:947f QUIT :Remote host closed the connection < 1498789047 0 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :helloily < 1498789285 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :quinthellopia! < 1498789299 0 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :il is a pretty great wisdom < 1498789339 0 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :rhenium is a pretty terrible wisdom < 1498789367 0 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :Borderlands TPS finished downloading :P < 1498789373 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :ah! :D < 1498789408 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :bonnuitopia! < 1498789412 0 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :if you want to saturday... < 1498789421 0 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :bonnenuily < 1498789431 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :I don't know where I'll be this weekend... < 1498789446 0 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :go to minneapolis < 1498789448 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net QUIT :Quit: HOW CHICKEN < 1498790095 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1498790292 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07User:Qwertyu6314]]4 10 02https://esolangs.org/w/index.php?diff=52343&oldid=52342 5* 03Qwertyu63 5* (+138) 10 < 1498790528 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Triple Threat14]]4 N10 02https://esolangs.org/w/index.php?oldid=52344 5* 03Qwertyu63 5* (+2913) 10Created page with "'''Triple Threat''' (hereafter TT) is a stack-based esolang. Every command modifies and juggles the numbers in one or two of three stacks. Each stack is capable of different a..." < 1498790713 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Set14]]4 10 02https://esolangs.org/w/index.php?diff=52345&oldid=50526 5* 03Qwertyu63 5* (+65) 10 < 1498790747 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07User:Qwertyu6314]]4 10 02https://esolangs.org/w/index.php?diff=52346&oldid=52343 5* 03Qwertyu63 5* (-2819) 10Replaced content with "Languages I've written:
* Writer and implementer of [[Stack Up]]. * Writer of [[Set]]; article and interpreter by Matheus Avellar. * Writer of [[Emoji-gramming]]. *..." < 1498790817 0 :sleffy!~sleffy@172.56.39.50 QUIT :Ping timeout: 240 seconds < 1498790935 0 :Zarutian!~zarutian@168-110-22-46.fiber.hringdu.is QUIT :Quit: Zarutian < 1498791457 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Triple Threat14]]4 10 02https://esolangs.org/w/index.php?diff=52347&oldid=52344 5* 03Qwertyu63 5* (+71) 10 < 1498791792 0 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1498791978 0 :sebbu2!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1498792189 0 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 255 seconds < 1498792897 0 :sleffy!~sleffy@108-74-161-76.lightspeed.sntcca.sbcglobal.net JOIN :#esoteric < 1498793925 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Did you see this? https://news.ycombinator.com/item?id=14634926 It is some thing with mathematics, everyone start same money and each step give one piece of money to someone else at random. What do you think is the distribution going to be? < 1498794642 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :I would expect something like a 1/x distribution < 1498794724 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Maybe something a bit fatter than that... I dunno < 1498795046 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :What is 1/x distribution? < 1498795107 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Like the graph of 1/x < 1498795147 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :(scaled somehow, and obviously discretized) < 1498795212 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :OK < 1498795226 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Now I understand < 1498795254 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :whoa whoa whoa < 1498795274 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38 did not strike me as the sort of person who comments on news.ycombinator.com < 1498795282 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :heh < 1498795286 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :this is tg < 1498795300 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :shachaf, why are you so obsessed over where conversations are taking place? :) < 1498795336 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Cale: Me? You're the one who's obsessed with it! < 1498795389 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Cale is always all, like, whoa, dude, why're you talking in #esoteric instead of ##categorytheory, man? < 1498795486 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Yeah, but the reason I ask is because you moved the conversation here :) < 1498795501 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :as if you're trying to avoid talking in the other channel < 1498795527 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :(when you were obviously listening there) < 1498795557 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :zzo38: Apparently the correct name for what I was thinking of is "Pareto distribution" < 1498795583 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Cale: O, OK. < 1498795589 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :(at least, if you think of it as a probability distribution) < 1498795626 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The reason is that some person gets an advantage randomly, but then they continue giving away a constant amount, rather than a percentage of their money, so it doesn't get reduced by as much? < 1498795641 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :They still have as much of a chance of getting a given dollar as before, but they aren't giving away as much. < 1498795642 0 :sleffy!~sleffy@108-74-161-76.lightspeed.sntcca.sbcglobal.net QUIT :Ping timeout: 276 seconds < 1498795937 0 :augur!~augur@noisebridge130.static.monkeybrains.net JOIN :#esoteric < 1498796064 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I have the following problem: I get some structured data every so often, and I want a user interface that can show the result of various queries run over it. < 1498796095 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Say the queries are SQL-ish, though I don't know what the query language is exactly. < 1498796115 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The queries are user-provided but stay relatively constant. On the other hand, the data changes all the time. < 1498796125 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This is kind of backwards from a typical database. < 1498796133 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is there a tool for this sort of thing? < 1498796145 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or a library that can be used to implement it? < 1498796152 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I don't know, although I have wanted to be able to do such thing with SQLite < 1498796200 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :(In SQLite, if using remote data, this might be done by implementing a virtual table, but you say you do not know what the query language is exactly, so that can't help.) < 1498796208 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Also it's a user interface so maybe I want it to be in JavaScript? < 1498796230 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :No I think SQL would be better < 1498796234 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :To be clear, all the old data is dropped when new data arrives. The queries are run exactly once over the new data, say every second. < 1498796254 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :SQL is fine but the UI might be written in JavaScript. < 1498796660 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I suppose you could. I probably would have used C, and then interfacing it with SQLite, implementing perhaps a virtual table module to retrieve the data. However, many thing you fail to mention, including, do you need the data to be plotted on a graph, or just a text, or both, and where does the data come from, and so on? What you need depend on many thing I think < 1498796677 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ideally, all the queries can be computed in one or two passes over the data. < 1498796717 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :For example many of the queries are summing different things. All the partial sums can be kept as state when iterating over the data once. < 1498796801 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Well, SQLite can do most of these optimizations automatically (although some are missing; it cannot keep state across different queries for example). < 1498796818 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :select sum(x) from foo; select type, sum(x) from foo group by type; < 1498796833 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The thing is that there are a lot of queries but only one copy of the data. < 1498797362 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Do you like Rice's theorem? < 1498797494 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net JOIN :#esoteric < 1498797693 0 :hppavilion[0]!~dosgmowdo@58-0-174-206.gci.net QUIT :Ping timeout: 260 seconds < 1498800861 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net QUIT :Ping timeout: 240 seconds < 1498804075 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@tell hppavilion[1] https://www.youtube.com/watch?v=sULa9Lc4pck < 1498804075 0 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Consider it noted. < 1498804227 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :shachaf: That problem sounds like what most of our application backends look like < 1498804253 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Non-video link: https://math.stackexchange.com/a/165225 < 1498804271 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Cale: Are these user-supplied queries, though? < 1498804278 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't know what your application is. < 1498804296 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :shachaf: I really want a database which is designed around that kind of interaction: you register queries with the backend, and get notified any time a transaction commits which affects the results of a registered query, with the changed rows. < 1498804353 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Cale: Well, this problem is different because the old data is thrown away all the time, so there's no reuse possible. < 1498804368 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :ah < 1498804374 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I think this is one of the things RethinkDB was trying to do? < 1498804374 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :shachaf: Well, our web applications generally have a notion of a "view selector", which is typically a big record containing a bunch of Maps expressing what data the frontend wants to display to the user, and those get delivered via websockets to the backend < 1498804378 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :https://www.rethinkdb.com/ < 1498804407 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(I was involved with RethinkDB but that was years before they added these features.) < 1498804416 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :and then the backend sends back views, which are similarly structured collections of Maps containing (patches against) the data that was requested < 1498804471 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I also saw this post about it, so who knows: http://blog.sagemath.com/2017/02/09/rethinkdb-vs-postgres.html < 1498804516 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :We're using postgresql's LISTEN/NOTIFY < 1498804552 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ah. < 1498804608 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Does rethink support queries that are similar to what is expressible with SQL? < 1498804662 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The post I linked to compares the two (that person migrated sagemath from rethinkdb to postgresql and found the latter much better for their purpose). < 1498804782 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Not that I particularly love SQL -- I'd really like to have an easy way to express sum types < 1498804789 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :(and express queries against them) < 1498804874 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: I can't remember what [redacted] does about sum types and SQL-like languages, but I think there may have been something? Do you think there exists a good query language that supports sum types well? < 1498804910 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :It bothers me that nobody bothered to put in a way to say "this column contains a primary key of table A, B, or C, and the information about which it is" < 1498804983 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :You always end up representing A + B as (1 + A)*(1 + B) in some fashion, because that's 1 + (A + B) + A*B, but accidents which result in 1 or A*B being stored are among the worst kinds of bug you can have. < 1498805028 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :(the kind where when your application screws up, it can involve humans making many phone calls to repair the damage) < 1498805124 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Can't you express that constraint in postgres? < 1498805266 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :You might be able to do something with an ugly trigger. < 1498805284 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Or were you thinking of something else? < 1498805361 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :(also using two columns) < 1498805474 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :create table foo (x int, y int, z int, check ((x is not null::int) + (y is not null::int) + (z is not null::int) = 1)); < 1498805485 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Seems to work. < 1498805552 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Hmm! < 1498805572 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :That's a cute way of expressing it < 1498805585 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :I wonder how much it affects performance < 1498805590 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, however you express it, the point is that it's a boolean expression that you can put into check. < 1498805615 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Well, really what I want is for the invalid options to be inexpressible :P < 1498805649 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I imagine it shouldn't affect performance much? < 1498805665 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sure, but a runtime check will save you those painful phone calls. < 1498805683 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :That is true :) < 1498805789 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Aha, https://stackoverflow.com/questions/15178859/postgres-constraint-ensuring-one-column-of-many-is-present < 1498805818 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Looks like someone has done this before. < 1498805964 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Usually what ends up happening, which doesn't actually solve the problem, but makes it harder to make the same mistake, and is nicer to write individual queries against, is whenever you would have had (A + B + C) * X, instead having three separate tables for A * X, B * X, and C * X, respectively. This doesn't scale very well if you have more than one sum type though. < 1498806027 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Well, it sort of kind of solves the problem, anyway < 1498806110 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :But also if you do that, it perverts the types you use to discuss your data over in Haskell land, in a way which isn't very nice. < 1498806122 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :(typically, anyway) < 1498806163 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Unless you take pains to do an extra translation away from what's actually stored in the DB -- you'll typically do a little of that, but it's more work then. < 1498806213 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :It's like this little problem that gradually makes a lot of code a whole bunch shittier than it otherwise could be < 1498806246 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :Maybe when the concat stuff that Ryan's been working on is ready, that will kill this bird as well. < 1498806286 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :He's been working on a way to translate Haskell code to SQL queries via Conal's constrained categories thing < 1498806332 0 :Cale!~cale@2607:fea8:98df:ec9f:9d0c:a035:8502:2613 PRIVMSG #esoteric :... because we also have the problem that we end up expressing all our queries both in SQL and then again in Haskell, and it's nearly always a bug if they don't agree. < 1498806772 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@metar lowi < 1498806773 0 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :LOWI 300550Z VRB02KT 9999 FEW010 SCT180 12/10 Q1011 NOSIG < 1498807058 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net JOIN :#esoteric < 1498807428 0 :erkin!~erkin@unaffiliated/erkin QUIT :Read error: Connection reset by peer < 1498807493 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net QUIT :Ping timeout: 260 seconds < 1498807551 0 :doesthiswork!~Adium@207.55.82.87 QUIT :Quit: Leaving. < 1498807996 0 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1498808130 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :@metar ENVA < 1498808130 0 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :ENVA 300620Z 09006KT CAVOK 18/05 Q1010 NOSIG RMK WIND 670FT 14010KT < 1498808141 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :SUMMER < 1498808448 0 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :@metar ESSB < 1498808449 0 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :ESSB 300620Z 05016KT CAVOK 19/08 Q1002 < 1498809039 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net JOIN :#esoteric < 1498809062 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :hppavilion[1]: see video < 1498810189 0 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 276 seconds < 1498810408 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net PRIVMSG #esoteric :shachaf: ...which? < 1498810413 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net PRIVMSG #esoteric :Oh, lambdabot < 1498810419 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net PRIVMSG #esoteric :@messages-loud < 1498810420 0 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :shachaf said 1h 45m 44s ago: https://www.youtube.com/watch?v=sULa9Lc4pck < 1498810461 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net PRIVMSG #esoteric :shachaf: Ah, seen it, like it. What was the context for this again? < 1498810503 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :1/(1/a + 1/b) < 1498811216 0 :idris-bot!~idris-bot@dslb-088-064-059-129.088.064.pools.vodafone-ip.de QUIT :Ping timeout: 260 seconds < 1498811272 0 :Melvar!~melvar@dslb-088-064-059-129.088.064.pools.vodafone-ip.de QUIT :Ping timeout: 260 seconds < 1498811288 0 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1498811494 0 :sebbu2!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 255 seconds < 1498811733 0 :Vorpal!~Vorpal@c83-253-248-85.bredband.comhem.se JOIN :#esoteric < 1498811733 0 :Vorpal!~Vorpal@c83-253-248-85.bredband.comhem.se QUIT :Changing host < 1498811733 0 :Vorpal!~Vorpal@unaffiliated/vorpal JOIN :#esoteric < 1498811776 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :raptor jesus http://www.mezzacotta.net/dinosaur/ < 1498812952 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 JOIN :#esoteric < 1498813493 0 :Melvar!~melvar@88.64.59.129 JOIN :#esoteric < 1498814312 0 :Vorpal!~Vorpal@unaffiliated/vorpal QUIT :Quit: ZNC - http://znc.sourceforge.net < 1498814355 0 :AnotherTest!~turingcom@ptr-82l26zcuuqhvhyr8nha.18120a2.ip6.access.telenet.be JOIN :#esoteric < 1498814456 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Befunge14]]4 10 02https://esolangs.org/w/index.php?diff=52348&oldid=51642 5* 03Vorpal 5* (-2) 10/* Befunge-98 and beyond */ Update URL for cfunge < 1498815050 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :oh Vorpal managed to log on < 1498817776 0 :LKoen!~LKoen@2a01:e35:2eed:a430:915a:5e72:3727:c64a JOIN :#esoteric < 1498818346 0 :augur!~augur@noisebridge130.static.monkeybrains.net QUIT :Remote host closed the connection < 1498818465 0 :augur!~augur@noisebridge130.static.monkeybrains.net JOIN :#esoteric < 1498818745 0 :augur!~augur@noisebridge130.static.monkeybrains.net QUIT :Ping timeout: 268 seconds < 1498819785 0 :`^_^v!~nycs@cpe-98-14-70-190.nyc.res.rr.com JOIN :#esoteric < 1498820368 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I can see all of the SMART attribute values in my computer, but what am I supposed to do with these numbers? It reports a worst temperature of 50 and a current value of 33; what numbers are normally expected? Attribute 9 (Power_On_Hours) has normalized value 1, which is close to the threshold of 0 (but not quite); is this supposed to be of any concern? There are errors such as "Error 341 occurred at disk power-on lifetime: 21029 hours (876 days + 5 < 1498820538 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :No failures are reported though. < 1498821294 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no QUIT :Quit: Nite < 1498821546 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1498821590 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :ais523: hi < 1498821630 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :ais523: four stacks are enough for Turing-completeness in StackFlow < 1498821653 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :good to know < 1498821655 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :and you don't even need counter (Minsky) machines or exponential time loss for that < 1498821665 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :the construction is easy too: < 1498821666 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is this an existence proof or a constructive proof? < 1498821671 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :constructive proof < 1498821752 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :Consider a machine with two stacks and two symbols available for the stacks, such that underflowing the stack isn't allowed, but you can have any number of states. This is Turing-complete, because you can compile an ordinary two-stack machine down to it by representing symbols as multiple symbols. < 1498821782 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :definitely < 1498821861 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :We want to compile this to StackFlow with four stacks. Stacks 1 and 2 in the StackFlow host simulate the two stacks of the guest in a straightforward way. Stacks 3 and 4 normally store garbage that we can't clean up. < 1498821976 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :For stack 3 and 4, have an alphabet that has one symbol for each state of the guest. When the guest wants to push to a stack, the host just pushes. When the guest wants to pop, the host first push the two possible next states of the guest to stacks 3 and 4, then pop the corresponding stack of the host. < 1498822004 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :The host has a rule that when 0 is popped from stack 1 or 2, you pop stack 3, and if 1 is popped from stack 1 or 2, you pop stack 4. < 1498822039 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh yes, that works < 1498822054 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you're basically just using stacks 3 and 4 as variables < 1498822060 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :where only the top element matters < 1498822063 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :to remember what you're doing < 1498822082 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :yes < 1498822108 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :I don't yet know what StackFlow with two or three stacks can do. < 1498822461 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that said, I wonder how many states your 4-StackFlow example needs for TCness < 1498822471 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and how it compares to Magic's creature types < 1498822478 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(I'm aware the existing construction is slightly broken…) < 1498822515 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :it needs as many symbols for stack 3 and stack 4 as the original has states < 1498822544 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :and... um, where's that list of how many symbols and states can do universal Turing machines? < 1498822556 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :we can create starting elements in the stack for free in this construction < 1498822568 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :`? universal turing machine < 1498822569 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :universal turing machine? ¯\(°​_o)/¯ < 1498822702 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :15 states and 2 symbols for a Turing-machine are supposedly enough. with an end of tape marker symbol you can turn that to... um, about 30 states and 3 symbols for a two-stack machine if underflowing stacks isn't allowed, < 1498822734 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :then with a double symbol representation you turn that to about 90 states and 2 symbols for a two-stack machine, < 1498822745 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :that should probably fit in M:tG < 1498822761 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :you can probably do it with fewer with smarter constructions < 1498822875 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :hmm, even 60 states should be enough if you go from 3 symbols to 2 symbols < 1498822990 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you could do something minimax-like, where you determine the bottom of the stacks "in software" < 1498822998 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :rather than needing a separate state to represent it < 1498823050 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :sure, but then you'd have to construct a new small universal machine (tape or stack) from scratch, rather than just use the existing hard results about small universal Turing-machines < 1498823343 0 :augur!~augur@2602:304:cdac:e260:2d1f:e253:231e:4ef8 JOIN :#esoteric < 1498823384 0 :idris-bot!~idris-bot@dslb-088-064-059-129.088.064.pools.vodafone-ip.de JOIN :#esoteric < 1498823434 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :it might be the easiest to start from a universal tape machine that needs an infinite periodic pattern on the tape, since a periodic pattern is cheap to create from end markers in a two-symbol stack machine < 1498823473 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :but I can't do calculations for that, because I don't know how long the periodic pattern is, and it does consume states in the stack machine < 1498824128 0 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1498824198 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1498824585 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net JOIN :#esoteric < 1498825263 0 :augur!~augur@2602:304:cdac:e260:2d1f:e253:231e:4ef8 QUIT :Remote host closed the connection < 1498826589 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net QUIT :Ping timeout: 268 seconds < 1498826593 0 :jaboja!~jaboja@jaboja.pl JOIN :#esoteric < 1498828279 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net JOIN :#esoteric < 1498828562 0 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1498828632 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1498831236 0 :doesthiswork!~Adium@207.55.82.87 JOIN :#esoteric < 1498831501 0 :`^_^v!~nycs@cpe-98-14-70-190.nyc.res.rr.com QUIT :Quit: This computer has gone to sleep < 1498832498 0 :augur!~augur@2602:304:cdac:e260:2d1f:e253:231e:4ef8 JOIN :#esoteric < 1498832652 0 :`^_^v!~nycs@gw.hq.meetup.com JOIN :#esoteric < 1498832770 0 :augur!~augur@2602:304:cdac:e260:2d1f:e253:231e:4ef8 QUIT :Ping timeout: 276 seconds < 1498835201 0 :doesthiswork!~Adium@207.55.82.87 QUIT :Quit: Leaving. < 1498835500 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=52349&oldid=52282 5* 03Qwertyu63 5* (+30) 10 < 1498835527 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07StackFlow14]]4 10 02https://esolangs.org/w/index.php?diff=52350&oldid=41661 5* 03B jonas 5* (+2380) 10 < 1498835707 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :ais523: for the M:tG simulation, the other Alex's construction also uses Noxious Ghoul and Rotlung Reanimator. Does it also have the same bug as your construction? If not, I should find out how he avoids the bug; if not, we should mail him a question. < 1498835811 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net QUIT :Ping timeout: 240 seconds < 1498835820 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: it tells the players to do stacking order explicitly < 1498835851 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :rather than trying to force it via the game rules < 1498836411 0 :jaboja!~jaboja@jaboja.pl QUIT :Ping timeout: 240 seconds < 1498837093 0 :DHeadshot!~DHeadshot@cpc88301-woki8-2-0-cust688.6-2.cable.virginm.net JOIN :#esoteric < 1498837632 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :ais523: but... isn't that cheating? < 1498837642 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :not in the M:tG sense, but for the construction < 1498837661 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :IMO yes, that's why I wanted a construction with no player choices < 1498837678 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :ok, I should probably just forget the original construction < 1498838307 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :The proof mentions Elixir of Immortality, and I was wondering what was the older tech (say before Coldsnap) for recycing all cards from your graveyard to your library, and whether you needed some horrific slow combo for it. Apparently it's Reminisce, from Onslaught. < 1498838315 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :!card-by-name Reminisce < 1498838344 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :I mean reshuffling all cards without losing any cards or other resources. There are a lot of ways to reshuffle only creatures, or reshuffle in exchange for exiling one card. < 1498838389 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :Not programming but have you guys seen http://www.mezzacotta.net/magic/goldfish/ < 1498838401 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :Similar idea of Magic exploits < 1498839207 0 :DHeadshot!~DHeadshot@cpc88301-woki8-2-0-cust688.6-2.cable.virginm.net QUIT :Ping timeout: 240 seconds < 1498840370 0 :AnotherTest!~turingcom@ptr-82l26zcuuqhvhyr8nha.18120a2.ip6.access.telenet.be QUIT :Ping timeout: 240 seconds < 1498840379 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :Taneb: yes, I know about that. And I hear if you use similar game rules but don't restrict to a cube that tries to make such combos hard, then you can get MUCH bigger loops. < 1498840659 0 :AnotherTest!~turingcom@ptr-82l26ze7mm4q737w3j4.18120a2.ip6.access.telenet.be JOIN :#esoteric < 1498840917 0 :ais523!~ais523@unaffiliated/ais523 QUIT :Ping timeout: 240 seconds < 1498841477 0 :DHeadshot!~DHeadshot@cpc88301-woki8-2-0-cust688.6-2.cable.virginm.net JOIN :#esoteric < 1498843925 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1498843944 0 :__kerbal__!aeffc4b7@gateway/web/freenode/ip.174.255.196.183 JOIN :#esoteric < 1498844008 0 :__kerbal__!aeffc4b7@gateway/web/freenode/ip.174.255.196.183 PRIVMSG #esoteric :Hi < 1498844266 0 :* Taneb!~Taneb@2001:41c8:51:10d: PRIVMSG #esoteric :tries to find a place to live in Cambridge < 1498844365 0 :fizzie!?@? PRIVMSG #esoteric :Want me to ask a former Cambridge-er? < 1498844378 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :I think I've found something < 1498844382 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :But thanks for the offer < 1498844439 0 :__kerbal__!aeffc4b7@gateway/web/freenode/ip.174.255.196.183 QUIT :Ping timeout: 260 seconds < 1498844440 0 :fizzie!?@? PRIVMSG #esoteric :I thought the river in Cambridge was pretty nice. < 1498844443 0 :fizzie!?@? PRIVMSG #esoteric :Full of people though. < 1498844483 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :It's certainly picturesque < 1498844842 0 :__kerbal__!aeffc4b7@gateway/web/freenode/ip.174.255.196.183 JOIN :#esoteric < 1498845349 0 :__kerbal__!aeffc4b7@gateway/web/freenode/ip.174.255.196.183 QUIT :Ping timeout: 260 seconds < 1498845469 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :2001, a space oddysey: first there a black rectangle after that there'a a bunch of monkees and then a spaceship and then more spaceship for a while, and after that a weird old man who becomes a mutant baby, the end < 1498845728 0 :z0d!~z0d@unaffiliated/z0d PRIVMSG #esoteric :what about HAL? < 1498845751 0 :z0d!~z0d@unaffiliated/z0d PRIVMSG #esoteric :and the guys who found the monolith and got lost? < 1498845784 0 :AnotherTest!~turingcom@ptr-82l26ze7mm4q737w3j4.18120a2.ip6.access.telenet.be QUIT :Ping timeout: 255 seconds < 1498845827 0 :`^_^v!~nycs@gw.hq.meetup.com QUIT :Quit: This computer has gone to sleep < 1498845861 0 :`^_^v!~nycs@gw.hq.meetup.com JOIN :#esoteric < 1498846088 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 JOIN :#esoteric < 1498846239 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 QUIT :Client Quit < 1498846817 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Quit: Leaving < 1498847013 0 :`^_^v!~nycs@gw.hq.meetup.com QUIT :Quit: This computer has gone to sleep < 1498847079 0 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1498847568 0 :`^_^v!~nycs@gw.hq.meetup.com JOIN :#esoteric < 1498847614 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1498847672 0 :* Taneb!~Taneb@2001:41c8:51:10d: PRIVMSG #esoteric :has a work email now! < 1498847679 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :Really beginning to feel like an Adult < 1498847731 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :Tanelle. are you wearing a necktie? do you fill your own taxes? do you listen to Top40 radio? what is an adult? < 1498847799 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :boily, no, I don't think anyone in the UK who's not self-employed does, I listen to BBC Radio 4 so maybe I've got that one beat, don't know < 1498848145 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :filling taxes, hmm. < 1498848163 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :boily: an adult is an expert in adulery, I always thought. < 1498848165 0 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1498848221 0 :`^_^v!~nycs@gw.hq.meetup.com QUIT :Quit: This computer has gone to sleep < 1498848234 0 :`^_^v!~nycs@gw.hq.meetup.com JOIN :#esoteric < 1498848727 0 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1498848798 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1498849205 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :How will my method for encoding a Huffman table compare with that used in DEFLATE? < 1498849250 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :(It might depend on how it encodes numbers, which is the part that I did not specify.) < 1498849669 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :someone should make a new centralized VCS and call it eht, to come after svn < 1498850481 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :zzo38: wait, you have a new method for encoding a Huffman table? when was that? < 1498850507 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :zzo38: different from DEFLATE and jpeg and other (more modern) compressed formats? < 1498850554 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Note that encoding a Huffman *table* is just the small bit telling you what the table is, without any actual data. < 1498850572 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Most specs using Huffman encoding use somewhat different mechanisms. < 1498850749 0 :erkin!~erkin@unaffiliated/erkin QUIT :Ping timeout: 276 seconds < 1498850948 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :My method has the property that a prefix of any sufficiently long sequence of bits will encode a valid Huffman table, and that the encoding is bijective (you are guaranteed to get the same bits if you decode and then reencode the same Huffman table; if you alter the Huffman table it will change though) < 1498851174 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :You have a number of remaining 62-bit codes, which is initially 2^62. Every time a code length is transmitted, this value is reduced by 2^(62-n) if n is the code length transmitted; is used to determine which code lengths are still valid. < 1498851305 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Code a 1 bit followed by a number to encode a used symbol, where the number is the index into the MRU list of code lengths. If the number exceeds the code lengths in use, then they are ascending numbers, and all of them up to and including the chosen code length are put into beginning of MRU list in reverse order; otherwise it is a normal MRU list. < 1498851354 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Code a 0 bit followed by a number to specify that many unused symbols; if there are remaining symbols needed, the index into the MRU list is coded next without an intervening 1 bit. < 1498851377 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Numbers have a minimum value of 1 and a maximum value that varies. < 1498851495 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Since the number of remaining 62-bit codes has to be zero at the end, this can be used to decide how many further unused symbols are possible, and when near the end what code lengths may still be in use too. If no further unused symbols are possible, the intervening 1 bit is not needed, and if the maximum value of a number is 1, the number is encoded with no bits. < 1498851518 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :wob_jonas: That is how it is work; can you understand them now? < 1498852007 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :It may be helpful to initialize the MRU list, although I am unsure. < 1498852255 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net QUIT :Quit: VITAL CHICKEN < 1498852457 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :The other thing to consider is if, due to the kind of data expected to be encoded, it might help to alter the order of the symbols rather than just 0 to 255 or whatever. < 1498853041 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :zzo38: I don't think I followed that because I don't really remember how Huffman tables are supposed to work, but ok < 1498853086 0 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1498853156 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1498853200 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net JOIN :#esoteric < 1498853351 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :They are code lengths as number of bits needed to encode that symbol. For example, if you have input with three symbols A, B, C, and if A is much more common than B and C, then you might encode A as "0", B as "10", and C as "11". < 1498853434 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 JOIN :#esoteric < 1498853459 0 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1498853490 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :That is how Huffman codes are working. < 1498853528 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1498853537 0 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1498853859 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07User:B jonas14]]4 10 02https://esolangs.org/w/index.php?diff=52351&oldid=50895 5* 03B jonas 5* (+92) 10 < 1498854049 0 :_fractal_!fractal@unaffiliated/scounder QUIT :Ping timeout: 255 seconds < 1498854301 0 :shikhin!shikhin@unaffiliated/shikhin QUIT :Ping timeout: 240 seconds < 1498854301 0 :catern!~catern@catern.com QUIT :Ping timeout: 260 seconds < 1498854441 0 :catern!~catern@catern.com JOIN :#esoteric < 1498854442 0 :shikhin!shikhin@unaffiliated/shikhin JOIN :#esoteric < 1498854453 0 :LKoen!~LKoen@2a01:e35:2eed:a430:915a:5e72:3727:c64a QUIT :Ping timeout: 255 seconds < 1498854480 0 :LKoen!~LKoen@2a01:e35:2eed:a430:915a:5e72:3727:c64a JOIN :#esoteric < 1498854667 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :LKoen! < 1498854703 0 :LKoen!~LKoen@2a01:e35:2eed:a430:915a:5e72:3727:c64a PRIVMSG #esoteric :rdococ! < 1498854765 0 :fractal_!fractal@unaffiliated/scounder JOIN :#esoteric < 1498855059 0 :`^_^v!~nycs@gw.hq.meetup.com QUIT :Quit: This computer has gone to sleep < 1498855269 0 :ais523!~ais523@unaffiliated/ais523 QUIT :Read error: Connection reset by peer < 1498855514 0 :LKoen!~LKoen@2a01:e35:2eed:a430:915a:5e72:3727:c64a PRIVMSG #esoteric :what's up? < 1498855537 0 :`^_^v!~nycs@gw.hq.meetup.com JOIN :#esoteric < 1498855554 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1498855708 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 PRIVMSG #esoteric :wob_jonas: If you are still on in a few hours, I might bring Integbot online so that you can finally see how user-defined functions work < 1498855747 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 PRIVMSG #esoteric :I'm not in a place where I can do it right now, though < 1498856636 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Special:Log/newusers14]]4 create10 02 5* 03Zayne 5* 10New user account < 1498856866 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=52352&oldid=52285 5* 03Zayne 5* (+164) 10/* Introductions */ < 1498856882 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Hello14]]4 10 02https://esolangs.org/w/index.php?diff=52353&oldid=33573 5* 03Zayne 5* (+186) 10adding my interpreter < 1498856893 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :kerbal: ok, if you do bring it up, please try int-e's quine and put it on the wiki < 1498856895 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07User:Zayne14]]4 N10 02https://esolangs.org/w/index.php?oldid=52354 5* 03Zayne 5* (+42) 10Created page with "I made the Hello Interpreter in Python 3.5" < 1498856978 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 PRIVMSG #esoteric :ok, I will definitely do that < 1498857275 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Hello++14]]4 10 02https://esolangs.org/w/index.php?diff=52355&oldid=45181 5* 03Zayne 5* (+275) 10 < 1498857403 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 PRIVMSG #esoteric :Sorry I didn't do it earlier; forgot < 1498857471 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Hello++++14]]4 10 02https://esolangs.org/w/index.php?diff=52356&oldid=51054 5* 03Zayne 5* (+169) 10/* Interpreters */ < 1498857746 0 :augur!~augur@2602:304:cdac:e260:2d1f:e253:231e:4ef8 JOIN :#esoteric < 1498857979 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 PRIVMSG #esoteric :So, I've been thinking about making Integ's sister language Floateg < 1498857990 0 :augur!~augur@2602:304:cdac:e260:2d1f:e253:231e:4ef8 QUIT :Ping timeout: 240 seconds < 1498858028 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 PRIVMSG #esoteric :Floateg would have a continuous non-discrete tape, where explicitly provided values define a piecewise curve < 1498858093 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 PRIVMSG #esoteric :In this way, you can have non-integer addresses; Floateg would figure out what value a non-provided address should have < 1498858107 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 PRIVMSG #esoteric :with the piecewise curve < 1498858272 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 PRIVMSG #esoteric :For instance, if you wrote 0 to address 0 and 1 to address 1, address 0.5 would be computed as 0.5. < 1498858335 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net QUIT :Ping timeout: 268 seconds < 1498858850 0 :`^_^v!~nycs@gw.hq.meetup.com QUIT :Quit: This computer has gone to sleep < 1498858939 0 :DHeadshot!~DHeadshot@cpc88301-woki8-2-0-cust688.6-2.cable.virginm.net QUIT :Ping timeout: 276 seconds < 1498860161 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :BJARNE STROUSTRUP made the output formatting in ostream STATEFUL meaning that after any long operation you have to reset it < 1498860165 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :HE IS THE WORST INCOMPETENT ASSHOLE IN ALL THE HISTORY OF COMPUTER SCIENCE < 1498860253 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :\oren\: yes, and that's just one of the multiple stupid problems the C++ standard library formatted IO has < 1498860297 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :\oren\: however, from looking at various languages, I think that designing a good formatted IO library is REALLY hard, there are very few times anyone has succeeded in it, < 1498860313 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Such as? < 1498860316 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :so Bjarne isn't really incompetent compared to other language designers. < 1498860335 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :shachaf: I happen to like C's printf and scanf. < 1498860371 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's convenient but not type-safe. < 1498860406 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :And unlike many old designs, printf/scanf has become better as the language aged, because now compilers can check the types for you at compile time (unless you use a dynamic format spec). < 1498860518 0 :augur!~augur@noisebridge130.static.monkeybrains.net JOIN :#esoteric < 1498860997 0 :__kerbal__!a2866206@gateway/web/freenode/ip.162.134.98.6 QUIT :Quit: Page closed < 1498861239 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :hi < 1498861288 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :hi, rdococ < 1498861290 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric : shachaf: I happen to like C's printf and scanf. ← I've seen someone argue to me on reddit that printfalikes are in general a really large security hole, and I'm not convinced I disagree < 1498861311 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :From which angle? < 1498861318 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :ais523: I think they're a security hole only if people use variable format specs < 1498861344 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :ideally a printf-like should have as easy syntax as printf, but the format string and type of arguments should be checked at compile time < 1498861351 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they were also implicated as a common vector for the recent stack overlap exploit < 1498861369 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :rust's printf macros do the compile time checking right, but fail horribly in most other respects < 1498861369 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :OCaml has a printf close to what you describe, IIRC < 1498861376 0 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1498861445 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :all it really needs is to do something like < 1498861465 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :cout.print(some_double); < 1498861482 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :and then have precision etc as optional argumnets < 1498861513 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :\oren\: no no no, a template string is usually a better idea than that (though you could have something like that as a backend exposed in the api) < 1498861526 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :or if you have a hardon for operator overloading, use operato() < 1498861536 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :for two reasons: < 1498861545 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :cout(some_double,3,3) < 1498861592 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :The PRINTF() SQL function in SQLite will check that the format is OK; it will only do this if you call it as a SQL function though < 1498861681 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :when you print several values together (which often happens), the template syntax is much shorter and thus more readable, which is great. in C++ stdlib, which doesn't use a template string, people (including me) often make the mistake of forgetting to print a separator between two values, < 1498861719 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :because in all the verbose cout << "pos=(" << setprecision(6) << obj.position.x[0] << "," << obj.position.x[1] << ")," nonsense, you don't notice that you've forgotten a << " " << somewhere. the result is running a program for two hours, then noticing that you can't use the output because two numbers are printed directly ran together. < 1498861761 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :(This is a problem even if the formatting state set by setprecision and similar isn't persistent.) < 1498861797 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :Whereas if you write printf("pos=(%.6g,%.6g)", verbose stuff here, then you are much less likely to forget a separator < 1498861839 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :C++11 variadic templates are TG < 1498862024 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :Luckily most languages these days are sane enough that none of this stuff is built in. In C++, you can just use printf, or write a new output library, rather than use the C++ stdlib stream output functions. In rust too, you could write better printf macros, and I hope someone will (and I might try myself, but there are certain difficulties). < 1498863239 0 :augur!~augur@noisebridge130.static.monkeybrains.net QUIT :Remote host closed the connection < 1498864010 0 :__kerbal__!aeffc4b7@gateway/web/freenode/ip.174.255.196.183 JOIN :#esoteric < 1498864048 0 :__kerbal__!aeffc4b7@gateway/web/freenode/ip.174.255.196.183 PRIVMSG #esoteric :I don't think that I am going to be able to activate Integbot tonight, but there's a slight possibility of it, I guess < 1498864319 0 :__kerbal__!aeffc4b7@gateway/web/freenode/ip.174.255.196.183 QUIT :Ping timeout: 260 seconds < 1498864349 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Can you write type-safe printf with C++ templates? < 1498864391 0 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :yes < 1498864410 0 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :but only if the format string is constant of course < 1498864419 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :shachaf: in modern enough C++, yes. < 1498864443 0 :wob_jonas!53fdf1ea@gateway/web/cgi-irc/kiwiirc.com/ip.83.253.241.234 PRIVMSG #esoteric :shachaf: the problem is that in older C++, you can't read the template string at compile time < 1498864449 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Right. < 1498864587 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :you could do it with C macros < 1498864612 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No you couldn't. < 1498864646 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :it would jsut ahve to have some arbitrary limit on number of inputs < 1498864665 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :for example, eight < 1498864717 0 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :you couldn't parse the string out though still < 1498864749 0 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :you'd have to do something weird like FMT_STRING("foo", FMT_STRING_VAR, "bar") < 1498864786 0 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :and if you allow that then you could do the same with just variadic templates in C++ I think < 1498864798 0 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :(or non-variadic ones up to a fixed length) < 1498864828 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :actually hold on, I have an idea: suppose that format strings were not just string < 1498864843 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :instead, like in Fortran, have a format object < 1498864874 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :that you initialize using a string < 1498864959 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :cout << mkformat("apples % oranges %") << 2 << 5; < 1498865045 0 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :\oren\: you can't do that type safely though < 1498865086 0 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :you need to get the string into the arguments to a template and by far the easiest way is via user-defined literals < 1498865186 0 :sleffy!~sleffy@172.56.39.40 JOIN :#esoteric < 1498865500 0 :Warrigal_!~tswett@unaffiliated/tswett JOIN :#esoteric < 1498866126 0 :DHeadshot!~DHeadshot@cpc88301-woki8-2-0-cust688.6-2.cable.virginm.net JOIN :#esoteric < 1498866404 0 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 260 seconds < 1498866571 0 :AnotherTest!~turingcom@ptr-82l26ze7mm4q737w3j4.18120a2.ip6.access.telenet.be JOIN :#esoteric < 1498866956 0 :DHeadshot!~DHeadshot@cpc88301-woki8-2-0-cust688.6-2.cable.virginm.net QUIT :Ping timeout: 268 seconds