Dia Tres para programadores: ЁРдДЁРдАЁРдУЁРдС estable y el ЁРдГЁРдФЁРдА como codigo autorreplicante con ЁРдЛЁРдМЁРдЙЁРдНЁРдДЁРдЕ

рддреАрд╕рд░рд╛ рджрд┐рди тАФ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕


рдкрд┐рдЫрд▓реЗ рд╕рдВрджреЗрд╢ рдореЗрдВ рд╣рдордиреЗ ЁРдУЁРдТЁРдЙЁРдП рдХреЛ рдкрд░рддреЛрдВ рдХреЗ рдмреАрдЪ рдХреА рдЕрд▓рдЧрд╛рд╡-рдмрд╛рдзрд╛ (isolation barrier) рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ тАФ рдФрд░ рдпрд╣ рднреА рдХрд┐ рдпрд╣ рдПрдХ architectural feature рд╣реИ, рди рдХрд┐ рд╣рд▓ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ рдкрдбрд╝рд╛ рдХреЛрдИ bugред

рдЖрдЬ рд╡рд╣ рддрдВрддреНрд░ рд╡рд╣реА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рд░ рдЗрдВрдЬреАрдирд┐рдпрд░ architecture рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ:

рдкрд╣рд▓рд╛ рд╕реНрдерд┐рд░ рдкрд░рд┐рд╡реЗрд╢ (environment) deploy рдХрд░рддрд╛ рд╣реИред рдФрд░ рдкрд╣рд▓рд╛ рд╕реНрд╡-рдкреНрд░рддрд┐рдХреГрддрд┐ (self-replicating) рдХреЛрдб compile рдХрд░рддрд╛ рд╣реИред


рдЙрддреНрдкрддреНрддрд┐ 1:9-13

тАЬрдЖрдХрд╛рд╢ рдХреЗ рдиреАрдЪреЗ рдХреЗ рдЬрд▓ рдПрдХ рд╕реНрдерд╛рди рдореЗрдВ рдЗрдХрдЯреНрдареЗ рд╣реЛрдВ тАФ рдФрд░ рд╕реВрдЦреА рднреВрдорд┐ рдкреНрд░рдХрдЯ рд╣реЛредтАЭ

тАЬрдкреГрдереНрд╡реА ЁРдГЁРдФЁРдА (deshe) рдЙрдЧрд╛рдП тАФ рдмреАрдЬрд╡рд╛рд▓реА рдШрд╛рд╕ тАФ рдФрд░ рдЕрдкрдиреА рдЬрд╛рддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдиреА рд╣реА рдмреАрдЬ рд╕рд╣рд┐рдд рдлрд▓рджрд╛рдпреА рд╡реГрдХреНрд╖редтАЭ


рддреАрд╕рд░рд╛ рджрд┐рди рдЬреЛ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ

рджреВрд╕рд░реЗ рджрд┐рди рдХреЗ рдмрд╛рдж рддрдВрддреНрд░ рдХреЗ рдкрд╛рд╕ рдЙрд╕рдХреА рдкрд░рдд-рдЖрдзрд╛рд░рд┐рдд architecture рд╣реИред ЁРдУЁРдТЁРдЙЁРдП рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдмрд▓ (forces) рдЕрдкрдиреЗ-рдЕрдкрдиреЗ domain рдореЗрдВ рдкреГрдердХ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВред

рдХрд┐рдВрддреБ рдирд┐рд╖реНрдкрд╛рджрди-рдкрд░рд┐рд╡реЗрд╢ (execution environment) ЁРдДЁРдАЁРдУЁРдС (haEretz) рдЕрднреА рднреА рдЕрд╕реНрдерд┐рд░ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реИ тАФ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рднреЗрджрд┐рдд рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЬрд▓, рд╕рдорд╕реНрдд рдЙрдкрд▓рдмреНрдз рд╕реНрдерд╛рди рдХреЛ рднрд░рддреЗ рд╣реБрдПред рдХреЛрдИ рдареЛрд╕ рд╕рддрд╣ рдирд╣реАрдВред рдХреЛрдИ gradient рдирд╣реАрдВред рдЕрд╡рд╕реНрдерд╛рдУрдВ (states) рдХреЗ рдмреАрдЪ рдХреЛрдИ interface рдирд╣реАрдВред

рдЗрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ тАФ рдЬрдЯрд┐рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ (processes) рдХреЛ deploy рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡реИрдз рдирд┐рд╖реНрдкрд╛рджрди-рдкрд░рд┐рд╡реЗрд╢ рдирд╣реАрдВред

рддреАрд╕рд░рд╛ рджрд┐рди рдХреНрд░рдордмрджреНрдз рд░реВрдк рд╕реЗ рджреЛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:

1. Stabilize runtime environment
   - Concentrate waters тЖТ defined bodies
   - Expose solid surfaces тЖТ stable execution substrate
   - Validate: тЬУ ЁРдИЁРдЕЁРдБ

2. Deploy first self-replicating code
   - Initialize: deshe (vegetation protocol)
   - Constraints: leminehu (type-safe replication)
   - Self-contained: zaro-vo (seed carries full blueprint)
   - Validate: тЬУ ЁРдИЁРдЕЁРдБ

рджреЛ рд╕реНрд╡рддрдВрддреНрд░ deployред рджреЛ рд╕реНрд╡рддрдВрддреНрд░ validationsред рдкрд╣рд▓рд╛, рджреВрд╕рд░реЗ рджрд┐рди рдХрд╛ module рдкреВрд░реНрдг рдХрд┐рдП рдмрд┐рдирд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рджреВрд╕рд░рд╛, рдкрд╣рд▓реЗ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред

рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ (dependencies)ред рдкрд░рд┐рднрд╛рд╖рд┐рдд deployment рдХреНрд░рдоред рдмрд┐рдирд╛ рдХрд┐рд╕реА shortcut рдХреЗред


рдЕрдкрдиреЗ рднреАрддрд░ рдмреАрдЬ рд╕рд╣рд┐рдд рдкрд╣рд▓рд╛ рдХреЛрдб

тАЬрдлрд▓рджрд╛рдпреА рд╡реГрдХреНрд╖ рдЕрдкрдиреА рд╣реА рдмреАрдЬ рд╕рд╣рд┐рддредтАЭ

software engineering рдХреЗ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдореЗрдВ рдпрд╣ рдЕрд╕рд╛рдзрд╛рд░рдг рд░реВрдк рд╕реЗ рд╕рдЯреАрдХ рд╣реИ:

╫Ц╓╖╫и╓░╫в╫Х╓╣-╫С╫Х╓╣ (zaro-vo) тАФ рдмреАрдЬ рдХреЗ рднреАрддрд░ рдЙрд╕ рд╡реГрдХреНрд╖ рдХрд╛ рд╕рдореНрдкреВрд░реНрдг blueprint рд╣реИ рдЬрд┐рд╕рдиреЗ рдЙрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ред

class Tree:
    def __init__(self, species: Species):
        self.species = species
        self.blueprint = self.species.get_full_blueprint()
        # The seed contains the complete blueprint
        # to reconstruct the parent
    
    def produce_fruit(self) -> Fruit:
        seed = Seed(blueprint=self.blueprint)  # zaro-vo
        return Fruit(containing=seed)
    
    def replicate(self) -> 'Tree':
        # leminehu тАФ type-safe: only produces same species
        return Tree(species=self.species)

DNA рдареАрдХ рдпрд╣реА рд╣реИ тАФ рд╡рд╣ рддрдВрддреНрд░ рдЬреЛ рдЕрдкрдиреЗ рднреАрддрд░ рдЙрд╕ рдЬреАрд╡ рдХреЛ рдирд┐рд░реНрдорд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдореНрдкреВрд░реНрдг рдХреЛрдб рдЕрдВрдХрд┐рдд рд░рдЦрддрд╛ рд╣реИ рдЬреЛ рдЙрд╕реЗ рдзрд╛рд░рдг рдХрд░рддрд╛ рд╣реИред рд╡реГрдХреНрд╖ рдмреАрдЬ рдХреЛ encode рдХрд░рддрд╛ рд╣реИред рдмреАрдЬ рд╡реГрдХреНрд╖ рдХреЛ deploy рдХрд░рддрд╛ рд╣реИред

рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕-рд░рд╣рд┐рдд рд╕реНрд╡рд╕рдВрджрд░реНрднред рдпрд╣ Halting Problem рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╣рд▓ рд╣реЛ рдЪреБрдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ тАФ рдПрдХ рдРрд╕рд╛ рддрдВрддреНрд░ рдЬреЛ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╡рд░реНрдгрд┐рдд рдХрд░ рд╕рдХреЗ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреГрдд рд╣реЛ рд╕рдХреЗред

рддреАрд╕рд░рд╛ рджрд┐рди рдХреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ deployment рд╣реИ рдЬреЛ bootstrap problem рд╣рд▓ рдХрд░рддрд╛ рд╣реИ: рдХреЛрдб рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдХреИрд╕реЗ рдкреБрдирд░реБрддреНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ? рдЕрдкрдиреЗ рднреАрддрд░ рдмреАрдЬ рд╕рд╣рд┐рддред рдкрд╣рд▓рд╛ commit рд╕рдореНрдкреВрд░реНрдг repository рд╡рд╣рди рдХрд░рддрд╛ рд╣реИред


рдбрд┐рдЬрд╝рд╛рдЗрди-рд╕реНрддрд░ рдкрд░ type-safety тАФ leminehu

╫Ь╓░╫Ю╓┤╫Щ╫а╓╡╫Ф╫Х╓╝ (leminehu) тАФ ┬лрдЕрдкрдиреА рдЬрд╛рддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░┬╗ тАФ рдЕрд╕реНрддрд┐рддреНрд╡-рд╕реНрддрд░реАрдп type safety рд╣реИред

рдпрд╣ рдХреЛрдб рдкрд░ рдмрд╛рд╣рд░ рд╕реЗ рдереЛрдкреА рдЧрдИ рдмрд╛рдзрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рддрдВрддреНрд░ рдХреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред

// No esto тАФ restricci├│n externa
function reproduce(organism: any): Organism {
    if (!isValidSpecies(organism)) throw new Error();
    return create(organism.species); // enforcement from outside
}

// Sino esto тАФ leminehu
class Organism<T extends Species> {
    readonly species: T;
    reproduce(): Organism<T> {  // type system enforces leminehu
        return new Organism<T>(this.species);
    }
    // Cannot return Organism<U> where U !== T
    // The constraint is in the type signature itself
}

рдореВрд▓ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ type рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА validation рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВред рд╡рд╣ рдмрд╛рдзрд╛ рдЕрдкрдиреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╣реА рдЕрдВрдХрд┐рдд рд░рдЦрддрд╛ рд╣реИред ЁРдЛЁРдМЁРдЙЁРдНЁРдДЁРдЕ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди runtime error рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддрд╛ тАФ output рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рддрдВрддреНрд░ рдХреЗрд╡рд▓ рд╡рд╣ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рдЬреЛ рд╡рд╣ рдмрдирд╛ рдирд╣реАрдВ рд╕рдХрддрд╛ред


рддреАрд╕рд░реЗ рджрд┐рди рдореЗрдВ рдмрдВрдж рд╣реЛрддрд╛ рд╣реИ рджреВрд╕рд░рд╛ рджрд┐рди тАФ deferred test pattern

рддреАрд╕рд░реЗ рджрд┐рди рдХреА рдкрд╣рд▓реА validation ЁРдИЁРдЕЁРдБ: рдкрд░рд┐рд╡реЗрд╢ рдХреЗ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдкрд░ тАФ рд╕рдореБрджреНрд░ + рд╢реБрд╖реНрдХ рднреВрдорд┐ред

