Are conditional, sequential and looping instructions understood by an Unseen Servant?

In this question, the Unseen Servant was somehow compared to a computer, which got me thinking. As a programmer, I know that a computer, although mindless, is very good at fulfilling conditional (“if something is true then do this, else do that”), sequential (“do this then do that”) and looping (“do this while something is true”, and “do this for that amount of times”) tasks. Also, a computer is provided with a System Clock, and is therefore able to perform Waits. Therefore, this is a 7-in-1 question:

  1. Can an Unseen Servant fulfill conditional tasks? (ex : “pour wine into each empty glass” – in other words, if the glass if already filled, don’t pour wine in it, else do it)

  2. Can it fulfill sequential tasks? (ex: “pour wine into my glass, then bring it to me”)

  3. Can it fulfill looping tasks? (ex: “Pour wine into my glass every minute for 20 minutes”)

  4. If it can do all three separately, can it do them all together? (ex: “Every minute for 20 minutes, for each empty glass, if it’s empty, pour wine into it then bring it to their respective owner, else don’t touch it”)

  5. Can an Unseen Servant be fed a series of instructions via text (ex: “do what is written on this paper”) or speech (ex: “do what any of my Magic Mouths will tell you to do when one starts giving orders” – so if you have several Magic Mouths, the trigger of the second Magic Mouth’s speech might be something caused by one of the first Magic Mouth’s instructions to the Unseen Servant… which essentially results in something like a function call in programming)? For this to work, the Unseen Servant must either have sight+reading abilities, or hearing+language abilities. The spell specifies you give telepathic commands to the Servant, but does not say if textual/verbal commands from your own voice work as well. The closest thing is a comparison to a human servant, so it might or might not work out.

  6. Can an Unseen Servant wait for a given time interval before doing a task step ? (how it would work out : as it takes a turn (6 seconds) for an Unseen Servant to move 15 feet, it therefore takes it 1 second to move 2.5 feet, so if you tell an Unseen Servant to move in circles for 2.5X feet before doing a step, then you essentially delay the step by X seconds)


As soon as I can, I’ll put a big bounty on this question for the first person who puts a satisfying answer (either “yes” or “no”, as long as the explanation is very good and all 7 questions are answered) because it’s really important for me to get these answers.

For every imperative function, is there a functional counterpart with identical performance or even instructions?

Currently, I haven’t learned about a functional language that can achieve the same performance as C/C++. And I have learned that some languages that favor functional programming to imperative programming, such as Scala and Rust, use imperative ways to implement their library functions for better efficiency.

So here comes my question, on today’s comptuters that execute imperative instructions, is this a limitation of the compiler or functional programming itself? For every imperative function with no side effects, either in a language without GC such as C/C++/Rust/assembly or one with GC such as Java, is there a pure functional counterpart in Haskell, Scala, etc. that can be compiled to run with identical performance in time and space (not just asymptotic but exactly the same) or even to the same instructions, with an optimal functional compiler that utilizes all modern and even undiscovered optimization techniques such as tail recursion, laziness, static analysis, formal verification, and so on which I don’t know about?

I am aware of the equivalence between λ-computable and Turing computable, but but I couldn’t find an answer to this question online. If there is, please share a compiler example or a proof. If not, please explain why and show a counter-example. Or is this a non-trivial open question?

How is readiness of instructions fetched from RAM signaled to the CPU?

In simple CPU architectures, such as the one discussed here https://youtu.be/zltgXvg6r3k?t=109, an instruction loaded from RAM is executed exactly one clock cycle after it is loaded into the instruction register.

However, I am told that in real/modern architectures it takes hundreds of clock cycles to fetch instructions from RAM (using caches in between). But that completely throws off my understanding of how things work. Could someone please outline the techniques that enable instructions ordered from RAM to get executed after some indefinite number of clock cycles in the future?

Please don’t just say e.g. "by stalling", but actually outline in terms of signals, chips, etc. how these things are organized. Thanks!

Step by step instructions to Find People by Phone Numbers

The idea of a converse registry, or one that takes a telephone number and with that will find somebody’s location and other data, has been around since the phone directory has been near, yet they have consistently been accessible just to huge organizations and advertising firms. The vast majority of these necessary genuinely enormous membership costs. 

Phone directories are presently conveyed electronically to you thus the converse catalog can be conveyed to you simply, (and, similarly as monetarily). You can look through these information bases effectively by entering a telephone number and afterward hitting the pursuit catch and think of the individual that has that telephone number doled out to them.

That is if the number that you have is a recorded number! Bangladesh Mobile Database

On the off chance that you are managing an unlisted telephone number, at that point you either need to do a bit ‘leg-work’ OR you have to get tightly to a pursuit database that has unlisted numbers in them. These are not as simple as simply signing onto whitepages.com! You have to utilize an alternate kind of administration that will look through ALL databases, recorded and unlisted, with simply the one section.

There are some of these administrations out there. Some of them will scan for:

Telephone numbers

Marriage records

Criminal Records

Detainees in all states

Neighborhood look

Court Records

Demise Records

Eulogy Searches

Graveyard Searches

Chapter 11 Search

Sex Offenders

Military Records

also, some more!

Regardless of whether you are performing parentage research, managing ‘Skip-Tracing’ ventures, or on the off chance that you are associated with setting up class get-together sort employments, there is a generally excellent motivation to engage with the absolute best hunt assets accessible!

