On 5/27/2011 4:29 PM, Jecel Assumpcao Jr. wrote:

snip...

coming out of lurk mode for the moment (well, also no-one has really been talking to me recently either...)


["Wireworld Computer"]
It is very cute. The circuit style of the Wireworld might actually be
the way of the future if quantum dots catch on.

http://en.wikipedia.org/wiki/Quantum_dot_cellular_automaton
http://nd.edu/~qcahome/

interesting... actually, the above also sort of vaguely reminds me of the "redstone" system in Minecraft (where one is basically putting one of several types of "voxels" in various configurations in order to create logic gates and similar). however, yes, there are differences...


I was also recently thinking about, if one had a sufficiently powerful computer (say, distant-future technology), if it would be possible to approximately emulate workable physics with the computer using less physical space, energy, time, ... than is present within the simulated environment (say, a computer that fits in a single building and simulates a town or city, say down to the level of atomic and chemical interactions...).

in a brute-force sense, the answer would probably be "no", but a computer-based simulation may be able to make enough "simplifying assumptions" in order to be able to run a larger environment than itself. although, I suspect a concept similar to the Shannon Limit would likely still apply, and hence the simulation could not likely be implemented recursively (a computer simulating 4 of itself, each in turn simulating 4 more, ...).

but, what could be possible would be, say, recognizing common classes of molecules, and then probably using pre-programed logic, rather than simulating atomic interactions, or detecting and simulating general material properties (using FEM/...) rather than directly simulating the individual molecules (such that it doesn't waste all its time with things like simulating the movement of all of the H2O molecules in a glass of water, or simulating the individual electrons flowing along in a piece of wire, ...).


(never-mind me possibly hijacking the thread with the below...)

I also thought the video earlier (in the other conversation) about Erlang was interesting.

granted, although probably no one cares, for a custom scripting language of mine (which uses a syntax which is currently a mix of ActionScript and Java style syntax), for which I am using a slightly unusual object system and scoping model: well, the present form of the object system combines a Class/Instance system with a Prototype system, where basically instances can be cloned, and classes with a "dynamic" modifier can have fields added (ok, ActionScript also does similar).

however, variables can also be marked as "delegate" which basically allows variable/method accesses to transparently go through the variable (IIRC, the original idea came from Self, but there is always of a chance that my memory has degraded some...). likewise, delegation chains may be cyclic.

note that, unlike in some languages, one is not (entirely) confined to using statically visible declarations (although the VM may optimize for many cases where it can statically determine visibility, as well as the whole "big hash table of fields and methods" trick).

similarly, the type-system mixes static and dynamic types, so which is used and when is mostly a matter of personal preference (a present standing goal though is to make it more type-safe though...)

in the past, some ideas from Erlang had also been interesting (mostly async message passing and "processes"), although I have not done nearly as much with these ideas as I would have liked (sadly, some of the more interesting ideas around are difficult to mesh cleanly with a world largely implemented in C...).

I do make some use of message-passing based on the usage of queues of S-Expressions (Lisp-style Lists). message-queues / "mailboxes" are sort-of good enough. this concept could be easily enough extended over a network by passing the lists over a socket (maybe in a binary serialized format). most of my current usage is within a single process though (I don't presently do much involving networks).

in the past, I also had asynchronous methods, which generally used lightweight threading to implement the method calls, but these are not presently available.

well, and other random features my stuff once had, but later fell into oblivion:
a largely network-transparent memory model (based on handles and copying);
ability to push live threads over a socket (any code/objects/... being pulled over piecewise);
...

but, sadly, the ability to implement a feature does not carry with it having much personal use for it (and the whole problem of complex features being prone to quickly bit-rot away...).

yes, all sort of boring and pointless, I know...


I guess the video did mention something I found fairly notable (something I have held for a long time):
often, implementing a language or VM itself is not really the main problem;
rather, it is all of the stuff "around" the language...

a "perfect" language really wouldn't buy much if it can't really interface with or do much of anything... most of us probably don't really have the time or resources to rebuild the world in ones' own image, or at least, this is my outlook.

I much more often try to leverage things where possible, but still end up getting in fights with people over what things I have and have not reused (for example, me choosing to implement my own native VM, rather than building on LLVM / JVM / .NET / ... but to me, these do seem a bit much like bringing in a 10kLB gorilla for doing what is, effectively, high-level scripting for a C-based app, regardless of the not exactly small number of kLOC in my VM project, which to be fair, about 80% of this is more various support machinery than is the VM itself...).

nor is it probably that huge of an issue exactly how long it takes to evaluate "fib(35)" or "fib(40)" with the usual recursive Fibonacci function, provided it is "fast enough" for what it needs to do.

but, it is also like me standing for my right to implement much of my stuff in C, rather than buying into doing everything "the C++ way"... I really don't get it sometimes...


or such...


_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to