00:00:11 -!- aretecode has quit (Read error: Connection reset by peer). 00:00:48 any verdict on whether it's 7 or 8 yet? 00:00:48 -!- relrod has quit (Ping timeout: 264 seconds). 00:01:19 -!- zgrep has quit (Excess Flood). 00:01:28 What's 7 or... oh. 00:01:59 It's been a few minutes, so now it's either... 4 or 5 00:02:22 I meant for the entire amount of time taken up 00:02:50 -!- relrod_ has joined. 00:02:50 -!- relrod_ has quit (Changing host). 00:02:50 -!- relrod_ has joined. 00:02:57 -!- zgrep has joined. 00:04:38 @djinn ((((t1 -> t2) -> t1) -> t1) -> t2) -> t2 00:04:38 f a = a (\ b -> b (\ c -> a (\ _ -> c))) 00:04:55 :t \a -> a (\ b -> b (\ c -> a (\ _ -> c))) 00:04:56 ((((r -> r1) -> r) -> r) -> r1) -> r1 00:05:43 now I'm trying to figure out what that function does 00:06:01 (also, the second question seems a little pointless, I doubt lambdabot would give you a function of the wrong type) 00:06:45 hmm, presumably there are some types it can't handle 00:06:52 @djinn (a -> b) -> b -> a 00:06:52 -- f cannot be realized. 00:06:54 yep 00:06:57 @djinn (a -> b) -> a -> b 00:06:57 f a = a 00:07:01 :t \a -> a 00:07:02 r -> r 00:07:22 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 00:07:24 @djinn ((((a -> b) -> b) -> a) -> b) -> b 00:07:24 -- f cannot be realized. 00:07:57 I remember being frustrated a few years ago about how that function didn't exist. 00:08:01 I don't remember quite why. 00:08:35 -!- codergeek42 has quit (Quit: Ex-Chat). 00:08:47 I find those left-associative function types really unintuitive 00:09:06 https://gist.github.com/nylki/1efbaa36635956d35bcc "Line and discard salt into sauce." 00:09:15 Reveal a creature card from your hand and discard it onto the battlefield. 00:09:56 <\oren\> b_jonas: yeah character requests are open 00:10:18 -!- aretecode has joined. 00:10:37 also hppavilion[1] was wrong, it's been more than 7 00:10:40 and more than 8 00:10:54 -!- hppavilion[1] has quit (Ping timeout: 255 seconds). 00:14:25 -!- mihow has quit (Quit: mihow). 00:19:40 -!- VictorCL has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 00:32:30 now I'm trying to figure out what that function does <-- someone asked for it in an SO question. The type is basically Pierce's law with an extra -> t2 -> t2 tacked on, which is enough to turn from "no term exists" (because not an intuitionistic theorem) to "one does". 00:33:02 oerjan: oh, so it's a proof, not a function intended to be useful in programming 00:35:50 yeah 00:35:57 @djinn ((((((a -> b) -> b) -> a) -> b) -> b) -> a) -> a 00:35:57 f a = a (\ b -> b (\ c -> a (\ _ -> c (\ d -> b (\ _ -> d))))) 00:36:12 @djinn ((((a -> b) -> b) -> a) -> a) -> a 00:36:12 -- f cannot be realized. 00:36:22 @djinn ((((((a -> b) -> b) -> a) -> a) -> a) -> b) -> b 00:36:22 -- f cannot be realized. 00:36:31 tswett: i suspect tacking -> b) -> b) -> a) -> a onto anything containing just a and b makes it provable 00:36:48 oerjan: and taking -> a) -> a) -> b) -> b on does not? 00:36:51 s/taking/tacking/ 00:36:58 that too of course 00:37:15 There's a counterexample right there. 00:37:26 oh. 00:37:29 hm... 00:38:37 oh hm 00:39:24 oh well 00:45:04 @djinn (((a -> a) -> a) -> a) -> a 00:45:05 -- f cannot be realized. 00:45:12 wat 00:46:38 -!- MoALTz__ has joined. 00:47:34 Is that even true classically 00:47:58 a good question 00:48:34 -!- MoALTz_ has quit (Ping timeout: 260 seconds). 00:48:42 @check \a -> (((a <= a) <= a) <= a) <= (a :: Bool) 00:48:44 *** Failed! Falsifiable (after 1 test): 00:48:44 False 00:49:09 @check for one Bool? 00:49:23 breaking new grounds in laziness 00:49:31 well it doesn't take long for lambdabot to try both possibilities 00:49:38 Gotta check all those Unknowns and FileNotFounds 00:49:41 well i didn't use the brain power to check that True was obvious hth 00:49:42 what does <= do on bools? 00:49:51 ais523: implication hth 00:49:55 Implication (in the opposite direction of the arrow). 00:51:26 @check \x a -> ((x <= a) <= a) == (x::Bool) 00:51:28 *** Failed! Falsifiable (after 8 tests): 00:51:28 False True 00:51:36 fiendish 00:51:43 oh when a is false. 00:52:49 8 tests for two bools. 00:53:07 lambdabot is very thorough 00:53:55 Clearly there are sqrt 8 values of Bool. 00:54:10 Didn't lambdabot have a smallcheck plugin at one point? 01:00:59 @djinn ((a -> a) -> a) -> a 01:00:59 f a = a (\ b -> b) 01:02:30 <\oren\> there are 9 values for 2 bools 01:02:38 i'm wondering if you can get something that is classically true and yet tacking on -> v) -> v for all its variables doesn't turn it intuitionistically true 01:02:47 <\oren\> because bools are nullable I assume 01:03:45 <\oren\> or are Haskell bools not nullable? 01:04:12 not nullable, but they have undefined 01:04:16 > undefined :: Bool 01:04:18 *Exception: Prelude.undefined 01:04:27 so yes, 3 values 01:04:49 unless you start distinguishing different exceptions, in which case you have infinitely many 01:05:04 <\oren\> bah typical use of null is as a undefined value with defined behaviour 01:05:27 yes, which haskell's undefined isn't, you cannot test for it in pure code 01:05:39 https://www.reddit.com/r/rust/comments/3osqqe/hlist_010_heterogeneously_typed_lists_with/ 01:05:55 well it's defined behavior i guess, just not useful to test on 01:10:28 You probably want a Maybe Bool if you want a "nullable bool". 01:12:45 I like the "Just x" constructors, they make code sound friendly and approachable. 01:13:10 By contrast, Java 8's Optional has methods like "orElse", which sound vaguely threatening. 01:13:24 This value better not be empty, orElse. 01:14:09 > Just Right <*> Just "there" 01:14:11 Just (Right "there") 01:14:19 > frоmEnum False :: [Bool] 01:14:20 [False,True,*Exception: openFile: does not exist (no such file or directory) 01:14:38 :t fromEnum 01:14:40 Enum a => a -> Int 01:15:00 :t frоmEnum False 01:15:01 [Bool] 01:15:10 oh right 01:15:38 > frоmEnum False :: [Bool] 01:15:39 [False,True,*Exception: openFile: does not exist (no such file or directory) 01:16:16 > fromEnum 2 01:16:18 2 01:16:31 > frоmEnum False :: [Bool] 01:16:32 [False,True,*Exception: openFile: does not exist (no such file or directory) 01:16:39 AAAAAA 01:16:54 > fromEnum False :: [Bool] 01:16:56 Couldn't match expected type ‘[Bool]’ with actual type ‘Int’ 01:16:56 In the expression: fromEnum False :: [Bool] 01:17:07 `unidecode False 01:17:08 ​[U+0046 LATIN CAPITAL LETTER F] [U+0061 LATIN SMALL LETTER A] [U+006C LATIN SMALL LETTER L] [U+0073 LATIN SMALL LETTER S] [U+0065 LATIN SMALL LETTER E] 01:17:17 er 01:17:23 *facepalm* 01:17:23 Oh right, it's enumFrom. 01:17:35 `` unidecode enumFrom # hth 01:17:36 ​[U+0065 LATIN SMALL LETTER E] [U+006E LATIN SMALL LETTER N] [U+0075 LATIN SMALL LETTER U] [U+006D LATIN SMALL LETTER M] [U+0046 LATIN CAPITAL LETTER F] [U+0072 LATIN SMALL LETTER R] [U+006F LATIN SMALL LETTER O] [U+006D LATIN SMALL LETTER M] 01:17:53 `unidecode frоmEnum 01:17:54 ​[U+0066 LATIN SMALL LETTER F] [U+0072 LATIN SMALL LETTER R] [U+043E CYRILLIC SMALL LETTER O] [U+006D LATIN SMALL LETTER M] [U+0045 LATIN CAPITAL LETTER E] [U+006E LATIN SMALL LETTER N] [U+0075 LATIN SMALL LETTER U] [U+006D LATIN SMALL LETTER M] 01:18:08 Sneaky. 01:18:11 > frоmEnum (2::Int) 01:18:13 [False,True,*Exception: openFile: does not exist (no such file or directory) 01:18:18 a bit less sneaky than it looked at first 01:18:36 > fromEnum False :: [Bool] 01:18:38 Ambiguous occurrence ‘fromEnum’ 01:18:38 It could refer to either ‘L.fromEnum’, 01:18:38 defined at /tmp/mueval8057508461632621729.hs:161:1 01:18:41 oops 01:18:44 right 01:18:48 ok, more sneaky 01:18:50 @type frоmEnum 01:18:51 t -> [Bool] 01:18:54 <\oren\> In my font those two o's look quite distinct 01:19:09 i never realized fromEnum and enumFrom both existed 01:19:12 It's a very non-picky fromEnum. 01:19:15 (i realized they each existed, though) 01:20:52 > enumFromTo minBound maxBound :: [Bool] 01:20:52 shachaf: very quantum 01:20:54 [False,True] 01:28:12 -!- hppavilion[1] has joined. 01:28:19 I'm back. Again. 01:36:29 -!- doesthiswork has joined. 01:39:48 <\oren\> hippavilion! 01:57:17 [wiki] [[C+]] N http://esolangs.org/w/index.php?oldid=44743 * 69.118.252.58 * (+1217) It's a joke somewhat 01:58:20 [wiki] [[C+]] http://esolangs.org/w/index.php?diff=44744&oldid=44743 * 69.118.252.58 * (-2) 02:01:08 -!- Adie has joined. 02:03:12 [wiki] [[Joke language list]] http://esolangs.org/w/index.php?diff=44745&oldid=44621 * 69.118.252.58 * (+9) /* General languages */ 02:03:13 I found a use for ImpredicativeTypes: let reify :: forall a r. a -> (forall s. Reifies s a => Proxy s -> r) -> r; reify a k = (unsafeCoerce unsafeCoerce :: (forall s. Reifies s a => Proxy s -> r) -> (Proxy s -> a) -> Proxy s -> r) k (const a) Proxy 02:03:30 [wiki] [[Joke language list]] http://esolangs.org/w/index.php?diff=44746&oldid=44745 * 69.118.252.58 * (-7) /* General languages */ 02:04:42 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=44747&oldid=44669 * 69.118.252.58 * (+9) 02:05:33 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=44748&oldid=44747 * 69.118.252.58 * (+0) /* C */ 02:06:04 tswett: How about a "tied list" data structure? Or Tied XML? 02:06:15 what is this channel 02:06:30 Adie: It's the discussion of Esoteric Programming Languages 02:06:41 what does esoteric mean 02:06:58 (Tangled and Tied XML: ) 02:07:05 Adie: Weird; not normal; surreal 02:07:21 like php? 02:07:25 Yes xD 02:07:33 So you do programming. I was just about to ask that. 02:08:09 hm 02:08:22 For example, brainfuck, a TC language with only 8 instructions (+-<>[].,), with two of them just for IO (unnecessary for TCness) and too many derivatives 02:08:30 this place is weird 02:08:43 We're weird 02:08:48 That's kind of what we do xD 02:10:30 You could visit our wiki if you're interested in what we do more: http://esolangs.org/wiki/Main_Page 02:12:07 esoteric programming languages are languages for which being useful was not a primary design goal 02:12:12 [wiki] [[Brainfuck asterism]] N http://esolangs.org/w/index.php?oldid=44749 * Hppavilion1 * (+26) Created Page as a convenience redirect 02:12:29 ais523: Or it was, but it aims to achieve so in a roundabout way 02:12:40 hppavilion[1]: well, no, that's not really being useful 02:13:04 ais523: s/roundabout/completely new/ 02:13:22 s/useful/useful for programming/ 02:13:27 Befunge could be useful if it had some libraries that people use. 02:13:28 right, one of the reasons I stay here is in the hope that we'll discover the next new big thing in programming 02:13:39 We probably have already 02:13:42 fungot: explain to hppavilion[1] that you already have plenty of libraries 02:13:44 ais523: you can only run gpl code on it without saying so, but the patient declined." fnord dominus 02:14:39 I think that a CSV-based funge COULD be the next big thing 02:14:58 -!- relrod_ has changed nick to relrod. 02:15:10 relrod: rellorod 02:15:24 * relrod doesn't know why he had a tail :( 02:15:56 hppavilion[1]: I don't, really 02:16:15 I think to really revolutionize programming, you have to attack it from an angle that doesn't really fit in with existing code 02:16:29 I've been aiming to do some things along those lines 02:16:43 the result is that the languages are impossible, with known techniques, to implement efficiently, and nobody can figure out how to program in them 02:16:51 (look at something like http://esolangs.org/wiki/WUUI for example) 02:16:59 ais523: Maybe not the next big thing, but I bet it could go beyond our community. Not CSV strictly, but more spreadsheet-based. 02:20:08 [wiki] [[Brainfuck⁂]] http://esolangs.org/w/index.php?diff=44750&oldid=44627 * Hppavilion1 * (+599) IDs for Operator Overloading in Classes (this is a fucking BF derivative) 02:20:35 [wiki] [[Brainfuck⁂]] http://esolangs.org/w/index.php?diff=44751&oldid=44750 * Hppavilion1 * (+0) Fixed some formatting 02:21:14 [wiki] [[Brainfuck⁂]] M http://esolangs.org/w/index.php?diff=44752&oldid=44751 * Hppavilion1 * (+4) Fixed some formatting (again) 02:21:46 What character should define a class? 02:22:31 shachaf: huh, is the double unsafeCoerce necessary? 02:22:33 The way it'll work is there'll be two commands: Define the following code block to a class and set current cell to instance of corresponding class 02:22:43 oerjan: Not sure. 02:23:14 I spent much less time on those comments than I did on the answer. I'd be happy to see it done in a more straightforward way. 02:23:48 I want to make a DB software that follows this analogy: SQL:C::This:Python 02:23:49 The obvious thing (unsafeCoerce :: (forall ...) -> ...) didn't seem to work but I didn't investigate too much. 02:23:58 right 02:24:05 oerjan: also how did you get this notification exactly 02:24:27 presumably because ImpredicativeTypes are currently crap 02:24:28 Oh, are you some sort of fancy moderator? 02:24:33 Oh, wait. 02:24:37 what notification 02:24:43 Never mind, I forgot that I posted that in here. 02:25:16 fancy 02:25:28 I thought you were reading http://stackoverflow.com/a/17794883 02:25:47 since you always seem to be on that website 02:26:54 well i am, but i don't remembber that message 02:26:57 *-b 02:27:32 it's an old answer, just a new comment 02:30:21 <\oren\> I think I'm gonna make a language called c❄ 02:30:37 `unidecode ❄ 02:30:38 ​[U+2744 SNOWFLAKE] 02:30:51 it better be unique and precious 02:32:09 -!- impomatic_ has quit (Read error: Connection reset by peer). 02:32:56 `multicode -r snowflake 02:32:57 Usage: multicode [options] arg \ \ multicode: error: no such option: - 02:32:59 `` multicode -r snowflake 02:33:01 U+2744 SNOWFLAKE \ UTF-8: e2 9d 84 UTF-16BE: 2744 Decimal: ❄ \ ❄ \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+2745 TIGHT TRIFOLIATE SNOWFLAKE \ UTF-8: e2 9d 85 UTF-16BE: 2745 Decimal: ❅ \ ❅ \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+2746 HEAVY CHEVRON SNOWFLAKE \ UTF-8: e2 9d 86 UTF 02:33:18 <\oren\> it will be based on C, but rather than adding features 02:33:57 <\oren\> it will alter the syntax to be as clean as freshly fallen snow 02:34:38 <\oren\> I'm working on some code samples first, then I'll figure out a real spec 02:35:48 `` multicode -r snowflake | awk 'NR % 6 == 1 || NR % 6 == 3' 02:35:49 U+2744 SNOWFLAKE \ ❄ \ U+2745 TIGHT TRIFOLIATE SNOWFLAKE \ ❅ \ U+2746 HEAVY CHEVRON SNOWFLAKE \ ❆ 02:37:10 So a megadb... 02:37:25 It'd be slower, but easier to use. Like C:Python. 02:37:42 (Slower mostly because it'll be made in python xD) 02:38:44 <\oren\> nah, it will RUN at the same speed, but the cleaner looking syntax might slow down compilation 02:39:42 \oren\: It won't be compiled, at least in the original version. I'm not smart enough to compile things. 02:39:58 <\oren\> ic 02:40:05 (Except this one program that I manually compiled, but that was literally a single instruction) 02:40:07 ic? 02:40:18 I do not recognize that abbreviation 02:41:42 What should I call this DB for now? ArbourDB? (It'll allow one to use trees instead of/along with/merged with Tables if one desires) 02:44:13 <\oren\> a tree on a table? like bonsai? 02:52:25 \oren\: Yes. You can have a table where the cells in one or more columns are binary or other trees. Like a bonzai. 02:54:19 The idea is that everything is based around a sort of "Arithmetic of the Types". In SQL, all tables are of the type (or type expression) (Map)*LinkedList, or (Array)*LinkedList, depending on if you want to think of it as a map or as an array where each index has an implied value 02:54:36 Imma go make a BNF of the syntax 02:56:10 <\oren\> So I have a code sample for c❄ 02:56:13 <\oren\> int main () printf "answer: %d\n", 0x0e | 0xf8 + 1;; 02:56:37 OK then. 02:56:39 <\oren\> equivalent C: 02:57:25 <\oren\> int main () { printf("answer: %d\n", (0x0e | 0xf8) + 1); } 02:57:39 I DON'T LIKE IT 02:57:57 (Leads to too much ambiguity) 02:58:08 (Then again, these /are/ esolangs, so...) 02:58:14 <\oren\> it's totally unambigious 02:58:35 <\oren\> a block always ends in ;; 02:58:43 Well it's ambiguous to the programmer- oh. 02:58:51 <\oren\> whereas a statement ends in ; 02:59:11 <\oren\> unless it's the last statement in a block 03:00:22 <\oren\> if x = 3; puts "it's three";; else; puts "it's not three";; 03:02:35 int main int argc❄ char **argv❄❄ puts "Hello, world!"❄❄ 03:05:54 -!- perdurabo has joined. 03:06:02 anyone from amorc here? 03:06:11 What should I call my DB's generalization of tables? They aren't really tables, because they can be of different form from (Map)*LinkedList. 03:06:22 perdurabo: What's amorc? 03:06:51 -!- perdurabo has left. 03:07:53 That was interesting 03:10:43 \oren\: Do you have any clue what to call my "tables"? 03:11:08 -!- Hogget has joined. 03:12:38 Hellu. Welcome to this channel. 03:13:28 I'm the only one who's done anything in the last 5 minutes, but there are a few people out there who are probably just forgetting to open their client 03:13:56 :) greets 03:15:01 http://esolangs.org is a good place to go to find existing weird languages; you should probably start with Brainfuck, Unlambda, and Befunge (and maybe malbolge), as those are the first few that come to mind 03:15:27 Then, just start hitting "random page" and hope you don't land on another BF derivative 03:15:32 Now I have to go eat. 03:15:41 no, see, Brainfuck type of languages is exactly what i'm trying to avoid. 03:25:06 <\oren\> In c❄ you replace the c syntax *p with p*. 03:25:44 <\oren\> this makes brackets unnecessary in many type definitions 03:27:33 <\oren\> e.g. a c `struct foo (*a)[4]` is in c❄ a `struct foo a*[4]` 03:28:17 <\oren\> whereas a c `struct foo *a[4]` is in c❄ a `struct foo a[4]*` 03:37:38 <\oren\> also, & ^ and | have the same precedence as + and - 03:38:17 <\oren\> as do << and >> 03:38:53 Why is it so difficult for computational methods to extract accurate meaning from natural language sentences? 03:39:32 <\oren\> it's difficult because natural language sentences are mostly ambiguous 03:39:46 like colloquial sentences, informal; or better yet, from poetic expressions. 03:40:14 <\oren\> writing code to extract meaning from natural language sentences is literally my job 03:40:45 \oren\: fabulous. 03:41:07 <\oren\> go figure what the user meant by "who's the bass dude" 03:41:53 <\oren\> or better yet "what does s m mean after a word" 03:43:26 "mostly ambiguous" sonds quite an accurate description of natural sentences ... and humorous :) 03:44:16 <\oren\> also, even if the meaning is clear, intention may depend on context 03:45:26 <\oren\> "send a text message to ted" 03:45:36 <\oren\> who ted is depends on the user 03:45:44 \oren\: yes, true. I'm familiar with rhetorical figures. 03:46:18 and many kinds of metaphorical forms 03:46:53 \oren\: is there a programming paradigm better suited to this task of extracting accurate meaning from natural sentences? 03:48:02 <\oren\> I'm not actually certain. Some people claim statistical models are better, others claim that parsing things according to a syntax is better 03:48:55 I suppose a method of cross checking context against a humongous corpus of text (all written language of all eras of all humanity :P ) won't scale very well. 03:50:36 <\oren\> I'm far from an expert in NLP anyway. it's just my job. 03:51:29 <\oren\> I took a course in NLP a few years ago, but I only got a B 03:51:31 and then again, the original utterances of your linguisticall smart buddy, after 3 beers at the local bar, might not be written anywhere ever . . . yet you understand exactly what he means ... lol 03:52:32 statistics still handles that case 03:52:34 \oren\: you might be the one that pulls the sword out of the rock . . . :D 03:52:55 hogget: good-turing frequency estimation 03:52:59 doesthiswork: the context checking case, you mean? 03:53:25 nah, the unattested utterances 03:53:38 oh, :D 03:56:01 you could also try approaching it from the perspective of coordination instead of communication 03:56:43 (not that its any easier) 03:58:42 how coordination? 03:59:06 <\oren\> I don't understand what coordination means here either 04:00:10 <\oren\> Hogget: you may be surprised to learn that the code I write for NLP is mostly C++ 04:01:55 \oren\: yea . . . I heard C++ didn't do strings very well . . . but i don't know C++ at all. 04:02:50 <\oren\> std::string is... ok-ish 04:03:52 <\oren\> unfortunately, std::vector is bad with threading so we use something else 04:09:46 <\oren\> anyway, there are a lot of products that try to understand human language commands these days 04:09:57 How do humans disambiguate then? If most lang. is ambiguous, our mechanism to determine meaning must be pretty good. My guess is that we do a funneling type of selecting from many meanings, that we crosscheck with known contexts, plug in a possible fit with the rest of the sentence, and keep trying 'til a good fit. All at faster than light speed, of course. 04:10:47 we try to guess what is already on the person's mind and only listen to words as a last resort 04:10:49 <\oren\> The human brain is massivley parallel in it's processing. 04:10:51 -!- JesseH has quit (Ping timeout: 252 seconds). 04:11:25 <\oren\> So I think it analyzes things in a bunch of different ways 04:13:25 yes 04:13:30 <\oren\> doesthiswork: Yeah. and then as we hear a sentence we often autocomplete it, leading to errors when people speak weird 04:13:37 yes, gesture clues from the interlocutor are a major source of meaning. 04:14:18 and gaze direction 04:14:22 a tilt of the head, eyebrows expressions, etc. 04:14:54 at work we're using a jackhammer so hearing is difficult 04:15:23 <\oren\> for me, I can lipread english fairly accurately, so I can follow a conversation even with headphones in 04:15:26 Still, there's the written level of expressions . . . and that's a major part of the "written www" 04:16:12 HAL-9000 could lip read ... ;) 04:19:02 the "smells web" is slated for 2025, lol 04:48:06 -!- hppavilion[1] has quit (Ping timeout: 255 seconds). 05:03:57 -!- hppavilion[1] has joined. 05:04:56 I'm back 05:05:10 How about an EXTREME instrospective language? 05:05:17 Or even a metaintrospective language? 05:06:45 -!- adu has joined. 05:06:50 Hi adu! 05:07:02 hi 05:07:23 Hogget: Is the Propogator Model another name for Reactive Programming? 05:07:35 hppavilion[1]: no 05:07:41 Oh. 05:07:48 What is it then? I can't find a Wiki article on it 05:08:05 the propogator model is a replacement for the Turing machine 05:08:21 reactive programming is a replacement for procedural programming 05:08:39 The Turing machine is not "another name" for procedural programming 05:08:48 Ah. 05:09:04 -!- oerjan has quit (Quit: A rose by any other name would compute as sweet). 05:09:06 I never said it was and I wasn't going to say it was. 05:09:13 I think one is descriptive and one is perscriptive 05:09:40 hppavilion[1]: propogator model is perscriptive, reactive programming is descriptive 05:09:56 hppavilion[1]: Turing machine is perscriptive, procedural programming is descriptive 05:10:06 I know that Reacitve programming is where if x=y, x==y is always true no matter how y changes, unless x is redefined 05:10:37 hppavilion[1]: reactive programming is changing a cell in a spreadsheet 05:10:50 I get that. 05:12:27 I'm sorry to interrupt 05:12:29 continue 05:13:44 It's fine 05:14:36 I was working on a sexp <=> mathml converter 05:15:50 adu: you did not interrupt; thanks for explanations 05:15:50 Interesting 05:16:51 -!- doesthiswork has quit (Quit: Leaving.). 05:16:55 adu: my initial question was: is there a programming paradigm better suited to extracting accurate meaning from natural language sentences? 05:17:09 Hogget: SQL looks very englishy 05:17:51 but SQL is not for parsing natural languages 05:17:53 I'm attempting to design a better type of Database software than SQL. Not faster, of course. I'm bad at fast code. Just more... featureful. 05:17:58 Ah 05:18:22 You mean a language for learning what a sentence says, not a language that is supposedly easier to write because it's englishy 05:18:40 hppavilion[1]: yes, that 05:18:47 SQL:C::ArbourDB:Python 05:19:16 Hogget: Are you attempting to do something like a Text Adventure where you just need to know what a person means or do you want a thing that can understand Shakespear? 05:19:24 hppavilion[1]: what's wrong with noSQL dbases? 05:19:30 (given decads of code) 05:19:33 *decades 05:19:46 Hogget: Not enough trees 05:20:23 hppavilion[1]: to understand Shakespeare is a good analogy 05:20:33 (There's nothing wrong with them, I'm just trying to make the Python of databases. I see SQL as the C of databases; very powerful, but not capable of things that don't fit a table) 05:20:44 hppavilion[1]: Mathematica maybe? xD 05:20:54 hppavilion[1]: consider drawing inspiration from HDFS and Cassandra 05:20:58 LISP I hear is used in AI a lot, though I think it's a different kind of AI. 05:21:55 If you have only a handful of sentence structures you need to understand (as one might need in a TBG), then just Python and some Parser Combinators will be good enough. 05:22:37 (for example, you just need to match an instruction saying to do x with object y using object z, maybe with some adverbs) 05:23:24 that's a myth 05:23:41 LISP was used for AI 05:23:57 hm, i think i need more muscle 05:24:04 but that's like saying "PHP is how the web works" 05:25:07 I personally think that the most realistic AI will be hybrid 05:25:14 But if you need to ACTUALLY be able to parse the full works of shakespear... well, you'll need access to a Dictionary API to start with. THEN you'll need to solve the noun-or-verb problem with "kick". THEN, if you aren't using machine learning to figure out what it means, you'll have to produce some BNF for sentence structures (and no matter how hard you try, there'll always be a few gramatically correct outliers), THEN make a parser 05:25:16 out of that (the easiest way is with combinators). If you CAN use machine learning, well, that's not my area of expertise 05:26:06 hppavilion[1]: there are 3 DBs I'm trying to learn right now: Virtuoso, Jena and eXist 05:26:44 Jena is an RDF DB, eXist is an XML DB, and Virtuoso is a DB that understands RDF and XML 05:28:22 TBG = Tall Bald Guy? 05:28:35 To parse sentences, you'll first have to lex the words out of it (and in the process you'll likely need to detect whether it's a noun or verb, which is hard for words that can be both), then you'll need to find how to identify the subclauses (like "john kicked"), then you'll need to recognize full clauses, then you'll need to be able to hook those together with I,cI, I;I and combinations of those. I;I will be easy, I,cI not so much, as 05:28:36 you need to preserve the c and extract meaning from that too. 05:29:29 https://en.wikipedia.org/wiki/Time_flies_like_an_arrow;_fruit_flies_like_a_banana 05:30:20 And then you'll have some difficult when it comes to things people do differently (read: wrong). Does punctuation go INSIDE or OUTSIDE of the quote? Your teacher says inside, but most programmers put it outside. 05:30:39 I put it outside 05:30:51 I think Noah Webster was wrong 05:30:55 adu: So do I. Other people do it wrong. Quotes are literal, goddammit! 05:30:55 i'm an outtie too 05:30:58 programmers put it outside because that gives more information on what was and wasn't part of the quote 05:31:00 xD 05:31:06 and makes the quote more accurate to the original 05:31:13 ais523: Exactly. That's why I do it. 05:31:24 standard English style not only moves punctuation marks to the wrong side, it also changes full stops to/from commas 05:31:30 which is a weird rule that loses info 05:31:47 Yeah. Who came up with that? 05:32:16 Hogget: In short, I recommend you DON'T parse english with combinators alone. Use /some/ machine learning, but also combinators because they're fun. 05:32:25 maybe it wasn't Webster, I just hate him for putting extra letters that are silent on EVRYTNG 05:32:57 or should I say "everythingue" 05:33:13 :) 05:34:18 adu: it was the London book printers who made a rightful mess of spelling. 05:34:48 you know there are lots of similarities between spelling and RDF 05:36:19 Lisp seems to be well suited for parsing natural langs. What do you fellas think? 05:36:53 like most of the work spells the work "knows" as "knows", but RDF is trying to get people to spell it "http://xmlns.com/foaf/0.1/knows" 05:37:03 Meh. I don't know enough about lisp for that. 05:37:04 s/work/world/ 05:37:26 Hogget: I think parsers are well suited for that 05:37:44 Hogget: my favorite parsing frameworks as of recent have been ANTLR and Perl6 05:37:45 "like most of the world spells the world "knows" as "knows", but RDF is trying to get people to spell it" 05:37:47 yacc and lex, you mean? 05:38:32 Hogget: ANTLR and Perl6 05:38:53 adu: i see. (i'm slow to keyboard) 05:39:35 ANTLR and Perl6 have one thing in common as I see it, they both equate grammar productions with class methods 05:41:01 some of them can be simple, like plusminus = { plus | minus } or they can be a function written by you, which is required in some cases 05:41:17 and that makes me happy 05:41:31 the escape from "regular" constrants 05:41:40 or "context free" constraints 05:43:17 adu: hmm ... putting NLP grammar permutations in classes makes me think i'll end up with tons of ravioli code. 05:43:35 Hogget: have you ever heard of modules? 05:43:55 So I'm designing a DB where you can store, for example, Trees where the nodes contain Rows. 05:43:56 there's thing thing called "import", it's kind of great 05:44:27 hppavilion[1]: sounds like Virtuoso 05:44:43 hppavilion[1]: also, Apache Drill 05:44:48 -!- J_Arcane has quit (Ping timeout: 255 seconds). 05:45:26 You'd create a DB like this with CREATE DATABASE TYPE (binarytree BY row[]) 05:45:35 Or something along those lines. It's still in design. 05:46:18 * adu <3 RDF 05:46:39 I was thinking I'd use XML. 05:46:43 Just for storage. 05:46:57 * adu <3 MathML 05:47:07 XML is pretty crappy 05:47:24 it's grammar is larger than most use cases 05:47:45 *its 05:47:46 its 05:47:53 lol 05:47:57 true dat 05:48:10 my grammar iz bad 05:48:15 i have to admit that english is pretty weird there 05:48:34 myname: where? 05:48:35 I'll most likely end up just using pickling, but I hope in the later version it'll be XML-based 05:48:41 adu: its vs. it's 05:48:44 you write adu's but not it's 05:49:08 myname: the contration apostraphe overrides 05:49:43 like 0^0 is undefined, but lim x->0 x^x = 1, because math 05:49:57 adu: Not sure what that meant, but I think you have it backwards 05:50:04 (about contractions overriding 05:50:20 it's = it is 05:50:28 i hhow is 0.1^0.1 closer to 1 than 0.01^0.01? 05:50:30 its = the thing of it 05:51:11 *because math* 05:51:30 having 0^0 undefined is pretty reasonable, though 05:51:57 https://www.physicsforums.com/threads/limit-of-x-x-as-x-approaches-0.487199/ 05:52:05 "Time flies . . ." stock example is bogus, at least the way Wikip. shows it: it relies on a spelling error. "fruit flies" is in error; the correct form is "fruit-flies"—it's a hyphenated composite, as its singular "fruit-fly". 05:52:40 https://en.wikipedia.org/wiki/Tetration#Extension_to_base_zero 05:53:02 Hogget: I think the nonhyphenated spelling is becoming more common (possibly due to the phrase in question) 05:54:42 -!- hppavilion[1] has quit (Ping timeout: 255 seconds). 05:56:46 ais523: that's unfortunate. Moreso considering that the natural process with these hyphenates is to drop the hyphen and conflate the terms: "fruitfly", "Micro-soft" (it was spelled that way in the beginning) into "Microsoft". 05:59:08 go-ogle 05:59:24 yeah without the hyphen it's better 05:59:25 Hogget: it seems about even whether hyphenated words end up with the hyphen being replaced with a space or with nothing 06:00:10 fwiw Wikipedia seems to spell "fruit fly" without the hyphen 06:01:06 ais523: Wiki is not 100% reliable :( 06:01:23 indeed 06:04:42 You know what I think 06:05:03 I think we should write an OS with the progagator model 06:05:08 "Google" has never been "Go-ogle", that i'm aware of. 06:05:24 Maybe not, but Java was Oak 06:05:38 and JavaScript was LiveScript 06:05:54 and then everyone drank too much coffee 06:05:58 Hogget: that joke was made by Google themselves, but much later (when talking about a debugger for their new language, they suggested calling it "ogle") 06:06:03 Java is imperative, no? 06:06:31 Hogget: imperative/procedural (I prefer the term procedural) 06:07:35 GoLang? 06:07:37 Java's normally considered to be in the "Java-style OO" paradigm (to distinguish it from Smalltalk-style OO) 06:07:42 but that's kind-of recursive 06:08:12 I think Java-style OO started as C++ features that people could understand 06:09:04 understanding C++ OO is actually pretty hard 06:09:16 because it's bad 06:09:23 basically because its default implementation of features is a limited functionality version that can be implemented efficiently 06:09:37 and if you want full Java-style OO functionality you have to opt into it with keywords like "virtual" 06:09:45 C++ replaces verbosity with ambiguity, that's not a good trade IMHO 06:09:46 due to the performance cost 06:10:52 ambiguity makes programming more difficult 06:13:38 my usual concerns are: Clarity, Readability, Maintainability above Brevity and Expressiveness 06:14:18 C++ doesn't even come close 06:14:33 I think Perl6 strikes a good balance 06:14:43 I think Perl5 is confusing 06:15:19 so in order to make a good esolang, we reverse all that? 06:15:32 inclarity, unreadability, unmaintainability in the pursuit of brevity and expressiveness 06:15:42 although that pretty much is just the definition of a golfing language 06:15:49 and there are a few of those already 06:16:32 what's the benefit of esolangs? 06:16:43 a range of benefits, really 06:16:43 the payoff 06:16:45 I briefly thought of a golfing language where you have your favorite choice of (say) Huffman tree of instructions, and correctly determined that this is not much fun 06:16:55 some people view it as art; Daniel Temkin's blog seems to be looking at it from that perspective 06:17:06 really, something like http://esolangs.org/wiki/2014 can't really be explained except as art 06:17:17 some people view it as long-shot attempts to find the next big thing in pogramming 06:17:24 *programming 06:17:35 some people use it as practice for designing/implementing more serious languages later 06:17:51 some people do esoprogramming for the mental challenge (especially in cases like http://esolangs.org/wiki/BF_Joust) 06:18:28 ais523: interesting 06:19:07 sometimes it's an attempt to poke fun at specific existing languages 06:19:24 -!- izabera has left ("WeeChat 1.3"). 06:19:42 -!- izabera has joined. 06:19:56 and sometimes it's about interesting thought experiments, like that boltzmann brain language of ais 06:20:07 ais523: I think APL, J, Funge98 are good examples of brevity and expressiveness 06:21:00 and some are where you try to figure out proofs for the computational power of a language, like M:tG 06:21:27 or Underload with only some set of its symbols kept 06:23:50 to me, the M:tG case is a good argument that the rules of the game should stop trying to ask the impossible 06:23:56 although I'd love a good uncomputability proof 06:24:18 it should probably only take one layer of subgames + a fix to the existing construction + some way to inspect players' life totals 06:24:31 ofc uncomputability isn't as strong as I'd like 06:24:46 I'd prefer an impossibility result (e.g. via showing that the language can solve its own halting problem) 06:24:54 er, what should take a layer of subgames and a way to inspect life totals? 06:25:09 there are tons of ways to inspect life totals 06:25:10 b_jonas: construction of an interpreter for a uncomputable language in M:tG 06:25:47 the language would basically just need to be TC, plus the ability to (at one point during execution) solve the halting problem on a single program in a Turing-equivalent language 06:26:04 that's uncomputable, and probably M:tG implementable 06:26:32 but it's not as interesting as being able to do an unlimited number of halting problem evaluations, and nowhere near as interesting as being able to solve its own halting problem 06:28:39 life total => Ruthless Cullblade, Death's Shadow, Serra Avatar, Roiling Horror. 06:29:07 not sure which of those would fit into the construction 06:29:38 those are all creatures whose power or toughness depends on the life total of some player, 06:29:53 the issue with the conditional +toughness effects is that they produce a something/nothing distinction rather than a something/something else distinction 06:29:57 but I don't understand what you need to inspect life totals for in first place 06:30:15 conditionals on subgame outcome 06:30:23 (Shahrazad halves the life total of the loser) 06:30:51 ofc there is the problem that the players could concede the subgame and mess up the calculations, although I'm not sure if you can concede in the middle of an infinite loop because the game is already platonically drawn at that point 06:31:33 ais523: for something and something else, I listed four creatures that work in at least three different ways 06:31:47 actually serra avatar + death's shadow (with a ton of +1/+1 counters) might work 06:31:55 oh oh oh 06:31:57 because they both trigger on the same player's life total but in opposite senses 06:32:04 did you hear the science news? 06:32:14 which specific science news? 06:32:16 the Kilogram is being redefined! 06:33:14 https://en.wikipedia.org/wiki/Proposed_redefinition_of_SI_base_units#Kilogram 06:33:35 adu: people have been proposing redefinitions for like decades 06:33:44 most of them don't make any sense because they can't be measured precise enough 06:33:53 Yeah, but this time NIST is endorsing it 06:34:17 yes, I did hear that, although the specific interesting news is more "we've now measured Planck's Constant and/or Avogadro's Number accurately enough that we might be able to replace the kilogram with it" 06:34:28 I think they might want a few more decimal places first though 06:34:33 like, the ones that would require you to measure the Avogadro constant or the Planck's Constant for more than a few digits precision 06:34:57 it's even worse if you try to measure the universal gravity constant, mind you 06:35:25 well, big G is dependant on relativistic effects, like how close to a singluarity you are 06:36:00 ofc they don't need to be perfectly accurate 06:36:05 just more accurate than the kilogram bar in question 06:36:44 ais523: sure, but also they have to think of the future, eg. the definition should make sense thirty years from now, with unknown future technology 06:37:21 that's why I got the impression that big G was calculable from the gravitational field 06:37:47 everything in the universe (apart from the official kilogram bar) has gradually been getting slightly heavier over the last 100 years… 06:37:57 ais523: if you want something that permits no decisions by any players to mess up the computation, then I think you have to use breakable infinite loops, not subgames, because _either_ player can concede a subgame, which probably makes the whole thing meaningless. 06:38:41 b_jonas: well don't the rules imply that as soon as a loop starts with no player choices, the game is instantly drawn? thus no time to concede? 06:38:59 ais523: well, maybe you could somehow rig the subgame so the information you get out is not only from losing or winning, but from drawing or from wishing cards away from the main game 06:39:03 you can't play out iterations of the loop in the hope that your opponent will concede 06:39:22 I thought of that, using Glittering Wish 06:40:23 ais523: no, I don't think so, you can concede very fast, and even so, I think it's almost impossible to set up a Shahrazad subgame in any sane way. unless you start the subgame with so few cards that it's an instant loss from drawing the starting hand, the players have the choice of at least mulliganing and placing Leylines 06:40:40 and I don't think you can even have a loop before some player does something in the subgame 06:40:43 b_jonas: I was planning to set it up during initial setup 06:40:53 as in, using player choices to set up the state both outside and inside the subgame 06:41:10 ais523: so you'd just set up one subgame? 06:41:10 and then performing the one action that starts the chain of triggered abilities going 06:41:12 yep 06:41:18 hmm 06:41:26 but then I don't see why you need a subgame 06:41:28 that's enough for uncomputablity, also for, say, solving the Riemann hypothesis 06:41:37 why not just use one game with one loop that must be broken if it's infinite 06:42:15 is a language uncomputable if it can't do anything after an infinite loop is detected? 06:42:17 no that doesn't work 06:42:17 hmm 06:42:26 Haskell has the "undefined and infinite loops are equivalent" rule, and isn't normally considered uncomputable 06:42:39 ais523: I'll think about this 06:43:13 what I really wanted to do was set up a language that could solve its own halting problem, but I'm pretty sure you can't do it with finitely many nested subgaes 06:43:15 *subgames 06:43:20 (that is, a specific finite number) 06:43:44 ais523: sure, that just means undefined could cause an infinite loop. it's like how some actions in C cause undefined behaviour, which is allowed to cause monkeys flying out your ass, but that doesn't mean C is uncomputable because it has the power to cause monkeys flying out your ass 06:46:00 ais523: mind you, I'm quite sure you are allowed to concede even within a loop with no decisions 06:46:11 b_jonas: but the game's already over at that point 06:46:19 no it's not 06:46:21 look 06:46:26 you can't concede the game after your opponent has lost it, IIRC 06:46:32 he hasn't lost yet 06:46:33 look 06:47:01 either there is some point in time after which the game is over, or else there is no point in time after which the game is over 06:47:04 which are you claiming is true? 06:47:11 (when an unstoppable infinite loop happens, that is) 06:47:20 didn't we find that in a multiplayer game, you can concede when a player chooses to cast Hex (he just revealed it) to save your teammate, right? 06:47:40 that still works even if nobody has a choice during the casting of Hex because there's only one way to pay it and only six creatures to target 06:47:46 and wait, it gets worse 06:47:51 b_jonas: but that's because the game isn't over yet 06:48:00 oh it could be over 06:48:08 the Hex destroys the Platinum Angel or whatever 06:48:11 no, casting Hex by itself is unlikely to end the game 06:48:14 I mean, it hasn't resolved yet 06:48:31 -!- adu has quit (Quit: adu). 06:48:33 well, players have nothing in your hand and can't activate any ability or something 06:48:42 all they can do is concede 06:49:07 the better question is "suppose someone casts Hex and it targets a Platinum Angel (among other things) that's preventing the game ending; can you concede during the resolution?" 06:49:25 there's a difference between game-ending events and non-game-ending events 06:49:28 but the more important thing is Chaos Confetti and other un-cards, which can force your opponent to tear up their cards (with copy effect or Mindslaver or similar) or do other strange things, and the only way out from that is conceding 06:49:40 which is that you can concede any time during the game, but you can't concede after the game is over 06:50:07 I'm quite sure you can concede in a Chaos Confetti casting, even if you have no in-game choice before choosing how to drop the Confetti 06:50:11 the whole blacker lotus combo doesn't end the game (if it did, you wouldn't get to rip up the cards) 06:50:23 I'm saying you can concede at any time during the game 06:50:26 but not after the game has ended 06:51:06 ais523: after ending the game? I think you can probably still concede very quickly jsut _before_ the game ends, but usually there's no point 06:52:12 That reminds me to that old rules hole where a particular version of the rules of chess says that it's too late to call out games rules violations after the games has ended, so I'm allowed to just make an illegal move that gives a checkmate, and as that ends the game, you can't do anything about it. 06:53:13 But now I don't understand what you want to do with the subgame at all. 06:53:48 afk hour 07:07:53 basically to convert a draw into a win 07:28:00 -!- Patashu has joined. 07:28:00 What is the minimum number of symbols a 2-state machine can have? 07:31:22 Turing machine, you mean? to be TC? 07:31:47 yes 07:31:47 assuming you allow complex infinte initialization sequences (that are nonetheless subTuring), 3 07:32:26 for repeating infinite initializations (with a fixed constant pattern in the middle), the best known is 5 (Wolfram's proof of this is buggy but the machine itself is correct) 07:32:29 "1", "0", and ...? 07:32:38 err, it really doesn't matter what you call them 07:32:53 however I called the third symbol "2" in my proof 07:33:02 it seemed logical enough 07:33:13 "0", "1", "-" might work better for the way the machine actually behaves, though 07:33:37 I don't know how many states you need if you want the tape to start blank apart from a finite region 07:33:40 so, symbols don't have to correspond to states? 07:35:04 oh ... operator 07:35:22 there's no real connection between symbols and states 07:35:46 and ofc, if you did have a 1-1 correspondence, you'd only have 2 symbols, which probably isn't enough with 2 states 07:36:00 (allegedly Minsky proved this, but if he did the proof has been lost) 07:36:36 he is still alive, though, so I guess it might be possible to just ask him? 07:45:11 -!- ais523 has quit (Ping timeout: 260 seconds). 07:47:05 OISC = 1 instruction, 3 symbols 07:52:22 [wiki] [[Joke language list]] http://esolangs.org/w/index.php?diff=44753&oldid=44746 * Rdebath * (-2) Fix reversion by author 07:52:37 -!- aretecode has quit (Read error: Connection reset by peer). 07:55:37 -!- aretecode has joined. 07:57:22 -!- ais523 has joined. 08:13:50 ais523: ping 08:14:00 pong 08:14:23 ais523: I was thinking of what you said, and if I understand it right, it would have strange esoteric consequences other than just being uncomputable 08:14:35 yes, I'm not sure I understand it right either 08:14:43 there are multiple uncomputable complexity classes 08:14:49 well sure 08:14:52 and trying to understand the difference between them makes my heard hurt 08:15:06 I'll try to explain a bit later 08:23:59 ais523: so if I understand you right, you were arguing that if there's an infinite loop such that the infinite loop rules cause the game to be draw, then the game ends as soon as the infinite loop is started 08:24:06 ais523: there are two complications with that: 08:24:35 -!- fractal has quit (Ping timeout: 252 seconds). 08:25:24 firstly, that players may have choices that can affect and possibly break the infinite loop, but that the rules don't force them to do to break the infinite loop, like activating abilities in their priority. so the players can make decisions to break an infinite loop somehow. 08:26:38 the second is that during an infinite loop, there can be hidden information shown to players, such as cards in hidden zones, and some of this hidden info can be needed to determine how the infinite loop works, whether it's infinite, and it can also be information about the supergame (in a subgame) or the match and affect those. 08:26:58 well, the whole point of the exercise is to show that the M:tG rules are broken 08:27:11 in the first case, I have some ideas of what would happen, based on the Four Horsemen thing 08:27:22 the second might be resolved the same way but I'm less sure 08:27:39 (can we construct a gametstate that has an infinite amount of hidden information? I can't think of a way to do it, but maybe there is one) 08:27:47 err, not necessarily infinite, but unbounded 08:28:11 so if the rule was that the game ends at the start of the infinite loop, that means the two players have to make decisions that might affect or break the infinite loop, from the information they have available, and then if it turns out that the loop is infinite afterall, then you have to rewind the whole thing, undo wishes, and even call a judge who can cause the players to forget the information that was revealed, 08:28:11 I don't think you can have face-down tokens via any means, that'd make things too easy :-( 08:28:32 for if the game was ended before the loop, than that information wasn't revealed afterall. 08:29:04 note that the information they have to forget includes not only cards, but also decisions of the other player, and the strategy of the other player may indirectly hint to other hidden information. 08:29:42 so this would have crazy consequences, but I would like to believe this isn't how the infinite loop rules work. 08:30:06 so I guess the next step is, can we construct an infinite loop that the rules can't recognise as infinite? 08:30:09 ais523: I think you can probably have unbounded hidden information, wait a minute 08:30:20 you can do it in casual, so long as you assume your sideboard has an infinite number of eldrazi 08:31:45 uh, you can't have an _infinite_ number of eldrazi. 08:31:50 not even in casual 08:31:52 that's right out 08:31:53 I know, it's not a very good assumption 08:31:57 only finitely many have been printed 08:32:16 technically it'd only need to be unbounded; given that BfZ is in print right now, you might be able to get away with it 08:32:32 what was your suggestion for unbounded hidden information? 08:33:00 I'm trying to look up cards for that right now. I thought there was something that divides all creatures (of a player) to two face down piles or something 08:33:11 it seems no, but there could be something else 08:33:27 you're probably thinking of raging river's oracle text? 08:33:42 no, those are face up piles 08:33:46 well 08:33:49 wait no, there's no shuffling there 08:33:52 no more face down than they were 08:34:00 there needn't be shuffling 08:34:07 it's enough if the info is hidden from one player 08:34:10 anyway, I don't believe you can turn tokens face down, rules-wise 08:35:11 I searched for "face-down pile" but almost all those effects only work on cards 08:35:34 and the remaining one temporarily exiles (and thus would destroy a token before it became permanently face-down) 08:35:39 -!- ais523 has quit (Quit: meeting). 08:55:22 ais523: Backslide can turn tokens face down, but I don't think that helps with generating hidden info. Goblin Game can hide an unbounded natural number, but only for a very short uninterruptible time so I don't think it can be abused. 09:00:47 -!- shikhin has quit (Read error: Connection reset by peer). 09:01:44 -!- shikhin has joined. 09:21:13 -!- ais523 has joined. 09:21:40 b_jonas: so the problem with just turning a token face-down (if it's even legal, which I'm not sure about) is that its identity is still public 09:21:43 ais523: good question. I can't yet find a good example for unbounded hidden information 09:21:52 ais523: Backslide can turn tokens face down, but I don't think that helps with generating hidden info. Goblin Game can hide an unbounded natural number, but only for a very short uninterruptible time so I don't think it can be abused. 09:22:01 yes, what you say 09:22:56 ais523: I still think you can get unbounded hidden info somehow (even without unbounded number of cards) but I'm still trying to figure out how 09:29:20 -!- bender| has joined. 09:29:20 -!- bender| has quit (Changing host). 09:29:20 -!- bender| has joined. 09:30:02 -!- FreeFull has quit. 09:30:07 @ping 09:30:07 pong 09:55:30 where the heck are set FAQs hidden on the wizards' webpage these days? 09:57:14 -!- VictorCL has joined. 09:59:30 -!- J_Arcane has joined. 10:03:40 -!- Hogget has left. 10:07:49 -!- izabera has changed nick to `ls`. 10:07:57 -!- `ls` has changed nick to izabera. 10:12:46 -!- callforjudgement has joined. 10:15:34 -!- ais523 has quit (Ping timeout: 260 seconds). 10:16:09 -!- callforjudgement has changed nick to ais523. 10:21:10 -!- ais523 has quit (Ping timeout: 260 seconds). 10:21:40 -!- ais523 has joined. 10:28:46 -!- ais523 has quit (Ping timeout: 272 seconds). 10:30:45 -!- ais523 has joined. 10:33:45 -!- boily has joined. 10:34:59 -!- ais523 has quit (Ping timeout: 240 seconds). 10:55:31 @massages-loud 10:55:32 You don't have any messages 11:14:42 @botsnack 11:14:42 :) 11:17:35 botsnt-e. 11:24:27 -!- Patashu has quit (Ping timeout: 244 seconds). 11:24:29 -!- AnotherTest has joined. 11:25:28 -!- Patashu has joined. 11:32:26 -!- boily has quit (Quit: HEAD CHICKEN). 11:53:13 -!- AnotherTest has quit (Ping timeout: 252 seconds). 11:58:59 -!- ais523 has joined. 11:59:26 -!- Patashu has quit (Ping timeout: 240 seconds). 12:12:52 :) 12:15:43 -!- AnotherTest has joined. 12:26:11 -!- ais523 has quit. 12:26:18 -!- callforjudgement has joined. 12:26:24 -!- callforjudgement has changed nick to ais523. 12:39:47 -!- copumpkin has joined. 12:51:21 -!- ais523 has quit. 12:54:12 -!- ais523 has joined. 12:56:26 -!- ais523 has quit (Client Quit). 12:56:42 -!- ais523 has joined. 13:02:59 -!- MDream has joined. 13:03:44 -!- MDream has changed nick to MDude. 13:18:33 -!- `^_^v has joined. 13:21:46 -!- ais523 has quit. 13:24:49 -!- ais523 has joined. 13:44:59 [wiki] [[Talk:Brainfuck algorithms]] http://esolangs.org/w/index.php?diff=44754&oldid=42783 * 141.219.125.170 * (+198) Note on circular reference loop 13:48:43 -!- VictorCL has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 13:53:55 -!- bender| has changed nick to bender. 14:00:00 fungot, what's new? 14:00:00 Taneb: and read it over and i'll set you up? 14:00:13 Ooh, thanks, fungot! 14:00:13 Taneb: when i do that 14:01:13 -!- ais523 has quit. 14:02:25 fungot: Do you know anything about this bug? 14:02:25 fizzie: and i always hit the " up" where you don't 14:02:38 fungot: Thanks, I guess that could explain it. Somehow. 14:02:38 fizzie: o o oo ( on a previous one, and there is nothing novel about it. i'm fed up. please, anyone, feel free to ask your direct supervisor first. then you get 14:02:48 Oh no, it's fed up. 14:10:49 -!- J_Arcane has quit (Ping timeout: 244 seconds). 14:20:15 -!- mbrcknl has quit (Ping timeout: 252 seconds). 14:25:29 -!- lleu has quit (Read error: Connection reset by peer). 14:27:07 -!- mbrcknl has joined. 14:32:30 fungot: cheer up 14:32:30 int-e: but then it just might 14:32:39 fungot: that's the spirit 14:32:39 int-e: the korean war must have been here to repeat ' i dispute your point!!! yow! 14:32:47 ^style 14:32:47 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 14:35:33 ^c64 14:35:51 ^style 14:35:51 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 14:35:59 ^help 14:36:00 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 14:36:03 weird. 14:36:21 -!- Phantom_Hoover has joined. 14:37:25 ^style c64 14:37:25 Selected style: c64 (C64 programming material) 14:37:36 Although it's not a good style, thanks mostly to formatting issues. 14:37:52 fungot: How many channels did the SID chip have, again? 14:37:52 fizzie: 200 data 3.08, 5.19, 3.12, 3.98, 4.24 2 14:38:01 fungot: 200?! I thought it was three-ish. 14:38:01 fizzie: for example, if you plan to use the listen address, this will clear the hi-res screen: 0,3,5,7 ( see page 108) or... best of all the frequencies below the cutoff. this label is merely a mnemonic device, and 14:40:56 -!- bender has quit (Quit: Ping Pong Fuckout). 14:50:53 fungot, do you often dream of such things? 14:50:53 b_jonas: call address: ffab ( hex) 65451 ( decimal). 15:02:28 fungot: What will that do? 15:02:29 fizzie: press play on cassette, even though the i/ o file will be printed for special display purposes, removing/ creating only the lower tones have had their volume cut down. 15:07:11 fungot: at what rpm setting? 15:07:11 b_jonas: call address: ffcf ( hex) 65514 ( decimal) 15:07:28 oh, ok 15:12:51 -!- gamemanj has joined. 15:36:40 -!- gamemanj has quit (Remote host closed the connection). 15:51:51 -!- fractal has joined. 15:58:02 -!- sebbu has quit (K-Lined). 16:06:41 -!- AnotherTest has quit (Ping timeout: 246 seconds). 16:13:57 -!- mroman has joined. 16:14:08 What was the name of that RISC-Set again? 16:14:16 The one that was invented for educational purposes. 16:17:29 Picoblaze? 16:18:08 I think there's been a few 16:23:49 -!- FireFly has quit (Ping timeout: 252 seconds). 16:24:41 -!- shikhin has quit (Ping timeout: 250 seconds). 16:33:18 we use L3-C 16:33:30 at least at UIUC 16:34:06 we haven't go to it yet so I can't tell you very much about it, I can't find if it's risc even, but it probably is 16:38:13 -!- atrapado has joined. 16:41:20 -!- AnotherTest has joined. 16:50:39 [wiki] [[Golfish]] N http://esolangs.org/w/index.php?oldid=44755 * Sp3000 * (+834) Created page with "Golfish (stylised '''Gol><>''') is a two-dimensional stack-based esoteric programming language by [[User:Sp3000|Sp3000]]. It was designed to be an extension of [[Fish|><>]], o..." 16:51:13 -!- ineiros has quit (Ping timeout: 265 seconds). 16:52:03 -!- MoALTz__ has changed nick to MoALTz. 16:52:43 [wiki] [[Minkolang]] http://esolangs.org/w/index.php?diff=44756&oldid=44732 * Sp3000 * (+44) 17:20:28 -!- mroman has quit (Quit: Lost terminal). 17:20:28 -!- gamemanj has joined. 17:25:47 -!- mauris has joined. 17:27:54 -!- bb010g has joined. 17:54:44 #esoteric! i'm taking a class at my local university called "automata and computability". we have to do a group project that connects to one of the topics covered in the course, which up until now has mostly been context-free grammars/languages and pushdown automata 17:55:01 (and the chomsky normal form, CYK algorithm, that kinda stuff) 17:55:27 the obvious application is to do something parser-y. but that's so boring. we also touched on... well, turing machines and computability 17:55:31 Sounds like our "Introduction to Theoretical Computer Science". 17:56:14 and i'm idly brainstorming for cool projects you can make in a couple of weeks that will wow an audience? 17:58:59 -!- heroux has quit (Ping timeout: 264 seconds). 17:59:25 -!- heroux has joined. 17:59:37 at first we were thinking of doing something amusingly meta. like, using the algorithms from our course to implement a toy programming language, then use that programming language to implement another algorithm from the course, namely, one that shows that it's TC (a universal TM or something) 18:01:00 but maybe there's something much cooler out there. i hear theoretical computer science goes pretty deep! 18:01:38 implement a hyperbolic word problem solver? 18:01:50 idk that's all the computer science i've done in recent years 18:02:10 `? mauris 18:02:11 maur is the correct spelling 18:02:22 `? shachaf 18:02:23 shachaf sprø som selleri and cosplays Nepeta Leijon on weekends. He hates bell peppers with a passion. 18:02:33 `? maur 18:02:33 maur? ¯\(°​_o)/¯ 18:02:35 `? noooodl 18:02:35 one of those sentences is true 18:02:36 nooooodl is the correct spelling 18:02:40 `? nooooodl 18:02:41 noooooooodl is the correct spelling 18:02:44 `? noooooodl 18:02:45 nooooooodl is the correct spelling 18:03:14 Phantom_Hoover: this sounds like it will confuse an audience 18:03:16 so what's nooooooodl compensating for... 18:03:28 (of second-year undergrads, mind) 18:03:34 `? noodl 18:03:35 nooodl is the correct spelling 18:03:37 `? nodl 18:03:38 nodl? ¯\(°​_o)/¯ 18:03:57 mauris, well it's just a string rewriting problem at heart but, uh, yeah 18:04:12 you'd have a hard time selling it to second-year cs students 18:06:15 i stopped giving a shit halfway through the proof it was computable, though the ending was v. funny 18:08:15 -!- AnotherTest has quit (Ping timeout: 250 seconds). 18:09:30 what about automated theorem proving, 18:09:43 (i have absolutely no idea how hard that is but my guess is it's actually very hard rip) 18:13:44 very very hard 18:14:10 well actually 18:14:33 you could knock something basic together, i dunno how you'd string it into a presentation though 18:14:59 whatever parts are easy enough are probably very unimpressive 18:16:30 this is enough to implement the entire calculus of constructions for instance http://homepages.ihug.co.nz/~suckfish/busy/reduced.c 18:16:33 like "hi after weeks of hard work my computer proved that P AND Q = Q AND P" doesn't sound super cool (but it's really a little cool) 18:16:51 oh, i know this thing (heeelp how does it work) 18:17:14 the verbose edition is here: http://homepages.ihug.co.nz/~suckfish/busy/busy.tar.gz 18:17:16 it's the c program that theoretically returns an incredibly large program? 18:17:26 i only needed like 12 minutes to disprove a = b and b = c and a != c 18:17:40 it diagonalises across the entire calculus of constructions, yes 18:17:58 = is pretty hard, really 18:19:08 what kind of framework are you using 18:20:16 it's sort of "from scratch" in a cool way. we're almost finished implementing a bunch of algorithms from the course (in F#, which turned out to be a nice language for that!) 18:21:21 prolog is a cool language for that :D 18:22:01 there is this fol prover in prolog that is the abstract of a paper, the paper being the explanation of said code 18:26:02 also i am very determined to prove one of the theorems in this book in a way that doesn't suck, but apparently you can only prove it in a way that kind of sucks 18:33:05 -!- shikhin has joined. 18:33:21 -!- Effilry has joined. 18:35:02 -!- FreeFull has joined. 18:50:03 -!- Effilry has changed nick to FireFly. 19:05:06 -!- zgrep has quit (Ping timeout: 240 seconds). 19:08:36 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 19:11:22 -!- copumpkin has joined. 19:11:51 -!- zgrep has joined. 19:13:19 -!- hppavilion[1] has joined. 19:15:42 [wiki] [[Fish]] http://esolangs.org/w/index.php?diff=44757&oldid=44569 * 216.138.225.130 * (-12) /* Quine */ 19:19:22 -!- lleu has joined. 19:19:22 -!- lleu has quit (Changing host). 19:19:22 -!- lleu has joined. 19:27:06 -!- Sprocklem has quit (Ping timeout: 272 seconds). 19:29:09 Tonight's project: implement a concurrent data structure I went to a talk about this evening in Haskell 19:40:24 -!- `^_^v has quit (Quit: This computer has gone to sleep). 19:48:59 "Inspector Samms, please report to platforms 15 and 16." I wonder if that was code for something. 19:51:08 "-- The announcement “Will Inspector Samms please report to the operations room” means a single fire --" maybe it was! 20:00:48 -!- Sprocklem has joined. 20:03:29 -!- hppavilion[1] has quit (Ping timeout: 256 seconds). 20:07:04 https://en.m.wikipedia.org/wiki/Inspector_Sands I mishearded. 20:11:50 -!- Patashu has joined. 20:12:46 -!- VictorCL has joined. 20:15:55 -!- Patashu has quit (Remote host closed the connection). 20:16:07 -!- Patashu has joined. 20:43:44 -!- Patashu has quit (Ping timeout: 272 seconds). 20:50:01 -!- bb010g has quit (Quit: Connection closed for inactivity). 21:07:39 -!- AnotherTest has joined. 21:13:27 -!- Sprocklem has quit (Ping timeout: 244 seconds). 21:15:15 -!- mauris_ has joined. 21:18:33 -!- mauris has quit (Ping timeout: 255 seconds). 21:25:23 -!- oerjan has joined. 21:25:25 -!- gamemanj has quit (Ping timeout: 250 seconds). 21:35:54 -!- atrapado has quit (Quit: Leaving). 21:40:23 -!- Sprocklem has joined. 21:40:26 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 21:43:10 -!- mauris has joined. 21:45:45 -!- mauris_ has quit (Ping timeout: 252 seconds). 21:52:39 -!- Sprocklem has quit (Ping timeout: 240 seconds). 21:55:35 -!- boily has joined. 21:56:08 @massages-loud 21:56:09 You don't have any messages 21:56:44 g'boilday 21:58:07 bonsœrjan. 21:58:14 wouldn't it rather be a poor boiled day? I mean, that has to hurt... 21:58:36 indeed. always use sufficient factor hth 22:00:12 I don't like being boiled. 22:00:27 . o O ( and again, good morning. ) 22:00:30 (I much prefer stewed, or braised. keeps all the nutrients!) 22:00:39 bon matint-e. 22:01:50 (well, it's only a new day by the clock) 22:02:43 * boily mapoles int-e back into today. 22:02:53 now if I knew IPA (and how to type it) I'd transcribe the first part of the topic... 22:02:54 please stop being another day. it's bad manners. 22:03:16 oh, that. I happily mangled the previous pronounciation. ^^ 22:05:01 another day died; Bond killed it... 22:05:40 [at least with some creative punctuation in that movie title] 22:10:35 -!- boily has quit (Quit: WORLDLY CHICKEN). 22:11:56 -!- VictorCL has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 22:15:35 -!- VictorCL has joined. 22:15:52 -!- VictorCL has quit (Client Quit). 22:16:14 -!- VictorCL has joined. 22:17:34 -!- VictorCL has quit (Read error: Connection reset by peer). 22:19:51 -!- VictorCL has joined. 22:24:11 -!- MDude has quit (Ping timeout: 264 seconds). 22:36:16 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 22:38:30 -!- Wright has joined. 22:43:43 -!- hppavilion[1] has joined. 22:58:27 <\oren\> 今晩は 23:00:55 -!- mauris has quit (Ping timeout: 252 seconds). 23:19:09 -!- copumpkin has joined. 23:27:41 -!- tromp has joined. 23:29:46 -!- int-e_ has joined. 23:29:53 -!- atehwa has joined. 23:30:15 -!- int-e has quit (Disconnected by services). 23:30:19 -!- atehwa_ has quit (Read error: Connection reset by peer). 23:30:19 -!- int-e_ has changed nick to int-e. 23:32:24 -!- tromp__ has quit (Ping timeout: 253 seconds). 23:32:52 -!- fractal has quit (Ping timeout: 265 seconds). 23:33:30 Hm... 23:34:50 -!- aretecode has quit (Ping timeout: 265 seconds). 23:34:50 -!- idris-bot has quit (Ping timeout: 265 seconds). 23:34:59 -!- PinealGl1ndOptic has quit (Ping timeout: 265 seconds). 23:34:59 -!- digitalcold has quit (Ping timeout: 265 seconds). 23:36:07 -!- PinealGlandOptic has joined. 23:36:15 -!- digitalcold has joined. 23:37:42 That's a lot of people I don't recognize 23:37:54 digitalcold? PinealGlandOptic? Never heard of those guys... 23:37:57 (or gals) 23:38:31 -!- aretecode has joined. 23:38:39 aretecode is also new to me. 23:38:42 hppavilion[1]: they've been around, idling. netsplits are weird... 23:38:51 int-e: Ah. 23:39:32 I'm going to start designing my ArbourDB software now. 23:39:43 (the channel population fluctuates around 100, but I think we only have about a dozen people chatting regularly) 23:40:45 \o/ 23:43:44 Weird, isn't it? 23:43:57 I am one of only a dozen people in the world who actually talks about this sort of thing 23:44:00 -!- Sprocklem has joined. 23:44:03 I feel special :) 23:55:05 -!- VictorCL has quit (*.net *.split). 23:55:05 -!- gde33 has quit (*.net *.split). 23:55:05 -!- jix has quit (*.net *.split). 23:55:05 -!- |f`-`|f has quit (*.net *.split). 23:55:05 -!- augur has quit (*.net *.split). 23:55:05 -!- Jafet has quit (*.net *.split). 23:55:05 -!- zemhill has quit (*.net *.split). 23:55:07 -!- vifino has quit (*.net *.split). 23:55:09 -!- FireFly has quit (*.net *.split). 23:55:09 -!- staffehn has quit (*.net *.split). 23:55:09 -!- erdic has quit (*.net *.split). 23:55:09 -!- Vorpal has quit (*.net *.split). 23:55:09 -!- Lymia has quit (*.net *.split). 23:55:10 -!- nchambers has quit (*.net *.split). 23:55:10 -!- pikhq has quit (*.net *.split). 23:55:11 -!- clog has quit (*.net *.split). 23:55:17 -!- izabera has quit (*.net *.split). 23:55:17 -!- fowl has quit (*.net *.split). 23:55:17 -!- oerjan has quit (*.net *.split). 23:55:17 -!- trn has quit (*.net *.split). 23:55:17 -!- cnr has quit (*.net *.split). 23:55:17 -!- diginet has quit (*.net *.split). 23:55:17 -!- lifthrasiir has quit (*.net *.split). 23:55:17 -!- shachaf has quit (*.net *.split). 23:55:17 -!- Sprocklem has quit (*.net *.split). 23:55:17 -!- aretecode has quit (*.net *.split). 23:55:17 -!- tromp has quit (*.net *.split). 23:55:21 -!- Hoolootwo has quit (*.net *.split). 23:55:21 -!- Gregor` has quit (*.net *.split). 23:55:21 -!- SirCmpwn has quit (*.net *.split). 23:55:21 -!- edwardk has quit (*.net *.split). 23:55:21 -!- coppro has quit (*.net *.split). 23:55:21 -!- glowcoil has quit (*.net *.split). 23:55:21 -!- jameseb has quit (*.net *.split). 23:55:21 -!- lambdabot has quit (*.net *.split). 23:55:21 -!- Phantom_Hoover has quit (*.net *.split). 23:55:23 -!- perrier has quit (*.net *.split). 23:55:23 -!- skarn has quit (*.net *.split). 23:55:23 -!- Alcest has quit (*.net *.split). 23:55:23 -!- puckipedia has quit (*.net *.split). 23:55:23 -!- olsner has quit (*.net *.split). 23:55:23 -!- digitalcold has quit (*.net *.split). 23:55:23 -!- PinealGlandOptic has quit (*.net *.split). 23:55:25 -!- Wright has quit (*.net *.split). 23:55:25 -!- shikhin has quit (*.net *.split). 23:55:25 -!- paul2520 has quit (*.net *.split). 23:55:25 -!- Adie has quit (*.net *.split). 23:55:25 -!- nisstyre has quit (*.net *.split). 23:55:25 -!- Taneb has quit (*.net *.split). 23:55:25 -!- haavard has quit (*.net *.split). 23:55:26 -!- deltab has quit (*.net *.split). 23:55:28 -!- fizzie has quit (*.net *.split). 23:55:28 -!- newsham has quit (*.net *.split). 23:55:34 -!- mbrcknl has quit (*.net *.split). 23:55:34 -!- MoALTz has quit (*.net *.split). 23:55:34 -!- gniourf has quit (*.net *.split). 23:55:34 -!- Deewiant has quit (*.net *.split). 23:55:34 -!- APic has quit (*.net *.split). 23:55:34 -!- ocharles__ has quit (*.net *.split). 23:55:34 -!- HackEgo has quit (*.net *.split). 23:55:34 -!- myname has quit (*.net *.split). 23:55:34 -!- b_jonas has quit (*.net *.split). 23:55:34 -!- atehwa has quit (*.net *.split). 23:55:34 -!- relrod has quit (*.net *.split). 23:55:34 -!- pdxleif has quit (*.net *.split). 23:55:34 -!- TieSoul has quit (*.net *.split). 23:55:34 -!- teuchter has quit (*.net *.split). 23:55:34 -!- Melvar has quit (*.net *.split). 23:55:34 -!- fungot has quit (*.net *.split). 23:55:34 -!- TodPunk has quit (*.net *.split). 23:55:35 -!- \oren\ has quit (*.net *.split). 23:55:39 -!- Sgeo__ has quit (*.net *.split). 23:57:17 -!- ski has quit (*.net *.split). 23:57:17 -!- hppavilion[1] has quit (*.net *.split). 23:57:17 -!- zgrep has quit (*.net *.split). 23:57:17 -!- heroux has quit (*.net *.split). 23:57:17 -!- quintopi1 has quit (*.net *.split). 23:57:17 -!- nortti has quit (*.net *.split). 23:57:17 -!- yorick has quit (*.net *.split). 23:57:17 -!- mtve has quit (*.net *.split). 23:57:17 -!- tromp_ has quit (*.net *.split). 23:57:17 -!- myndzi has quit (*.net *.split). 23:57:17 -!- rodgort has quit (*.net *.split). 23:58:10 -!- EgoBot has quit (Ping timeout: 270 seconds).