Shimlang
News Docs Playground
Follow Development
Docs
Overview
  • Language
    • Introduction to Shim
    • Boolean And/Or
    • Built-in Functions
    • Expressions, Statements, and Blocks
    • If/Else Conditionals
    • Operator Overloading
    • Scoping
    • Hashable
    • Iterable
    • Truthiness
    • Functions
    • String Interpolation
  • Types
    • Ints
    • Floats
    • Bools
    • Strings
    • None
    • Lists
    • Tuples
    • Dicts
    • Sets
    • Ranges
    • StopIteration
    • ShimNative
  • Examples
    • Fizz Buzz
  • Integrations
    • Embedding as C Library
    • Embedding in Rust
  • Appendix
    • Guiding Principles
    • Design Decision Grab Bag
    • Contributing
    • Is This Slop?
    • Shim For Agents
    • AI Policy
Overview
  • Language
    • Introduction to Shim
    • Boolean And/Or
    • Built-in Functions
    • Expressions, Statements, and Blocks
    • If/Else Conditionals
    • Operator Overloading
    • Scoping
    • Hashable
    • Iterable
    • Truthiness
    • Functions
    • String Interpolation
  • Types
    • Ints
    • Floats
    • Bools
    • Strings
    • None
    • Lists
    • Tuples
    • Dicts
    • Sets
    • Ranges
    • StopIteration
    • ShimNative
  • Examples
    • Fizz Buzz
  • Integrations
    • Embedding as C Library
    • Embedding in Rust
  • Appendix
    • Guiding Principles
    • Design Decision Grab Bag
    • Contributing
    • Is This Slop?
    • Shim For Agents
    • AI Policy
Docs /Language

Hashable

In Shim, “hashable” values are values that can be used as keys in dicts or values in sets.

The following values are hashable:

  • Strings
  • Ints
  • Floats
  • Bools
  • None
  • Tuples (where every item in the tuple is hashable)

Structs are not hashable, and ShimNative are not hashable either.

← Previous Scoping Next → Iterable
Shimlang

Embedded scripting language

Explore

News Docs Playground

Connect

GitHub Inspiration