Git Product home page Git Product logo

Comments (3)

vrandezo avatar vrandezo commented on April 24, 2024 1

Thanks for the question! I am sorry, I am really bad at explaining, so the questions are super useful to clarify things. Thanks for digging through the material and trying to make sense of it.

My hope is that there is basically no distinction between the Function type and other types, in fact, that there is no such thing as a primitive type.

To give an example: the implementation of the lambda calculus in eneyj doesn't actually use object of type function. If you look at Z41 i_combinator, it is not of type Z8 function, but of type Z40 lambda. And yet you can call i_combinator(i_combinator) and it will evaluate (to i_combinator, because the i_combinator is just identity as per https://en.wikipedia.org/wiki/SKI_combinator_calculus , defined as λx.x)

And Z40 lambda is, if I remember it correctly, implemented entirely within user-space of abstracttext, and has nothing hardcoded in eneyj itself - so there is no real difference between functions and other types. They can be user defined, and thus it is simpler to have them all in the same namespace.

One other option would have been to have every type in its own namespace, but since some day we might have coercion, subtypes, or on-the-fly created types, this will likely be unfeasible at some point. So I have them now all in a single namespace.

This is not set in stone.

Thank you for the question! Feel free to continue the conversation here, or to close it if this answers the question. (And start new issues whenever you like)

from abstracttext.

lubianat avatar lubianat commented on April 24, 2024

Thank you!

It answers the question.

Maybe, then, it would be interesting to rephrase this bit of the docs:

"Types of Z-Objects
The type field of Z385 in the first screenshot above linked to "positive integer". Positive integer is not a primitive type in AbstractText, but is defined in AbstractText itself, in fact as the Z-Object with the ZID Z70."

When it says that "Positive integer is not a primitive type" it seems like there is such a thing as primitive types (at least for me that was the case).

Maybe just adding "there is no such thing as a primitive type." and a link to this response, if someone wants to know more about it, would already be of help.

from abstracttext.

vrandezo avatar vrandezo commented on April 24, 2024

Good point! I explicated that there are no such things as primitive types. Thank you!

c49f909

from abstracttext.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.