00:18:30 -!- noam_ has joined.
00:22:04 -!- noam has quit (Ping timeout: 276 seconds).
00:27:45 <Phantom_Hoover> "Vasa has since its recovery become a widely recognized symbol of the Swedish "great power period"."
00:41:11 <elliott> did you only just learn about vasa
00:42:16 -!- zzo38 has joined.
00:43:01 -!- zzo38 has set topic: TO PUSH START BUTTON IS ENOUGH | http://codu.org/logs/_esoteric/.
00:47:24 -!- Phantom_Hoover has set topic: TO PUSH IS ENOUGH | http://codu.org/logs/_esoteric/.
00:50:26 -!- shachaf has set topic: PUSHKIN IS ENOUGH | http://codu.org/logs/_esoteric/.
01:01:20 <shachaf> http://slbkbs.org/dontclickthis.txt
01:06:13 -!- monqy has joined.
01:16:52 -!- impomatic has quit (Ping timeout: 248 seconds).
01:17:33 <kmc> what if i do
01:19:10 <shachaf> noooooooooooooooooooooooooooooooooooooo dl_
01:19:17 <monqy> hi what are you doing
01:19:26 <nooodl_> <shachaf> http://slbkbs.org/dontclickthis.txt
01:20:56 <shachaf> 404 noodles: the best kind of noodles??
01:21:16 <nooodl_> that sounds like a kingdom of loathing food
01:21:26 <zzo38> When download it with netcat, it is seen to be a 404 error; clicking it won't do anything
01:21:39 <hagb4rd> it must be the one awaking strong expectations
01:21:49 <hagb4rd> followed by disappointment
01:21:58 <nooodl_> i like the solution of downloading it with netcat. "i didn't click it!!"
01:22:14 <kmc> i was going to curl it but 'o wait'
01:22:30 <kmc> hm sandbox
01:22:31 <kmc> `curl http://slbkbs.org/dontclickthis.txt
01:22:34 <HackEgo> % Total % Received % Xferd Average Speed Time Time Time Current \ Dload Upload Total Spent Left Speed \
01:22:46 <kmc> `cat dontclickthis.txt
01:22:47 <HackEgo> cat: dontclickthis.txt: No such file or directory
01:22:55 <kmc> `curl http://slbkbs.org/dontclickthis.txt -o -
01:22:57 <HackEgo> \ curl: (18) transfer closed with 182 bytes remaining to read \ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ERROR: The requested URL could not be retrieved</title> <style type="text/css"><!-- %l body :lang(fa)
01:23:17 <shachaf> wow my error messages aren't html5
01:23:27 <kmc> YOU'RE HOLDING BACK THE WEB
01:24:22 <ion> What does slbkbs mean?
01:24:22 <zzo38> They don't have to be HTML5.
01:24:55 <zzo38> You don't even need that many HTML tags in the error message.
01:28:32 <kmc> how does HTTP/0.9 indicate not found (if at all)
01:28:34 <zzo38> Simply <HTML><BODY><P><B>404 ERROR FILE NOT FOUND</B></P></BODY></HTML> might be good; perhaps add a second paragraph with a short explanation and links to relevant information if it seems necessary.
01:28:49 <zzo38> kmc: It doesn't indicate.
01:29:02 <ion> <b> is teh evil.
01:29:41 <elliott> zzo38: does it have to be in uppercase
01:29:44 <zzo38> You can use STRONG or H1 or something else instead
01:29:48 <ion> ELLIOTT: YES
01:30:01 <zzo38> elliott: No, you can be lowercase too if you want.
01:30:15 <ion> *implies b, strong and h1 are semantically similar*
01:32:58 <shachaf> imo <error><error-category>4</error-category><error-details>04</error-details></error>
01:33:53 <zzo38> You can also make it a plain text file if you do not need any HTML on the error message
01:35:39 <hagb4rd> why do you care about html? HTTP/5.1 401 punch line is corrupted or missing CRLF
01:38:03 <zzo38> It can be HTML but it does not have to be such a complicated one. (You might still want to use HTML if you want to contain a title, and possibly a link; it is unlikely that the error message needs a lot of fancy formatting)
01:39:54 <hagb4rd> hm. by default the webserve/browser have some templates to catch the HTTP status code and put it in sth liek html
01:41:34 <hagb4rd> i have never touched those.. mostly because it's hard to make it look good when things just do not work
01:44:25 <hagb4rd> i say a lot of bullshit when the day is long
01:44:47 <hagb4rd> the best way to find out is just not to shut up
01:45:33 <shachaf> it's "the right thing to do"
02:09:06 -!- Slereah has joined.
02:11:17 -!- Slereah_ has quit (Ping timeout: 255 seconds).
02:17:51 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:34:54 -!- augur has joined.
02:35:28 -!- Arc_Koen has quit (Quit: Arc_Koen).
02:43:21 -!- oerjan has joined.
02:43:38 -!- azaq23 has quit (Quit: Leaving.).
02:51:34 <HackEgo> bin \ brainfuck.fu \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ fueue.c \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ sudo \ %sudo \ test \ wisdom \ zalgo.hs
02:51:48 -!- fizzie has quit (Ping timeout: 264 seconds).
02:53:34 <oerjan> `run curl http://oerjan.nvg.org/esoteric -o - #I'm wondering if kmc actually got out of the sandbox at all, so trying my own site
02:53:36 <HackEgo> % Total % Received % Xferd Average Speed Time Time Time Current \ Dload Upload Total Spent Left Speed \
02:54:02 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ks: not found
02:54:05 <HackEgo> bin \ brainfuck.fu \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ fueue.c \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ sudo \ %sudo \ test \ wisdom \ zalgo.hs
02:54:21 <oerjan> `run curl http://oerjan.nvg.org/esoteric | tail -1 #I'm wondering if kmc actually got out of the sandbox at all, so trying my own site
02:54:22 <HackEgo> \ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ERROR: The requested URL could not be retrieved</title> <style type="text/css"><!-- %l body :lang(fa) { direction: rtl; font-size: 100%; font-family: Tahoma, Roya,
02:56:10 <kmc> why does it start with a declaration that farsi is a right to left language
02:56:15 -!- fizzie has joined.
03:00:26 <oerjan> fizzie: fungot deficiency!
03:05:29 <kmc> elliott: true enough
03:05:45 <kmc> shouldn't it just include some css straight from the govt of iran regarding the properties of farsi
03:05:48 <kmc> what could go wrong
03:13:58 -!- oerjan has quit (Quit: Argh).
03:15:54 -!- oerjan has joined.
03:19:43 -!- sebbu2 has joined.
03:19:43 -!- sebbu2 has quit (Changing host).
03:19:43 -!- sebbu2 has joined.
03:20:30 -!- sebbu has quit (Ping timeout: 264 seconds).
03:22:10 -!- augur has quit (Remote host closed the connection).
03:50:11 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de).
03:50:11 <zzo38> Well, such things are useful to include in the 404 error message result if you want the error message to be displayed in Farsi.
03:53:33 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
03:54:08 -!- augur has joined.
03:54:51 <zzo38> Maybe lambdabot expects to be working with only ASCII codes?
04:12:08 -!- monqy has quit (Quit: hello).
04:14:47 <oerjan> it used too, something broke in an update
04:15:09 <lambdabot> fd:9: commitBuffer: invalid argument (invalid character)
04:15:17 <lambdabot> echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "elliott!elliott@unaffiliated/elliott", msgCommand = "PRIVMSG", msgParams = ["#esoteric",":@echo \195\184"]} rest:"\
04:15:20 <kmc> i know one of @run and @type used to work
04:15:40 <oerjan> @let ø = 42; the_answer = ø
04:15:50 <shachaf> kmc: They both did at one point, didn't they?
04:15:56 <shachaf> This broke when Cale upgraded to GHC 7.4.
04:16:20 <shachaf> If I remember correctly, lambdabot both uses String to represent sequences of bytes and ByteString to represent Strings.
04:16:29 <shachaf> I might be misremembering, though.
04:16:58 <FreeFull> And it's bytestring encode doesn't do unicode?
04:19:22 <kmc> every programmer should be required to change his or her name to include at least one non-ASCII character
04:20:02 <FreeFull> elliott: Gives him that Czech feel
04:20:11 <shachaf> kmc already has LATIN LIGATURE NN in his name.
04:20:15 <kmc> sounds good to me
04:21:08 <FreeFull> kmc isn't his actual name though
04:22:10 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
04:22:57 <kmc> i have a ligature?
04:23:09 <elliott> FreeFull: I think you'll find that's not valid Haskell 2010.
04:23:18 <kmc> every time people talk about ligatures it reminds me of CSI
04:23:18 <elliott> Or maybe it's a valid operator?
04:23:28 <kmc> > generalCategory '…'
04:23:28 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
04:23:32 <kmc> SEE THAT USED TO WORK
04:23:43 <kmc> anyway it's OtherPunctuation
04:23:49 <FreeFull> ‥ is a valid operator (although not defined by default outside of JHC)
04:27:57 <FreeFull> Haskell 98 says Haskell uses unicode. No idea about 2010
04:28:27 <oerjan> ghc uses utf-8 for parsing code
04:28:31 <kmc> i don't remember, does it specify a character encoding for input files
04:28:41 <kmc> or is that an implementation concern
04:28:44 <oerjan> (With lenient comments)
04:28:45 <FreeFull> 2010 says the exact same thing
04:28:45 <shachaf> kmc: Maybe if we had your voice in #haskell advocating for equality and other Unicodey things, it would still work!
04:29:05 <FreeFull> "Haskell uses the Unicode [2] character set. However, source programs are currently biased toward the ASCII character set used in earlier versions of Haskell. "
04:30:20 <kmc> maybe the implication is that your encoding must agree with ASCII, at least as far as Haskell syntax is concerned
04:30:58 <shachaf> But UTF-16 is the only encoding.
04:31:08 <kmc> are haskell programs specified as sequences of bytes, or are they sequences of characters (with the encoding as bytes left up to the implementation, like e.g. directory layout or compiler flags)
04:31:18 <shachaf> (Little-endian, it goes without saying.)
04:31:23 <shachaf> Characters, I'm pretty sure.
04:32:02 <FreeFull> UTF-16 is only useful if you're using lots of characters that would be multiple bytes in UTF-8, and not many single-byte ones
04:32:37 <pikhq> And with gzip in the picture it's not a *big* win anyways.
04:35:32 <zzo38> I think GD3 tags in VGM format are UTF-16 encoding, although it doesn't say UTF-16 it just says 16-bits characters; therefore, VGMCK will convert UTF-8 to UTF-16 for GD3 tags (everything else in VGMCK is ASCII, except for comments, for which it doesn't care).
04:35:35 <zzo38> It does say: unsigned short *MyString=L"Track name";
04:35:46 <zzo38> Is that writing UTF-16 in Visual C++?
04:36:08 <pikhq> In Visual C++, yeah.
04:36:09 <kmc> UTF-16 is a pretty terrible encoding
04:36:17 <pikhq> I think that'd break horribly elsewhere.
04:36:28 <pikhq> Yeah. UTF-16 is a legacy-only encoding in my book.
04:36:45 <kmc> yet depressingly common :(
04:37:05 <pikhq> Hell, the notion that Unicode is 16-bit is common.
04:37:21 <zzo38> Well, I am not using any Unicode characters in my program; they are only read from the input file, only in GD3 tags, and those are in UTF-8 and are then converted to UTF-16 since that is what the VGM format requires.
04:37:27 <kmc> i'm embarassed to think back on how ignorant i was about all this stuff a few years ago
04:37:53 <zzo38> Therefore I am not using the L"..." syntax for anything.
04:38:19 <kmc> i'm increasingly of the opinion that CS curricula need to have a few classes that are like "look, we know most of you will become professional programmers, so here's some shit you need to know even though it's not computer science"
04:38:38 <kmc> don't think i felt this way in college
04:38:43 <kmc> because i thought you could learn all that on your own
04:38:46 <kmc> and you can... eventually
04:38:58 <kmc> but you'll labor under various misconceptions for years
04:39:05 <pikhq> "Here, all you need to know about build systems. Here, all you need to know about character encodings. etc."
04:39:06 <zzo38> kmc: Yes, that is probably true, you should learn stuff relating to programming computer even if not directly related to CS.
04:39:19 <zzo38> pikhq: Yes, those are some examples.
04:39:23 <shachaf> pikhq: What do I need to know about build systems?
04:39:29 -!- sebbu has joined.
04:39:29 -!- sebbu has quit (Changing host).
04:39:29 -!- sebbu has joined.
04:39:38 <kmc> Ludovico technique to teach the students why to use version control
04:39:38 <shachaf> All I know is that they're all horrible.
04:39:48 <pikhq> shachaf: How to fucking write a sane makefile for one.
04:39:58 <elliott> kmc: well it doesn't help that CS can't decide whether it wants to be engineering or mathematics
04:40:01 <shachaf> pikhq: I've never seen such a thing.
04:40:04 <pikhq> They're horrible, but the only thing worse than common buildsystems is incompetent people *using* them.
04:40:17 <kmc> shachaf: build.sh is great! for small projects
04:40:19 <kmc> elliott: yeah
04:40:33 <pikhq> shachaf: This is because you've never seen me crack out make by hand. :P
04:40:43 <pikhq> And, yes, version control.
04:40:50 <pikhq> Probably git, but definitely version control in general.
04:40:55 -!- sebbu2 has quit (Ping timeout: 260 seconds).
04:41:04 <kmc> elliott: i think the faculty skew theoretical (because everyone who does applied stuff left to make megabucks) but they need to attract undergrads so they teach the industrially useful thing, programming, and do it poorly
04:41:07 <zzo38> Computer science doesn't have to do with computers any more than astronomy with telescopes. Computer science is not really science.
04:41:29 -!- monqy has joined.
04:41:37 <pikhq> zzo38: Yes, but computer science curricula in practice are voc ed that doesn't realize it.
04:41:50 <HackEgo> 189) <zzo38> Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly) \ 749) <zzo38> A lot of things happened; not only me, but also you \ 306) <zzo38> <elliott> <quintopia> i know it's unusual, but i agree with you both to some extent \ 868) <zzo38> What is portabl
04:42:08 <shachaf> Oh, man, I forgot about Professional Octopus of the World.
04:42:11 <kmc> there's a tradeoff of course, theory and compilers and systems is good and people should learn that too
04:42:15 <oerjan> zzo38: 749 is quote poetic
04:42:16 <kmc> and it's maybe harder to learn on your own
04:43:40 <oerjan> are control characters 14-26 used for anything of consequence nowadays?
04:43:45 <lambdabot> *** "course" wn "WordNet (r) 3.0 (2006)"
04:43:46 <lambdabot> adv 1: as might be expected; "naturally, the lawyer sent us a
04:43:46 <lambdabot> huge bill" [syn: {naturally}, {of course}, {course}]
04:43:49 <lambdabot> n 1: education imparted in a series of lessons or meetings; "he
04:43:51 <lambdabot> took a course in basket weaving"; "flirting is not unknown
04:43:53 <lambdabot> in college classes" [syn: {course}, {course of study},
04:43:57 <lambdabot> 2: a connected series of events or actions or developments; "the
04:44:00 <zzo38> oerjan: It depends on the program, I think
04:44:16 <shachaf> oerjan: zzo38 uses them extensively, I'm sure.
04:44:22 <zzo38> For example, you might use shift out and shift in to switch character sets.
04:46:34 -!- quintopia has quit (Ping timeout: 256 seconds).
04:50:00 <kmc> linux console will interpret SO / SI to switch to alternate graphic mode (line drawin' and such)
04:50:07 <kmc> but this doesn't work in xterm so i doubt it's used much
04:50:38 <kmc> i think there should be a trend of using these characters
04:50:46 <kmc> it's like REST but moreso
04:51:30 <zzo38> kmc: I use it when working with Linux. If it doesn't work with xterm then xterm needs to be fixed.
04:51:34 <kmc> oh DC1 and DC3 are used for XON / XOFF software flow control
04:51:45 <kmc> on serial links
04:51:52 * shachaf always confuses "flow control" and "control flow"
04:52:02 <kmc> flow control based control flow
04:52:25 <kmc> maybe http://www.linusakesson.net/programming/pipelogic/index.php is a little like that?
04:57:20 -!- quintopia has joined.
05:01:53 -!- quintopia has quit (Ping timeout: 248 seconds).
05:03:19 -!- quintopia has joined.
05:12:06 -!- Frooxius has quit (Ping timeout: 245 seconds).
05:33:18 -!- Sgeo_ has joined.
05:33:53 -!- Sgeo has quit (Read error: Connection reset by peer).
05:58:51 -!- sebbu2 has joined.
05:59:32 -!- sebbu has quit (Ping timeout: 248 seconds).
06:12:48 <ais523> kmc: DC1 and DC3 still have that effect in some terminals / terminal emulators noadays
06:13:01 <ais523> if you forget to tell the kernel off, pressing control-S will freeze the output
06:13:07 <ais523> and you need to control-Q to start it again
06:13:14 <ais523> err, tell the kernel to turn it off
06:13:27 <ais523> kmc: are you sure SI/SO doesn't work in xterm?
06:13:30 <Sgeo_> "This is a great opportunity for you!
06:13:31 <Sgeo_> I saw you have Javascript on your resume and thought you'd be a great fit for this company that is looking for someone to join their QA team to test Java apps!
06:13:39 <ais523> Sgeo_: didn't you quote this already?
06:13:42 <Sgeo_> (not actual thing I received, just some thing on some website)
06:13:42 <ais523> or is this someone else?
06:13:56 <kmc> ais523: not positive, i think i tested it a while ago
06:14:20 <Sgeo_> Some website claiming to be a recruiter-free way to connect with companies. Regardless of that, that snippit seems so... accurate
06:14:38 <ais523> Sgeo_: email is also a recruiter-free way to contact companies
06:15:04 <monqy> but is email a way to connect with them?
06:15:47 <shachaf> monqy: do you understand "string diagrams"
06:15:58 <ais523> hmm… printf '\x0e' turns to DEC line drawing in the Linux console, but not in gnome-terminal
06:16:06 <monqy> shachaf: i think i'v seen them once? what's to know about them
06:16:19 <shachaf> monqy: well you know the proof that an adjunction gives you a monad
06:16:25 <ais523> so this is why NetHack does it the long way around :)
06:18:03 <ais523> printf '\x1b)0' seems to be the portable way to get into DEC line drawing mode
06:18:09 <ais523> not sure if that works in screen, though
06:19:11 <ais523> conclusion: screen and gnome-terminal support a disjoint set of characters for going into DECgraphics mode
06:19:55 <ais523> further conclusion: the portable way to enter DECgraphics mode is to combine the codes, '\x0e\x1b)0' (and '\x0f\x1b)0' to leave it)
06:20:20 <Sgeo_> Russia was hit by meteors
06:21:58 <kmc> ais523: '\e(0' does it for me in screen, xterm, and gnome-terminal
06:22:29 <kmc> designate G0 character set
06:23:00 <kmc> whereas \e) is for G1... perhaps xterm interprets it also as "switch to G1"
06:24:06 <ais523> kmc: my gnome-terminal seemed to be in G1 not G0, though
06:24:24 <ais523> hmm… perhaps SI and SO /do/ work in gnome-terminal, it just has the character sets the same by default
06:24:46 <kmc> yeah i think that's the case in xterm as well
06:24:48 <ais523> yeah, that seems to be it
06:25:12 <kmc> if you do \e)0 then \x0e will switch into line drawing
06:26:00 <ais523> so yeah, conclusions: first you have to configure G0 and G1, because they don't have consistent defaults
06:26:07 <ais523> then you can SI and SO back and forth as much as you like
06:29:26 <kmc> there's another layer of indirection even: http://en.wikipedia.org/wiki/ISO/IEC_2022#Code_structure
06:29:51 <kmc> you can decide which of G0,G1,G2,G3 is represented by 0x20-0x7F, and separately which is represente dby 0xA0-0xFF
06:30:01 <kmc> in a true 8-bit ISO-2022 terminal anyway
06:30:10 <kmc> not sure how to test this because all my stuff is configured for UTF-8 thankfully
06:32:23 <kmc> maybe that's not an extra layer just an extra degree of freedom
06:32:31 <kmc> my head hurts thinking about ISO 2022
06:35:46 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
06:36:08 <EgoBot> userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp.
06:36:17 <EgoBot> Installed user interpreters: about acro aol austro bc bct bf2c bfbignum brit brooklyn bypass_ignore bytes cat chaos chiqrsx9p choo cmd cpick ctcp dc decide drawl drome dubya echo ehird elmer fudd glogbot_ignore google graph hello helloworld id inc insanetemp jethro kraut lg lperl lsh map monqy num numberwang ook pansy pi pikhq ping pirate plot postmodern postmodern_aoler prefixes python python2 redneck reverse rimshot rot13 rot47 ruby_ sadbf sanetemp sfedeesh sf
06:36:49 <monqy> does anyone remember what monqy does
06:36:59 <EgoBot> That is not a user interpreter!
06:37:09 <shachaf> monqy: mostly makes up bad puns..........
06:37:15 <oerjan> not even EgoBot it seems
06:37:26 <EgoBot> haskell import Data.Char; main = mapM_ (putChar . toLower) getContents
06:37:54 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
06:37:54 <EgoBot> \ /tmp/runghcXXXX3979.hs:1:52: \ Couldn't match expected type `[Char]' with actual type `IO String' \ In the second argument of `mapM_', namely `getContents' \ In the expression: mapM_ (putChar . toLower) getContents \ In an equation for `main': \ main = mapM_ (putChar . toLower) getContents
06:38:17 <EgoBot> Interpreter monqy deleted.
06:38:17 <shachaf> wow monqy you don't even typecheck
06:38:51 <oerjan> !addinterp monqy haskell import Data.Char; main = interact (map toLower)
06:38:51 <EgoBot> Interpreter monqy installed.
06:39:06 <EgoBot> runghcXXXX4253.hs: <stdin>: hGetContents: invalid argument (Invalid argument) \ runghcXXXX4253.hs: epollWait: invalid argument (Bad file descriptor) \ runghcXXXX4253.hs: ioManagerDie: write: Bad file descriptor
06:39:19 -!- fungot has joined.
06:39:37 <oerjan> Gregor: you've managed to break even _EgoBot_ !haskell?
06:40:15 <fizzie> fungot: You're not doing anything special most of the time, how about you write yourself a Haskell implementation?
06:40:15 <fungot> fizzie: we can make our own way back machine to archive esoteric pages.... i think
06:40:33 <oerjan> @tell Gregor you've managed to break EgoBot !haskell?
06:40:35 <fizzie> fungot: I'm sure that's theoretically possible, but is it wise?
06:40:35 <fungot> fizzie: compiling s48 right now :) it'd very easy to define
06:41:43 -!- nooodl_ has quit (Read error: Connection reset by peer).
06:42:43 <oerjan> `run ghc -e 'putStrLn "Is HackEgo's haskell working now?"'
06:42:45 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file
06:43:17 <oerjan> `run ghc -e 'putStrLn "Is HackEgo'\''s haskell working now?"'
06:43:24 <HackEgo> Is HackEgo's haskell working now?
06:43:58 <oerjan> `fetch https://raw.github.com/catseye/Emmental/master/src/emmental.hs
06:44:01 <HackEgo> 2013-02-15 06:44:00 URL:https://raw.github.com/catseye/Emmental/master/src/emmental.hs [11866/11866] -> "emmental.hs" [1]
06:44:14 <oerjan> `run ghc --make emmental.hs
06:44:20 <HackEgo> [1 of 1] Compiling Main ( emmental.hs, emmental.o ) \ \ emmental.hs:1:1: \ The function `main' is not defined in module `Main'
06:52:50 -!- impomatic has joined.
07:16:29 <oerjan> `fetch http://oerjan.nvg.org/esoteric/emmental.hs
07:16:34 <HackEgo> 2013-02-15 07:16:33 URL:http://oerjan.nvg.org/esoteric/emmental.hs [12310/12310] -> "emmental.hs" [1]
07:16:39 -!- epicmonkey has joined.
07:16:39 <oerjan> `run ghc --make emmental.hs
07:17:08 <HackEgo> [1 of 1] Compiling Main ( emmental.hs, emmental.o ) \ Linking emmental ...
07:17:16 <HackEgo> bin \ brainfuck.fu \ canary \ dbg.out \ egobot.tar.xz \ emmental \ emmental.hi \ emmental.hs \ emmental.o \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ fueue.c \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ sudo \ %sudo \ test \ wisdom \ zalgo.hs
07:18:05 <oerjan> `run mv fueue.c emmental.hs src
07:18:25 <HackEgo> bin \ brainfuck.fu \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ src \ sudo \ %sudo \ test \ wisdom \ zalgo.hs
07:18:41 <HackEgo> cat \ perl \ python \ ruby
07:19:55 <oerjan> `run diff quotes quotese
07:19:57 <HackEgo> 1d0 \ < <Aftran> I used computational linguistics to kill her. \ 3,4c2,3 \ < <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ < <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ --- \ > <Quas_NaArt> Hmmm... My fing
07:20:20 <HackEgo> <Slereah> EgoBot just opened a chat session with me to say "bork bork bork"
07:20:26 -!- Halite has joined.
07:20:46 <HackEgo> Thihs chahnnehl ihs ahbouht prohgrahmmihng -- fohr the ohthehr kihnd ohf ehsohtehrihca, try #ehsohtehrihc ohn ihrc.dahl.neht.
07:21:04 <Halite> `run mkdir /home/hackbot/sudo
07:21:05 <HackEgo> mkdir: cannot create directory `/home/hackbot/sudo': Permission denied
07:21:20 <Halite> `run install sudo /home/hackbot/sudo
07:21:21 <HackEgo> install: omitting directory `sudo'
07:22:26 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: hh: not found
07:22:36 <HackEgo> bash: estorica: command not found
07:22:38 <oerjan> `run emmental -d '#65.'
07:22:39 <HackEgo> State "\NUL" "" \ State "\ACK" "" \ State "A" "" \ AState "" ""
07:23:11 <HackEgo> bash: sudo: command not found
07:24:30 <shachaf> Are you Hafydd? Or whoever that o=was.
07:24:44 <HackEgo> bash: shutdown: command not found
07:25:07 <Halite> `run rm /home/hackbot/hackbot.hg/
07:25:09 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/': Is a directory
07:25:38 <oerjan> @tell Gregor mind you, HackEgo's haskell seems to be working great.
07:26:38 <Halite> `run echo "No output."
07:26:48 <HackEgo> bash: error: command not found
07:26:50 <shachaf> `ghc -e 'putStrLn "oerjan: can you stick a comonad between the F and G of the comonad you get from an adjunction?"`
07:26:53 <HackEgo> ghc: unrecognised flags: -e 'putStrLn "oerjan: can you stick a comonad between the F and G of the comonad you get from an adjunction?"` \ Usage: For basic information, try the `--help' option.
07:26:56 <HackEgo> bash: throe: command not found
07:27:25 <oerjan> shachaf: HOW SHOULD I KNOW
07:27:28 <Halite> `run while (true); do echo "hi"
07:27:30 <HackEgo> bash: -c: line 1: syntax error: unexpected end of file
07:27:50 <shachaf> oerjan: Well, you know about adjunctions, right?
07:28:13 <shachaf> You know how when F -| G and M is a monad, GMF is a monad?
07:28:51 <oerjan> i didn't know that, but i guess it makes sense if there's a category of adjunctions so you can compose things
07:29:46 <shachaf> Well, when F -| G, GF is a monad and FG is a comonad, right?
07:30:04 <oerjan> as in, i assume it's because M = G'F' and you can split it into GG' and F'F being another adjunction
07:30:34 <shachaf> Hmm, can you compose adjunctions like that when they go all over the place into different categories?
07:30:47 <oerjan> so, if FG and F'G' are comonads, i assume it would work the other way
07:31:05 <oerjan> i don't know if adjunctions compose, but it would be the easiest way to make what you say true
07:31:40 <Halite> `run while (true); do echo "hi"; done;
07:31:47 <oerjan> the categories would fit in the right place, i think
07:31:57 <shachaf> So then you take it as an adjunction into Kleisli D, or something.
07:31:57 <HackEgo> hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \ hi \
07:32:34 <Halite> `run echo "I survived!"
07:32:42 <shachaf> HackEgo: You should stop that.
07:32:48 <shachaf> You're spamming the channel. It's annoying.
07:33:05 <monqy> mistab of funpun, shachaf?
07:33:37 <shachaf> Halite: You should stop making HackEgo spam the channel.
07:33:49 <shachaf> monqy: they were both doing it......
07:33:54 <zzo38> Filter out HackEgo's messages if you don't want it
07:34:07 <Halite> `run while (true); do echo "HackEgo is awesome"; done;
07:34:11 <HackEgo> HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awesome \ HackEgo is awe
07:34:14 <zzo38> Filter out Halite's messages if you don't want it.
07:34:42 <Halite> `run echo "Halite says 'Please don't filter out my messages!'";
07:34:43 <HackEgo> Halite says 'Please don't filter out my messages!'
07:34:52 <zzo38> Halite: I think you can make HackEgo by private messages too.
07:35:01 <shachaf> oerjan: Hmm, it seems that they do compose so what you said works out.
07:35:22 <Halite> `run echo "Halite says 'NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO DON'T";
07:35:24 <HackEgo> Halite says 'NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO DON'T
07:35:43 <shachaf> So I guess everything works the same way with comonad.
07:35:50 <monqy> does hackego have an “ignore list„
07:36:09 <shachaf> monqy: Gregor said so, I think.
07:36:42 <shachaf> oerjan: Does this mean you can't have an adjunction between Hask and Haskop one way?
07:36:48 <shachaf> Nontrivial adjunction, I mean.
07:37:09 <Halite> `run echo "Halite says 'Please don't filter out my messages!'";
07:37:10 <HackEgo> Halite says 'Please don't filter out my messages!'
07:37:22 <monqy> halite please stop
07:37:40 -!- epicmonkey has quit (Ping timeout: 248 seconds).
07:38:31 <Halite> `run echo "Halite says 'Please don't filter out my messages then!'";
07:38:32 <HackEgo> Halite says 'Please don't filter out my messages then!'
07:38:59 <Halite> `run echo "Halite says 'Please don't filter out my messages then!'";
07:39:00 <HackEgo> Halite says 'Please don't filter out my messages then!'
07:39:24 <monqy> i'm not ignoring you oh my god stop being a child about this
07:39:41 <shachaf> monqy: do you "hate children"
07:39:50 <Halite> `echo I hate children haters
07:39:58 <shachaf> most of them aren't as annoying as Halite though................
07:40:06 <monqy> shachaf: good point
07:40:13 <Halite> shachaf, I don't mean to be annoying
07:40:33 <monqy> i don't actually hate children
07:40:40 <monqy> just hate it when children act childish!!!
07:40:48 <monqy> and also adults act childish
07:40:58 <shachaf> does childish mean "like a child"
07:41:01 <monqy> does this make me "childishist"
07:41:16 <monqy> like a stereotypical child i guess
07:41:25 <monqy> immature, whiny, yada yada
07:41:34 <fizzie> monqy: I think it makes you a "cichlid".
07:41:41 <shachaf> "immature" "stereotypical child" more ageism!!
07:43:10 <monqy> shachaf: are you saying that all children are whiny and immature??? maybe it is you who are the ageist
07:43:33 <Halite> monqy, no. You're just ageist.
07:43:42 <shachaf> monqy: are you putting words into my mouth
07:44:10 <shachaf> Halite: It would be best for everyone involved if you just stopped.
07:44:46 <Halite> `echo shachaf: Be nice. That is ageist.
07:44:47 <HackEgo> shachaf: Be nice. That is ageist.
07:45:05 -!- ChanServ has set channel mode: +o oerjan.
07:45:32 <Halite> oerjan: I'm being myself.
07:45:39 <fizzie> Stop being yourself, then.
07:45:49 <fizzie> (If that's what it's like.)
07:46:19 <Halite> fizzie, I can't. Everyone says 'be yourself'.
07:46:44 <zzo38> Halite: Send messages by private to HackEgo.
07:47:23 <elliott> Halite: Shut the fuck up and stop annoying everyone and stop being difficult when people repeatedly tell you to stop.
07:47:37 <elliott> If you define yourself by way of being an irritating shit then you'll get treated as one.
07:59:51 -!- Halite has changed nick to Halite[Sad].
08:00:15 -!- Halite[Sad] has changed nick to Halite.
08:01:04 <Halite> I'm a little child who is just interested in programming.
08:01:18 <Halite> However annoying I may seem, I don't mean to be annoying.
08:01:35 <Halite> By the way, I do have a social disability.
08:01:37 <elliott> I think if you want to not be sad you should perhaps consider everyone else in the channel who sees a couple of pages of pointless HackEgo spam and asks you to stop.
08:01:41 <elliott> I take back what I said, though.
08:01:58 <monqy> Halite: if you don't mean to be annoying could you please put some effort into it then
08:13:03 <Halite> monqy, btw, do you prefer that I use a logic table boolean operation or a NAND
08:13:10 <Halite> for my programming language
08:14:04 <monqy> what are you talking about?
08:14:14 <Halite> monqy, my programming language will have one boolean operation only. What should this operation be
08:14:49 -!- nooga has joined.
08:14:52 <monqy> what sort of programming language are you going for?
08:17:07 <Deewiant> If you have only one it can only be NAND or NOR if you want all Boolean operations to be possible
08:17:48 <shachaf> imo the best boolean operation is XOR
08:18:23 <Deewiant> Unfortunately it's not functionally complete
08:18:43 <shachaf> That's part of being the best.
08:18:57 <shachaf> I mean that the required properties for being the best are incompatible with being functionally complete.
08:19:52 -!- Bike has joined.
08:21:43 <fizzie> But they told us in school that all the 16 binary Boolean functions are equally worthy of love and affection, and none of them is in any way "wrong" or "bad". :/
08:22:15 <zzo38> fizzie: Perhaps not of themself, but they can be worse/better for certain circumstances.
08:22:32 -!- aloril has quit (Ping timeout: 276 seconds).
08:22:56 <HackEgo> Bike: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
08:23:09 -!- carado has joined.
08:23:57 <oerjan> <shachaf> That's part of being the best. <-- in that case i recommend ternary majority voting
08:23:59 <Bike> I should check out the dal channel sometime, if only to see if they mention "the other kind of esoterica" and link to here.
08:24:33 <elliott> Bike: actually I scouted them out
08:24:43 <elliott> as in the nth person came in and I literally searched several networks for an active channel about esoterica
08:24:48 <elliott> and asked them if we could point people their way
08:24:59 <elliott> they were sort of confused
08:25:08 <elliott> in both the local and global sense
08:29:27 <elliott> Deewiant: they were confused about me asking if I could point people their way
08:29:30 <elliott> Deewiant: they were also confused.
08:29:50 <Bike> man i hope there are kabbalists or some shit
08:31:03 <Bike> it's just not the same
08:31:14 <Bike> ever since the lumber cabal fell i..... i've just felt so empty
08:35:14 -!- aloril has joined.
08:40:36 -!- epicmonkey has joined.
08:48:46 -!- sivoais has quit (Ping timeout: 245 seconds).
08:51:31 -!- sivoais has joined.
09:09:58 -!- Taneb has joined.
09:17:24 -!- sebbu2 has quit (Ping timeout: 248 seconds).
09:18:14 -!- sebbu has joined.
09:18:14 -!- sebbu has quit (Changing host).
09:18:14 -!- sebbu has joined.
09:25:40 <Taneb> oerjan more like OPerjan
09:25:54 -!- oerjan has set channel mode: -o oerjan.
09:27:43 <shachaf> wait why did Taneb get pun of the century
09:27:54 <shachaf> the century isn't even over yet
09:27:58 <shachaf> what if monqy makes a really good pun
09:28:25 <shachaf> so elliott will regret his folly
09:29:14 <Bike> Maybe elliott meant the century ending precisely after Taneb said that.
09:29:43 <shachaf> Still, some pretty good puns have been made in the last 100 years.
09:29:56 <shachaf> Bike: Do you know what adjunctions are?
09:30:20 <Taneb> shachaf, I know what adjunctions are, should I be worried?
09:30:57 <shachaf> Can you give me an adjunction : Hask -> Hask^op?
09:33:46 <Taneb> Because I never learnt the notation!
09:39:00 -!- Halite has quit (Remote host closed the connection).
09:39:01 <shachaf> Taneb: OK, can you give me an adjunction between Hask and Hask^op?
09:39:27 <Taneb> (what does Hask^op mean?)
09:39:42 <monqy> have you ever heard of "opposite category"
09:40:47 -!- Taneb has quit (Quit: DUNGEONS OF DREDMOR TIME).
09:41:05 <shachaf> monqy: you know how bicategories can have three duals??
09:41:15 <oerjan> shachaf: isn't the adjunction between (-> r) and itself from Hask to Hask^op (or is it the other way around) what gives the Cont monad?
09:41:30 <shachaf> oerjan: Right. I mean one the other way around from that.
09:41:37 <Bike> three duals <-- words, meaning things
09:42:10 <shachaf> There's the obvious adjunction (-> r) -| (-> r), where you have (a -> r) <- b === a -> (r -> b)
09:42:36 <shachaf> But I think there isn't a (nontrivial) adjunction the other way around?
09:43:01 -!- Bike has quit (Quit: leaving).
09:44:04 <oerjan> i assume you've thought much more about this than me, anyway.
09:44:48 <shachaf> oerjan: edwardk's argument was along the lines of:
09:45:02 <shachaf> If F -| G, F : Hask^op -> Hask, G : Hask -> Hask^op
09:45:25 <shachaf> Then GF is a monad in Hask^op, i.e. a comonad in Hask
09:45:51 <shachaf> And GMF is a monad in Hask^op too, where M is a monad in Hask
09:46:12 <shachaf> And therefore you'd get a comonad with a Haskell monad sandwiched in the middle.
09:46:23 <shachaf> oerjan: By your own argument...
09:46:43 <shachaf> Composing adjunctions and all that.
09:47:51 <shachaf> And this would let you e.g. write something like m a -> a?
09:48:56 <oerjan> sounds reasonable, unless the G and F manage to neutralize the monad somehow
09:49:17 <shachaf> So you can make Const Void or something.
09:49:32 <shachaf> Which is a pretty boring functor but gives you a comonad.
09:49:42 <shachaf> Can you make anything more interesting?
09:50:52 <oerjan> i'd have bet edwardk, naturally :P
09:53:33 -!- Phantom_Hoover has joined.
09:54:07 -!- monqy has quit (Quit: hello).
09:59:45 <ais523> hmm… does Void have one possible value, or no possible values?
09:59:52 <ais523> I'm guessing none, because () already exists
10:00:28 <shachaf> It has one value. () has two.
10:00:46 <oerjan> in a terminating language, none, but haskell is lazy and has bottom values
10:08:35 <zzo38> Const Void gives you the Initialize comonad for Haskell (there is a Initialize comonad for every initial object in any category)
10:10:12 <zzo38> OK, maybe it should be Initiate?
10:56:28 -!- zzo38 has quit (Remote host closed the connection).
11:24:34 -!- oerjan has quit (Quit: leaving).
11:26:18 -!- ais523 has quit.
11:51:03 <elliott> so russia today literally reported "Urals meteorite shot down by Russian air defense — military source."
11:51:06 <elliott> Phantom_Hoover: appreciate this with me
11:51:17 <elliott> "it's ok guys... we shot the fucking meteorite"
11:51:51 <elliott> in russia's defence, they have a multitude of forces
11:51:58 <elliott> such as meteorite-shooting guns
11:52:03 <elliott> that they use to defend russia
11:52:10 <elliott> WHERE DOES IT SAY MISSILES
11:52:24 <elliott> no they just shot it with a bullet and it died
11:53:23 <elliott> Phantom_Hoover: i'm just trying to imagine what they're trying to get their readers to envision
11:53:30 <elliott> ok you guys shot a meteorite
11:53:43 <shachaf> elliott: well otherwise it would just keep flying around wouldn't it
11:53:49 <shachaf> terrorizing the population
11:53:52 <elliott> no shachaf that's called a planet
11:54:09 -!- azaq23 has joined.
11:54:29 -!- azaq23 has quit (Max SendQ exceeded).
11:54:41 <Phantom_Hoover> but the thing is that when that happens, you end up with an airburst in the atmosphere which i suspect could easily end up being more destructive
11:55:12 <elliott> maybe they just saw an opportunity to cause a really big explosion
11:55:16 <elliott> a meteorite-shaped opportunity
11:55:24 <elliott> and they took it (took, v. to shoot at and hence blow up)
11:55:34 -!- azaq23 has joined.
11:55:41 <Phantom_Hoover> it must've been hard on them in the long years since the nuclear test ban
11:55:53 -!- azaq23 has quit (Max SendQ exceeded).
11:56:24 <elliott> Phantom_Hoover: here is a really big boom for you http://www.youtube.com/watch?v=b0cRHsApzt8
11:56:29 -!- azaq23 has joined.
11:56:46 <Phantom_Hoover> i think that's actually the sonic boom, not it blowing up
11:57:18 <elliott> I said it is a boom Phantom_Hoover
11:57:20 <elliott> what more do you fucking want
11:58:50 <Phantom_Hoover> according to north korea their nuclear test was carried out "in a safe and perfect manner"
11:59:11 <Phantom_Hoover> and posed no impact on the surrounding ecological environment
11:59:36 <fizzie> http://www.youtube.com/watch?v=JPC8W672mXc <- Sonic Boom.
12:00:04 <elliott> fizzie: did you just google "sonic boom"
12:01:17 <fizzie> No, I youtube'd "sonic boom", to find that particular video.
12:15:38 -!- hagb4rd has joined.
12:20:00 -!- sebbu has quit (Ping timeout: 260 seconds).
12:26:55 -!- copumpkin has quit (Ping timeout: 252 seconds).
12:27:32 -!- copumpkin has joined.
12:31:49 -!- sebbu has joined.
12:31:49 -!- sebbu has quit (Changing host).
12:31:49 -!- sebbu has joined.
12:39:32 -!- sebbu has quit (Ping timeout: 248 seconds).
12:52:26 -!- sebbu has joined.
12:52:26 -!- sebbu has quit (Changing host).
12:52:26 -!- sebbu has joined.
13:02:28 -!- sebbu has quit (Ping timeout: 248 seconds).
13:10:48 -!- sebbu has joined.
13:10:48 -!- sebbu has quit (Changing host).
13:10:48 -!- sebbu has joined.
13:40:46 -!- augur has quit (Remote host closed the connection).
13:50:21 -!- glogbackup has joined.
14:14:27 -!- sebbu has quit (Ping timeout: 248 seconds).
14:21:05 -!- Phantom_Hoover has quit (Quit: Leaving).
14:21:38 -!- Phantom_Hoover has joined.
14:21:55 -!- Arc_Koen has joined.
14:22:09 -!- sebbu has joined.
14:22:41 -!- augur has joined.
14:31:27 -!- boily has joined.
14:59:38 -!- sebbu2 has joined.
15:00:20 -!- sebbu has quit (Ping timeout: 248 seconds).
15:24:44 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
15:24:58 -!- sebbu2 has changed nick to sebbu.
15:55:31 -!- Taneb has joined.
15:59:00 -!- sebbu has quit (Ping timeout: 248 seconds).
16:28:30 -!- Taneb has quit (Quit: Leaving).
16:32:18 -!- Phantom_Hoover has joined.
16:39:35 <Sgeo_> wtf is this word "transcompiles"
16:39:59 <kmc> i think it just means "compile" when the target language is not super low level
16:40:02 <kmc> pretty arbitrary
16:41:36 <Slereah> I think it's a surgery to change your compiler
16:44:44 <boily> it's a compiler that's bad for your health, by opposition to unsaturated ones.
16:45:40 -!- carado has quit (Ping timeout: 256 seconds).
16:46:07 <kmc> now i want to know what a cispiler is
16:51:35 -!- Frooxius has joined.
16:55:12 -!- sebbu has joined.
16:55:12 -!- sebbu has quit (Changing host).
16:55:12 -!- sebbu has joined.
16:57:02 -!- Halite has joined.
17:04:44 -!- kallisti has joined.
17:04:45 -!- kallisti has quit (Changing host).
17:04:45 -!- kallisti has joined.
17:06:03 <Phantom_Hoover> a compiler with the same source and target languages, duh
17:16:34 <Halite> what should I add to SaltScript
17:18:59 <Halite> ok, I'll make another BF-like language if you don't listen to those developing better languages
17:20:04 -!- Halite has quit (Changing host).
17:20:04 -!- Halite has joined.
17:23:06 -!- oerjan has joined.
17:23:13 -!- hagb4rd has quit (Ping timeout: 248 seconds).
17:23:26 <Arc_Koen> do you think C++ would be adapted to write an engine for interactive fiction?
17:23:32 <Arc_Koen> I thought maybe Ocaml would be better
17:24:21 <Phantom_Hoover> really, your enthusiasm is ok but jesus, have some humility
17:24:37 <Halite> Phantom_Hoover, not again. I just enter the channel and you go off.
17:25:03 <Halite> Phantom_Hoover, nothing to go off on
17:25:47 <Phantom_Hoover> other than demanding we all listen to you about your fantastic language
17:26:37 <Halite> Phantom_Hoover, I am just asking what I should add to my language. I'm not showing off or demanding at all.
17:28:13 <Phantom_Hoover> a good starting point would be actually giving any details about it first
17:29:47 <Halite> ok, then, Phantom_Hoover.
17:31:21 <Halite> Commands: set(varname,value) rvar(name) ifthen(test,func) ifelse(test,func,other) oper(table,x,y) tfToBinary(tf) binaryToTf(bin) print(text,nl)
17:32:30 <Halite> If you want, ask about a command. When you want, tell me a suggestion.
17:32:53 <Halite> I find oper() interesting.
17:33:50 <Halite> oper(table,x,y) is the only boolean operation existant in SaltScript. It takes in a logic table, x, and y, and returns a true or false value.
17:34:21 <Halite> Table is an integer, x is a boolean value, and y is also a boolean value.
17:34:59 <Arc_Koen> so the integer should be between 0 and 15?
17:36:00 <Arc_Koen> Phantom_Hoover: please don't contradict me when I utter random numbers
17:36:17 <Halite> Phantom_Hoover, wrong. It's in between 0 and 15.
17:36:47 <Halite> table is in between 0 and 15. 8 would make the function act as an AND gate.
17:37:07 * oerjan swats Phantom_Hoover -----###
17:37:15 <Halite> Phantom_Hoover, it's a 3-argument function I made up. It is functionally complete.
17:37:29 <Arc_Koen> Phantom_Hoover: are you assuming some kind of commutativity?
17:38:15 <Halite> The language has the 3-arg function and recursion, making it Turing complete
17:38:36 <Arc_Koen> Halite: I'm don't believe that's enough of a proof
17:38:53 <Halite> Arc_Koen, someone said it could be Turing complete
17:39:09 <Arc_Koen> Halite: I don't believe that's enough of a proof, either!
17:39:26 <Phantom_Hoover> no unbounded integer manipulation, no arrays, no functions
17:39:49 <Arc_Koen> for instance someone once said I could go to the ENS (which is, basically, the best school in france)
17:40:30 <oerjan> it's even in the name, it's superior
17:40:55 <Arc_Koen> as it turned out saying it wasn't enough
17:41:22 <Arc_Koen> Halite: to be turing-complete you need some kind of unbounded memory
17:41:23 <Halite> *Update* New function proc(name,func) creates a new function!
17:41:52 <Arc_Koen> so it takes a function as an argument and returns a function?
17:42:40 <Halite> Arc_Koen, proc(name,func) doesn't return a function. It sets SaltScript[name] to func and then end of function occurs.
17:43:08 <Halite> Phantom_Hoover, the code of the custom function
17:43:54 <Halite> for example, proc('AND',function (x,y) { return SaltScript.oper(8,x,y); });
17:43:54 <Arc_Koen> hint: they're functions, without a name
17:44:20 <Sgeo_> I find the whole "with/without a name" thing to be icky
17:44:33 <Halite> Phantom_Hoover, my programming language is an object with anonymous functions being assigned to property named and turning into named functions
17:44:47 <Sgeo_> fix (\f x -> if x == 0 then 1 else x * f (x - 1))
17:44:52 <Arc_Koen> that's too many complicated words for me
17:44:56 <Sgeo_> Does that function have a name (f)?
17:45:44 <Halite> Sgeo_, no. But you can't multiply x by a function unless you multiply x by a function's return value.
17:45:58 <oerjan> Halite: can functions be arguments of functions?
17:46:14 <Halite> oerjan, yes. Functions can be arguments of functions.
17:46:37 <Sgeo_> Halite, the precedence rules of Haskell mean that I am multiplying by the return value
17:46:41 <Sgeo_> > fix (\f x -> if x == 0 then 1 else x * f (x - 1)) 5
17:47:15 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
17:47:57 <Halite> `echo "; echo "it work";
17:48:11 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: echo;: not found
17:48:41 <Sgeo_> Hmm, lambdabot doesn't have that numbers are functions thing anymore, right?
17:48:48 <lambdabot> No instance for (GHC.Num.Num (a0 -> a0))
17:49:31 <oerjan> Sgeo_: that instance was removed from lambdabot
17:49:32 <Sgeo_> > ((+) <$> cos <*> sin) 5
17:50:37 <oerjan> Halite: if your functions are also closures, then that's probably enough to make it turing complete. i'm not sure about if they're not closures (like C functions)
17:50:41 <Sgeo_> ) ((1&o.)+(2&o.)) 5
17:50:56 <Sgeo_> I'm sure there's a simpler way to do that, without &
17:51:28 <Halite> oerjan, what are closures
17:51:34 <oerjan> Phantom_Hoover: i think fungot was immunized against it
17:51:34 <fungot> oerjan: but i have huge connection latency on it right now
17:51:44 <Phantom_Hoover> Halite, <Phantom_Hoover> Halite, revision of earlier advice: learn haskell
17:52:25 <Sgeo_> > (let y = 5 in let f x = x+y) 6
17:52:27 <lambdabot> <hint>:1:28: parse error on input `)'
17:52:32 <oerjan> Halite: it means that you can define functions inside functions and have them refer to the variables of the outside function
17:52:45 <Sgeo_> > (let y = 5 in \x -> x+y) 6
17:53:08 <Halite> oerjan, unless JS has closures
17:53:29 <Sgeo_> \x -> x+y is a function, that takes an argument, x, and returns x+y. It gets y from the lexical environment, which states that y=5
17:53:39 <Sgeo_> Halite, it does, but you might not have used that capacity
17:54:13 <Halite> Sgeo_, probably did. My language is an object with functions being properties.
17:54:44 <Sgeo_> var x=5; var y=function(z){return x+z;};
17:55:24 <Sgeo_> Hmm, possibly bad example, looks too much like globals
17:55:36 <Phantom_Hoover> Halite, i'm going to go out on a limb here but is your language javascript restricted to a few custom functions
17:56:11 <kmc> those who do not understand functional programming are doomed to reinvent it
17:56:25 <Sgeo_> function make_closure(x) {return (function(y) {return x+y;});}
17:56:25 <Sgeo_> make_closure(10)(11)
17:56:43 <Halite> function test() { var x=5; var y=function(a){return x+a;};} test()
17:56:45 <Sgeo_> Halite, does the above make sense to you?
17:57:19 <Halite> Sgeo_, wait, it makes sense now
17:57:28 <Halite> make_closure(x) returns a function
17:57:43 <Halite> and to evaluate it, use make_closure(x)(y)
17:58:00 <Sgeo_> Well, I could store make_closure(5) somewhere, and call that later if I wish
17:58:08 <Halite> it returns the correct value of 21, so
17:59:12 <Phantom_Hoover> Halite, also in languages with mutable variables like js the variables inside the closure are persistent
18:00:34 <Sgeo_> function make_incrementor() {var curval = 0; return (function () {curval += 1; return curval;});}
18:00:34 <Sgeo_> var some_inc = make_incrementor();
18:00:38 <Phantom_Hoover> like, if you have function(start) { count = start; return function() { count += 1; return count} } then each call to the returned function will increment the count
18:08:04 <Halite> Well, what should I add then
18:08:22 <Halite> Nobody's actually suggested me anything yet
18:08:37 <Vorpal> I just watched a bit from a speedrun of mario 64, and I begin to understand ais interest in them. All the crazy ideas and glitches exploited the person came up with in order to cut down the time. I do think you have to had played the game to fully appreciate all of it though.
18:09:07 <Halite> someone make an esolang based on Mario please
18:09:59 <Vorpal> Here is the start of a bad bf clone: It's a me! = [, Here we go! = ]
18:10:09 <Vorpal> and now I ran out of catch phrases that I know
18:11:45 <boily> there are 95 printable ASCII chars, 32 of which are punctuation marks, with '/' reserved for IRC. therefore, there can be a maximum of 31 one-char-prefix interactive bots in a channel.
18:11:47 -!- cuttlefish has joined.
18:12:20 <Phantom_Hoover> Halite, there's no point in building an esolang by piling features on piecemeal
18:12:20 <Vorpal> Phantom_Hoover, it was a joke
18:12:50 <Phantom_Hoover> good ones take a single concept and focus on exploring it
18:13:48 <Halite> Phantom_Hoover, in SaltScript I took the concept of one custom boolean operation and focused on it
18:14:07 <Phantom_Hoover> so for brainfuck it's having a minimal instruction set, for befunge it's 2d program code and self-modification, in intercal it's humorously defying convention
18:14:12 <Sgeo_> Did ais523 or ... anyone other than me look at Trustfuck yet?
18:14:22 <Phantom_Hoover> Halite, and if you've done that then why do you need to add more
18:14:42 <oerjan> i think he wants it to be turing complete
18:14:55 <Halite> Phantom_Hoover, because I plan it to be Turing-complete & you need IF for booleans to be useful
18:15:07 <Sgeo_> There is an if operation on booleans
18:15:19 <Halite> Sgeo_, and an if-else operation
18:15:32 -!- epicmonkey has quit (Ping timeout: 248 seconds).
18:16:11 <Sgeo_> 0->0 = 1; 0->1 = 1; 1->0 = 0; 1->1 = 1
18:17:01 <boily> > mapM_ (putStrLn . (: "echo hello")) . filter (not . ((||) <$> isDigit <*> isAlpha)) $ ['!'..'~']
18:17:03 <lambdabot> No instance for (GHC.Show.Show (GHC.Types.IO ()))
18:17:17 <boily> ~eval mapM_ (putStrLn . (: "echo hello")) . filter (not . ((||) <$> isDigit <*> isAlpha)) $ ['!'..'~']
18:17:20 <cuttlefish> Error (1): Ambiguous occurrence `mapM_'
18:17:20 <cuttlefish> It could refer to either `Control.Monad.mapM_',
18:17:20 <cuttlefish> imported from `Control.Monad.Logic' at Imports.hs:25:1-26
18:17:20 <cuttlefish> (and originally defined in `base:Control.Monad')
18:17:20 <cuttlefish> imported from `Data.Foldable' at Imports.hs:13:1-20
18:17:36 <boily> ~eval Control.Monad.mapM_ (putStrLn . (: "echo hello")) . filter (not . ((||) <$> isDigit <*> isAlpha)) $ ['!'..'~']
18:17:37 <cuttlefish> Error (1): No instance for (GHC.Show.Show (GHC.Types.IO ()))
18:17:37 <cuttlefish> arising from a use of `M2838642979873148902.show_M2838642979873148902'
18:17:37 <cuttlefish> add an instance declaration for (GHC.Show.Show (GHC.Types.IO ()))
18:17:50 <jconn> Sgeo_: |syntax error
18:17:50 <jconn> Sgeo_: | 'fungot')
18:17:50 <fungot> Sgeo_: http://www.schemers.org/ documents/ fnord) is pure shoujo, and has been tested with the darcs version of chicken is that all you have is pretty rare
18:17:54 <fungot> Sgeo_: or about 1,000/ year? :p) but makes no different. lambda calculus can be a godsend. still i left the fnord chapter out of the function
18:18:35 <boily> the schemers' fnord documentation is shoujo? that disturbs me.
18:18:48 <jconn> Sgeo_: +--+------+
18:18:48 <Halite> ) 'Your programming language is horrible!'
18:18:48 <jconn> Sgeo_: |Hi|Halite|
18:18:48 <jconn> Sgeo_: +--+------+
18:18:48 <jconn> Halite: Your programming language is horrible!
18:19:05 <jconn> Halite: +-----+-----+
18:19:06 <jconn> Halite: |Hello|Sgeo_|
18:19:06 <jconn> Halite: +-----+-----+
18:19:10 <Sgeo_> Wait, does Halite think that I created jconn and it's running an esolang of my design?
18:19:37 <Halite> Sgeo_, no, I said 'your programming language is horrible' to myself :P
18:19:39 * Phantom_Hoover wonders what it'd be like if you only had oper and you could only map it over an infinite list of booleans
18:20:02 <Sgeo_> ) <'Sgeo is a derp'
18:20:03 <jconn> Sgeo_: +--------------+
18:20:03 <jconn> Sgeo_: |Sgeo is a derp|
18:20:03 <jconn> Sgeo_: +--------------+
18:20:16 <jconn> Halite: |domain error
18:20:16 <jconn> Halite: | 'Error';'Hey' <'hi'
18:20:20 <jconn> Halite: +-----+---+--+
18:20:20 <jconn> Halite: |Error|Hey|hi|
18:20:20 <jconn> Halite: +-----+---+--+
18:20:26 <jconn> Halite: |syntax error
18:20:26 <jconn> Halite: | 'Error' ;'Hey';'';
18:20:45 <Halite> ) 'Error';'Sgeo_ does not exist'
18:20:46 <jconn> Halite: +-----+--------------------+
18:20:46 <jconn> Halite: |Error|Sgeo_ does not exist|
18:20:46 <jconn> Halite: +-----+--------------------+
18:21:03 <jconn> Halite: +----------------------------+-+
18:21:03 <jconn> Halite: |Error |X|
18:21:03 <jconn> Halite: +----------------------------+-+
18:21:05 <jconn> Sgeo_: +------------+
18:21:05 <jconn> Sgeo_: |+----------+|
18:21:05 <jconn> Sgeo_: ||+--------+||
18:21:05 <jconn> Sgeo_: |||+------+|||
18:21:05 <jconn> Sgeo_: ||||+----+||||
18:21:19 <Phantom_Hoover> i think you could even do some reasonable computation with that
18:21:59 <Sgeo_> Although I guess that is more verbose than <<
18:22:09 <Halite> ) 'Error ';'X' (<^:1) 'An error has occured. Oh Brain****!'
18:22:10 <jconn> Halite: |domain error
18:22:10 <jconn> Halite: | 'Error ';'X' (<^:1)'An error has occured. Oh Brain****!'
18:22:18 <Halite> ) 'Error ';'X' 'An error has occured. Oh Brain****!'
18:22:18 <jconn> Halite: |syntax error
18:22:19 <jconn> Halite: | 'Error ' ;'X''An error has occured. Oh Brain****!'
18:23:12 <Sgeo_> ) (<'This'),(<'is'),(<<'Sparta')
18:23:13 <jconn> Sgeo_: +----+--+--------+
18:23:13 <jconn> Sgeo_: |This|is|+------+|
18:23:13 <jconn> Sgeo_: | | ||Sparta||
18:23:13 <jconn> Sgeo_: | | |+------+|
18:23:13 <jconn> Sgeo_: +----+--+--------+
18:23:16 <Halite> ) 'Error ';'X';\nAn error has occured. Oh chicken!'
18:23:17 <jconn> Halite: |open quote
18:23:17 <jconn> Halite: | 'Error ';'X';\nAn error has occured. Oh chicken!'
18:23:20 <coppro> Sgeo_: shut the fuck your bot up
18:23:28 <Halite> ) 'Error ';'X';'\nAn error has occured. Oh chicken!'
18:23:29 <jconn> Halite: +----------------------------+-+-----------------------------------+
18:23:29 <jconn> Halite: |Error |X|\nAn error has occured. Oh chicken!|
18:23:29 <jconn> Halite: +----------------------------+-+-----------------------------------+
18:23:33 * Sgeo_ will stop using it abusively
18:23:57 <Halite> why won't it do multiple rows
18:24:34 <Halite> ) (<<'Error ';'X';'An error has occured. Oh chicken!')
18:24:34 <jconn> Halite: +--------------------------------------------------------------------+
18:24:35 <jconn> Halite: |+------------------------------------------------------------------+|
18:24:35 <jconn> Halite: ||+----------------------------+-+---------------------------------+||
18:24:35 <jconn> Halite: |||Error |X|An error has occured. Oh chicken!|||
18:24:35 <jconn> Halite: ||+----------------------------+-+---------------------------------+||
18:25:17 <tromp_> An chicken has occured. Oh error!
18:25:17 <Halite> ) 'This...';'is...;(<<<'SPARRRRRRRRRRRTA!');
18:25:17 <jconn> Halite: |open quote
18:25:18 <jconn> Halite: | 'This...';'is...;(<<<'SPARRRRRRRRRRRTA!');
18:25:46 <Sgeo_> I love how Halite is trying to follow my example without knowing the language at all
18:25:47 <Halite> ) 'This...','is...;(<<<'SPARRRRRRRRRRRTA!');
18:25:47 <jconn> Halite: |open quote
18:25:47 <jconn> Halite: | 'This...','is...;(<<<'SPARRRRRRRRRRRTA!');
18:26:05 <Sgeo_> Oh, I see the problem
18:26:11 <Sgeo_> Don't really feel like revealing it though
18:26:34 <Halite> ) 'This...','is...';(<<<'SPARRRRRRRRRRRTA!');
18:26:34 <jconn> Halite: |domain error
18:26:35 <jconn> Halite: | 'This...' ,'is...';(<<<'SPARRRRRRRRRRRTA!');
18:26:42 <Halite> ) 'This...','is...',(<<<'SPARRRRRRRRRRRTA!');
18:26:43 <jconn> Halite: |domain error
18:26:43 <jconn> Halite: | 'This...','is...' ,(<<<'SPARRRRRRRRRRRTA!');
18:26:55 <Sgeo_> This is entirely hilarious.
18:27:14 <Halite> ) (<'This...'),(<'is...');(<<<'SPARRRRRRRRRRRTA!');
18:27:15 <jconn> Halite: |syntax error
18:27:15 <jconn> Halite: | (<'This...') ,(<'is...');(<<<'SPARRRRRRRRRRRTA!');
18:27:20 <Halite> ) (<'This...'),(<'is...'),(<<<'SPARRRRRRRRRRRTA!');
18:27:20 <jconn> Halite: |syntax error
18:27:21 <jconn> Halite: | (<'This...') ,(<'is...'),(<<<'SPARRRRRRRRRRRTA!');
18:27:34 <Halite> ) (<'This...'),(<'is...');(<<<'SPARRRRRRRRRRRTA!');
18:27:35 <jconn> Halite: |syntax error
18:27:35 <jconn> Halite: | (<'This...') ,(<'is...');(<<<'SPARRRRRRRRRRRTA!');
18:27:45 <Sgeo_> Halite, you are incredibly unobservant
18:27:51 <boily> quintopia: TIL what a curmudgeon is.
18:28:11 <Halite> ) (<'This...'),(<'is...'),(<<<'SPARRRRRRRRRRRTA!')
18:28:12 <jconn> Halite: +-------+-----+---------------------+
18:28:12 <jconn> Halite: |This...|is...|+-------------------+|
18:28:12 <jconn> Halite: | | ||+-----------------+||
18:28:12 <jconn> Halite: | | |||SPARRRRRRRRRRRTA!|||
18:28:12 <jconn> Halite: | | ||+-----------------+||
18:28:18 <fizzie> Re fungot and jconn, it's on the list.
18:28:18 <fungot> fizzie: i refuse to use openssl for ssl because openssl has a bsd-style license. i think i heard erlang got some traces of prolog in it's style too
18:28:29 <boily> Sgeo_: I appreciate your curmudgeonitude.
18:28:32 <Halite> ) (<'This...'),(<'is...'),(<<'SPARRRRRRRRRRRTA!')
18:28:32 <jconn> Halite: +-------+-----+-------------------+
18:28:33 <jconn> Halite: |This...|is...|+-----------------+|
18:28:33 <jconn> Halite: | | ||SPARRRRRRRRRRRTA!||
18:28:33 <jconn> Halite: | | |+-----------------+|
18:28:33 <jconn> Halite: +-------+-----+-------------------+
18:28:45 <Halite> ) (<'This...'),(<'is...'),(<<'a...','SPARRRRRRRRRRRTA!')
18:28:45 <jconn> Halite: +-------+-----+-----------------------+
18:28:46 <jconn> Halite: |This...|is...|+---------------------+|
18:28:46 <jconn> Halite: | | ||a...SPARRRRRRRRRRRTA!||
18:28:46 <jconn> Halite: | | |+---------------------+|
18:28:46 <jconn> Halite: +-------+-----+-----------------------+
18:28:54 <Halite> ) (<'This...'),(<'is...'),(<<'a...';'SPARRRRRRRRRRRTA!')
18:28:54 <jconn> Halite: +-------+-----+--------------------------+
18:28:54 <jconn> Halite: |This...|is...|+------------------------+|
18:28:54 <jconn> Halite: | | ||+----+-----------------+||
18:28:54 <jconn> Halite: | | |||a...|SPARRRRRRRRRRRTA!|||
18:28:54 <jconn> Halite: | | ||+----+-----------------+||
18:29:04 <Sgeo_> This is my fault, isn't it
18:29:18 <fizzie> Also, that diagram thing is very noisy.
18:29:31 <Halite> I can't do multiple rows
18:29:54 <jconn> Halite: |domain error
18:29:54 <jconn> Halite: | (<'Error ') ,('X')
18:30:05 <jconn> Halite: +------------------------------------+-+
18:30:06 <jconn> Halite: |Error |X|
18:30:06 <jconn> Halite: +------------------------------------+-+
18:30:19 <Halite> ) (<'Error '),(<' X ')
18:30:20 <jconn> Halite: +------------------------------------+---+
18:30:20 <jconn> Halite: |Error | X |
18:30:20 <jconn> Halite: +------------------------------------+---+
18:31:32 <Halite> ) (<'Error '),(<' X ');(<'Sparta has taken over your computer!;')
18:31:32 <jconn> Halite: +------------------------------------+-----+-------------------------------------+
18:31:33 <jconn> Halite: |Error |+---+|Sparta has taken over your computer!;|
18:31:33 <jconn> Halite: | || X || |
18:31:33 <jconn> Halite: | |+---+| |
18:31:33 <jconn> Halite: +------------------------------------+-----+-------------------------------------+
18:31:38 <Halite> ) (<'Error '),(<' X ');(<'Sparta has taken over your computer!;')
18:31:38 <jconn> Halite: +------------------------------------+-----+-------------------------------------+
18:31:39 <jconn> Halite: |Error |+---+|Sparta has taken over your computer!;|
18:31:39 <jconn> Halite: | || X || |
18:31:39 <jconn> Halite: | |+---+| |
18:31:39 <jconn> Halite: +------------------------------------+-----+-------------------------------------+
18:31:44 <Halite> ) (<'Error '),(<' X ');(<'Sparta has taken over your computer!')
18:31:45 <jconn> Halite: +------------------------------------+-----+------------------------------------+
18:31:48 <jconn> Halite: |Error |+---+|Sparta has taken over your computer!|
18:31:50 <oerjan> ) (2 2 $ 1 0 1 1) * (2 2 $ 1 0 1 1)
18:31:53 <jconn> Halite: | || X || |
18:31:56 <jconn> Halite: | |+---+| |
18:32:01 <jconn> Halite: +------------------------------------+-----+------------------------------------+
18:32:12 <Halite> I think I could have crashed it
18:32:25 <Sgeo_> I have crashed it before
18:32:29 <Halite> ) (<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'aah shi')
18:32:30 <jconn> Halite: +---------------------------------------------------------------------------------------------------------------------------+
18:32:30 <jconn> Halite: |+-------------------------------------------------------------------------------------------------------------------------+|
18:32:30 <jconn> Halite: ||+-----------------------------------------------------------------------------------------------------------------------+||
18:32:30 <jconn> Halite: |||+---------------------------------------------------------------------------------------------------------------------+|||
18:32:36 <jconn> Halite: ||||+-------------------------------------------------------------------------------------------------------------------+||||
18:33:00 <Halite> ) (<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'crash now')
18:33:00 <jconn> Halite: +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
18:33:00 <jconn> Halite: |+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
18:33:02 <Halite> ) (<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'crash now')
18:33:05 <jconn> Halite: ||+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||
18:33:12 <jconn> Halite: |||+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|||
18:33:24 <jconn> Halite: ||||+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||||
18:33:32 <jconn> Halite: +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
18:33:40 <jconn> Halite: |+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
18:33:44 <fizzie> Most likely there's a flood-protection thing.
18:33:52 <jconn> Halite: ||+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||
18:34:00 <jconn> Halite: |||+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|||
18:34:09 <jconn> Halite: ||||+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||||
18:34:12 <fizzie> I mean, the speed thing.
18:34:18 <jconn> Halite: YOU CRASH ME :c
18:34:24 <fizzie> IRC networks tend to disconnect you if you spew out too much stuff.
18:34:57 <Halite> I'm not the one spewing out. It's jconn.
18:35:11 <jconn> Halite: error noaw
18:35:22 <fizzie> Yes, but I mean, it most likely has a thing that makes it slow down automatically.
18:35:26 <jconn> Halite: |open quote
18:35:29 <fizzie> Intentionally, that is.
18:35:38 <fizzie> In order to avoid getting sponked out.
18:35:57 <jconn> Halite: |spelling error
18:35:57 <jconn> Halite: | jconn: SCAREDYCAT
18:36:35 <Sgeo_> Aww, didn't reach _
18:36:37 <jconn> Halite: |syntax error
18:37:28 <Halite> ) (>:^:_) __________________________________________________________________________________________________________________________________________
18:37:28 <jconn> Halite: |ill-formed number
18:37:41 <Sgeo_> Halite, _ is a number, as is __
18:37:52 <Halite> ) (>:^:_) __________________________________________________________________________________________________________________________________________
18:37:53 <jconn> Halite: |ill-formed number
18:38:04 <jconn> Halite: |ill-formed number
18:38:16 <jconn> Halite: |ill-formed number
18:38:42 <Halite> aaaaaayswkdect'hhhhhhyuuuuuuuik
18:39:08 <Halite> invisible cat on the vkjsierkeybodaieadrrd
18:39:30 <Halite> ttbtbbbttbbtbbtrtyhfbvtgvb
18:40:53 <Sgeo_> ) ;: 'Halite you are completely insane'
18:40:54 <jconn> Sgeo_: +------+---+---+----------+------+
18:40:54 <jconn> Sgeo_: |Halite|you|are|completely|insane|
18:40:54 <jconn> Sgeo_: +------+---+---+----------+------+
18:41:29 -!- Bike has joined.
18:41:49 <Sgeo_> oerjan, fffw is offering to blacklist the nicks of abusers. So, that option is available.
18:42:37 <Sgeo_> Someone in #jsoftware
18:42:42 <Sgeo_> Bot operator I think
18:43:46 <fizzie> fungot: Are you a BOT ABUSER?
18:43:46 <fungot> fizzie: gödel proved that!
18:44:01 <boily> btw, who's this channel's op and/or entity nearest to godhood?
18:44:14 <oerjan> every sufficiently advanced bot contains an abusive command
18:44:54 <fizzie> "chanserv access list" is kind of definitive.
18:45:10 <fizzie> I don't know if I count, I tend to weasel out of any obligations, except very rarely.
18:45:22 -!- jconn has quit (Remote host closed the connection).
18:45:32 -!- jconn has joined.
18:45:42 -!- fftw has joined.
18:46:17 <fftw> ) /:~ ~ 'test'
18:46:52 <Sgeo_> Wait, what does ~ by itself do?
18:47:17 <oerjan> ) /:~ ~ 'the quick brown fox jumps over the lazy dog'
18:47:18 <jconn> oerjan: abcdeeefghhijklmnoooopqrrsttuuvwxyz
18:47:42 <Sgeo_> ) ~/:~ 'the quick brown fox jumps over the lazy dog'
18:47:42 <jconn> Sgeo_: |syntax error
18:47:43 <jconn> Sgeo_: | ~/:~'the quick brown fox jumps over the lazy dog'
18:47:51 <Sgeo_> ) ~. /:~ 'the quick brown fox jumps over the lazy dog'
18:47:52 <jconn> Sgeo_: abcdefghijklmnopqrstuvwxyz
18:48:06 <jconn> upgrayeddd: ┌┬┐├┼┤└┴┘│─ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
18:48:15 <Sgeo_> fftw, I don't get it, why the ~
18:48:53 <oerjan> Sgeo_: it's much easier if you just accept that J is more insane than most of our on topic languages
18:49:04 <fftw> ) /:~ ~. 'test'
18:49:19 <fftw> upgrayeddd: so it's just non-repeated chars
18:49:46 <jconn> fftw: |syntax error
18:49:49 <jconn> fftw: |domain error
18:49:59 <jconn> oerjan: |value error: i
18:50:05 <boily> given morphisms A :: X -> Y and B :: Y -> Y, what's the morphism A⁻¹BA called? I can't remember for the life of me.
18:50:05 <fftw> oerjan: we accept it :)
18:50:46 <oerjan> boily: i'd expect "conjugate" based on group theory
18:51:29 <boily> oerjan: ah! thanks!
18:51:30 <fftw> ) I. 'A' E. a.
18:52:39 <oerjan> conjugate of B by A, more precisely. or possibly by A⁻¹, i don't think the sign convention is entirely consistent
18:53:33 <coppro> oh god my unicode is fucked up again
18:54:10 <oerjan> coppro: it's ok i couldn't see the char between A and ¹ myself, just copy it
18:54:32 <oerjan> i assume there's some superscript - there
18:54:40 <boily> it's a superscript minus.
18:54:52 -!- coppro_ has joined.
18:54:59 -!- coppro_ has quit (Client Quit).
18:55:01 <jconn> oerjan: |value error: i
18:55:41 <oerjan> wild J guesses are disturbingly tempting
18:56:56 -!- coppro has quit (Quit: leaving).
18:57:05 <jconn> oerjan: 0 1 2 3 4 5 6 7 8 9
18:57:15 -!- coppro has joined.
18:57:24 <oerjan> except, why does it start at 0
18:57:26 -!- augur has quit (Read error: Connection reset by peer).
18:57:36 <jconn> oerjan: 0 1 2 3 4 5 6 7 8 9 10 11
18:57:36 <jconn> oerjan: 12 13 14 15 16 17 18 19 20 21 22 23
18:57:36 <jconn> oerjan: 24 25 26 27 28 29 30 31 32 33 34 35
18:57:45 -!- augur has joined.
18:58:03 <jconn> oerjan: 0 1 2 3 4 5 6 7 8 9
18:58:26 <jconn> oerjan: 1 2 3 4 5 6 7 8 9 10
18:58:48 <jconn> oerjan: |syntax error
18:58:48 <jconn> oerjan: | (65+i.10)a.
18:59:09 <fftw> ) 65 + ? 4 5 $ 2
18:59:10 <jconn> fftw: 66 65 66 66 65
18:59:10 <jconn> fftw: 65 66 65 66 66
18:59:10 <jconn> fftw: 66 65 66 65 66
18:59:10 <jconn> fftw: 66 66 66 65 66
18:59:11 <jconn> oerjan: ABCDEFGHIJ
18:59:30 <fftw> ) (65 + ? 4 5 $ 2) { a.
18:59:36 <fftw> ) (65 + ? 4 5 $ 2) { a.
19:00:03 <coppro> can someone please type something in utf-8?
19:00:24 <fftw> should be utf-8 cyrillic
19:00:40 <coppro> some of the cyrillic comes through, but some is �
19:00:47 <boily> 私のホバークラフトは鰻で一杯です, as usual.
19:00:56 <fftw> boily: ok to me
19:01:12 <coppro> ok that fucked my client
19:01:24 <coppro> what was that last line?
19:01:26 <boily> japanese for an eel-y hovercraft.
19:01:27 <coppro> (don't repeat it please)
19:01:48 <boily> I run weechat in screen in urxvt, and it works.
19:02:03 <fftw> boily: same for weechat in gnome-terminal
19:03:00 <coppro> boily: over ssh though
19:03:04 <coppro> that's where screen fucks up
19:03:25 <fftw> does anyone remember the maze generator from / and \?
19:03:27 <fftw> ) ( + ? 4 15 $ 3) { ' /\'
19:03:28 <jconn> fftw: \\/\ \\/ /\ /\
19:03:28 <jconn> fftw: \\/ \/\\/ \/\
19:03:28 <jconn> fftw: \/// \ / \\/
19:03:28 <jconn> fftw: \\//\ \///\/\
19:03:32 <fftw> ) ( + ? 4 15 $ 3) { ' /\'
19:03:32 <jconn> fftw: / / \ \// \/\\
19:03:32 <jconn> fftw: //\ / // / \\\
19:03:32 <jconn> fftw: \/\\\// // \\\
19:03:41 <fftw> should be new maze each time
19:03:51 <boily> fftw: http://www.brainbashers.com/slant.asp ?
19:04:53 <fftw> no, I wanted to make http://developers.slashdot.org/story/12/12/01/1847244/how-does-a-single-line-of-basic-make-an-intricate-maze
19:05:05 <boily> coppro: looks like it's probably a terminfo problem: https://bbs.archlinux.org/viewtopic.php?id=139216
19:05:08 <coppro> someone please try the cyrillic again
19:05:35 <fftw> ) ( + ? 4 15 $ 2) { '/\'
19:05:35 <jconn> fftw: ////\\/\\\/\\/\
19:05:35 <jconn> fftw: \\/\\\\\\/\//\\
19:05:35 <jconn> fftw: \\\\\\\/\\/\/\/
19:05:35 <jconn> fftw: \/\\\\\\\\\\\//
19:05:54 <fftw> oh, that's better, but not in all fonts
19:06:13 <boily> coppro: another test: Dès Noël où un zéphyr haï me vêt de glaçons würmiens, je dîne d'exquis rôtis de bœuf à l'aÿ et au kir d'âge mûr & cætera.
19:06:37 <coppro> except the oe ligature
19:06:48 <fftw> coppro: do you see the umlauts etc?
19:07:16 <boily> so, only œ doesn't get through. very, very weird.
19:07:43 -!- coppro has quit (Quit: leaving).
19:07:51 <fftw> coppro: perhaps the problem is the font itself?
19:08:02 -!- coppro has joined.
19:08:34 -!- monqy has joined.
19:08:39 -!- coppro has quit (Client Quit).
19:08:48 -!- coppro has joined.
19:09:22 -!- augur has quit (Read error: Connection reset by peer).
19:09:25 -!- augur_ has joined.
19:10:10 <coppro> please try the ligature again?
19:11:04 <boily> plutôt embêtant. à cause de ça, on peut pas discuter d'œufs, ni de bœufs, sans parler des sœurs, coœurs, mœurs et œuvres.
19:11:35 <boily> ah. control. sorry.
19:12:07 <boily> btw, there's my terminfo line: «terminfo rxvt-unicode 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
19:12:25 <boily> and termcapinfo: « termcapinfo rxvt* 'hs:ts=\E]2;:fs=\007:ds=\E]2;\007' »
19:13:14 <boily> no idea if it has anything related to utf8.
19:13:42 <Sgeo_> Why does it bother me that J is mathematically inaccurate?
19:14:12 <Sgeo_> ) '_-_';(_-_);'0*_';(0*_)
19:14:13 <jconn> Sgeo_: | '_-_';(_ -_);'0*_';(0*_)
19:14:26 <Sgeo_> Wow, that was derptastic
19:18:02 <coppro> boily: can you try the japanese again?
19:18:57 <fftw> のホバークラフトは鰻で一杯です
19:19:07 <coppro> awesome, it actually works
19:31:49 -!- epicmonkey has joined.
19:41:37 -!- ogrom has joined.
19:43:01 <jconn> FreeFull: |syntax error
19:50:16 <Sgeo_> Incidentally, J has a built-in pl operator
19:50:32 <Sgeo_> ) 13 : 'y+(2*y)-(3*x)'
19:50:33 <jconn> Sgeo_: ] + (2 * ]) - 3 * [
19:51:12 <Sgeo_> That.... is scarily analogous
19:51:44 -!- Nisstyre-laptop has joined.
19:52:02 <Sgeo_> ) 0 (] + (2 * ]) - 3 * [) 1
19:53:49 -!- kallisti has quit (Quit: Lost terminal).
19:55:37 <Sgeo_> ) 13 : '(^:y)+(^:y)'
19:55:38 <jconn> Sgeo_: 3 : '(^:y)+(^:y)'
19:56:12 <Sgeo_> ) 13 : '(>:y)+(>:y)'
19:56:37 <Sgeo_> I think I could write that shorter
19:57:10 <Sgeo_> ...ok, that's not shorter
19:57:19 <oerjan> but then it would be indistinguishable from fueue
19:57:59 <boily> a J/fueue polyglot. careful, you're toying with powerful forces here.
19:59:45 <boily> last time someone huehued me, that was because their ghost killed me in DCSS.
20:01:03 <Sgeo_> It's been a while since I played
20:01:09 <Sgeo_> I think last time I played, it was on 0.8
20:01:41 -!- kallisti has joined.
20:01:45 -!- kallisti has quit (Changing host).
20:01:45 -!- kallisti has joined.
20:03:57 <boily> Sgeo_: around 0.11. lots of differences between them (xp system, branches, uniques, usual race shuffle).
20:04:38 <Sgeo_> Googlable, among other thingds
20:04:41 -!- oerjan has quit (Quit: Good night).
20:04:43 <EgoBot> http://google.com/search?q=DCSS
20:04:53 <Vorpal> California Department of Child Support Services > Home
20:05:13 <boily> ~duck dungeon crawl stone soup
20:05:13 <cuttlefish> Dungeon Crawl Stone Soup is an open source roguelike computer game, which is the actively community-developed successor of the 1997 roguelike game Linley's Dungeon Crawl, originally programmed by Linley Henzell.
20:05:38 <Sgeo_> It only takes an entire channel co-operating to search the web
20:07:10 <boily> by our power combined, we can achieve any search!
20:11:53 -!- Halite has quit (Remote host closed the connection).
20:14:43 -!- augur_ has quit (Remote host closed the connection).
20:31:27 <jconn> boily: 314159265358979323846264338327950288419716939937510
20:33:15 -!- Taneb has joined.
20:39:08 * Sgeo_ forgot what <. does
20:39:19 <Vorpal> which language is that
20:39:25 <jconn> Bike: |domain error
20:40:57 <boily> Sgeo_: I shamelessly ripped that from wikipedia.
20:45:55 -!- augur has joined.
21:35:52 -!- zzo38 has joined.
22:01:03 -!- augur has quit (Remote host closed the connection).
22:01:13 -!- epicmonkey has quit (Ping timeout: 240 seconds).
22:04:02 -!- DHeadshot has joined.
22:13:39 <boily> quintopia: always, but you need to ask my girlfriend first, she's my hug manager.
22:14:38 <boily> you can always hug kmc in the meantime.
22:15:15 -!- monqy has quit (Quit: hello).
22:16:16 <quintopia> boily: your girlfriend was just here last night
22:21:12 <kmc> yes i like to hug people
22:21:39 <fizzie> Hug people, mug people: what's the difference.
22:23:26 <boily> fizzie: one involves a nasal occlusive.
22:23:35 * boily woggles and wiggles
22:23:38 <Taneb> Today I saw Wreck-it Ralph
22:26:57 <zzo38> Can you program that game for Vs Unisystem?
22:29:31 <Taneb> However, I know no reason why it isn't possible
22:31:03 <Taneb> To my mind, the biggest technical challenge would be perhaps the speech "I'm gonna wreck it!" at the start
22:32:07 -!- nooodl has joined.
22:33:15 <zzo38> I would think the DPCM channel could be used though? Either playing the DPCM sample, or using software PCM. (I think Vs Unisystem is basically a RGB Famicom with different inputs, such as coins and switches)
22:40:20 -!- boily has quit (Quit: Poulet!).
22:40:23 -!- cuttlefish has quit (Remote host closed the connection).
22:48:27 -!- carado has joined.
23:06:12 -!- DHeadshot has quit (Read error: Connection reset by peer).
23:06:20 -!- DH____ has joined.
23:09:51 -!- FreeFull has quit (Ping timeout: 256 seconds).
23:12:55 -!- nooodl has quit (Ping timeout: 244 seconds).
23:21:13 -!- FreeFull has joined.
23:38:20 <quintopia> i'm gonna go see wreck-it ralph in an hour. my mom's never seen it so i'm escorting.
23:38:51 <kmc> JavaScript: where undefined * undefined === NaN
23:38:54 <kmc> but null * null === 0?
23:39:47 <Bike> zero divisors, hiss
23:42:22 -!- Taneb has quit (Quit: Leaving).
23:55:15 <zzo38> Is the picture big enough?