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
- 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
- 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