←2017-05-02 2017-05-03 2017-05-04→ ↑2017 ↑all
00:09:26 -!- sleffy has joined.
00:13:08 <sdhand> evening #esoteric
00:13:13 <sdhand> well technically morning
00:13:15 <sdhand> what's good?
00:14:01 <wob_jonas> evening
00:14:03 <boily> sdhellond. there's a Great Debate at the office about Java 9.
00:14:07 -!- MDude has joined.
00:14:22 -!- Zarutian has quit (Quit: Zarutian).
00:14:32 <wob_jonas> what office? I don't follow who works where
00:14:59 <wob_jonas> and what's the debate about?
00:15:15 <boily> my job. we were discussing if it's gonna be worth it to upgrade stuff to the next version, breakage, javafx, maven...
00:15:25 <wob_jonas> is Rust involved too?
00:15:36 <boily> nah, we're not hip enough for that :/
00:15:41 <wob_jonas> hehe
00:15:57 <shachaf> boily: scrap maven, use bazel hth
00:16:07 <wob_jonas> I think we have some Java guys over at the software room
00:16:35 <boily> shachaf: I wish, but I like maven and we use it.
00:16:47 <shachaf> hmm
00:16:50 <shachaf> is maven good?
00:16:59 <wob_jonas> here we only have C++ and C# and python and lots more
00:17:27 <wob_jonas> I don't get what they like in C# though
00:17:34 <boily> quite pretty good, I say. a bit inscrutable and verbose at times, but everything is very predictable.
00:18:09 <wob_jonas> what's a maven? is that like a raven?
00:18:27 <wob_jonas> one that says nevemmome?
00:20:12 <boily> C# is the exact same as Java, but more.
00:20:32 <wob_jonas> more in what sense?
00:21:03 <boily> it has True Generic Types Without [EXPLÉTIF] Type Erasure, for once.
00:21:15 <shachaf> wob_jonas: you should probably use bazel for all those languages hth
00:21:23 * boily really hates type erasure
00:21:49 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds).
00:22:04 <shachaf> type erasure is the best
00:22:10 <sleffy> oooh did someone say Rust? Did someone say Rust?
00:22:11 <sleffy> I sensed Rust
00:22:13 <sleffy> Someone said Rust
00:22:21 <sleffy> aw
00:22:35 <sleffy> nvm
00:22:49 <wob_jonas> boily: do you mean generics where you can prove the compiler that your code is typesafe?
00:23:03 <wob_jonas> sleffy: yes, I'm interested in rust
00:23:21 <shachaf> boily: You know what's scow? Covariant mutable arrays.
00:23:39 <sleffy> wob_jonas, then why aren't you on MozNet/#rust? D:
00:24:16 <wob_jonas> sleffy: I'm on mozilla/#rust-beginner sometimes
00:24:28 <sleffy> also rust-offtopic
00:24:31 <boily> wob_jonas: yes, and that all information available at compile time is also available at runtime. as far as the JVM knows, there is absolutely no difference between eg. List<String> and List<?> and List, which drives me nuts.
00:24:54 <boily> shachaf: very scow.
00:25:00 <wob_jonas> boily: I see
00:25:14 <shachaf> Eiffel is arguably even more scow than that.
00:25:23 <shachaf> It has covariant function arguments, doesn't it?
00:25:43 <sleffy> "scow (noun): a wide-beamed sailing dinghy."
00:27:08 <wob_jonas> boily: JVM doesn't matter. what does the java *compiler* know about those types? I mean, you can write crazy type proofs in haskell, even with phantom types, and most of the info disappears by the time the compiler outputs stuff.
00:29:41 <sleffy> boily, curiosity: why do you care what type information is available at runtime?
00:31:26 <boily> wob_jonas: compiling will make a difference between List<String> and List<Integer>, but everything between < and > disappear at runtime. it is very annoying when you write a class with templates, as the actual concrete type disappears at runtime, and you can't do stuff like 'new T();' inside a method declared in 'class Something<T>'.
00:32:14 <shachaf> This seems like a complaint about language semantics that doesn't have much to do with runtime.
00:32:22 <wob_jonas> boily: so C# is different in that?
00:32:38 <boily> yeah, C# retains the whole thing.
00:33:32 <boily> sleffy: you can write code that abstracts over the contents of a structure (List<T>), but not code that abstracts over the structure itself (F<T>). or you may, but it becomes unwieldy, smells bad, and isn't aligned with feng shui.
00:33:58 <sleffy> boily, so you're complaining about a lack of higher-kinded types? I don't understand how that maps to type erasure.
00:36:05 * boily tries to find a hole in sleffy's argument
00:36:46 -!- DHeadshot has quit (Ping timeout: 276 seconds).
00:52:25 -!- Ir0nYmon has changed nick to IronY.
00:57:05 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
00:57:43 -!- wob_jonas has joined.
00:58:52 -!- tromp has joined.
01:13:57 -!- tromp has quit (Remote host closed the connection).
01:15:35 <boily> I accept that I effected a bucco-pedal manœuvre there... will have to rethink my argument and position over that.
01:15:45 <boily> `w
01:15:47 <HackEgo> inory//Inorically, inory is when you say something is irony that really isn't. Someone who does this is an inorite.
01:16:01 <wob_jonas> bucco-pedal?
01:16:14 <wob_jonas> is that like a backpedal?
01:16:17 <sleffy> wob_jonas, https://archive.org/stream/biostor-97775/biostor-97775_djvu.txt
01:16:22 <sleffy> Seems to be a genus of something or other
01:16:28 <shachaf> `cwlprits inory
01:16:40 <HackEgo> oerjän hppavilion[1̈] hppavilion[1̈]
01:17:13 <boily> wob_jonas: foot in mouth hth
01:17:14 <shachaf> `dowg inory
01:17:23 <HackEgo> 7183:2016-03-10 <oerjän> ` sed -i \'s/Moron./Someone who does this is an inorite./\' wisdom/inory \ 7182:2016-03-10 <hppavilion[1̈]> le/rn inory/Inorically, inory is when you say something is irony that really isn\'t. Moron. \ 7181:2016-03-10 <hppavilion[1̈]> le/rn inory/Inorically, inory is when you say something is irony that really isn\'t
01:18:02 <wob_jonas> `? inory
01:18:04 <HackEgo> Inorically, inory is when you say something is irony that really isn't. Someone who does this is an inorite.
01:18:07 <wob_jonas> `? ionry
01:18:09 <HackEgo> ionry? ¯\(°​_o)/¯
01:18:22 <wob_jonas> `? ion refinary
01:18:23 <HackEgo> ion refinary? ¯\(°​_o)/¯
01:18:24 <wob_jonas> `? camtim
01:18:26 <HackEgo> camtim? ¯\(°​_o)/¯
01:18:36 <boily> camtim?
01:19:08 <wob_jonas> boily: a HHGG thingy
01:20:41 <boily> tdh.
01:21:21 <sleffy> today I realized the language spoken in this channel is esoteric in and of itself
01:22:00 <wob_jonas> sleffy: yeah, communities tend to have injokes and other jargon they use
01:22:04 <wob_jonas> can be hard to understand
01:27:43 <shachaf> Can you believe it? hppavilion[1] made a scow and rude wisdom entry, and oerjan made it good.
01:27:51 <shachaf> Except only the last sentence of it is good.
01:28:24 <wob_jonas> sleffy: if it gets too obscure, feel free to ask, and then we'll laugh at you
01:28:53 <sleffy> wob_jonas, of course. I would hate to break tradition
01:29:02 <shachaf> I wouldn't laugh at you for asking.
01:29:05 <sleffy> `? scow
01:29:06 <HackEgo> Scow (S-cow) is canned meat made from cows with a lisp.
01:29:12 <sleffy> hah
01:29:24 <shachaf> "the scow of X" means something like "the worst speciment of X"
01:29:32 <shachaf> But it can also be used as an adjective and so on.
01:29:37 <shachaf> The etymology is "garbage scow".
01:29:50 <sleffy> Neat.
01:41:46 <alercah> guys the solution is to just use go
01:41:50 <alercah> which has no generics of any kind
01:41:52 -!- tromp has joined.
01:41:55 <alercah> they're the most requested feature!
01:43:05 <wob_jonas> alercah: it has all-runtime dynamic typing though
01:52:04 <boily> genericity! genericity! genericity!
02:01:15 <alercah> wob_jonas: what no
02:01:23 <alercah> it has static typing
02:01:58 <wob_jonas> alercah: it has these typeclass thingies, called interfaces, resolved at runtime, like java stuff
02:02:04 <wob_jonas> that's dynamic typing
02:08:56 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
02:09:21 -!- wob_jonas has joined.
02:09:45 -!- wob_jonas has quit (Client Quit).
02:10:43 <sleffy> oh no. not the dynamic typing
02:11:04 <\oren\> all of human evolution has led to this greatness
02:11:06 <\oren\> http://www.pcgamer.com/eve-onlines-latest-war-is-being-fought-over-anime/
02:13:44 <\oren\> also, I am attempting to make a special preprocessor for C that add features, like watfor did for fortran
02:18:32 <HackEgo> [wiki] [[Special:Log/newusers]] create * Armok628 * New user account
02:18:37 <boily> he\\oren\. that is glorious.
02:18:48 <sleffy> I am trying to moosh LISP and PROLOG into one VM.
02:18:54 <sleffy> This is not going well.
02:26:28 -!- boily has quit (Quit: HYDROSTATIC CHICKEN).
02:38:08 -!- xfix has quit (Read error: Connection reset by peer).
02:40:18 -!- xfix has joined.
02:48:17 <shachaf> Cale: Can eigenvectors be generalized to other categories?
02:48:22 <shachaf> I feel like we may have talked about this before.
03:07:03 -!- hppavilion[1] has joined.
03:26:40 -!- bibibi has joined.
03:34:20 <HackEgo> [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=51836&oldid=51831 * Armok628 * (+286) /* Introductions */
03:34:52 <HackEgo> [wiki] [[Deadfish]] https://esolangs.org/w/index.php?diff=51837&oldid=51829 * Armok628 * (+564) Added simple Common Lisp implementation
03:51:04 <HackEgo> [wiki] [[Silberjoder]] https://esolangs.org/w/index.php?diff=51838&oldid=50828 * Quintopia * (-2) /* Syntax */ proper bullets
03:52:03 <HackEgo> [wiki] [[User talk:CatIsFluffy]] N https://esolangs.org/w/index.php?oldid=51839 * Hppavilion1 * (+120) /* Question */ new section
04:17:48 -!- augur has quit (Ping timeout: 264 seconds).
04:43:54 -!- augur has joined.
05:03:17 -!- tromp has quit (Remote host closed the connection).
05:10:25 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
05:25:11 -!- augur has quit (Read error: Connection reset by peer).
05:25:46 -!- augur has joined.
05:28:51 -!- augur has quit (Read error: Connection reset by peer).
05:29:04 -!- augur has joined.
05:32:47 -!- augur has quit (Read error: Connection reset by peer).
05:33:26 -!- augur has joined.
05:34:25 -!- augur has quit (Read error: Connection reset by peer).
05:41:40 -!- augur has joined.
05:46:53 -!- augur has quit (Read error: Connection reset by peer).
06:03:48 -!- tromp has joined.
06:03:58 <HackEgo> [wiki] [[User:JHM]] N https://esolangs.org/w/index.php?oldid=51840 * JHM * (+17) Created page with "Hi, I'm JungHwan."
06:05:19 <HackEgo> [wiki] [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=51841&oldid=50876 * JHM * (+287) /* x = 0 */
06:07:57 -!- tromp has quit (Ping timeout: 240 seconds).
06:22:18 -!- doesthiswork has quit (Quit: Leaving.).
06:29:48 -!- Guest14972 has joined.
06:53:00 -!- Guest14972 has quit (Remote host closed the connection).
07:02:26 -!- FreeFull has quit.
07:03:03 -!- hppavilion[1] has joined.
07:04:01 -!- Remavas-Hex has joined.
07:04:54 -!- tromp has joined.
07:05:59 -!- Remavas has quit (Ping timeout: 240 seconds).
07:09:07 -!- tromp has quit (Ping timeout: 240 seconds).
07:10:36 -!- sleffy has quit (Ping timeout: 264 seconds).
07:28:37 -!- augur has joined.
07:40:59 -!- augur has quit (Ping timeout: 240 seconds).
08:13:03 -!- AnotherTest has joined.
08:14:00 <hppavilion[1]> "He once put a satellite in geosynchronous orbit... around Mars" (the most interesting man in the world)
08:34:36 -!- MoALTz has joined.
08:58:19 -!- hppavilion[1] has changed nick to dell.
08:58:25 -!- dell has changed nick to hppavilion[1].
09:04:47 -!- tromp has joined.
09:09:21 -!- tromp has quit (Ping timeout: 260 seconds).
09:12:58 <Jafet> impressive, seeing as there are no geosynchronous orbits around mars
09:13:01 -!- hppavilion[1] has changed nick to thenewguy.
09:13:55 <thenewguy> Jafet: /that's the joke/
09:18:07 -!- thenewguy has changed nick to hppavilion[1].
09:20:18 <Jafet> s/impressive/that's funny/
10:23:31 -!- betaveros has quit (Remote host closed the connection).
10:25:51 -!- betaveros has joined.
10:25:59 -!- ybden has quit (Excess Flood).
10:26:01 -!- lambdabot has quit (Remote host closed the connection).
10:26:40 -!- ybden has joined.
10:28:59 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
10:31:09 -!- DHeadshot has joined.
10:32:35 -!- lambdabot has joined.
11:01:21 -!- DHeadshot has quit (Ping timeout: 260 seconds).
11:34:02 -!- boily has joined.
11:39:51 <boily> `w
11:39:54 <HackEgo> postorder//Postorder is the same as Polish notation, since Post was Polish. Not to be confused with reverse Polish notation, which is postfix.
11:44:39 <boily> Polish is a hard language to learn for non-native speakers, and Post had trouble communicating with his peers.
11:49:38 <Jafet> perhaps post should have used correspondence, then
12:12:04 -!- LKoen has joined.
12:22:45 <\oren\> `w
12:22:46 <HackEgo> tanec//Why would there be a Tanec, that's ridiculous!
12:22:57 <\oren\> `w
12:22:59 <HackEgo> people who taneb is not//elliott, a rabbi, Mark Zuckerberg, James Bond. Pending approval: Shigeru Miyamoto.
12:23:22 <\oren\> `w
12:23:23 <HackEgo> zomgmodules//ZOMGMODULES is both a small blonde veterinarian and just modules over the ring of ZOMGs.
12:23:27 <\oren\> `w
12:23:29 <HackEgo> admn//admn is the curse of people with cdop.
12:23:35 <\oren\> `w
12:23:37 <HackEgo> wisdomme//wisdomme is a PDF that may be in the topic. boily is the one who compiles it. See `? wisdom.pdf
12:24:12 <\oren\> `? cdop
12:24:14 <HackEgo> CDOP is OCPD, except with the letters in the *proper* order.
12:24:18 <boily> Jafellot, he\\oren\.
12:28:12 -!- boily has quit (Quit: GALLERY CHICKEN).
12:33:08 -!- atehwa has joined.
13:22:36 -!- wob_jonas has joined.
13:23:42 <wob_jonas> Do we have a fudged dice command here? You know, one that lets you roll a dice or draw lots from a set of choices, and normally appears to be fair, with a clear source code, but there's a separate command you can give in private message in advance to make it give the choice you want and then clean up the source code afterwards?
13:30:07 -!- tromp has joined.
13:59:08 -!- doesthiswork has joined.
14:26:41 -!- Remavas has joined.
14:28:50 -!- Remavas-Hex has quit (Ping timeout: 260 seconds).
14:40:28 -!- `^_^v has joined.
14:42:57 -!- 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.”).
15:10:41 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
15:54:37 -!- SlashWW3 has joined.
15:55:28 -!- SlashWW3 has left.
16:07:02 -!- Phantom_Hoover has joined.
16:07:02 -!- Phantom_Hoover has quit (Changing host).
16:07:02 -!- Phantom_Hoover has joined.
16:10:46 -!- `^_^v has quit (Quit: This computer has gone to sleep).
16:18:08 <rdococ> `tell
16:18:09 <HackEgo> I think you mean "@tell " instead?
16:18:13 <rdococ> @help tell
16:18:13 <lambdabot> tell <nick> <message>. When <nick> shows activity, tell them <message>.
16:18:26 <rdococ> @tell LKoen I think you don't even learn to think anymore.
16:18:26 <lambdabot> Consider it noted.
16:18:45 <rdococ> @tell LKoen It was taken from the curriculum and replaced with boring stuff.
16:18:45 <lambdabot> Consider it noted.
16:36:02 -!- Sgeo has joined.
16:37:38 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
16:54:41 -!- LKoen has joined.
17:00:08 -!- sleffy has joined.
17:00:13 -!- `^_^v has joined.
17:07:06 -!- erkin has joined.
17:43:43 -!- FreeFull has joined.
17:45:06 -!- hppavilion[1] has joined.
17:51:31 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
17:52:12 -!- erkin has joined.
18:00:42 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
18:02:22 -!- DHeadshot has joined.
18:03:02 -!- hppavilion[1] has joined.
18:10:14 <int-e> shachaf: this is all your fault
18:10:38 <shachaf> ?
18:10:39 <int-e> (I bought another humble bundle :-P)
18:11:01 <shachaf> whoa whoa whoa, SSR?
18:11:26 <int-e> yes, that.
18:13:50 <int-e> but maybe 11 sausages are enough for a start
18:15:00 <shachaf> Is that past the first area?
18:15:06 <shachaf> I guess it probably isn't.
18:18:25 <int-e> no, everything I've done still fits on the screen http://int-e.eu/~bf3/tmp/ssr.png
18:19:28 <int-e> it's enough to get a taste of the game.
18:22:16 <int-e> http://int-e.eu/~bf3/tmp/ssr.png <-- oh nein, ich habe schon wieder ein Hipster-Spiel gekauft. (aber nicht zum Vollpreis, gibt grad ein humble bundle)
18:22:43 <shachaf> Wrong channel?
18:22:59 <int-e> yes.
18:23:07 <shachaf> oh nein
18:23:21 <shachaf> ein Hipster-Spiel
18:23:35 <int-e> it was intended for a much smaller audience
18:23:46 <int-e> but I guess it's fine here as well :P
18:24:19 <int-e> being a hipster game is the only thing that can explain its price :-P
18:24:35 <shachaf> Why should the price be low?
18:25:30 <int-e> why indeed if people still buy it
18:25:44 <shachaf> Well, clearly they don't.
18:26:01 <int-e> :-P
18:26:03 <shachaf> They wait until it's part of ein humble bundle.
18:26:39 <shachaf> Eins Zwei Polizei
18:26:40 <int-e> some do
18:33:06 <int-e> fwiw, I did not, actually, expect to find that game in a humble bundle any time soon.
18:36:34 <shachaf> Of course.
18:36:48 <shachaf> You were waiting until the price goes down, and willing to wait indefinitely.
18:38:57 <int-e> quite right
18:43:02 <shachaf> `? int-e
18:43:04 <HackEgo> int-e är inte svensk. Hen kommer att spränga solen. Hen står för sig själv. Hen gillar inte färger, men han gillar dissonans.
18:44:55 <shachaf> `le/rn_append int-e/Er hat ein Hipster-Spiel gekauft.
18:44:56 <HackEgo> No output.
18:45:08 <shachaf> `le//rn_append int-e//Er hat ein Hipster-Spiel gekauft.
18:45:11 <HackEgo> Learned 'int-e': int-e är inte svensk. Hen kommer att spränga solen. Hen står för sig själv. Hen gillar inte färger, men han gillar dissonans. Er hat ein Hipster-Spiel gekauft.
18:45:24 <olsner> sv:Hen har köpt ett hipsterspel.
18:45:36 <shachaf> not enough "ge" tdnh
18:45:46 <olsner> yeah, it's better in the original German
18:46:01 <olsner> no idea why the wisdom is in swedish
18:46:37 <shachaf> olsner: I suspect it's because of the word "inte" in the first sentence.
18:46:50 <olsner> perhaps
18:47:01 <shachaf> Maybe he wants a limerick written about him.
18:47:06 <shachaf> You have to be Swedish for that.
18:47:44 <olsner> in that case, you wouldn't want the inte since that makes it say he's not Swedish
18:48:15 <shachaf> Are you sure it doesn't say he's into Swedes?
18:48:27 <olsner> yes
18:49:23 <rdococ> hi
18:49:27 <shachaf> Please write a Swedish-language limerick about int-e.
18:50:31 <int-e> `quote ꙮ
18:50:33 <HackEgo> 1134) <shachaf> A Swede who was in #esoteric / Thought his rhymes were a little generic. / "I might use, in my prose, / ꙮs, / But my poetry's alphanumeric."
18:50:46 <shachaf> `quote edible
18:50:47 <HackEgo> 1311) <Jafet> an #esoteric-dwelling swede / was mistaken for edible feed / “with you,” said a sicko / “our lanttulaatikko / would be very tasty indeed!”
18:55:38 <olsner> oh, it involves swedes and rutabagas too, punny
18:58:48 <shachaf> olsner: Are you playing SSR as well?
18:58:58 <olsner> what's SSR?
18:59:36 <olsner> I might have played some small-screen rendering, but presto browsers are rare these days
18:59:40 <shachaf> Stephen's Sausage Roll
18:59:53 <shachaf> Or Selective Serotonin Reuptake?
19:00:55 <olsner> hmm, isn't it rather the inhibition that's selective, than the serotonin reuptake?
19:01:14 <shachaf> Or is it the serotonin that's selective?
19:03:30 <rdococ> yæy
19:03:50 <shachaf> Maybe you can just stop it, rdococ.
19:04:25 <rdococ> All I did was say "hi" and "yæy", and it was in the span of 20 minutes. Give me a break, shachaf.
19:04:35 <shachaf> no
19:04:48 <rdococ> This is ridiculous.
19:15:41 -!- 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.”).
19:30:42 -!- hppavilion[1] has quit (Ping timeout: 268 seconds).
19:31:27 -!- h0rsep0wer has joined.
19:34:25 -!- augur has joined.
19:38:39 <Phantom_Hoover> there are people here who play mtg right
19:38:52 <Phantom_Hoover> can someone check for me when a particular card was first released?
19:41:48 -!- augur_ has joined.
19:42:54 -!- rasman_net has joined.
19:43:16 -!- augur has quit (Read error: Connection reset by peer).
19:47:37 -!- rasman_net has quit (Quit: Leaving.).
19:48:00 <shachaf> Doesn't Gatherer tell you that?
20:04:23 <Cale> shachaf: Can scalar multiplication be generalised to other categories?
20:07:18 <FireFly> int-e: was für ein Spiel ist das?
20:07:50 <shachaf> Cale: I don't know! Can it?
20:08:07 <shachaf> Is it a natural transformation of some sort?
20:08:14 <int-e> FireFly: ask shachaf :P
20:08:29 <Phantom_Hoover> shachaf, not that i saw but who knows
20:09:08 <shachaf> I suspect there are several people here who could check that for you.
20:10:09 <FireFly> shachaf: was für ein Spiel ist SSR?
20:11:27 <shachaf> FireFly: Selektive Serotonin-Wiederaufnahme hth
20:11:38 <shachaf> Wiederaufnahmespiel
20:11:52 <Cale> shachaf: Well, it definitely makes sense to talk about eigenvalues/eigenvectors for module homomorphisms
20:12:13 <Cale> shachaf: More generally, you can probably do something relevant in any Abelian category.
20:12:17 <shachaf> Eigenvectors are a generalization of fixed points.
20:12:38 <shachaf> In that they aren't exactly a fixed point but they are up to scalar multiplication.
20:12:50 <shachaf> Is there another notion of "fixed point up to [simple operation]"?
20:16:26 <shachaf> FireFly: SSR ist Stephen's Sausage Roll hdhg
20:16:40 <FireFly> Isee
20:16:50 <shachaf> ich nicht sprachen deutsche
20:17:33 -!- h0rsep0wer has quit (Quit: Leaving).
20:19:18 <izabera> telnet mapscii.me
20:19:51 <\oren\> SSR? Soviet socialist republic
20:19:59 <shachaf> Oh, good point.
20:20:37 <shachaf> ССР
20:21:36 <\oren\> USSR is therefore ambiguous between ukrainian and union
20:21:58 <\oren\> but in russian it is totally biguous
20:22:20 <shachaf> What about in Ukrainian?
20:23:44 <\oren\> I bet it's still biguous
20:26:18 <\oren\> the main difference I'm aware of between russian and ukrainian is that Г is pronounced more like H and not like G
20:26:37 <\oren\> hence russian Lugansk is ukrainian Luhansk
20:27:17 <\oren\> I wonder how the georgian ssr is affected
20:28:20 <\oren\> Грузинская Советская Социалистическая Республика
20:29:11 <\oren\> however საქართველოს საბჭოთა სოციალისტური რესპუბლიკა is entirely different
20:31:19 <\oren\> ukrainian
20:31:22 <\oren\> Грузинська Радянська Соціалістична Республіка
20:33:07 <\oren\> sotsialistichna instead of sotsialisticheskaya
20:34:05 <\oren\> and radyanska instead of sovetskaya
20:40:23 -!- DHeadshot has quit (Ping timeout: 268 seconds).
20:40:40 <\oren\> so I guess in ukrainian it's the SRSR,
20:41:17 <\oren\> or CPCP
20:45:54 -!- DHeadshot has joined.
20:48:00 -!- wob_jonas has joined.
20:48:20 <wob_jonas> http://www.questionablecontent.net/view.php?comic=3473 -- unlike Arcadia, Faye is probably telling the truth here
20:48:41 <shachaf> scowcontent
20:51:34 <wob_jonas> Phantom_Hoover: yes, I play M:tG (sort of). please ask your question.
20:52:04 <shachaf> I think there are many people here to who like Magic: The Gathering but don't play.
20:52:50 <shachaf> Taneb neither likes nor plays, but soon he'll be visiting California and I'll give him a bunch of free cards.
20:54:02 <wob_jonas> huhwhat?
20:54:05 <int-e> well the M:tG Turing machine is quite a strong selling point.
20:54:19 <shachaf> Is it?
20:54:25 <wob_jonas> doesn't like M:tG but you're giving him free cards? why?
20:54:28 <shachaf> Turing completeness, as I've said recently, is scow.
20:54:43 <int-e> But I would like to suggest that the rules of a game are unnecessarily complex for achieving TC-ness. :P
20:54:53 <shachaf> wob_jonas: Well, what else can I do with them? I don't have a wood stove.
20:55:09 <int-e> Clearly we need an M:tG tarpit.
20:55:26 <shachaf> int-e: One of the rules of the game says that if you get into an infinite loop, it ends in a draw.
20:55:28 <wob_jonas> shachaf: give them to someone who likes M:tG?
20:55:36 <shachaf> So the game is actually undecidable.
20:55:57 <shachaf> I'm sure Taneb would start to like it if he had cards.
20:56:09 <shachaf> Anyway he's not really coming to California as far as I know. So there's no hurry.
20:56:14 <int-e> shachaf: so that gives anyone an excuse for not playing it rationally
20:56:33 <Taneb> Travelling a third of the way across the world does cost a fair bit of money, after all
20:56:42 <Taneb> You should have given me them last time I was in California
20:56:46 <int-e> (my thoughts were meandering along the shores of rationality and undecidability last night, somehow)
20:57:03 <wob_jonas> shachaf: send them to him by post? that's cheaper than having him travel to California in person.
20:57:03 <shachaf> That was a long time ago, I think.
20:57:18 <int-e> and I mean "rationality" in the game theoretic "rational agent" sense.
20:57:22 <shachaf> Taneb: Do you want me to send you some Magic: the Gathering cards by post?
20:57:27 <shachaf> Maybe some basic lands?
20:57:32 <shachaf> A few commons?
20:57:42 <Taneb> I don't really care, if I'm being honest
20:58:07 <shachaf> I wonder how much my cards are worth.
20:58:24 <shachaf> I had some cards that went for ~$50 back when they were in Standard, but they rotated out long ago.
21:00:27 <wob_jonas> I don't play M:tG rationally, but the infinite loop rule doesn't have much to do that.
21:01:32 <int-e> uh, this is old news... wtf?! http://www.geek.com/games/black-lotus-magic-the-gatherings-most-famous-card-sells-for-27302-1577939/
21:02:02 <shachaf> What?
21:02:48 -!- sleffy has quit (Ping timeout: 246 seconds).
21:03:52 -!- augur_ has quit (Remote host closed the connection).
21:06:00 <int-e> I thought I knew that this now-useless card was highly sought after. Well, I had no idea.
21:06:02 <wob_jonas> int-e: well it's an Alpha Black Lotus. It's not something you need even if you're playing Vintage, because an Unlimited Black Lotus, of which there are much more out there, works just as well. It's a collectible item.
21:06:30 <wob_jonas> int-e: how is that now-useless? it's the most useful card ever. it goes to basically every Vintage deck, no matter how it tries to win.
21:06:59 <wob_jonas> Black Lotus was always the most expensive M:tG card.
21:07:48 <int-e> http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=9764 is funnier
21:08:06 <int-e> So is vintage played much...
21:08:12 * int-e shrugs, not really caring.
21:08:20 <wob_jonas> int-e: no, it's not played much, because it's a very expensive format
21:08:31 <wob_jonas> you don't have many people who can buy the necessary cards for it
21:08:38 <wob_jonas> you need a Black Lotus and lots of other expensive cards
21:09:27 <wob_jonas> also it's sort of unfun, because the power level is basically unchecked
21:09:41 <wob_jonas> so it will always be played with only very broken decks
21:09:46 <shachaf> wob_jonas: useful? it only gives you three karma and then you have to sacrifice it!
21:10:05 <shachaf> sounds scow to me
21:10:19 <shachaf> s/then // , to be more accurate
21:10:31 <wob_jonas> it's the format where no cards are banned for power level if they were originally released by Wizards and intended to be tournament legal (a few cards are banned for reasons other than power)
21:10:49 <int-e> http://www.gamenguide.com/articles/14031/20141015/this-is-the-reason-the-black-lotus-is-worth-30000-and-why-that-magic-the-gathering-youtuber-is-right-to-be-excited.htm explains a 4 card combo to win on the first term
21:11:08 <int-e> (not likely to materialise but having 4 mana on the first turn is a lot)
21:11:15 <shachaf> Black Lotus is so good that even Lion's Eye Diamond is a good card.
21:11:41 <wob_jonas> shachaf: it gives you three mana for free, even in turn 1. that gives so much speed advantage it would decide many games even in a slower environment, and definitely does in Vintage which is a very fast environment, since you can just put the most broken cards in your deck, ones that don't need many mana.
21:12:07 <shachaf> wob_jonas: nonsense, it's not free, you have to sacrifice your best card for it
21:12:53 <wob_jonas> shachaf: it's not a good argument that the card is not good because you have to use the best card of your deck to use it
21:13:27 <wob_jonas> it's the best card of your deck, it'd be circular to argue that it's bad because it's your best card
21:13:45 <shachaf> sacrificing your best permanent is obviously a bad idea
21:13:51 <wob_jonas> that's like saying that the Moon is better than the Sun because the Moon gives light in the night when it's dark so you need the light much more
21:13:52 <shachaf> it's not called a permanent for nothing
21:14:06 <shachaf> That's a very good point.
21:14:10 <shachaf> The moon is much more useful.
21:15:01 <int-e> Wait, any time you play an instant... I can have a card-searching ability on the stack and then get three (mono-)colored mana?
21:15:16 <int-e> but I can't play it as a mana ability
21:15:28 <wob_jonas> int-e: huh what's the context?
21:15:32 * int-e is looking at the Lion's Eye Diamond
21:15:59 <int-e> and it says "Activate this ability only any time you could cast an instant."
21:16:12 <wob_jonas> int-e: oh, that's because without that clause, it would be a mana ability
21:16:24 <wob_jonas> and you can activate mana abilities in times other than when you get priority,
21:16:26 <int-e> as I just said
21:16:44 <wob_jonas> specifically when you have to pay the cost for a spell, or when an effect asks you to pay an optional cost
21:16:59 <wob_jonas> yes, it's a tough restriction in that context
21:17:03 <wob_jonas> would be way overpowered without that
21:17:06 <shachaf> @google "lion's eye diamond" super great combo that wins the game real good
21:17:07 <lambdabot> http://www.mtgsalvation.com/forums/the-game/legacy-type-1-5/developing-legacy/181840-led-griselbrand-a-more-resilient-turn-1-combo-deck
21:17:07 <lambdabot> Title: LED Griselbrand - A more resilient turn 1 combo deck - Developing (Legacy) - ...
21:17:08 <wob_jonas> but it's still overpowered this way
21:17:26 <wob_jonas> basically, you can still spend that mana on activated abilities of permanents, and lots of other things
21:17:53 <wob_jonas> but even with such a serious restriction, three mana NOW for a card is too good
21:21:18 <int-e> argh, flashback.
21:22:18 <\oren\> there is aparently a gogle docs worm now
21:22:39 <\oren\> congrats google, you're now as secure as microsoft outlook
21:22:59 <int-e> wob_jonas: flashback turns the discarded cards into a benefit. I had a small chance of seeing this.
21:23:20 <wob_jonas> int-e: yes, that's one way of using it too
21:23:36 <wob_jonas> possibly the best
21:23:49 <wob_jonas> (depending on the format and environment)
21:25:40 <DHeadshot> \oren\: Does this mean my grandpa's got the most secure email system, because he still uses Pegasus and no virus-writer can be bothered with it?
21:25:54 <\oren\> probly
21:25:58 <\oren\> I use alpine
21:26:56 <DHeadshot> I use the HTC thing on my 'phone, plus the gmail app it has which was last updated in 2011...
21:27:10 <wob_jonas> \oren\: does alpine try to open an attachment with a preferred viewer application chosen from a large table of file types if you press a key on an attachment, without asking your permission to use a particular application?
21:27:50 <wob_jonas> because that's an easy way an email program or browser can be insecure, if it lets you open files with a hundred other applications that are supposedly secure but inevitably some of them will be insecure
21:36:35 <\oren\> you have to press a key for confimation after it tells you what program it's going to use
21:37:15 <\oren\> of course, I have it set to just save attachment
21:37:26 <wob_jonas> \oren\: I see
21:46:12 -!- `^_^v has quit (Quit: This computer has gone to sleep).
21:48:03 -!- `^_^v has joined.
21:55:37 -!- DHeadshot has quit (Ping timeout: 268 seconds).
21:59:45 -!- DHeadshot has joined.
22:00:59 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:07:53 -!- augur has joined.
22:20:04 <Phantom_Hoover> wob_jonas, well the question was when hanweir, the writhing township came out, though the question's not so important now
22:21:06 -!- MoALTz has quit (Quit: Leaving).
22:21:32 <wob_jonas> Phantom: that one is a meld card, so it definitely came out for the Eldritch Moon set, which was released in 2016-07.
22:21:56 <wob_jonas> meld cards didn't exist before that set, so it's not a reprint of anything
22:22:06 -!- augur has quit (Remote host closed the connection).
22:23:01 <Phantom_Hoover> right, it seemed recent from the dates of the rulings
22:23:25 <Phantom_Hoover> but there wasn't a date for the actual card
22:30:22 <wob_jonas> `card-by-name Hanweir, the Writhing
22:30:25 <HackEgo> Hanweir, the Writhing Township \ Legendary Creature -- Eldrazi Ooze \ 7/4 \ Trample, haste \ Whenever Hanweir, the Writhing Township attacks, create two 3/2 colorless Eldrazi Horror creature tokens that are tapped and attacking. \ [Melds from Hanweir Battlements and Hanweir Garrison.] \ EMN-R
22:37:45 -!- sleffy has joined.
22:44:23 -!- augur has joined.
23:03:07 -!- ais523 has joined.
23:03:22 <ais523> does anyone know of a programming language with an NP-complete lexer?
23:03:48 <ais523> I'm working on one which I think might be able to solve /both/ 3SAT and subset sum, in different parts of the lexer
23:05:13 <wob_jonas> ais523: I don't think I know such a language.
23:05:31 <ais523> actually, PPCG has really helped my esolanging
23:05:35 <ais523> I used to view parsers as unimportant
23:05:41 <ais523> but they're such an untapped vein for esoprogramming
23:05:46 <wob_jonas> ais523: I think it would be rather unlikely to get exactly NP-complete. I mean, if you make a lexer that doesn't try to be efficient, then what stops it at NP?
23:06:01 <ais523> the ability to lex the program by brute force
23:07:08 <ais523> the language itself may possibly be uncomputable, not sure on that yet
23:07:34 <ais523> but it's also meant to be practically useful
23:07:50 <ais523> (in the sense that you can write a language with a halting detector command, and have the implementation fail or infinite loop in some cases)
23:08:03 <ais523> (and yet the halting detector is still useful in the cases where it works)
23:09:03 <wob_jonas> halting detector => sure, M:tG does that
23:09:22 <ais523> it's not like halting detectors don't exist
23:09:25 <ais523> they just fail in some cases
23:10:19 <wob_jonas> well yes, you can probably make a language with an NP-complete lexer that doesn't seem too strained
23:10:48 <wob_jonas> especially if the input isn't text
23:11:55 <wob_jonas> like, the input is two strings, and is lexed to a sequence of tokens where each token corresponds to a pair of infixes from those two strings, but with different lengths
23:12:33 <wob_jonas> the infixes are ordered in both strings but you can't easily match the two strings to one another because they're variable length
23:13:09 -!- augur has quit (Remote host closed the connection).
23:13:17 <wob_jonas> eg. you have a sound file and a transcript (or a kanji string and a kana string), both somewhat ambiguous separately and parsed together.
23:13:27 <wob_jonas> does that make sense?
23:13:32 <ais523> I think so
23:13:40 -!- augur has joined.
23:13:43 -!- augur has quit (Remote host closed the connection).
23:13:48 <wob_jonas> and then you can make it NP-complete by allowing a large enough Post correspondence problem for it
23:13:57 <ais523> I'm reminded of Post correspondence, which is TC, but that'd be the task of finding a sound file and transcript that correpsonded to each other but were the same file
23:14:07 <wob_jonas> yes, exactly
23:14:22 <ais523> that seems hard because the sound file would be so much larger
23:14:26 <ais523> and yet they have to be the same size
23:14:33 <wob_jonas> and it's realistic because in practical cases it may be difficult to pair them, but only for practical implementation reasons, not for P vs NP reasons
23:14:50 <wob_jonas> ais523: what? they don't have to be the same size
23:15:18 <Jafet> clearly you need someone who talks really fast
23:15:53 <ais523> wob_jonas: in post correspondence, aren't you splitting up the same string two different ways?
23:15:57 <Jafet> what about languages without a well-defined lexing phase?
23:16:12 <ais523> anyway, your example can solve subset sum without these silly requirements, either
23:16:18 <ais523> just have tokens consisting of varying lengths of silence
23:16:28 <wob_jonas> ais523: tokens would be like when you hear 'lead' in the sound file and see "lead" in the text, or 'led' in the sound file and "lead" in the text, or 'led' in the sound file and "led" in the text, or 'worshire' in the sound file and "worchestershire" in the text, or 'doubleyou' in the sound file and "w" in the text
23:16:42 <ais523> Jafet: I guess those would tend to be self-modifying languages
23:16:46 <wob_jonas> ais523: same string two different ways? no
23:16:50 <Jafet> I mean, C++ is one
23:16:56 <wob_jonas> um, let me get an exact definition from my shelf
23:17:27 <ais523> Jafet: with respect to the >> token?
23:17:43 <ais523> INTERCAL's another example where the lexing depends on the parsing
23:17:47 <ais523> at least in C-INTERCAL
23:18:21 <Jafet> I don't think >> itself is NP-hard, but normal identifier disambiguation might be
23:18:51 <ais523> Jafet: oh, I thought you were talking about lexing not being a defined phase
23:18:53 <Jafet> well, that's normally considered not part of lexing
23:18:58 <wob_jonas> ais523: in the problem I'm thinking of, which may not be PCP, the output is a token string, the problem has for each possible token from the token alphabet has a single corresponding variable length upper string and lower string, and has an upper string and a lower string,
23:19:06 <ais523> as far as I know, C++'s uncomputable parse is a parsing issue, not a lexing issue
23:19:16 <wob_jonas> and the output is correct if when you replace the output with upper or lower strings resp, you get the upper and lower string from the input respectively.
23:19:39 <wob_jonas> so each token (word) has a pronunciation and a spelling, and the input has a catenated pronunciation string and a catenated spelling string that you have to splity
23:20:03 <ais523> PCP is about producing one string using two different sets of words, in such a way that you always choose the corresponding words from each set
23:20:22 <ais523> PCP's also TC rather than being NP-complete
23:20:32 <ais523> so I assume you're thinking of something different in a different complexity class
23:20:42 <shachaf> `? pcp
23:20:44 <HackEgo> PCP refers to probably cyclidine proofs. It is precipitously illogical in many places, but research has shown that PCP is, surprisingly, No Problem.
23:20:46 <wob_jonas> let me see. Post correspondence problem is page 226 in Rónyai–Ivanyos–Szabó. (reads)
23:21:05 <Jafet> `grwp correspondence
23:21:41 <wob_jonas> ais523: you're right. what I was thinking of isn't Post's correspondence problem
23:21:45 <HackEgo> No output.
23:22:01 <wob_jonas> and the one I was thinking of isn't even NP-hard. it's actually polynomially solvable.
23:22:02 <shachaf> `grwp correspondence
23:22:04 <HackEgo> interpreter:An interpreter (Latin "inter-", Old French "prestre") is unofficial correspondence between ordained members of the Church.
23:22:14 <wob_jonas> hmm
23:22:14 <shachaf> `thwackego
23:22:15 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: thwackego: not found
23:22:31 <Remavas> `pcr
23:22:32 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pcr: not found
23:22:37 <wob_jonas> how to make an NP-complete one then?
23:22:38 <Remavas> `? pcr
23:22:39 <HackEgo> pcr? ¯\(°​_o)/¯
23:23:33 <shachaf> https://en.wikipedia.org/wiki/Post_correspondence_problem says "Not to be confused with the other Post's problem on the existence of incomparable r.e. Turing degrees."
23:23:44 <shachaf> But it's the same Post! Shouldn't it say "Post's other problem"?
23:24:32 -!- zemhill____ has joined.
23:25:00 <ais523> wob_jonas: well, hmm; suppose you have a language where there's no whitespace between tokens
23:25:09 <ais523> and variable names can be declared, becoming tokens
23:25:33 <wob_jonas> yes, and?
23:25:38 <ais523> and say you have a curried function call syntax, so a bunch of variable names in a row is entirely reasonable
23:25:55 <ais523> someone could define a bunch of variables made entirely out of a single letter
23:26:03 <ais523> and now parsing a long row of that letter is the subset sum problem
23:26:38 <ais523> or, well, you can use the same variable twice, not sure if that makes a difference (my guess is no)
23:26:42 -!- fungot` has joined.
23:26:58 -!- Riviera__ has joined.
23:27:14 -!- scoofy_ has joined.
23:27:28 <Jafet> uh subset sum isn't NP-complete in unary
23:27:49 <wob_jonas> (irrelevant: for making multiple variable names in a row valid, curried function call syntax isn't the only good reason: you can have implicit commas like lisp/scheme, or implicit subscript like in metafont)
23:27:57 <ais523> Jafet: subset sum is base-independent
23:28:45 -!- fungot has quit (Ping timeout: 240 seconds).
23:28:48 -!- lambdabot has quit (Ping timeout: 240 seconds).
23:28:55 -!- scoofy has quit (Ping timeout: 240 seconds).
23:28:56 -!- Riviera has quit (Ping timeout: 240 seconds).
23:28:59 -!- zemhill___ has quit (Remote host closed the connection).
23:29:06 <ais523> err, incoming netsplit?
23:29:06 <wob_jonas> ais523: no, Jafet has a valid point there. it's not NP-complete to break your sequence of letter x to given tokens made of given numbers of letter x, because you write the sum in unary then
23:29:23 <ais523> oh, I see, the problem here is about defining n
23:29:30 <ais523> rather than about the actual difficulty of the problem
23:29:51 <ais523> you're in unary, thus it takes 2**n characters to write the problem down
23:30:02 <ais523> and that gives you the exponential time you need to solve it
23:30:11 <wob_jonas> ais523: no
23:30:30 <wob_jonas> ais523: the time to solve is only quadratic in the length of the problem, if you write the problem down in unary
23:30:51 <fizzie> Hmm.
23:30:57 <ais523> wob_jonas: right, I'm saying that "the length of the problem" is artifically increased by writing the numbers in unary
23:31:14 <fizzie> ^raw NICK fungot
23:31:15 -!- fungot` has changed nick to fungot.
23:31:22 <ais523> which means that the complexity class is "lower" because n is exponentially larger
23:31:34 <fizzie> Unfortunately, there's no way to remove underscores from zemhill. :/
23:31:45 <wob_jonas> yes, so we're back at the original question. how to make a natural-sounding language where lexing is NP-complete.
23:31:56 -!- Riviera__ has changed nick to Riviera.
23:32:00 <ais523> fizzie: make it so that when you write a joustbot, the . commands get echoed to IRC?
23:32:36 <wob_jonas> ais523: in what order?
23:32:48 <ais523> execution order, I guess? I wasn't being serious though
23:32:58 <wob_jonas> what order among multiple games?
23:33:25 <wob_jonas> the written characters depend on what the other player is (and on polarty)
23:33:44 <wob_jonas> but yes, writing all the . commands would be excessive given how bfjoust works
23:34:27 -!- lambdabot has joined.
23:45:02 -!- `^_^v has quit (Quit: This computer has gone to sleep).
23:46:23 <wob_jonas> ais523: what if you can write tokens in any order, the lexer has to find the order of the tokens, and it has to find a Hamilton path in a general digraph, because the tokens somehow constrain which token can follow which other token, but in a general enough way that you can encode basically any digraph.
23:46:59 <ais523> hmm
23:47:15 <ais523> that seems difficult to pull off
23:47:49 <wob_jonas> eg. the input is a set of poem lines, each on one punch card, dropped on the floor, each line of the poem must share a word with the previous line, and the lexer has to reconstruct the poem
23:47:54 <ais523> something like "two adjacent tokens must have at least one character in common" would possibly work? I think you can encode arbitrary graphs (not digraphs) like that
23:48:08 <wob_jonas> ais523: yes, that works, at least if you have enough characters
23:48:15 <wob_jonas> not with just 26 characters or so
23:48:26 <wob_jonas> too easy to solve that way
23:48:38 <wob_jonas> that's why I'd say words instead
23:48:49 <wob_jonas> hard to tell if it counts as a "lexer" then
23:49:07 -!- augur has joined.
23:49:37 <wob_jonas> but each statement sharing a word with the previous one isn't such an unnatural requirement for programming, since that word can often be a variable used as input for one and output for the other
23:50:41 <ais523> yes, that's the obvious implication
23:50:45 <ais523> but what do the other words do?
23:51:09 <wob_jonas> other inputs to function called?
23:51:13 <wob_jonas> um, dunno
23:51:15 <wob_jonas> that doesn't really work
23:52:24 <ais523> and why don't they connect together/
23:52:46 <wob_jonas> what don't connect together?
23:52:48 <Jafet> this relates to an old idea I had for a haskell extension, where you could write anything you wanted without brackets as long as there was exactly one well-typed combination
23:53:18 <ais523> wob_jonas: the common words in non-adjacent commands
23:53:25 <ais523> Jafet: I like that
23:53:27 <Jafet> of course, a lexer would use syntactic rather than type constraints
23:53:33 <ais523> did you ever implement it, or was it just an idea?
23:53:59 <shachaf> Jafet: Hmm, this means that adding a new instance can make a program invalid.
23:54:01 <Jafet> I don't think implementing it is trivial, even in haskell2010
23:54:32 <shachaf> Even in Haskell 2010 you can't infer all types.
23:54:39 <Jafet> anyway, this is the kind of thing you invent when you get tired of having to align all your code
23:54:46 <ais523> <shachaf> Jafet: Hmm, this means that adding a new instance can make a program invalid. ← there are plenty of languages where that's true
23:55:02 <shachaf> ais523: But Haskell goes to a lot of trouble to make it not true.
23:55:11 <wob_jonas> I do have vague plans for a syntax that lets you write most (not all) combinations of function calls without parenthesis or other punctuation, but that one is different, it is easy in a computational sense to parse, there's no ambiguity, not even a local one that's resolved later.
23:55:39 <wob_jonas> basically a generalization of the postscript/forth/logo syntax where the parser knows how many argument each function has
23:55:52 <wob_jonas> um, how's that called, of RPN syntax
23:56:05 <ais523> postfix
23:56:10 <wob_jonas> yeah
23:56:12 <wob_jonas> postfix or prefix
23:56:31 <ais523> RPN is a bit ambiguous, it can either refer to postfix notation or to concatenative stack based languages
23:56:37 <shachaf> postfix and prefix would be good vocabulary to use about bug fixes.
23:56:42 <ais523> (the latter aren't strictly postfix because you can screw with the stack)
23:56:52 <wob_jonas> yeah
23:56:59 <ais523> I don't think you can make a prefix stack language, but maybe you can?
23:57:10 <ais523> like, the operands would have to pop operators from the stack rather than the other way round
23:57:12 <Jafet> so I wonder if a lexer is already NP-complete if keywords can overlap each other (to a greater extent than, say, > and >> tokens overlap in C)
23:57:21 <Jafet> it probably is
23:57:33 <wob_jonas> ais523: well, the interpreter can just read the tokens from right to left
23:57:46 <ais523> yes, but I mean, in a way that stack manipulation is reasonable
23:57:56 <ais523> + : 2 3 4, where : is duplicate, should result in 9
23:58:06 <ais523> but what does + 2 : 3 4 do?
23:58:58 <ais523> let's see; clearly + 2 produces an "add 2" value
23:59:09 <Jafet> wob_jonas: a number of internal formats (for things like video game scenarios) use lists of comma-separated tokens, which are parsed this way
23:59:16 <ais523> and giving it another argument pops two operators from the stack (the add 2 and the operator below) and gives 2 + the argument to the operator below
23:59:45 <ais523> so + : 2 3 4 → + + 2 3 4 → + +2 3 4 → +5 4 → (give 9 to the operator below)
23:59:50 <Jafet> naturally, some of those formats use only decimal numbers as tokens, which makes the code impossible to read
←2017-05-02 2017-05-03 2017-05-04→ ↑2017 ↑all