00:16:50 Iwata Satoru passed away. 00:29:36 -!- Herbalist has joined. 00:34:12 -!- h0rsep0wer has quit (Quit: Leaving). 01:05:54 -!- Herbalist has left ("WeeChat 1.2"). 01:20:31 -!- Wright_ has changed nick to Wright. 01:26:38 -!- lemurian has joined. 01:28:49 -!- boily has quit (Quit: QUADRANGULAR CHICKEN). 01:45:39 -!- |f`-`|f has quit (Ping timeout: 264 seconds). 01:51:45 -!- |f`-`|f has joined. 01:56:14 -!- ZombieAlive has quit (Remote host closed the connection). 02:09:39 http://lhartikk.github.io/ArnoldC/ 02:29:07 -!- Thisbe has quit (Ping timeout: 246 seconds). 02:30:57 -!- Thisbe has joined. 02:31:00 -!- Thisbe has quit (Max SendQ exceeded). 02:31:25 -!- Thisbe has joined. 02:42:08 -!- Thisbe has quit (Ping timeout: 248 seconds). 02:42:58 -!- Thisbe has joined. 02:48:50 -!- Thisbe has quit (Quit: Left). 03:00:44 Get Your Ass To Mars https://www.youtube.com/watch?v=Cfu0hpHbIu8 03:17:24 https://www.reddit.com/r/janusVR/comments/3clilu/release_4216_new_selectable_ui_sounds_bugfix/ct0s5ne?context=3 03:17:28 Well this is a good sign 03:20:36 -!- constant has quit (Ping timeout: 255 seconds). 03:29:10 -!- copumpkin has joined. 03:56:12 I wrote a program to compress MegaZeux boards. Sometimes it works better than DEFLATE, sometimes not. But it almost always results in much better compression with my program is combined with DEFLATE; this results in approx. 1/4 of the original size (the original already having some RLE compression in it). 04:00:22 -!- pikhq has quit (Ping timeout: 244 seconds). 04:00:49 -!- idris-bot has quit (Quit: Terminated). 04:01:21 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 04:02:08 i'm reading about brainfuck optimizations and [>] is optimized with a memchr(), why not simply p += strlen(p) ? 04:03:07 izabera: I have used things like that too in various program, but, that depend that such a statement will be optimized by the computer (which therefore has to know what "strlen" means, possibly due to inlining) 04:03:44 what :D 04:04:52 The most effective way to implement a C code like p += strlen(p); would be more like the brainfuck code [>] 04:05:10 izabera: the difference is that strlen isn't allowed to read past the '\0' 04:05:11 nah 04:05:16 which limits the optimizations you can do 04:05:36 please elaborate 04:05:38 memchr is allowed to read anywhere in the memory space you give it 04:05:55 so what it can do is, it can read four or eight or 128 bytes at a time 04:06:12 then look for the zeroes within them arithmetically (for the small amounts) or via vector operations (for the large amoutns) 04:06:14 *amounts 04:06:28 this doesn't really help much on small distances but can be useful for the large ones 04:07:08 i think all of this also applies to strlen() 04:07:43 no, with strlen 04:07:46 If the size of the memory is known and it is not volatile, then strlen should be allowed to read as much as they want to read at once. 04:07:59 you can't read past the terminating '\0' because the size of the memory isn't known 04:08:00 what you're thinking about is the naive strlen that scans the string a byte at a time 04:08:20 and you might have memory you aren't allowed to read just after the '\0' 04:08:46 (note that many libcs work around this by forcing memory blocks to be readable as a multiple of, say, 512 bytes, so that they know they can safely overread up to the next multiple of 512) 04:09:09 Yes, that is true if the optimizer does not know, unless the allocation and operating system is define to know the alignment of readable memory 04:12:39 it looks like glibc strlen reads 4 bytes at a time: http://www.stdlib.net/~colmmacc/strlen.c.html 04:12:54 a vectorised strlen would probably beat that for long strings, but lose on short ones 04:20:04 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:55:12 -!- staffehn has quit (Quit: No Ping reply in 180 seconds.). 04:55:54 -!- staffehn has joined. 05:05:03 -!- Thisbe has joined. 05:08:29 -!- codergeek42 has joined. 05:08:29 -!- codergeek42 has quit (Changing host). 05:08:29 -!- codergeek42 has joined. 05:21:40 -!- Wright_ has joined. 05:21:41 -!- Wright has quit (Read error: Connection reset by peer). 05:29:57 -!- hppavilion1 has joined. 05:29:59 hi 05:45:20 -!- oerjan has joined. 05:46:15 @messages- 05:46:15 ais523 said 8h 39m 11s ago: well system F type inference is known undecidable, so it wouldn't surprise me if the type system were TC; also even in the absence of recursion, simply-typed lambda calculus + imperative constants (variables, while loops, etc.) gives you undecidable equivalence in the presence of free variables 05:46:49 ais523: System F is not TC, evaluation is terminating 05:46:55 oerjan: or to put things another way, none of this really came as a surprise to me because my thesis was basically on the subject 05:46:57 and that's not what I said 05:47:06 system F /inference/ is undecidable, and thus probably TC 05:47:15 ok 05:47:27 since that's usually how things are proved undecidable 05:47:33 (undecidable doesn't necessarily imply TC, but it certainly hints heavily about it) 05:47:53 the proof may well go via TCness; it's a reduction to a similar problem I don't really understand 05:48:04 mhm 05:49:56 ais523: actually what i was really trying to say was that even it looks like primitive recursion, it might be much more powerful if there are higher-order functions. 05:50:01 *even if 05:50:09 oerjan: right 05:50:36 there's reason to believe it's decidable in /this/ case, mostly because if it wasn't that'd probably allow us to construct an infinite loop in simply-typed lambda calculus 05:50:45 (probably because the details of the construction haven't been worked out, but they seem very likely) 05:51:26 whereas I think you can do primitive recursion in simply-typed lambda calculus via using Church numerals as for loops 05:52:03 hm that sounds pretty obvious 05:52:47 as long as the pieces are well-typed 05:53:01 right, the pieces being well-typed is the only non-obvious bit 05:53:04 but it's an awkward one 05:55:07 I have a suspicion that you can just nest the function types one more level for each loop you use 05:55:16 but this is purely based on looking at types in a debugger, not on any actual reasoning 05:57:23 i think the awkward bit might be if two church numerals were forced to be of different type, because of something like one is used as an argument to the other, but also forced to be used at the same type in another spot 05:57:46 oerjan: :-) 05:57:58 (this sort of thing happening is the key observation in my thesis) 05:58:07 heh 05:59:13 otoh if you have a church numeral of type ((a -> a) -> (a -> a)), you can probably _construct_ the same church numeral of type a -> a from it 05:59:22 er 05:59:41 s/a/(b -> b)/g 06:00:53 so perhaps you can substitute both church numerals up to a common type, from which all needed simpler types can be constructed 06:01:14 that normally doesn't work either, but it does work at first order 06:01:28 which is what I think the primitive recursive functions we're trying to implement are 06:02:42 ic 06:03:43 the problem is that you can have a type that really wants to be polymorphic, of shape (a -> a), but if you fix any given type for a you can make the return value more general or the argument more specific, but you can't make them both more general or more specific at the same time 06:03:57 i.e. you can't maintain a "these two things should be the same" situation 06:04:57 :/ 06:07:01 "Schwichtenberg showed in 1976 that in \lambda^\to exactly the extended polynomials are representable as functions over Church numerals; these are roughly the polynomials closed up under a conditional operator." 06:07:35 https://en.wikipedia.org/wiki/Simply_typed_lambda_calculus#Important_results 06:08:33 but that's a bit different 06:09:22 since they all have type (o -> o) -> (o -> o) 06:09:56 while exponentials are possible with nested types 06:10:17 yes, it's the exponentials that are causing problems here 06:10:23 oh hm 06:10:27 because it means that type inference algos have to be able to blow up hyperexponentially 06:10:33 which the obvious algorithms don't, really 06:11:38 can you construct each level of a^a^... ackermann? maybe that's enough to show you can do every PR function by then using the result in a big loop 06:12:57 i.e. a fixed number of knuth arrows 06:13:06 From http://deepblue.lib.umich.edu/bitstream/handle/2027.42/23535/0000494.pdf: STLC is decidable in E^4 time but not in E^3 06:13:27 Note that PR = \Union_k E^k 06:13:49 the ackermann function is something like a supremum of primiive recursive functions, right? 06:13:59 ais523: yeah that's what i was thinking 06:14:37 hm Jafet's observation should mean it breaks down at 3 or 4 arrows 06:16:00 perhaps to do exponentiation, you _must_ have different types for the arguments, which breaks down if you try to iterate them. 06:16:29 so I guess the next challenge is to construct an STLC program that takes a Church numeral as argument, and iterates a given function four-arrow-many times of that Church numeral 06:16:51 hm maybe just two arrow 06:17:00 *arrow 06:17:02 *arrows 06:17:34 two arrows is tetration, right? 06:17:34 if that E-notation starts at increment or the like, E^3 might be exponentiation 06:17:38 yeah 06:17:41 If you can read that paper, you might be able to use its gadgets for E^3 06:17:50 so my current guess is you cannot do tetration 06:18:11 * oerjan leaves ais523 to read the paper 06:18:14 actually I can't think of an obvious way to tetrate with Church numerals and no loop 06:19:24 *leaves it to 06:21:16 or, well, hmm 06:22:51 "elementary" means essentially using arithmetic and exponentiation, no? 06:23:18 -!- shikhin has joined. 06:23:19 http://forums.xkcd.com/viewtopic.php?f=12&t=54479 is this NP? 06:23:33 (the last comment) 06:24:03 oerjan: I don't know 06:24:04 actually elementary is not a very discrete concept, but it's probably that range of growth 06:24:13 the normal meaning is "not using calculus" but I don't think that's the intended meaning here 06:24:42 ais523: well exponentials are the fastest growest of the building blocks allowed 06:24:47 *growing 06:25:10 or well 06:25:17 https://en.wikipedia.org/wiki/ELEMENTARY 06:25:18 izabera: it depends a lot on your definition; you can verify in O(n) time where n is the /answer/ (i.e. how long it takes) 06:25:19 there are some asymptotes, but avoiding them 06:25:32 that said, loops are clearly useless in that langauge 06:25:34 *language 06:26:03 so it's O(n) in the length of the question too 06:26:04 ais523: you have to verify that it's the quickest way 06:26:28 izabera: actually I'm thinking of something more like reducing this to an existing NP-complete problem 06:26:36 something like bin-packing, perhaps 06:26:50 but not exactly that 06:27:02 Jafet: ah that's about as i thought 06:27:57 -!- J_A_Work has joined. 06:29:21 izabera: i think this is P^NP stuff, you need to solve an NP problem to find the answer, and the corresponding co-NP problem to show there's no faster one 06:29:22 how's beta-conversion defined here? you can beta-reduce both terms in arbitrary ways to try to make them the same? 06:30:03 izabera: which is often colloquially lumped in with NP-complete, e.g. the traveling salesman problem 06:30:14 but technically is not the same 06:31:18 s/to find the answer/to check the answer/ 06:31:26 gotcha 06:31:46 It seems to encode a decision procedure in STLC, so beta-conversion just computes the result (which will be true or false) 06:32:04 or well, we still haven't proved the "-complete" part. 06:33:18 (That's for the E^3 lower bound, not for the E^4 upper bound) 06:34:18 -!- Wallacoloo has joined. 06:40:13 -!- codergeek42 has quit (Quit: Ex-Chat). 06:41:17 ais523: hm wait, that ([0 -> 0/0]a_n)a_1 example on page 75 makes me wonder 06:41:29 that's clearly a building block for tetration 06:41:56 and the types do _not_ increase as n does. 06:42:55 ooh 06:43:26 or wait 06:43:31 i'm misreading 06:43:44 0 -> 0 isn't a type there 06:43:48 fnord 06:43:53 or is it 06:43:56 any book recommendation about game theory? 06:44:01 stupid alien notation 06:44:40 oerjan: each of those a_n has a different type, so the tetration is bounded 06:44:47 ais523: oh i'm misreading, that notation means precisely that the types _are_ growing 06:44:57 ah right, that makes more sense at least 06:45:00 I was thinking, if you were right 06:45:05 I think [0->0/0] means replacing 0 by 0->0 06:45:14 then you'd probably be able to surpass the E^4 bound 06:45:15 Jafet: yeah just realized that 06:48:16 Oddly enough, this causes the types to have exponential size 06:48:33 (which is the maximum for a Hindley-Milner type system) 06:48:49 -!- mauris_ has joined. 06:49:33 ais523: "By analyzing the normal form algorithm [...] it is easy to see that the problem can be solved in E^4 time" this might mean that it's easier to prove that you cannot go _higher_ than tetration. 06:50:08 well, given how cited that paper is 06:50:15 someone has probably determined the exact boundary by now 06:50:30 (when a paper has over 100 citations, either it's very influential, or everyone has been copying citation without reading it; possibly both) 06:50:48 heh 06:53:14 -!- Froox has joined. 06:53:14 -!- Frooxius has quit (Read error: Connection reset by peer). 06:57:09 `unicode zero width space <-- i don't think FreeFull's problem was with `culprits, but with direct use of hg log 06:57:17 -!- lemurian has quit (Remote host closed the connection). 06:57:57 which we've started to do whenever we want to see _what_ was changed rather than just by who 06:58:44 `` culprits bin/culprits | awk '{print $1}' 06:58:46 Jafet 06:59:06 Apparently, my client discards the control character, so I didn't know it existed 06:59:35 well surely you noted it in the culprits code before you changed it 06:59:47 -!- Sprocklem has joined. 07:00:07 What's this, reading code before patching it? 07:00:10 `cat bin/culprits 07:00:11 hg log --removed "$1" | grep summary: | awk '{print substr($2,2,length($2)-2)}' | sed "s/.$/\x0F&/" | xargs 07:00:52 `culprits culprits 07:00:54 No output. 07:00:56 `culprits bin/culprits 07:00:58 Jafet Jafet tswett tswett shachaf shachaf shachaf FireFly FireFly FireFly FireFly FireFly FireFly shachaf 07:03:24 anyone who happens to have php5 installed via a Linuxy package manager (which shows what it's updating, if you ask): /wow/ a lot of security bugs are being fixed in this update 07:03:58 `` hg log wisdom/culprits | grep summary: 07:03:59 14, I just counted 07:04:00 No output. 07:04:06 Er. 07:04:09 `` hg log bin/culprits | grep summary: 07:04:11 summary: ` echo -E \'hg log --removed "$1" | grep summary: | awk \'\\\'\'{print substr($2,2,length($2)-2)}\'\\\'\' | sed "s/.$/\\x0F&/" | xargs\' > bin/culprits && chmod +x bin/culprits \ summary: ` sed -i -e \'s,$, | sed "s/\\\\([][{}\\\\^a-zA-Z0-9_|\\\\\\\\\\\\`-]\\\\)\\\\([][{}\\\\^a-zA-Z0-9_|\\\\\\\\\\\\`-]\\\\+\\\\)/\\\ 07:04:33 this is too confusing tdnh 07:04:40 What did Jafet change? 07:04:47 ais523: 14 drops in the ocean 07:04:51 I don't do php, and I don't even have it installed. 07:05:10 I like having a bunch of interps around 07:05:26 on here, PHP doesn't run unless I'm running it manually, which means the attack surface is pretty small 07:05:45 ais523: sure, me to, but I also think that you definitely can't do all four of perl, python, ruby, and php, so I choose to just not do php 07:05:58 mind you, some golfers do code all four 07:06:04 but I don't think that's a good idea 07:06:25 shachaf: i think he changed it back hth 07:06:37 installing all four is no problem of course 07:06:42 also that's a lot of backslashes 07:06:50 only actually doing stuff with them 07:07:33 > fix show 07:07:34 "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\... 07:08:32 Haskell can be just as magical-looking as Prolog sometimes 07:08:42 btw, is there a Haskell string that evaluates to itself? 07:08:50 perhaps using some other escape syntax 07:08:56 I'm guessing not, most languages don't have one 07:09:04 ais523: i think some of them are hg itself escaping 07:09:04 clock golfs in almost any language on the planet . 07:09:09 ais523: sure, that one above 07:09:15 barring Perl/PHP-style barewords which is cheating 07:09:19 b_jonas: finitely long, I mean 07:09:21 and he's usually the best in all of them. 07:09:21 oh 07:09:27 ais523: and you mean string literal? 07:09:31 right 07:09:40 because just an expression would be easy 07:10:35 i don't think haskell string literals have anything that can make a string longer than the code 07:10:35 Every time you interpret a finite string literal in haskell, its number of backslashes decreases 07:10:40 erm 07:11:00 * 07:11:34 At least it does not increase 07:12:02 zzo38: and if you include the "s, it must decrease 07:12:41 Yes, the number of character does always decrease 07:12:41 as for escaping backslashes, I prefer "\"\x5c\"\x5cx5c\x5c\"\x5cx5cx5c\x5cx5c\x5c\"\x5cx5cx5cx5c\x5cx5cx5c\x5cx5c\x5c\"\x5cx5cx5cx5cx5c\x5cx5cx5cx5c\x5cx5cx5c\x5cx5c\x5c\"\x5cx5cx5cx5cx5cx5c... 07:12:47 The number of backslashes might not 07:14:06 -!- ais523 has quit (Ping timeout: 256 seconds). 07:14:30 > id<>show$"id<>show$" 07:14:31 "id<>show$\"id<>show$\"" 07:14:35 -!- ais523 has joined. 07:15:05 > id<>show$"id<>show$" -- for ais523 07:15:06 "id<>show$\"id<>show$\"" 07:15:08 -!- ais523 has quit (Read error: Connection reset by peer). 07:15:44 ;_; 07:16:00 > text$ap(++)show"text$ap(++)show" 07:16:01 text$ap(++)show"text$ap(++)show" 07:16:20 yeah that's the old one 07:16:36 Oh, are we /golfing/ quines now 07:16:42 why not 07:17:17 > var$id<>show$"var$id<>show" 07:17:18 var$id<>show"var$id<>show" 07:17:26 Jafet: sure, people do that. I know a number of short non-empty ones in perl. 07:18:10 we think the shortest non-empty non-cheating one is "print<< x2,$/\nprint<< x2,$/\n\n" 07:18:22 var is better for two reasons (1) it's shorter (2) it works with infinite strings 07:18:37 but that's among printing ones, not those that return a string or something 07:19:05 :t text 07:19:06 String -> Doc 07:19:18 -!- ais523 has joined. 07:19:42 text is from a pretty-printing library, and insists on knowing the length of the string for formatting 07:20:20 For some reason, I thought it had something to do with Text 07:20:24 > T.pack "" 07:20:25 Not in scope: ‘T.pack’ 07:20:25 Perhaps you meant ‘BS.pack’ (imported from Data.ByteString) 07:20:30 nope 07:21:13 > var$cycle"var$\"" 07:21:15 var$"var$"var$"var$"var$"var$"var$"var$"var$"var$"var$"var$"var$"var$"var$"v... 07:21:19 hm 07:21:23 > var$cycle"var\"" 07:21:24 var"var"var"var"var"var"var"var"var"var"var"var"var"var"var"var"var"var"var"... 07:22:04 > fix var 07:22:05 Couldn't match type ‘Expr’ with ‘[Char]’ 07:22:05 Expected type: Expr -> Expr 07:22:05 Actual type: String -> Expr 07:22:21 hm i guess that's not proper syntax 07:22:55 > fix$var.("var++").show.show 07:22:57 Couldn't match expected type ‘String -> String’ 07:22:57 with actual type ‘[Char]’ 07:22:57 In the first argument of ‘(.)’, namely ‘("var++")’ 07:22:59 oops 07:23:04 -!- shikhin has quit (Quit: leaving). 07:23:18 > fix $ var.show 07:23:22 mueval-core: Time limit exceeded 07:23:38 > fix$var.("var++").show 07:23:39 Couldn't match expected type ‘String -> String’ 07:23:39 with actual type ‘[Char]’ 07:23:39 In the first argument of ‘(.)’, namely ‘("var++")’ 07:23:48 now we just need an interpreter that can interpret infinite streams (I think that's impossible) 07:23:49 ...duh 07:23:54 (for haskell at least)\ 07:23:57 > fix$var.("var"++).show.show 07:23:58 var"var\"var\\\"var\\\\\\\"var\\\\\\\\\\\\\\\"var\\\\\\\\\\\\\\\\\\\\\\\\\\\... 07:24:06 (it's probably possible for BF) 07:24:07 * Taneb good morning 07:24:19 It's not, because of loops 07:24:29 tanellob 07:25:04 wait, do you just want a quine using var? 07:25:14 I think I wrote one at some point, but I'm not sure I saved it 07:25:15 a finite one 07:25:47 b_jonas: i already made one up there 07:25:58 ok 07:25:59 this last thing was just for amusement 07:26:41 I don't think I saved it, but I could write one from scratch probably (it would be a bit long) 07:27:21 I experimented it when I wanted to put lambdabot and some other bot in a bot loop, but that turned out to be impossible for that combination 07:28:26 huh, spambots pretending to be the IMF, and they don't mention Greece 07:28:29 missing a trick there 07:28:41 https://www.youtube.com/watch?v=8y1GbBhu9hA 07:32:06 -!- hppavilion1 has quit (Ping timeout: 246 seconds). 07:57:46 -!- Wallacoloo has quit (Quit: Leaving.). 08:01:45 `unicode 🌍 08:01:46 U+1F30D EARTH GLOBE EUROPE-AFRICA \ UTF-8: f0 9f 8c 8d UTF-16BE: d83cdf0d Decimal: 🌍 \ 🌍 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) 08:07:33 how many differently rotated projections of the Earth does Unicode have? 08:07:42 (I'm amused at the qualifier) 08:07:49 Is there one where australia is the center? 08:09:17 `` multicode 🌎🌏🌍 #from logs 08:09:18 U+1F30E EARTH GLOBE AMERICAS \ UTF-8: f0 9f 8c 8e UTF-16BE: d83cdf0e Decimal: 🌎 \ 🌎 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F30F EARTH GLOBE ASIA-AUSTRALIA \ UTF-8: f0 9f 8c 8f UTF-16BE: d83cdf0f Decimal: 🌏 \ 🌏 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F30D EARTH GLOBE EU 08:09:54 i was just looking at the logs, and checked the last one because it got cut off 08:10:49 `unicode EARTH GLOBE 08:10:50 U+1F30D EARTH GLOBE EUROPE-AFRICA \ UTF-8: f0 9f 8c 8d UTF-16BE: d83cdf0d Decimal: 🌍 \ 🌍 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F30E EARTH GLOBE AMERICAS \ UTF-8: f0 9f 8c 8e UTF-16BE: d83cdf0e Decimal: 🌎 \ 🌎 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F30F EARTH GLOBE ASI 08:11:45 `` unicode EARTH GLOBE | tail -n +9 08:11:46 ​🌎 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F30F EARTH GLOBE ASIA-AUSTRALIA \ UTF-8: f0 9f 8c 8f UTF-16BE: d83cdf0f Decimal: 🌏 \ 🌏 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) 08:11:54 apparently that's all 08:12:09 they should add ARCTIC and ANTARCTICA 08:12:52 `unicode ANTARCTICA 08:12:53 No output. 08:12:56 oerjan: um, you know there's more possibilities than fit in unicode if you want to add all possible maps 08:13:24 b_jonas: these are globe maps 08:14:03 maybe they should also add ATLANTIC and PACIFIC 08:14:30 oerjan: even just globe maps 08:14:45 This is so silly of the consortium. It would be so much simpler if we had combining characters for moving 1° by latitude and longitude 08:14:48 EARTH GLOBE DYNAMAX 08:15:17 hm must have the name wrong 08:15:25 Jafet: :D 08:15:41 Jafet: yeah, but make sure to choose a set of two or more combining characters that together efficiently generate a dense set in all possible maps 08:16:04 that's easy, just have 1 RADIAN and 1 DEGREE 08:16:05 @google dymaxion projection 08:16:06 https://en.wikipedia.org/wiki/Dymaxion_map 08:16:11 ah that was it 08:21:22 oh wait they need to be around different axes 08:21:53 hm and degrees divide a full rotation, maybe not so good 08:22:13 perhaps radian will work both ways, with the right axis choices 08:23:29 oh hm i think the character should represent something like golden ratio of the full rotation 08:23:57 that way you can efficiently do large rotations, but still divide as finely as you want 08:28:34 -!- Patashu has joined. 08:34:55 -!- Patashu has quit (Ping timeout: 246 seconds). 08:36:02 -!- Patashu has joined. 08:53:15 -!- AnotherTest has joined. 09:26:19 -!- J_A_Work has quit (Quit: J_A_Work). 09:39:51 how do i translate this to c if my cells wrap around at 8 bit? [+>++<] 09:40:37 p[1] += p[0] * 2; p[0] = 0 <- like this? 09:40:53 so what's the difference between that and [->++<] ? 09:41:11 -!- J_A_Work has joined. 09:41:24 a minus sign, i presume 09:41:38 (in the C too) 09:41:55 oh it becomes p[1] -= ... 09:41:57 also, you need to use unsigned 8bit type in C for that to work 09:42:04 yes ok 09:42:07 it's unsigned 09:42:21 otherwise it's undefined behavior when you wrap 09:43:03 actually i think it's your first which is wrong and should have the - 09:43:26 ok the first one is -= and the latter is += 09:43:32 yeah 09:43:33 thanks 09:47:14 -!- J_A_Work has quit (Quit: J_A_Work). 10:13:13 <|f`-`|f> wooo maps, Jafet 10:14:47 <|f`-`|f> also oerjan there are "real spherical angles" 10:14:51 <|f`-`|f> sradians? 10:17:50 irrelevant hth 10:17:51 oerjan: [->++<] is p[1] += p[0] * 2; p[0] = 0 [->--<] is p[1] -= p[0] * 2; p[0] = 0 10:18:06 (that was to |f`-`|f) 10:18:14 k :P 10:18:20 so what are [+>++<] and [+>--<] ? 10:18:34 endless loops 10:18:39 the same, in opposite order 10:18:40 no 10:18:47 wait what 10:19:02 myname: my cells are unsigned chars 10:19:08 ah 10:19:28 [+>++<] and [->--<] give the same result 10:20:11 thanks 10:20:13 because you are essentially adding a multiple of 256 somewhere, which doesn't matter 10:20:45 <|f`-`|f> hth? oerjan 10:20:54 <|f`-`|f> What/s so pertinent about maps 10:21:15 `hth 10:21:17 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: hth: not found 10:21:18 |f`-`|f: we were just discussing how many global map characters unicode should have 10:21:25 ?hth 10:21:25 you are welcome 10:21:31 damn bots 10:21:38 so it was suggest you'd have just one, and combining characters to rotate it 10:21:42 *suggested 10:21:50 <|f`-`|f> so, metachatacters 10:21:55 <|f`-`|f> well 10:22:00 <|f`-`|f> domain specific ones 10:22:31 good point, they should clearly work on other chars too 10:22:40 <|f`-`|f> curious how you can efficiently pack the metacharacters and so on 10:22:54 i don't think that was considered. 10:23:06 <|f`-`|f> considering how many duplications I've seen 10:23:08 <|f`-`|f> Yeah 10:23:56 ?hth 10:23:57 you are welcome 10:24:01 ?hthu 10:24:01 you are welcome 10:24:04 <|f`-`|f> For multilingual things, it'd probably be better to have partial tables, such that all ligments are here, but here, have a table that compiles them together for a specific language 10:24:06 ?hmm 10:24:07 Unknown command, try @list 10:24:13 ?huh 10:24:13 Maybe you meant: run bug 10:24:26 ?ht 10:24:26 Maybe you meant: wn what v thx rc pl let id ghc do bf @ ? . 10:24:34 ?thx 10:24:34 you are welcome 10:24:37 <|f`-`|f> the actual place being irrelevant 10:24:42 <|f`-`|f> ?wtf 10:24:42 Maybe you meant: wn bf 10:24:47 <|f`-`|f> ?wn bf 10:24:50 No match for "bf". 10:24:57 <|f`-`|f> ?wn 10:24:57 wn .......... WordNet (r) 1.7 10:25:02 <|f`-`|f> ?bf 10:25:02 Done. 10:25:10 <|f`-`|f> eh? 10:25:23 lol 10:25:32 ?bf ++++++++[->++++++++<]>. 10:25:32 @ 10:25:38 ?help wn 10:25:38 wn .......... WordNet (r) 1.7 10:25:45 <|f`-`|f> (as far as certainl languages, you just create a simple subdomain interpreter that creates a nicely organised typeset) 10:26:18 |f`-`|f: note that one of the purposes of unicode is to be able to combine languages in one document 10:26:40 <|f`-`|f> Hmmm 10:26:58 <|f`-`|f> Why not have the dense data included? 10:27:46 i can just imagine IRC messages trying to include a whole language database whenever you try to quote something foreign... 10:27:54 <|f`-`|f> Unicode Base would be no rules, Unicode would be subdomain 10:28:07 i'm sure that should fit nicely within 510 bytes 10:28:22 <|f`-`|f> Unicode Lang would formt in Unicode Base 10:28:35 <|f`-`|f> So reading would be simple 10:28:40 <|f`-`|f> Writing would be a bit more complicated 10:29:19 <|f`-`|f> would that fit better? 10:30:15 <|f`-`|f> just install the writeLang interpretter so you don't need to write raw unicode 10:31:25 i don't precisely care about this 10:31:39 <|f`-`|f> ech 10:31:46 -!- zadock has joined. 10:31:48 <|f`-`|f> it'd get around the 510 byte issue 10:32:02 Aren't these called charsets? 10:32:25 <|f`-`|f> hum 10:32:58 <|f`-`|f> Monolithic charset, but you don't need to screw around chaining the metacharacters to build your language's letters 10:33:21 -!- boily has joined. 10:33:48 <|f`-`|f> no need to install charsets to copy foreign characters 10:33:55 -!- zadock has quit (Remote host closed the connection). 10:34:54 are you thinking of something like what LaTeX does? 10:35:49 <|f`-`|f> yeah 10:35:55 <|f`-`|f> yeah, actually 10:38:39 that has caused so many hard-to-figure-out errors 10:38:56 because it turns out that copy-and-pasting in LyX had placed language change codes in the middle of raw LaTeX that I was using for something else 10:39:21 after a while, my immediate reaction upon seeing weird errors was to reformat the entire relevant text as "Language: Reset" 10:41:16 -!- J_A_Work has joined. 10:43:05 <|f`-`|f> Hmmm 10:46:00 <|f`-`|f> Could help with better error handling, there is probably a lot of breathing room for what amounts to a system that does keybind macros 10:46:51 <|f`-`|f> then there's the multi-byte system that japan uses which is context-based 10:53:40 -!- oerjan has quit (Quit: leaving). 11:16:23 -!- boily has quit (Quit: CHANNELLED CHICKEN). 11:17:09 -!- J_A_Work has quit (Quit: J_A_Work). 11:23:54 -!- ais523 has quit (Quit: lunchtime). 11:47:35 Ads causing seizures... 11:47:40 interesting. 11:55:12 -!- ais523 has joined. 12:10:40 -!- tromp__ has quit (Read error: Connection reset by peer). 12:11:02 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=43472&oldid=42644 * 87.78.59.131 * (+90) added ArnoldC 12:13:34 -!- tromp_ has joined. 12:36:37 -!- copumpkin has joined. 12:46:47 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 12:55:59 -!- Thisbe has quit (Ping timeout: 248 seconds). 12:56:43 -!- Thisbe has joined. 13:10:08 -!- ais523 has quit. 13:10:21 -!- ais523 has joined. 13:11:12 -!- Patashu has quit (Ping timeout: 256 seconds). 13:15:57 -!- SopaXorzTaker has joined. 13:29:32 -!- copumpkin has joined. 13:42:33 -!- `^_^v has joined. 13:48:59 -!- SopaXorzTaker has quit (Read error: Connection reset by peer). 13:57:00 I'm gonna make an esolang called fnord. 13:57:03 . 13:59:44 https://esolangs.org/wiki/Dot? 14:00:41 no 14:00:47 that was to emphasize my irony 14:05:19 -!- ais523 has quit (Quit: going home). 14:24:20 -!- heroux has quit (Ping timeout: 255 seconds). 14:25:55 -!- pikhq has joined. 14:30:25 -!- pikhq has quit (Ping timeout: 256 seconds). 14:33:25 -!- mauris__ has joined. 14:36:52 -!- mauris_ has quit (Ping timeout: 240 seconds). 15:18:57 -!- rdococ has joined. 15:29:04 -!- FreeFull has quit (Quit: BBS). 15:33:55 -!- TieSoul has quit (*.net *.split). 15:33:55 -!- FireFly has quit (*.net *.split). 15:33:55 -!- fractal has quit (*.net *.split). 15:33:55 -!- zzo38 has quit (*.net *.split). 15:33:55 -!- fungot has quit (*.net *.split). 15:33:56 -!- pdxleif has quit (*.net *.split). 15:33:56 -!- SirCmpwn has quit (*.net *.split). 15:34:03 -!- tswett has quit (*.net *.split). 15:34:04 -!- SirCmpwn has joined. 15:34:11 -!- TieSoul has joined. 15:34:15 -!- pdxleif has joined. 15:35:08 -!- Warrigal has joined. 15:38:08 -!- fractal has joined. 15:40:49 -!- FireFly has joined. 15:55:51 -!- FreeFull has joined. 16:07:42 -!- zzo38 has joined. 16:13:45 -!- Warrigal has changed nick to tswett. 16:19:38 -!- contrapumpkin has joined. 16:21:11 my interpreter completed mandelbrot.b for the first time http://arin.ga/fIQ2zG/raw \o/ 16:21:37 Woo 16:23:22 -!- copumpkin has quit (Ping timeout: 240 seconds). 16:24:19 -!- contrapumpkin has quit (Ping timeout: 264 seconds). 16:28:23 -!- GeekDude has joined. 16:36:28 -!- pikhq has joined. 16:47:51 my favourite programming language is Powerpoint 16:49:59 Don't joke about that man 16:50:11 One of my early job was programming on Office 16:50:15 With VBA D: 16:50:18 the horror 17:00:03 no...# 17:00:07 I meant without VBA 17:00:56 Powerpoint, without VBA, is one of the best programming languages ever - welcome to finite state automaton, cleansed and polished with the power of eye cand 17:00:58 candy* 17:04:01 I'm bored, I wanna make a programming language, any ideas? 17:04:23 -!- _256Q has joined. 17:04:29 Duck language 17:04:31 Quack :V 17:04:39 <_256Q> hia <3 17:04:50 ...naah 17:04:54 There is a lot of idea in esolang wiki, I made the list of ideas at first but now a lot of people do, therefore there is more stuff now than it was at first. 17:04:55 <_256Q> I haer this is the place to talk about eso lang? 17:04:59 Yes 17:05:13 What kind of question about esolang you would have? 17:05:17 zzo38: ik... I've taken a look before... I guess I'll look again 17:05:19 <_256Q> rad 17:05:24 * _256Q settles down to lurk 17:05:46 <_256Q> zzo38 --> nah its just something I find really intresting 17:05:56 hmm... 17:07:06 how about we create a program that could replace every other program, and then the compiler would compile everything to that program? 17:07:09 _256Q: Look at the wiki; also, this IRC is logged and we actually discuss all sort of various stuff regardless, but if you have question/comment about esoteric programming you can please post them on this IRC we can answer it (since that is the main purpose ofsuch IRC) 17:07:18 like, Soviet Script taken to the extreme where there's only one true program 17:07:30 but... that is boring. 17:07:53 "A language in which every valid piece of music (or maybe just for only piano, only violin, only voice, etc) compiles and runs without error (and does something). It would be more interesting if simpler (beginner) pieces were simpler programs, and more complex pieces (such as Rachmaninov) were more complex programs." 17:07:55 hmm 17:08:03 wait... am I spamming the chat? -.- 17:08:25 sorry... 17:08:56 No I think it is OK for what you can write 17:10:35 ok... 17:10:54 I don't like any of these ideas -.- 17:12:31 Then make a better one 17:13:19 why do you think I'm looking for ideas? 17:21:34 -!- Wright has joined. 17:21:34 -!- Wright_ has quit (Read error: Connection reset by peer). 17:27:01 -!- paul2520 has quit (Quit: WeeChat 1.2). 17:27:37 -!- paul2520 has joined. 17:27:37 -!- paul2520 has quit (Changing host). 17:27:37 -!- paul2520 has joined. 17:47:11 -!- paul2520 has quit (Quit: WeeChat 1.2). 17:47:57 I read about putting a backdoor into "login" program by modifying the C compiler so that when it compiles itself it will compile the one to compile the login program with backdoors. There have been a few ideas of countering such attacks, but I have had a different idea even the first time I read it, which is to: Write a BASIC interpreter in C, and then write a C compiler (or even interpreter) in BASIC, and run the original C compiler using that (or 17:55:18 -!- paul2520 has joined. 17:55:18 -!- paul2520 has quit (Changing host). 17:55:18 -!- paul2520 has joined. 18:14:19 or? 18:15:05 -!- fowl has quit (Quit: zz). 18:15:33 also, writing a C compiler in BASIC sounds... tedious, to say the least. 18:16:01 Yes, but, then you will have a C compiler in BASIC. 18:16:17 true. 18:16:40 -!- atslash has joined. 18:18:03 <_256Q> could you not use a meta language to genirate a C compiler in basic? 18:18:18 <_256Q> or at least speed up the creation 18:18:27 Maybe 18:23:39 -!- mihow has joined. 18:26:26 -!- fowl has joined. 18:26:29 -!- fowl has quit (Excess Flood). 18:30:31 -!- fowl has joined. 18:30:47 -!- fowl has quit (Changing host). 18:30:47 -!- fowl has joined. 18:30:47 -!- fowl has quit (Changing host). 18:30:47 -!- fowl has joined. 18:30:57 -!- x10A94 has joined. 18:47:58 -!- Thisbe has quit (Quit: Left). 18:48:15 -!- Thisbe has joined. 18:51:23 -!- Thisbe has quit (Client Quit). 18:51:43 -!- Thisbe has joined. 19:18:57 -!- lleu has quit (Ping timeout: 256 seconds). 19:19:28 [wiki] [[Hanoi Love]] http://esolangs.org/w/index.php?diff=43473&oldid=43470 * Rdebath * (+277) 19:27:05 -!- rdococ has quit (Quit: gtg lel). 19:37:15 -!- FreeFull has quit (Quit: BBS). 19:38:01 -!- aretecode has quit (Ping timeout: 265 seconds). 19:43:32 -!- lleu has joined. 19:43:33 -!- lleu has quit (Changing host). 19:43:33 -!- lleu has joined. 20:03:34 -!- FreeFull has joined. 20:19:42 -!- qlkzy has quit (Ping timeout: 248 seconds). 20:21:32 -!- qlkzy has joined. 20:33:38 -!- aretecode has joined. 20:43:42 -!- aretecode has quit (Ping timeout: 248 seconds). 20:46:09 -!- bb010g has joined. 20:46:24 -!- aretecode has joined. 20:53:37 -!- FireFly has quit (Changing host). 20:53:37 -!- FireFly has joined. 20:57:42 -!- mihow has quit (Quit: mihow). 20:58:43 -!- mihow has joined. 20:59:36 -!- `^_^v has quit (Quit: This computer has gone to sleep). 21:00:07 -!- `^_^v has joined. 21:01:49 -!- `^_^v has quit (Client Quit). 21:03:31 -!- Patashu has joined. 21:18:54 -!- Thisbe has quit (Ping timeout: 248 seconds). 21:22:18 -!- x10A94 has quit (Read error: Connection reset by peer). 21:23:21 -!- AnotherTest has quit (Ping timeout: 256 seconds). 21:28:47 -!- Thisbe has joined. 21:28:47 -!- Thisbe has quit (Max SendQ exceeded). 21:42:19 -!- Patashu has quit (Ping timeout: 256 seconds). 21:52:15 -!- pikhq has quit (Ping timeout: 256 seconds). 21:56:29 -!- Thisbe has joined. 21:59:33 -!- oerjan has joined. 22:17:52 -!- pikhq has joined. 22:23:34 -!- mauris__ has quit (Ping timeout: 255 seconds). 22:25:52 -!- |f`-`|f has quit (Ping timeout: 240 seconds). 22:34:51 -!- |f`-`|f has joined. 22:41:04 -!- boily has joined. 22:41:37 ciaoily 22:42:21 au revoerjan! 22:47:50 -!- llue has joined. 22:47:50 -!- llue has quit (Changing host). 22:47:50 -!- llue has joined. 22:47:50 -!- lleu has quit (Ping timeout: 250 seconds). 22:47:54 -!- fowl has quit (Quit: zz). 22:57:01 -!- boily has quit (Quit: DECOHERENT CHICKEN). 23:03:15 -!- fowl has joined. 23:03:17 -!- fowl has quit (Excess Flood). 23:08:19 `relcome _256Q 23:08:20 ​_256Q: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 23:08:40 <_256Q> hia <3 23:08:53 <_256Q> that is crazy colorfull, I love it 23:09:12 -!- fowl has joined. 23:25:46 -!- lleu has joined. 23:27:57 -!- lleu has quit (Read error: Connection reset by peer). 23:28:10 -!- lleu has joined. 23:28:10 -!- lleu has quit (Changing host). 23:28:10 -!- lleu has joined. 23:28:44 -!- llue has quit (Ping timeout: 256 seconds). 23:29:02 -!- lleu has quit (Read error: Connection reset by peer). 23:29:17 -!- lleu has joined. 23:33:04 [wiki] [[Jackass]] N http://esolangs.org/w/index.php?oldid=43474 * Phase * (+776) Jackass spec start