←2017-09-23 2017-09-24 2017-09-25→ ↑2017 ↑all
00:10:06 -!- sleffy has joined.
00:31:28 -!- MDead has joined.
00:32:26 -!- MDude has quit (Ping timeout: 246 seconds).
00:32:33 -!- MDead has changed nick to MDude.
00:35:22 -!- oerjan has joined.
00:41:22 -!- Antoxyde has quit (Quit: Leaving).
00:59:36 -!- tromp has quit (Remote host closed the connection).
01:19:01 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:21:24 -!- doesthiswork has joined.
01:35:04 -!- MrBusiness has joined.
01:36:28 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
01:38:30 <HackEgo> [wiki] [[User:Elronnd/brainfcuk]] https://esolangs.org/w/index.php?diff=53113&oldid=50025 * Elronnd * (+59) Updates.
02:05:35 -!- imode has joined.
02:40:11 -!- hppavilion[1] has joined.
03:00:26 -!- ATMunn has quit (Quit: See ya! o/).
03:09:09 -!- hppavilion[1] has quit (Quit: HRII'FHALMA MNAHN'K'YARNAK NGAH NILGH'RI'BTHNKNYTH).
03:16:05 -!- jaboja has quit (Remote host closed the connection).
03:28:03 <zzo38> Why are some X events going missing when reading by SDL?
03:38:08 -!- sebbu2 has joined.
03:41:42 -!- sebbu has quit (Ping timeout: 252 seconds).
03:50:32 -!- Sgeo_ has joined.
03:51:16 <zzo38> Somehow it seems to be dropping events. Is it X or SDL that is doing that?
03:52:45 -!- Sgeo has quit (Ping timeout: 240 seconds).
04:04:50 <zzo38> I can try to fix it anyways though
04:05:05 -!- sleffy has quit (Ping timeout: 248 seconds).
04:26:32 -!- sleffy has joined.
04:32:56 -!- tromp has joined.
04:35:36 -!- ^v has quit (Ping timeout: 246 seconds).
04:37:57 -!- tromp has quit (Ping timeout: 260 seconds).
04:45:35 -!- clog has quit (Ping timeout: 248 seconds).
05:12:27 -!- sebbu2 has quit (Ping timeout: 252 seconds).
05:26:27 <zzo38> Adding a call to usleep() in the program that sends the X events seems to help, but I am not sure why.
05:26:31 <zzo38> Do you know why?
05:26:44 <zzo38> (Even 1 microsecond seems to be sufficient)
05:27:44 -!- tromp has joined.
05:32:05 -!- tromp has quit (Ping timeout: 240 seconds).
05:35:29 -!- Cale has quit (Remote host closed the connection).
05:52:47 <shachaf> Maybe it causes a context switch?
05:56:03 <zzo38> Maybe; I don't know. The man page says "The sleep may be lengthened slightly by any system activity", and maybe it is related to that.
05:59:36 -!- oerjan has quit (Quit: Nite).
06:21:36 -!- tromp has joined.
06:26:25 -!- tromp has quit (Ping timeout: 248 seconds).
06:57:19 -!- doesthiswork has quit (Quit: Leaving.).
07:02:48 -!- tromp has joined.
07:11:20 <zzo38> There was another problem, but now I fixed that other problem too.
07:38:51 -!- tromp has quit (Remote host closed the connection).
07:51:37 -!- hppavilion[1] has joined.
07:54:14 <HackEgo> [wiki] [[Glass]] https://esolangs.org/w/index.php?diff=53114&oldid=53112 * Zzo38 * (+23) Correct a link to a disambiguation page
08:27:41 -!- tromp has joined.
08:29:16 -!- Antoxyde has joined.
08:32:17 -!- tromp has quit (Ping timeout: 248 seconds).
08:56:50 -!- zzo38 has quit (Remote host closed the connection).
08:57:05 -!- impomatic has joined.
09:00:24 -!- zzo38 has joined.
09:01:07 -!- AnotherTest has joined.
09:04:32 -!- sleffy has quit (Ping timeout: 260 seconds).
09:34:52 -!- zseri has joined.
09:35:23 -!- hppavilion[0] has joined.
09:37:21 <zzo38> I found the esolang wiki article about imaginary function
09:38:47 -!- tromp has joined.
09:38:57 -!- hppavilion[1] has quit (Ping timeout: 248 seconds).
09:44:01 <shachaf> Do you like this?
09:49:21 * impomatic wonders what an imaginary function is
09:57:03 <zzo38> So far I don't know. But it look OK so far (assuming they are pure functions; otherwise I do not expect it work)
09:59:49 -!- doesthiswork has joined.
10:26:21 -!- ais523 has quit (Ping timeout: 240 seconds).
10:43:28 -!- LKoen has joined.
10:52:23 -!- doesthiswork has quit (Quit: Leaving.).
11:09:19 -!- wob_jonas has joined.
11:11:48 -!- Antoxyde has quit (Remote host closed the connection).
11:12:29 -!- Antoxyde has joined.
11:50:13 -!- sebbu has joined.
11:51:33 -!- sebbu2 has joined.
11:55:03 -!- sebbu has quit (Ping timeout: 252 seconds).
11:58:25 -!- Phantom_Hoover has joined.
12:22:54 -!- LKoen has quit (Remote host closed the connection).
13:04:51 -!- imode has quit (Ping timeout: 246 seconds).
13:32:33 -!- ais523 has joined.
13:32:58 <wob_jonas> ais523: ping
13:33:12 <ais523> pong
13:33:57 <wob_jonas> I've been reading the copyright laws for Hungary, namely "http://net.jogtar.hu/jr/gen/hjegy_doc.cgi?docid=99900076.TV#pr215id" . This seems to explain why the legal terms in many of the free licenses are so long and complicated.
13:34:35 <ais523> assuming that link is in Hungarian, I'm unlikely to be able to understand it
13:34:46 <wob_jonas> sure, but I'll tell more
13:34:46 <ais523> the copyright laws in the UK are pretty complex too, though :-(
13:35:06 <ais523> at least they're usually unambiguous, although they also tend to disallow things in situations where other legal systems are ambiguous
13:35:10 <wob_jonas> The law regulates such copyright-related licenses that transfer rights regulated by the copyright law. It says how certain settings are defaulted if they're not mentioned in a license.
13:35:52 <wob_jonas> And the defaults are almost always such that they are less permissive for the receiver.
13:36:16 <ais523> yes, that's standard
13:36:23 <wob_jonas> In particular, it says that the license can be given only for particular uses on praticular media, and only for uses known at the time I give the license;
13:36:34 <ais523> "default-all-rights-reserved" is a license name I refer to often for a reason
13:37:28 <wob_jonas> that the time length of the license defaults to whatever is usual for that type of work (this shouldn't be a problem for software, which is usually permanently licensed, it's there for licencing book publishing rights towards publishers, but note that it also gives specific rules for specific types of works),
13:38:22 <wob_jonas> and most importantly, it says that the license defaults to giving right to distribute the work only within Hungary, which is a problem because a lot of licenses (including the Gnu GPL 2 and Gnu GPL 3) doesn't say "global" or "any country" or anything about the location.
13:38:52 <wob_jonas> The law seems serious about this, because it clarifies how the location works for television received directly from a satellite broadcast.
13:39:46 <wob_jonas> Also, this law is harmonized with international agreements, so the laws in other countries are probably similar, regardless all the crazy stuff the US does, some of which might actually contradict those international agreements they've supposedly agreed to.
13:40:16 <wob_jonas> So I don't think Hungary is the only place where this is a problem.
13:41:47 <wob_jonas> I'm now trying to read stuff written by the FSF and the WMF Hungary (they have a form letter for asking permission for use from people who aren't familiar with Wikimedia projects, and it does mention some terms explicitly with the assumption that people don't actually read what the mentioned Creative Commons BY SA license says, but it doesn't say "
13:41:47 <wob_jonas> global" either.)
13:42:07 <wob_jonas> (The CC BY SA license does say "global" by the way. It doesn't say for how long.)
13:42:13 <wob_jonas> None of this is a legal oppinion.
13:42:48 <wob_jonas> I'll look at the FSF's FAQ, and the fsf.hu wobsite, because they actually have lawyers paid, and might try to ask for a clarification from them in email if the FAQ doesn't answer me.
13:44:07 <wob_jonas> I don't like the Gnu GPL, but it's still relevant for software already licensed under it, and, like I said, other copyright license agreements seem to be similar. The X11 license also doesn't mention a location or countries.
13:44:17 -!- ais523 has quit (Quit: It seems most convenient to apologise for my connection in the quit message, given how often it comes up… If I immediately reconnect, it's probably because I could send but not receive.).
13:44:27 -!- ais523 has joined.
13:44:32 <ais523> so what's the specific situation which violates the spirit of the GPL? person A writes some GPLed code, person B (who is Hungarian) makes a modified copy and licenses it to person C (who is also Hungarian), person C makes another modified copy, but can't send it to non-Hungarians because it would violate B's license?
13:44:38 <ais523> is that the simplest situation which causes a problem?
13:44:57 <wob_jonas> ais523: I don't know yet. I'm trying to read up on this.
13:46:39 <wob_jonas> The simplest situation is probably when I send hu.Wikipedia's form letter in Hungarian to ask permission from someone to allow their work of art to be distributed under the CC BY SA license, they agree to that form letter without reading the long legal terms of the CC BY SA license, and then I, in Hungary, distribute that work of art to people outs
13:46:39 <wob_jonas> ide Hungary.
13:46:40 -!- zseri has quit (Quit: Leaving).
13:48:16 <ais523> is this a situation where it matters whether it's CC-by-sa or CC-by-sa-unported?
13:48:22 <wob_jonas> But all of this is regulated by a hundred other related laws, and I'm not a lawyer, and don't know anything about this anyway.
13:48:23 <ais523> it normally doesn't, but this strikes me as being potentially relevant
13:48:40 -!- zseri has joined.
13:49:25 <wob_jonas> ais523: when someone choses the non-default license, it's easier to assume that they've read the legal terms, rather than just the form letter and the lay summary, so they'll know that the CC licenses do explicitly say it's a "global" license to distribute etc.
13:51:08 <wob_jonas> Eg. I've distributed stuff under CC BY (the non-sharealike license), and have written arguments that something is public domain under the US copyright law because it was published before 1923 and so can be distributed on Commons. So I probably couldn't claim that I thought the CC BY license gave only permission in Hungary.
13:51:41 <wob_jonas> Note that the damned CC hides their legal terms on a separate page from their lay summary.
13:52:28 <ais523> they want people to at least read the summary, I guess
13:52:42 <wob_jonas> Sure.
13:53:10 <wob_jonas> What the CC license doesn't claim anywhere is that it doesn't expire.
13:53:17 <wob_jonas> The GNU license does say that it's permanent.
13:54:13 <wob_jonas> Both say that they're not arbitrarily revokable.
13:55:15 <wob_jonas> I'll also have to read what the Boost license FAQ says, because they also claim a lawyer was involved.
14:00:29 -!- doesthiswork has joined.
14:02:14 -!- ski has joined.
14:03:42 <wob_jonas> ais523: also, do you recall that discussion on wikimedia projects about the lack of freedom of panorama in Sweden, which got to a courts decision, and people complained about the strange law that sometimes gives you the right to use something commercially but not to use it non-commercially?
14:03:58 <ais523> no
14:06:51 <wob_jonas> ais523: I can't find the details about that right now, sadly
14:08:36 <wob_jonas> anyway, it turns out the copyright law of Hungary I linked also has one specific clause that smells like that, about using works of fine art (Mona Lisa) as set in television freely without attribution, unless that work of art is specifically intended to be used as a stage set or stage costume.
14:08:50 <wob_jonas> (ok, not Mona Lisa, the copyright term of that one expired)
14:08:55 <wob_jonas> (but something like that)
14:12:14 <wob_jonas> ais523: I also wonder about the musical fountain in Margitsziget. It's playing recorded music from loudspeakers, automatically shoots jets of water with a coreography matching the music, and, after dusk, lights the water jets with colorful lights also according to a coreography.
14:13:05 <ais523> "choreography" is one of those words which has a silent h for no apparent reason
14:13:07 <ais523> English is weird sometimes
14:13:08 <wob_jonas> It seems to me like it's "permanently exhibited" because half of the songs it's playing now it's been playing for over five years multiple times a day.
14:14:58 <wob_jonas> ais523: I don't think that's no apparent reason. That's a CH from latin from a greek chi, which is usually pronounced as a /k/ at the start of a word. Same as chemistry and chronometer and christianity. My big dictionary confirms it comes from a greek word, cognate with chorus.
14:15:51 <ais523> yep, I'm guessing it's for the same reason as chorus
14:16:13 <ais523> even so, though, we pronounce it more like kappa than chi
14:16:37 <wob_jonas> Anyway, I wonder what the freedom of panorama exception in the law says about videos of that musical fountain. That seems to depend on two things: (a) what does "panorama" mean, and (b) is the fountain covered by "a work of fine art, architecture or applied art".
14:18:06 <wob_jonas> ais523: um, I don't know about other people, but I personally never studied russian or german or greek or latin, and as a result I don't pronounce hard h properly in any word, I always just use either a "k" (at the start of words) or a "h" (inside words) regardless the source language. So I don't know what "more like a kappa than a chi" means.
14:18:39 <wob_jonas> There was something about these greek origin words I wanted to find out. I should try to get back to that later.
14:20:23 <wob_jonas> Not the greek words themselves, but how we use them now.
14:25:12 <wob_jonas> Oh, also. Now I understand why libraries put limitations on photocopying or photographing their books for personal only non-commercial use.
14:26:11 <wob_jonas> The law actually says that I'm allowed (with certain conditions) to make copies of parts of books for personal use, but also that even then I'm not allowed to copy an *entire* book even that way except by typewriter or handwriting.
14:27:55 <wob_jonas> (It still seems I am still allowed to copy entire books when their copyright protection has expired.)
14:28:58 <wob_jonas> (That's good to know, because I've distributed an entire out-of-copyright book a month ago.)
14:33:01 -!- ATMunn has joined.
14:41:54 <wob_jonas> Also, this copyright law is the one that permits the government to put a tax on empty CD/DVD disks and photocopier machines.
14:43:07 <wob_jonas> And tells how the income of that law is to be used.
14:50:19 -!- LKoen has joined.
14:53:27 -!- ais523 has quit (Quit: too tired to IRC).
15:08:55 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
15:13:45 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
15:17:41 <wob_jonas> `? white
15:17:44 <wob_jonas> `? white chocolate
15:17:45 <HackEgo> white? ¯\(°​_o)/¯
15:17:46 <HackEgo> white chocolate? ¯\(°​_o)/¯
15:19:19 <wob_jonas> `? mario
15:19:20 <HackEgo> Mario is a classic PSPACE-complete problem invented by Nintendo.
15:23:39 <zseri> `? chocolate
15:23:40 <HackEgo> chocolate? ¯\(°​_o)/¯
15:24:16 <wob_jonas> yum
15:30:51 -!- Sgeo has joined.
15:56:48 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:12:49 <rdococ> Have any languages implemented scopes as ordinary objects?
16:42:32 -!- Slereah__ has joined.
16:43:05 -!- Slereah has quit (Ping timeout: 240 seconds).
16:44:23 <zzo38> In Canada is also the law that the government puts the tax on blank CDs, but in Canada, this law does not apply to DVDs.
16:49:59 -!- doesthiswork has quit (Quit: Leaving.).
16:52:22 -!- jaboja has joined.
16:54:46 <HackEgo> [wiki] [[XTW]] https://esolangs.org/w/index.php?diff=53115&oldid=53108 * Zseri * (+185) +infobox
16:54:58 -!- grumble has quit (Disconnected by services).
16:55:07 -!- rumble has joined.
16:55:07 -!- rumble has changed nick to grumble.
16:56:15 -!- impomatic has quit (Ping timeout: 248 seconds).
17:02:40 -!- zseri has quit (Quit: Leaving).
17:15:33 <zzo38> rdococ: I don't know, but maybe can you give an example of how you might mean?
17:15:58 <zzo38> I can think of one way it might be done at least
17:20:33 -!- doesthiswork has joined.
17:21:11 <zzo38> You might be able to try something similar in JavaScript by use of eval, maybe
17:21:27 <rdococ> zzo38: a Scope object would consist of an associative array and a reference to its parent scope
17:22:01 <zzo38> In JavaScript objects do have prototypes, so you do have objects like that.
17:23:15 <rdococ> To get a variable from the current scope, the interpreter/compiler/whatever would determine if the associative array has the variable name as a key. If so, the value of the variable would be returned. Otherwise, it would check the scope's parent.
17:23:27 <rdococ> s/variable/entry/
17:23:43 <rdococ> well, the value of the entry
17:24:04 <zzo38> (You can even easily to have a global variable and then enter and exit the scopes, by using scope=Object.create(scope) to enter a new scope and scope=Object.getPrototypeOf(scope) to exit a scope; this works though more like the scopes in TeX rather than in JavaScript and other programming languages, but I did use it in a program I am writing to keep track of the types in a scope)
17:26:45 <zzo38> (You could though, for example, define a new variable inside of the scope by scope.x=[42]; and then to change its value to write scope.x[0]=43; and so on, if the variable's value is shared with the parent scope.)
17:32:46 <rdococ> if I decide to add OOP features to my concept, I will probably do something like that
17:35:54 <zzo38> OK
17:41:21 -!- Cale has joined.
17:43:42 -!- zseri has joined.
17:51:13 -!- sleffy has joined.
18:02:08 -!- Cale has quit (Ping timeout: 240 seconds).
18:41:27 -!- sleffy has quit (Ping timeout: 260 seconds).
18:43:54 <HackEgo> [wiki] [[Gaot++]] https://esolangs.org/w/index.php?diff=53116&oldid=48993 * Oerjan * (+0) /* bleet commands */ Reference implementation does it the other way around
18:44:49 <HackEgo> [wiki] [[Special:Log/newusers]] create * Sobsz * New user account
18:47:52 <HackEgo> [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=53117&oldid=53111 * Sobsz * (+380)
18:53:23 <HackEgo> [wiki] [[Qwerty Reverse Polish Notation]] M https://esolangs.org/w/index.php?diff=53118&oldid=40946 * Sobsz * (-3) It literally says it's Turing-complete in the second frickin' paragraph
18:53:25 -!- LKoen has quit (Remote host closed the connection).
18:56:42 <zzo38> The built-in editor for this game http://zzo38computer.org/prog/pcpuzzleboy.zip does not work properly on DOSBOX (although I believe I found the mistake, but I don't know why it works fine on a pure DOS computer then!)
19:02:14 -!- sleffy has joined.
19:04:13 <zzo38> (The DOS computer I have tested it on has MS-DOS version 7)
19:10:15 -!- jaboja has quit (Ping timeout: 240 seconds).
19:12:40 -!- erkin has joined.
19:13:44 -!- jaboja has joined.
19:37:59 -!- LKoen has joined.
19:43:07 -!- tromp has quit (Remote host closed the connection).
19:45:20 -!- LKoen has quit (Remote host closed the connection).
20:07:26 -!- tromp has joined.
20:08:08 -!- jaboja has quit (Ping timeout: 240 seconds).
20:34:26 -!- imode has joined.
20:46:20 -!- Phantom_Hoover has joined.
20:49:29 -!- ATMunn has changed nick to ATMunn_.
20:49:32 -!- ATMunn_ has changed nick to ATMunn.
20:54:04 -!- jaboja has joined.
21:18:31 <HackEgo> [wiki] [[BrainCube]] https://esolangs.org/w/index.php?diff=53119&oldid=53102 * CANICVS * (-8)
21:19:35 <HackEgo> [wiki] [[BrainCube]] https://esolangs.org/w/index.php?diff=53120&oldid=53119 * CANICVS * (+52)
21:20:40 <HackEgo> [wiki] [[BrainCube]] https://esolangs.org/w/index.php?diff=53121&oldid=53120 * CANICVS * (-38)
21:24:02 -!- Remavas-Hex has joined.
21:30:55 -!- zseri has quit (Quit: Leaving).
21:36:16 -!- PinealGlandOptic has joined.
21:41:14 <rdococ> hi
21:41:25 <Remavas-Hex> hi
21:55:17 -!- LKoen has joined.
22:01:42 -!- imode has quit (Ping timeout: 252 seconds).
22:10:01 -!- Remavas-Hex has quit (Quit: Leaving).
22:10:09 -!- wob_jonas has joined.
22:10:42 <wob_jonas> `ping
22:10:43 <HackEgo> pong
22:11:02 <wob_jonas> fungot, why were the logs on tunes.org down at some earlier time today?
22:11:03 <fungot> wob_jonas: oh, but i was never going to.
22:11:15 -!- wob_jonas has quit (Client Quit).
22:14:46 <HackEgo> [wiki] [[BrainCube]] https://esolangs.org/w/index.php?diff=53122&oldid=53121 * CANICVS * (+0)
22:18:22 <int-e> fungot is being ominous
22:34:29 <HackEgo> [wiki] [[BrainCube]] https://esolangs.org/w/index.php?diff=53123&oldid=53122 * CANICVS * (+195)
22:40:22 <shachaf> fungot: stop being ominous, you're just a bot
22:40:22 <fungot> shachaf: all that means is that if a building? has the warm embrace of satisfaction become the smothering the person with a large number of strangers to say it, but reality sucks sometimes. i have no idea!
22:40:36 -!- sleffy has quit (Ping timeout: 246 seconds).
22:40:59 <shachaf> it has, it has
22:41:51 -!- AnotherTest has quit (Ping timeout: 252 seconds).
22:53:10 -!- tromp has quit (Remote host closed the connection).
22:54:50 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:56:02 -!- Antoxyde has quit (Remote host closed the connection).
23:11:43 -!- sleffy has joined.
23:14:58 -!- ineiros has joined.
23:17:40 -!- Capaverde has joined.
23:18:06 -!- tromp has joined.
23:18:51 -!- wob_jonas has joined.
23:19:14 <wob_jonas> Are the logs on tunes behind the channel by days?
23:19:24 <wob_jonas> Or at least by half a day or something?
23:20:10 <Capaverde> I might have made some progress on brainfuarrrk
23:22:03 <Capaverde> https://github.com/Capaverde/brainfuarrrrk/blob/master/arithmos
23:22:33 <wob_jonas> What's a brainfuarrrrk and do I want to know?
23:23:08 <Capaverde> wob_jonas: an extensible brainfuck of sorts
23:23:19 <wob_jonas> Oh whew.
23:24:24 <wob_jonas> I mean, I don't like those either, but for a moment I thought it was a brainfuck equivalent intended to be spoken by wookies or something like that. That was funny the first time, with Ook!, but we now have like three or four such languages and it's getting quite stupid.
23:24:44 <wob_jonas> An extension can at least be good, even if most of them aren't.
23:25:28 <Capaverde> it's not a direct extension, but it is extensible
23:25:47 <Capaverde> (by the user, with macros)
23:26:59 <wob_jonas> No problem.
23:27:28 <wob_jonas> I mean, I much prefer languages that stay away as far from brainfuck as possible, but still.
23:28:03 <Capaverde> I like brainfuck's simplicity
23:28:59 <Capaverde> (implementation-wise)
23:29:34 <wob_jonas> I have a language planned that has underload's simplicity. I prefer that.
23:29:52 <wob_jonas> It might even turn out to be simpler than underload.
23:32:16 <Capaverde> ,(*) : eval first argument
23:32:32 <Capaverde> I plan this too
23:32:43 <Capaverde> though it is far away
23:34:42 <Capaverde> and everything is macros and there's no state
23:36:08 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
23:36:59 <Capaverde> (I said this because I looked up underload and it said it is stack-based and has an eval operator)
23:37:18 -!- ais523 has joined.
23:37:45 <wob_jonas> ais523: hi
23:38:08 <ais523> hi
23:38:16 <wob_jonas> ais523: I read GNU's license FAQ and Boost's as well. They don't say anything about the worldwide clause I asked about earlier.
23:38:34 <wob_jonas> I wrote a mail to GNU. I'll have to look at the Wikimedia permission form letter later.
23:40:51 -!- Capaverde has left.
23:41:55 <wob_jonas> IMO the GNU case is not very relevant in practice, because the kind of people who choose to distribute works under GPL won't try to abuse the license to distribute it only within a country.
23:42:14 <wob_jonas> The Wikimedia permission form letter is actually more relevant, but it's less clear who I should ask about it.
23:47:48 <wob_jonas> Also, I just bragged that the esoteric language I'm planning to make would have the simplicity of underload, but I'm not really sure if it really would.
23:48:35 <ais523> there's more than one way to define simplicity
23:48:55 <ais523> e.g. is SKI combinator calculus simpler or more complex than SK combinator calculus?
23:49:02 -!- PinealGlandOptic has quit (Ping timeout: 255 seconds).
23:49:09 <wob_jonas> Implementing that language requires an associative array, and even the simplest decent implementation of an associative array I know is somewhat complicated, even without supporting deletion.
23:49:21 -!- Phantom_Hoover has joined.
23:49:26 <wob_jonas> (I don't have to support deletion. I can, but it's just an optimization that's irrelevant for most programs.)
23:53:04 <ais523> IMO associative arrays are a fundamental data structure, and just because asm doesn't support them easily, doesn't mean that they should be considered less fundamental than, say, indexed arrays
23:53:16 <ais523> actually they're very easy to implement if you don't care about efficiency
23:53:45 <wob_jonas> sure, but I do care about efficiency
23:53:45 -!- jaboja has quit (Remote host closed the connection).
23:53:58 <shachaf> "associative array" is such an awful name
23:54:06 <shachaf> Why do people use it?
23:54:41 <ais523> > let put k v a = \k2.(if k=k2 then v else a k2) in (put 1 red $ put 2 blue $ put 3 green $ undefined) 2
23:54:43 <lambdabot> <hint>:1:20: error: parse error on input ‘.’
23:54:49 <ais523> > let put k v a = \k2 -> (if k=k2 then v else a k2) in (put 1 red $ put 2 blue $ put 3 green $ undefined) 2
23:54:52 <lambdabot> <hint>:1:29: error:
23:54:52 <lambdabot> parse error on input ‘=’
23:54:52 <lambdabot> Perhaps you need a 'let' in a 'do' block?
23:54:54 <wob_jonas> because it matters to me how efficient you can implement programs in the esolang, and if the impl of the language uses a linear search implementation, that ruins the parts I care about.
23:55:01 <ais523> > let put k v a = \k2 -> (if k==k2 then v else a k2) in (put 1 red $ put 2 blue $ put 3 green $ undefined) 2
23:55:05 <lambdabot> error:
23:55:05 <lambdabot> • Variable not in scope: red
23:55:05 <lambdabot> • Perhaps you meant one of these:
23:55:16 <ais523> > let put k v a = \k2 -> (if k==k2 then v else a k2) in (put 1 "red" $ put 2 "blue" $ put 3 "green" $ undefined) 2
23:55:20 <lambdabot> "blue"
23:55:22 <ais523> there we go
23:55:35 <ais523> when you haven't used functional languages for a while they all tend to blur together
23:55:44 -!- tromp has quit (Remote host closed the connection).
23:56:47 <shachaf> You can write an OK hash table implementation in a few lines of code probably
23:56:55 <wob_jonas> If you implement underload properly, then you can translaste any non-parallel program to lambda calculus first and then to underload and the runtime will grow only to O(t**(1+epsilon)) compared to the runtime t of the original.
23:57:16 <shachaf> I don't know any simple efficient ordered key-value data structure
23:57:32 <wob_jonas> shachaf: even if the keys are strings that can ideally be as long as fits in the memory, but definitely at least 255 bytes long should be allowed?
23:57:41 <shachaf> Though I'd like to
23:57:41 <wob_jonas> you don't need ordered for this language
23:57:48 <ais523> wob_jonas: my point is that this sort of data structure (shall we call it a "map"?) is very easy to write if you don't care about efficiency, meaning that it's conceptually simple, and theoretically the performacne coudl be fixed by a compiler
23:57:59 <wob_jonas> I know a somewhat simple ordered one, but it's still not simple enough
23:58:19 <wob_jonas> ais523: yes, but if I only want conceptually simple, then I can just use brainfuck
23:58:36 <wob_jonas> and that's not what I want
23:58:40 <wob_jonas> I do care about efficiency
23:58:54 <wob_jonas> ais523: map works, but dictionary is better IMO
23:59:03 <wob_jonas> I should have said dictionary, rather than associative array
23:59:26 <wob_jonas> I will write my own implementation for the reference interpreter of the language.
23:59:32 <shachaf> wob_jonas: Probably?
23:59:36 <ais523> it's basically just a function that's a) defined in terms of its I/O behaviour, and b) can have that behaviour changed at runtime
←2017-09-23 2017-09-24 2017-09-25→ ↑2017 ↑all