On 2/26/2012 11:43 PM, Julian Leviston wrote:
Hi,

Comments line...

On 27/02/2012, at 5:33 PM, BGB wrote:


I don't think it was a prank. It's not really hidden at all. If you pay attention, all the components of Frank are there... like I said. It's obviously missing certain things like Nothing, and other optimisations, but for the most part, all the tech is present.

sorry for asking, but is their any sort of "dense people friendly" version, like maybe a description on the Wiki or something?...

like, so people can get a better idea of "what things are about and how they all work and fit together"?... (like, in the top-down description kind of way?).


I don't think this is for people who aren't prepared to roll up their sleeves and try things out. For a start, learn SmallTalk. It's not hard. Go check out squeak. There are lots of resources to learn SmallTalk.


could be.

I messed with Squeak some before, but at the time got confused/discouraged and gave up after a little while.




My major stumbling block at the moment is understanding OMeta fully. This is possibly the most amazing piece of work I've seen in a long, long time, and there's no easy explanation of it, and no really simple explanation of the syntax, either. There are the papers, and source code and the sandboxes, but I'm still trying to understand how to use it. It's kind of huge. I think perhaps I need to get a grounding in PEGs before I start on OMeta because there seems to be a lot of assumed knowledge there. Mostly I'm having trouble with the absolute, complete basics.

Anyway I digress... have you had a look at this file?:

http://piumarta.com/software/maru/maru-2.1/test-pepsi.l

Just read the whole thing - I found it fairly interesting :) He's build pepsi on maru there... that's pretty fascinating, right? Built a micro smalltalk on top of the S-expression language... and then does a Fast Fourier Transform test using it...


my case: looked some, but not entirely sure how it works though.


You could do what I've done, and read the papers and then re-read them and re-read them and re-read them... and research all references you find (the whole site is totally full of references to the entire of programming history). I personally think knowing LISP and SmallTalk, some assembler, C, Self, Javascript and other things is going to be incredibly helpful. Also, math is the most helpful! :)


ASM and C are fairly well known to me (I currently have a little over 1 Mloc of C code to my name, so I can probably fairly safely say "I know C"...).


I used Scheme before, but eventually gave up on it, mostly due to:
problems with the Scheme community (seemed to be very fragmented and filled with elitism); I generally never really could "get over" the look of S-Expression syntax (and also the issue that no one was happy unless the code had Emacs formatting, but I could never really get over Emacs either); I much preferred C style control flow (which makes arbitrary continues/breaks easier), whereas changing flow through a loop in Scheme often meant seriously reorganizing it;
...

Scheme remains as a notable technical influence though (and exposure to Scheme probably had a fairly notable impact on much of my subsequent coding practices).


JavaScript I know acceptably, given my own scripting language is partly based on it. however, I have fairly little experience using it in its original context: for fiddling around with web-page layouts (and never really got into the whole "AJAX" thing).

I messed around with Self once before, but couldn't get much "interesting" from it, but I found the language spec and some papers on the VM fairly interesting, so I scavenged a bunch of ideas from there.

the main things I remember:
graph of objects, each object being a "bag of slots", with the ability to delegate to any number of other objects, and the ability to handle cyclic delegation loops;
using a big hash-table for lookups and similar;
...

many of those ideas were incorporated into my own language/VM (with tweaks and extensions: such as my VM has lexical scoping, and I later added delegation support to the lexical environment as well, ...). (I chose free-form / arbitrary delegation rather than the single-delegation of JavaScript, due to personally finding it more useful and interesting).

I had noted, however, that my model differs in a few significant ways from the description of Lieberman Prototypes on the site (my "clone" operation directly copies objects, rather than creating a new empty object with copy-on-write style semantics).


the current beast looks like a mix of like a C/JS/AS mix on the surface, but internally may have a bit more in common than Scheme and Self than it does with other C-like languages (much past the syntax, and similarities start to fall away).

but, yet, I can't really understand SmallTalk code...


granted, math is a big weak area of mine:
apparently, my effective upper limit seems to be roughly at the level of linear algebra and similar; however, beyond the trivial cases, I am I suspect unable to understand things like "set theory" and similar, and my thinking generally falls apart when dealing with things like integrals.

I can understand both boolean logic and aggregates, but then there is set theory, which starts having aspects of both and everything falls apart at this point.

however, apparently set-theory is the basis for SQL, and I can understand SQL well enough, so I don't know (to me though, SQL looks like applying boolean operations to members of an table though, so is easy enough to imagine if one just imagines that the query is a collection of several nested loops...). (although some elements of SQL's syntax design are confusing, the syntax seems partly built on magic...).

I can also sort of deal with visualizing 4D spaces, but have a harder time, and have ran into problems due to my mental projections having a hard time visualizing 4D spaces without introducing distortion. at one point, I ended up embarrassing myself by thinking a plane in a 4D space was curved, because my imagination had projected it with an obvious curve, and was then emberrassed by someone pointing out a little detail: there were no exponents anywhere, so the plane could not be curved... (but, responding "but it looked curved in my head" is a fairly weak response...).

but, I personally suspect that math is evil in some ways, as it is difficult to deal with it without running into stupid errors and making a fool of oneself...


ironically, I can fairly easily understand RPN but not really SSA, and can understand Recursive Descent easily enough, but have a harder time LALR and similar (and personally have often just assumed use RD for pretty much everything...).

typically, in these cases, one option seems fairly simple/obvious (such as RPN or Recursive Descent), whereas the other seems bewildering (such as SSA or LALR).


or such...

_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to