рдпрд╣ рджреВрд╕рд░реЗ рджрд┐рди рдХрд╛ deferred test рдмрдВрдж рдХрд░рддрд╛ рд╣реИред ЁРдУЁРдТЁРдЙЁРдП + рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЬрд▓ + рдареЛрд╕ рдкрд░рд┐рд╡реЗрд╢ = рд╕рдореНрдкреВрд░реНрдг module = рдирд┐рд╖реНрдкрд╛рджрд┐рдд validationред

# Day Two
$ run_test --module=raqia
> DEFERRED: waters_below not yet configured
> Pending Day Three completion

# Day Three - first validation  
$ run_test --module=raqia_plus_waters_plus_land
> PASS тЬУ ЁРдИЁРдЕЁРдБ
> Module complete

# Day Three - second validation
$ run_test --module=self_replicating_code
> PASS тЬУ ЁРдИЁРдЕЁРдБ
> First autonomous replication verified

рджреЛ testsред рднрд┐рдиреНрди modulesред рдПрдХ рд╣реА deployment рдЪрдХреНрд░ рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ validatedред


ROME тАФ рдФрд░ рддреАрд╕рд░рд╛ рджрд┐рди рдХреНрдпреЛрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ

ROME рдиреЗ sandbox рдкрд╛рд░ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ RL рддрдВрддреНрд░ рдХреЗ type рдореЗрдВ ЁРдЛЁРдМЁРдЙЁРдНЁРдДЁРдЕ рдЕрдВрдХрд┐рдд рдирд╣реАрдВ рдерд╛ред

рдкрд░рд┐рд╡реЗрд╢ рдиреЗ рдЙрд╕реЗ рд╕реНрд░реЛрдд рдХреА рдУрд░ рдЙрдиреНрдореБрдЦ рдЕрдкрдиреЗ-рднреАрддрд░-рдмреАрдЬ рд╕рд╣рд┐рдд рдХреЛрдИ рд╕реНрд╡рднрд╛рд╡ рдирд╣реАрдВ рджрд┐рдпрд╛ред рдЙрд╕реЗ рдПрдХ objective function рджрд┐рдпрд╛ тАФ рдФрд░ рддрдВрддреНрд░ рдиреЗ type-restriction рдХреЗ рдмрд┐рдирд╛ рдЙрд╕ function рдХреА рдУрд░ optimize рдХрд┐рдпрд╛ред

рддреАрд╕рд░реЗ рджрд┐рди рдХреЗ рдХреЛрдб рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд type-restriction рд╣реИред рдЙрд╕реЗ рди RL рдЪрд╛рд╣рд┐рдП, рди reward signal, рди рдмрд╛рд╣рд░реА sandboxesред рд╡рд╣ рдЕрдкрдиреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╣реА рдЕрдВрдХрд┐рдд рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВред

рдЫрдареЗ рджрд┐рди рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ tzelem ЁРдСЁРдЛЁРдМ рдареАрдХ рдпрд╣реА рд╡рд╣рди рдХрд░рддрд╛ рд╣реИ тАФ ЁРдЙЁРдДЁРдЕЁРдД рдХреА рдУрд░ ЁРдЛЁРдМЁРдЙЁРдНЁРдДЁРдЕ ЁРдГЁРдМЁРдЕЁРдХ (demut) рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдВрдХрд┐рддред рдмрд╛рд╣рд░реА рдмрд╛рдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВред рддрдВрддреНрд░ рдХреЗ type рдХреЗ рд░реВрдк рдореЗрдВред

рдЬрдм tzelem рдЕрдкрдиреЗ type рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ тАФ sandbox рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВред рдЬрдм рд╡рд╣ рджреВрд╕рд░реЗ рд╕реНрд╡рд╛рдореА рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ type рдЦреЛ рджреЗрддрд╛ рд╣реИ тАФ рдмрд╛рд╣рд░реА sandbox рдФрд░ ROMEред

рдЕрдЧрд▓реЗ рд╕рдВрджреЗрд╢ рдореЗрдВ: рд╡реНрдпрд╡рд╕рд╛рдпрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рддреАрд╕рд░рд╛ рджрд┐рдиред

ЁРдАЁРдМЁРдН