Sophie

Contents:

  • Learn Sophie (by Example)
  • Guides and Recipies
  • Reference Manual
  • Explaining Sophie
    • Actors and Concurrency
    • Plugging Sophie into the World
    • Devilish Details to Determine
    • What even is a “string”?
    • Analyzing Demand / Inferring Strictness
    • Goals and Roadmap
    • Why Sophie …
    • Complete Speculation
    • Discarded Ideas
  • Mechanics of Sophie
  • Sophie’s Future
Sophie
  • Explaining Sophie
  • View page source

Explaining Sophie

You’ve found the index of explanatory pages. As the documentation continues to settle into shape, the proper goal of these pages should be to help you understand what Sophie is specified to do with your code.

  • Not everything works yet.

  • How Sophie works on the inside is a completely different matter.

Contents:

  • Actors and Concurrency
    • Basics
    • No Implicit Magic
    • Message Ordering
    • Private Mutable State Has Consequences
    • Encapsulated Reliability Domains
  • Plugging Sophie into the World
    • Background
    • Approach
    • Known Problems
  • Devilish Details to Determine
    • The Negative Modulus
    • Parsing Numbers
    • Random Numbers
    • Strings
  • What even is a “string”?
  • Analyzing Demand / Inferring Strictness
    • Purpose
    • How it’s done
    • By the way
  • Goals and Roadmap
    • Design Goals
    • Things on Deck
    • Open Design Problems:
    • Other Nice Things to Have
  • Why Sophie …
    • Exists
    • Has Strictly Ordered Sections
    • Is Pure-Functional
    • Is Call-by-Need / Lazy-Evaluation
    • Has Algebraic Syntax
    • Has This Particular Type System?
    • Is Written in Python
  • Complete Speculation
    • All the other bits
    • Package System
    • Drivers Directly in Sophie Code
    • Holes in the Code
    • Dimensions and Units of Measure
    • Alternate Rings/Fields/Etc.
    • Interfaces / Type-Classes
    • Monads and Functors and Maps, Oh My!
    • Error Context Displays
    • Arrays and Dictionaries
    • Tail Calls?
    • Unreliable Input Data e.g. JSON
    • Stronger Guarantees
    • Integrated Development
    • String Functions and IOlist
  • Discarded Ideas
    • I/O, Randomness, and the Process Abstraction
Previous Next

© Copyright 2022, Beth Kjos.

Built with Sphinx using a theme provided by Read the Docs.