[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Functions as first-class objects
- From: Alejandro Reimondo <aleReimondo@...>
- Date: Sun, 2 Sep 2018 12:55:00 -0300
hi szbnwer@gmail.com,
>1st of all, why do you need this?
Because I work with open systems, and any point
of a system that can't be changed (while runnning)
limits the possibilities of the people using the system.
>for your pleasure, experimenting,
For working on my object environment.
for a specific task/problem domain, you just wanna
hack a tool for your ideas on cool basics
like lua or what else?
True practical needs. :-)
this sounds like smalltalk,
Yes, smalltalk and self are open object systems.
Smalltalk was much more used for production than self,
but both have what is needed to work building
open systems today.
In the last ~7years I have used S8 Smalltalk
to build open systems that run on top of
javascript (VMs). Now I am working on the same
support to run on top of Lua (VMs).
however thats a very different beast.
Not too much different... it depends on what a person
has already done in smalltalk, and how much it
converges to uses of Lua for open systems
development.
Smalltalk as an open system is a machinery to evolve
a system trough the opportunities of use in different
domains. It is NOT what has been defined in the 80's
not what has been defined in the 90's (the ANSI
standard)... and each smalltalk instance can be
changed anyway to be diferent from other smalltalk
instance.
As a system that anything can change, what "it is"
is not relevant (It is not the contents, nor the
syntax, nor the semantcs of the system in a point
in time [snapshot]).
i think this is the best
indicator for knowing that you are actually hacking
:D if you really want to make a different beast
from lua, then your best way to go is
to manipulate its source, but then you will
find yourself far from the "civilization" aka
the libs written to lua, right on your very small
island...
Popularity is not what I want for myself nor my tools.
And there is a lot of evidence that civilization
is not good when you are on the borders. :-)
Changing a system while running let me focus
on informatics (not in computing), and my goals
are looking for advances in Object Technology
in an age where most people are still insisting in
defining "new" languages, helping computers to do much
more faster their work, instead of talking about
informatics, people, minds and evolving systems.
i can deeply understand the desire for such
flexibility as smalltalk and lisp have cuz
the very homogeneous funds, and then you kinda wont
ever find yourself in a dead-end.
I has been more than 30 years working this way,
and have not yet found an end ;-)
Each change, each innovation produced changes in my mind,
and let me find ways to continue working on
the "same system" during decades.
Open systems (like smalltalk environments) can change
in ways that depend on minds working of the "computing" system
it happen all the time and there is no end of the story
(there are histories, not only one History).
The change of any part of the system do not define a different
system; the same way we change all our cells during our
lifetime; been the same person.
The relevance of smalltalk is the fact that images are
individuals that are still running changing the contents,
and sometimes on the borders; during the last +30years.
As an open system it produces experience in minds,
not computer programs (no need of a Program/Application
abstraction).
however lua have really huge
flexibility as ive only used metatables once (for weak
keys or values in a register table, dunno) from (i
think) 2015. 1. 1. when i started
to use lua, cuz ive never really needed them.
nor coroutines. however i believe 1 day i will
need them for whatever purpose, but now i know
im far from the edges of the flexibility that
lua actually have. til
It is ok for me that people use Lua, smalltallk, java, basic, etc...
or anything the best way for their needs.
I do not try to convince other to use or not use any tool.
The tool is dependent of the person and the vision
driven by own experiences.
The tools that are used for getting experience on the borders
are good for diving into strange and unsecure worlds.
so i believe youve got an "xy problem" and its easily
resolvable but u need to refactor your mental constructions
for the aims you have.
eh! it is too late for me.
I am not as young to feel living in my future.
I have already made things that other tought I must not try :-)
When you work moving your hands (instead of only thinking),
the world change to become your world and it is not driven
by what happens in your mind.
btw this is my personal opinion, so i could really stop
writing after the basic question about your actual
aim, just wanted to give some ideas to think outside
the box in the hope that it could help anything
:)
;-)
so think about metatables as they are _generally_ only
for hiding functionality, and then you can realize that
you dont really need them, just they are convenient as
they are hiding some stuffs. i think
something that can take the message and the target (+what
more; and that can have any well organized background
info) could resolve ur actual problem without hiding
some details, but with great power! :)
Yes, I know, for me metatables are another way for hinding
details.
Nothing new.
hope you will understand my words, that are not more
than defining another point of view, in a diverse
world of opportunities for all of us to realize
our wishes.
have fun!
Ale
p.d. in case of interest on what I have been doing during
last years on open systems a good reference for startup
is at http://u8.smalltalking.net
El 02/09/2018 a las 0:36, escribió:
hi Alejandro Reimondo and others! :)
1st of all, why do you need this? for your pleasure, experimenting,
for a specific task/problem domain, you just wanna hack a tool for
your ideas on cool basics like lua or what else?
this sounds like smalltalk, however thats a very different beast. even
if you can achieve anything like you would actually like to see, then
this way you will find yourself hitting dead-ends all around when you
will try to move forward on hackish funds. i think this is the best
indicator for knowing that you are actually hacking :D if you really
want to make a different beast from lua, then your best way to go is
to manipulate its source, but then you will find yourself far from the
"civilization" aka the libs written to lua, right on your very small
island...
i can deeply understand the desire for such flexibility as smalltalk
and lisp have cuz the very homogeneous funds, and then you kinda wont
ever find yourself in a dead-end. however lua have really huge
flexibility as ive only used metatables once (for weak keys or values
in a register table, dunno) from (i think) 2015. 1. 1. when i started
to use lua, cuz ive never really needed them. nor coroutines. however
i believe 1 day i will need them for whatever purpose, but now i know
im far from the edges of the flexibility that lua actually have. til
that time arrives, ive got less overhead for no reason. ive got more
plans for a single app than what a single person could make in a
lifetime, and i can see nothing at all that is not achievable with the
very-very powerful toolset of lua, and i really like to hack around :)
so i believe youve got an "xy problem" and its easily resolvable but u
need to refactor your mental constructions for the aims you have. you
can have closures for hiding values, u can have fallbacks for
inheritance, constructors for instances, supervisors for extending
basic functionality, factories for whatever (i love them), wrappers,
iterators, message queues, event loops ..... and anything you can wish
for, but u probably must think a bit different 1st. you can insert
operators between operands if you think like 1+1 can be written as
op('+', 1, 1). you can reconstruct loops, blocks, functions and any
control structures with tables and functions, and you can include any
kinda flexibility and customization on the way doing so. however i
believe these are the best if they are not overused but used only when
the actual need says so, but oop principles are dictating for people
to useHI all of its goodies even when they are totally not needed for
nothing and they are making a huge mess (to follow up whats happening,
but it looks like a shiny well ordered library) with much overhead ...
so much unnecessary extra complexity is involved kinda much always....
btw this is my personal opinion, so i could really stop writing after
the basic question about your actual aim, just wanted to give some
ideas to think outside the box in the hope that it could help anything
:)
so think about metatables as they are _generally_ only for hiding
functionality, and then you can realize that you dont really need
them, just they are convenient as they are hiding some stuffs. i think
something that can take the message and the target (+what more; and
that can have any well organized background info) could resolve ur
actual problem without hiding some details, but with great power! :)
bests! :)