←2015-10-13 2015-10-14 2015-10-15→ ↑2015 ↑all
00:00:08 <oerjan> or deadfish
00:00:50 <tswett> Ah, yes.
00:02:02 <tswett> hppavilion[1]: a = 5; b = 0; while (a > 0) { a -= 1; b += 2; } print(b);
00:02:12 <hppavilion[1]> I foudn that
00:02:20 <hppavilion[1]> Oh. Wait. Nevermind
00:07:31 <hppavilion[1]> Can you guys see this? https://www.draw.io/#G0ByRvNdqqy3GPejZGaGRaalotYVk
00:12:04 <fizzie> The link asks for Google Drive authorization, which not everyone would do. Probably would be best just to export.
00:12:10 <fizzie> (Going to sleep anyway, so.)
00:12:35 <tswett> hppavilion[1]: I sent you a request for access... apparently.
00:12:45 <hppavilion[1]> OK then
00:22:07 <\oren\> I have an idea
00:22:36 <\oren\> a proportional font is one where 'm' is wider than 'i'
00:22:37 <\oren\> a monospace font is one where 'm' is the same width as 'i'.
00:23:52 <tswett> So what do you call a font where "i" is wider than "m"?
00:23:58 <\oren\> A "width-compensating" font is like a monospace font, but when you have a sequence like 'mai' the 'm' becomes wider and the 'i' smaller, thus becoming more porportional without changing the overall width of the sequence
00:24:40 <\oren\> tswett: grotesque?
00:24:48 <tswett> There we go.
00:25:23 <\oren\> I want to try making a width-compensating terminal font, but I don't have time
00:26:32 <\oren\> so that is my idea
00:30:22 <\oren\> other sequnces that would be width-compensated are for example whi wri mmit
00:30:52 <\oren\> i suppose I could do it with a million ligatures
00:31:49 <boily> ligate all the widths!
00:44:59 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
00:48:30 <hppavilion[1]> http://i.imgur.com/0qmg9AY.png
00:48:47 <hppavilion[1]> tswett: There's the ASG for a program equivalent to your code. I hope I did it right xD
00:48:56 <hppavilion[1]> (I suppose it's kind of like a flowchart)
00:49:16 <hppavilion[1]> (In retrospect, the word "CALL" doesn't really express what I mean. "BLOCK" would be better)
00:49:16 <tswett> Oh right, I forgot that one premise that you had.
00:49:38 <tswett> That repeating code works by having an expression literally contain itself.
00:49:53 <hppavilion[1]> Yep
00:50:14 <hppavilion[1]> It's clear that Lazy Evaluation is kind of a necessity for this xD
00:51:14 <tswett> Obviously, the graph doesn't have to be acyclic.
00:51:26 <hppavilion[1]> acyclic?
00:51:31 <hppavilion[1]> (not... cyclic...)
00:51:36 <\oren\> without cytycles
00:51:39 <\oren\> without cycles
00:51:40 <hppavilion[1]> OK?
00:51:58 <hppavilion[1]> Was that "well obviously <x>" or "<x>, of course"?
00:52:00 <\oren\> the graph can have cycles without requiring lazy evaluation
00:52:28 <tswett> Well, by "obviously", I meant "this is true because you just gave an example of it".
00:54:08 <hppavilion[1]> Ah.
00:54:19 <hppavilion[1]> OK. That's a flaw in english.
00:56:41 <tswett> Now, consider this program, where tokens are separated by spaces...
00:58:14 <tswett> <block> <asgn> a 5 </asgn> <asgn> b 0 </asgn> <cond> <cexp> > a 0 </cexp> <block> <asgn> a <aexp> - a 1 </aexp> </asgn> <asgn> b <aexp> + b 2 </aexp> </asgn> </block> </cond> </block>
00:58:16 <tswett> I think that's right.
00:58:19 <tswett> This isn't recursive, of course.
00:58:29 <tswett> You can think of each token here as being a directive to the parser.
00:58:36 <hppavilion[1]> OK
00:59:03 <tswett> The parser's state consists of a graph, and a reference to one of the nodes of the graph.
00:59:30 <tswett> <block> means "add a new child, a block, to the current node, then move to that node".
00:59:43 <tswett> </block> means "move from the current node, which is a block, to its parent".
00:59:55 <tswett> 5 means "add a new child, 5, to the current node, and stay at this node".
01:00:43 <tswett> So the question is, how could you modify this so that you can make an arbitrary graph instead of just a tree?
01:02:36 <tswett> Ooh, ooh. Another idea.
01:03:12 <tswett> The parser's state consists of a graph, and a *stack* of references to nodes of the graph.
01:04:11 <tswett> <block> means "create a new node, a block node, and push it onto the stack". </block> means "pop the first node (a block node) from the stack, then add it as a child to the node on top of the stack".
01:04:49 <tswett> So far, this is more or less how an ordinary deterministic push-down automaton parses a context-free language. Right?
01:05:00 <tswett> Now, just add a couple of stack manipulation commands.
01:05:21 <tswett> Consider this:
01:05:59 <tswett> <block> <print> 3 </print> [DUPLICATE] </block> </block>
01:06:12 <tswett> [
01:07:26 <tswett> [DUPLICATE] duplicates the reference on top of the stack, so now the block node is on top of the stack twice. Then the first </block> pops it off the stack and makes it a child of itself.
01:07:54 <hppavilion[1]> Is it possible to usefully express Algebraic Expressions in RPN?
01:08:09 <hppavilion[1]> Oooooh
01:08:15 <tswett> Like 1 + 2 + 3?
01:08:36 <tswett> One way is this: + + 1 2 3 (or + 1 + 2 3)
01:08:43 <tswett> Wait, you said reverse.
01:08:52 <hppavilion[1]> tswett: Like 4x^2+8x+12
01:09:07 <hppavilion[1]> Or 4xy+3x+2y+1
01:09:07 <tswett> Okay. Yeah, that's not too hard, I think. Let's see.
01:09:21 <tswett> x 2 ^ 4 * x 8 * + 12 +
01:09:25 <hppavilion[1]> Wait
01:09:31 <hppavilion[1]> I forgot to include the y=
01:09:33 <tswett> x y * 4 * x 2 * + 2 y * + 1 +
01:09:53 <hppavilion[1]> It has to be meaningful in that you can actually do algebra on it
01:10:03 <tswett> y x 2 ^ 4 * x 8 * + 12 + =
01:10:10 <hppavilion[1]> OK
01:10:25 <hppavilion[1]> And how do you factor that? >:)
01:10:32 <tswett> Well...
01:10:55 <tswett> By using complex numbers.
01:11:39 <tswett> How about this polynomial: x 2 ^ x 3 * + 2 +
01:11:41 <hppavilion[1]> I don't think you need complex numbers to factor that.
01:12:16 <tswett> Well, I know that x 3 * is the same as x 2 * x +, so that polynomial is x 2 ^ x 2 * x + + 2 +.
01:12:48 <tswett> Oh, and, of course, x 2 ^ is the same as x x *, making that x x * x 2 * x + + 2 +.
01:12:53 <hppavilion[1]> I'm looking to see if there's, for example, a SYA for algebra xD
01:13:05 <hppavilion[1]> Well, an algorithm suite
01:13:14 <tswett> And clearly x x * x 2 * x + + is the same as x x * x 2 * + x +.
01:13:33 <tswett> That gives us x x * x 2 * + x + 2 +.
01:14:27 <tswett> Then, as everyone knows, x x * x 2 * + is the same as x x 2 + *, so now we have x x 2 + * x + 2 +.
01:15:49 <tswett> Now, x x 2 + * x + 2 + is the same as x x 2 + * x 2 + +. And x 2 + is the same as 1 x 2 + *, so now we have x x 2 + * 1 x 2 + * +.
01:16:35 <tswett> Which, obviously, is the same as x 1 + x 2 + *.
01:16:37 <tswett> And we're done.
01:16:42 <hppavilion[1]> Huh
01:16:44 <hppavilion[1]> Impressive
01:16:49 <tswett> Thank you.
01:17:11 <tswett> Now, lemme read about the Hopf fibration.
01:17:26 <hppavilion[1]> So I'm making a language called dijkstra
01:17:32 <hppavilion[1]> Oh. Ok.
01:17:38 <hppavilion[1]> I need to go shower anyway xD
01:32:47 <boily> you need to squish the ij together. perhaps ĸ, just to increase untypeability. and make the name end in a consonant cluster that ends in r. you want it to be trendy!
01:32:51 <boily> dijĸstr.
01:35:40 <HackEgo> [wiki] [[BotEngine]] http://esolangs.org/w/index.php?diff=44730&oldid=44729 * SuperJedi224 * (+77) /* Instructions */
01:35:46 <oerjan> unicode considered harmful
01:38:19 <boily> unicode is great. except when some taouin forces it into the Wisdom.
01:46:08 -!- boily has quit (Quit: RUGOSE CHICKEN).
01:49:59 -!- adu has joined.
01:51:19 -!- FreeFull has joined.
01:53:00 -!- BeingUntoDeath has joined.
01:53:41 -!- BeingUntoDeath has quit (Client Quit).
02:16:09 <coppro> idea: a language should have the "retry;" statement for when an exception occurs
02:16:38 <adu> coppro: indeed
02:17:06 <HackEgo> [wiki] [[Minkolang]] N http://esolangs.org/w/index.php?oldid=44731 * Elendiastarman * (+15103) Copied over from GitHub and formatted.
02:17:21 <adu> I find myself doing this in python quite frequently: for _ in xrange(3): try: ... break; except: continue
02:17:33 <HackEgo> [wiki] [[Minkolang]] M http://esolangs.org/w/index.php?diff=44732&oldid=44731 * Elendiastarman * (+6)
02:26:40 <hppavilion[1]> I'm on
02:28:35 <coppro> adu: lol
02:28:38 <coppro> adu: whyyyy
02:28:52 <coppro> adu: also, "retry;" should roll the program state back to what it was before
02:30:14 <hppavilion[1]> coppro: retry-with-current-environment;
02:30:21 <hppavilion[1]> r-ce
02:30:25 <hppavilion[1]> retry-ce
02:30:44 <adu> hi hppavilion[1]
02:31:02 <hppavilion[1]> Hi adu
02:31:13 <hppavilion[1]> I said "I'm on" 3 minutes ago
02:31:23 <adu> coppro: why? because that performs the same semantics as you said
02:31:24 <hppavilion[1]> I want to see a multidimensional combinatorical language
02:31:37 <hppavilion[1]> I think I'll go design it
02:31:54 <adu> Funge98?
02:32:14 <hppavilion[1]> adu: I don't think Funge98 has combiantors
02:32:23 <hppavilion[1]> (I'm talking Combinatory Logic. SK.)
02:32:43 <hppavilion[1]> I just wonder how to make conditional directors work...
02:33:07 <hppavilion[1]> I'm also making a language called dijkstra, which is REALLY hard to spell, pronounce, and think.
02:34:38 <hppavilion[1]> Maybe I should just call it "Edsger" or "Wybe"
02:34:43 <hppavilion[1]> Wybe sounds nice
02:35:57 <hppavilion[1]> Wybe it is.
02:35:58 <adu> Unlambda?
02:36:09 <hppavilion[1]> adu: Unlambda is 1D -_-
02:36:16 <lifthrasiir> hppavilion[1]: does it rhyme with wide?
02:36:19 <adu> Unlambda+Funge98?
02:36:44 <hppavilion[1]> lifthrasiir: I think it rimes better with "Bribe"
02:36:47 <hppavilion[1]> adu: Possibly
02:37:05 <hppavilion[1]> I don't know where | and _ and similar would get their data though...
02:37:34 * lifthrasiir actually has no idea about English's rhyme and accent
02:37:43 <hppavilion[1]> Oh xD
02:38:01 <hppavilion[1]> b != d
02:38:13 <lifthrasiir> for example, I'm probably unable to distinguish long i and short i at the moment
02:38:56 <lifthrasiir> and my accent is very terrible
02:39:10 <hppavilion[1]> Huh.
02:39:30 <hppavilion[1]> adu: So what would replace the Stack in Unfunge?
02:39:36 <coppro> lifthrasiir: I think long and short vowels are a bad teaching tool
02:39:46 <coppro> adu: no.
02:39:54 <coppro> adu: in your case, any changes to global variables will be preserved
02:41:07 <pikhq> Huh. In MSVC, the following produces a macro that produces a comment: #define REM /##/
02:41:31 <pikhq> (... but not in standard C, where that produces a macro that produces a damned silly string)
02:43:39 <hppavilion[1]> Are there any Esoteric Combinators? xD
02:44:34 <hppavilion[1]> Or perhaps Combinatory Thue/
02:44:36 <hppavilion[1]> *?
02:44:44 <lifthrasiir> coppro: what's an alternative?
02:45:41 <coppro> pikhq: doesn't it just produce an error, since // is an invalid token?
02:45:52 <coppro> no wait
02:45:57 <coppro> it makes a token consisting of //
02:46:01 <pikhq> Yep.
02:46:20 <coppro> which is then an error because it's an invalid token, *unless* it's stringified
02:47:04 <pikhq> Or if you're MSVC, then it produces a token consisting of // which is a comment.
02:47:44 <coppro> does it commentify later things in the line too?
02:48:07 <pikhq> Yes.
02:48:13 * coppro boggles
02:48:20 <pikhq> "REM foo bar baz" is a comment after that macro in MSVC.
02:48:53 -!- bb010g has joined.
02:49:31 <pikhq> I feel pretty justified in saying that Windows C is not C but a closely related language.
02:49:31 -!- variable has joined.
02:50:36 <coppro> yeah it really is
02:50:46 <pikhq> To be sure it's a lot simpler writing code that conforms with ISO C and ISO C++ than it is ISO C and Windows C. :)
02:50:48 <coppro> but I bet their C++ compiler behaves the same way
02:50:53 <pikhq> Yep.
02:51:01 <coppro> which means it ought to be reported as a bug
02:51:18 <pikhq> But real code uses this apparently.
02:51:21 <coppro> well
02:51:30 <coppro> they only need to issue a warning about it
02:51:38 <coppro> unless... hmm
02:51:45 <coppro> let me conjure up a pathological case
02:52:05 <coppro> what happens if you have:
02:52:13 <coppro> #define REM /**/
02:52:31 <coppro> #define stringify(a) #a
02:52:44 <pikhq> :)
02:52:49 -!- adu has quit (Quit: adu).
02:52:52 <coppro> #define furby stringify(REM slkajdslfkssavfas)
02:53:02 <coppro> err
02:53:09 <coppro> s|/**/|/##/|
02:53:19 <coppro> err
02:53:23 <coppro> s|/\*\*/|/##/|
02:53:44 <pikhq> Finally, an invocation to make MSVC go fuck off. :P
02:53:52 <pikhq> (I don't know if that actually works)
02:54:01 <coppro> pikhq: I assumed you could test
02:54:17 <pikhq> I don't have MSVC installed, I just heard about this misfeature.
02:54:19 <coppro> actually hmm
02:54:24 <pikhq> I *could* install it, but meh.
02:54:30 <coppro> you might need an extra level of indirectly around the stringification macro
02:54:44 <coppro> but basically, if they wait until the preprocessor is completely done before stripping out the created // comments
02:55:02 <coppro> they can actually do it in a compliant manner *if they warn*
02:55:17 <coppro> /* however, is a different story
02:55:24 <coppro> no wait
02:55:26 <coppro> still not a legal token
02:55:27 <HackEgo> [wiki] [[Combinatory logic]] http://esolangs.org/w/index.php?diff=44733&oldid=44276 * Hppavilion1 * (+2067) Non-primitives
02:57:11 <coppro> so yeah, if they're giving a diagnostic, this is compliant
02:57:17 <coppro> (still a misfeature)
02:57:52 <coppro> pikhq: you know what's worse?
02:58:06 <coppro> the situation regarding inline
02:58:17 <coppro> there is *no* portable way to inline code in C
02:58:22 <coppro> despite the standard
02:59:02 <coppro> MS isn't interested in implementing C99/C11
02:59:21 <coppro> and too many people still use pre-C99 GCC
03:00:57 <hppavilion[1]> IDEA
03:00:58 <hppavilion[1]> IDEA
03:01:01 <hppavilion[1]> IDEA
03:01:02 <hppavilion[1]> IDEA
03:01:08 <hppavilion[1]> (Probably stupid)
03:01:21 <hppavilion[1]> How about a "Rewriter-rewriting" paradigm?
03:01:51 <coppro> hmm?
03:01:54 <pikhq> coppro: I just force -std=c99 and say "fuck 'em" mostly.
03:02:36 <pikhq> Also, most people don't use pre-C99 GCC, they use GCC with its C90 default.
03:02:41 <pikhq> Buuut that's changing soon.
03:02:47 <coppro> pikhq: I truly wish nethack could do that
03:02:49 <coppro> oh?
03:03:10 <pikhq> GCC 5 defaults to C11.
03:03:17 <hppavilion[1]> What's the name of htat langauge that has a self-modifying interpreter?
03:03:27 <coppro> feather?
03:03:40 <hppavilion[1]> No...
03:03:44 <pikhq> I'd be shocked if people actually care about nethack anywhere where GCC doesn't support C99.
03:04:03 <hppavilion[1]> Someone wrote an Unlambda interpeter or something in this language
03:04:11 <coppro> do you count windows?
03:04:13 <hppavilion[1]> But you execute the unlambda by appending it to the program
03:04:35 <hppavilion[1]> Which has, by the time the unlambda is reached, set itself to be an unlambda interpreter
03:04:40 <pikhq> (note that C99 *support* in GCC was added circa 3.0.)
03:05:09 <pikhq> (or 2002.)
03:05:19 <pikhq> Or, sorry, 2001.
03:05:57 <pikhq> coppro: Oh, fuck Windows so much.
03:05:58 <pikhq> :(
03:06:06 <coppro> pikhq: p. much
03:06:22 <coppro> I for one would just say "use clang"
03:06:32 -!- MDude has joined.
03:06:34 <pikhq> Though at least recent MSVC actually implements the portions of C99 that are in C++11 now.
03:07:19 <hppavilion[1]> No one?
03:07:35 <hppavilion[1]> I really like that language. If only I could remember its name...
03:07:40 <coppro> pikhq: most of it, anyway
03:09:08 <hppavilion[1]> So, I mentioned this earlier, but I don't think many people were paying attention
03:09:14 <hppavilion[1]> I thought of a new Esolang design game
03:11:01 <hppavilion[1]> Fixed BNF design
03:11:34 <hppavilion[1]> You're given a lexer description and a randomly-generated BNF program. You design a language using that BNF.
03:15:28 <coppro> pikhq: whoa, MS supports the filesystem tr
03:15:38 <pikhq> coppro: Damn.
03:16:04 <coppro> I know
03:17:29 <hppavilion[1]> Um
03:21:15 <hppavilion[1]> No one?
03:31:13 <hppavilion[1]> :(
03:33:31 <hppavilion[1]> How about a database more powerful than SQL?
03:33:58 <hppavilion[1]> Not to replace it, just to ensnare a few curious programmers and create a small, happy little community of its users
03:40:51 -!- variable has quit (Quit: 1 found in /dev/zero).
03:53:55 <oerjan> hppavilion[1]: emmental hth
03:56:26 <hppavilion[1]> I've just registered #domainspecificlanguages which is for language-oriented programming, which is a thing that looks fun
03:56:34 <hppavilion[1]> Because I couldn't find an existing IRC channel for it
03:58:38 <hppavilion[1]> oerjan: Thank you so much :)
03:58:52 <oerjan> you're welcome
04:04:53 <HackEgo> [wiki] [[Language-oriented Programming]] N http://esolangs.org/w/index.php?oldid=44734 * Hppavilion1 * (+267) Created Page as a thinly-veiled advertisement
04:07:24 <HackEgo> [wiki] [[Language-oriented Programming]] M http://esolangs.org/w/index.php?diff=44735&oldid=44734 * Hppavilion1 * (+36) If only, if only...
04:26:34 <MDude> You're actually on #esoteric-dsl though?
04:27:08 <MDude> Esoteric DSL, for when esoteric dial-up just isn't fast enough.
05:08:00 <\oren\> I actually use a proprietary DSL to do my day job
05:08:58 <\oren\> It will eventually be released to external devs, any month now
05:10:27 <\oren\> imagine if someone reinvented yacc and integrated it with a voice recognition thingy.
05:11:07 <\oren\> so you can use arbitrary phonemes as base tokens
05:17:48 <\oren\> well actually it's not that powerful
05:18:02 <\oren\> yacc allows arbitrary grammrs
05:18:34 -!- oerjan has quit (Quit: Nite).
05:21:49 <\oren\> I'm hoping b_jonas will come online
05:26:21 -!- hppavilion[1] has quit (Ping timeout: 255 seconds).
05:38:14 <\oren\> 屯岐岬岩岳岸札朱朴朽杉劣努匂勾包伎伏伐伺
05:38:14 <\oren\> 佐但似余供侍併佳依価厄厚厳侮侯侵侶俊俗修
05:38:14 <\oren\> 俳俵俸俺倉候倒個倣値倫倹偉偏停健側偵偶傘
05:53:26 -!- JesseH has quit (Read error: Connection reset by peer).
06:18:11 <izabera> what is yuor opinion on this? return (value);
06:19:18 -!- zadock has joined.
06:24:06 -!- AnotherTest has joined.
06:25:24 -!- AnotherTest has quit (Client Quit).
06:49:18 -!- MDude has changed nick to MDream.
06:54:02 <MDream> I wonder what's the least proffesional non-esoteric programming language, in the sense of being made with disregard for any sense of industry practices.
06:55:19 <izabera> sed
06:59:36 <MDream> Maybe the best reason I've heard for getting a Unixlike system.
07:30:09 -!- Patashu has joined.
07:43:04 -!- Phantom_Hoover has joined.
07:45:25 <b_jonas> \oren\: pong
07:51:32 <b_jonas> \oren\: I see you have over 400 hanzi/kanji
08:02:19 -!- Patashu has quit (Ping timeout: 240 seconds).
08:03:49 -!- Patashu has joined.
08:07:02 -!- Patashu has quit (Remote host closed the connection).
08:07:14 -!- Patashu has joined.
08:07:16 -!- zadock has quit (Quit: Leaving).
08:17:40 <b_jonas> \oren\: can I request characters to the font still? 百 万
08:30:55 -!- |f`-`|f has quit (Ping timeout: 252 seconds).
08:40:18 <fizzie> My opinion of `return (value)` is approximately the same as my opinion of `sizeof (expr)`.
08:42:41 -!- |f`-`|f has joined.
08:49:27 -!- AnotherTest has joined.
08:55:21 <b_jonas> fizzie: what? why? sizeof has a much higher precedence than return
09:00:28 -!- shikhin has quit (Read error: Connection reset by peer).
09:00:31 -!- FireFly has quit (Read error: Connection reset by peer).
09:02:59 -!- APic has joined.
09:04:24 -!- shikhin has joined.
09:04:46 -!- FireFly has joined.
09:30:00 -!- bb010g has quit (Quit: Connection closed for inactivity).
09:32:47 <Taneb> I have no intuition for what is a suitable master's project or not
09:39:59 <fizzie> b_jonas: I wouldn't even say return has a precedence. It's not an operator.
09:41:10 <fizzie> Anyway, I'd guesstimate that in the large majority of `sizeof expr`s the precedence isn't questionable. I mean, usually it's just sizeof *p.
09:42:29 <fizzie> Or even just `sizeof x`.
09:45:06 <fizzie> Taneb: You should look at lists of examples.
09:45:27 <Taneb> fizzie: doesn't help my intuition
09:45:33 <Taneb> My plan is to use other people's intuitiomns
09:46:01 <fizzie> I'm sure if you'd look at them long enough, PATTERNS would EMERGE.
09:46:09 <fizzie> fungot: What's a good master's project?
09:46:09 <fungot> fizzie: stalin comes very close to the machine
09:46:15 <fizzie> There you go.
09:46:30 <Taneb> So, I should implement a Stalin AI?
09:47:16 -!- VictorCL has joined.
09:47:43 <fizzie> That's a nice ambiguity. Is it an AI written in the Stalin dialect, or an AI that behaves like Stalin?
09:48:21 <Taneb> I was assuming the latter
09:48:57 <fizzie> I think fungot might have been talking about the former.
09:48:57 <fungot> fizzie: but it was still under a fair amount from that, that was a wrapper over fluids.
09:51:01 <Taneb> Anyway, I'm going to send an email to the person who would likely supervise it regarding whether my idea is appropriate
09:54:58 <Taneb> I don't need to decide until Spring, but talking about it early is probably a good idea
10:14:20 -!- ski_ has changed nick to ski.
10:20:53 -!- bender| has joined.
10:21:53 -!- VictorCL has quit (Read error: Connection reset by peer).
10:22:56 -!- VictorCL has joined.
10:24:03 -!- J_Arcane has quit (Ping timeout: 244 seconds).
10:28:24 -!- VictorCL has quit (Read error: Connection reset by peer).
10:46:47 -!- VictorCL has joined.
10:51:28 -!- VictorCL has quit (Read error: Connection reset by peer).
10:55:42 -!- Patashu has quit (Remote host closed the connection).
10:55:54 -!- Patashu has joined.
11:02:35 -!- VictorCL has joined.
11:09:48 <HackEgo> [wiki] [[BotEngine]] http://esolangs.org/w/index.php?diff=44736&oldid=44730 * SuperJedi224 * (+31) /* Instructions */
11:16:28 <HackEgo> [wiki] [[BotEngine]] http://esolangs.org/w/index.php?diff=44737&oldid=44736 * SuperJedi224 * (+150)
11:16:50 <HackEgo> [wiki] [[BotEngine]] http://esolangs.org/w/index.php?diff=44738&oldid=44737 * SuperJedi224 * (+33)
11:59:50 -!- Patashu has quit (Ping timeout: 250 seconds).
12:39:14 -!- J_Arcane has joined.
12:42:18 <HackEgo> [wiki] [[BotEngine]] http://esolangs.org/w/index.php?diff=44739&oldid=44738 * SuperJedi224 * (+130)
13:31:20 -!- JesseH has joined.
13:38:11 <coppro> `unidecode U+2265
13:38:12 <HackEgo> ​[U+0055 LATIN CAPITAL LETTER U] [U+002B PLUS SIGN] [U+0032 DIGIT TWO] [U+0032 DIGIT TWO] [U+0036 DIGIT SIX] [U+0035 DIGIT FIVE]
13:38:17 <coppro> `unicode U+2265
13:38:17 <HackEgo> ​≥
13:38:29 <myname> :D
13:47:19 -!- mroman has joined.
13:47:23 <mroman> fnérd
14:09:59 -!- alyyy has joined.
14:18:01 <Taneb> How do I find a polynomial that a given (algebraic) number is a root of?
14:19:43 <Taneb> Like I know it as a sum of roots
14:22:28 <izabera> x - a
14:23:14 <jameseb> Taneb: I would compute all the powers up to the highest root order and play around with the resulting expressions to eliminate extraneous terms
14:23:19 <mroman> depends on the degree?
14:23:39 <int-e> If p and q are polynomials with integer coefficients and if p(x) has roots a1..an and q(x) has roots b1..bm then prod(x-ai-bj, 1 <= i <= n and 1 <= j <= m) has integer coefficients again...
14:23:42 <Taneb> izabera: I'd rather the coefficients be rational
14:24:19 <int-e> hmm. monic polynomials...
14:25:16 <int-e> but while I know this is true, it's based on a theory of symmetric polynomials, and I'm not sure whether I could reconstruct all the steps of a proof.
14:27:20 <int-e> (one indicator - but not a proof - is that you can rewrite that product as prod(p(x-bi), 1 <= i <= m) and also also as prod(q(x-ai), 1 <= i <= n), and the first product is independent of the ai and the second one is independent of the bi.)
14:29:05 <int-e> hmm, Carlsen is having an awful day.
14:30:07 <int-e> (in the chess world blitz championship) 3 draws, 2 losses so far.
14:32:55 <mroman> I was surprised by seeing how many games actually end in a draw.
14:34:04 <mroman> My lose rate is 100% so far :(
14:34:55 -!- bender| has changed nick to sortixmasterrace.
14:36:32 -!- sortixmasterrace has changed nick to bendermasterrace.
14:37:00 -!- bendermasterrace has changed nick to bender|.
14:37:07 -!- bender| has changed nick to bender.
14:45:48 -!- oerjan has joined.
14:51:03 -!- sheldon has joined.
14:51:54 -!- sheldon has left.
14:54:32 -!- sheldon has joined.
14:57:25 -!- `^_^v has joined.
15:08:00 -!- sheldon has quit (Quit: leaving).
15:09:49 <oerjan> today's xkcd finally explains it all
15:09:54 -!- VictorCL has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
15:23:09 <int-e> huh
15:24:26 <oerjan> int-e: also GG has updated hth
15:29:09 <int-e> I saw that... in fact it happened hours ago... (I checked because I had not read Monday's comic yet)
15:29:24 <oerjan> that may be, but i was sleeping.
15:51:11 -!- bender has quit (Quit: [niht]).
16:01:34 <Taneb> oerjan, I avoid empty room hum by living in the room over from the extractor fan in halls
16:01:43 <Taneb> Well
16:04:15 <Taneb> That replaces the empty room hum with a hum whose origin is known
16:04:53 <oerjan> INADEQUATE
16:21:03 -!- aretecode has quit (Read error: Connection reset by peer).
16:30:36 -!- perrier has joined.
16:32:40 -!- aretecode has joined.
16:34:09 -!- VictorCL has joined.
16:37:21 -!- nortti_ has joined.
16:37:54 -!- nortti has quit (Disconnected by services).
16:37:59 -!- nortti_ has changed nick to nortti.
16:40:09 -!- quintopi1 has joined.
16:48:44 -!- gamemanj has joined.
16:50:53 -!- idris-bot has quit (*.net *.split).
16:50:53 -!- jix has quit (*.net *.split).
16:50:53 -!- gniourf has quit (*.net *.split).
16:50:53 -!- paul2520 has quit (*.net *.split).
16:50:53 -!- Deewiant has quit (*.net *.split).
16:50:53 -!- quintopia has quit (*.net *.split).
16:50:53 -!- aretecode has quit (*.net *.split).
16:50:53 -!- PinealGl1ndOptic has quit (*.net *.split).
16:50:53 -!- digitalcold has quit (*.net *.split).
16:50:53 -!- ineiros has quit (*.net *.split).
16:50:53 -!- nisstyre has quit (*.net *.split).
16:52:23 -!- aretecode has joined.
16:53:48 -!- Deewiant has joined.
16:53:50 -!- nisstyre has joined.
16:55:39 -!- gniourf has joined.
16:59:02 <HackEgo> [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=44740&oldid=44463 * YourDeathIsComing * (+2)
16:59:58 -!- PinealGl1ndOptic has joined.
16:59:58 -!- digitalcold has joined.
16:59:58 -!- ineiros has joined.
17:00:15 -!- atrapado has joined.
17:00:57 -!- copumpkin has joined.
17:07:15 -!- PinealGl1ndOptic has quit (*.net *.split).
17:07:28 -!- digitalcold has quit (*.net *.split).
17:07:28 -!- ineiros has quit (*.net *.split).
17:07:45 -!- jix has joined.
17:08:03 -!- paul2520 has joined.
17:08:09 -!- hppavilion[1] has joined.
17:08:33 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
17:10:27 -!- PinealGl1ndOptic has joined.
17:10:27 -!- digitalcold has joined.
17:10:27 -!- ineiros has joined.
17:14:42 -!- oerjan has quit (Quit: Later).
17:21:31 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
17:26:48 -!- gde33 has quit (Ping timeout: 255 seconds).
17:39:24 -!- mroman has quit (Quit: Lost terminal).
18:06:04 -!- aretecode has quit (Quit: Toodaloo).
18:08:06 -!- aretecode has joined.
18:13:36 -!- bb010g has joined.
18:21:33 -!- idris-bot has joined.
18:33:43 -!- `^_^v has quit (Ping timeout: 252 seconds).
18:34:27 <HackEgo> [wiki] [[User:Atrapado]] M http://esolangs.org/w/index.php?diff=44741&oldid=33292 * Atrapado * (-55) Undo revision 33292 by [[Special:Contributions/Atrapado|Atrapado]] ([[User talk:Atrapado|talk]])
18:43:25 -!- alyyy has quit (Quit: Page closed).
18:45:55 -!- hppavilion[1] has joined.
18:48:51 <hppavilion[1]> Wybe is going to be a weird language...
18:49:17 <hppavilion[1]> "\"Hello, World!\" print `"
18:49:35 <hppavilion[1]> Kind of postscripty, but with functional programming
18:51:40 <hppavilion[1]> For example, "[1, 2, 3] print iter `"
18:51:44 <hppavilion[1]> >>> 1
18:51:45 <hppavilion[1]> >>> 2
18:51:47 <hppavilion[1]> >>> 3
18:53:26 <hppavilion[1]> "'math' import ` input ` tofloat ` sqrt ` print `" takes a number from input and prints its square root
18:53:33 <hppavilion[1]> s/sqrt/math.sqrt/
18:53:52 <hppavilion[1]> (if you haven't figured it out yet, "`" is the apply function)
18:53:58 -!- digitalcold has quit (Changing host).
18:53:58 -!- digitalcold has joined.
18:55:05 <nortti> so, everything is just pushed to the stack, unless the apply-operator is explicitly used?
18:55:13 <hppavilion[1]> nortti: Yes.
18:55:29 <hppavilion[1]> apply operator pops a function and calls it
18:55:36 <hppavilion[1]> (The function may pop more arguments)
18:56:03 <hppavilion[1]> The language is going to have support for a TON of APIs, because that's really what I'm making it for
18:56:26 <hppavilion[1]> I'm making it stacky for simplicity
18:58:12 <hppavilion[1]> I'm considering making "`name" functions be equivalent to "name `" and making functions that's names don't match /[a-zA-Z_][a-zA-Z0-9_]*/ be applied automatically
18:58:39 -!- impomatic_ has joined.
18:59:08 <hppavilion[1]> And give them matching aliases
18:59:15 <hppavilion[1]> So you can do ":" or "DUP `"
18:59:44 <hppavilion[1]> I suppose there should be, and I'll make "APPLY" to match "`"
19:01:14 <nortti> so, apply ` = ` ?
19:02:10 <hppavilion[1]> nortti: What would that do, precicely?
19:02:23 <hppavilion[1]> (push apply, call it on nothing, raise an error, if I am correct)
19:02:42 <hppavilion[1]> Or is the ` = ` a markdown code-quoted =?
19:02:57 <nortti> no, I mean apply ` equals just `
19:03:14 <hppavilion[1]> Yes
19:03:30 <hppavilion[1]> But that's not code you'd ever really use, because that's useless
19:04:33 <nortti> yea
19:07:22 <hppavilion[1]> What should I use as the separator in Dicts and Lists?
19:07:30 <hppavilion[1]> [1, 2, 3] is the current
19:07:50 <hppavilion[1]> Actually, I don't like that syntax.
19:08:03 <hppavilion[1]> You can't, for example, put a pop in alist
19:08:05 <hppavilion[1]> *a list
19:08:05 <nortti> just space
19:08:08 <nortti> +?
19:08:22 <hppavilion[1]> How about, to make a list [1, 2, 3], you do:
19:08:23 <nortti> [1 2 3]
19:08:37 <hppavilion[1]> 3 2 1 3 list
19:08:55 <hppavilion[1]> Which pops "3" and tells it to create a
19:09:00 <nortti> ah, so no list literals?
19:09:01 <hppavilion[1]> Didn't mean to send that last one
19:09:09 <hppavilion[1]> No list literals, it looks like
19:09:28 <hppavilion[1]> "3 2 1 3 list `" OR you can use "3 2 1 3 []"
19:09:50 -!- mihow has joined.
19:10:33 -!- ais523 has joined.
19:10:42 <hppavilion[1]> I think I'll make it operate on a tape of stacks instead of just one stack, which each "cell" being a "namespace" or "cellspace"
19:12:59 <hppavilion[1]> To make a dict {'a': 1, 'b': 2, 'c': 3} you would do something like:
19:13:24 <hppavilion[1]> 1 'a' 2 'b' 3 'c' 3 dict `
19:13:59 <hppavilion[1]> ("3" instead of "6" because every key MUST have a value, no more no less, so it makes sense)
19:14:59 -!- MDream has quit (Ping timeout: 240 seconds).
19:17:43 <hppavilion[1]> There. There are only 6, types of tokens, and 2 are pretty much just syntactic sugar (well. 1.9, as it /almost/ works without one of them, barring that that's necessary for `)
19:25:18 -!- hppavilion[1] has quit (Ping timeout: 250 seconds).
19:39:28 <impomatic_> Has anyone here got access to the Tamiment Library at New York University?
19:58:23 <ais523> that's a very specific question
19:58:33 <ais523> is there something stored there that you're looking for access to, or are you just curious?
19:58:36 <b_jonas> hello
19:58:51 <ais523> (I have no idea if I do or not, but probably wouldn't be able to use it unless it was directly connected to my job, which is unlikely)
20:00:11 <ais523> hi impomatic_ btw, haven't seen you aroudn for a while
20:01:39 <impomatic_> Hi ais523, there's something there I'd like access to. But they charge $10 per page to scan :-(
20:02:03 <b_jonas> impomatic_: what? $10 per page?
20:02:09 <b_jonas> is it something special for that?
20:02:37 <ais523> that sort of price is reasonable if the file doesn't exist electronically yet
20:02:46 <b_jonas> impomatic_: are you on the same continent? check if you can get it cheaper with interlibrary loan
20:03:05 <b_jonas> if it's movable, that is
20:06:05 -!- `^_^v has joined.
20:06:14 <b_jonas> \oren\?
20:07:10 -!- evalj has joined.
20:10:10 -!- Patashu has joined.
20:24:36 <tswett> Taneb: so you've got a polynomial with a root x and a polynomial with a root y, and you want to know what polynomial has x+y as a root?
20:24:46 <Taneb> Yes
20:26:55 <tswett> Taneb: see http://math.stackexchange.com/questions/155122/how-to-prove-that-the-sum-and-product-of-two-algebraic-numbers-is-algebraic
20:29:25 <Taneb> Oooh
20:32:28 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
20:45:26 -!- Patashu has quit (Ping timeout: 260 seconds).
20:46:27 -!- j-bot has quit (Ping timeout: 252 seconds).
20:59:33 -!- `^_^v has quit (Quit: This computer has gone to sleep).
21:02:54 <impomatic_> No, on a different continent :-(
21:11:54 -!- gamemanj has quit (Ping timeout: 260 seconds).
21:13:00 <b_jonas> impomatic_: ouch. that makes it more difficult, and probably more expensive.
21:20:17 -!- codergeek42 has joined.
21:20:17 -!- codergeek42 has quit (Changing host).
21:20:17 -!- codergeek42 has joined.
21:23:59 -!- hppavilion[1] has joined.
21:24:53 -!- codergeek42 has quit (Client Quit).
21:30:14 -!- hppavilion[1] has quit (Ping timeout: 260 seconds).
21:40:00 -!- bb010g has quit (Quit: Connection closed for inactivity).
21:44:02 -!- oerjan has joined.
21:47:00 <oerjan> @tell hppavilion[1] If I am to believe Google Translate from back when i asked it to pronounce dijkstra's name, Wybe is approximately what english-speakers would munge into "veebay" hth
21:47:00 <lambdabot> Consider it noted.
21:49:03 <oerjan> also very close to what norwegians would munge into "vibe", something which cannot be said for the other parts of his name.
21:52:22 <HackEgo> [wiki] [[Insomnia]] http://esolangs.org/w/index.php?diff=44742&oldid=44646 * 66.114.92.11 * (+174)
22:01:48 -!- atrapado has quit (Quit: Leaving).
22:07:06 -!- evalj has quit (Remote host closed the connection).
22:21:09 -!- Frooxius has joined.
22:42:42 -!- Frooxius has quit (Quit: *bubbles away*).
23:27:06 <\oren\> is anyon watching the jays game?
23:34:42 <tswett> `unidecode ×
23:34:43 <HackEgo> ​[U+00D7 MULTIPLICATION SIGN]
23:40:36 <tswett> `unidecode ↦
23:40:37 <HackEgo> ​[U+21A6 RIGHTWARDS ARROW FROM BAR]
23:46:12 <\oren\> blue jays won
23:55:00 -!- codergeek42 has joined.
23:57:14 -!- hppavilion[1] has joined.
23:57:41 -!- MoALTz has quit (Read error: Connection reset by peer).
23:57:55 <hppavilion[1]> I'm on
23:58:01 <hppavilion[1]> But only for ~8 minutes
23:58:04 <hppavilion[1]> Maybe 7
23:58:07 -!- MoALTz_ has joined.
←2015-10-13 2015-10-14 2015-10-15→ ↑2015 ↑all