00:02:20 -!- glguy has joined. 00:08:44 -!- shachaf has joined. 00:27:15 shachaf: it may htph 00:27:29 -!- adu has joined. 00:28:25 -!- CrazyM4n has quit (Remote host closed the connection). 00:47:43 * Sgeo wants a lossy compression algorithm for MIDIs that makes artifacts that sound like humans messing up sheet music 00:49:17 maybe gzip plus a random seed that controls the messing up part 00:51:13 I wanted a lossless compression algorithm for MIDIs that results in better compression ratios for music without a lot of dissonant chords and stuff 00:54:52 You could use a corpus of midi fragments, then lost sounds get filled in using the ones in the corpus 01:08:02 Do you think one use of Magic: the Gathering cards "One With Nothing" might be you can play madness card even during opponent's turn? It probably can have other uses too 01:12:20 -!- Patashu_ has joined. 01:12:20 -!- Patashu has quit (Disconnected by services). 01:21:06 -!- adu has quit (Quit: adu). 01:39:11 -!- glguy has quit (Quit: Part). 01:45:05 -!- Daniel has joined. 01:45:30 -!- Daniel has changed nick to Guest48264. 01:47:32 -!- adu has joined. 02:10:29 anybody talk? 02:10:58 `welcome Guest48264 02:10:59 Guest48264: 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 irc.dal.net.) 02:12:21 -!- Guest48264 has quit (Quit: irc2go). 02:18:49 -!- Patashu has joined. 02:20:57 -!- Patashu_ has quit (Ping timeout: 244 seconds). 02:31:34 -!- madbr has joined. 02:32:20 Q: 02:32:20 is there a scripting language (as in, easy to load up and interpret from C++) that has few dynamic structures, no garbage collection and does little dynamic allocation? 02:32:30 lua for instance is easy to load and interpret (the library is nice) but it's all dynamic typed and garbage collector and you have no guarantees that it won't do a whole bunch of calls to malloc 02:35:25 basically it has to run <0.5ms 100% of the time (it will typically run a callback every 2ms or so, and this absolutely has to be over before the next callback) 02:35:34 on windows and OSX 02:35:50 some Scheme variant, perhaps? 02:36:08 it cannot block for 10ms every 5 minutes while the garbage collector runs 02:36:28 that is actually not acceptable for my application (pro audio) 02:38:23 boily : I'm not familiar with scheme but isn't that all dynamic typed? 02:38:47 also it's functional which will confuse the users 02:40:44 well, scheme's dynamically typed, but then as syntax goes it's very, very simple. 02:41:29 there's also Forth, but it may confuse users too but in an entirely new way. 02:41:46 If I wanted dynamic typed, that I'd go for lua 02:42:47 forth is actually closer... it's crazy but it's also all static and you know you're not going to allocate memory by doing, say, an addition 02:43:10 yeah. I mentioned Forth because memory allocation is quite straightforward. 02:43:35 off the top of my head, I can't remember any statically typed scripting languages... 02:44:00 (well, there's Beanshell, but it's a heavyweight abomination on top of the JVM.) 02:44:01 the one that I know of is Jesusonic 02:44:02 http://www.cockos.com/jesusonic/ 02:44:11 no jvm 02:45:08 -!- oren has joined. 02:45:20 like, it probably doesn't even have to have MAPS 02:45:23 or booleans 02:45:35 or integers 02:46:08 -!- adu has quit (Quit: adu). 02:46:52 or even functions actually 02:48:56 is the effort of whipping out a custom DSL too much? 02:49:51 what's a "DSL"? 02:50:07 with scrip7 you can allocate all your memory once 02:50:08 Domain Specific Language. 02:50:20 hmm 02:50:23 but that isn't stable yet 02:50:33 well, I'm already thinking of that yeah 02:50:53 (then again you could just customize the interpreter yourself...) 02:51:04 but normally you don't do that (you just use lua) 02:51:20 -!- madbr has quit (Quit: Pics or it didn't happen). 02:51:49 Pix | it dint hpn 02:52:00 -!- madbr has joined. 02:52:05 wops 02:52:42 IMO, I don't like lua. too much hassle. 02:52:52 I think opencl technically fits those requirements 02:53:00 that is true! 02:53:11 technically.... 02:53:52 jafet: hmm 02:54:16 would have to be run on a 1x1 pixel load :D 02:58:56 boily : the kind of end users I have are 10x more likely to learn lua than scheme 03:01:28 so it goes. 03:02:03 'night all! 03:02:08 -!- boily has quit (Quit: AUTOMORPHIC CHICKEN). 03:02:14 A subset of scheme that never allocates memory 03:04:54 a lot of successful language for sound generation are data-flow languages and are graphical 03:06:48 madbr: I read above and it looks like a Forth-based system can do without garbage collector and all various stuff 03:07:56 yes¸ 03:09:10 the problem is of course that you have to spend a few days jungling in your head with the concept of a stack and how it works, how to use it etc 03:09:51 It look to me not too difficult really. 03:10:17 alas i hear higher-order functions are really hard to do without GC 03:10:57 higher-order functions don't really help with the doman specific applications 03:11:24 -!- Azazel_ has joined. 03:11:40 i mean that the scheme subset would not be a very functional one 03:11:43 like, it pretty much ok if this only has floats, arrays of floats, and nothing else 03:12:35 Hi 03:12:51 `welcome Azazel_ 03:12:51 Azazel_: 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 irc.dal.net.) 03:16:49 Are you sure, float and array of float are all that you should need? 03:17:33 possibly string eventually 03:17:43 Lower-order functions 03:18:34 maybe array of string, objects, maps if it really has to expand and go there 03:20:00 maybe integers if it has to be more performant (for non-interpolated lookup table lookups) 03:20:27 I know for audio stuff I happen to like Csound, although I have never used it for realtime stuff; on a fast computer it would probably work though. Csound doesn't have an integer type; it does have floats, arrays of floats, and strings. 03:21:02 Although Csound isn't am embeddable scripting language very well. 03:21:24 right 03:21:34 which is why I mentionned jesusonic 03:21:55 which is similar (C-based) but is more embeddable 03:25:09 -!- Azazel_ has quit (Quit: Page closed). 03:25:35 Then see if Jesusonic is good for what you are making 03:26:12 AHA!!! I have figured out how to make the loops in scrip7 fast. 03:27:32 I will use normal pranthesis matching the FIRST iteration, but CACHE the results in two HASH TABLES using the address of the start and end as keys! 03:27:56 -!- CrazyM4n has joined. 03:28:06 :o :P 03:28:15 prana thesis, the esoteric bracketing system 03:28:44 it is actually esoteric considering in scrip7 { matches with ) 03:28:49 or } 03:29:17 it's however no match for pantheists 03:29:49 -!- oren has changed nick to |{oren}|. 03:30:41 { match to ) disurbs me :3 03:30:48 øæorenåø 03:30:49 <|{oren}|> this idea of caheing the result of paren matching can also be used in brainfuck interpreters 03:30:55 it's like some OCD part in me goes NO 03:30:57 It is strange for sure, but maybe it can help sometimes? 03:31:37 <|{oren}|> well essentially scrip7 treats all brackets identically 03:31:49 madbr: calm down and go learn some fueue 03:31:51 <|{oren}|> {[(}]) 03:32:04 <|{oren}|> [[[)}) 03:32:31 madbr: what do you think of half-open intervals hth 03:32:59 If it does a different thing at the beginning and at the end, then maybe it can use different brackets, in case it is also possible to mean same thing with same brackets. 03:33:14 a range from 0 to 4 contains 0,1,2,3 and NOT 4 03:33:16 It might be sensible in such. Half-open intervals may be one case I suppose. 03:33:42 <|{oren}|> actually i might change that. 03:33:55 madbr: but does it contain pi hth 03:33:58 which i guess is traditionally notated [0, 4[ 03:34:10 <|{oren}|> Oh i have it: [ and ] are brackets that only match, but never jump 03:34:26 [ ? 03:34:45 real mathematicians use [0, 4) hth 03:34:56 oh 03:34:57 -!- azazel_ has joined. 03:35:05 |{oren}|: Yes, that is the idea like how I have suggestion actually; [ ] can be match and not jump, and then { } can be jump, and ( ) have another meaning (such as a different condition jump), etc, maybe is one way? 03:35:16 but then real matematicians use indexes 1..N in indexes etc 03:35:33 madbr: that actually depends on mathematics branch 03:36:09 Hi 03:36:09 <|{oren}|> () are stupid anyway being all round. i will simply ignore them for now 03:36:49 Oh I see it works now I wonder if I switch phones my name will change 03:36:56 Bbl 03:36:56 <|{oren}|> hi azazel 03:37:14 oren, what's up with the symbols 03:37:37 <|{oren}|> in my font | is a heart 03:38:00 <|{oren}|> for hysterical rwasons |\{}[] are allowed in names 03:38:07 -!- kcm1700 has joined. 03:38:41 -!- |{oren}| has changed nick to |oren\. 03:38:52 <|oren\> here now i have a yen sign in my name 03:39:13 -!- kcm1700_ has quit (Remote host closed the connection). 03:39:13 -!- Froox has joined. 03:39:14 oerjan : ah 03:39:14 tbh I'm not that familiar with academia etc 03:39:14 moved on to other things a couple years ago ;) 03:39:42 OK fine 03:39:42 Isn't it like, a range, or it is indexed it is a bit of a different use? 03:40:30 Well, it will be a yen sign in a Japanese encoding anyways 03:41:02 -!- Frooxius has quit (Ping timeout: 244 seconds). 03:41:03 -!- Sgeo has quit (Ping timeout: 244 seconds). 03:41:09 Not in a standard ASCII encoding, but, the keyboard of Famicom is using the yen sign in place of backslash too 03:41:18 -!- Sgeo has joined. 03:41:29 <|oren\> zzo38: even japanese unicode fonts have a yen sign 03:41:44 Do you like stuff I have in my userspace in All The Tropes? If I wrote lies in there then please to fix it 03:42:32 |oren\: Yes, although it won't be the proper Unicode encoding; the proper Unicode number for yen sign is different from the backslash number (so it is in many encodings, but in ISO 646 it is the same encoding as the backslash and yen sign) 03:43:33 <|oren\> i think japanese people got used to separating their file paths with yen signs... 03:44:04 <|oren\> C:\Documents\Untitled.doc 03:44:05 Well, on Windows anyways; on UNIX you don't need to do that. 03:44:27 <|oren\> but on unix you escape your characters with yen signs... 03:44:43 Yes, it has that purpose instead then on UNIX. 03:45:28 -!- Tod-Autojoined has joined. 03:46:38 <|oren\> in the anime serial experiments lain, you see C code on the board in school. it has yensign-n as newline. 03:46:49 -!- Froo has joined. 03:47:44 I didn't see that one. 03:47:48 OK, though 03:48:29 But I just think that it shouldn't lie about the character encoding 03:48:44 -!- lambdabot has quit (Ping timeout: 240 seconds). 03:48:44 -!- olsner has quit (Ping timeout: 240 seconds). 03:48:44 -!- Lymia has quit (Ping timeout: 240 seconds). 03:48:44 -!- TodPunk has quit (Ping timeout: 240 seconds). 03:48:44 -!- aloril_ has quit (Ping timeout: 240 seconds). 03:48:53 -!- oerjan has quit (Quit: leaving). 03:48:55 -!- Froox has quit (Ping timeout: 240 seconds). 03:48:56 -!- yiyus has quit (Ping timeout: 240 seconds). 03:50:12 <|oren\> http://ctrlv.in/473620 03:50:16 -!- KingOfKarlsruhe has quit (Ping timeout: 240 seconds). 03:50:16 -!- Gregor has quit (Ping timeout: 240 seconds). 03:52:26 <|oren\> there, screenshot. so i think japanese programmers aure used to yensign as escape char, as we are used to backslash 03:54:25 -!- lambdabot has joined. 03:54:35 -!- olsner has joined. 03:54:40 still better than ebcdic 03:55:17 -!- KingOfKarlsruhe has joined. 03:55:37 -!- Gregor has joined. 04:01:46 -!- Lymia has joined. 04:02:59 -!- aloril_ has joined. 04:04:48 -!- yiyus has joined. 04:25:51 -!- Sgeo has changed nick to wtf8. 04:25:58 * wtf8 best encoding 04:26:26 I.. uh.. wat... https://www.npmjs.com/package/wtf8 04:27:24 Why does that have to exist 04:27:31 Why does node.js have to exist 04:27:44 because the real world is complicated 04:28:22 http://simonsapin.github.io/wtf-8/ is the WTF-8 I intended to reference with this nick 04:29:29 Do people actually use node.js in production environments? 04:29:42 TagPro is built on node.js 04:29:50 And I am a tagpro addict, even though I suck at it 04:31:30 really? 04:31:38 But isn't it distributed across a bunch of servers 04:36:27 -!- CrazyM4n has quit (Quit: Leaving). 04:37:12 <|oren\> Node.js exists because some sick personwanted to write MORE Javascript. 04:38:01 -!- nys has quit (Quit: quit). 04:49:19 https://blog.nelhage.com/2012/03/why-node-js-is-cool/ 04:54:20 <|oren\> a pity such a nice idea was wasted by using Javascript as its basis, as opposed to something with a good syntax. 04:54:51 http://slbkbs.org/serp.html now supports backspace 04:56:19 <|oren\> still buggy. i deleted the whole searh and it retained the first character 04:56:29 shachaf: what's that? 04:56:31 Yes, there's no way to detect that. 04:56:41 I get a blank screen 04:56:43 But if you start typing something new it'll detect it. 04:56:50 Ctrl-F and search for something. 04:56:55 <|oren\> if you ctrl f it writes whate you search for 04:57:00 Woah 05:01:36 I found that in Haskell it is possible to use unsafeCoerce to interpret the bits making up a Float into Int32 and vice-versa, so this could be used to store floating point numbers into a file, for example. 05:02:37 That conversion doesn't need to be done to do so, unless you only ever print displayed representations to file 05:02:49 |oren\: JavaScript is mostly not bad, really. It does have a few problems; one is implicit semicolons and another is having to write the word "function" rather than be able to use a shortcut such as "@(x)(x)" rather than "function(x)(x)" for example. 05:03:02 But it's fun to add one to the bit representation to get the next float. The float standard was specifically designed to allow for that 05:03:42 shachaf: in-browser SEO! 05:04:24 wtf8: How is that conversion doesn't need to be done? 05:05:00 You could just write the bytes to file. That's allowed 05:05:20 Oh, not really thinking in HAskell terms ltely 05:05:23 lately 05:05:24 Does Haskell have a command to do that? 05:05:35 * wtf8 blames Rust 05:08:13 I also suppose it will not work if the processor doesn't use 32-bit IEEE floating point, or if it doesn't use the same endianness for floating point as integers. 05:12:30 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:18:35 <|oren\> so tldr, Haskell allows *(*int)&x ? 05:19:28 <|oren\> that is extremely unusual for such an abstract language 05:24:19 -!- mihow_ has joined. 05:26:36 -!- Patashu has quit (Disconnected by services). 05:26:36 -!- Patashu_ has joined. 05:27:42 Hi 05:28:11 I wish it wasnt this name sigh 05:28:40 You guys talking about haskell?! 05:28:49 <|oren\> yep 05:29:29 Yay im new to haskell so ill just watch. 05:29:52 haskell more like hascow 05:30:23 <|oren\> shachaf: has cow or ha scow 05:31:40 <|oren\> what is a scow anyway? i seem to recall it is a word... 05:32:41 -!- yonkie_ has joined. 05:32:52 -!- diginet_ has joined. 05:33:12 -!- lambdabot has quit (*.net *.split). 05:33:12 -!- wtf8 has quit (*.net *.split). 05:33:12 -!- yonkie has quit (*.net *.split). 05:33:12 -!- mihow has quit (*.net *.split). 05:33:13 -!- diginet has quit (*.net *.split). 05:33:13 -!- paul2520 has quit (*.net *.split). 05:33:13 -!- Jafet has quit (*.net *.split). 05:33:13 -!- mroman has quit (*.net *.split). 05:33:16 -!- FireFly has quit (*.net *.split). 05:33:16 -!- qlkzy has quit (*.net *.split). 05:33:16 -!- digitalcold has quit (*.net *.split). 05:33:16 -!- clog has quit (*.net *.split). 05:33:16 -!- aloril_ has quit (*.net *.split). 05:33:16 -!- drdanmaku has quit (*.net *.split). 05:33:16 -!- zzo38 has quit (*.net *.split). 05:33:16 -!- coppro has quit (*.net *.split). 05:33:16 -!- dts|pokeball has quit (*.net *.split). 05:33:16 -!- J_Arcane_ has quit (*.net *.split). 05:33:16 -!- hjulle has quit (*.net *.split). 05:33:16 -!- trn has quit (*.net *.split). 05:33:16 -!- skarn has quit (*.net *.split). 05:33:16 -!- pikhq has quit (*.net *.split). 05:33:16 -!- incomprehensibly has quit (*.net *.split). 05:33:16 -!- newsham has quit (*.net *.split). 05:33:16 -!- Froo has quit (*.net *.split). 05:33:16 -!- madbr has quit (*.net *.split). 05:33:16 -!- atehwa has quit (*.net *.split). 05:33:17 -!- Vorpal has quit (*.net *.split). 05:33:17 -!- relrod has quit (*.net *.split). 05:33:17 -!- jameseb has quit (*.net *.split). 05:33:17 -!- variable has quit (*.net *.split). 05:33:17 -!- myndzi has quit (*.net *.split). 05:33:18 -!- mtve has quit (*.net *.split). 05:33:18 -!- mihow_ has changed nick to mihow. 05:33:39 -!- diginet_ has quit (Excess Flood). 05:34:02 -!- diginet has joined. 05:34:22 -!- diginet has quit (Remote host closed the connection). 05:34:27 -!- mroman has joined. 05:34:58 -!- diginet has joined. 05:35:53 -!- CrazyM4n has joined. 05:38:43 -!- lambdabot has joined. 05:40:17 -!- digitalc1ld has joined. 05:40:18 -!- Froo has joined. 05:40:18 -!- madbr has joined. 05:40:18 -!- atehwa has joined. 05:40:18 -!- Vorpal has joined. 05:40:18 -!- relrod has joined. 05:40:18 -!- myndzi has joined. 05:40:18 -!- jameseb has joined. 05:40:18 -!- variable has joined. 05:40:18 -!- mtve has joined. 05:41:52 <|oren\> o_O suddenly eight people join in one minute? 05:43:14 -!- FireFly has joined. 05:49:32 -!- aloril_ has joined. 05:49:34 -!- drdanmaku has joined. 05:49:34 -!- zzo38 has joined. 05:49:34 -!- coppro has joined. 05:49:34 -!- dts|pokeball has joined. 05:49:34 -!- J_Arcane_ has joined. 05:49:34 -!- hjulle has joined. 05:49:34 -!- trn has joined. 05:49:34 -!- skarn has joined. 05:49:34 -!- pikhq has joined. 05:49:34 -!- incomprehensibly has joined. 05:49:34 -!- newsham has joined. 05:49:47 -!- glguy has joined. 05:50:14 -!- skarn has quit (Max SendQ exceeded). 05:51:07 -!- skarn has joined. 05:52:04 <|oren\> codu is down 05:53:33 -!- Jafet has joined. 05:53:34 -!- qlkzy has joined. 05:53:58 -!- qlkzy_ has joined. 05:54:23 -!- Sgeo has joined. 05:54:26 -!- Patashu_ has quit (Ping timeout: 272 seconds). 05:56:40 -!- qlkzy has quit (Ping timeout: 244 seconds). 05:58:47 -!- paul2520 has joined. 06:00:27 -!- paul2520 has quit (*.net *.split). 06:00:29 -!- Sgeo has quit (*.net *.split). 06:00:29 -!- skarn has quit (*.net *.split). 06:00:30 -!- aloril_ has quit (*.net *.split). 06:00:30 -!- drdanmaku has quit (*.net *.split). 06:00:30 -!- zzo38 has quit (*.net *.split). 06:00:30 -!- coppro has quit (*.net *.split). 06:00:30 -!- dts|pokeball has quit (*.net *.split). 06:00:30 -!- J_Arcane_ has quit (*.net *.split). 06:00:30 -!- hjulle has quit (*.net *.split). 06:00:30 -!- trn has quit (*.net *.split). 06:00:30 -!- pikhq has quit (*.net *.split). 06:00:30 -!- incomprehensibly has quit (*.net *.split). 06:00:30 -!- newsham has quit (*.net *.split). 06:01:33 -!- |oren\ has quit (Quit: leaving). 06:01:51 -!- paul2520 has joined. 06:01:51 -!- Sgeo has joined. 06:01:51 -!- skarn has joined. 06:01:51 -!- aloril_ has joined. 06:01:51 -!- drdanmaku has joined. 06:01:51 -!- zzo38 has joined. 06:01:51 -!- coppro has joined. 06:01:51 -!- dts|pokeball has joined. 06:01:51 -!- J_Arcane_ has joined. 06:01:51 -!- hjulle has joined. 06:01:51 -!- trn has joined. 06:01:51 -!- pikhq has joined. 06:01:51 -!- incomprehensibly has joined. 06:01:51 -!- newsham has joined. 06:01:59 -!- oren has joined. 06:02:29 -!- skarn has quit (Max SendQ exceeded). 06:02:35 -!- Sgeo has quit (Max SendQ exceeded). 06:02:59 -!- Sgeo has joined. 06:03:08 -!- skarn has joined. 06:03:40 Oh, freenode 06:04:29 i just quit and reconnected but the problems are still happening... 06:05:49 Problems? 06:06:19 people quitting and joining en masse 06:07:30 hm.. i guess it has quieted down 06:09:34 -!- adu has joined. 06:11:15 -!- Tefaj has joined. 06:12:02 Hm 06:12:10 Freenode does this occasionally 06:12:29 does what? 06:12:37 meanwhile i'm trying to figure out why gcc doesn't complain about my code 06:12:53 oren: do you have -Wall ? 06:13:03 -Wall -Wextra 06:13:13 what code? 06:13:41 Disconnects and reconnects people en masse 06:13:49 http://ctrlv.in/473644 this code 06:14:26 oh crap, look in the lower left for the code 06:14:31 dat font 06:14:53 oren: can you you use a pastebin that supports text please? 06:15:55 http://pastebin.com/CnNbnMvv 06:15:57 Try clang? 06:16:34 -!- Jafet has quit (*.net *.split). 06:16:57 oren: I don't see any issues with that code 06:17:19 the pointer casting is supposed to be unsafe or something 06:19:28 its supposed to "break strict-aliasing" 06:19:55 oren: I think you're confusing 3 things 06:20:30 ok what are they? 06:20:35 (1) unsafe (2) undefined behaviour (3) compiler warnings 06:21:27 ok... so is what i'm doing undefined or not? 06:21:39 I think your code probably uses UB, but it looks like dt gives a size bound for dp 06:22:58 lots of casting involves UB, any time you store data with one type and load it as a different type, that's UB 06:23:58 on the other hand, GCC usually gives lots of warnings if you don't cast, and if you do cast, then it doesn't give warnings 06:25:12 AHA: http://stackoverflow.com/questions/23848188/strict-aliasing-rule-and-char-pointers 06:25:29 char pointers are apparently special... that is handy. 06:25:55 (i guess they have to be, otherwise memcpy could not be defined behaviour) 06:26:13 void pointers are also special 06:26:27 -!- glguy has quit (Quit: Part). 06:26:41 but you can't do arithmetic on them... 06:29:05 basically people use char * way to often to manipulate other data types 06:29:14 that and file loading, memset, memcpy etc 06:29:24 so it has to work 06:29:58 incidentally I think llvm uses a different memory anti-aliasing scheme so it doesn't really care 06:29:59 -!- Tefaj has left. 06:30:20 `qntmradate 06:30:20 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: qntmradate: not found 06:30:27 note: I might well be wrong on this please do not write nuclear power plant code based on what I just said :o 06:30:28 Finale!! 06:31:11 it aint nuclear power code, it's just an interpreter for scrip7, whihc i invented for videogame scripting 06:31:23 and debugging 06:31:35 also I'm not sure how much anti-aliasing gains you on x86 anyways 06:32:29 oh wait 06:32:41 this is also different in c99 vs c++ 06:35:11 -!- SopaXT has joined. 06:35:49 llvm does do type-based alias analysis 06:35:54 not sure whether gcc or clang are more aggressive 06:36:11 So my random bf generator generated a program that produced this http://i.imgur.com/llJgd4M.png 06:36:16 :? 06:36:57 every second ascii char? 06:37:10 Yeah, seems like it 06:37:12 starting at 11 06:37:14 Didn't realize at first 06:37:28 But there's the weird stuff like || and [007f]~[007f] 06:37:51 "unsafe" generally means different things depending on whether you're talking about C/C++ or something else 06:38:03 (character [007f] is what beef defaults to when you output a negative) 06:38:08 it loops around 06:38:23 adu : I thought it meant that the optimizer might do things that break it? 06:38:25 A negative one, that is 06:38:59 in other languages the word "unsafe" is a synonym for C-pointers, in C the word "unsafe" means something a little more specific 06:39:03 madbr: yah that is what i am worried about, but apparently char* is special... 06:39:31 Does something like FunctionFuck or ObjectFuck exist? 06:39:50 madbr: that's generally only in the context of multi-threaded code 06:39:52 there aren't very many object oriented tarpits 06:39:57 SopaXT, have you seen Pure BF? 06:40:04 though there are lots of functionnal ones 06:40:13 yeah lol 06:40:19 adu : multithreaded is a different issue 06:40:30 still attempting to understand it! 06:41:02 It's called brainfuck for a reason :P 06:41:16 :D 06:41:17 once multithreading comes into play a lot of stuff ends up with some crazy catches 06:41:38 for instance, writing to a misaligned int is not atomic 06:41:45 but i've liked to do something like syscalls in bf 06:41:58 using stdlib-like 06:42:11 Make your own bf interpreter? 06:42:39 and then just add functionality until you've made your own bf derivative 06:42:40 alreadly done 06:42:52 SopasFuck lol 06:42:59 has functions 06:43:11 and weird syntax 06:43:50 http://esolangs.org/w/index.php?title=Sopasfuck&action=edit&redlink=1 06:43:54 ? 06:44:15 I don't want to officially create it 06:44:28 there are a lot of them 06:44:40 kinda wonder, if you made bf multi threaded, how many other things you could take out of it 06:44:44 anyhow, sleep 06:44:46 -!- madbr has quit (Quit: Pics or it didn't happen). 06:46:00 Are you making an interpreter alongside writing the specs SopaXT? 06:46:19 it's alreadly done 06:46:32 but I didn't publish it 06:46:47 for example: 06:46:57 {.,} # define a function 06:47:16 +? # call it 06:47:27 isn't there a multithreaded variant of Befunge? 06:47:39 functions are given numbers 1-..... 06:47:42 brb making simplefunge multithreaded 06:47:46 one thread per instruction ;) 06:48:15 lol 06:48:21 lol 06:48:24 oh no what have I done? 06:48:36 ? 06:49:00 I was always a big fan of Funge-98 06:49:04 I have some C program, for some reason if I specify the -d option without -i in a batch file, it crashes, but it works if I include -d and -i or if I run it directly from the command prompt. 06:49:26 I wish I was good enough at befunge to say that I love it 06:49:30 zzo38: what's a batch file? 06:49:34 It's uh... cool 06:49:35 :P 06:50:01 [wiki] [[StaPLe]] N http://esolangs.org/w/index.php?oldid=41463 * BCompton * (+5740) Created page with "'''StaPLe''' (''Sta''ck ''P''rocessing ''L''anguag''e'') is a stack-based programming language created by [[User:BCompton]] in 2014 influenced by Lisp and Joy, among others. ..." 06:50:11 maybe named functions are better? 06:50:21 Well, actually it is a "Windows NT Command Script" and is not really a DOS batch file. 06:50:52 Ooo, StaPLe is pretty cool 06:51:08 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41464&oldid=41426 * BCompton * (+13) /* S */ 06:51:31 Trying to execute it in the debugger doesn't reveal the problem. 06:51:46 Also, it does the same regardless what optimization settings I put. 06:51:46 show us your program?! 06:52:16 This is the program http://sprunge.us/HIaL 06:53:17 wow. http://imgur.com/gallery/hRf2trV 06:53:47 I wish I knew enough to do that 06:54:01 I was actually working on some similar stuff as a kid. 06:54:38 what is that abbreviature btw, in source code? 06:55:12 -!- Jafet has joined. 06:55:44 Does anyone know why my program is doing what it is doing? 06:56:33 [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41465&oldid=40751 * BCompton * (+330) StaPLe 06:56:37 SopaXT: what is what? 06:56:48 zzo38: I don't know anything about Windows, I only know UNIX 06:57:34 I only know my own operating system 06:57:37 zzo38: the last time I used Windows was in 1990 06:57:40 /s 06:57:59 UNIX is so much better 06:58:07 Yes, UNIX is better 06:58:19 windows has a better API though 06:58:20 However I intend this program working both Windows and UNIX systems. 06:59:04 oren: you mean all those undocumented APIs that everybody uses even when they're not supposed to, then stupid users complain about everything not working when they upgrade 06:59:33 -!- SopaXT has quit (Read error: Connection reset by peer). 06:59:51 no, i mean HWND instead of stupid QT and TK. 07:00:28 opening a window on windows is as easy as opening a file 07:00:38 -!- SopaXT has joined. 07:00:43 ARRR 07:01:35 on linux it is much harder, mostly because there are so many ways to do it and most of them don't work on all distros 07:01:36 oren: I have no idea what HWND is 07:01:56 oren: but I think that was one of the reasons why so many people have contributed to Wine 07:02:24 arrr 07:02:37 Argh 07:02:56 damn freaking irc client 07:02:59 oren: http://www.joelonsoftware.com/articles/APIWar.html 07:03:21 so, what to do with my new functional bf 07:03:42 and I see some problems in numbered functions 07:04:02 hmm 07:04:15 Write a BF interpreter in it 07:04:19 oren: I personally think the best API ever designed was the BeOS API 07:04:28 logic! 07:04:55 I don't make a lot of GUI programs though, because non-GUI programs are generally better 07:05:04 http://en.wikibooks.org/wiki/Windows_Programming/Window_Creation#Creating_Windows <-- to create a window is one function call on windows. it is so easy! 07:05:47 most of those params can be nulled as well 07:05:50 Tk is about as easy 07:05:57 easier really 07:06:22 but Tk is only one of many windowing libraries 07:06:37 the Root windowing library is X and X sucks. 07:07:25 oren: there are plenty of alternatives to X 07:07:36 X isn't really a toolkit... 07:08:07 having a plurality of windowing toolkits hinders development 07:08:24 thye should have made the X api better 07:08:35 GGI, DirectFB, SDL, Wayland, Fresco, etc. 07:08:55 oren: if you hate X so much, just use one of those 07:09:05 Do you like Athena widget kit? It should need more keyboard control probably other than that is good I think 07:09:10 you could use Wayland. which leaves even more up to the toolkit. 07:09:38 i use SDL mostly except for games where i use Allegro 5. 07:10:04 Windows is easy! I made a program to kill csrss.exe in like 15 lines and sent it to my friend 07:10:14 Good times 07:10:14 although SDL is kind of sparse 07:10:26 what is csrss.exe? #cantgoogle 07:10:33 incidentally doesn't windows just stuff most of the gui crap into kernel-space 07:10:43 kind of a design of questionable elegance 07:10:48 I don't know 07:10:52 SDL 1.x isn't too bad 07:10:55 exactly that is what made it fast in old days 07:10:57 Kinda like init 07:11:35 oren: well, I mean, NT used to have it in user-space, I think, but then they moved it back in. 07:11:35 while X used to be slow as crap (or so says my dad who lived thru that time) 07:11:40 I bet dave cutler wasn't happy about that. 07:12:37 X uses a client-server model which makes gui networking much easier tho. 07:12:56 ssh -XC and so on 07:13:09 so that is a plus 07:15:02 basically the UX of linux has only recently surpassed Windows (and arguably the UX of windows has actively declined recently) 07:16:30 -!- SopaXT has quit (Ping timeout: 258 seconds). 07:27:58 Do you have an idea about what could be causing the problem in my program? 07:30:55 -!- clog has joined. 07:31:10 does the code do anything clever to the console? 07:31:31 Can't you see the program? The only thing it does is change the file mode. 07:31:42 -!- SopaXT has joined. 07:31:46 That is the only Windows-specific code in the program. 07:31:48 Awesome. Thanks to a clever contributor, Heresy now has an immutable object system. 07:33:19 I don't know if there is some buffer overflow or something like that 07:35:01 hmmmm 07:35:16 i don't see anything obviously wrong 07:36:55 Neither do I 07:39:36 what do the options in question supposed to do? 07:43:10 'd' sets the mode of stdout to text, but it doesn't ever put it back to binary. should it? 07:45:01 It shouldn't since it is supposed to use a different output format entirely 07:45:11 -!- adu has left. 07:51:29 why exit on line 618? 07:52:53 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 07:53:01 do_lumps is never reached if 'd' is specified 07:53:12 It isn't supposed to be 07:53:30 It is supposed to omit do_lumps if 'd' is specified. 07:53:54 ok then the only candidate i see for a buffer ovflow is line 612 07:55:41 What could cause it there? 07:55:41 -!- CrazyM4n has quit (Quit: sleep). 07:57:26 Could there be any problems other than buffer overflows elsewhere in the program? 07:57:33 hmmm in do-lumps the data ppears to start at j=controls[12] 07:58:03 while in the 'd' code, you started at 0 07:59:00 what was the nature of the crash? did it segfault or just silently close? 07:59:24 It did segfault. 07:59:55 And only when called from the batch file with -d and not -i (so it can't be in do_lumps, isn't it?); calling the same directly from the command-line doesn't crash. 08:00:03 then the most likely cause is a buffer overflow or a bad pointer 08:00:28 huh??? 08:01:17 that is really weird... what else is in the bath file? 08:02:03 could the input differ? 08:02:12 Deleting the other commands from the batch file doesn't change it; making it to redirect input/output or not doing that also doesn't change it. 08:02:57 Also, it gets stuck (doesn't close or do anything) when the batch file has no options and only the input filename. It doesn't do this on the command-line! 08:06:11 -!- Tod-Autojoined has changed nick to TodPunk. 08:07:21 hmm try adding test code to analyze the actual input params 08:08:10 they could be different due to subtle differences in the shell 08:09:36 e.g. for(i=0;i I just did that, and I can see it didn't change it. 08:12:08 (I actually did it a bit differently; I used fprintf(stderr,"<%s>",argv[i]) instead so that I can see if there are spaces that don't belong.) 08:12:58 But I found out something now. Even from the command-line, if it is the first command entered in a new window it crashes the same as the batch file; trying again it works every time subsequently. 08:16:02 what output comes before the crash? 08:16:52 Only -d and the filename. 08:19:58 so it is crashing while executing code, not while outputting results 08:20:41 Yes, it looks like that 08:23:02 see if you can figure out a small code file that causes it to crash. 08:23:27 does it crash if the code file is empty for example? 08:24:14 does your code file have blank lines? 08:29:47 OH! in your macro code, you put the return of reallocing names[].macro into p, but never assign it to names[].macro. that could cause a segfault from accessing freed memory 08:30:24 lines 424-428 08:31:06 -!- azazel_ has quit (Quit: Connection closed for inactivity). 08:32:19 because realloc does not have to resize memory, it can also allocate a new larger buffer, copy data in, and return the new buffer, after freeing the old one 08:37:20 O, you are right 08:37:27 Now I can fix it thank you 08:38:10 I don't know why I put "p" there instead of assigning it to names[].macro 08:40:06 the problem is code like this can still work perfectly until some random thing causes it to fail... one of the worst things about C 08:40:36 that's what happens when you rely on UB ;P 08:41:30 What would help then is to make the C *interpreter* which can check these errors 08:41:56 tcc has an interpreter mode 08:42:00 And then it can be compiled afterward 08:42:22 i dunno what it does tho 08:43:18 it would be cool to have a C static analyser/interpreter that does lots of pedantic UB analysis yeah 08:43:27 clang has UBsan 08:43:33 but I think you could do a lot more with a specialised tool 08:43:41 basically by trying to make everything as symbolic as possible 08:43:56 https://code.google.com/p/c-semantics/ there is this which is really cool 08:45:05 sorry, that should be https://github.com/kframework/c-semantics 08:45:13 though the google code page explains it better 08:45:37 maybe it actually can detect all UB 08:45:38 ooh that does look cool. especially that i will have yet another *cc command available 08:45:40 actually I guess it can't 08:45:45 since some of it is impossible to detect I think 08:45:53 well I guess you can mayb edetect all UB triggered on a given run of a program 08:46:05 "Running SEARCH=1 ./a.out will exhaustively search the state space resulting from considering all possible expression sequencings (as allowed by the standard) and generate a .pdf and .ps of the space (if Graphviz is installed). This is the only way to check all possible evaluation orders of a program to find undefined behavior." this is really cool :) 08:46:17 so you can tell when you have a branch that can do UB 08:55:22 -!- Froo has changed nick to Frooxius. 09:04:58 -!- Patashu has joined. 09:07:03 zzo38: There's also CINT: http://root.cern.ch/drupal/content/cint 09:07:36 come undefined behaviour is less defined than other 09:07:40 *some 09:08:45 *(int*)NULL = 2 is pretty much defined as "segfault immediately" for example 09:10:50 (and sometimes that is what you WANT) 09:10:55 Well, on computers that have segfaults anyways 09:11:08 Some computers don't have segfaults 09:11:21 right. i guess on NES there is no invalid address 09:11:26 that doesn't necessarily segfault in kernel code 09:11:44 I'm not sure it even does in userspace (like, did windows 3.11 map the zero page that way?) 09:11:52 *"always" does 09:12:37 hmmm.... i dunno. i've only ever used C on winNT+ and linux. 09:13:09 :) I like ice cream 09:13:22 There have been all sorts of ways to map the bottom few pages on Linux, even with a positive mmap_min_addr. 09:13:29 NES is using 6502, so if NULL is defined as zero then that points to the zero page, which happens to be RAM. Some addresses are meaningless, but that doesn't make them invalid (it just won't do anything if you write to there). 09:13:51 E.g. I've heard of making an ELF file that fills up most of the rest of address space so the VDSO goes in the zero page. 09:14:13 the zero page contains the stack on 6502 doesn;t it? 09:14:47 No; the stack is at $0100-$01FF 09:14:52 The zero page is at $0000-$00FF 09:15:32 oh right. i vaguely remeber reading about this 09:15:34 They may be mapped to the same RAM (such as on Atari), but on Nintendo they are separate parts of the RAM. 09:18:01 shachaf: dang... i have been doing it wrong then. i thought writing to a null pointer would be a reliable way to get a core dump of the current program state. 09:18:21 It's undefined behavior. 09:18:31 So it's not reliable anything. 09:18:34 but how undefined is it? 09:18:47 Fully. 09:19:07 Why not asm("int3"); or something? 09:19:14 (Does SIGTRAP dump core?) 09:19:29 (Maybe I'm mixing it up with something else.) 09:19:37 shachaf: Well, asm("int3"); is only define for the specific computer too 09:19:47 Yes, but it's reliable. 09:20:11 Writing to NULL is probably also reliable, but who knows. The compiler could optimize it away or what not. 09:20:16 Yes I suppose it is, but then you should use #ifdef 09:20:45 I don't know what you should use. 09:21:34 kill(getpid(), SIGSEGV); 09:21:43 meh, i guess for debugging a computer-specific thing is ok 09:21:44 obviously 09:22:56 does abort() core dump 09:23:35 Oh. Probably. 09:24:09 oh that would apparently work! 09:25:22 kind of the point of the call, I think :p 09:25:45 i thought the point was that atexit isn't called? 09:26:04 DESCRIPTION The abort() function causes abnormal program termination to occur, unless the signal SIGABRT is being caught and the signal handler does not return. 09:26:07 Any open streams are flushed and closed. 09:26:16 That's the point of _exit 09:26:24 http://pubs.opengroup.org/onlinepubs/9699919799/functions/abort.html 09:29:19 I have did something make a program to segfault in order to break into the debugger, without having to define the breakpoint every time. But, what might help better is to have a #breakpoint command that causes the debugger to predefine a breakpoint on that line; in such a case the breakpoint is ignored if not in a debugger. 09:30:03 (And, it isn't compiled in either, except in the debug info block.) 09:34:37 -!- Frooxius has quit (Quit: *bubbles away*). 10:00:01 i am making a test script for scrip7 interpreter, in order to start stabilizing the spec 10:01:44 -!- Deewiant has quit (Quit: Viivan loppu.). 10:03:35 -!- Deewiant has joined. 10:04:07 -!- Deewiant has quit (Client Quit). 10:04:14 -!- Deewiant has joined. 11:11:12 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41466&oldid=41434 * Orenwatson * (+10) fraction literals 11:25:25 http://xkcd.com/297/ "these are your father's curly brackets and semicolons. inelegant weapons... for a brutalistic, uncaring universe." 11:27:44 I really need to start nailing down some documentation for Heresy. 11:42:22 documentation? ha! i'm only just starting to write unit tests! 11:42:47 it'll be a long way until i have detailed documentation. 12:01:41 -!- Patashu has quit (Ping timeout: 245 seconds). 12:04:10 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41467&oldid=41466 * Orenwatson * (+49) brackets and curly brackets. 12:09:41 oren: My previous projects have largely been documentation-driven; ie. writing the spec and even full docs and then implementing, altering where needed. But Heresy didn't really go that way. 12:10:36 ah i see... i tend to write code first and think later 12:11:08 i end up with abominations often though 12:11:24 -!- SopaXT has quit (Ping timeout: 250 seconds). 12:12:07 abominations which work, but i can't tell why the next day 12:15:31 or sometimes they only work on the day i wrote them 12:21:50 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41468&oldid=41467 * Orenwatson * (-369) updated some examples, removed ones i'll update later. 12:24:49 [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41469&oldid=41468 * Orenwatson * (-2) e notation for floats is not supported. i will come up with a different notation... 12:38:14 I'll have to test if this crazy stuff works 12:41:32 [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41470&oldid=41469 * Orenwatson * (+0) fixed example 12:47:29 -!- MoALTz has joined. 13:05:00 -!- ZombieAlive has joined. 13:07:36 the best thing about transparent terminals is watching youtube videos through them 13:20:04 How does 3.4^7 sound as float exponent notation? 13:22:50 what's wrong with 3.4e7? 13:23:02 e is a variable name 13:23:18 -!- Frooxius has joined. 13:23:25 I guess 3.4^7 works, then 13:24:04 > 3.4^7 13:24:07 5252.335014399998 13:24:10 Kind-of funny, J's literals are the other way around: all symbols are reserved for separate tokens so number literals use infix letters for things instead 13:24:13 -!- cluid has joined. 13:24:30 [ 2p3 3j4 1e5 16b100 13:24:41 ] 2p3 3j4 1e5 16b100 13:25:02 I guess the bots are all dead, or I don't remember their prefixes 13:25:37 there was a big disconnection storm earlier today 13:27:10 re infix letters, hex notation uses letters, so scrip7 requires a space at the end of all hex literals 13:27:30 `echo Hi! 13:27:42 Hi! 13:27:44 hi 13:27:59 @metar LOWI 13:27:59 hi 13:27:59 LOWI 141320Z 26005KT 230V300 9999 FEW060 BKN170 BKN300 08/01 Q1018 R08/19//95 NOSIG 13:39:46 oren: 3.4⏨7 13:40:59 blah i'd rather not tie to a particular encoding, aside from insisting ascii-compatibility 13:41:20 Apparently in ALGOL 68 one could also use \ for this purpose. 13:41:33 I.e. 3.4\7 13:42:15 Just allow syntax definitions, so you can defer these exceedingly difficult decisions. 13:42:51 Jafet: e.g. the lisp solution. nahhhhh 13:45:13 ok, super unstable release 2014-12-14 9:00 is ready for release! 13:46:43 Apparently in Simula it’s 3.4&7 for single and 3.4&&7 for double. 13:48:24 done the pastbin now updated to the newest super unstable verion 13:51:41 maybe i'll switch it to github... 13:52:08 nahhhh 14:00:38 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41471&oldid=41470 * Orenwatson * (+22) float exponents, and forgot the all-important atan2 operator 14:02:17 Hmm. CoCo community is running a compo to write something in 4K Color Basic 1.0. 14:02:53 -!- Frooxius has quit (Quit: *bubbles away*). 14:19:35 -!- nys has joined. 14:24:08 so i am going to put in the undivide operator but i need a notation for it 14:24:33 \ 14:24:44 that is a yen sign 14:25:18 -!- Frooxius has joined. 14:25:55 anyway the undivide operator takes one real number as input and produces two integers which when one is dived by the other it produces that real. 14:29:13 hmm maybe y? 14:30:24 \ is taken by xor, but perhapsi can cange it to x? 14:31:17 why not use ^ for xor 14:31:20 thhats what C does 14:31:43 because ^ is exponentiation, and C is kinda stupid 14:32:53 how about \ for undivide and X for xor? 14:33:14 undivide? 14:33:19 what the hell 14:33:35 scroll up for definition. 14:34:36 oh 14:34:46 how is that any useful? 14:35:11 it could be useful if you want fractions? 14:35:16 okay 14:35:26 how about ~ 14:36:05 unfortunately ~ is taken by the equality test 14:37:04 hmmm... i think i'll just use u for undivide 14:37:07 does it have to be on a normal keyboard layout? 14:38:02 not technically, but it does have to be one byte which basically means yes 14:38:29 × for xor? :p 14:38:42 X for xor? 14:39:08 no, × 14:39:12 as in \times 14:39:28 tab-imes? 14:41:10 anyway good idea. move xor to X, put undivide on \. 14:41:45 -!- oerjan has joined. 14:43:25 and codu is down again... 14:43:45 we were discussing the undivide operator. 14:45:10 i'm just saying, tunes is still working... 14:55:37 -!- copumpkin has joined. 15:01:35 eek clog had a breakdown 15:01:58 I WILL NEVER KNOW WHAT HAPPENED. wait i could check when codu comes back up. 15:02:12 very OCP?D 15:03:50 a bit over 2 hours missing 15:13:02 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 15:25:07 -!- copumpkin has joined. 15:26:14 now xkcd has no pictures loading... 15:27:06 no http://imgs.xkcd.com/comics/documents.png ? 15:28:40 (works for me™) 15:30:43 nope it doesn't work you're clearly talking crazy hth 15:31:20 hmm. imgs.xkcd.com is an alias for cds.d6y9y4w5.hwcdn.net 15:31:35 fancy4w5 15:31:53 Highwinds Technologies, never heard of them. 15:32:14 Must be a cloud reference. 15:32:46 well the cdn part is pretty obvious 15:33:08 `unidecode 📣 15:33:12 U+1F4E3 CHEERING MEGAPHONE \ UTF-8: f0 9f 93 a3 UTF-16BE: d83ddce3 Decimal: 📣 \ 📣 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) 15:33:42 how do they know it's cheering 15:34:07 it could be chastising 15:34:18 oerjan: content denial network, in your case? 15:34:27 yep 15:36:04 ☎☏✆℡📞📱📱📲📴📵🕻🕽🕾🕿🖁 <-- I don't have a font that can display all those :-( 15:36:40 But it seems that phones are still kind of important. 15:36:46 I seem to be missing the last five. 15:37:00 I only see hte first four 15:37:39 Only the first four show up in curses-based things, because the libs don’t have width-definitions for the rest yet, looks like. 15:38:13 I'm checking in a browser, and in gucharmap (which is where this selection came from in the first place) 15:38:47 (The "CHEERING MEGAPHONE" was an accidental finding; I was looking for "phone".) 15:38:59 also missing last five 15:39:33 hehe, "namespace_protected" is a fun way to say a C library prefixes its functions with a fixed two-letter prefix. there are thousands of libraries doing that. 15:40:02 so how many collisions have you encountered? 15:40:10 not too many 15:40:24 there's remove and clog of course, 15:40:31 but those aren't prefixed 15:40:56 then there was some clash between gmp and libtommath, the latter of which should really know better than to use the same prefxi 15:41:44 are they using the "drop in replacement" excuse? 15:41:48 no 15:41:53 completely different interface 15:42:02 then, ewww. 15:42:37 But to clarify my question, I meant collisions of the two-letter prefixes. 15:42:41 then of course I've hunted down clashes from stupid coders at work, but those too are exactly because they're not namespace-protected 15:42:54 int-e: between gmp and libtommath I think it's a three-letter prefix that crashes 15:42:57 let me check exactly 15:43:06 and some functions using those prefixes are the same 15:43:13 um 15:43:15 have the same name 15:43:38 ah, the base prefix here is "mp", that *is* kind of generic. 15:43:53 I guess they parsed gmp's prefixes as hungarian coding of types/categories, rather than prefixes reserved for gmp 15:46:18 int-e: the clash is with libtomfloat actually, which uses the "mpf_" prefix, the same as the bigfloat part of gmp 15:46:37 int-e: so both have an mpf_add function 15:46:44 -!- dts|pokeball has quit (Ping timeout: 258 seconds). 15:47:03 nice. 15:47:19 b_jonas: any 'xmalloc' clashes? 15:47:58 I think I've seen that particular name for error-checking malloc wrappers several times. 15:48:45 int-e: dunno, I hope that's usually a macro for foo_xmalloc in all library foo 15:49:49 int-e: What *were* the last five chars, btw? 15:50:13 and the author certainly knew about GMP when he wrote this, he refers to it in the docs multiple timse 15:50:14 `unidecode 🕻🕽🕾🕿🖁 15:50:15 U+1F57B - No such unicode character name in database \ UTF-8: f0 9f 95 bb UTF-16BE: d83ddd7b Decimal: 🕻 \ 🕻 (🕻) \ Uppercase: U+1F57B \ Category: Cn (Other, Not Assigned) \ \ U+1F57D - No such unicode character name in database \ UTF-8: f0 9f 95 bd UTF-16BE: d83ddd7d Decimal: 🕽 \ 🕽 (🕽) \ Uppercase: U+1F57D \ Catego 15:50:33 interesting. 15:51:03 http://www.fileformat.info/info/unicode/char/1F57B/index.htm is the first one 15:51:20 -!- dts|pokeball has joined. 15:51:55 Ah, they don’t show up in my gucharmap, probably my unicode isn’t updated yet or something. 15:52:03 and of course I passionately hate libcurses for its stupid choice of global function names 15:52:32 I know it's all for a historical reasons, but still 15:52:38 Melvar: apparently they were added in June 15:52:58 int-e: Yes, Unicode 7.0 . 15:53:03 the nethack source has some crazy identifier names and macros too 15:53:15 (I'm running Debian unstable) 15:53:16 that at least was never intended as a reusable library, but still 15:54:01 “GNOME Character Map↵3.10.1↵Based on the Unicode Character Database 6.3.0” 15:54:14 Yup. 15:54:39 * Melvar is running Fedora 20 still. 15:55:09 GNOME Character Map 3.14.1 Based on the Unicode Character Database 7.0.0 15:55:20 3.14.1 is kind of nice. 16:02:23 In any particular way? 16:02:37 just a nice round number 16:03:51 Oh. 16:06:53 -!- dts|pokeball has quit (Ping timeout: 272 seconds). 16:12:12 oerjan: Base 37 survived the henkma attack.) 16:14:16 yay 16:14:48 My Collatz parity didn't, but thst's not too surprising. 16:14:53 irregular webcomic is finally starting to fit its name 16:15:13 the reruns are running late? 16:15:17 (well, the irregular part, it stopped fitting the webcomic part) 16:15:25 no, the sunday annotations 16:16:26 whats the point of writing programs short? 16:16:39 intellectual challenge 16:17:03 I guess its fun if you have a chance of winning 16:19:01 wow, 10 spaces... that's a lot of auxilliary functions? 16:19:51 err. 8. still a lot, but not frightening. 16:24:10 -!- mihow has quit (Ping timeout: 264 seconds). 16:25:26 yep, second time the annotation is late 16:25:47 http://www.irregularwebcomic.net/3360.html was the previous one 16:25:55 no wait 16:25:58 I think that one wasn't late 16:26:09 maybe first time then 16:26:14 at least we get a filler 16:33:40 this code can't work… 16:35:55 it's also stupid 16:36:06 I'll have to find some otehr code. 16:42:17 -!- GeekDude has joined. 16:56:32 -!- oerjan has quit (Quit: leaving). 16:57:58 -!- MoALTz_ has joined. 17:01:00 -!- MoALTz has quit (Ping timeout: 256 seconds). 17:20:35 -!- drdanmaku has joined. 17:24:08 -!- Phantom_Hoover has joined. 17:38:31 -!- augur has quit (Remote host closed the connection). 18:01:46 -!- glguy_ has joined. 18:01:59 -!- glguy_ has changed nick to glguy. 18:29:53 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41472&oldid=41383 * BCompton * (+84) StaPLe 19:09:10 -!- augur has joined. 19:11:30 NYTimes hides a job ad in a Javascript console message. 19:11:55 nice 19:14:18 -!- boily has joined. 19:15:00 http://imgur.com/mPmZJ04 19:15:11 so does imgur 19:17:40 is there also a message hidden in the javascript comments saying that their boss made them put that conole message but he would like to warn you against working there? 19:30:25 -!- oren has quit (Quit: Lost terminal). 19:36:48 -!- oren has joined. 19:45:35 -!- atslash has joined. 19:46:05 -!- augur has quit (Remote host closed the connection). 19:49:10 -!- dts|pokeball has joined. 19:56:25 -!- qlkzy_ has changed nick to qlkzy. 20:02:49 -!- Patashu has joined. 20:18:48 -!- dts|pokeball has quit (Read error: Connection reset by peer). 20:19:50 -!- dts|pokeball has joined. 20:25:34 -!- Patashu has quit (Ping timeout: 256 seconds). 21:16:14 -!- dts|pokeball has quit (Ping timeout: 245 seconds). 21:33:23 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 21:43:21 -!- bb010g has joined. 21:49:22 [wiki] [[Special:Log/newusers]] create * Sergio0694 * New user account 21:49:33 -!- cluid has quit (Quit: Leaving). 21:55:41 -!- augur has joined. 21:56:12 -!- augur has quit (Read error: Connection reset by peer). 21:56:47 -!- augur has joined. 22:01:26 -!- dts|pokeball has joined. 22:02:55 -!- zzo38 has quit (Remote host closed the connection). 22:12:06 -!- dts|pokeball has quit (Ping timeout: 250 seconds). 22:13:51 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41473&oldid=41471 * Orenwatson * (+119) upadted: xor is X, undivide is \, special output format is x 22:19:13 -!- dts|pokeball has joined. 22:21:21 -!- MoALTz_ has quit (Quit: Leaving). 22:38:27 -!- Sprocklem has joined. 22:39:25 -!- GeekDude has changed nick to GeekAfk. 22:39:45 -!- oerjan has joined. 22:45:03 -!- glguy has quit (Quit: Part). 22:59:01 -!- boily has quit (Quit: ORTHONORMAL CHICKEN). 23:01:20 "Although Diet Coke and Cyanide have similar properties, ..." 23:11:03 I prefer Real Coke 23:11:16 with actual sugar 23:11:37 i prefer cola that's not from coca cola 23:11:59 well among all soft drinks my favorite is Brio. 23:12:15 yesss 23:12:15 never heard of that 23:12:34 brio's a canadian brand of chinotto 23:12:45 it is a Chinotto-flavored, caffienated soft drink which is awsome 23:12:52 well ... okay 23:14:26 chinotto is like sour, bitter and sweet all in one 23:14:52 i never seen that at al 23:14:59 i will have an ooen eye 23:15:16 open 23:15:31 -!- copumpkin has joined. 23:18:47 -!- oren has changed nick to |oren\. 23:20:11 -!- tromp has quit (Read error: Connection reset by peer). 23:20:45 -!- tromp has joined. 23:25:19 -!- glguy has joined. 23:26:34 -!- vanila has joined. 23:26:38 can i run underload ? 23:26:54 -!- dts|pokeball has quit (Quit: Leaving). 23:27:00 in the channel? 23:27:01 ^ul (sure)S 23:27:07 it has some harsh limits though 23:27:11 oh, fungot isn't here... 23:27:13 -!- dts|pokeball has joined. 23:27:16 `! underload (test)S 23:27:18 test 23:27:42 Oh, right. 23:27:50 thanks 23:27:52 We had that thing where the electricity stops for a while. 23:28:04 : dup 23:28:09 S pop 23:28:09 flatlining? 23:28:21 vanila: ! is pop, S is print 23:28:27 ^ul :(S:S) 23:28:44 <|oren\> a blackout? 23:28:48 `! underload :(S:S) 23:28:49 Error: Stack underflow in : 23:28:51 that crashes because of trying to duplicate the top of the empty stack 23:28:53 :( 23:28:56 `! underload (S:S): 23:28:57 No output. 23:28:57 if it didn't crash it'd then push S:S 23:29:05 i have done it wrong :( 23:29:10 that program results in the stack [S:S , S:S] 23:29:16 i dont know underload 23:29:20 `! underload ((hello)S)^ 23:29:20 hello 23:29:29 `! underload (S):^ 23:29:30 S 23:29:34 ^ = eval 23:29:37 OK! 23:29:53 -!- fungot has joined. 23:30:19 <|oren\> ooh fungot is back, and supreme as ever. 23:30:20 |oren\: anton, i'm objecting to being unable to do that, and then 23:31:26 A blackout was what I was looking for, or at least that's the hypothesis. 23:31:57 * elliott pets fungot 23:31:58 elliott: 08:32 sjamaan that's very cool. ( definitely a recent release. let me rewrite the last couple of days ago 23:31:58 poor thing 23:32:26 i dont understand underload 23:33:03 I get it 23:33:45 it's like forth with eval 23:34:06 <|oren\> and mostly one symbol per action 23:35:35 vanila: here's a good underload program to try andu nderstand 23:35:41 ^ul (:aSS):aSS 23:35:42 (:aSS):aSS 23:36:42 you can use http://esoteric.voxelperfect.net/files/underload/underload.html to single-step through it 23:43:51 :aSS<> 23:43:53 what is <> 23:44:08 oh 23:44:12 stack is a stack of lists 23:44:17 not a stack of things 23:44:44 vanila: it's just the separator 23:44:54 the stack foo<>bar<>baz<> is ["foo","bar","baz"] 23:44:57 where foo is on top 23:45:05 so (foo) prepends foo<> basically 23:45:22 (foo)(bar): -> foo<> then bar<>foo<> then bar<>bar<>foo<> 23:45:51 there's also an elegant way to think of underload in terms of term rewriting that makes the stack implicit 23:46:10 :D 23:46:11 thanks 23:49:45 ^ul (:::aSS):::aSS 23:49:46 (:::aSS):::aSS 23:51:28 ^ul (:::aS:S):::aS:S 23:51:28 (:::aS:S):::aS:S 23:52:47 a new kind of quining 23:55:19 hahah how did you know! 23:55:36 know what? 23:55:48 that in generating them with a program 23:56:28 * oerjan is confused 23:57:43 > let x x=x++show x in x"let x x=x++show x in x" 23:57:44 "let x x=x++show x in x\"let x x=x++show x in x\"" 23:58:10 > let x x=text$x++show x in x"let x x=text$x++show x in x" 23:58:11 let x x=text$x++show x in x"let x x=text$x++show x in x" 23:58:25 > let x x=text$x++show x in x"> let x x=text$x++show x in x" 23:58:26 > let x x=text$x++show x in x"> let x x=text$x++show x in x" 23:59:58 :t (?) 23:59:59 Not in scope: ‘?’