Comment by hgs3

Comment by hgs3 18 hours ago

5 replies

> It would be much more interesting to see a language which experiments with what is fundamentally representable

You might checkout my project, Confetti [1]. I conceived of it as Unix configuration files with the flexibility of S-expressions. I think the examples page on the website shows interesting use cases. It doesn't have a formal execution model, however, for that you might checkout Tcl or Lua.

[1] https://confetti.hgs3.me/

cdaringe 12 hours ago

Why is typeless a positive trait? Just due to the simplicity of the matter? What are the sharp edges?

  • hgs3 11 hours ago

    In practice, there are still types, they are just validated by your application. I didn’t want Confetti itself to make assumptions. I wanted to give you the freedom to define your own custom types and keywords, like “on” and “off”, or even tri-states like “yes”, “no”, “maybe”.

    The problem with mandatory keywords, like “true” and “false”, is they box you into the English language. And which data types should be intrinsic is arbitrary, for example, TOML has data types for date and time, but JSON does not [1]. Where do you draw the line? Confetti let’s you decide.

    You might enjoy reading this take on the subject [2].

    [1] https://toml.io/en/v1.0.0#offset-date-time

    [2] https://github.com/madmurphy/libconfini/wiki/An-INI-critique...

    • [removed] 10 hours ago
      [deleted]
    • ctenb 10 hours ago

      I don't see how predefined keywords are a bad thing. True/false is near universal

    • spookie 8 hours ago

      That makes a lot of sense to me. These files aren't just read by programmers either.