00:00:00 * Taneb goodnight 00:00:12 -!- Froox has changed nick to Frooxius. 00:00:30 * boily waves the goodnight dance at Taneb 00:27:36 -!- ais523 has quit (Read error: Connection reset by peer). 00:27:44 -!- ais523 has joined. 00:39:42 -!- callforjudgement has joined. 00:39:44 -!- ais523 has quit (Read error: Connection reset by peer). 00:40:29 -!- callforjudgement has changed nick to ais523. 00:59:05 -!- damio has joined. 00:59:23 -!- boily has quit (Quit: UNCOMPRESSED CHICKEN). 01:09:39 -!- elliott has joined. 01:27:26 -!- callforjudgement has joined. 01:29:55 callforjudgement: is weboflies still a thing? 01:30:07 elliott: the code still exists; I haven't worked on it for ages 01:30:35 also, it's 32-bit and doesn't compile as 64-bit because it's so level, which isn't necessarily lethal but does make it rather harder to work on 01:30:42 -!- ais523 has quit (Ping timeout: 245 seconds). 01:30:50 -!- callforjudgement has changed nick to ais523. 01:30:56 * elliott nods 01:30:58 "so level" :) 01:31:05 so low-level 01:31:24 I lost my copy of the code on an old hard drive (and it was probably an old version anyway) and could probably use learning some things from it now, would you mind giving me it again? 01:31:49 just trying to figure out which of these files are it and which are other things, I need a src/ folder 01:31:56 -!- damio has left. 01:34:11 hmm, one of the files here has uncertain copyright information 01:34:45 it's the return values of the KDGKBENT ioctl for all possible arguments, determined experimentally 01:35:50 sounds uncopyrightable 01:36:02 I'm not sure if it's coming from some keyboard driver, for instance 01:36:05 I'm busy looking up what it does to find out 01:36:06 but gpl at worst, I suppose? 01:36:18 at least, the reason I had to determine it experimentally was that I couldn't see any pattern 01:36:25 and it was needed for programs to run 01:37:13 the problem with ioctls is that they're almost undocumented 01:37:17 you just get one line of info on each 01:37:24 let me check the kernel source, see if that helps 01:38:45 bleh, this always takes so long to decompress 01:40:29 keep a git checkout? :) 01:40:41 considering it 01:40:44 it sort of sounds like the kind of file that'd be very easy to generate... 01:40:51 although it's nice to always have the source to your own kernel, exactly 01:41:23 looks like fun. http://lxr.free-electrons.com/source/drivers/tty/vt/keyboard.c#L1783 01:41:51 ooh, I think I've found basically the same info in the Linux kernel 01:42:02 drivers/tty/vt/defkeymap.c_shipped 01:42:30 however, it's in a different format 01:42:53 tell you what, I'll ship you weboflies without ktt.c, and you can work out how to generate it yourself if you need it 01:43:24 the file can definitely be generated, that's how I got it in the first plcae 01:43:29 actually, I should just ship you the generator, if I still have it 01:43:55 "aimake.config" 01:44:01 wow, that's… an old version of aimake 01:45:02 I seem to have part of it, but the rest was probably hand-edited in Emacs 01:45:42 elliott: anyway, nethack4.org/pastebin/weboflies.c 01:45:49 let me know when you have it 01:46:12 pah, no https :) got it 01:46:21 erm, no I haven't 01:46:22 it's a 404 01:46:25 err, .tgz 01:46:34 thanks 01:47:45 ais523: nice tarbomb, btw 01:47:51 err, sorry 01:48:04 you can't expect me to package it properly when I'm busy trying to figure out which files are which in a hurry 01:48:25 really, whether a tar bombs or not should be a recipient-end setting rather than a sender-end setting, but it isn't, so sorry for setting it wrong 01:48:42 yeah, I'm not actually mad 01:49:17 when I sent violin to alt.lang.intercal, I went to a bunch of effort making sure that I didn't accidentally do anything wrong in the shar 01:49:26 because apparently, screwing up a shar even slightly gets you flamed 01:49:35 (this may not be true nowadays, but it was back when shar was written, apparently) 01:50:55 violin? 01:51:52 it's a program for working out the effect of assignment statements in INTERCAL 01:51:58 @google violin intercal 01:51:59 http://www.theviolinsite.com/music_dictionary/interval.html 01:51:59 Title: Interval - Music Dictionary 01:52:00 this is incredibly nontrivial, and all known INTERCAL interps get it wrong 01:52:09 anyway, see my recent post to alt.lang.intercal 01:52:18 err, in the presence of operand overloading 01:52:19 correcting "c" to "v" is so helpful! *admires google* 01:52:19 without, it's easy 01:52:46 @google violin "intercal" 01:52:47 https://groups.google.com/d/forum/alt.lang.intercal 01:52:52 anyway, I /finally/ managed to do addition in INTERCAL without any sort of loop, where the length of the program is O(1) on the number of bits 01:53:14 ais523: congrats 01:53:18 and without using the standard library, and without an FFI 01:53:29 hmm, I guess a 32-bit chroot is the easiest way to compile it 01:53:31 the program doesn't actually /run/ yet because I haven't linked up C-INTERCAL to violin yet 01:53:57 also, this is the first time I have ever written a single assignment statement that takes four minutes to run 01:54:25 DO :1 <- '"?.1$.2"~"#0$#65535"'$'"&.1$.2"~"#0$#65535"' is the statement 01:54:42 I bet weboflies would be a bit easier with the additional container features that've been added since 01:54:43 but it's only so slow because I previously redefined :1: DO :2 <- :1/"'"'#65535$#65535'~'"'?"'"'V"'&.4$.2'~'#0$#65535'"$.9'~'#0$#65535'"$#0'~'#32767$#1'"$.2'~'#0$#65535'"$#65535'"$.4'~'#0$#65535'"$.9 01:54:54 elliott: it uses most of the container features that existed at the time 01:55:15 yeah. there are some more now though 01:55:34 elliott: also, there's some debug code that makes my own homedir visible inside the container; you will probably have to remove it or at least change the username 01:55:42 heh 01:55:47 ais523: presumably once you integrate it with C-INTERCAL, if you try to do a reverse assignment which is impossible, you'll get an error like BROKEN INSTRUMENT 01:55:50 I mainly want to learn things from it, but executing it would be convenient too 01:56:05 coppro: the current error message is THE LAWS OF MATHEMATICS DO NOT DISTORT THAT FAR or something like that 01:56:07 it's a little sad how you need root 01:56:07 but changing it might work 01:56:16 for a program designed to do complete isolation 01:56:20 ais523: that's a good one too 01:56:28 ais523: but you should definitely refer to the name "violin" in at least one error 01:56:38 yes, I get disappointed when people change error messages in INTERCAL, just because the new one is good 01:56:42 but the old one is often good too 01:56:50 e.g. PROGRAM HAS DISAPPEARED INTO THE BLACK LAGOON is great 01:56:59 yeah, that is one of the more fantastic ones 01:57:06 wait, no, that one wasn't a replacement 01:57:23 nope 01:57:25 I was thinking of THE NEXT STACK RUPTURES. ALL DIE! OH, THE EMBARRASSMENT 01:57:33 which replaced PROGRAM ATTEMPTED TO EXIT WITHOUT ERROR MESSAGE 01:58:43 (BLACK LAGOON is a NEXT stack overflow, RUPTURES is a NEXT stack underflow, you can't really blame me for getting them muddled) 01:59:50 I love ERROR HANDLER PRINTED SOME SNIDE REMARK 02:00:05 coppro: right; there's actually WARNING HANDLER PRINTED SNIDE REMARK too 02:00:28 ERROR TYPE 621 ENCOUNTERED is fun too 02:00:41 I documented it as "The compiler encountered error E621 (*note E621::)." 02:01:00 although I also explained what situations cause it, after that, so as to not be completely recursively useless 02:01:21 fwiw, my favourite out of the messages I personally wrote is YOU HAVE TOO MUCH ROPE TO HANG YOURSELF 02:03:00 haha 02:05:01 INTERCAL error messaging is an art, and I don't always succeed, it's pretty hard 02:05:23 program attempted to exit without error message <-- good 02:06:01 and it isn't used anywhere right now 02:06:18 it'd be a decent replacement for PROGRAM FELL OFF THE END, actually 02:06:27 but you have the usual problems with stdlib there 02:11:36 -!- Tobor has joined. 02:12:06 hmm… if you run off the end of an asm program, do you run into the start of libc? 02:12:17 if you did, I'd imagine it would put up a big PLEASE KNOCK BEFORE ENTERING sign too 02:13:37 do any static linkers actually do that, i wonder 02:14:19 ais523: THIS SOFTWARE DOES NOT SUPPORT BACK DOORS 02:14:42 coppro: well part of the problem is, it has to start with "DO" or "PLEASE" 02:16:38 ais523: that was an error 02:16:50 ais523: incidentally, could you achieve something like weboflies by just running linux in bochs or something? 02:16:56 and patching out stuff like timers to be deterministic 02:17:39 elliott: yes; actually, weboflies was originally a project to build something like /that/ 02:17:45 via other means 02:17:57 because I thought it'd be easier to get everything deterministic that way 02:18:27 I'm not sure you were correct :) 02:18:37 as in 02:18:41 I'm not sure weboflies is easier than patching bochs 02:18:43 -!- Tobor has left. 02:19:14 it's a little unnerving that it's so hard to provide completely reproducible computations... 02:20:36 I may well have been wrong 02:27:39 why are dolook and do_look different functions 02:27:47 I really need to get clang refactoring set up 02:28:17 coppro: in what? weboflies? if not, this is probably the wrong channel 02:28:38 if NetHack 4, though, the answer is "the devteam are bad at naming things, and possibly didn't even realise there was a near-clash" 02:32:11 ais523: btw, does weboflies have, like, a license? 02:32:18 not yet 02:32:23 it's default-all-rights-reserved 02:32:47 if you want to use some of the code in something else directly, or even to finish it and make it work, we could try to agree a license 02:33:05 ais523: err, that was meant to be in #nethack4 02:33:40 * elliott nods. I'm mostly interested in seeing how certain things are done rather than lifting any code, I was mainly asking in terms of redistribution in case I wanted to talk about what it's doing with people I know 02:34:05 wow, I forgot it does graphics 02:34:09 well it was meant to be secret 02:34:23 elliott: I actually got Battle for Wesnoth to load in it 02:34:29 but never managed to actually provide input past that point 02:34:42 then decided I should probably be working on getting X working inside rather than SDL's framebuffer support 02:34:44 that's about where I stopped 02:37:12 -!- callforjudgement has joined. 02:37:17 -!- ais523 has quit (Read error: Connection reset by peer). 02:37:28 -!- callforjudgement has changed nick to ais523. 02:39:40 ais523: hmm, I wonder how badly getrandom(2) breaks weboflies 02:40:16 I'd make it return a constant 02:40:20 or step through a lookup table in order 02:40:22 or something 02:40:36 I remember installing /dev/zero as /dev/null… 02:41:32 ais523: Maybe just it use a weboflies PRNG. 02:41:42 pikhq: that would be the eventual solution 02:41:45 Google is useless for weboflies 02:41:52 Well no shit. 02:41:58 although, getrandom and /dev/random are both intended for gathering seed entropy 02:41:59 ais523's brain is what we got. 02:42:08 so returning zero constantly would probably have the intended result 02:42:10 Oh 02:42:26 Sgeo: weboflies used to be called The Secret Project 02:42:31 until #esoteric managed to coax its name out of me 02:43:03 getrandom can also be used for /dev/urandom access. 02:43:22 What... is it, if I may ask? Something to make things deterministic? 02:43:40 Yes. It's intended as a TAS tool for Linux binaries. 02:44:09 Making it *really dang awesome*, if a bit frightening. 02:44:33 TAS as in tool-assisted speedrun? 02:44:36 Yes. 02:44:50 o.O 02:49:57 emacs speedrun (4m21s) 03:13:45 Funness I realized is possible just now: 03:14:11 ( :let data X = X.X 03:14:11 defined 03:14:14 > :t X 03:14:15 :1:1: parse error on input ‘:’ 03:14:19 ( :t X 03:14:19 X : Type 03:14:19 X.X : X 03:15:17 (It miscolors too for some reason.) 03:52:24 What's X.X? 03:52:41 Oh, just a constructor name 03:59:15 I love how the table listing Scala annotations and Java equivalent has scala.reflect.BeanProperty's equivalent as being... Design Pattern 04:04:30 Scala unapply is basically pattern synonyms, right? 04:25:38 -!- upgrayeddd has left. 04:53:02 -!- ais523 has quit (Read error: Connection reset by peer). 04:53:08 -!- callforjudgement has joined. 04:53:13 -!- callforjudgement has changed nick to ais523. 04:53:54 -!- oerjan has quit (Quit: ZZZ). 05:00:55 -!- MDude has changed nick to MDream. 05:07:27 Apple's anti-jailbreak propaganda states that "Additionally, third-party apps that use the Apple Push Notification Service have had difficulty receiving notifications or received notifications that were intended for a different hacked device. " 05:07:49 If notificat... oh, for a different -hacked- device. Was going to note that that kind of implies security is really bad 05:10:37 https://discussions.apple.com/message/18740587 05:10:38 o.O 05:19:14 Does Apple rely on manual review for security things that a normal OS would provide? e.g. restricting direct access to hardware? 05:20:09 I doubt it, they may have some sort of review script 05:22:32 I meant in terms of, using a review process instead of, say, rings at the OS level 05:22:53 So that the device assumes that all code is fully trustworthy, and bad apps are blocked at the store level 05:23:11 Which would make jailbreaking and using arbitrary apps more dangerous than using Android 05:23:40 Reason I think of this is jailbreak 05:23:41 oops 05:23:48 http://www.computerworld.com/article/2491294/malware-vulnerabilities/the-pangu-jailbreak-for-ios-could-turn-into-a-sinister-attack.html 05:24:00 "Apple thoroughly reviews applications in the App Store to make sure APIs that open up access to functions like a phone's microphone or camera aren't available. But those with special certificates can allow their applications to do anything." 05:24:18 Could be inaccurate statement or me misinterpreting it 05:24:45 But it makes it sound like the APIs are only restricted by the review process, not OS level functionality 05:33:31 -!- callforjudgement has joined. 05:33:58 -!- ais523 has quit (Read error: Connection reset by peer). 05:34:15 -!- callforjudgement has changed nick to ais523. 05:41:48 -!- callforjudgement has joined. 05:44:20 -!- ais523 has quit (Ping timeout: 244 seconds). 05:45:21 -!- callforjudgement has changed nick to ais523. 06:00:37 -!- callforjudgement has joined. 06:00:55 -!- ais523 has quit (Read error: Connection reset by peer). 06:00:57 -!- callforjudgement has changed nick to ais523. 06:03:53 -!- ais523 has quit (Client Quit). 06:04:10 -!- ais523 has joined. 06:06:41 Sgeo: iOS has pretty heavy sandboxing and security 06:06:57 there's some official pdfs about it you can find 06:07:06 (of course they will always paint the rosiest picture they can) 06:07:13 (but it's definitely not "everything runs in ring 0") 06:07:33 Hmm, ok 06:09:31 ps why are you trusting computerworld.com on technical operating system details 06:09:38 like, really. 06:20:02 -!- ais523 has quit (Read error: Connection reset by peer). 06:20:10 -!- ais523 has joined. 06:22:45 Does Cydia have separate sections for sandboxed and non-sandboxed apps? 06:42:47 -!- MoALTz has quit (Ping timeout: 272 seconds). 06:47:35 -!- sebbu has quit (*.net *.split). 06:47:36 -!- Sgeo has quit (*.net *.split). 06:47:36 -!- mroman has quit (*.net *.split). 06:47:36 -!- shachaf has quit (*.net *.split). 06:47:37 -!- yiyus has quit (*.net *.split). 06:47:37 -!- FireFly has quit (*.net *.split). 06:47:37 -!- Melvar has quit (*.net *.split). 06:47:38 -!- visy_ has quit (*.net *.split). 06:47:38 -!- myndzi has quit (*.net *.split). 06:47:38 -!- mtve has quit (*.net *.split). 06:47:38 -!- brandons1 has quit (*.net *.split). 06:47:38 -!- erdic has quit (*.net *.split). 06:47:39 -!- J_Arcane has quit (*.net *.split). 06:47:39 -!- nisstyre has quit (*.net *.split). 07:00:28 -!- brandons1 has joined. 07:00:28 -!- erdic has joined. 07:00:28 -!- J_Arcane has joined. 07:00:28 -!- nisstyre has joined. 07:00:28 -!- Melvar has joined. 07:00:28 -!- visy_ has joined. 07:00:28 -!- myndzi has joined. 07:00:28 -!- mtve has joined. 07:03:53 -!- Patashu has quit (Ping timeout: 258 seconds). 07:10:40 -!- sebbu has joined. 07:10:40 -!- Sgeo has joined. 07:10:40 -!- mroman has joined. 07:10:40 -!- shachaf has joined. 07:10:40 -!- yiyus has joined. 07:10:40 -!- FireFly has joined. 07:17:53 -!- nisstyre has quit (Max SendQ exceeded). 07:20:23 -!- nisstyre has joined. 07:25:14 -!- ais523 has quit (Ping timeout: 245 seconds). 07:28:58 -!- sebbu has quit (*.net *.split). 07:28:58 -!- Sgeo has quit (*.net *.split). 07:28:59 -!- mroman has quit (*.net *.split). 07:28:59 -!- shachaf has quit (*.net *.split). 07:28:59 -!- yiyus has quit (*.net *.split). 07:28:59 -!- FireFly has quit (*.net *.split). 07:29:00 -!- Melvar has quit (*.net *.split). 07:29:00 -!- visy_ has quit (*.net *.split). 07:29:01 -!- myndzi has quit (*.net *.split). 07:29:01 -!- mtve has quit (*.net *.split). 07:29:01 -!- brandons1 has quit (*.net *.split). 07:29:01 -!- erdic has quit (*.net *.split). 07:29:02 -!- J_Arcane has quit (*.net *.split). 07:32:24 -!- J_Arcane has joined. 07:32:24 -!- erdic has joined. 07:32:24 -!- brandons1 has joined. 07:32:24 -!- sebbu has joined. 07:32:24 -!- Sgeo has joined. 07:32:24 -!- mroman has joined. 07:32:24 -!- shachaf has joined. 07:32:24 -!- yiyus has joined. 07:32:24 -!- FireFly has joined. 07:34:13 -!- callforjudgement has joined. 07:36:45 -!- brandons1 has quit (*.net *.split). 07:36:45 -!- erdic has quit (*.net *.split). 07:36:46 -!- J_Arcane has quit (*.net *.split). 07:37:31 -!- Melvar has joined. 07:37:31 -!- visy_ has joined. 07:37:31 -!- myndzi has joined. 07:37:31 -!- mtve has joined. 07:39:39 -!- brandons1 has joined. 07:40:05 -!- erdic has joined. 07:40:05 -!- J_Arcane has joined. 07:54:43 callforjudgement: weboflies' syscall code is so horrific 07:55:03 elliott: weboflies is almost entirely syscall code 07:55:13 (this isn't meant to contradict /or/ support what you're saying) 07:55:50 incidentally, the whole thing where I wind back the IP a fixed number of bytes, the Linux ABI for 86 actually specifically guarantees that that will work no matter what the syscall implementation used 07:55:54 * x86 07:57:07 yikes 07:57:25 I should probably read KDGKBENT's source to find out what the arguments and return even are 07:59:33 What is weboflies? 08:21:17 callforjudgement: heh, does ioctl_test have to be ran on an actual VT? 08:21:27 I guess I need qemu 08:21:34 elliott: control-alt-f1? 08:26:10 callforjudgement: well, it's a VM 08:26:16 I suppose I can log into the VM's console 08:26:41 elliott: oh, the problem is that the VM doesn't allow you to send control-alt-F1? 08:26:52 no, just that I access it through ssh 08:26:54 so it's more work :p 08:26:59 (normally) 08:31:55 I seem to have missed what was going on, but it sounds hacky. 08:32:01 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:35:07 hm? 08:36:58 -!- scarf has joined. 08:37:16 As in, are you building something in particular, or just playing around? 08:38:59 -!- scarf has changed nick to ais523. 08:39:15 fizzie: he asked for weboflies source for some unknown reason 08:39:21 and is now presumably trying to get it to work 08:39:22 -!- callforjudgement has quit (Ping timeout: 265 seconds). 08:39:55 Unknown but nefarious reason. 08:43:34 I've just had reproducible/deterministic stuff on the mind lately. 08:43:38 it reminded me of weboflies. 08:43:43 and I felt like reading it again. 08:46:57 hmm, is there any way to attach an actual tty to a weboflies program? so you don't have to send everything keys entirely from the debug menu 08:47:09 (but time is frozen between keypresess, while it's waiting, or such) 08:47:14 if not, maybe I'll try and patch it in (badly) 08:47:33 elliott: I was planning for that to be a wrapper around weboflies, eventually 08:48:49 right 08:51:54 Can't seem to mentally parse that as web-of-lies instead of web-o'-flies. 08:52:13 we-bo'-flies? 08:52:35 Fruit flies and webo flies. 08:52:46 Oh look Scala's fixity rules are simpler than Haskells 08:55:03 fizzie: nobody can 09:33:50 -!- impomatic_ has joined. 09:45:33 Scala for syntax doesn't assume >>= 09:53:24 -!- Frooxius has quit (*.net *.split). 09:53:24 -!- heroux has quit (*.net *.split). 09:53:24 -!- applybot has quit (*.net *.split). 09:53:24 -!- olsner has quit (*.net *.split). 09:53:25 -!- heroux_ has changed nick to heroux. 09:53:39 -!- heroux has changed nick to 14WAADDIM. 09:53:50 -!- Frooxius has joined. 09:53:50 -!- heroux has joined. 09:53:50 -!- applybot has joined. 09:53:50 -!- olsner has joined. 09:55:22 -!- erdic has quit (*.net *.split). 09:55:23 -!- J_Arcane has quit (*.net *.split). 09:56:07 -!- erdic has joined. 09:56:07 -!- J_Arcane has joined. 09:58:15 -!- newsham has quit (*.net *.split). 09:58:15 -!- Bike has quit (*.net *.split). 09:58:15 -!- viznut_ has quit (*.net *.split). 09:58:16 -!- KingOfKarlsruhe has quit (*.net *.split). 09:58:16 -!- TodPunk has quit (*.net *.split). 09:58:16 -!- coppro has quit (*.net *.split). 09:58:17 -!- aloril has quit (*.net *.split). 09:58:17 -!- tromp has quit (*.net *.split). 09:58:17 -!- nortti has quit (*.net *.split). 09:58:17 -!- quintopia has quit (*.net *.split). 09:59:00 -!- newsham has joined. 09:59:00 -!- Bike has joined. 09:59:00 -!- viznut_ has joined. 09:59:00 -!- KingOfKarlsruhe has joined. 09:59:00 -!- TodPunk has joined. 09:59:00 -!- coppro has joined. 09:59:00 -!- aloril has joined. 09:59:00 -!- tromp has joined. 09:59:00 -!- nortti has joined. 09:59:00 -!- quintopia has joined. 10:03:22 -!- callforjudgement has joined. 10:04:03 -!- ais523 has quit (Read error: Connection reset by peer). 10:04:18 -!- callforjudgement has changed nick to ais523. 10:17:21 -!- boily has joined. 11:00:20 [wiki] [[Brainfuck]] http://esolangs.org/w/index.php?diff=40661&oldid=40659 * Rdebath * (-131) Undo revision 40659 not very notable yet (no firsts), by [[Special:Contributions/204.154.122.227|204.154.122.227]] ([[User talk:204.154.122.227|talk]]) 11:03:49 -!- impomatic_ has quit (Ping timeout: 265 seconds). 11:04:25 -!- boily has quit (Quit: WHETTING CHICKEN). 11:28:59 -!- callforjudgement has joined. 11:29:02 -!- ais523 has quit (Read error: Connection reset by peer). 11:36:37 -!- callforjudgement has changed nick to ais523. 11:46:54 -!- InputUsername has joined. 11:48:54 -!- InputUsername has quit (Client Quit). 11:51:17 -!- InputUsername has joined. 11:51:59 -!- InputUsername has left. 11:53:04 -!- ais523 has quit (Read error: Connection reset by peer). 11:53:15 -!- ais523 has joined. 11:55:03 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 11:55:41 -!- scounder has joined. 12:02:10 -!- ais523 has quit. 12:02:23 -!- ais523 has joined. 12:17:42 -!- impomatic_ has joined. 12:20:21 -!- callforjudgement has joined. 12:20:35 [wiki] [[Special:Log/newusers]] create * TomPN * New user account 12:21:38 [wiki] [[Musical notes]] N http://esolangs.org/w/index.php?oldid=40662 * TomPN * (+4016) Musical notes is an esoteric programming language invented by Tom Price-Nicholson in 2014. 12:23:02 -!- ais523 has quit (Ping timeout: 250 seconds). 12:23:26 [wiki] [[Main Page]] http://esolangs.org/w/index.php?diff=40663&oldid=39452 * TomPN * (+58) 12:26:07 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=40664&oldid=40642 * TomPN * (+20) 12:26:45 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40665&oldid=40662 * TomPN * (-2) 12:27:44 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40666&oldid=40665 * TomPN * (-11) /* Syntax */ 12:27:56 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40667&oldid=40666 * TomPN * (-1) /* = Notes */ 12:29:00 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40668&oldid=40667 * TomPN * (+16) /* Line functions */ 12:34:41 Er. 12:34:58 Editing the Main Page like that seems rather unconventional. 12:36:39 ...especially for a brainfuck derivative... 12:36:56 [wiki] [[Musical-X]] http://esolangs.org/w/index.php?diff=40669&oldid=35550 * TomPN * (+67) 12:37:35 [wiki] [[Main Page]] http://esolangs.org/w/index.php?diff=40670&oldid=40663 * Ais523 * (-58) Undo revision 40663 by [[Special:Contributions/TomPN|TomPN]] ([[User talk:TomPN|talk]]): I don't think putting new esolangs on the Main Page like that is a good way to go about things 12:38:04 [wiki] [[Choon]] http://esolangs.org/w/index.php?diff=40671&oldid=13383 * TomPN * (+60) 12:38:06 we could sensibly put a link to newpages on the main page, but recentchanges is probably better for the purpose given the nature of Esolang 12:38:36 also, wow is that page underlinked 12:38:55 I want to put {{wikify}} on it but that template doesn't exist on Esolang (and doesn't exist on Wikipedia either nowadays) 12:39:11 [wiki] [[Velato]] http://esolangs.org/w/index.php?diff=40672&oldid=33629 * TomPN * (+65) 12:39:27 I'll let oerjan shout at the author, oerjan's good at shouting 12:40:04 [wiki] [[Timesig]] http://esolangs.org/w/index.php?diff=40673&oldid=16288 * TomPN * (+65) 12:40:16 I'm somewhat dubious about putting extra "see also" sections to each and every music-themed language, but at least it's not Main Page. 12:40:28 [wiki] [[User:Rdebath]] http://esolangs.org/w/index.php?diff=40674&oldid=40586 * Rdebath * (+1441) /* Performance Matrix */ 12:40:39 I think adding links to and from Velato, etc., is reasonable 12:40:47 adding them only one way is pretty like self-promotion, though 12:41:13 [wiki] [[Bitoven]] http://esolangs.org/w/index.php?diff=40675&oldid=40516 * TomPN * (+59) 12:41:23 Category:Musical or something could exist, along the other "source format" ones. 12:41:28 I hadn't realized there's this many. 12:42:09 [wiki] [[User talk:TomPN]] N http://esolangs.org/w/index.php?oldid=40676 * Ais523 * (+495) /* Musical esolangs */ new section 12:42:16 and indeed, yes 12:42:23 this is starting to look like a good category option 12:44:17 [wiki] [[Esolang talk:Categorization]] http://esolangs.org/w/index.php?diff=40677&oldid=39198 * Ais523 * (+573) /* Musical esolangs */ new section 12:45:15 [wiki] [[User talk:TomPN]] http://esolangs.org/w/index.php?diff=40678&oldid=40676 * Ais523 * (+383) actually, probably this should be a category 12:45:31 "This design feature [of allowing the Chunnel to be flooded on demand] did not override the concerns of both nations' military leaders, and other concerns about hordes of undesirable tourists who would disrupt English habits of living." 12:45:43 at least Esolang still has the Orange Bar Of Doom 12:45:48 I guess drowning would have been a little too harsh even for tourists. 12:46:02 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40679&oldid=40668 * TomPN * (+115) 12:48:05 [wiki] [[Esolang talk:Categorization]] http://esolangs.org/w/index.php?diff=40680&oldid=40677 * TomPN * (+71) 12:50:47 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40681&oldid=40679 * Ais523 * (+2) style edits, typo fixes, and make this a little less tragically underlinked; move the "please create an interpreter" request to [[Category:Unimplemented]] which mostly serves that purpose 12:50:50 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40682&oldid=40681 * TomPN * (+13) /* Staff and ledger lines */ 12:51:20 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40683&oldid=40682 * TomPN * (-12) /* Staff and ledger lines */ 12:52:19 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40684&oldid=40683 * Ais523 * (-204) /* A note from the author */ move copyright note to the talkpage, it's about the article rather than being about the language 12:52:20 [wiki] [[Talk:Musical notes]] N http://esolangs.org/w/index.php?oldid=40685 * Ais523 * (+394) move copyright note to the talkpage, it's about the article rather than being about the language 12:52:43 how many of BF's categories do we put on BF derivatives? 12:53:37 oh wow, it's sub-TC 12:53:47 all loops have a fixed number of iterations 12:54:02 I think we need Phantom_Hoover for this one 12:54:19 Hey, at least you can say it's different from BF. 12:54:52 callforjudgement, which one? 12:55:03 Taneb: http://esolangs.org/wiki/Musical_notes 12:56:53 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40686&oldid=40684 * Ais523 * (+479) computational class; it bothers me how often people manage to make BF sub-TC by removing useful loops from it 12:57:38 [wiki] [[Musical notes]] M http://esolangs.org/w/index.php?diff=40687&oldid=40686 * Ais523 * (+0) /* Computational class */ fix cat names 12:57:58 oh, loops can't be nested /either/? 12:58:12 I was going to say that it was the .,<>+-()* fragment of BF 12:58:13 but it isn't even that 12:58:37 it's nowhere near as bad as ESME, but I find it rather more offensive 12:59:23 also, no accidentals rather limits the /musical/ possibilities 13:07:24 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40688&oldid=40687 * TomPN * (+120) 13:07:57 what is going on 13:08:02 that is a lot of edits 13:08:04 quintopia: see the page that's been edited a lot recently 13:08:08 or, well, recent changes 13:08:15 note: you need a high tolerance for awful BF derivatives 13:08:16 it's almost like the wiki is popular again 13:08:36 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40689&oldid=40688 * TomPN * (-408) /* Computational class */ 13:09:41 hmm, I'm still remembering the way that C-INTERCAL has entirely different semantics for ¥ depending on whether it's encoded in UTF-8 or Latin-1 13:09:56 and this actually does the right thing in all known existing cases 13:13:12 what is ¥ even supposed to do again 13:13:25 isn't it a replacement for the bookworm character 13:14:06 I mean, it sort of looks like that 13:15:16 it's a bookworm character in CLC-INTERCAL (thus unary exclusive or), and a currency symbol in C-INTERCAL (thus mingle) 13:15:24 which use latin-1 and utf-8 encoding respectively 13:15:40 ouch 13:15:43 wtf 13:15:46 so C-INTERCAL just uses the CLC-INTERCAL interpretation if the input happens to be latin-1 13:15:52 so they use the same character for two different purpose? 13:15:58 how is the bookworm encoded then? 13:15:59 b_jonas: this is INTERCAL 13:16:05 yeah yeah 13:16:12 and C-INTERCAL bookworm is normally ?, although V backspace - is accepted 13:16:32 isn't there some fancy unicode character equated with bookworm? 13:17:00 or a proposal to add it a new unicode character for it? 13:17:06 an upside-down A might or might not be permitted, I'm not sure 13:17:15 although obviously that's not quite identical to a bookworm 13:19:17 -!- drdanmaku has joined. 13:22:53 there's ⊻ which some crazy people use as a sign for 'xor', and ⊽ which is used in APL for 'nor', and I think there's a nabla with either minus or tilde through it, but I don't know of an exact match 13:23:01 if there isn't, one should be added to unicode 13:23:31 hey, TomPN deleted my section about the computational class 13:23:42 I don't want to edit war, because that would be really stupid 13:23:53 could someone else make a decision about whether it should be included or not? 13:24:21 b_jonas? quintopia? fizzie? 13:24:48 -!- callforjudgement has quit. 13:25:07 -!- callforjudgement has joined. 13:26:34 ooh, elliott's online and probably has the right opinion about this 13:26:51 first time I've come across what is probably a POV pusher on Esolang 13:27:45 um... 13:28:00 is this suppsoed to be some strange brainfuck variant described by someone who doesn't understand what he writes? 13:28:05 I'm still trying to interpret the description 13:28:11 b_jonas: yes, and someone who deleted my section on the computational class 13:28:23 because it made it clear how useless the language was 13:28:58 callforjudgement: maybe you shouldn't care too much about that... there's already lots of useless esolangs out there 13:29:25 I don't care about the esolang being useless, that much (well, this one's offensively useless, but…) 13:29:26 or it could be a work in progress or something 13:29:45 I care about the user actively making the page worse by deleting information about the language from it 13:29:56 knowing the computational class is often interesting with these languages 13:30:09 but I don't want to get into a revert war by myself 13:30:15 sure 13:30:20 I'd like you to look at the revert of my edit, and unrevert it if you agree 13:30:29 I'll try to understand the description first, as much as it's possible 13:30:34 fair enough 13:30:40 it's not a very clear description 13:30:54 basically, though, it's the subset of BF with <>+-., and ()* from BF Joust, only the ()* doesn't nest 13:31:09 oh, and you can RLE the <>+- with a separate mechanism from the ()* 13:33:28 meanwhile, I thought editing the link to the language onto the /Main Page/ of all pages was a bit much, but I just reverted that, rather than yelling 13:35:04 um... is this description tries to call bf's data tape an “instruction tape”? 13:35:45 err, yes it does 13:35:49 you could probably fix that 13:35:59 or I could, I guess 13:36:01 no wait 13:36:02 wait 13:36:30 maybe it's trying to mean that the data tape is the same as the number parts (the tenor) of the instruction tape, and is mutable, 13:36:50 and so those numbers can be changed by the program and modify how instructions work? 13:37:03 seems strange, and is probably not very workable, but still 13:37:16 maybe there's a reason it's called that 13:37:30 but I'm probably just overthinking this 13:37:30 it describes it as a tape like in BF 13:37:46 I think you have a mental bias towards believing that the language can't possibly be that bad 13:37:59 ok wait, there's another part I don't understand 13:38:10 first he says “The pitch of the note determines its function, while the value of the note (crotchet, minim etc.) determines how many times the function occurs.” 13:38:12 I mean, a version of BF where each command had a repeat count based on the position of the matching tape element would actually be interesting 13:38:22 then he talks about the notes in the tenor determining how many times the instruction occurs, or something 13:38:27 b_jonas: right, I just realised that contradicted the entirety of the rest of the page 13:38:38 um 13:39:14 what if we say it's a work in progress because it's been created today, and wait for the author to fix the description 13:39:18 maybe we should write him a msesage 13:39:22 TomPN: can you hear us here? 13:39:22 this is veering dangerously close into [[Category:Shameful]] territory 13:39:30 b_jonas: I've already written two on the talk page, about other things 13:39:45 however, I consider linking to your language from the Main Page an indication that you consider it finished 13:40:24 linking from the main page? 13:40:37 oh.. 13:40:57 ouch 13:40:59 that looks bad 13:43:11 that user seems seriously confused 13:44:17 meh, *of course* on can cheat on tetration. 13:44:37 I'm going to have to look at Esme again just to relax 13:44:49 -!- augur_ has quit (Remote host closed the connection). 13:45:15 callforjudgement: ugh 13:45:17 -!- augur has joined. 13:49:40 sorry for subjecting you to this 13:49:49 -!- augur has quit (Ping timeout: 245 seconds). 13:49:51 I should probably just have gotten into the edit war 13:49:56 then blocked for 3RR 13:50:12 nah, no problem 13:50:29 I've seen crazier users. 13:50:51 I hope this one can just be reverted on other pages and left alone on that one page about that “language” 13:50:58 doing that at Wikipedia would be mindbogglingly frowned on even though it doesn't violate the letter of any objective rules 13:51:07 sure 13:51:10 but this is not wikipedia 13:51:15 yes 13:51:22 it'd still be incredible admin rougeness, thoguh 13:51:30 if he gets bored and leaves, we can just delete the page after two weeks 13:51:36 ideal situation would be if they got reverted four times by four different users 13:51:41 and I'd prefer the page to exist but be accurate 13:52:02 could we just try to tell him that his description is nonsense and please try to make it clearer? 13:52:26 sure, that might work 13:52:33 more diplomatic language would be nice unless you were really annoyed 13:52:46 and tell him the three main reasons why it's unclear (the loop insns; tenor vs note length; the "instruction tape") 13:53:18 loop insns are pretty clear to me 13:54:36 no they're not, not if it claims to be a bf variant and has "([)" there. if they're useless loop structions, they at least need a note. 13:54:41 wait 13:54:48 "loops cannot be nested." just like that? 13:54:56 then it doesn't even matter how they're controlled, right? 13:55:00 I didn't notice that 13:55:10 it could do 13:55:34 no control is much more useless than unnested loops 13:55:35 with more powerful instructions, sure. in brainfuck, I think it doesn't. or does it? 13:55:39 well 13:55:42 if + 1 while is TC 13:55:55 yeah 13:55:59 not in bf though 13:56:13 (otherwise you don't even need if) 13:56:28 the lack of if is the missing part here 13:56:37 yap 13:57:43 ok, anyway, someone should compose an, um, polite message to this user asking to clarify 14:01:00 -!- scarf has joined. 14:03:59 -!- callforjudgement has quit (Ping timeout: 245 seconds). 14:04:03 oh, I missed that the loops amount the plain repetition. 14:04:09 how awful. 14:07:46 -!- scarf has changed nick to ais523. 14:08:11 that CC section would make them harder to miss 14:09:56 that's what I read 14:10:06 (as a diff. sigh.) 14:10:39 I'd prefer it if someone not-me either reinstated it, or said it shouldn't be reinstated 14:10:52 because I don't like to edit war without extra opinions 14:11:13 I'm an IP address, I don't think me doing it would help :P 14:16:33 it should, at least 14:16:35 I know you're not me 14:16:46 and the other admins could also verify that 14:17:10 int-e: um, register? 14:21:12 ais523: I say, let's not revert that into the article, at least not verbatim, instead write to the author to ask for clarification 14:21:18 b_jonas: right 14:21:29 are you going to write the message? 14:21:40 uh. maybe... 14:21:42 ok, I'll write one 14:22:17 -!- S1 has joined. 14:24:40 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40690&oldid=40689 * TomPN * (+476) 14:24:50 ah, he's still here, great 14:24:58 I'll try to catch him 14:26:20 oh no, it's getting weirder 14:27:31 they removed the unusable for programming 14:27:37 ais523: wait 14:27:40 it still is, because it cannot add two user input values to each other 14:28:10 ais523: could we find some category name that sounds more scientific than "unsuitable for programming"? because I could call any of those languages that require a double-exponential time to do anything "unsuitable for programming". or I could even call COBOL that. 14:28:44 "unusable", not "unsuitable" 14:28:54 either way 14:28:58 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40691&oldid=40690 * TomPN * (+1) /* Example program */ 14:29:43 this is basically analogous to the "minsky machine with only one counter" situation 14:29:49 it has multiple tape elements, but you can't read any of them 14:29:55 only add and subtract constants 14:30:14 actually, it'd be pretty funny to write a new computational class section explaining that it /still/ isn't usable, and why 14:30:45 ais523: well, I still don't understand the semantics, so I'm just trying to ask about that in a message I'm writing 14:31:00 we can figure out how to insult the language and/or the author's intelligence later 14:31:11 meh, no kidding, we're doing that already here 14:34:07 Every Musical notes program performs a predetermined sequence of operations and terminates. 14:34:23 well, I find figuring out computational class interesting 14:34:27 and every page should have a section about it 14:34:33 (or the "unknown" cat) 14:34:42 [wiki] [[User talk:TomPN]] http://esolangs.org/w/index.php?diff=40692&oldid=40678 * B jonas * (+1013) /* == Please clarify Mudaical notes */ new section 14:34:48 in this case, it is known, but the author's reverting attempts to mention it 14:34:49 I think the "computational class" term may not be applicable ;-) 14:34:59 As there is no computation going on. 14:35:01 "unusable"'s a class, right? 14:35:24 at least this whole thing has given me /two/ esolang ideas 14:35:41 [wiki] [[Talk:Musical notes]] http://esolangs.org/w/index.php?diff=40693&oldid=40685 * B jonas * (+208) /* Unclear description */ new section 14:36:07 one is BF where the tape gives repeat counts for the corresponding program elements, and this is the only way to do conditionals (note: obviously, the tape must be bignum for this to have any chance of not being trivially sub-TC) 14:36:16 -!- augur has joined. 14:36:37 and the other is a language designed to start from the specification of BF on the wiki, and change the minimum number of words to make an entirely different language 14:37:13 ais523: the first idea should give you the same power as primitve recursion. 14:37:19 (defined as "any translation from that language to or from BF would more likely be via other languages than direct") 14:37:22 (i.e., loop programs) 14:37:29 I think that example program in that article is in a nonportable key signiture whose behaviour the standard doesn't describe. 14:38:02 b_jonas: hmm, that's one of the necessary requirements to be Esme, I think 14:38:15 (i.e. "the example given doesn't fit the defined syntax for the language") 14:38:16 ais523: and the third is to Artificial Evolution on Goat Napper to teach him new tricks 14:38:36 b_jonas: that's an M:tG reference, right? 14:38:51 yes 14:38:58 I assume Artificial Evolution lets you rewrite "Goat" to any creature type, and thus gain control of any creature but The Nameless One? 14:39:34 yes -- or alternately it lets you rewrite Goblin or Rogue which is booring 14:40:04 what about Conspiracy, to make everything goats? 14:40:07 seems more repeatable 14:40:21 I think Shields of Velis Vel is much simpler 14:40:31 Conspiracy is sort of heavy 14:41:00 but it's permanent 14:41:09 SoVV only lasts for a turn 14:41:34 or Amoeboid Changeling or Blades of Velis Vel (that one helps because you're going to attack with the goat) or Wings of Velis Vel 14:41:58 sure, Conspiracy might work too 14:47:48 but somehow I'm not sure just BF with the data tape overlapping with repetition counts could work. would you have enough time to manipulate the repeat counts? 14:48:01 hmm, maybe it's possible 14:48:04 dunno 14:52:32 b_jonas: I'm not sure either, that's why it's interesing 14:52:50 we can repeat < and > too, not only [] right? 14:53:32 so you could use < > sort of like you use fixed address instructions as indexed instructions by writing to their code 14:53:59 you can like increment and decrement the count on all such instructions to move a virtual head 14:54:24 yes 14:54:25 hmm, might be as powerful as a multi-taped turing machine then 14:54:33 but what's the semantics of [] in first place then? 14:54:48 maybe we don't have [], but the entire program is in a loop 14:54:53 might still be TC 14:55:00 ugh 14:55:19 seems dangerous 14:55:33 "dangerous"? 14:55:47 difficult to program 14:56:02 if you can figure out how to program in it immediately 14:56:07 it's not normally a very good esolang 14:56:11 sure 14:56:16 or, well, a good esolang changes the way you think 14:56:26 yes it so does 14:56:34 but I prefer good non-eso langs that do that 14:56:50 or good libraries in non-eso langs 14:57:28 many of the mindbending ideas were pretty eso before they became mainstream 14:57:41 yeah 14:57:45 I think Prolog is /still/ an esolang 14:57:49 it fits most definitions 14:58:05 yeah, but prolog at least has an easily programmable subset 14:58:41 even so, trying to figure out how to do something in Prolog is far from obvious 14:58:59 you can translate lambda expressions and ordinary non-mutable fixed-size cells to prolog in a mostly straightforward way 14:59:10 (I have a compiler) 14:59:25 (there's just two tricks you need to know, and one of those is really only needed for debugging) 14:59:45 well, Prolog is basically like lambda calculus if you have call and univ 14:59:57 -!- prooftechnique has joined. 15:00:47 I say if you have call and ... whatever is that thing that copies a structure replacing variables with fresh ones, let me look it up 15:01:11 copy_term, IIRC 15:01:57 yes, copy_term or fd_copy_term 15:02:01 that's it 15:03:58 b_jonas: you use gprolog too? 15:04:16 I don't really use any prolog, because I don't like the language 15:04:26 but I ran at least sicstus and gprolog 15:13:30 and swi prolog too I think 15:13:35 I knew there was three 15:13:53 swi's the most popular, as far as I know 15:30:09 -!- Frooxius has quit (Read error: Connection reset by peer). 15:30:27 -!- Frooxius has joined. 15:34:14 -!- Frooxius has quit (Read error: Connection reset by peer). 15:34:14 -!- Frooxius has joined. 15:38:55 -!- Froox has joined. 15:41:48 -!- Frooxius has quit (Read error: Connection reset by peer). 15:44:45 SWI was the Prolog of choice on our Prolog course. 15:46:15 gprolog has a built-in integer sat solver, which is nice 15:50:26 -!- prooftechnique has quit (Read error: Connection reset by peer). 16:06:17 have you used that solver? 16:06:24 tromp: most definitely 16:06:40 it has a tendency to blow up and take forever on complex input, but be very good on moderately simple input 16:06:46 can you run it if i give you a simple problem? 16:07:35 I can try 16:07:46 it's about 3 guys selling chickens 16:07:51 Ohmygodmyeyeshelp! http://www.gprolog.org/manual/gprolog.html 16:08:15 A has 10 chickens, B has 16, and C has 26 16:08:18 int-e: ugh, I've been using the PDF 16:08:34 int-e: lol 16:08:40 tromp: go on, that's a pretty easy problem so far 16:08:49 they sell some in the morning at price x/u, and some in the afternoon at y/u 16:09:13 at the end of they day, they sold all chickens and each made 35u 16:09:30 so: we have 0<=a<=10, etc. 16:09:33 and x and y are integers? 16:09:44 and ax+(10-a)y=35u etc... 16:09:52 right 16:09:59 yes, that's why i added u 16:10:18 well, the problem's parametric on u 16:10:25 if it has a solution, it has a solution with u=1 16:10:27 u is just another integer 16:10:39 no 16:10:55 tromp: you said "each made 35u", did you mean "each made 35"? 16:10:59 -!- password2 has joined. 16:11:21 they make 35$ selling at non-integer prices of x and y $ 16:11:24 also, this seems like the sort of problem the sat solver would be bad on, because u is unbounded 16:11:38 tromp: right, in that case they each made 35, rather than each making 35u 16:11:41 so i need to multiply by some u to make prices integer 16:12:03 this is linear programming, not integer programming 16:12:14 let me enter it and see what happens, I doubt it'll be solved in a reasonable time though 16:12:34 a, b and c are integers 16:12:35 if you divide by u, the equation is a*x/u+(10-a)*y/u=35 16:12:45 which allows the fractional dollar prices 16:13:17 now all of a,b,c,x,y,u are integer 16:16:04 tromp: it says that one solution is a=b=c=x=y=u=0 16:16:07 which is correct 16:16:12 let me demand that u is positive :-) 16:16:58 now it's warning that it's discarding potential solutions due to running out of internal storage 16:17:15 and saying it can't find any 16:17:41 * ais523 increases the maximum space 16:18:56 unsurprisingly, yices is complaining that it's not a linear problem. 16:19:54 this is not a particularly big problem:-) 16:20:09 tromp: yes, but it's the sort of problem gprolog is bad at 16:20:19 I don't think SAT solvers are very good at diophantine problems 16:20:34 it's currently pegging my CPU 16:20:49 what sort is that? "small set of linear equations on integer vars" ? 16:20:54 but to summarize, 35u = (x-y)(a+b+c) + 52y, 0<=a<=10, 0<=b<=16, 0<=c<=26, u>0, over the integers? 16:21:10 tromp: it likes additions and subtractions much better than multiplications and divisions 16:21:15 you can restrict it to a+7 <= b <= c-11 16:21:26 also, adding additional restrictions rarely actually seems to help 16:21:32 let me try that, though 16:21:40 tromp: on paper I'd just turn a+b+c into a single variable. 16:22:10 yes, isn't obviously helping 16:22:29 tromp: wait, why can you assume that restriction? 16:22:56 because A will need to sell more at the higher price y 16:23:00 you can add x < y 16:23:11 oh. 16:23:13 "each" 16:23:15 thanks 16:23:42 so 10-a > 16-b 16:25:14 it's still running, hasn't got past U=1 yet 16:25:22 I'm going to give up 16:25:53 -!- reventlov has joined. 16:26:28 ok, so much for gprolog:( 16:26:49 I get the feeling it's only good in very specific circumstances 16:27:22 gprolog: for all your solving needs that dont include chickens 16:29:47 tromp: as I said earlier, I failed to get it to work with my Bridge AI 16:29:58 so I got it doing INTERCAL reverse assignments 16:30:26 strangely enough, my addition took four minutes despite all the selects and mingles optimizing out 16:32:32 I think our constrained logic programming course used http://en.wikipedia.org/wiki/ECLiPSe or something. 16:32:42 I just remember it was very Prology. 16:33:14 -!- ais523 has quit (Read error: Connection reset by peer). 16:33:22 -!- callforjudgement has joined. 16:33:53 Oh nice. Logical context is inconsistent. Use (reset) to reset. 16:34:16 But that's with some pen&paper preparation. 16:35:36 and a convenient mistake. 16:37:02 -!- TieSoul_ has joined. 16:37:54 -!- TieSoul__ has joined. 16:38:37 -!- TieSoul has quit (Ping timeout: 245 seconds). 16:41:32 -!- TieSoul_ has quit (Ping timeout: 245 seconds). 16:43:58 ok, let me try solve chickens with a Haskell one-liner 16:44:02 -!- mihow has joined. 16:44:52 > [(a,b,c) | b<-[7..15],a<-[0..b-7],c<-[b+11..26],(b-a)*(16*c-26*b)==(c-b)*(10*b-16*a)] 16:44:53 [(0,9,24),(1,10,25),(2,11,26)] 16:48:25 > [(a,b,c) | a > b && 5*a+3*c == 8*b] 16:48:27 [] 16:48:38 hah! 16:48:56 > [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], a > b, 5*a+3*c == 8*b] 16:48:58 [(8,5,0),(9,6,1),(10,7,2)] 16:49:11 > [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], a < b, 5*a+3*c == 8*b] 16:49:13 [(0,3,8),(0,6,16),(0,9,24),(1,4,9),(1,7,17),(1,10,25),(2,5,10),(2,8,18),(2,1... 16:49:39 mmm. 16:50:02 that will result in some negative prices, I guess. 16:50:07 hmm, when i show the prices as well, the lower one is negative:( 16:50:11 the former list is dual to yours 16:51:21 > [(a,b,c,(35*(6+a-b))%(10*b-16*a),(35*(b-a))%(10*b-16*a)) | b<-[7..15],a<-[0..b-7],c<-[b+11..26],(b-a)*(16*c-26*b)==(c-b)*(10*b-16*a)] 16:51:22 [(0,9,24,(-7) % 6,7 % 2),(1,10,25,(-5) % 4,15 % 4),(2,11,26,(-35) % 26,105 %... 16:51:38 [wiki] [[CHIQRSX9+]] http://esolangs.org/w/index.php?diff=40694&oldid=32999 * 67.78.57.11 * (+83) 16:51:51 what's chickens? 16:52:07 use more scrollback 16:52:29 It's the problem that is solved by the above code 16:53:29 > [(a,b,c,x,y,10*y+a*(x-y),16*y+b*(x-y),26*y+c*(x-y)) | a<-[0..10], b<-[0..16], c<-[0..26], a > b, 5*a+3*c == 8*b, let y = 5*(a-b), let x = y+30] 16:53:31 [(8,5,0,45,15,390,390,390),(9,6,1,45,15,420,420,420),(10,7,2,45,15,450,450,4... 16:53:36 is there an explanation of the problem? I got that... 16:53:49 tromp: no negative prices. 16:54:26 > [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], 5*a+3*c == 8*b, let y = 5*(a-b), let x = y+30, x*y > 0] 16:54:27 [(0,9,24),(1,10,25),(2,11,26),(8,5,0),(9,6,1),(10,7,2)] 16:59:06 i see my error 16:59:20 But it's a problem that requires some symbolic computation; the usual bit-blasting and linear arithmetic based approaches will not do well. 16:59:23 i should allow 10-a = 16-b 16:59:39 A can seel same number as B at higher price 16:59:51 just make lower price 0 (give chickens away) 17:00:01 > [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], 5*a+3*c == 8*b, let y = 5*(a-b), let x = y+30, x*y >= 0] 17:00:04 [(0,0,0),(0,6,16),(0,9,24),(1,1,1),(1,7,17),(1,10,25),(2,2,2),(2,8,18),(2,11... 17:00:16 > length [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], 5*a+3*c == 8*b, let y = 5*(a-b), let x = y+30, x*y >= 0] 17:00:18 28 17:00:25 > length [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], 5*a+3*c == 8*b, let y = 5*(a-b), let x = y+30] 17:00:27 39 17:00:36 -!- S1 has quit (Quit: S1). 17:00:58 so 11 solutions with negative prices, and 22 where the lower price is 0, and 6 "proper" ones. 17:01:32 -!- Phantom_Hoover has joined. 17:01:39 and we can assume that the intended solution doesn't allow a=0 or a=10, because then A would not sell any chickens in the morning or in the afternoon. 17:03:42 but deriving 5*(a-b) = 3*(b-c) (if u != 0), which lies at the heart of the problem, is beyond automatic tools, I think. 17:04:19 by the way, I was doing computer hardware stuff yesterday. trivial computer hardware stuff of course, because I don't dare touching anything more serious. 17:05:07 I decided that the hard disks in my home computer might not like the heat they get because they're placed without gaps, so I ordered a metal rail dohickey to let me insert one hard disk in a 5 inch wide cd drive slot, 17:05:21 and if I do that, I'll be able to place all hard disks so that there's a slot high gap above each 17:08:57 what is a proper solution, int-e ? 17:11:17 -!- MoALTz has joined. 17:15:10 -!- augur has quit (Remote host closed the connection). 17:15:49 tromp: those with positive prices. 17:18:39 -!- TieSoul__ has changed nick to TieSoul. 17:19:03 -!- scarf has joined. 17:21:13 oh, i had a signb error 17:22:24 -!- callforjudgement has quit (Ping timeout: 255 seconds). 17:24:19 > [(a,b,c,(35*(6+a-b))%(16*a-10*b),(35*(b-a))%(10*b-16*a)) | b<-[7..15],a<-[0..b-7],c<-[b+11..26],(b-a)*(16*c-26*b)==(c-b)*(10*b-16*a)] 17:24:21 [(0,9,24,7 % 6,7 % 2),(1,10,25,5 % 4,15 % 4),(2,11,26,35 % 26,105 % 26)] 17:24:45 only the 2nd of these 3 has prices in while number of pennies... 17:25:01 whole 17:33:20 -!- scarf has changed nick to ais523. 17:34:39 -!- Froox has changed nick to Frooxius. 17:37:34 how would one test if a Data.Ratio Int is an integer? 17:37:55 hmm, lemme ask in #haskell 17:38:25 oh, i can use denominator function 17:50:08 > 17:50:09 not an expression: ‘’ 17:50:09 print [(a,b,c,x,y) | b<-[7..15], a<-[0..b-7], c<-[b+11..26], 17:50:11 let {d = 10*b-16*a; x=(b-6-a)*35%d; y=(b-a) *35%d}, 17:50:12 (b-a)*(16*c-26*b)==(c-b)*d, all ((== 0).mod 100.denominator) [x,y]] 17:50:54 > print [(a,b,c,x,y) | b<-[7..15], a<-[0..b-7], c<-[b+11..26],let {d = 10*b-16*a; x=(b-6-a)*35%d; y=(b-a) *35%d},(b-a)*(16*c-26*b)==(c-b)*d, all ((== 0).mod 100.denominator) [x,y]] 17:50:56 17:51:14 > [(a,b,c,x,y) | b<-[7..15], a<-[0..b-7], c<-[b+11..26],let {d = 10*b-16*a; x=(b-6-a)*35%d; y=(b-a) *35%d},(b-a)*(16*c-26*b)==(c-b)*d, all ((== 0).mod 100.denominator) [x,y]] 17:51:16 [(1,10,25,5 % 4,15 % 4)] 18:02:25 -!- ais523 has quit. 18:02:38 -!- ais523 has joined. 18:04:33 http://www.sssscomic.com/comic.php?page=195 "Finnish -- Absolute gibberish." 18:04:37 So rude. 18:12:35 cute cats though 18:17:45 also, isn't 'miau' also used? 18:24:24 -!- ais523 has quit (Read error: Connection reset by peer). 18:24:30 -!- callforjudgement has joined. 18:31:42 oh, Haley gives an explanation (not necessarily the truth) on how he convinced the repair guys 18:45:17 J_Arcane: Yes, for the sound. I think whoever made the image was possibly going by the verb forms, which would be http://en.wiktionary.org/wiki/naukua#Finnish 18:46:01 (There's no verb for the "miau" version, you can't say "miaukuu" or anything.) 18:48:03 -!- scarf has joined. 18:48:44 -!- scarf has changed nick to ais523. 18:52:15 -!- callforjudgement has quit (Ping timeout: 244 seconds). 18:52:30 -!- FreeFull has quit (Quit: BBL). 18:54:31 -!- zzo38 has joined. 18:55:28 -!- ais523 has quit (Read error: Connection reset by peer). 18:55:32 -!- callforjudgement has joined. 18:58:32 -!- Frooxius has quit (Quit: *bubbles away*). 19:03:42 -!- Frooxius has joined. 19:12:30 -!- Sprocklem has joined. 19:17:30 -!- AnotherTest has joined. 19:35:18 -!- AnotherTest has quit (Remote host closed the connection). 19:36:10 -!- password2 has quit (Ping timeout: 244 seconds). 19:46:20 -!- Bicyclidine has joined. 19:50:10 `olist (966) 19:50:11 olist (966): shachaf oerjan Sgeo FireFly boily nortti 19:51:07 ootses have gotten pretty frequent 19:54:17 14:26:34 ooh, elliott's online and probably has the right opinion about this 19:54:28 I defer to you over some random dude 19:55:01 elliott: a) I don't want to edit war; b) this is dangerously close to turning into another Esme, except one that's POV-pushing for some reason 19:55:33 my main reason to not just revert is that I don't want to end up on Esolang's equivalent of WP:LAME 19:56:16 14:39:45 however, I consider linking to your language from the Main Page an indication that you consider it finished 19:56:19 omg. 19:56:24 has the buy returned yet? no, he didn't 19:56:30 summary: newbie creates a bad BF derivative that's somehow so bad it can't even read memory 19:56:39 links it from the main page and like five different articles 19:57:00 I fix the formatting, add categories, including a computational class section and unusuable for computing cat 19:57:00 and with a too vague description (not that it's unique in that respect on the esolang wiki) 19:57:08 then he removes the computational class stuff 19:57:12 and gives a program that adds two constants 19:57:24 as apparent "proof" that it's usable for computation 19:57:26 oh, it's supposed to add two _constants_? 19:57:26 callforjudgement: do we even have 3rr? 19:57:33 I couldn't figure out how that would work 19:57:46 elliott: I was going to invent the rule on the spot, then impose it 19:58:11 but I thought it'd look bad if I'd also been the person doing the other three reverts needed to push the newbie to four 19:58:31 that's like top of the list of "ok, you haven't actually broken 3RR, but you've broken pretty much every other possible rule surrounding the circumstance 19:58:46 " 19:59:13 callforjudgement: just relax and remember, it's not as bad as NSQX 19:59:29 I forget what NSQX did 19:59:34 but anyway, I'm really riled up and biased 19:59:34 good 19:59:49 this thing has a decent shot at worst BF derivative ever; where's Phantom_Hoover when you need him? 19:59:50 you should read user talk:nsqx 19:59:56 it's an experience 20:00:05 I remember the name 20:00:07 just not what happened 20:00:19 where is it 20:00:21 probably better not to read it 20:01:31 Is a UUID too small to store a geolocation? 20:01:34 I read it, I remember now 20:01:35 is it musical notes 20:01:40 ?messages-loud 20:01:40 boily asked 2d 8h 33m 41s ago: if AndoDaan were to ask you about z80, would you say it be like it is, but it do? 20:01:45 Phantom_Hoover: oh, the new language? 20:01:52 yes, http://esolangs.org/wiki/Musical_notes 20:02:13 somehow I find this new language even more offensive than BF-without-[-or-] (which, sadly, has been created several times) 20:02:28 wait, BF-without-[-or-] really? 20:02:38 there's no way this is the worst bf deriv ever 20:02:42 haha wow 20:02:48 at least they put effort into the page, though 20:02:48 I want to ask what it has instead of [ or ] but I think I know the answer 20:02:51 off the top of my head, bestfriends.js is worse 20:02:53 b_jonas: I think we need a poe's law equivalent for BF derivatives 20:02:57 b_jonas: fixed iteration counts 20:03:04 Bicyclidine: I cleaned up the formatting 20:03:15 what's "poe's law"? 20:03:32 poe's law says that satires are impossible to distinguish from legit fuckers 20:03:46 I see 20:04:00 why isn't that called Mark Twain's law? 20:04:01 b_jonas: basically the principle where sufficiently crazy extremists are indistinguishable from people holding intentionally crazy positions to parody them 20:04:14 is there something about Poe I should know to understand that naming? 20:04:32 i don't think it's edgar allen 20:04:55 i think there was a guy named poe on usenet 'back in the day' 20:05:02 yeah probably 20:05:10 ok 20:05:34 Phantom_Hoover: actually it's named after a dude on a christian forum i think 20:06:02 -!- augur has joined. 20:06:05 http://www.christianforums.com/t1962980-6/#post17606580 fair enough 20:06:23 -!- augur has quit (Remote host closed the connection). 20:06:34 -!- augur has joined. 20:07:05 elliott: I think BestFriends.js is just run-of-the-mill bad 20:07:27 http://www.conservapedia.com/Poe's_law oh dear 20:07:31 but think there was some BF-in-JS that was much worse, and can't remember what it was 20:07:38 wait, you're linking to conservapedia, of all places? 20:08:11 Reps: 295,212,687,427,838,720 (power: 0) 20:08:19 so many reps but so little power 20:14:03 That seems like an odd number. 20:14:18 I mean, not odd as in odd-even, just odd. 20:17:24 it's odd modulo 3! 20:17:32 (all integers are odd modulo 3) 20:18:44 -!- password2 has joined. 20:18:49 "odd modulo 3" 20:18:50 hehe 20:19:20 -!- password2 has quit (Max SendQ exceeded). 20:20:39 -!- password2 has joined. 20:26:53 Phantom_Hoover: I have the nagging feeling that this article is not intended to be self-referential. 20:27:16 how can't it be 20:27:31 there is a picture on that article of a cat walking beside the number 13 20:28:04 -!- MDream has changed nick to MDude. 20:28:21 to be fair, Poe's Law arguably applies to the whole of Conservapedia 20:28:30 or at least, I'm pretty sure there are people who mistake it for satire 20:28:36 then contribute to what they feel is satire 20:28:58 what? it applies to the whole internet 20:29:13 oh, you mean as an instance 20:29:14 sorry 20:33:33 callforjudgement, well half of the site is satire that's snuck in under the noses of the admins 20:34:16 yeah i was gonna say it sure ain't an accident 20:40:58 [wiki] [[Strato]] N http://esolangs.org/w/index.php?oldid=40695 * 83.101.88.18 * (+436) Created page with "'''Strato''' is a language without reserved words. The meanings reserved words normally have, are replaced by sequences of one or more punctuation marks or the relative positi..." 20:41:35 from that summary, there is a decent chance this language doesn't suck 20:42:46 hmm, actually, seems to be someone who doesn't realise why syntax is unimportant, but that's OK 20:43:01 `quote 148 20:43:01 148) syntax is the least important part of a programming language other than Python 20:43:34 what about piet or befunge 20:44:12 befunge isn't about syntax, it's about grid arrangement 20:44:20 you could create, say, [[OrthINTERCAL]] or [[2L]] 20:45:55 -!- S1 has joined. 20:46:38 Replacing words by punctuation does not sound like much of a change. 20:49:34 meh, the esowiki is full of languages with only the syntax being strange 20:50:13 `quote 151 20:50:13 151) there's a rather clear separation into the 99% of esolangs that are fun syntax ideas, and the 3% that someone actually put some thought into. 20:50:15 -!- perrier has joined. 20:50:21 sometimes you can even have a nice language from that, if you make sure not to repeat the same thing twice: think of piet, whitespace, shakespear or chef 20:50:43 yes, I bring up Shakespeare and Haifu as examples of well-done thematic languages 20:50:44 oh, and Ook! of course 20:50:47 because the syntax ties into the semantics 20:50:51 Haifu? let me look taht up 20:51:04 you can also have things like Forte, which only works because of the syntax 20:51:42 then there's boring ones like lolcode 20:52:09 oh, I think I've seen this Haifu before 20:55:59 -!- FreeFull has joined. 21:02:40 -!- password2 has quit (Ping timeout: 244 seconds). 21:03:13 -!- Bicyclidine has quit (Ping timeout: 265 seconds). 21:13:13 -!- scarf has joined. 21:13:49 -!- Bicyclidine has joined. 21:15:59 -!- password2 has joined. 21:16:35 -!- password2 has quit (Read error: Connection reset by peer). 21:16:54 -!- callforjudgement has quit (Ping timeout: 250 seconds). 21:17:22 -!- scarf has changed nick to ais523. 21:29:06 -!- oerjan has joined. 21:29:40 -!- copumpkin has joined. 21:33:09 -!- password2 has joined. 21:33:35 -!- mihow has quit (Quit: mihow). 21:34:12 -!- nisstyre has quit (Changing host). 21:34:12 -!- nisstyre has joined. 21:49:31 ais523: "Musical notes is incapable of doing any sort of useful computation, because it has no way to read the value of a cell on the tape (other than outputting it to the user, which affects its control flow). Thus, with no conditional control constructs, each program always runs the same commands in the same order, making it a particularly restricted class of [[finite state machine]]." 21:49:50 That explanation... could be worded better I think. All deterministic programs with no I always run the same commands in the same order 21:50:02 hmm 21:50:24 if you can come up with a better wording, you may solve a long-standing problem in theoretical computer science 21:50:35 ("how do we unambiguously define TCness, anyway?") 21:51:09 now I'm wondering if we can create a language that's incapable of reading memory that nonetheless has TC behaviour 21:51:39 How would having to output a vaue effect control flow? 21:52:56 it wouldn't 21:53:11 Another miswording I assume 21:53:26 Sgeo: you kind of have to define input to be able to define TCness 21:53:37 Or not a miswording but in that case, if output affects control flow, there are control constructs 21:55:55 ais523: A Stateless protocol language? 21:56:22 right, that much is a miswording 21:56:25 -!- ZombieAlive has joined. 21:56:30 MDude: basically you have a black box you can never look inside 21:56:34 I keep seeing criticisms of Scala that relate to its complexity and constant ability to do things in multiple ways, which makes me sad because I want to like Scala and dislike Go 21:56:35 but you can perform arithmetic on it remotely 21:56:59 like, you have a fixed sequence of commands you run, without ever being exposed to the actual /values/ 21:57:03 data dissociated from flow control 21:57:30 i want to like disliking liking scala, but i don't 21:59:01 ais523: easy, just cheat by making it store state in something you don't call memory, and add a "memory" as a red herring used only for output 21:59:47 b_jonas: well you'd have to have a limited set of commands that exist inside 21:59:56 no loops, for instance 22:00:04 conditionals are probably OK because you can do them arithmetically 22:00:32 ais523: oh, right, that's another possible 22:00:33 way 22:01:03 you can have a language with only a single big unconditional loop, no control flow except for conditinal input and output statements 22:01:23 like, no conditional control flow 22:01:25 that already exists 22:01:31 -!- ais523 has quit (Quit: going home). 22:01:57 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 22:02:50 What's the difference between an output-only language that always terminates and a specification for compression? 22:03:03 I could have worded that better 22:03:15 and a compression encoidng? 22:04:27 compressions always terminate? 22:04:55 meh, you can run video compression with such exhaustive search parameters that you won't have a powerful enough computer to run it to compleition 22:05:17 *decompression, I think 22:05:21 The program is the compressed value 22:05:58 but yeah, I know it's only at most PSPACE in theory if it's implemented properly 22:10:05 "It's only PSPACE" is probably not very comforting if you're, say, in the business of making video compression systems, and your clients complain about the computational cost. 22:10:29 Even if you prefix it with "don't be such a wuss". 22:10:31 I'll let oerjan shout at the author, oerjan's good at shouting <-- argh 22:14:21 sure 22:14:41 Scala for comprehensions aren't applicative do? That makes me sad 22:15:01 Hmm, maybe I'm wrong 22:15:50 Sgeo: you kind of have to define input to be able to define TCness <-- not necessarily input separate from code 22:15:58 right 22:16:02 fizzie: sure, that's why I said earlier today that “Unusable for computation” is a strange category name to apply to non-TC esolangs when we also have esolangs that require doubly exponential time to do anything useful 22:16:05 but you have to be able to vary it. 22:16:55 mind you, actually requiring doubly exponential time is a tricky thing to achieve, the only way I know to get it is when you can simulate a two counter machine but not a three counter machine or anything more powerful 22:17:37 oerjan: for TC, we just say you have to be able to transform any program to that language in polynomial time 22:17:46 that encompasses the input 22:19:27 for practically usable languages, you want more than that, but TC doesn't mean practically usable 22:20:24 -!- S1 has quit (Quit: S1). 22:21:13 Scala implicits remind me of ... hmm. Not totally sure. Kernel static keyed whatchamacallits? Racket syntax parameters? 22:25:32 b_jonas: i have never assumed polynomial time, just "terminating" 22:26:34 TC is in the realm of recursive languages, after all, it would be silly to mention "polynomial" at that level 22:27:26 Sgeo: i thought scala for comprehensions used flatmap and map (the latter to avoid needing return) 22:28:12 this is vaguely recalled from a stackoverflow question that crossed between scala and haskell, mind you 22:28:13 oerjan: yes, unless you don't use yield but instead an imperative block, in which case it uses foreach in place of flatmap, iiuc 22:28:28 anyway, flatmap is basically >>= 22:29:30 Yes, but what is foreach basically? 22:29:53 And it makes me sad that Scala can't just detect when flatmap isn't needed and use something else instead 22:30:01 oerjan: would you agree that henkma is a monster? 22:30:40 b_jonas: i tend to interpret "unusable for computation" as considerably stricter than "non-TC", mind you. deadfish might qualify but a terminating language like Coq or Agda would be far from satisfying it 22:31:34 int-e: has he been doing something today, i haven't checked up, last i saw was that we were beating him on the tetration thing but i wasn't expecting that to last 22:31:59 and i have forgot to check if any problems have expired recently 22:32:39 int-e: also, i guess you also were grumbling that monomorphism prevented you from saving a character? 22:34:00 oerjan: I did at some point, but it's no longer an issue, since we're all cheating. 22:34:06 int-e: oh. 22:34:08 oerjan: except you :P 22:34:17 well i'm not yet. 22:34:18 heh 22:34:24 I try to think how to compress shift-reduce parsing tables. Look at http://www.cs.uic.edu/~spopuri/cparser.html#modified-tables too. You could write: [2] M=7 L=6 [0] L=3 E=4 [9] E=12 P=5 a=1 (=2 22:34:26 ok i shall have to have a look 22:34:36 oerjan: but actually I was referring to swap the characters 22:34:51 oerjan: where he somehow shaved off another 6 characters 22:35:34 How do you think of compressing tables for using in a shift-reduce parser? 22:36:09 Sgeo: isn't foreach also >>= just with m () result essentially? just guessing here. 22:36:26 makes sense 22:36:52 int-e: i think swap the characters is something i gave up on long ago 22:38:12 oh wait, maybe i actually tied on that, then gave up improving further 22:39:33 int-e: incidentally that was the one where i thought i had cleverly used pattern guards, only to see you beat me 22:39:35 yeah we were tied on that at 85, then henkma achieved 84 22:39:47 and that was it until yesterday 22:40:13 (My code isn't quite right. It specifies an error where there should be a reduce.) 22:40:27 well, i got down to 84 too by abandoning the guards 22:42:23 i recall the possibility of swap commands with equal chars were causing some obvious options to fail 22:43:11 perhaps he's found a more clever way of avoiding that 22:43:22 -!- FreeFull has quit (*.net *.split). 22:43:23 -!- heroux has quit (*.net *.split). 22:43:23 -!- applybot has quit (*.net *.split). 22:43:23 -!- olsner has quit (*.net *.split). 22:43:24 -!- 14WAADDIM has changed nick to heroux. 22:43:35 -!- heroux_ has joined. 22:44:12 -!- FreeFull has joined. 22:48:56 -!- olsner has joined. 22:53:39 I wrote a dc tetration in 25B, then it ballooned up to 44B with the workaround for dc's built-in output line wrapping, and now there's a 28B by tails, and I can't be sure if I'm just missing some really obvious workaround for the printing or what. 22:54:44 (The anagol 'dc' launcher scripts set DC_LINE_LENGTH=9999 -- even though DC_LINE_LENGTH=0 would disable the splitting completely -- and test #1 output is longer than that.) 22:58:03 -!- brandonson has joined. 22:59:36 -!- brandons1 has quit (Ping timeout: 250 seconds). 23:01:37 -!- password2 has quit (Ping timeout: 260 seconds). 23:04:39 Other than Scala, what languages have first-class pattern synonyms? 23:04:54 -!- copumpkin has quit (Ping timeout: 244 seconds). 23:05:03 (Although Scala's might be annoying to manipulate in a first-class way... there are a bunch of distinct valid types for them) 23:10:43 -!- Bicyclidine has joined. 23:27:12 fizzie: I think both parts can be improved. 23:33:21 fizzie: I have 14 without, 29 with workaround. 23:34:05 and I'm cheating 23:36:49 oh, 28. 23:37:43 (shortened the number printing) 23:56:36 -!- ZombieAlive has quit (Remote host closed the connection).