Language ideas

Idea 1

Explicit types and being able to append arbitrary properties to objects seems cool.

The syntax is somewhat inspired by Turtle and I like having a more natural language feel to it.

fact is a function ;
     with params acc and n ;
     such that
       if n <= 1 then
          acc
       else
          fact (acc * n) (n - 1) .

x is a user ;
  with username ffkkinos , -- types are infered
       email example@example.com .

c is a circle ;
  with radius 10 .

s is a rectangle ;
  with width 10 , -- appending arbitrary properties to `s`
       height 20 .

web1 is a website ;
     with title "Title" ,
          url https://example.org .

web2 is a website ;
     with title "Title" ,
          author me .

-- question the system

what is a website ? -- something with title, url?, and author? .