00:00:08 -!- Patashu has joined.
00:07:03 -!- hppavilion[1] has joined.
00:10:53 <oren> hellü hppavilion
00:12:22 <oren> what brings you to the chⱥnnel today
00:31:44 <lambdabot> elite <phrase>. Translate English to elitespeak
00:31:52 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
00:32:44 <oerjan> mauris_: Bike hasn't been in this channel in a _long_ time
00:33:03 <oerjan> right now he's not on freenode either
00:33:50 <tswett> Brb, changing my password to that.
00:34:17 <oren> is that the moldovan version of jonathan?
00:34:57 <oren> (where moldova is any country in europe)
00:35:36 <stalem> i'm going to learn to write better parsers and interpreters by writing one for this http://pastebin.com/EkCQi6N9 script i designed
00:36:02 <stalem> what approach do you guys reckon would be best? lex character by character, maybe split and regex matchers or perhaps even a mix of both?
00:36:17 <Melvar> oren: It’s the Lojban version.
00:36:32 <stalem> (any thoughts on the lang itself is welcome)
00:36:54 <stalem> and hi oerjan didnt see you there
00:37:58 <zzo38> I usually write a lexer by scanning each character
00:39:00 <stalem> i guess doing that and putting each atom in an array tree and interpret that?
00:39:10 -!- Patashu has quit (Quit: Soundcloud (Famitracker Chiptunes): http://www.soundcloud.com/patashu MSN: Patashu@hotmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
00:39:54 -!- Patashu has joined.
00:41:55 <mauris_> parsec is the only thing i know how to write parsers with
00:43:11 <oerjan> (i _know_ how to do it other ways, in theory.)
00:46:32 <stalem> mauris_: i'll look into it
00:54:16 <zzo38> I have written other parser before but have used Parsec and Lemon; I have also once converted a recursive descent parser from C into BASIC (as I had no C compiler on the target computer, nor a disk)
00:58:44 <stalem> well time to hit the hay, i'll sleep on it thanks guys o/
00:58:46 -!- idris-bot has quit (Quit: Terminated).
01:01:53 -!- idris-bot has joined.
01:03:06 -!- stalem has quit (Ping timeout: 246 seconds).
01:03:15 <oerjan> <stalem> or air closet, either way works, AC/DC you know <-- i just keep them in the same closet as my vacuum hth
01:14:55 <zzo38> I installed the package of "Amoebax" game but I found out that it does not normally let you to set the controls for both players to the same keys, but I found the configuration file and now I can do it anyways, so now I can vers myself; it is difficult because the ghost-block can drop at the different place for each player
01:19:11 <zzo38> Would it be possible for a terminal emulator to fake the "break" function by looking at the termios settings even though normally cannot be used with pseudoterminals?
01:22:15 -!- mauris_ has quit (Ping timeout: 244 seconds).
01:35:33 <oren> I have invented syllabic dicentiquinquigentimal
01:36:08 <oren> a base 256 number system where each digit has a unique syllable
01:37:29 <oren> er, maybe that should be dicentisexiquingentimal?
01:38:25 <zzo38> OK, did you write down all of their working?
01:38:45 <oren> the high 4 bits are represented by the start consonant
01:38:49 <oren> f p b sp s t d st h k g sk n m l sn
01:39:32 <oren> the low four bits are represented by the vowel and end consonant:
01:39:49 <oren> a i u e o ya yu yo an in un en on yan yun yon
01:40:32 <oren> thus instead of saying eff eff zero zero eff eff
01:40:46 <oren> you can say snyan fa snyan
01:42:03 <zzo38> I think I invented something similar once to encode Japanese alphabets, although not all numbers are valid because Japanese alphabets doesn't have that much.
01:52:43 <tswett> I wonder if it's better for words for digits to be regular or irregular.
01:53:13 <tswett> What's better: "zero, one, two, three, four, five, six, seven, eight, nine" or "ta, te, ti, to, tu, ba, be, bi, bo, bu"?
01:54:57 <tswett> I feel like irregular is better. That way, different digits are more dissimilar.
02:01:29 -!- atslash has joined.
02:07:00 -!- Patashu has quit (Ping timeout: 255 seconds).
02:07:55 -!- Patashu has joined.
02:09:34 <tswett> More wisdom from the neural net:
02:09:57 <tswett> 11:38:23: <int-e> maybe I don't know what for proofs of memory to be science somewhere.
02:10:34 <tswett> The feeling of not knowing what for proofs of memory to be science somewhere.
02:10:48 <tswett> Sometimes I feel like really I still don't know what for proofs of memory to be science somewhere.
02:17:07 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
02:17:25 <tswett> 23:47:44: <zzo38> You have to totally it.
02:18:04 -!- |f`-`|f has quit (Ping timeout: 250 seconds).
02:18:24 <tswett> 11:56:54: <ais523> hmm, not the falling
02:18:59 -!- |f`-`|f has joined.
02:19:43 <tswett> Oh my god. Deepest words ever produced by a neural net.
02:20:03 <tswett> 11:14:36: <b_jonas> int-e: I'm not fungot, and I'm completely fungot.
02:20:03 <fungot> tswett: any ideas? comments? concerns? please contact the webmaster/ fnord/ 04/ fnord/ fnord/ images/ p6_cover_big.gif
02:22:37 -!- hppavilion[1] has joined.
02:23:44 -!- Patashu has quit (Ping timeout: 244 seconds).
02:24:29 -!- Patashu has joined.
02:28:20 <oren> there is a unicode character for "may peace be upon him" ﷺ
02:28:38 <tswett> fungot: give me a sentence please.
02:28:38 <fungot> tswett: scheme in lisp, with optimizations. there was hugs, too, for all practical purposes
02:28:42 <HackEgo> [U+FDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM]
02:35:05 -!- atslash has quit (Quit: This computer has gone to sleep).
02:35:14 <oren> i wonder what unicode character is the most complex
02:41:09 <HackEgo> [U+2A6A5 CJK UNIFIED IDEOGRAPH-2A6A5]
02:42:18 <oren> that's a chinese character with 64 strokes, consisting of 4 of 龍 in a square
02:44:07 <oren> apparently it means "verbose." ha. ha. ha.
02:46:58 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:53:40 <oren> in Mandarin, pronounced "long" in Japanese pronounced "ryuu"
02:54:40 -!- rdococ has joined.
02:55:24 <oren> Although in japan the simplified form 竜 is more common than 龍
03:05:38 -!- JesseH has joined.
03:06:19 <JesseH> Writing an interpreter for my language to learn another language and I need to make some decisions to make derplang better.
03:07:11 <JesseH> As of now, i allow users to use multiple lines, although originally you could only use one line. Wouldn't it make sense to go back to only allowing one line?
03:07:46 <MDream> One of of code for the whole program you mean?
03:08:39 <oren> if there is no length limit on that line then there's no problem
03:10:23 <JesseH> but then all that's really doing is forcing the user to do one more step, if it comes to it, which would be taking out the useless whitespace which my interpreter would normally do.
03:11:11 <JesseH> However, since this is an esolang, shouldn't that make sense?
03:11:21 <MDream> I don't know othey things about derplang, so I've no idea of the context in which it originally only allowed one line.
03:13:36 <JesseH> Simple, the language forced the use of one line at first, and then i made the interpreter not care.
03:14:02 <JesseH> Also, I need a mod on the wiki to help me out. I tried to edit my page and it said that it was harmful.
03:14:17 <oren> if an interpreter reads one byte of source at a time, and doesn't handle whitespace as a noop...
03:14:30 <oren> then it would only allow one line
03:14:45 <MDream> I see no commands for importing libraries.
03:14:57 -!- MDream has changed nick to MDude.
03:15:20 <JesseH> I'm trying to get rid of some unimplemented filth on the wiki
03:15:29 <JesseH> I wrote some stuff such as STD which isnt a standard library at all
03:15:44 <JesseH> such as the STD section*
03:16:10 <MDude> If each program was one line, but could be called as a function by just saying something like function:filename, that could keep things short.
03:16:20 <MDude> While making a ton of library layers.
03:16:50 <JesseH> The point was to not care about the length of the code, and just allow one line only, anyway. To make it painful.
03:16:59 -!- JenTheHappyGeek has joined.
03:17:07 <JesseH> Since I didn't feel the language was esoteric enough.
03:17:49 <JenTheHappyGeek> Hi there! I stumbled across this channel and was wondering what its purpose/subject-matter is.
03:18:03 -!- JenTheHappyGeek has left.
03:20:24 <JesseH> Can a mod on the wiki change /derplang (the page) to http://hastebin.com/marogejivi.vhdl
03:23:23 <JesseH> Oh wow, I have a lot to fix on that page.
03:23:30 <JesseH> It's like I wasn't even trying to create a good page.
03:24:27 <HackEgo> [wiki] [[Derplang]] http://esolangs.org/w/index.php?diff=43960&oldid=38893 * Orenwatson * (-91) changed from pastebin supplied via irc
03:25:10 <HackEgo> [wiki] [[Derplang]] http://esolangs.org/w/index.php?diff=43961&oldid=43960 * Orenwatson * (+0) fixed typoes
03:25:55 <JesseH> Being able to make changes myself would be even better! :P
03:26:37 <oren> I think the prblem was caused by content that was already there being considered "harmful"
03:27:01 <oren> that is, the rules for what is harmful changed after the page was created
03:28:24 <oren> by the way im not a mod
03:29:13 <HackEgo> [wiki] [[Derplang]] http://esolangs.org/w/index.php?diff=43962&oldid=43961 * JesseH * (-108)
03:29:25 <JesseH> Okay sweet. I edited it successfully!
03:30:27 <JesseH> Either way, oren. I made the changes I wanted to make, and i blame you.
03:31:03 <HackEgo> [wiki] [[Derplang]] http://esolangs.org/w/index.php?diff=43963&oldid=43962 * JesseH * (-1)
03:31:14 <JesseH> Every update I make will get spammed into here? :P
03:32:17 <oren> yup! it never became a problem since the wiki is not so active
03:32:19 <JesseH> I think I'm going to take out the fo command.
03:32:47 <JesseH> Then people will be forced to do everything with eq and go
03:34:57 <HackEgo> [wiki] [[Derplang]] http://esolangs.org/w/index.php?diff=43964&oldid=43963 * JesseH * (-119) /* Language Overview */
03:35:16 <JesseH> Took it out. I'm just cleaning this up before I implement in erlang. :P
03:37:05 <HackEgo> [wiki] [[Special:Log/newusers]] create * D2alphame * New user account
03:39:25 -!- lleu has quit (Read error: Connection reset by peer).
03:39:47 -!- lleu has joined.
03:39:47 -!- lleu has quit (Changing host).
03:39:47 -!- lleu has joined.
03:55:12 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
03:59:42 <oerjan> JesseH: i believe you hit an anti-spam forbidding <br><br>
04:00:29 -!- MDude has changed nick to MDream.
04:01:08 <oerjan> ais523 has made a number of rules based on spams not looking like normal wiki pages
04:01:43 <rdococ> can someone call the headache.Stop method please?
04:02:48 -!- hppavilion[1] has joined.
04:06:25 <JesseH> In Argk, my new language, you can pass logic and what not to functions with []
04:06:52 <JesseH> So like, "print('~n')[n=99, n>0, n-=1];
04:07:01 <JesseH> would print 99, 98, ..., 1
04:15:40 <rdococ> you mean shorthand for for loops?
04:16:21 <rdococ> I so need to make a new programming language...
04:20:43 <JesseH> I would try to give more examples, but you're very annoying.
04:21:08 <JesseH> No offense, but it's not working for me tonight. I'd normally have no issue.
04:22:44 <JesseH> I give one minor example of something, and he corrects me, as if I didn't know my own language, and says that it is a for loop. :P
04:23:01 <JesseH> Yes, I gave you the example that replaces the for loop.
04:23:22 <oerjan> i think you're overinterpreting hth
04:23:57 <JesseH> Guess I'm a little stressed and tired.
04:26:14 <JesseH> print('hello', '~n')[x=input(), n=x+'!'];
04:26:55 <JesseH> That would first get input from you, and then print out "hello<input>!"
04:27:27 <JesseH> But I feel like theres something im not seeing with this sort of idea that's broken
04:27:55 <oerjan> well it resembles list or monad comprehensions
04:28:05 <oerjan> but it's a bit inside out
04:28:29 <JesseH> It almost seems like a disorganized waste of space.
04:28:57 <JesseH> It's pretty much just putting code I'd write somewhere else inside []'s after a function
04:29:18 <JesseH> Well thanks guys, that ruined that idea. xd
04:29:27 <oerjan> [putStrLn("hello "++n)|x <- getLine, let n = s ++ "!"] would be legal haskell monad comprehension with the right extension enabled
04:30:08 <oerjan> and scala uses for syntax for the same thing
04:30:22 <JesseH> So I was about to make up monad comprehensions. Sweet, ill learn haskell or something one day.
04:31:22 <oerjan> but there's something else too, iirc Icon (which i don't really know) has expression which backtrack
04:32:20 <rdococ> But how could you tell between the for syntax, and between indexing the value of a function?
04:33:03 <rdococ> E.g. if f(x) returned an array, what would f(x)[] do? Index f(x) at nil, return an error, or do some kind of iteration?
04:33:17 <oerjan> well that's the point where i thought icon's backtracking expressions might be closer
04:33:41 <oerjan> but none of these fits exactly, i guess
04:35:17 <oerjan> and you could maybe add prolog to the mix
04:35:44 <oerjan> well, you already know erlang
04:36:11 <oerjan> so it has some common elements. but i don't think it has that one.
04:37:12 <oerjan> JesseH: the tricky decision is exactly what decides when the iteration happens.
04:38:09 <oerjan> needs some evaluation and scoping rules etc.
04:39:11 <oerjan> and does print's implementation need to handle any of it
04:39:20 <JesseH> I can see f(x)[...] could return multiple things. 'a,b,c = f(x)[...]' for example.
04:39:40 <JesseH> oerjan, The idea is to implement useful things for functions, that might be commonly written.
04:43:44 <oerjan> oh and APL/J/K has a lot of this for arrays, but in that case it's _definitely_ each function needing to handle it
04:45:02 <oerjan> JesseH: what i mean is, among other things, does a function get to decide whether to pass the whole [...] thing along to another function instead
04:45:18 <oerjan> and is the default to do that or the opposite
04:45:39 <oerjan> nope, completely empty hth
04:46:10 <JesseH> oerjan, you decide, and ill get back to you on that once i sleep :|
04:46:54 <hppavilion[1]> I'm designing a simulator which emulates an Esoteric Processor
04:47:04 <hppavilion[1]> OR a simulator which emulates an Esoteric Universe
04:47:18 <oerjan> what about an Esoteric Professor twh
04:47:36 * oerjan full of bad ideas today
04:48:26 <hppavilion[1]> The Esoteric Processor I'm going to have to think about what I want it to be like in general, now that I think about it
04:50:01 <rdococ> what about an esoteric esoteric thing?
04:51:31 <hppavilion[1]> GUI-based (that is, you'll have a GUI that you work with)
04:52:06 <hppavilion[1]> Buildable (as in, you assemble an EsoProcessor in the emulator, it doesn't just spit one out)
04:52:20 -!- JesseH has quit (Remote host closed the connection).
04:52:43 <hppavilion[1]> Esoteric, but not so much that it alienates people
04:53:10 -!- bb010g has quit (Quit: Connection closed for inactivity).
04:54:50 <rdococ> an esoteric processor?
04:55:08 <rdococ> what kind of processor?
04:55:46 <hppavilion[1]> I want to make an almost-game where you build a computer that behaves very differently from any real computer
04:55:59 <zgrep> As far as I know, most processors are esoteric, at least to me...
04:56:09 <rdococ> how do you do that? computers can behave like anything, that's what they're meant to do
04:56:42 <rdococ> you want a computer that looks and behaves weirdly?
04:56:44 <hppavilion[1]> Basically, it wouldn't be /too/ esoteric, as really esoteric things alienate people
04:56:58 <hppavilion[1]> rdococ: Yes. And I want to make an almost-game out of it
04:57:06 <rdococ> and what is an almost-game?
04:57:29 <hppavilion[1]> An almost game is something with gameplay components but no real game
04:58:04 <rdococ> umm, that's called mind reading
04:58:18 <rdococ> it could certainly be possible, but not accurate
04:58:57 <hppavilion[1]> An almost game is something that /could/ be a game if one were to add an actual challenge ot it
04:58:58 <rdococ> okay, back to talking about an almost-game
04:59:11 <rdococ> you mean sandbox game?
04:59:23 <rdococ> they're not almost-games, they're games
04:59:36 <rdococ> but not even a sandbox?
05:00:09 <hppavilion[1]> Imagine a game where the goal is to build computers for aliens
05:00:11 <rdococ> what an interesting way to look at a sandbox game
05:00:44 <rdococ> and it causes BSOLOD: blue screen of lack of death
05:00:54 <hppavilion[1]> Now remove any cost constraints and the requirement to build a computer for aliens, but leave in the computer building part
05:01:03 <rdococ> I'm tired, so I might act a bit jerky, like a machine that needs lubricant
05:01:41 <rdococ> you mean, a program in which you can assemble your own computer?
05:02:02 <rdococ> how simple are we talking?
05:02:05 <hppavilion[1]> And defies all notion of what a computer is to a primative mortal
05:02:35 <rdococ> as I said earlier, a computer is meant to be programmable to behave like any machine, as it's a general purpose machine
05:02:53 <rdococ> so this defiant computer would be meant to be not programmable, and can't behave like any machine
05:04:01 <rdococ> a primitive mortal would think a computer...uhh...would they even think about it?
05:04:01 <hppavilion[1]> An esoteric computer would, for example, run a declarative machine code based on geometry
05:04:29 <rdococ> so something that consumers don't think of as programming?
05:05:05 <rdococ> well, I wouldn't exactly call haskell programming, but it fits what you say
05:05:20 <hppavilion[1]> But you would have a flashy interface where you build a computer like that
05:05:33 <rdococ> a computer that runs declarative machine code...
05:06:03 <rdococ> we'd need something a little less esoteric than haskell, right?
05:06:31 <hppavilion[1]> Another example is that, in this program, you could construct a ternary processor chip
05:06:33 <rdococ> wait, we want consumers to be able to program in it?
05:06:58 <rdococ> like small businesses?
05:07:10 <hppavilion[1]> Like the kind of people who build Minecraft computers
05:07:22 <rdococ> computers in Minecraft?
05:07:49 <rdococ> you can do this in logisim, I think
05:08:43 <rdococ> which is a program that simulates circuitry
05:10:08 <hppavilion[1]> It'll allow you to construct esoteric processor chips
05:10:53 <rdococ> might have already been done
05:11:05 <rdococ> people have assembled whole computers in Logisim
05:12:29 <hppavilion[1]> Another, non-esoteric project I'm working on is an Evolution simulator
05:13:13 <rdococ> can't we just make a general purpose processor that can act like every other processor?
05:15:32 <hppavilion[1]> And, if you do it right, the computer that you build
05:15:36 <rdococ> I have an idea for a new programming language which I had a long time ago, but never got around to making an article for
05:15:58 <oren> stupid cd drive making clicky sounds
05:16:06 <rdococ> in which programs are stored as mathematical functions
05:16:54 <rdococ> program(state, input) => new state
05:17:16 <rdococ> but unlike a FSM, there are infinitely many possible states
05:17:33 <oren> how about (state, input) => (state, Maybe output)
05:17:55 <rdococ> yes, we need an output system
05:18:33 <rdococ> but what to output for each state?
05:18:39 <rdococ> there are infinitely many states
05:19:14 <rdococ> also, such output system is not required for turing completeness
05:19:42 <hppavilion[1]> A language should always have IO for anyone to care
05:19:48 <rdococ> and it's required for less-esotericness
05:20:00 <rdococ> although there's already "output": the state number
05:20:13 <zzo38> I have thought of similar things too though about such program mathematical function
05:20:23 <hppavilion[1]> Preferably an esolang should also have GUI support
05:20:48 <rdococ> people care about brainfuck, and brainfuck has no GUI
05:21:15 <hppavilion[1]> But people would LOVE an esolang with GUI that maintains esotericness
05:21:28 <oren> why not two special infinite subspaces of the state space, where states in the first ouput 0 and the other outputs 1
05:21:47 <oren> and states outside both don't output
05:23:14 <rdococ> my Folder programming language, despite not being TC, does have GUI, but it's not mentioned nearly as much here
05:23:59 <rdococ> and it's still esoteric, to an extent
05:24:09 <hppavilion[1]> I firmly maintain my stance that programs embedded in Folder make it TC
05:24:31 <hppavilion[1]> Also, wouldn't it be cool if someone were to make a TC filesys?
05:24:40 <rdococ> and I firmly enforce my rule that such programs embedded in Folder programs stop them from being Folder programs
05:25:00 <rdococ> only linear media are allowed in folder programs
05:25:11 <hppavilion[1]> Have a text file giving a user instructions on how to manipulate the folders
05:25:28 <rdococ> if that was true, then Text would be TC
05:26:01 <rdococ> the human brain isn't TC as you claimed
05:26:18 <hppavilion[1]> Wait, is text an esolang or are we just discussing plaintext?
05:26:34 <oren> yaeh. all real computers of any kind are subTC
05:26:45 <rdococ> the brain is in the real world, and nothing is TC in the real world
05:27:27 <rdococ> we can do stuff TC can't, for example, solve the halting problem
05:27:27 <hppavilion[1]> What if there's a SuperTC computational class that the human brain is orders of magnitude too tiny to comprehend?
05:27:32 <oren> so if brains are so good go marry one
05:27:50 <hppavilion[1]> rdococ: We can solve halting problems that can be solved
05:28:21 <rdococ> hppavilion[1]: actually, we can solve THE halting problem
05:28:51 <rdococ> if a program halts if it doesn't halt, we can see that the program halts if it doesn't halt, and say that is the solution
05:29:13 <hppavilion[1]> But the programs we do that on can be solved by computers too
05:29:29 <hppavilion[1]> THE halting problem is whether it's possible to solve if ANY GIVEN program will halt
05:29:44 <rdococ> give me any program you think can't be solved, and I can solve it
05:30:42 <rdococ> usually, it halts with an error or a crash.
05:31:09 <hppavilion[1]> I think the solution to the Halting Problem was to plug the Halting Problem into a Halting Problem Solving machine, and for some reason that wouldn't halt
05:31:39 <hppavilion[1]> Since it can solve the problem of "Generate a completely random number"?
05:31:58 <oren> the halting problem is to write a program that tells whether a program given an input will halt
05:33:54 <hppavilion[1]> rdococ, write a program that tells whether a program given an input will halt
05:34:21 <rdococ> technically my brain has a program that can do that
05:34:25 <hppavilion[1]> To those reading the logs, check the timestamps between those last two messages
05:34:26 <rdococ> tada, solved halting problem
05:34:53 <zzo38> That cannot be solve in the general case even by your mind, as far as I know
05:35:17 <rdococ> okay, imagine a hypothetical version of my brain that has infinite memory
05:35:31 <rdococ> that would be TC, and could solve the halting problem for programs of any complexity.
05:35:59 <rdococ> it's not impossible to solve the halting problem, just more complicated than running the program
05:36:13 <hppavilion[1]> Alan Turing proved in 1936 that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist. A key part of the proof was a mathematical definition of a computer and program, which became known as a Turing machine; the halting problem is undecidable over Turing machines. It is one of the first examples of a decision problem.
05:36:26 -!- Sgeo has joined.
05:37:01 <Sgeo> I once argued with my teacher about the halting problem
05:37:21 <hppavilion[1]> rdococ thinks he can decide whether ANY given program with a given input will halt
05:37:37 <Sgeo> He seemed to think it applied to finite memory .. actually, does it, the way it's defined? Since you need a machine with more memory than the one executing the program in question
05:37:52 <Sgeo> I did, once he googled it and saw that it's about infinite memory
05:38:15 <rdococ> I never said it applied to finite memory
05:39:03 <rdococ> and I know full well it doesn't
05:39:36 <hppavilion[1]> Sgeo: It doesn't, as the program in question could need an indefinite amount of memory, and thus the Solver's must be infinite
05:40:02 <hppavilion[1]> I used wikipedia talking about Turing. I think I won.
05:45:54 <HackEgo> [wiki] [[Algebra]] N http://esolangs.org/w/index.php?oldid=43965 * Rdococ * (+306) wow, this article is really short, need to add examples one day
05:46:46 <HackEgo> [wiki] [[User:Rdococ]] M http://esolangs.org/w/index.php?diff=43966&oldid=43208 * Rdococ * (+18) added algebra
05:47:58 <HackEgo> [wiki] [[Folder]] http://esolangs.org/w/index.php?diff=43967&oldid=43884 * Rdococ * (+126) /* Computational Class */ you need to read this hppa
05:50:51 <oerjan> Sgeo: if you apply the method of the proof for the halting problem to the case of finite memory, you end up with the space hierarchy theorem instead hth
05:52:01 <oerjan> which is how we know e.g. LOGSPACE != PSPACE != EXPSPACE
05:54:54 <rdococ> all the programming languages I "make" are always about FSMs...
05:55:04 <rdococ> I'm going to try to make one that's NOT about FSMs
05:56:01 <oerjan> `learn An FSM is a state machine with noodly appendages.
05:56:05 <HackEgo> Learned 'fsm': An FSM is a state machine with noodly appendages.
05:56:30 -!- zadock has joined.
05:56:31 <rdococ> I will make a programming language to glorify the flying spaghetti monster
05:56:44 <rdococ> uh...a lock automaton?
05:57:00 <hppavilion[1]> rdococ: that language must only support GOTO as control flow, such as to encourage Spaghetti code
05:57:02 <rdococ> I forgot... haven't been into programming languages for a while now
05:57:34 -!- zadock has quit (Remote host closed the connection).
05:57:37 <rdococ> that was just a tree view of an example of an FSM
05:57:55 <HackEgo> [wiki] [[Folder]] M http://esolangs.org/w/index.php?diff=43968&oldid=43967 * Rdococ * (-10) /* Examples */ idk what "Lock Automaton" is, so
05:58:10 <rdococ> it's just a lock programmed into Folder as an FSM
05:58:36 <hppavilion[1]> rdococ: We need to define a TC derivative of folder xD
05:58:54 <hppavilion[1]> And then force Bill Gates to implement it into Windows at Gunpoint
06:00:03 <rdococ> great idea, except for forcing Bill Gates to implement it
06:00:16 <rdococ> even though Folder itself is already implemented in Windows
06:02:02 <rdococ> idk if that's possible
06:02:18 <rdococ> maybe we could define a new type of folder with infinite subfolders?
06:03:15 <rdococ> yeah, and then it wouldn't be already implemented
06:04:02 <rdococ> THE esoteric OS, or just in general?
06:04:06 <hppavilion[1]> Do you have any ideas for stuff we could put in its filesys
06:04:34 <rdococ> files with a negative number of data?
06:05:21 <rdococ> well, let's say we have a group of three files, ooooo|ooooo|ooooo
06:05:31 <rdococ> for zero bytes, that'd be ooooo||ooooo
06:05:52 <rdococ> and minus one, that'd beumm...
06:06:15 <rdococ> do you mean complex amount of data, or do you mean complex bytes?
06:06:41 <hppavilion[1]> Complex number for quantity of data and, for the esoteric processor, complex bits fed into the logic gate
06:07:01 <rdococ> how exactly would a file with 2i bits of data look like
06:08:25 <rdococ> my mind understands -30% of what we are talking about right now
06:08:57 <rdococ> true, false, imaginary truth, imaginary falsth
06:10:55 <rdococ> if we use 0 and 1 for false and true, the multiplication is AND, the addition minus the multiplication is OR, stuff like that, then if we used 1i for imaginary
06:11:05 <rdococ> 1i AND 1 would be 1i for example
06:11:13 <rdococ> but 1i AND 1i would be -1...
06:12:09 <rdococ> can we please stick to negative files
06:13:42 <rdococ> 0%2 is 0, 1%2 is 1, 2%2 is 0, going the other way, -1%2 is 1
06:14:58 <hppavilion[1]> If we know that, we can distribute out complex booleans
06:15:07 <rdococ> 1i OR 1i, which is i + i - 1, would be 2i-1, if we do the modulus separately, that's 1
06:15:50 <rdococ> 1 OR 1i is 1 + i - i, which is just 1
06:16:33 <rdococ> would 1i OR 1i be i + i + 1 as before we do the modulus, or woud it be i + i - 1
06:18:42 <hppavilion[1]> The primatives of Boolan Algebra are AND, NOT , and OR, I believe
06:22:09 <rdococ> also, would 1+i exist?
06:22:28 <rdococ> complex numbers don't work well with modulus
06:23:35 -!- Patashu has quit (Ping timeout: 256 seconds).
06:25:00 -!- Patashu has joined.
06:29:42 <rdococ> complex modulus is nothing like normal modulus
06:30:26 <hppavilion[1]> It appears what is called "modulus" in complex numbers refers to complex absolute value
06:31:17 <hppavilion[1]> Citation: https://www.wolframalpha.com/input/?i=1%2Bi%252
06:33:22 <hppavilion[1]> https://docs.google.com/document/d/1ucWQlrcBiFQHjmTS4TN5I5DpkJbI17PXctn3l2XrzbE/edit?usp=sharing
06:33:35 <hppavilion[1]> In case you want to help me document Complex Boolean Algebra
06:42:33 <rdococ> We only need those three lines I added, hppavilion[1]
06:42:36 <hppavilion[1]> rdococ: I'm thinking of implementing a library for this in python. However, I'm bad with complex numbers. So I need to figure out how to do it
06:42:48 <hppavilion[1]> rdococ: I know, but at this point I'm just being stubborn
06:43:37 <hppavilion[1]> Maybe we should publish a research paper on this xD
06:43:43 <newsham> python already has complex numbers
06:44:18 <newsham> complex(1,5)%2 == complex(1,5) in python, it seems
06:44:49 <rdococ> this complex boolean stuff is getting boring
06:45:16 <rdococ> it doesn't suddenly magically make super magical core functionality appear in an OS
06:45:35 <newsham> which esolang does that, rdococ?
06:45:55 <rdococ> we're not talking about esplangs
06:46:04 <rdococ> I was taling about that complex boolean thing
06:46:14 <newsham> complex booleans dont count as esoteric then nothing does
06:46:28 <rdococ> never said they weren't esoteric
06:46:32 <oerjan> i think you've reinvented gaussian integers (mod 2)
06:46:33 <rdococ> I said they weren't eso langs
06:47:53 <oerjan> a perfectly respectable ring with four elements
06:48:23 <oerjan> it's not a "boolean" ring though. x^2 = x doesn't hold.
06:48:27 <hppavilion[1]> rdococ: It may not introduce core functionality to an OS, but it certainly would make a cool thing to deal with when designing an Alien Processor
06:48:32 <oerjan> (as you've already found out.)
06:49:53 <newsham> http://math.stackexchange.com/questions/274694/modulo-complex-number
06:50:58 <rdococ> I don't like complex booleans anymore, I'm done with them
06:51:18 <rdococ> they make no sense, not even esoteric sense
06:51:38 <hppavilion[1]> What other esoteric abstract concepts are there...?
06:51:42 <rdococ> what about a file of negative size?
06:52:16 <hppavilion[1]> The negative file size means it removes data from the previous file
06:52:19 <rdococ> a file of negative size overwrites previous data with empty data
06:52:40 <rdococ> so creating a negative file is the same as getting rid of data
06:52:45 <hppavilion[1]> Of course, I'm dealing at the phyisical, chip level
06:53:05 <rdococ> that could be AWESOME if used correctly
06:53:20 <newsham> len(cat a b) = len(cat a) + len(cat b)
06:53:33 <rdococ> you would be able to do garbage collection with negative files
06:53:47 <rdococ> I took that term out of context
06:53:57 <rdococ> forget what I just said
06:54:05 <hppavilion[1]> You thought it was copy file but it turned out to be concat?
06:54:11 <newsham> if len(cat b) < 0 then len(cat a b) < len(cat a)
06:54:11 <rdococ> how would a file of negative size be useful
06:54:19 <hppavilion[1]> I really like complex numbers today for some reason
06:54:24 <shachaf> oerjan: what's a ring that is not respectable twh
06:54:33 <newsham> rdococ: dunno.. lets figure out what it means first, then figure out how its useful :)
06:55:01 <oerjan> shachaf: one which hogs all its operators instead of distributing hth
06:55:04 <rdococ> what about a file whose size is unknown until you feed a value x?
06:55:15 <rdococ> for example, a file could have a filesize of x^2 bits
06:55:21 <shachaf> oerjan: that would hardly be a ring would it
06:55:36 <newsham> does a file of negative length have contents? ie. does it need to have the same contents as another file to meaningfuly concat them together?
06:55:38 <hppavilion[1]> OERJAN, A *TOOL* OF THE CORPORATE MISOGYNY, SAYS NOT ALL RINGS DESERVE THE SAME RESPECT!
06:55:52 <oerjan> newsham: interesting first answer, that means you can get the ordinary booleans by doing (mod 1 + i)
06:55:54 <newsham> do i need to start with an "un-a" to cat it with a file that ends with an "a"?
06:56:24 <shachaf> newsham: If you made files be free groups instead of free monoids, you could make something like that made sense.
06:56:30 <rdococ> concat("a", anti-"a") = ""
06:56:49 <rdococ> concat("a", anti-"b", "b") = "a"
06:57:05 <newsham> concat("abc", anti-c) = "ab"; but concat("abc", anti-x) == ?
06:57:21 <rdococ> but concat(anti-"b", "a", "b") is itself basically
06:57:38 <rdococ> what the bool would boolean geometry and boolean calculus look like?
06:57:49 <shachaf> i think "free group" is the right answer hth
06:58:10 <shachaf> But I'm not sure I've heard of people talking about the "length" of a free group element.
06:58:28 <shachaf> http://math.stackexchange.com/questions/1147702/length-of-an-element-in-a-free-group
06:58:29 <hppavilion[1]> I'm yet to take calculus, so I don't understand it
06:59:02 <rdococ> we'll need to know what a boolean function is to understand this boolean calculus
06:59:21 <rdococ> but I'm just going to go with my anti-file idea because I smell potential
06:59:22 <oerjan> <rdococ> so creating a negative file is the same as getting rid of data <-- this reminds me of that attempt someone made to make a reversible computation system in which types were a ring (it didn't look to me like it worked out, alas, although maybe with _just_ addition it does)
07:00:08 <hppavilion[1]> It looks like Boolean Geometry is still yet to be a thing
07:00:43 <rdococ> it's like a stack thing
07:01:16 <rdococ> guys, should concat("ba", anti-"b") be "a" or not?
07:01:42 <hppavilion[1]> So boolean geometry takes place in a space where the coordinates can only be 1s and 0s
07:02:16 <rdococ> so you can only get squares, triangles, lines and points in boolean geometry?
07:02:17 <newsham> hppavilion[1]: how about multi-dimensional boolean geometry
07:02:58 <hppavilion[1]> I meant the numbers in the coordinates can only be 1s and 0s
07:03:00 <rdococ> this talk about geometry reminds me of an idea I had
07:03:11 <newsham> so each coordinate is a bit vector
07:03:21 <rdococ> basically, I had the idea of making a minecraft like game that uses polygons instead of voxels
07:03:40 <newsham> and dot products = parity(A xor B) ?
07:03:41 <hppavilion[1]> So in Boolean 2-space the coordinates can be (0,0), (0,1), (1,0), or (1,1)
07:04:03 <rdococ> so you could "dig" into polygons, which would actually be splitting the polygon into smaller ones, and making the polygons closer to the dig area farther away from the player
07:04:18 <newsham> wait, not parity(A xor B), foldr OR False (A xor B) ?
07:04:42 <hppavilion[1]> Why not make a Minecraft-based Programming Language
07:04:44 <rdococ> and if you dug to the surface on the other side, the points too far would be removed, and the points close to the surface would connect with the surface
07:04:54 <hppavilion[1]> Where you input a Minecraft World and it spits out something else
07:05:07 <rdococ> hppavilion[1]: interesting
07:05:15 <oerjan> rdococ: a boolean function is just a function that takes booleans and returns booleans. also see: post's lattice
07:05:15 <newsham> how about a game where you solve proofs?
07:05:37 <hppavilion[1]> I don't like that in Math, you can't do things like line(a, b) where a and b are points
07:05:50 <newsham> https://www.cs.washington.edu/verigames
07:05:56 <hppavilion[1]> At least, as far as I've been taught that's how it works
07:05:59 <rdococ> yay for annonymous data
07:06:59 <newsham> separation of Church and state
07:07:25 <oerjan> <newsham> "abc" - "cb" = a? <-- eek that's not very groupy
07:07:31 <rdococ> get it? church of flying spaghetti monster, which also means finite state machine, church, state? get it?
07:09:05 <rdococ> what about an OS where files didn't exist
07:09:59 <rdococ> second class data is data that's not treated first class
07:10:52 <rdococ> anyway, what about an OS without files?
07:11:03 <rdococ> zeroth class data is...umm...idk
07:11:15 <newsham> 1st class data = in register, 2nd class = in cache, 3rd class = in memory, 4th class = in remote memory, 5th class = on interwebs
07:12:02 <rdococ> https://en.wikipedia.org/wiki/First-class_citizen
07:12:43 <rdococ> -1st class = Can have a name of negative length only
07:12:56 <oerjan> newsham: the name makes you go insane hth
07:13:36 <rdococ> so what if everything was a zeroth class object?
07:13:44 <rdococ> as in, a programming language where nothing has a name?
07:14:19 <rdococ> but can't you just give the item a property called name?
07:14:45 <rdococ> oh wait you can't because then the property would be named name
07:14:59 <rdococ> and you can't name it a number either
07:15:19 <newsham> you can construct a tuple with a value item and a name item, without explicitely naming them
07:15:43 <rdococ> but how will you know which one is the name item?
07:16:02 <rdococ> is there a variable x with a value of 3, or a variable 3 with a value of x?
07:16:33 <rdococ> it's not as easy as saying a random word
07:17:04 <newsham> i should write a SKI VM with syscall support
07:17:43 -!- Patashu has quit (Ping timeout: 244 seconds).
07:18:56 -!- Patashu has joined.
07:27:32 -!- digitalcold has quit (Ping timeout: 244 seconds).
07:29:48 -!- digitalc1ld has joined.
07:30:38 -!- FireFly has quit (Ping timeout: 244 seconds).
07:35:42 -!- x10A94 has joined.
07:36:14 <zzo38> rdococ: Maybe you will know which one is the name item by the datatype.
07:36:35 <rdococ> forget about that zeroth class thing
07:37:20 <rdococ> does anyone have any ideas on how to use negative files to their full potential
07:37:28 <rdococ> either with or without content and order and stuff
07:45:46 <zzo38> Is there the minesweeper variant where the bombs can move by itself?
07:48:18 -!- FireFly has joined.
07:48:54 <rdococ> maybe if we find a different way to treat negative file sizes
07:49:28 <rdococ> maybe a file of negative size is a memory space extension
07:49:52 <zzo38> OK, try different kind of idea lets see what can be figured out.
07:49:53 <rdococ> so if you have five bytes of data left, a file of negative space would increase that
07:50:05 <zzo38> Try to figure out how it work and then you can see if it is work
07:50:35 <rdococ> forget the negative idea
07:51:01 <rdococ> do you know of a way to make an OS turing complete with only a file system at your disposal?
07:51:23 <rdococ> you'd have to make up programming language structures like Folder
07:51:47 <zzo38> I may think of it in future but maybe not
07:52:06 <rdococ> Folder programs, at the very least, are folders made up of subfolders with shortcuts in them to other subfolders
07:52:18 <rdococ> I use the term shortcut very broadly here
07:52:52 <hppavilion[1]> Programming has Verbs (functions) and nouns (objects of various sorts)
07:53:20 <zzo38> Try to make one with adverbs and adjective
07:53:35 <zzo38> (possibly even without so much (or any) verb/noun if can be made to do????)
07:53:50 <rdococ> adverbs would be functions that modify functions
07:53:58 <rdococ> e.g. sitting is different from quickly sitting
07:54:29 <rdococ> adverbs are declarative functions acting on functions, and adjectives are declarative functions acting on nouns
07:54:33 <hppavilion[1]> quickly sit() would perhaps optimize the sit() method prior to calling it if the langauge is interpreted?
07:54:53 -!- AnotherTest has joined.
07:56:07 <rdococ> but quickly is a function itself, so it's the same thing
07:56:14 <rdococ> okay, quickly might have a return value, true
07:56:57 <zzo38> I would prefer the "quickly(sit)()" if it is a function that call and can return other function, but if you are doing esoteric programming then it does not matter what way is better, just make it in whatever way you are to make it as
07:56:58 <rdococ> what about imperative functions acting on verbs?
07:57:05 <oerjan> hppavilion[1]: i hear the J language has adverbs hth
07:57:47 <hppavilion[1]> rdococ: but it isn't a function. It's an adverb. A metafunction of sorts.
07:58:06 <rdococ> metafunction function same thing
07:58:19 <zzo38> OK, well I suppose it can depend on how the function in programming language is work
07:58:20 <rdococ> hppavilion[1]: not in a first class environment
07:58:37 <zzo38> So it can depend if it is first-class function and stuff like that.
07:59:26 <rdococ> well, quickly(quickly) would optimize quickly
07:59:39 <rdococ> quickly(quickly)(sit)(rdococ)
08:00:20 <rdococ> there are verbs, adverbs and adjectives - are there jectives?
08:00:36 -!- |f`-`|f has quit (Ping timeout: 244 seconds).
08:00:37 <rdococ> of course, adjectives are basically adnouns,
08:00:59 <rdococ> what about adadjectives?
08:01:03 <rdococ> they would describe adjectives.
08:01:06 -!- |f`-`|f has joined.
08:01:29 <rdococ> e.g. blue is an adjective, and dark in "dark blue" is an adadjective
08:01:44 <hppavilion[1]> Human describes things like name, age, occupation, sexual preference, place of living
08:01:55 <rdococ> but I'd rather focus on making an OS whose filesys is turing complete
08:02:27 <rdococ> well I'm OCD'ing towards it
08:02:29 -!- TieSoul has joined.
08:02:47 <rdococ> of course it is, go wild
08:02:54 <rdococ> what's an esoteric singularity?
08:03:26 <hppavilion[1]> Something so esoteric that thinking about it breaks your mind, making it impossible to think like a rational human being ever again
08:03:53 <rdococ> I already don't think like a primitive rational human being anyway
08:03:57 <zzo38> You can try, but I doubt you can succeed.
08:04:15 <zzo38> (Whether or not you already think like a "primitive rational human being" anyway)
08:04:45 <hppavilion[1]> Let's focus on things that make actual programmatical sense
08:04:45 <rdococ> new fat young english human()
08:05:00 <rdococ> new slim young male english human()
08:05:01 <hppavilion[1]> new... actually, fat could be used to describe that it has extra data...
08:05:41 <rdococ> local orange = new annoying orange()
08:05:54 <hppavilion[1]> What descriptors could be applied to an object in general?
08:06:09 <rdococ> oh! we could do a programming language based on the annoying orange
08:06:39 <rdococ> to do 2+2: "Hey! Hey 2! Blender! Hey! Hey 2! Blender!"
08:06:57 <rdococ> and then "Hey! Hey 4! Packaging!"
08:07:44 <rdococ> the Annoying Programming Language
08:08:10 <hppavilion[1]> What descriptors could be applied to single objects that would be useful?
08:09:09 <rdococ> Hey! Hey 2s! Blender! ~the 2's get blended into a 4~ Hey! Hey Blender! Hand! ~the hand empties the blender into the display~
08:09:47 <rdococ> Hey! Hey X and Y! Blender Z! adds x and y into z
08:10:03 <hppavilion[1]> But not include any variables not declared in the initialization?
08:10:14 <rdococ> it blends X and Y into X+Y
08:10:41 <rdococ> and stores it in variable Z
08:10:53 <hppavilion[1]> We're having two completely different conversations
08:11:15 <rdococ> I want an OS which can be turing complete with only a file system
08:11:21 <hppavilion[1]> I'm designing a new type of keyword that could CHANGE THE FACE OF OO PROGRAMMING
08:11:43 <hppavilion[1]> You're making a programming language based on a stupid web series turned TV show
08:12:05 <rdococ> I didn't get ANY popularity for being serious with my Folder idea
08:12:25 <rdococ> and you get all your popularity for making slim objects?!
08:13:03 <rdococ> you can eat annoying oranges! yay!
08:13:28 <hppavilion[1]> Please don't make the Annoying Orange programming language in that state
08:13:42 <rdococ> Hey! Hey hppavilion[1]!
08:14:42 <rdococ> Hey! Hey X! Knife! -- destroys X
08:15:02 <rdococ> I had that idea too but naah
08:15:31 <rdococ> divides X by 2 for now
08:16:18 <hppavilion[1]> foo = class(extends=[bar, baz], implements=[quz], abstract=True, interface=True){...}
08:16:40 <rdococ> foo = extends bar, baz, implements quz, abstract, interface class
08:16:46 <hppavilion[1]> I doubt you can have an interface that implements another interface
08:18:02 <rdococ> have any ideas for a good idea I could use
08:18:31 <rdococ> have any ideas for a good idea I could take inspiration on for my own idea on how to get my own idea
08:18:41 <zzo38> rdococ: No, I think that is difficult
08:19:06 <hppavilion[1]> Programming language based on bad erotic fanfiction?
08:19:15 <zzo38> Just see what we have written and try to figure out. I don't know, so maybe it is or maybe it is not.
08:19:55 <zzo38> There is a list of ideas in the wiki, you can also add stuff like you have discuss here, onto there too, and can make an organization of replies and so on.
08:20:22 <hppavilion[1]> There is not /one/ mention of Star Wars on the entire wiki
08:21:06 <zzo38> Then add into list of ideas and then there is one mention of Star Wars in wiki. Or, figure out how to make such esolang and make that page.
08:21:06 <hppavilion[1]> A programming language that, when read backwards, contains hidden, satan-worshipping messages?
08:25:35 <hppavilion[1]> A language where EVERYTHING is a stack that you can revert to a previous state?
08:25:51 <zzo38> Yes that is some idea too
08:26:14 <zzo38> Please add anything not already in list of idea in wiki onto there (although you can discuss it on this IRC too please)
08:26:50 -!- FireFly has quit (Ping timeout: 240 seconds).
08:28:13 <hppavilion[1]> A language where things can only be accomplished with complex networking and threading
08:30:12 <HackEgo> [wiki] [[Natas Liah]] N http://esolangs.org/w/index.php?oldid=43969 * Hppavilion1 * (+91) Created Page
08:32:20 <HackEgo> [wiki] [[Natas Liah]] http://esolangs.org/w/index.php?diff=43970&oldid=43969 * Hppavilion1 * (+142) Stubbified, expanded page.
08:34:16 <rdococ> a programming language that looks like an office suite
08:34:41 <rdococ> but with turing complete files
08:34:56 <rdococ> something that looks at first to be an office suite, but you can make programs in it
08:35:01 <hppavilion[1]> For example, you can store data in various "programs"
08:35:15 <hppavilion[1]> But to get data between programs, you have to use the "copy" and "paste" instructions
08:35:47 <rdococ> people have made fully functional games in excel
08:36:05 <hppavilion[1]> I mean excel is the only place where you can do math
08:36:38 <hppavilion[1]> Hello World would be something like: "open Word; type "Hello, World!"; print;"
08:37:03 <rdococ> I'd rather have a programming language that looks like an office suite
08:37:50 <rdococ> basically spreadsheet or document format which supports programming features - not a programming language with random office suite words thrown in
08:37:50 -!- FireFly has joined.
08:38:04 <rdococ> basically, no lines of code 7
08:38:27 <rdococ> as my clumsy hands accidentally touch the 7 from the numpad
08:38:29 <hppavilion[1]> To do math, you have to do "Minimize word; open Excel; select "<cellID>"; type "<stuff>"; get "<cellID>"; copy; minimize Excel; open Word; paste; print;"
08:38:53 <hppavilion[1]> And you transfer data between them via the Clipboard
08:39:11 <rdococ> open OpenOffice; do all your stuff instead of minimizing and opening Microsoft Offartice; close;
08:39:34 <hppavilion[1]> It would also include statements about the badness of MS Office
08:39:39 <rdococ> open ThisLanguageIsSpreadsheetFartNuts; close;
08:40:35 <rdococ> stop! stop rewording already existing programming languages! with you it's all do this, do that, do this, do that, some kind of glorified print, some kind of glorified read stream, some kind of this and that
08:40:59 <hppavilion[1]> I'm not trying to just reword a programming language
08:41:35 <rdococ> well try something other than reworded imperative lines of code then
08:41:58 <hppavilion[1]> I just thought it'd be funny to have a language where you open a bunch of different programs that don't intereact very well
08:42:24 <rdococ> my office suite idea was good enough, but you had to come and ruin it with imperative lines of code
08:42:48 <rdococ> your idea isn't an office idea at all
08:42:59 <rdococ> it's a reworded Python
08:43:31 <rdococ> which is basically mov
08:44:32 <rdococ> yay talk about my office idea now
08:47:08 <rdococ> you know how people have managed to make all sorts of cool games in Excel
08:47:52 <rdococ> how about we make an office suite that is easier for them to make games in than Excel
08:48:07 <rdococ> or basically extend the idea or something
08:48:26 <rdococ> or we could make the programming language look and act enough like an office suite people don't realize they're making programs
08:48:55 <rdococ> and when they realize, they'll realize that programming is easy and start programming
08:49:23 <hppavilion[1]> And we make it /just/ esoteric enough so that they join our little community, too
08:49:50 <hppavilion[1]> Because when I click "Random Page", I more often than not recognize the page I land on
08:50:06 <rdococ> yeah, we need more people in the esoteric community
08:50:39 <rdococ> knowing me, I'll get bored of it before I start making it, but it's worth a shot
08:51:11 <rdococ> although I have to go in an hour and thirty nine minutes
08:51:16 <hppavilion[1]> I've been planning to develop an Office Suite for a while
08:51:29 <hppavilion[1]> I could use this as practice, as it'll be a bit more simple
08:51:47 <rdococ> what should it look like? it could look like a spreadsheet program, or a word document program
08:52:08 <hppavilion[1]> I think it should be a few programs, such as to emphasize the office suitiness
08:52:49 <hppavilion[1]> I think that we should make it so that you can do cool stuff at the base, but oh, to do this you need to edit the .cfg which isn't too hard, oh you want to do that? You'll need to frobnicate the fnord...
08:54:24 <hppavilion[1]> Which is one of the most intimidating parts of programming
08:57:24 <rdococ> maybe there could be six levels of difficulty based on which program
08:57:30 <rdococ> word, spreadsheet, database...
09:00:12 <rdococ> or maybe just the same difficulty each
09:04:27 <rdococ> Word: You can hide chunks of text inside spoilers, simulating a decision tree.
09:08:57 <rdococ> Word: You can create buttons to go to different pages, simulating finite state automata.
09:09:54 <rdococ> Spreadsheet: You can type formulae into cells, simulating computation.
09:10:58 <rdococ> I've decided to keep the first idea for Word, and put my second Word idea into Presentation.
09:12:44 <rdococ> I'm not recording anything, I'm not a youtuber.
09:13:09 <rdococ> But you gave me an interesting idea. Let's include a movie maker in the office suite.
09:13:34 <hppavilion[1]> I mean where are you putting this information so you can later access it xD
09:13:49 <hppavilion[1]> I'm basically trying to figure out if you're putting it in Google Docs
09:14:04 <rdococ> I'm typing it down in Notepad
09:17:35 -!- FireFly has quit (Ping timeout: 244 seconds).
09:18:16 <rdococ> so it should be more advanced
09:18:27 <rdococ> database already feels like a programming language
09:18:57 <rdococ> Database: You can create functions that conditionally modify database entries.
09:19:26 <hppavilion[1]> Should we allow the programs to be unified into a vast interconnected web?
09:20:45 <hppavilion[1]> E.g. you can unify a BUNCH of different components into a single game
09:21:54 <rdococ> Bundle: You can create buttons in the words of a document that trigger functions that conditionally modify database entries. You can create textboxes that display certain entries from the database.
09:24:11 <rdococ> Movie: You can create interfaces to go to different parts of the movie, like the menus in an actual movie.
09:25:36 <rdococ> which then we might as well change Presentation
09:26:16 <rdococ> so right now we have Word, Spreadsheet, Presentation, Database, and Movie
09:26:50 <rdococ> Bundle would've been a name for a document with all five elements
09:27:01 <rdococ> Word, Spreadsheet, Presentation, Database and Movie
09:27:11 <rdococ> I'm thinking of changing Presentation
09:27:29 <rdococ> yeah, I'm removing Presentation
09:28:14 <rdococ> movie can replace presentation
09:28:40 <rdococ> it'd be easier to do movie than presentation, atleast as how a presentation is usually thought of as
09:28:52 <rdococ> you don't want to click Presnetation, and suddenly see a movie maker window
09:29:43 <rdococ> now to make it look a bit more esoteric
09:30:26 <rdococ> we could make the language used to create macros in Database more compact
09:30:50 <rdococ> by more compact I mean compact, I haven't even started making the suite
09:31:37 <rdococ> me or you or I (said it like that to satisfy grammar nazis)
09:33:49 <hppavilion[1]> It needs to be something with an R library most definitely
09:34:01 -!- atslash has joined.
09:34:35 <hppavilion[1]> It has a function to calculate P Value given a vector or something
09:34:42 <rdococ> but I want a good macro language
09:35:42 <rdococ> if (some entry satisfies this condition and/or/xor that condition and stuff) then (modify this entry to some formula of the other entries something something)
09:36:25 <rdococ> how about unconditional modification
09:36:33 <rdococ> but with the formula thing
09:36:53 <rdococ> imperative version of formulae in cells thing
09:38:07 -!- atslash has quit (Ping timeout: 246 seconds).
09:38:28 -!- atslash has joined.
09:39:49 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
09:48:52 -!- Phantom_Hoover has joined.
09:49:07 -!- sebbu has quit (Ping timeout: 252 seconds).
09:49:32 <HackEgo> [wiki] [[Special:Log/newusers]] create * Ashl * New user account
09:49:48 -!- sebbu has joined.
09:50:34 -!- sebbu has quit (Changing host).
09:50:34 -!- sebbu has joined.
09:50:34 -!- AnotherTest has quit (Read error: Connection reset by peer).
09:50:40 <HackEgo> [wiki] [[Swapper]] M http://esolangs.org/w/index.php?diff=43971&oldid=35536 * Ashl * (+24)
09:56:05 <rdococ> but what I really wanted was a programming GUI that looked like an office suite
09:56:09 <rdococ> so it feels professional
09:58:13 -!- AnotherTest has joined.
10:00:42 <coppro> @tell boily http://csclub.uwaterloo.ca/~scshunt/mj-reference-wip.pdf
10:10:04 <rdococ> I wonder, can we define a turing complete language as a language which can generate every possible infinite output in infinite time?
10:10:53 <ashl> what does 'every possible' mean
10:12:03 <rdococ> or could we give this definition a new name?
10:12:09 <int-e> what form does the output take?
10:12:24 <rdococ> a string of characters, from a finite alphabet
10:12:52 <rdococ> or an infinite alphabet or space such as the real nmbers
10:13:40 <ashl> does 'every possible infinite output' include the binary expansion of chaitin's constant
10:14:15 <ashl> then no, we can't define a turing complete language that way :P
10:14:16 <int-e> In any case, I think this doesn't do what you want, because /deterministic/ TMs can only do this if you also allow infinite input, but stupid machines (which just copy an infinite input or generate a random stream of output characters) satisfy the definition.
10:15:02 <int-e> (randomness can be regarded as a special kind of infinite input)
10:15:48 <rdococ> I want to get a programming language for which I can design an interface which looks and feels like a professional business suite
10:20:10 -!- oerjan has quit (Quit: Later).
10:28:40 -!- rdococ has changed nick to rdococ_afk.
10:48:00 -!- rdococ_afk has quit.
10:49:30 -!- AnotherTest has quit (Read error: Connection reset by peer).
10:53:12 -!- AnotherTest has joined.
11:31:09 -!- TodPunk has quit (Read error: Connection reset by peer).
11:31:35 -!- TodPunk has joined.
11:33:10 -!- paul2520 has quit (Ping timeout: 240 seconds).
11:44:53 -!- fractal has quit (Ping timeout: 256 seconds).
11:45:29 -!- stalem has joined.
11:52:36 -!- FreeFull has quit (Ping timeout: 244 seconds).
11:54:43 -!- FreeFull has joined.
11:58:10 -!- fractal has joined.
12:00:33 -!- paul2520 has joined.
12:02:48 -!- J_Arcane has quit (Ping timeout: 255 seconds).
12:06:01 -!- Patashu has quit (Ping timeout: 246 seconds).
12:06:26 <stalem> i have some thoughts about how to approach writing an interpreter, but i'd like to know if it would be the right approach if anyone is willing to lend some help
12:18:07 <stalem> i'm thinking the lexer/tokenizer goes through the source character by character, depending on what character it detects, call a lexer function specific for each type of character related to the functions of the language
12:18:12 <stalem> (i hope i'm making any sense)
12:18:48 <stalem> each of these functions either continues to recursively parse the source, or when encountering a closing char, returns the token array
12:18:55 -!- Patashu has joined.
12:19:08 <stalem> but i'm afraid it's going to be a whole lot of parser functions
12:21:26 <stalem> i'm also really unsure how to even begin categorizing and interpreting the tokens, but then again maybe the best approach is just to dive into it and solve each problem as i go.
12:22:04 <stalem> the lang i'm going to interpret is this btw http://pastebin.com/gnd67AKg a sense of what needs to be done might help
12:39:30 -!- J_Arcane has joined.
12:48:45 <stalem> i'm starting to wonder if the problems that arise are due to it being a badly designed language
12:55:48 -!- FireFly has joined.
13:14:54 <HackEgo> [wiki] [[Churro]] M http://esolangs.org/w/index.php?diff=43972&oldid=42975 * Ashl * (+24)
13:15:15 -!- FireFly has quit (Ping timeout: 244 seconds).
13:48:20 -!- FireFly has joined.
14:13:40 -!- AnotherTest has quit (Ping timeout: 244 seconds).
14:16:04 -!- AnotherTest has joined.
14:19:19 -!- FireFly has quit (Ping timeout: 244 seconds).
14:23:19 -!- bb010g has joined.
14:26:04 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
14:30:29 -!- Phantom_Hoover has joined.
14:32:07 <HackEgo> [wiki] [[Talk:HQ9+]] http://esolangs.org/w/index.php?diff=43973&oldid=16691 * LegionMammal978 * (+115) /* Proving all the tasks are possible */
14:32:21 <HackEgo> [wiki] [[Talk:HQ9+]] http://esolangs.org/w/index.php?diff=43974&oldid=43973 * LegionMammal978 * (+101) /* Proving all the tasks are possible */
14:32:22 -!- sunnymilk has left.
14:48:10 -!- Patashu has quit (Ping timeout: 250 seconds).
14:52:18 -!- FireFly has joined.
15:26:43 -!- rdococ has joined.
15:26:51 -!- yorick has quit (Remote host closed the connection).
15:29:06 -!- yorick has joined.
15:31:36 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
15:37:02 <tswett> stalem: I feel like you have the right approach here.
15:37:07 -!- FireFly has quit (Changing host).
15:37:07 -!- FireFly has joined.
15:39:25 <tswett> My instinct would be to do pretty much what you just said.
15:39:27 <tswett> You might end up with a whole lot of functions. But if you need to do a whole lot of different things, then having a whole lot of functions is correct.
15:45:14 <stalem> tswett: haha i guess that makes sense. the main issue tho would be to preparse the [x]n and x..n parts, but as they're only two kinds of checks it might suffice to have exceptions for those
15:45:59 <tswett> At least for [x]n, you might want to do it in two steps. First, do a preprocessing phrase where you process [x]n but just leave everything else as-is. Second, parse everything else.
15:47:34 -!- Phantom_Hoover has joined.
15:48:16 <stalem> that would actually be a great idea. i could just pass the char array to a preparse function that checks for [x]n, inserts x n number of times and return the resulting array
15:48:31 <stalem> then pass that result to the main parser
15:49:00 -!- AnotherTest has quit (Read error: Connection reset by peer).
15:53:17 <stalem> although i guess it would be called a preprocessor :P
15:53:45 -!- AnotherTest has joined.
16:08:44 -!- stalem has changed nick to stale-food.
16:18:09 -!- FireFly has quit (Ping timeout: 244 seconds).
16:25:46 -!- JesseH has joined.
16:29:13 <zzo38> It also depend what programming language you are going to write it with
16:29:31 <lambdabot> stalem said 1d 4h 8m 21s ago: first iteration of lang generation script done! gonna try and write up a desciption and you can have a look
16:43:02 -!- tjt263 has joined.
16:49:56 -!- FireFly has joined.
17:06:46 -!- MDream has changed nick to MDude.
17:11:06 <oren> I want to write a better terminal emulator / ssh client for Windows
17:11:34 -!- sedirc has joined.
17:11:53 <izabera> !learn sedirc i'm a bot written in sed, my source is here: https://gist.github.com/izabera/345327710e70c10c4e45
17:12:42 <izabera> that counts as esoteric, doesn't it?
17:13:03 <oren> written in sed?
17:13:49 <oren> I used to be quite good with Visual Basic on XP
17:14:11 <oren> Maybe I can write a better terminal/ssh thing with VB?
17:17:06 <oren> it should theoretically be possible
17:17:21 <zzo38> I used VB6 as well
17:17:35 <oren> those were the days
17:17:57 <rdococ> I prefer a more esoteric language
17:19:17 <izabera> probably a bunch of other terminals will work out of the box in cygwin
17:19:33 <zzo38> I wrote a gopher client in VB6
17:20:48 <stale-food> zzo38: actually c# ;_; only useful lang i know that i'm currently fluent in
17:21:26 <zzo38> I think xterm is a pretty good terminal emulator though, although there are some things I would have omitted as well as some things it lacks but should include.
17:23:12 -!- rdococ has left.
17:23:40 <zzo38> I would add a resource that contains codes which the terminal interprets (as if it had received) whenever the terminal is reset, therefore you can change various settings with it that cannot be set with other resources (also it mean some other resources are not needed)
17:24:32 <zzo38> Also some Tektronix features are not currently emulated
17:24:39 <oren> yes there is cygwin, but I think it would be nice to have something with ssh integration but not crappy like Putty
17:25:06 <oren> (I'm using a cygwin terminal right now)
17:25:44 <Sgeo> cygwin has ssh, I use it all the time
17:25:53 <oren> So I'mma have a "Connect" menu, with options "SSH", "Raw TCP", "Raw Secure TCP"
17:26:06 <oren> right but not integrated
17:26:15 <Sgeo> What, you mean with a GUI?
17:26:46 -!- Lymia has quit (Quit: Hugs~ <3).
17:26:47 <Sgeo> I guess I personally find typing more convenient
17:27:10 <oren> and cygwin isn't an EXE you can just dump on some guy's computer
17:28:04 -!- nisstyre has quit (Ping timeout: 250 seconds).
17:28:25 <zzo38> Some DEC features are not implemented in xterm either
17:28:43 <zzo38> I would also want ANSI music support
17:29:38 <oren> zzo38: that could actually be somewhat possible if the ssh program is in the gui program...
17:29:49 -!- Lymia has joined.
17:37:51 -!- darkl0ck has joined.
17:43:07 -!- Sgeo has quit (Quit: Leaving).
17:43:10 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:48:51 <newsham> windows git dist comes with ssh and a few other unix utils, lighter weight install than cygwin, if you just want a partial unix cmd set
17:56:46 -!- nisstyre has joined.
18:47:08 <oren> tcpcon = New Net.Sockets.TcpClient(host, port)
18:48:12 <oren> I spent so much time writing C that i forgot what speaking a highlevel language feels like
18:49:12 <pikhq> This is something that even C could do a lot better. int fd = tcp_client(host, port); is a *perfectly doable* API that BSD sockets doesn't have. :)
19:01:09 -!- Melvar` has joined.
19:02:21 -!- idris-bot has quit (Ping timeout: 256 seconds).
19:02:27 -!- Melvar has quit (Ping timeout: 244 seconds).
19:03:59 <ashl> see http://man.cat-v.org/plan_9/2/dial
19:05:17 -!- idris-bot has joined.
19:05:42 -!- Melvar`` has joined.
19:07:51 -!- Melvar` has quit (Ping timeout: 260 seconds).
19:10:18 <izabera> what do they use to generate the web version of those pages?
19:11:44 <zzo38> Yes you could make the library that does that kind of "tcp_client" though, I suppose
19:14:08 <ashl> izabera: you could /join #cat-v and ask :P
19:14:19 <izabera> i actually was already there and i asked
19:14:27 <ashl> i'm not on there
19:17:48 <zzo38> Such function could be made also to automatically select IPv4/IPv6, as well as to automatically do other stuff (possibly based on pseudo-TLDs and so on in the host name), etc
19:19:13 <zzo38> I still am trying to think of what other stuff to write to add into the character back story. He may be here soon!
19:20:03 <pikhq> zzo38: IPv4/IPv6 autoselection should be trivial even in normal BSD sockets if you just use getaddrinfo.
19:20:32 <pikhq> (getaddrinfo returns a linked list of things to try connecting to, in preferred order. So you iterate through, try IPv6, and then IPv4)
19:22:09 <zzo38> However I suggestion something else too, which is pseudo-TLD so that if you end a domain name with .ipv4 then it will strip out the .ipv4 and then connect normally but force IPv4 to be used instead of IPv6
19:24:55 <HackEgo> [wiki] [[Dogescript]] http://esolangs.org/w/index.php?diff=43975&oldid=40983 * LegionMammal978 * (+9)
19:26:46 <b_jonas> zzo38: you could sort of implement that, if you chose a prefix that's a little longer, by buying a domain name and running special purpose name servers serving it that query name servers and filter to ipv4
19:27:01 <b_jonas> but I don't think it's an idea I like in first place
19:27:03 <zzo38> It is meant to be a pseudo-TLD though and not a real one
19:29:07 <oren> Now, which control should I use to display the text from the server?
19:29:15 <oren> and from the client
19:29:39 <oren> I am thinking maybe a Rich Text box?
19:30:00 <zzo38> oren: I was expecting just draw it into a picture box
19:30:19 <oren> Hmm that might be simpler actrually
19:30:23 <oren> Yeah good idea
19:30:35 <zzo38> A text box work for receiving text from a gopher server (although you have to use Windows API to make long enough text), but for a terminal emulator I think a picture box would be better.
19:31:45 <b_jonas> oren: um, what are you developing?
19:31:49 -!- tjt263 has quit (Ping timeout: 265 seconds).
19:33:05 -!- rdococ has joined.
19:33:06 <oren> A terminal emulator/ssh/tcp client
19:33:11 <oren> In Visual Basic
19:33:30 <oren> to get my hand in VB again
19:33:49 <rdococ> we need some kind of esoteric basic
19:34:02 <oren> I think there are several
19:34:12 -!- ais523 has joined.
19:35:04 <HackEgo> [wiki] [[Special:Log/delete]] delete * Ais523 * deleted "[[File:Sesame oil sample.jpg]]": unused offtopic image, possibly copyvio
19:39:52 <oren> Also there was a BASIC/Lisp hybrid that i can't recall the name of
19:40:09 <oren> oh yes. Heresy
19:40:58 <oren> https://github.com/jarcane/heresy
19:47:14 -!- hppavilion[1] has joined.
19:50:23 <hppavilion[1]> Playing MC with my sister, so my presence will be thin
19:50:46 <oren> I'm writing a terminal emulator in Visual Basic. is this 1. awesome 2. horrible 3. both?
19:52:52 <myname> yeah, definitly both, but a bit more horrible than awesome, i think
19:53:07 -!- AnotherTest has quit (Ping timeout: 260 seconds).
19:53:33 <b_jonas> oren: how feature complete do you want it to be? just a dumb terminal that support \r \n \b but no other control? more?
19:55:10 <pikhq> b_jonas: A terminal that fails to implement ANSI escapes kinda sucks.
19:55:33 <b_jonas> oren: and what library are you using to implement the ssh part?
19:55:54 <oren> I want it to implement as much as possible.
19:56:33 <pikhq> There's some real crazy terminal features that probably aren't worth implementing.
19:57:05 <pikhq> Such as tektronix graphics. :)
19:57:08 -!- AnotherTest has joined.
19:57:12 <oren> I havent' got to the ssh part yet, I'm working on raw tcp
20:00:15 <pikhq> I practically guarantee you won't care to implement tektronix graphics. Though, if you really *must*, you could probably use xterm as a reference.
20:01:23 <oren> If I have to, I'll implement ssh myself. but it looks like .Net has an ssl interface
20:01:47 <pikhq> I dunno if that'll be helpful. SSH isn't SSL.
20:02:03 <pikhq> Though I imagine .Net is also exposing the crypto functions, which should help.
20:02:16 <oren> exactly what i'm thinking
20:02:18 <pikhq> The protocol's different, but the crypto is the same.
20:02:26 <pikhq> (for the most part)
20:10:04 -!- Melvar`` has changed nick to Melvar.
20:17:37 -!- stale-food has changed nick to stalem.
20:39:24 -!- hppavilion[1] has quit (Ping timeout: 255 seconds).
20:41:36 -!- TieSoul has quit (Remote host closed the connection).
20:42:50 <stalem> hey guys quick q: is it normal for a lexer/parser to contain lots of if/then/else statements?
20:43:36 -!- APic has quit (Ping timeout: 264 seconds).
20:43:39 <b_jonas> ais523: stalem mentioned that he's writing some sort of lexer or parser that uses separate recursive functions for each state, or something like that. I think you can help him.
20:44:05 <ais523> recursive descent, or recursive ascent?
20:44:09 <ais523> stalem: either that or switch statements
20:44:38 <ais523> lexers often are literally state machines; parsers tend not to be mathematically identical to state machines but have a lot of features in common
20:45:17 <stalem> yeah it's pretty much like that. thing is, i'm only at the first condition in the _preprocessor_ and i have already a nest building
20:45:25 <b_jonas> “<stalem> i'm thinking the lexer/tokenizer goes through the source character by character, depending on what character it detects, call a lexer function specific for each type of character related to the functions of the language”
20:45:39 <stalem> what's the key difference between a lexer and a parser then?
20:46:01 <ais523> stalem: a lexer is splitting the input into tokens, and traditionally takes a regular language as input; there's no "long-range" state
20:46:05 <stalem> i'm not too knowledgeable in all the terminology, but i'm gonna learn!
20:46:09 <ais523> you're just trying to recognise words / punctuation groups
20:46:21 <ais523> meanwhile, a parser is splitting a list of tokens into a nested structure, so it can do things like matching brackers
20:46:30 <b_jonas> a lexer recognizes a _sequence_ of tokens, a parser makes a _tree_ from a stream of tokens (sometimes called "symbols" in that context)
20:46:40 <ais523> and normally is based on a context-free language
20:46:52 <stalem> ah ok, so pipelined it would be lexer > parser > interpreter/compiler?
20:47:23 <ais523> actually often the lexer's implemented as a subroutine of the parser
20:47:32 <ais523> the parser calls the lexer whenever it needs more tokens
20:48:37 <stalem> i see. are there any obvious benefits to doing that rather than tokenize then pass the array to a parser?
20:49:36 <ais523> you don't need to allocate a temporary array for keeping the token list around
20:51:06 <stalem> very true. i'll tackle that hurdle when i get there. thanks for the wisdom!
20:51:41 <stalem> so in conclusion, this nesting isn't all that uncommon then? http://pastebin.com/kFNEhnRC
20:52:04 -!- hppavilion[1] has joined.
20:52:35 <hppavilion[1]> insert clever greeting pun on the name "stalem" here!
20:52:56 <ais523> stalem: what you're writing there is basically a state machine
20:53:08 <ais523> just using separate variables rather than a single "state" variable, so it looks a bit different from normal
20:53:28 <ais523> this is pretty much what I expect to see in a lexer
20:54:25 <stalem> ais523: oh. well it's just the preprocessor but i guess i'm doing something right? when you mention state machine i get unsure. sheesh i feel i have so much to learn still hah
20:54:48 <ais523> hppavilion[1]: stalem's working on a lexer/parser
20:54:49 <b_jonas> what? I always thought "stalem" just stands for "stalemate"
20:54:52 <stalem> hppavilion: i'm trying and failing it seems
20:54:59 <ais523> it isn't explicitly using an FSM atm
20:55:01 <stalem> b_jonas: indeed it does
20:55:12 <ais523> hppavilion[1]: err, you do realise that like 99% of lexers are FSM-based?
20:55:29 <stalem> i'm just too old to be a n00b imo
20:55:46 <ais523> hppavilion[1]: stalem hasn't really started on the parsing portion yet
20:55:51 <hppavilion[1]> I know lexers are FSM based. I've written many in my life, all of which are regex-based
20:56:00 <b_jonas> stalem: you _could_ try to read a book about lexing and parsing though, if you're interested in this
20:56:03 <ais523> and yes, we know that unless the language is very simple, then a state machine is insufficiently powerful to parse it
20:56:25 <stalem> :O that was quick! how did i do that?
20:56:40 <hppavilion[1]> If it has parenthesis that must be matched, it needs at least a Stack Automaton
20:56:42 <stalem> b_jonas: i got a lot of free time, that's a great idea. could you recommend any good ones?
20:56:52 <fowl> I read fsm as flying spaghetti monster >.>
20:57:13 <ais523> fowl: that is also good at parsing, but harder to write
20:57:26 <b_jonas> stalem: I'm not really sure, because I've seen only a few such books, but
20:57:48 <b_jonas> let me find the two I've read recently when I realized I know too few about context-free parsing
20:58:02 <b_jonas> I still know too little, mind you, but the books are good
20:58:08 <stalem> b_jonas: heh fair enough!
20:58:25 <b_jonas> and I'd still want to learn more
20:58:49 <myname> i wrote a lexer for rail. it was fun
20:59:01 <stalem> not the optimal language, but i feel like learning stuff on my own at this time, with my uneducated arse, is gonan be a bit too much right now
20:59:25 <stalem> no idea actually. i understand python is really powerful though?
20:59:28 <hppavilion[1]> If so, you can makes something that looks like BNF pretty easily
20:59:46 <b_jonas> stalem: a deep but old classical book is Aho, Ullman, ''The theory of parsing, translation, and compiling''
20:59:48 <hppavilion[1]> It's dynamically typed, it has built-in maps, it has a bajillion libraries
20:59:58 <stalem> thing is, i should propably learn a bit more about processing streams of chars and tokens before i delve into BNF
21:00:07 <hppavilion[1]> It has ever operator overloading thing you would need
21:00:23 <stalem> b_jonas: thanks, adding to my notes!
21:00:48 -!- x10A94 has quit (Read error: Connection reset by peer).
21:01:11 <hppavilion[1]> stalem: I recommend using Parser Combinators to generate an AST
21:01:17 <stalem> hppavilion[1]: by operation overloading do you mean overloading stuff like + etc?
21:01:38 <stalem> hm no i don't think it can no, but then again i havne't looked into it :P
21:01:50 <hppavilion[1]> But that's just because the only ways I know of parsing are Parser Combinators and the Shunting-Yard Algorithm (which only works for arithmetic expressions)
21:02:01 <hppavilion[1]> http://www.jayconrod.com/posts/38/a-simple-interpreter-from-scratch-in-python-part-2
21:02:23 <b_jonas> stalem: before that, I've read Hopcroft, Motwani, Ullman, ''Introduction to Automata Theory, Languages, and Computation''. This requires very few prerequisites and contains good explanations, but also covers a lot of theory-only non-practical stuff, like the double-exponential reduction to two-counter machines
21:02:24 <hppavilion[1]> It's easy to understand, because python looks like pseudocode
21:02:53 <b_jonas> I didn't learn too much of it, but it was remarkable to me because of the nice style it was written
21:04:29 <b_jonas> There's also Knuth's TAOCP volume 5 for lexing, and possibly volume 6 “God willing […] but only if the things I want to say about those topics are still relevant and still haven't been said” (according to Knuth)
21:04:46 <b_jonas> no wait, volume 5 is also about parsing
21:04:54 <b_jonas> well, I'm not sure how they're divided really
21:05:54 -!- Patashu has joined.
21:08:06 <stalem> phew very much to take in and learn
21:08:32 <stalem> things is i gotta go now, up early tomorrow
21:08:54 <stalem> thanks for the great wisdom guys i appreciate your help!
21:09:14 <stalem> and for the book tips and links as well ofc
21:09:18 <b_jonas> someone should suggest other books though
21:09:21 <hppavilion[1]> I'm making an Uber-Simple Imperative Langauge for learning the basics of programming
21:09:24 <b_jonas> because I only gave one useful book tip
21:09:36 <hppavilion[1]> It's for wrapping your head around concepts more than for being useful
21:10:10 <stalem> couldn't help you there sorry, domain terminology still also evades me
21:12:28 <b_jonas> stalem: what's your background? it may help someone suggest a more approperiate book
21:12:44 <JesseH> hppavilion[1], lua is neat
21:13:12 <hppavilion[1]> I'm calling the Pythonic Imperative langauge BasiCode which is a very stupid name
21:13:30 <JesseH> You could call your language "B.A.L.I.C"
21:13:56 <JesseH> beginners all-purpose learn-stuff instruction code
21:14:26 <hppavilion[1]> Beginner's All-purpose Learning Tutorial Introduction Code perhaps?
21:14:27 -!- stalem has quit (Ping timeout: 246 seconds).
21:15:08 <hppavilion[1]> My ancestory is Norwegian, so that's an appropriate name
21:15:26 <hppavilion[1]> Beginner's All-purpose Learning Tutorial Imperative Code
21:15:55 <JesseH> i forgot what the last name i suggested stood for
21:16:31 <hppavilion[1]> beginners all-purpose learn-stuff instruction code
21:17:04 <hppavilion[1]> JesseH: Do you want to help me figure out what the language should look like?
21:18:55 <JesseH> I studied google docs in college for many years.
21:19:19 <fizzie> Oh, are you a Google PhDocs now?
21:19:31 <fizzie> `` words --esolangs 20 # more names
21:19:32 <HackEgo> best cola/m recurscript furse highfiverow goto++ philosophy divzeros bull suff muxcon ora dog chiewuddled bfjouse oddbal ora sendex.php pi ork
21:20:13 <fizzie> Somehow that manages to not look like 20 words, even though it is.
21:20:32 <JesseH> `` words --derplangs 20
21:23:32 <HackEgo> valid datasets: --eng-1M --eng-all --eng-fiction --eng-gb --eng-us --french --german --hebrew --russian --spanish --irish --german-medical --bulgarian --catalan --swedish --brazilian --canadian-english-insane --manx --italian --ogerman --portuguese --polish --gaelic --finnish --norwegian --esolangs \ default: --eng-1M
21:24:00 <fizzie> `` words --finnish --swedish --norwegian --esolangs 20 # let's get some northern esolangs here
21:24:03 <HackEgo> maican mdpn sink 2iotackarttin velang smentrasseen bordinsomre expantuva hånds abc ars sydämpämmerar 6ix ojäädess ystelladadach kistavlöps kabitchica aukturein eleckey varm
21:24:10 <JesseH> `` words esolang # == derplang
21:24:12 <HackEgo> Argument "esolang" isn't numeric in int at /hackenv/bin/words line 148.
21:24:19 <JesseH> I dont understand this
21:24:51 <fizzie> It's just running shell commands. The command in question takes the above-listed flags, and a single non-flag argument, which is the number of words.
21:27:16 <ais523> `` words --esolangs 20
21:27:17 <HackEgo> toi udageunshacking smithb bitbit regexpl thue ane twiseporisp minimal bogu oddball thisesol sher hargh! brainfuck oof itflipt xigxag bare c-
21:27:35 <ais523> I am very amused at "brainfuck" showing up literally
21:27:47 <ais523> it must be a very common nonagraph in esolang names
21:28:12 <fizzie> Fun fact: "nonagraph" is a nonagraph.
21:28:29 <fizzie> Probably not a very common one.
21:28:30 <ais523> it's not necessarily a real word, I tried my best to reverse-etymologise one though
21:29:13 -!- ais523 has quit.
21:33:12 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
21:42:10 -!- Patashu has quit (Ping timeout: 240 seconds).
21:45:05 <HackEgo> [wiki] [[QKAS]] http://esolangs.org/w/index.php?diff=43976&oldid=43441 * 96.59.227.171 * (+5) fixed link
21:56:48 -!- rdococ has quit.
22:00:27 <oren> What's the netcat incantation to listen and send a string to whoever connects?
22:00:56 <oren> happy birthday izabera
22:03:01 <oren> I'ts wrikng !!!!1111
22:04:03 <oren> I successfully sent "Hello, Wor" to my terminal
22:05:21 <oren> Still needs a ton of work
22:12:56 <hppavilion[1]> So I'm making a Terminal/CLI/Shell/whatever based on Data Structures
22:13:50 <hppavilion[1]> I'm looking for the best data structures to include
22:15:29 <fizzie> Splay trees, mostly because of the nomenclature.
22:15:42 <hppavilion[1]> One where you declaratively define machines that perform the task for you
22:15:52 <fizzie> Splaying involves zig, zig-zig and zig-zag steps.
22:16:30 <hppavilion[1]> I'm going for more abstract data structures than implementations
22:17:05 <hppavilion[1]> I'm just being horribly inconsistent with what I choose
22:17:33 <hppavilion[1]> I'm going by the general rule that their design has to be more abstraction-based than based on how you concretely implement it
22:19:41 <fizzie> Well. I was going to say Bloom filters next, because I hear they're very trendy, but that too might not be "abstract" enough by your definitions. It's just a particular kind of probabilistic set.
22:20:29 <hppavilion[1]> I think I might actually have enough Data Structures already :P
22:21:36 <hppavilion[1]> Array, Vector, LinkedList, SkipList, Stack, Queue, Deque, Tape, Set, Bag, BinaryTree, Tree, Graph, BloomFilter, Database
22:22:23 <MDude> https://en.wikipedia.org/wiki/ZigZag_%28software%29
22:22:37 <MDude> Also, how is BloomFilter a kind of data structure?
22:24:00 <MDude> But I don't know anything about it other than it sharing a name with a type of image editor filter?
22:24:27 <MDude> And Wikipedia says nothing.
22:24:50 <MDude> Oh wait no here it is.
22:24:56 <MDude> https://en.wikipedia.org/wiki/Bloom_filter
22:25:14 <MDude> Yeah, I was just letting you know I found it.
22:29:46 <fizzie> There was something really fancy about how to one-pass count an approximation of top-k (per frequency) elements from a stream. It was something related to a count-min sketch, I think, but fancier. I just can't find it any more.
22:30:40 <fizzie> Maybe it was this thing: https://icmi.cs.ucsb.edu/research/tech_reports/reports/2005-23.pdf
22:30:43 <fizzie> Getting a bit irrelevant here, but anyway.
22:39:16 -!- APic has joined.
22:43:42 <shachaf> randomized data structures aren't irrelevant here
22:44:09 <shachaf> and CMS et al. are great hth
22:53:15 <hppavilion[1]> What is the name of the data structure that is like a binary tree, but where the left child of the right child of a given node is the same node as the right child of the left child of that same node?
22:56:37 <myname> so, basically you get one more child per depth, i don't think that's interesting
22:57:01 <hppavilion[1]> I just want to know what it's called if it's a reall thing
23:03:46 <fizzie> Arguably, Pascal's Triangle has that sort of structure.
23:07:14 <MDude> I would think it would mostly be good if you're using data representing a triangle.
23:07:28 <MDude> Much like a matrix is good for data representing a rectangle.
23:08:24 <|f`-`|f> hppavilion[1] biparental heap?
23:08:52 <hppavilion[1]> |f`-`|f: Possibly, but I don't think it need be a heap
23:09:12 <hppavilion[1]> Also, it isn't ALWAYS biparental, as you can see from (3) and (5) and (1) and (2)
23:09:16 <MDude> Pascal's Treeangle?
23:09:55 <hppavilion[1]> So does no one here know python and feel like _finally_ pumping out _some_ sort of EsOS?
23:10:26 <MDude> I don't know python.
23:12:00 <hppavilion[1]> For example, would you know how to make something that felt weird as shit?
23:12:46 <myname> do something [with file], punish, treat
23:14:09 <hppavilion[1]> It needs to be weird and be able to be implemented in Python :P
23:14:21 <MDude> I know how do design for weird, yeah.
23:14:31 <hppavilion[1]> I'm thinking use a completely different system of files from what anyone else has ever seen for starteers
23:15:00 <MDude> There's OSes I would like to make, but I ought to actually program more first.
23:15:07 <myname> that sounds more like an esoFS
23:15:44 <MDude> Rather than make OSes beore I have any idea how to make programs that do things other than let you use other programs.
23:15:52 <hppavilion[1]> I'm implementing this in Python since that's much easier
23:15:53 <myname> there are some interesting fses in the arch forums
23:16:10 <hppavilion[1]> If anyone anyday decides to implement it on a machine level, that'd blow my mind
23:16:18 <MDude> Also interesting ideas for shells.
23:17:02 <MDude> All code is to go in https://libraryofbabel.info/
23:18:10 <MDude> An infinite library, but it's all in lower case with only "," and "." for punctuation.
23:18:25 <MDude> So code would need to be in a language that can use just those.
23:19:16 <MDude> You can search for pages and make bookmarks, which makes it usable as a substitute for pastebin.
23:35:48 -!- APic has quit (Ping timeout: 264 seconds).
23:36:18 <hppavilion[1]> myname, I don't think I got a clear answer. Would you like to help with the EsOS?
23:37:26 <myname> i'd like to, but i'm not sure if i'm that helpful
23:37:39 -!- variable has joined.
23:39:08 <hppavilion[1]> myname: I'm sure you could be helpful. I mean, I'm useless, so...
23:39:15 -!- APic has joined.
23:45:26 -!- Sgeo has joined.
23:53:06 -!- APic has quit (Ping timeout: 240 seconds).
23:57:30 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
23:58:22 <MDude> Unless I can edit Google Drive without loggin in, I would prefer something else.