It would be ideal if you see underneath for a phenomenal asset that will permit the entirety of the above recorded inquiries without going everywhere throughout the net to finish your undertakings.

Mickey Brundege, during his 55 years has been associated with numerous things and various individuals. Let him converse with you: “I am excited about helping individuals in varying backgrounds help themselves by empowering them to achieve their objectives, be it Personal, Professional, Wellness, Spiritually or Politically.

Are the instructions given in the “Planar Binding” spell part of the casting time, or can instructions be amended during the spell duration?

The Planar Binding spell is a 5th level abjuration with verbal, somatic and material components and a casting time of 1 hour that allows the target a Charisma saving throw. If the target fails the save, it “must follow your instructions to the best of its ability”.

Are the instructions specified as part of casting the spell? Or are the instructions given after the spell has finished casting? Can instructions be updated/amended throughout the duration of the spell, or is there a one-time period during which the instructions must be fully specified?

Although the duration for the 5th level version of this spell is 24 hours, the duration increases as higher spell slots are used, lasting a year plus a day when a 9th level spell slot is used. I mention this because the longer the spell lasts, the more important the answer to this question becomes.

How many RAW dependencies are present in these instructions?

What is the number of RAW dependencies in below set of instructions?

I1: R1 = R2 - R3 I2: R2 = R1 + R3 I3: R3 = R1 + R2 I4: R1 = R2 - R2 

I can see the following RAW dependencies in it:

$ I_2-I_1\ for\ R_1$ ……… (a)

$ I_3-I_1\ for\ R_1$ ……… (b)

$ I_3-I_2\ for\ R_2$ ……… (c)

$ I_4-I_2\ for\ R_2$ ……… (d)

I think taking (a) and (b) implies that (c) has already been included. So, should this be counted as 4 RAW dependencies or 3 RAW dependencies?

https://en.wikipedia.org/wiki/Hazard_(computer_architecture)#Read_after_write_(RAW)

Why is it that version managers are always mentioned after the installation instructions?

As much as I want to put this on StackOverflow, I think this particular question fits better here.

I hope this doesn’t sound too petty, but this is something that has always bothered me.

I’ve always wondered why the designers/developers of programming language websites don’t just put version managers right next to the initial setup and installation instructions in their documentation instead of long after, and sometimes quite hidden in the side-notes.

Most people (I would assume at least) follow installation procedures line by line. That being the case, and the fact that you usually have to install the version managers first if you have a need for them; wouldn’t it be more logical to bring the version managers to the user’s awareness right around the same point in the documentation as the language’s installation instructions?

In fact, Ruby is the only language I’ve ever installed that started the installation section with something like:

“some language” Installation Options:

  • Stand Alone Installation Instructions
  • Virtual Machine Installation
  • Installation With A Version Manager

So, as stupid as this might sound, I’ve begun to wonder if there isn’t some reason for this. Obviously, I’m not trying to excuse anybody for not thinking of version management up front, however considering that I almost always forget about version management when coming into a new language, I’d assume that it’s at least sort of common to make that mistake.

So, is this one of those globally common bad design things? Is this even bad design or am I just being whiny? Or is there legitimate reasoning behind this, and if so – what? It seems far too common a practice for it to just be by accident. I mean, who writes up installation procedures, then adds version management instructions at the tail end and not think, “huh, maybe I should put this up at the top.” ?

minimum number of bits required for R-type, I Type and J type instructions

I am new to Computer architecture and studying for a midterm and am stuck on this question, it will be much appreciated if someone could provide an easy to understand solution and briefly explain the approach

For a computer using a MIPS-like instruction set, 64 instructions are reserved for R-type instructions and 63 more instructions are reserved for I-type and J-type instructions in total.

Also, there are 128 registers in the system and the size of one register is 64 bits.

(a) According to the given configurations, what would be the minimum number of bits required for an instruction? Note that,

  • In MIPS, opcode of the all R-type instructions will be 0 (zero). The arithmetic operation is selected according to the function code (funct).
  • MIPS is a RISC instruction set, therefore its instruction length is fixed
  • (Editor’s note: presumably we’re meant to assume 3-operand op dst, src1, src2 instructions so we need 3 register fields in R-type instructions.)

(b) What would be the maximum size of the memory for this computer? Note that;

  • In MIPS ISA, there is only register addressing mode for memory accesses, which means the address of the memory location is stored in a register.
    (editor’s note: actually register + 16-bit sign-extended immediate offset, like
    lw $ t0, 1234($ t1). But that’s not really relevant; address calculation happens with wrapping to register width.)
  • In the given ISA, memory is byte addressable.

For a command to increase something, should instructions refer to the “+” key or the “=” key?

Our software uses the =/+ and -/_ keys for opposite tasks. For example, increasing or decreasing a value, or zooming in or out. No modifier keys are used.

Here is the conundrum:

  • If we refer to it as the “plus (+) key,” users might think they have to hold Shift.
  • If we refer to it as the “equals (=) key,” we lose the intuitive dichotomy against the “minus (-) key.”

Is there:

  • Research that gives a reason to prefer one form over the other?
  • A mention of this in an authoritative style guide that establishes a convention?
  • A good example of this in the wild?