-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What is apint of arbitrary individual ob? #6
Comments
Issue ClosedThere is some useful experimentation covered here, and the question has been answered. The resolution statement identifies where there might be more related explanations. Please enable issues on your rnd0101/miser fork and we can talk about these things better there. In obaptheory, there are no missing apints. A computational realization must satisfy that. I have some observations about your current Python mockup. This is mostly thinking out loud and speculative on my part. I have not run your Python script.
Of course, you can have discrimination predicates as individual methods on an Ob if you want that much encapsulation. In that case, the methods must work as defined in obtheory. E.g., it is sufficient to have def is_individual(self):
return self.a == self (The use of
I don't follow Python that closely and have not used it much, so I don't have anything else to say at a high level here. Oh. I would not call the python runtime for oMiser operation a REPL, although a REPL would use this for the Eval part. |
Yes, that is correct. There are only lindies and the identified primitives. |
Thank you for input! For the Python runtime my goal is to have, well, oMiser runtime in the programming language I know best, so I can do experiments and understand what is it all about better. I want to rewrite the whole module using OOP. This will make a change to I am still haunted by ob/obaptheory predicates and classes. And SML code seems to agree with that: code in the Also, in Python code I had a desire to bring the syntax as near as possible. So the code is not pythonic, as I tried to follow
I've enabled issues, good hint! |
I've reworked miser.py, thanks for your simplification to lindy logic. However, I would like to add tests and "cookbook" when I have more time. In cookbook, I intend to present combinators (S, K, I, ...) and also see how basic combinator operation ("concatenating" combinators) is reflected in oMiser notation. Like, is it as well "concatenation" or more complex operation. |
It is by applicative interpretation, so more complex. I had been thinking of this important next step (separate from getting some oFrugal in place) so I have gone ahead and started Question #7 on this. I like the "cookbook" idea. I was thinking of narrative that describe the combinator representations, but also a narrative that describes handy oMiser expressions that are usable as a kind of catalog of useful macros for easier construction of applicative-expression obs, working up to having scripts for lambda and rec. To have this be usable in making oMiser "programs," a running oFrugal, even as a mockup, is indispensable. |
Can't find any formal definition for the case when ob is missing apint in the theories, so for example my REPL implementation breaks on the following input:
ob.c(ob.c(Ob('x'), Lindy('ImLindy')), ob.e(Ob('NIL')))
That is
Ob('x')
does not have an interpretation.Is the program above incorrect, or should all extra obs come with apint? Or have I overlooked something in the theories? (there is that trace-related comment I have not understood in terms of interpreter pragmatics.)
(for now I've added
ValueError: Ob individual Ob('x') can't be interpreted.
to provide better error message)Thanks!
PS. In SML implementation, it seems there are no other individuals at all. Is this right?
The text was updated successfully, but these errors were encountered: