←2023-02-03 2023-02-04 2023-02-05→ ↑2023 ↑all
01:19:34 <b_jonas> `learn password The password of the month is Bear this torch against the cold of the night.
01:19:37 <HackEso> Relearned 'password': password The password of the month is Bear this torch against the cold of the night.
01:36:42 <esolangs> [[TimeWaste]] M https://esolangs.org/w/index.php?diff=106643&oldid=106642 * PythonshellDebugwindow * (+33) Stub, category
02:20:34 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
02:21:00 -!- Lord_of_Life has joined.
02:33:37 -!- razetime has joined.
03:57:31 -!- razetime has quit (Ping timeout: 252 seconds).
04:08:12 -!- Noisytoot has quit (Quit: ZNC 1.8.2 - https://znc.in).
04:10:13 -!- Noisytoot has joined.
04:24:44 -!- razetime has joined.
05:07:13 -!- craigo has joined.
05:21:45 -!- slavfox has quit (Quit: ZNC 1.8.2 - https://znc.in).
05:24:49 -!- slavfox has joined.
08:01:06 -!- razetime has quit (Read error: Connection reset by peer).
08:01:31 -!- razetime has joined.
08:05:51 -!- razetime has quit (Ping timeout: 248 seconds).
08:20:40 -!- razetime has joined.
08:48:02 <int-e> Hmm is running `kissat` also a kitten game?
08:51:37 <int-e> (I never got past year 71)
09:52:17 -!- Vorpal has joined.
09:53:28 <Vorpal> It has probably been a decade or so since I was active here. I however recently did a thing relevant to esolangs, thought I should mention it here in case anyone is interested: https://github.com/VorpalBlade/brainoxide
09:53:44 <Vorpal> optimising brainfuck compiler, really though it was just an excuse to learn rust
09:54:11 <Vorpal> Compiles to C or interprets directly. Seems to work on all the programs I tested it on.
09:55:37 <Vorpal> I most likely won't do anything else with it (except maybe a bug fix if anyone finds anything), but move on to some completely different, and non-esolang related.
09:56:32 <Vorpal> Though I am curious as to what the state-of-the-art compiler for Brainfuck is these days. I know for sure that I could do a lot better than what I did above, by building more of a proper flow graph, doing loop induction etc
09:57:15 <Vorpal> maybe converting the (balanced) code blocks to SSA form. Etc
10:12:12 <int-e> There are too many implementations. A survey would be nice, but would also be a lot of work.
10:13:13 <Vorpal> Agreed, by the way has anything interesting happened in Befunge in recent years?
10:13:14 <int-e> I mean just look at https://esolangs.org/wiki/Brainfuck_implementations ...and I'd bet that there's quite a few more. Heck I don't even know whether https://esolangs.org/wiki/Brainfuck#Notable_implementations is a subset of that list.
10:13:23 <Vorpal> Been a long while since I wrote cfunge
10:13:41 <int-e> fungot: maybe you can answer that?
10:13:42 <fungot> int-e: you're really confused about mathematics and exactness vs. domains??? fnord fnord juttuja jotka uskoo fnord! :p)
10:13:51 <Vorpal> oh! Is fungot still running on cfunge?
10:13:52 <fungot> Vorpal: definitely need parens around arguments is an inconsistency to me,
10:13:56 <int-e> (just kidding, but to my mind fungot is peak befunge)
10:13:57 <fungot> int-e: lagging like shit) and no white skies. have you gotten to the part where he's searching online for information while on the command line
10:14:15 <int-e> Vorpal: pretty sure it does
10:14:25 <int-e> or is, to match the question
10:14:43 <Vorpal> Cool. Someone should write a rustfunge or something. Too much work for me personally.
10:15:16 <int-e> Yeah, Befunge is a bit enterprisey... so many extensions.
10:15:51 <Vorpal> hehe
10:16:02 <Vorpal> also good luck writing something like fungot in bf
10:16:02 <fungot> Vorpal: shutting up.)
10:16:30 <Vorpal> I'm probably going to go write a low level (and possibly async) daemon next. I want to control the keyboard backlight on my laptop to have a timeout when I'm not typing on it. I have a older laptop with that feature in firmware, and it is neat.
10:16:32 <int-e> we have a guy with a (subset of) C to bf compiler
10:16:41 <Vorpal> oh that is cool
10:17:39 <Vorpal> hm, is there any esolang with *proper* (non-synchronous) threads? I made an extension in efunge that added that (though the shared funge-space was still atomicly accessed)
10:17:57 <Vorpal> every esolang with threads I can think of have them running in lock step
10:18:40 <int-e> What was the name... grep says kspalaiologos. I don't know when they were last around.
10:19:15 <Vorpal> int-e: so I could use brainoxide to compile a bf program to C, then compile that back to brainfuck.
10:19:34 <Vorpal> or the other way around
10:19:41 <int-e> that... sounds marvellous. not.
10:20:33 <int-e> Anyway, this channel has slowed down a lot.
10:20:42 <Vorpal> still, I would be interested in an esolang with proper threads. That sounds like an interesting challenge to implement
10:21:04 <Vorpal> People get older, less time. Young people don't use irc any more.
10:21:06 <int-e> uh-oh... there's threaded intercal
10:21:17 <Vorpal> int-e: I thought it ran the threads in lock step too?
10:21:26 <Vorpal> also I do *not* want to try to implement intercal. No way.
10:21:45 <int-e> I thought it was specified with actual parallelism
10:22:00 <Vorpal> oh? Maybe it is just C-INTERCAL that run them in lock step then?
10:22:12 <int-e> I do not know what the c-intercal implementation does.
10:23:30 <int-e> I just don't know what other multithreaded languages we have :)
10:24:47 <Vorpal> as I said, I did add an experimental extension to efunge (erlang funge) that added free running threads. It was a separate branch iirc. Because I think the performance was quite bad (even on non-threaded stuff). Since every funge-space access needed to be done in thread safe ways
10:25:49 <Vorpal> I seem to have lot most of the docs for it...
10:25:51 <Vorpal> https://github.com/VorpalBlade/efunge/blob/feature/supervisor-tree/src/fingerprints/ATHR.spec
10:26:11 <Vorpal> It abstracted locks as borrowing books from a library iirc
10:26:57 <int-e> well, at least nobody will starve
10:27:24 <Vorpal> uh?
10:27:26 <int-e> I'm scared to ask what the memory model for this is
10:27:41 <int-e> Vorpal: starvation only happens if you pick up forks
10:27:48 <int-e> ;)
10:27:50 <Vorpal> ah, lol
10:28:01 <Vorpal> so... (this has been over a decade... details fuzzy)
10:28:30 <int-e> (or rather, fail to pick up forks)
10:28:31 <Vorpal> memory model was that reads/writes to funge space were atomic and sequential order. I think
10:28:55 <Vorpal> but, read+write would not be atomic unless every thread used the features from the fingerprint for accessing that address
10:29:43 <int-e> good old sequential memory
10:30:19 <Vorpal> this was basically implemented by having an ETS shared table between the erlang threads. Then all the "atomic" operations were done by RPC calls to a server thread.
10:30:28 <Vorpal> https://github.com/VorpalBlade/efunge/blob/feature/supervisor-tree/src/efunge_fungespace.erl seems to have the logic for that
10:31:27 <Vorpal> the server implementation would be at handle_call() in that file
10:32:02 <Vorpal> erlang uses message passing as it's primary form of communication between threads. So everything had to be mapped on top of that
10:32:28 <Vorpal> except, well stuff like ETS tables, which is specifically a shared in-memory key-value database
10:33:20 <int-e> I barely know enough to read that
10:33:40 <Vorpal> int-e: it reads like prolog. All pattern matching and multiple-dispatch
10:34:03 <int-e> Oh that's totally fine... it's similar to pattern matching in Haskell.
10:34:21 <int-e> I realize that the semantics are a bit different.
10:34:27 <Vorpal> I'm going to say that pattern matching in erlang is way more powerful than haskell
10:34:40 <Vorpal> it does not use prolog semantics (it doesn't use unification)
10:35:47 <Vorpal> I think the code itself is not too bad, but knowing the standard library abstractions and patterns is probably the sticking point I would guess
10:35:54 <Vorpal> like "what the heck is a gen_server"
10:36:35 <Vorpal> (basically it is a pattern making it easy to implement a server-like thing in erlang with RPC over message passing, all the boring boilerplate bits are handled over in the standard library)
10:38:24 <Vorpal> When you can't use that) (e.g. for the main threads running funge code), you end up having to do a lot of extra yourself: https://github.com/VorpalBlade/efunge/blob/feature/supervisor-tree/src/efunge_thread.erl
10:38:38 <Vorpal> (see loop/5)
10:39:10 <int-e> Eh, https://www.erlang.org/doc/man/gen_server.html#Module:handle_call-3 is readable.
10:39:33 <Vorpal> yeah I can read it
10:39:44 <Vorpal> even though it has been a decade or so since i wrote erlang code
10:40:09 <int-e> I've never written erlang code? Maybe a hello world at some point.
10:41:14 <Vorpal> right. I found that jumping between programming languages is actually not difficult, once you know a couple.
10:41:15 <int-e> But I did encounter CCS and CSP in my CS studies.
10:41:22 <int-e> and the pi calculus too.
10:41:33 <Vorpal> Probably a bit more work between imperative and functional, but eh
10:41:44 <int-e> So the execution model of Erlang is not completely alien.
10:42:09 <int-e> I'm sure I could get into it if needed.
10:42:10 <Vorpal> remind me, which one was which of CCS and CSP?
10:42:16 <Vorpal> continuation something passing?
10:42:49 <int-e> calculus of communicating systems and communicating sequential processes
10:43:02 <int-e> CPS is continuation passing style, that's different.
10:43:10 <Vorpal> oh, I was completely off
10:43:13 <Vorpal> right
10:43:20 <Vorpal> "actor model" might be relevant too
10:43:33 <int-e> yeah it is
10:43:50 <Vorpal> it is just lots of threads sending messages between each other. Way easier than shared memory actually
10:44:04 <Vorpal> (and sometimes you wait for a reply)
10:44:12 <int-e> the actor model is far less formal
10:44:19 <Vorpal> ah
10:44:27 <Vorpal> yeah I never studied CCS or CSP
10:44:32 <int-e> CCS and CSP have actual syntax and semantics
10:45:01 <int-e> And, again, the pi calculus. I keep leaving that out because it's so much to type.
10:45:24 <Vorpal> I'm self taught on erlang. I have come to realise I'm more of an engineer than a formal mathematician. I'd rather read some clear code than a formal mathematical model any day
10:45:31 <int-e> There's a bunch of others too: https://en.wikipedia.org/wiki/Calculus_of_communicating_systems#Related_calculi,_models,_and_languages
10:47:02 <Vorpal> Hm I wonder if you can make an esolang out of this. E.g you only have message passing
10:47:21 <Vorpal> Maybe message passing and conditionals, but no actual variables
10:47:27 <Vorpal> I wonder if that would be TC
10:48:03 <Vorpal> you could have a "system provided" actor for doing IO
10:48:37 <int-e> that's kind of what these calculi are
10:48:43 <Vorpal> Ah
10:48:57 <Vorpal> are the calculi TC though?
10:49:51 <int-e> This one definitely is: https://en.wikipedia.org/wiki/Pi-calculus#Turing_completeness
10:50:35 <Vorpal> ah
10:51:26 <Vorpal> well then, nothing interesting to invent there
10:52:54 <int-e> I realize that I never went into depth with these calculi. I can't tell you whether CCS or CSP are TC.
10:53:03 <Vorpal> I was thinking to encode the infinite state into unbounded message queues, rather than by having processes being able to replicate themselves.
10:54:26 <int-e> Well, communication is synchronous here; there are no queues.
10:54:28 -!- Sgeo has quit (Read error: Connection reset by peer).
10:54:33 <Vorpal> ah
10:55:19 <int-e> But you can simulate queues by spawning a dedicated thread for each message that sends the message and then passes a token to the next message thread.
10:55:21 <Vorpal> I was thinking async, proper multi-threaded: Then you could just have a infinite "delay line" style memory basically having an echo process that echos things back to you. If you can do pattern matching on your incoming messages you can choose when to read from that process
10:56:15 <Vorpal> sounds similar to what I suggested?
10:56:23 <int-e> a bit
10:58:02 <int-e> If you have a queue you can do cyclic tag system stuff. (e.g. https://esolangs.org/wiki/Bitwise_Cyclic_Tag)
10:58:59 <Vorpal> oh, cool. Yeah so what I was thinking of would *likely* be TC then.
10:59:20 <int-e> I wouldn't be surprised if (simulated) queues actually feature in TC-ness proofs for the pi-calculus. It sounds like a natural building block.
10:59:31 <int-e> Though I guess you can also, alternatively, simulate counters.
11:00:01 <int-e> which might be a bit simpler :)
11:01:06 <Vorpal> I kind of want to come up with some interesting multi-threaded turing tarpit that uses shared memory now
11:01:25 <Vorpal> I don't see how it make it interesting without also being TC with just a single thread though
11:02:09 <Vorpal> maybe only some threads can do some operations? E.g. thread 1 can not do additions, but thread 2 cannot do loops? Or something like that
11:03:05 <Vorpal> and they can only communicate via some rather simple and annoying atomic operation(s) (e.g. something simpler than CAS)
11:04:12 <Vorpal> but all the interesting operations that they can do are non-atomic. So you have to come up with a way to ask the other thread to do things via this horrible atomic communication
11:05:01 <Vorpal> int-e: does that sound plausible to you?
11:06:03 <int-e> Vorpal: if you have asynchronous communication you can use a message queue to send messages to yourself.
11:06:32 <int-e> Which really should be enough for a single thread to work out.
11:06:36 <Vorpal> int-e: you would only have a pre-declared set of atomic variables (finite, not growable at runtime)
11:07:08 <Vorpal> and they would be like atomic bytes or maybe even atomic bits
11:07:17 <int-e> I guess there's the question on how you do conditionals.
11:08:22 <int-e> So you may be right... in those calculi, a single thread cannot do conditional computations.
11:08:28 <Vorpal> well, only thread 1 can do conditionals. But thread 1 can't do arithmetics. So you need to come up with a way to ask thread 2 to do arithmetics for you, even though thread 2 can't do conditionals.
11:08:33 <Vorpal> not sure if that would work out
11:09:27 <Vorpal> I'm feeling like this is heading in the direction of malbolge though... A not particularly interesting language that is just difficult to do things in practically
11:09:43 <int-e> well, encode values as sequences of bits and don't bother thread 2 at all?
11:10:15 <Vorpal> hm, yeah getting something interesting out of this *would* be rather difficult
11:10:19 <int-e> (a target for compilers)
11:10:24 <int-e> (malbolge, that is)\
11:10:41 <Vorpal> right
11:12:01 <int-e> The amazing thing about Malbolge is that people managed to tame it. The first proper 99 bottles of beers program was amazing. After that was achieved... it's just more of the same.
11:12:04 <Vorpal> what if all you have is conditionals and set-if-written-by other thread?
11:12:14 <Vorpal> E.g. you can't write to a value again until the other thread has done so
11:12:51 <Vorpal> that basically forces you to use two threads
11:12:58 <int-e> not sure what you mean by "write to value"... my current mental model only has a finite set of atoms and unbounded queues.
11:13:09 <Vorpal> int-e: this is a shared memory tarpit
11:13:13 <Vorpal> not message passing
11:13:14 <Vorpal> at all
11:13:19 <Vorpal> [12:01] <Vorpal> I kind of want to come up with some interesting multi-threaded turing tarpit that uses shared memory now
11:13:28 <int-e> oh I missed the change in context then
11:13:33 <Vorpal> ah
11:14:18 <int-e> (that only happens to me all the time)
11:14:26 <Vorpal> int-e: now, re-evaluating it in that context. How would one make a horrible but shared shared-memory turing tarpit
11:14:36 <Vorpal> horrible but interesting*
11:15:26 <int-e> . o O ( add time travel where a value can be read before it's written )
11:15:26 <Vorpal> I'm thinking compare-and-set-if-written-by-other-thread where it just won't do anything unless the other thread was the last writer
11:15:36 <Vorpal> forcing you to ping-pong between threads
11:16:13 <int-e> right but the danger is that one thread will just be an unglorified echo server
11:16:13 <Vorpal> int-e: that sounds difficult to implement. There was that whole time travel extension to funge (that I never implemented) that would roll back and re-execute state. CBBI had support iirc
11:16:23 <Vorpal> hm true
11:17:12 <int-e> it's pretty hard to make a language interesting by design
11:17:36 <int-e> the usual way seems to make a minimal language of sorts and even that isn't foolproof.
11:18:16 <Vorpal> by the way, how the heck does my crate (rust term for package) for the BF compiler already have 17 downloads? I published it yesterday. https://crates.io/crates/brainoxide Maybe some are like automated virus scanners or something? And the automatic documentation generation is probably one of those. But 17?
11:18:47 <Vorpal> (it's at the bottom of the page)
11:18:56 <int-e> crawlers
11:19:12 <Vorpal> that download the *package* too? Not just view the page.
11:19:43 <int-e> There's also "New Crates" on https://crates.io/ so somebody may have seen it there.
11:19:49 <Vorpal> true
11:19:58 <Vorpal> but who would care about a bf compiler?
11:20:07 <Vorpal> as you said, there are way too many of them
11:20:07 <int-e> somebody who's bored
11:20:34 <Vorpal> I didn't even include any example programs (because I didn't write them, so no clue about licenses in general)
11:20:55 <int-e> The "Downloads over the last 90 days" graph is silly.
11:21:11 <Vorpal> you mean the smoothing thing it does? Yes it is rather silly
11:21:27 <int-e> also the fact that it starts at 0
11:21:52 <Vorpal> I mean, it makes sense for older popular crates: https://crates.io/crates/syn
11:22:04 <int-e> it would probably be interesting to see timestamps for the downloads
11:22:07 -!- razetime has quit (Quit: See You Space Cowboy).
11:22:39 <int-e> I honestly wouldn't be surprised if the first 10 downloads were all within a minute of the crate being published.
11:22:40 <Vorpal> it is interesting that you can see dips during weekends for popular crates
11:23:11 <Vorpal> and a big christmas dip
11:23:13 <int-e> The #brainfuck tag is quite popular too :P
11:23:32 <int-e> (35 results!)
11:23:36 <Vorpal> yes I noticed there were a lot
11:24:03 <Vorpal> brainoxide was not my first name choice lets say
11:24:11 <Vorpal> I wonder if there is a macro one that runs bf during compile time
11:24:17 <Vorpal> you could absolutely do that in rust
11:25:01 <Vorpal> let mystring = bf!(+++[>++++<-] other code to do bf here );
11:25:01 <int-e> "An optimizing brainfuck interpreter with helpful errors."
11:25:15 <Vorpal> um, like "unbalanced loops?"
11:25:18 <Vorpal> "?*
11:25:31 <int-e> Yeah, exactly. Kind of weird for a language where the only error you can make is mismatched brackets.
11:25:53 <Vorpal> like I tell the user if there are too many [ or ] (I don't tell them where that is in the code though. so not helpful I guess)
11:25:53 <int-e> But I haven't looked closely.
11:26:04 <Vorpal> and "tape pointer went negative"
11:26:07 <Vorpal> I do that too
11:26:08 <int-e> it's this one: https://crates.io/crates/brainfrick
11:27:22 <Vorpal> none of the #brainfuck tagged ones mention macro in their title at least
11:27:31 <Vorpal> so there might be an unexploited niche
11:27:34 <int-e> Anyway, none of these synopsises sound like they provide a macro for compile time use.
11:27:42 <Vorpal> exactly
11:27:51 <Vorpal> not that I'm particularly keen on learning proc macros next
11:28:13 <Vorpal> and I doubt you can do it in macro_rules declarative macros due to recursion limits
11:29:24 <Vorpal> https://sdleffler.github.io/RustTypeSystemTuringComplete/ (though that is TC in type system, not in macros themselves)
11:29:44 <int-e> https://github.com/Purpzie/brainfrick/blob/main/src/error.rs#L10-L16 ...yeah missing brackets (with offset, presumably either the offset of an extra ] or the end of the input) and IO errors.
11:30:25 <esolangs> [[List of ideas]] https://esolangs.org/w/index.php?diff=106644&oldid=106605 * Orisphera * (+211) /* Ideas related to esoteric operating systems, esoteric processors and esoteric computers */
11:32:49 <Vorpal> int-e: so (except for telling you the offset) stuff my implementation has too
11:33:15 <Vorpal> and IO errors are indeed reported (except for EOF on input, which has defined semantics in bf)
11:39:27 <fizzie> Vorpal: Just to confirm, yes, it's still running on cfunge.
11:39:52 <Vorpal> fizzie: oh hi! Was just about to leave and take a nice walk in the sun. Before that though. How have you been this past decade or so?
11:40:31 <Vorpal> still doing panorams and working at google (in UK?)
11:40:33 <Vorpal> ?
11:42:11 <fizzie> I don't think I've done many panoramas lately, actually. But still with Google UK, yeah (given recent layoff news, let's see how long). Haven't done really anything esolang-related in ages, beyond keeping the infra (wiki, HackEso, etc.) running.
11:43:01 <Vorpal> ah
11:43:14 <Vorpal> I hear it is a mess in UK these days though?
11:43:14 <fizzie> Oh, I guess I've been doing Advent of Code in Burlesque, that's something.
11:44:03 <Vorpal> oh cool
11:44:32 <Vorpal> looks very golfy
11:45:21 <fizzie> Yeah, though not quite as golfy as something like GolfScript. It was made by a former #esoteric regular.
11:45:56 <Vorpal> anyway, I'm going out into the sun. Have a nice day.
11:46:10 <fizzie> Cheers, as the say here.
11:46:24 <fizzie> s/the/they/
11:50:50 <fizzie> fungot: Have you ever thought about starting to post on the fediverse?
11:50:50 <fungot> fizzie: but the heuristics required to make that assessment?) scheme code markup
11:51:14 <fizzie> (It has a defunct Twitter account, which I every now and then think about reviving, but with Elon's latest API news that's not going to be an option.)
12:03:16 <esolangs> [[Talk:Grocery List]] https://esolangs.org/w/index.php?diff=106645&oldid=16619 * Orisphera * (+359) /* Popping the result (a) */ new section
12:15:40 <Vorpal> fizzie: I have not followed the twitter debacle in recent weeks. What is this API news?
12:17:42 <Vorpal> huh I seem to be having some internet slowness.
12:17:46 -!- chiselfuse has quit (Remote host closed the connection).
12:18:56 <Vorpal> packet loss
12:20:38 <fizzie> "Starting February 9, we will no longer support free access to the Twitter API, both v2 and v1.1. A paid basic tier will be available instead"
12:21:38 -!- chiselfuse has joined.
12:22:00 <fizzie> So unless fungot becomes profitable somehow (that'd be the day), it's not going to be tweeting.
12:22:00 <fungot> fizzie: i want to
12:22:16 <fizzie> fungot: Look, make your own money, then you can use it any way you like.
12:22:17 <fungot> fizzie: you use erc, there's also `s' ( for example, can lead to corner-to-corner or completeness, and corner-to-corner can lead only to completeness.... some other direction
12:23:21 -!- olsner has quit (Excess Flood).
12:24:39 -!- olsner has joined.
12:47:50 -!- olsner has quit (Quit: ZNC - http://znc.in).
13:06:42 <Vorpal> how am I still connected to irc? I have 60% packet loss, and varying response times of 0.1 - 20 *seconds*.
13:07:54 <Vorpal> fizzie: hm does fungot not reply to CTCP PING?
13:07:54 <fungot> Vorpal: burn in hell
13:08:03 <Vorpal> fungot: whoa! calm down there
13:08:04 <fungot> Vorpal: i got version 360, i'm not sure what would be the
13:12:48 <fizzie> Yeah, I don't think it has any CTCP replies.
13:14:21 <Vorpal> fizzie: what model is it using atm?
13:14:25 <Vorpal> I forgot how to check
13:14:44 <fizzie> ^style
13:14:44 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp ukparl youtube
13:14:56 <Vorpal> ah
13:15:37 <Vorpal> also something weird is going on with my speakers. Seem to be glitchy, Only when I put pressure on the connector do I get sound on the left side.
13:15:53 <Vorpal> I guess it is time to dig out the soldering iron. Probably a cracked solder joint
13:19:06 -!- razetime has joined.
13:22:51 -!- olsner has joined.
13:49:29 -!- razetime has quit (Quit: See You Space Cowboy).
13:50:51 <esolangs> [[Brainfuck implementations]] https://esolangs.org/w/index.php?diff=106646&oldid=104205 * B jonas * (+74) +optimizing compiler by Vorpal
14:03:58 <b_jonas> "<int-e> we have a guy with a (subset of) C to bf compiler" => don't we have like two or three? one of whom programmed machines in a casino with it and only gave the bf code or some silly story like that?
14:05:29 <b_jonas> "It abstracted locks as borrowing books from a library iirc" => is that like the perl maintainer pumpkin?
14:06:13 <b_jonas> "starvation only happens if you pick up forks" => there are other ways to starve, but sure
14:06:36 <b_jonas> library books work because the library has a fixed time limit after which you have to return the books even if you haven't been able to used them
14:11:39 <Vorpal> [15:05] <b_jonas> "It abstracted locks as borrowing books from a library iirc" => is that like the perl maintainer pumpkin? <--- don't know perl, no idea
14:12:18 <Vorpal> huh, I could not see any cracks, but resoldered anyway. Seems to have fixed the issue
14:13:13 <Vorpal> b_jonas: I don't remember how the books/library was supposed to work, but that part of the code was never implemented. And I can't find the spec
14:15:34 -!- bgs has joined.
14:20:26 <esolangs> [[User:Vorpal]] https://esolangs.org/w/index.php?diff=106647&oldid=22878 * Vorpal * (+146) Update my user page. It was super outdated.
14:27:40 <b_jonas> Vorpal: I want to specify a small part of an optional multithreading extension for Consumer society. I don't want to specify or implement creating threads or specify what kind of threads they are, so this isn't really an answer. What I do want is specify an optional feature that lets you easily implement functions like the ones in the arithmetic library (you know, adding or multiplying or comparing
14:27:46 <b_jonas> integers) as threadsafe, because the most obvious implementation isn't threadsafe. This counts as an optional extension because the core language is tiny, but it's a really small one, trivial to implement in a single-threaded implementation, and almost certainly very easy to implement in any multithreading implementation, but it needs support from the multithreading extension, you can't just implement
14:27:52 <b_jonas> it portably without knowing how the threading works, which is why I want to specify it.
14:28:28 <b_jonas> (Technically you can also implement thread-safe arithmetic functions without this extension, but it would be more complicated and likely have worse performance.)
14:31:20 <Vorpal> not familiar with this language
14:32:10 <Vorpal> b_jonas: I can't find "Consumer society" on esolangs. Any link to it?
14:34:37 <b_jonas> "calculus of communicating systems and communicating sequential processes' => isn't CSP constraint satisfaction problem?
14:35:20 <Vorpal> Hm, what about an esolang where things are found at addresses? As in "load variable from Main Street 142 using a pickup truck". And you have to care about distance to the CPU address, and avoid traffic congestion? Multi threading could be multiple CPU building at different addresses that load and store things independently
14:35:29 <Vorpal> b_jonas: TLAs are overloaded
14:36:59 <Vorpal> oh and atomic operations could be done by things like "send package to Side Street 12, if already full, leave package with neighbour to the left"
14:37:13 <Vorpal> this avoids overwriting existing memory
14:37:52 <Vorpal> I imagine the syntax would be this sort of very high level English looking thing. Probably with optional words allowed to make it sound more natural
14:38:29 <b_jonas> "<Vorpal> I kind of want to come up with some interesting multi-threaded turing tarpit that uses shared memory now" => yeah, maybe Consumer society will help in that, as in you can invent a suitable threading model over it
14:38:33 <Vorpal> You would basically need a map to be able to program this
14:38:49 <Vorpal> b_jonas: again as I said, I could not find that. Could you provide a link to it?
14:39:00 <Vorpal> or are you just reading scrollback and ignoring new messages?
14:39:35 <Vorpal> anyway I will be leaving shortly, so it would perhaps be better for you to jump ahead and answer recent questions first instead
14:42:41 <int-e> 1630811154 544040 :b_jonas!~x@catv-176-63-11-154.catv.broadband.hu PRIVMSG #esolangs :Consumer Society doesn't have a wiki page because I haven't published its definition yet and I didn't want to create a completely useless stub
14:42:54 <Vorpal> oh I didn't see that
14:43:10 <int-e> eh that's a message from 2021-09-05
14:43:11 <int-e> ;)
14:43:20 <Vorpal> int-e: oh well, duh
14:43:22 <int-e> But I suspect it's still up-to-date
14:44:10 <Vorpal> Anyway. I like the idea of an esolang based on driving instructions for package delivery/pickup. Where you have to factor in the time it takes to move between addresses. And traffic congestion matters.
14:44:25 <Vorpal> maybe ditch the CPU buildings, and do all computations in the driving instructions
14:45:29 <Vorpal> int-e: another idea for concurrency in esolangs: Look at VHDL/Verilog. Where everything is concurrent, and sequential is kind of hard
14:45:37 <Vorpal> maybe someone could steal that for an esolang
14:46:01 <Vorpal> it is all about electrical signals and states
14:47:48 <Vorpal> for the package delivery esolang I imagine the implementation will basically run a simulation at some granularity t (e.g. 10 seconds at a time). So it will be abstracted over. Not an actual traffic simulation.
14:48:21 <Vorpal> Now I wonder if you can do computation in actual multi-agent traffic simulations based on the interaction between "things" (car, people, etc) in the simulation.
14:48:47 <Vorpal> I mean, fizzie did and/or gates etc in OpenTTD iirc. So why not
14:48:54 <b_jonas> I'm not even sure what actual threading model a multi-threading Consumer society should have. Maybe there's more than one good one, maybe there's none. I just wanted to know that if I specify the arithmetic library I don't write myself into a corner where you have to throw the whole thing out for multithreading.
14:49:30 <Vorpal> b_jonas: it would be very helpful to know what the heck Consumer society actually *was* to be able to follow this
14:49:38 <Vorpal> anyway, leaving now. See you.
14:49:44 -!- Vorpal has quit (Quit: Konversation terminated!).
14:51:57 <b_jonas> "<int-e> Though I guess you can also, alternatively, simulate counters." => would that involve n threads when the value of the counter is n?
15:05:21 <b_jonas> "Kind of weird for a language where the only error you can make is mismatched brackets." => isn't running off the left of the tape <+ an error, though supported as an extension in some impls?
15:05:58 <b_jonas> an right, Vorpal says that a few lines later
15:12:41 <b_jonas> fizzie: re fungot and twitter, if fungot was already a member of the EU or UK parliament then you could just rely on other people tweeting what interesting things he said in the parliament. but if he's not already a member then he won't be able to campaign without twitter, so that's hard to solve.
15:12:42 <fungot> b_jonas: oh. hm. so there should be a breeze then. g x returns 3 fnord i have: fnord/ archives/ fnord
15:13:50 <b_jonas> "how am I still connected to irc? I have 60% packet loss, and varying responsehow am I still connected to irc? I have 60% packet loss, and varying response times" => by the magic of TCP/IP.
15:15:12 <b_jonas> Vorpal: "don't know perl, no idea" => the pumpkin is described in https://perldoc.perl.org/perlhist#PUMPKIN?
15:16:52 <b_jonas> `<Vorpal> b_jonas: I can't find "Consumer society" on esolangs. Any link to it?' => there is none, because I haven't released it yet. it's one I've been planning to make for a few years, and the core language is now stabilized but I'm trying to keep it a secret, and my constant fear that someone else discovers the core lanugage before me hasn't yet overcome my lazyness in making it a full language (with
15:16:54 <HackEso> ​<Vorpal>? No such file or directory
15:16:58 <b_jonas> documentation, library, implementation, example programs, etc) and publishing it
15:19:04 <b_jonas> "<Vorpal> You would basically need a map to be able to program this" => Mornington Crescent…
15:19:18 <b_jonas> "<Vorpal> or are you just reading scrollback and ignoring new messages?" => yes, I'm still reading scrollback
15:21:39 <b_jonas> no longer, I caught upp
15:29:10 <b_jonas> what's the earliest computer program we know of that was first published in Europe and when was it published? I wonder when there will first be programs whose copyright protection has expired. we're in 2023 so we must be getting near
15:32:19 <b_jonas> though of course it's tricky because the term is 70 years plus authors' death, and most programs from back then that we still know of will have multiple authors
15:32:47 <b_jonas> but still, there will probably soon exist something somewhere
15:43:52 <esolangs> [[User:Piechicken20]] M https://esolangs.org/w/index.php?diff=106648&oldid=106638 * Piechicken20 * (+0)
15:49:03 <esolangs> [[X7]] https://esolangs.org/w/index.php?diff=106649&oldid=106639 * LyricLy * (+238) Structure instructions into sections
15:56:35 <esolangs> [[TimeWaste]] https://esolangs.org/w/index.php?diff=106650&oldid=106643 * Nathi1235 * (+797)
16:03:19 <esolangs> [[User:Yes]] https://esolangs.org/w/index.php?diff=106651&oldid=106435 * Yes * (-50) /* Wikipedia */
16:04:04 <esolangs> [[User:Piechicken20]] https://esolangs.org/w/index.php?diff=106652&oldid=106648 * Piechicken20 * (+230)
16:18:56 -!- razetime has joined.
16:19:58 <esolangs> [[TimeWaste]] https://esolangs.org/w/index.php?diff=106653&oldid=106650 * Nathi1235 * (+0)
16:20:23 <esolangs> [[TimeWaste]] M https://esolangs.org/w/index.php?diff=106654&oldid=106653 * Nathi1235 * (-1)
16:26:26 <esolangs> [[User:Nathi1235]] N https://esolangs.org/w/index.php?oldid=106655 * Nathi1235 * (+138) Created page with "Hi, my name is '''Nathanael''', I'm a Electronics- and Software-Engineering student at HTL in Austria. I am the creator of [[TimeWaste]]."
16:26:52 <esolangs> [[User:Nathi1235]] https://esolangs.org/w/index.php?diff=106656&oldid=106655 * Nathi1235 * (+2)
16:41:14 <esolangs> [[X7]] https://esolangs.org/w/index.php?diff=106657&oldid=106649 * LyricLy * (+39) Add note about ! not rewinding
17:05:22 -!- craigo has quit (Quit: Leaving).
17:06:16 -!- craigo has joined.
17:40:16 -!- razetime has quit (Remote host closed the connection).
18:04:32 -!- chiselfuse has quit (Ping timeout: 255 seconds).
18:06:23 -!- chiselfuse has joined.
18:09:16 -!- simcop2387 has quit (Quit: ZNC 1.8.2+deb3+b4 - https://znc.in).
18:09:16 -!- perlbot has quit (Quit: ZNC 1.8.2+deb3+b4 - https://znc.in).
19:02:18 <esolangs> [[X7]] https://esolangs.org/w/index.php?diff=106658&oldid=106657 * LyricLy * (+127)
19:43:48 -!- immibis_ has joined.
21:41:26 -!- Sgeo has joined.
22:00:38 -!- __monty__ has joined.
22:19:12 -!- __monty__ has quit (Quit: leaving).
22:57:54 -!- chiselfu1e has joined.
22:59:17 -!- chiselfuse has quit (Ping timeout: 255 seconds).
23:03:39 -!- int-e has quit (Remote host closed the connection).
23:03:44 -!- chiselfu1e has quit (Remote host closed the connection).
23:04:19 -!- chiselfuse has joined.
23:04:24 -!- int-e has joined.
23:07:28 -!- lambdabot has joined.
23:14:30 <int-e> @bot
23:14:30 <lambdabot> :)
23:36:10 -!- simcop2387 has joined.
23:37:41 -!- perlbot has joined.
←2023-02-03 2023-02-04 2023-02-05→ ↑2023 ↑all