←2019-09-26 2019-09-27 2019-09-28→ ↑2019 ↑all
00:13:00 -!- imode has joined.
00:16:47 <int-e> . o O ( Cloud computing is like shitting in a glass house. )
00:25:28 -!- oerjan has joined.
01:39:27 <tswett[m]> So, I'm implementing Langton's Loops in Golly.
01:39:31 <tswett[m]> This might be very pointless.
01:40:05 <tswett[m]> It's pretty exciting, because as I keep implementing new parts of the CA, the pattern fails in new, exciting ways.
01:40:37 <int-e> . o O ( Langton's gelly )
01:42:03 <tswett[m]> Right now, the organism successfully extends 6 times, but when it tries to turn, the arm potentiates and just stays potentiated.
01:42:17 <tswett[m]> A potentiated arm, after extending, fails to generate more sheath.
01:42:45 <tswett[m]> This causes... uh, I can't quite tell what's going on.
01:43:40 <tswett[m]> But it results in the organism's wire retracting and vanishing.
01:43:53 <tswett[m]> So essentially, when it tries to turn and then extend, it just bleeds out instead.
01:48:24 <kmc> F
01:48:30 <imode> doesn't golly have langton's loops already.
01:48:36 <tswett[m]> Yeah, it does.
01:48:48 <tswett[m]> But I want to create a modded version of LL.
01:48:56 <imode> neat!
01:48:57 <tswett[m]> And in order to create a modded version, I have to create the original.
01:49:13 <tswett[m]> ...or I could just use the existing implementation of the original. That would also work.
01:49:18 <tswett[m]> But I don't really understand how the original works.
01:49:26 <tswett[m]> So in order to understand it, I'm re-implementing it.
01:49:58 <int-e> re-implementing the loop is the new re-inventing the wheel
01:51:03 <tswett[m]> Literally! Hot damn.
01:51:40 <tswett[m]> Anyway, now I'm at the point where the arm can extend and turn, thereby creating essentially all of the daughter loop.
01:52:48 <tswett[m]> The problem is that the arm then fails to penetrate itself; it turns into an open dead end instead.
01:53:17 <tswett[m]> And the whole thing essentially bleeds out again.
02:05:37 <esowiki> [[Talk:JR]] N https://esolangs.org/w/index.php?oldid=66346 * YamTokTpaFa * (+255) /* Categorizing to Category:brainfuck derivatives */ new section
02:08:09 <esowiki> [[Rebmu]] https://esolangs.org/w/index.php?diff=66347&oldid=39284 * YamTokTpaFa * (+55) wait, wrong category.
02:08:48 -!- Sgeo has quit (Read error: Connection reset by peer).
02:19:39 <tswett[m]> Man, this is exciting!
02:19:55 <tswett[m]> Now the original organism can create a complete daughter organism.
02:20:00 <tswett[m]> However, the daughter is sterile and the mother dies.
02:21:11 <kmc> sad story
02:22:16 <oerjan> somehow this reminds me of Sgeo's norn experiments
02:22:27 <oerjan> `? sgeo
02:22:28 <HackEso> Sgeo is a language nomad. (Not to be confused with a language monad.) He invented Metaplace sex, thus killing it within a month. He was Doctor Mengele in his previous life, as evidenced by his norn experiments.
02:29:48 <imode> norn?
02:33:13 -!- Sgeo has joined.
02:33:15 <tswett[m]> Norns are the species the player controls in the Creatures series of video games.
02:33:20 <tswett[m]> Hey HackEso, do you know what a norn is?
02:33:22 <tswett[m]> `? norn
02:33:23 <HackEso> norn? ¯\(°​_o)/¯
02:37:11 <tswett[m]> Boom, I've finished implementing the reproductive process! Sort of.
02:37:31 <tswett[m]> The original organism is capable of creating a daughter, which creates another daughter, and so on ad infinitum.
02:37:35 <tswett[m]> However, the mother still dies after reproducing.
02:38:04 -!- QazNotQuaz has joined.
02:38:27 <tswett[m]> Hey, you're not Quas.
02:38:28 <tswett[m]> I don't think.
02:38:56 <QazNotQuaz> oh is there a user here who goes by quas?
02:39:01 <QazNotQuaz> spelled with an s?
02:40:20 <tswett[m]> I don't know if they're here. Or if they were ever here, for that matter.
02:40:25 <tswett[m]> But they're known as Quas_NaArt.
02:41:02 <oerjan> how confusing. mind if we call you Bruce?
02:42:14 <QazNotQuaz> huh. ive always been distinctly Qaz, never used an s
02:42:41 <QazNotQuaz> and i mean sure though i'd be curious as to why you chose that name in particular
02:44:28 <oerjan> it's traditional
02:45:16 <QazNotQuaz> ah i see
02:45:25 <QazNotQuaz> *bows in traditional*
02:45:46 <oerjan> https://www.youtube.com/watch?v=XxyzIC4hQvg
02:46:28 <oerjan> oh
02:46:40 <oerjan> the link is only audio
02:47:08 <QazNotQuaz> the link is broken entirely for me
02:48:01 <oerjan> figures
02:48:20 <oerjan> anyway, it's the monty python bruce sketch
02:48:37 <QazNotQuaz> i regret to admit im not familiar with it
02:49:26 <tswett[m]> Boop, now both the mother and the daughter survive, but the mother is non-fertile.
02:54:55 <QazNotQuaz> anyone here know if theres anything important i need to do if i intend to make a derivative of a particular language or do i just kinda do it and make a wiki page
02:58:02 -!- sebbu has quit (Ping timeout: 240 seconds).
02:58:45 -!- sebbu has joined.
03:11:38 <tswett[m]> Pretty much just do it.
03:11:39 <tswett[m]> I wonder if I'm still an admin on the esolang wiki.
03:11:54 <tswett[m]> If I am, I'm pretty sure I don't remember my password.
03:12:26 <kmc> just do it! be bold! move fast and break things! you're the man now, dog!
03:18:18 <j4cbo> our every move is the new tradition
03:19:28 <QazNotQuaz> (y)
03:20:34 <kmc> ++
03:20:39 <QazNotQuaz> im wanting to expand on suzy and update it n stuff cus it seems really neat but could use revision
03:32:44 <tswett[m]> By the way, I bought a book. The title is "Nauka czytania z historyjkami."
03:32:51 <tswett[m]> It's kind of hard to read because it's in Polish.
03:34:33 <QazNotQuaz> ppfff
03:35:17 <QazNotQuaz> are you intending to learn polish with it ??
03:44:33 <tswett[m]> I already know some Polish; I'm gonna use this to improve my knowledge a bit.
03:45:07 <tswett[m]> Oh, say, I finished. :D
03:45:19 <tswett[m]> My Langton's Loops clone is fully working.
03:45:37 <tswett[m]> Man, the LL rule is full of hacks.
03:49:06 -!- sprocklem has quit (Ping timeout: 268 seconds).
03:50:49 <QazNotQuaz> conglaturation
03:59:51 -!- sprocklem has joined.
04:03:26 -!- Frater_EST has joined.
04:23:46 <kmc> congrats tswett[m]
04:24:23 <imode> gratz bud.
04:30:42 -!- FraterEST has joined.
04:32:57 -!- Frater_EST has quit (Ping timeout: 245 seconds).
04:38:55 -!- inhahe has quit.
04:39:12 -!- FraterEST has quit (Ping timeout: 245 seconds).
04:39:37 -!- Frater_EST has joined.
04:46:42 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
04:50:18 -!- Lord_of_Life has joined.
05:29:10 -!- Frater_EST has left.
05:38:28 -!- hppavilion[1] has joined.
05:52:56 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
05:53:36 -!- imode has quit (Ping timeout: 240 seconds).
06:17:12 -!- oerjan has quit (Quit: Nite).
06:20:33 -!- tromp_ has quit (Read error: Connection reset by peer).
06:20:54 -!- tromp has joined.
07:22:36 <esowiki> [[Pie]] M https://esolangs.org/w/index.php?diff=66348&oldid=66345 * YamTokTpaFa * (+0)
07:37:38 -!- QazNotQuaz has quit (Remote host closed the connection).
08:32:48 <esowiki> [[S.I.L.O.S]] https://esolangs.org/w/index.php?diff=66349&oldid=53559 * YamTokTpaFa * (+24)
08:40:33 -!- cpressey has joined.
09:52:28 <esowiki> [[1+]] M https://esolangs.org/w/index.php?diff=66350&oldid=66336 * TwilightSparkle * (+2) /* Cat Program (EOF returns 0) */
10:25:32 -!- arseniiv has joined.
11:15:38 -!- LKoen has joined.
11:17:42 -!- LKoen has quit (Remote host closed the connection).
11:18:47 -!- LKoen has joined.
11:27:22 <esowiki> [[1+]] https://esolangs.org/w/index.php?diff=66351&oldid=66350 * TwilightSparkle * (+57) /* Turing-Completeness */
11:39:51 <arseniiv> <imode> it's... working, I guess. => ah I seem to have skipped that, not logreading yesterday
12:24:31 -!- Lykaina has joined.
12:31:14 -!- arseniiv has quit (Ping timeout: 240 seconds).
12:40:03 -!- LKoen has quit (Remote host closed the connection).
12:46:03 -!- LKoen has joined.
13:14:39 <myname> i would really like a moba style programming game
13:36:15 -!- arseniiv has joined.
14:07:38 -!- Sgeo_ has joined.
14:10:26 -!- Sgeo has quit (Ping timeout: 240 seconds).
14:12:12 -!- Sgeo__ has joined.
14:12:41 -!- sebbu has quit (Ping timeout: 265 seconds).
14:15:02 -!- Sgeo_ has quit (Ping timeout: 245 seconds).
14:16:36 -!- xkapastel has joined.
15:12:40 -!- Cale has quit (Ping timeout: 264 seconds).
15:32:29 -!- Cale has joined.
15:52:45 -!- sebbu has joined.
15:54:57 -!- LKoen_ has joined.
15:57:35 -!- cpressey has quit (Quit: A la prochaine/).
15:58:13 -!- LKoen has quit (Ping timeout: 252 seconds).
16:10:33 <arseniiv> how do you think, teaching what of these in schools is more useful: (i) expansion of (sin x)³ in terms of sin and cos or (ii) presentation of (a sin x + b cos x) as A cos(x + B)? I think the second on its own is way more useful but I can’t remember well if I was taught that one
16:11:01 <arseniiv> oh, in (i) I meant sin 3x
16:11:16 -!- imode has joined.
16:12:37 <arseniiv> also I think it’s a cosine that should be named sine, and vice versa
16:13:31 <imode> I like how at one point I was laughed for suggesting "readable, structured assembly language/opcodes", and now WASM exists.
16:13:36 <imode> fuck the haters.
16:13:54 <imode> makes brainfuck's control flow not look terrible.
16:25:48 <arseniiv> <imode> makes brainfuck's control flow not look terrible. => I don’t follow how exactly (not that I thought it looks terrible either)
16:28:07 <imode> to clarify, neither BF's nor WASM's control flow looks horrible. just that WASM follows BF's (and my language) conventions of structured control flow rather than arbitrary control flow.
16:33:21 <imode> you would _have_ to interpret WASM by either doing the jump-to-matching-bracket routine, or some kind of compilation technique to resolve the jumps.
16:45:14 -!- imode has quit (Read error: Connection reset by peer).
16:45:35 -!- imode has joined.
16:47:42 -!- Lord_of_Life_ has joined.
16:48:49 -!- FreeFull has joined.
16:49:17 -!- Lord_of_Life has quit (Ping timeout: 276 seconds).
16:50:38 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
17:06:16 -!- imode has quit (Ping timeout: 240 seconds).
17:06:20 -!- xkapastel has quit (Quit: Connection closed for inactivity).
17:12:50 -!- imode has joined.
17:19:37 <kmc> shachaf: did you play Untitled Goose Game yet
17:24:39 -!- LKoen_ has quit (Remote host closed the connection).
17:25:24 <shachaf> kmc: yes
17:26:10 <lf94> imode i was thinking the other day/night
17:26:20 <lf94> about C, and about C-like languages...
17:26:45 <lf94> I think...I think "the work" required to make the abstractions, is forever required.
17:27:01 <lf94> assembly is like working with little cogs and pulleys and things
17:27:16 <lf94> this is why forth is not too useful either
17:27:40 <imode> why is forth not useful?
17:27:42 <kmc> shachaf: do you like it?
17:27:49 <fizzie> `forth ." I'm useful!"
17:27:50 <HackEso> I'm useful!
17:27:57 <lf94> imode it is useful, but it's held back.
17:28:04 <imode> by?
17:28:10 <lf94> sorry, when it comes to this type of talk...I'm bad with words.
17:28:21 <arseniiv> <imode> you would _have_ to interpret WASM by either doing the jump-to-matching-bracket routine, or some kind of compilation technique to resolve the jumps. => ah
17:28:37 <imode> 's all good.
17:28:57 <lf94> It's held back by the fact it pushes in the wrong direction, that it extends *one aspect* of assembly
17:29:05 <lf94> I see now that using purely the stack is a mistake.
17:29:10 <lf94> To be effective, you have to use all the parts.
17:29:29 <lf94> And this is why things like C are super useful.
17:29:31 <shachaf> kmc: it's p. cute
17:29:35 <imode> define all the parts.
17:29:50 <lf94> registers, stack, memory
17:29:57 <lf94> memory/heap
17:30:00 <kmc> shachaf: yes
17:30:02 <kmc> it is charming
17:30:07 <kmc> it cheers me up when i'm feeling down
17:30:09 <imode> you don't need registers, but you _do_ need memory.
17:30:14 <kmc> he who makes a goose of himself gets rid of the pain of being a man
17:30:23 <arseniiv> at least I, for a practical language, think of it as a pretty normal thing. Why should a low-level language have unstructured control flow, not all low levels are that low so to be able to execute on a sufficiently simple hardware
17:30:28 <lf94> You DO need registers imode. Otherwise your code is super ineffecient.
17:30:38 <imode> in what way?
17:30:44 <lf94> imode, look, you can _easily_ add two 64-bit integers.
17:30:49 <lf94> with 1 instruction.
17:30:53 <lf94> Why would you give this up?
17:30:59 <lf94> It's simple, to the point, efficient.
17:31:07 <imode> is this an argument against stack machines? because lmao.
17:31:07 <shachaf> I'm not sure it's particularly good as a game, though?
17:31:17 <rain2> lf94 there will be multiple different programming languages
17:31:25 <lf94> imode I'm not sure what I'm arguing. I'm just saying what's on my mind.
17:31:47 <imode> I think your issue is with stack machines, because you're thinking that multiple stack ops are slower than a single register op.
17:32:04 <imode> in which case... plenty of literature in favor of stack ops.
17:32:11 <imode> and also in favor of register ops.
17:32:24 <lf94> The point is
17:32:32 <lf94> Some things are better than others in contexts.
17:32:34 <lf94> So: use both.
17:32:42 <rain2> ok
17:32:46 <imode> sure, nothing stops you from using registers.
17:33:04 <lf94> C is nice because it handles using the stack and registers
17:33:11 <imode> not really.
17:33:20 <imode> purely depends on your calling conventions.
17:33:25 <arseniiv> <lf94> I see now that using purely the stack is a mistake. => btw a typed concatenative stack language may abstain from using any runtime stacks and store intermediate values in registers: after typing, it’ll be clear what goes where and how long what lives
17:33:33 <imode> ^ that too.
17:34:23 <arseniiv> <kmc> he who makes a goose of himself gets rid of the pain of being a man => looks deep
17:34:54 <arseniiv> oh is it a rephrasing of something, maybe I hadn’t heard the original, but anyway
17:34:59 <rain2> very good
17:36:23 <imode> forth isn't about the raw ops, by the by, lf94.
17:36:38 <imode> if you wanted to write assembly for a stack machine, by all means, do it.
17:36:42 <lf94> Isn't it about simplicity, composition, etc+
17:36:47 <rain2> I like forth but i cannot program in it
17:36:59 <imode> correct. which is more about the structure of the REPL and the code.
17:37:02 <imode> rather than the underlying machinery.
17:37:05 <imode> people kinda get lost in that.
17:37:07 <kmc> arseniiv: the original is s/goose/beast/
17:37:18 <lf94> that sha256 code I linked the other day - that was in no way simple.
17:37:19 <arseniiv> BTW I think now maybe I’m in part interested how much you could extend a concatenative syntax and still call it that, concatenative
17:37:19 <kmc> and is a samuel johnson quote https://www.samueljohnson.com/depressi.html
17:37:39 <imode> that was in no way simple, you're right. would you say that the equivalent C is as simple?
17:37:39 <lf94> It could've been way simpler, had it been able to use non-stack ... mechanisms...
17:37:41 <arseniiv> kmc: ah. I thought it could be “fool” but beast has its merit
17:37:45 <kmc> arseniiv: which is also known as the epigraph of Fear and Loathing in Las Vegas
17:37:45 <lf94> imode: yes!!
17:37:52 <imode> does an equivalent C version exist?
17:37:55 <lf94> of course!
17:38:00 <lf94> sha256 is widely implemented
17:38:01 <imode> for that specific piece of code.
17:38:10 <lf94> yep
17:38:11 <kmc> it's one of my favorite quotes
17:38:15 <imode> no, I mean is there a _direct translation_ of the semantics of that Forth code to C.
17:38:16 <kmc> it explains a lot of human behavior, really
17:38:17 <imode> and can you find it.
17:38:35 <kmc> from excessive drinking to the thing where people dress up as puppies and play with each other
17:38:56 <kmc> (which is somewhere on the border between super kinky and adorably wholesome)
17:39:11 <rain2> What do you think about forth as a compiler target?
17:39:14 <lf94> imode: https://github.com/amosnier/sha-2/blob/master/sha-256.c
17:39:16 <lf94> imode: no
17:39:30 <lf94> imode: this code is about 130ish lines
17:39:39 <lf94> the forth was 300
17:39:48 <imode> can you re-link the forth version?
17:40:00 <imode> just for completeness.
17:40:09 <lf94> https://gist.github.com/jzakiya/4544459
17:40:25 <arseniiv> hm also I’m fixed on typing, but the thing imode said ^ too can be of course done by a simple “dummy interpretation” where we store in the stack register indices instead of actual values, it’s equivalent but it looks simpler than words about typechecking
17:40:33 <imode> lines 1 through 83 are comments.
17:40:42 <arseniiv> s/said ^ too/said ^ at too
17:41:38 <imode> lines 319 onward are part of the overall driver program that takes a file and hashes it.
17:41:45 <lf94> yeah
17:41:53 <imode> sorry, but you're comparing a small portion of a program to an actual program.
17:42:02 <lf94> ok, so it's about 200 lines
17:42:11 <lf94> also: lines are not everything
17:42:12 <imode> less, if you remove comments.
17:42:18 <imode> you're right. they aren't.
17:42:26 <lf94> it really depends how many instructions this all compiles to.
17:42:27 <imode> so why did you bring it up.
17:42:48 <lf94> because I messed up.
17:42:50 <lf94> :)
17:42:52 <imode> 's all good.
17:43:11 <shachaf> kmc: I like some of the animations, like the smug way the goose carries things in its beak.
17:43:22 <lf94> I want someone to show me *GOOD* forth code
17:43:24 <imode> also.
17:43:33 <imode> the C code only deals with big endian.
17:43:37 <imode> the Forth code deals with both.
17:43:45 <shachaf> I should be that smug about something.
17:44:04 <imode> the test harness for the C version is 238 lines.
17:44:18 <kmc> shachaf: yes
17:44:25 <kmc> shachaf: I think it's weird that you can't eat things or fly
17:44:45 <imode> lf94: https://www.forth.com/starting-forth/12-forth-code-example/
17:45:07 <imode> here you go.
17:45:35 <imode> it's small, but it is neat.
17:46:12 <arseniiv> kmc: yes it boils down to that we in a sense live in stories and can at the same time synthesize them, and maybe to that in some sense our working mind is flat (that one is my pet allegory, and that’s opposed to being hierarchical)
17:46:32 <imode> in fact all of that book is full of good stuff, you should probably read it.
17:46:50 <kmc> arseniiv: hm
17:47:05 <kmc> i'm not sure i know what you mean by the mind being flat
17:47:25 <arseniiv> <lf94> I want someone to show me *GOOD* forth code => I want that with respect to postscript <backspace> <backspace>
17:48:07 <kmc> https://archive.org/details/ataribooks-forth-on-the-atari-learning-by-using
17:48:12 <kmc> linking this for the cover art
17:48:22 <arseniiv> kmc: yes it shows my metaphors are too convoluted :D that one never to this time helped anyone
17:48:29 <imode> jesus I forgot about that.
17:48:58 <imode> I guess they really are keyboard warriors.
17:49:24 <imode> also, lf94, if you're worried about performance, Forth has been driving space missions and critical systems for decades now.
17:49:41 <lf94> with what interpreter / compiler?
17:49:54 <arseniiv> what a cover art indeed
17:50:09 <imode> https://www.forth.com/resources/space-applications/
17:50:10 <imode> here you are.
17:50:24 <imode> most native hardware, some not.
17:50:50 <kmc> shachaf: I was also a bit disappointed that nothing happens once you get the picnic supplies together
17:50:56 <imode> bear in mind, Forth interpreters aren't really "interpreters" in the larger sense. they use threaded code, which isn't exactly equivalent to a traditional interpreter (one that simulates instruction fetching + decoding).
17:51:41 <imode> https://en.wikipedia.org/wiki/Threaded_code
17:51:47 <imode> not multithreading, threaded.
17:51:50 -!- Lykaina has quit (Remote host closed the connection).
17:53:45 <imode> I have doubts on anybody who can say Forth is not performant to be on par with C or better in some situations.
17:55:37 <imode> though honestly the whole Forth ecosystem is arcane. there's little good documentation on how to implement a Forth from scratch apart from guessing. you have to link together some dots and do some research.
17:56:12 <arseniiv> kmc: oh, I forgot I didn’t elaborate about flatness. It should mean that in a sense all hierarchical things we manipulate do have a base in our long- or short-term memory, but the size of the working memory is too small for that. Hm, and with this formulation it becomes orthogonal to that thing about stories I said at the start
17:56:18 <imode> but I guess that's a good thing, because people seem to jump to the "I've implemented Forth therefore I know Forth" conclusion.
17:56:37 <imode> lf94: don't get caught in that. implement a language you'll actually enjoy writing in.
17:57:05 <imode> https://www.sifflez.org/lectures/ASE/C3.pdf some slides if you ignore that advice.
17:57:19 <lf94> imode: I'm reading this classical forth link you sent still
17:57:24 <lf94> I'm not sure I'm convinced...
17:57:34 <arseniiv> we can’t hold a sufficiently convincing model in the working memory only
17:57:39 <kmc> arseniiv: I think the quote also explains the appeal of silly behavior generally
17:57:40 <lf94> : " ( -- addr ) [CHAR] " WORD DUP C@ 1+ ALLOT ;
17:57:49 <lf94> This is to insert a string into a dictionary....
17:57:53 <kmc> like, we are conditioned so hard that everything must be according to a purpose, a plan
17:58:12 <kmc> doing something pointless for the hell of it (like esoprogramming) is liberating
17:58:14 <imode> correct. do you understand what each of those words does?
17:58:15 <kmc> the pointlesser the better
17:58:21 <kmc> this is what I love about ham radio in the Internet age
17:58:27 <kmc> it's 90% pointless
17:58:35 <kmc> there are those who get it and those who don't
17:59:13 <lf94> imode: I don't, but it seems crazy...
17:59:25 <imode> [CHAR] IMO has a misleading name.
17:59:35 <lf94> array of characters?
17:59:44 <imode> no.
18:00:07 <lf94> address?
18:00:38 <imode> https://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Displaying-characters-and-strings.html two behaviors of that word.
18:01:34 <arseniiv> kmc: yeah, silly things are fun (it is fun things that are silly <backspace>)
18:01:41 <imode> http://lars.nocrew.org/forth2012/xchar/BracketCHAR.html probably a better reference, I don't like the formatting on that one.
18:04:45 <imode> pretty much just consumes the next token it sees.
18:04:54 <imode> and pushes it to the stack.
18:07:06 <arseniiv> low-level forth procedures scare me slightly
18:07:16 <imode> the worst part? it's all arcane.
18:07:30 <imode> like, you have to go to the ends of the damn earth to actually see the definitions/semantics of a particular word.
18:07:39 <imode> which I mean, whatever.
18:08:15 <imode> http://forth-standard.org speak and ye shall receive, wow.
18:09:09 <imode> http://forth-standard.org/standard/core/BracketCHAR same stuff, though.
18:13:33 <imode> ah. no.
18:14:28 <imode> lf94: this basically just parses a string and pushes the address of that string to the stack, which is picked up by MATERIAL to define a new word in the dictionary.
18:15:14 <imode> with the corresponding material weight.
18:17:20 <imode> brb.
18:19:31 -!- LKoen has joined.
18:22:05 -!- imode has quit (Ping timeout: 265 seconds).
18:28:33 <arseniiv> . o O ( arcane programming languages )
18:28:45 <arseniiv> hm are there also esoteric data description languages
18:29:55 <arseniiv> or esoteric languages of logic. Err, no, these are esoteric almost by default
18:30:04 -!- tromp_ has joined.
18:31:02 -!- imode has joined.
18:32:02 <imode> honestly, the shortcomings of Forth's words and dealing with linear data structures are why I'm choosing to use a queue/bidirectional tape vs. a stack.
18:32:59 <imode> with Forth, storing a string means finding some memory, popping the string into memory and then grabbing the address of the first character and putting it on the stack.
18:33:36 <imode> whereas with my language, the whole string can be stored in the queue/on the tape.
18:33:56 -!- tromp has quit (Ping timeout: 276 seconds).
18:34:25 <imode> so instead of going through the motions to parse a string from the source and then pop it into memory, you can just call something like `parse`.
18:34:44 <imode> and it'll throw it into the queue, which can then be used by other words that deal with linear structures.
18:34:53 <imode> imo this composes a lot better.
18:36:02 -!- sprocklem has quit (Ping timeout: 240 seconds).
18:36:32 <imode> so lf94: while I think that Forth is a step in the right direction, I kind of agree with you that Forth as defined doesn't compose well and forces you to push some of the underlying machinery into your word choices. which, fine, it makes you think harder about how to do things, but it also gives the air of mysticism in some way.
18:36:56 <imode> you see the ending syntax, but you look back and see the mess of machinery required to accomplish that syntax
18:37:40 <imode> ditching restricted RPN (using only a stack) is the first step, tbh.
18:40:00 <imode> an example of where a queue/tape beats a stack + memory: you can define labels, types, etc. in-line and seek to them. meaning I can say "push label X, roll, push label Y, roll" and now, any time I want to recall the values after each of those labels, all I have to do is seek to the labels, move forward by one element and duplicate it/shift it to the working area.
18:40:35 <imode> no need for an external memory.
18:42:15 -!- sprocklem has joined.
18:44:54 <imode> I also think that Forth's focus on tokens rather than individual characters sets people up for odd syntax.
18:49:01 <imode> in my view you should be able to run code that transforms the source on demand. any time an "immediate" macro is discovered, you're dropped into a mode where your source is your program snippet's input.
18:49:19 <imode> which Forth _does_, but the core words are weird.
18:58:47 -!- imode has quit (Ping timeout: 245 seconds).
19:02:22 -!- LKoen_ has joined.
19:05:35 -!- LKoen has quit (Ping timeout: 246 seconds).
19:14:27 -!- arseniiv has quit (Ping timeout: 264 seconds).
19:21:25 -!- imode has joined.
19:24:01 -!- arseniiv has joined.
19:31:21 <kmc> shachaf: <(...) redirection is tg
19:31:45 <shachaf> @quote eat.a.comment
19:31:45 <lambdabot> SamB_XP says: I once saw it eat a comment (:[{- Help! -}])
19:38:35 <kmc> :_:
19:38:51 <imode> '(:$$:$,#) <-- this macro could define something that looks ahead by one character in the source, calls a builtin # function that consumes a character from the source and outputs its numeric value. so 'H'e'l'l'o',' 'w'o'r'l'd,0 pushes the string "Hello, world" + a 0 to the queue.
19:39:29 <imode> afk.
19:39:31 -!- imode has quit (Quit: Leaving).
19:42:47 -!- zzo38 has joined.
19:55:58 -!- LKoen has joined.
20:00:23 -!- LKoen_ has quit (Ping timeout: 276 seconds).
20:05:46 -!- xkapastel has joined.
20:18:00 <zzo38> I copied a file on a floppy disk today to transfer to another computer. I put the same file on each of two disks in order in case one is wrong, but then I tried, and both seem damaged. However, by just using "cat /dev/sdc > recover.1" I was able to recover the data, and it looks like the contents of the file is intact, at least.
20:27:32 <zzo38> Do you know why?
20:44:14 <zzo38> I found that 7-Zip is capable of recovering the file from one of the disks, even though the driver in Linux cannot.
20:49:59 -!- Sgeo__ has quit (Ping timeout: 265 seconds).
21:09:56 -!- arseniiv has quit (Ping timeout: 276 seconds).
22:14:34 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:53:18 -!- MDude has joined.
23:12:29 <shachaf> I'm trying to figure out what you can do using "prisms" as described in _Anxiety is the Dizziness of Freedom_.
23:13:24 <shachaf> The way a prism works is: When you activate a prism, it flashes a red light or a blue light. Then you can use it to communicate to a version of the prism in a universe where it flashed the other color.
23:17:12 <zzo38> OK
23:17:27 <shachaf> Can you use these to solve NP problems?
23:20:03 <zzo38> I don't know.
23:22:20 <zzo38> But that isn't much information about it, such as, some of the details of it working
23:23:15 <shachaf> What part is unclear?
23:23:29 <kmc> what can you communicate
23:23:36 <shachaf> Some of it isn't specified in the story but I can only think of one reasonable way to make it work.
23:23:53 <shachaf> Octets -- in the case of the story, up to some fixed number.
23:23:55 <shachaf> Say 1GB.
23:24:05 <shachaf> You have a chat interface or something.
23:24:28 <kmc> is this ted chiang?
23:24:35 <shachaf> Yes.
23:43:27 -!- xkapastel has quit (Quit: Connection closed for inactivity).
←2019-09-26 2019-09-27 2019-09-28→ ↑2019 ↑all