On 8/17/2011 2:15 PM, Tomasz Rola wrote:
May I join in :-) ?

This is my first post here, so hello everybody. In one sentence, I like
computing (that's introduction).

On Wed, 17 Aug 2011, BGB wrote:

I once had a good experience using Scheme, which has influenced most of my
later efforts (despite me generally switching to a more traditional
C-family-like syntax, invoking many accusations of "blub" and similar).
I have had a good experiences with Racket, a Scheme superset on steroids,
few years ago (when its name was DrScheme). I have pushed it too hard, so
it burped a core at me from time to time. Because of this I switched to
Common Lisp, but I still like it - it has IDE, JIT and is crossplatform
(Win/Lin/Mac). It has a good number of third party addons, too.

http://en.wikipedia.org/wiki/Racket_(programming_language)

yep.
back when I was messing with Scheme, IIRC it was mostly known as PLT Scheme.

initially (maybe 1999 to 2000 or so) I was using Guile, but wrote my own Scheme implementation after running into issues with Guile.

both Guile and PLT Scheme were sources of feature ideas at the time, as well as me mostly adopting a Self-inspired object system.


technically, objects were applied much like functions, so a typical method-call operation was more like:
(self doSomething: 3 4)

where "doSomething:" and ":doSomething" were more-or-less analogous (IIRC I had 2 keyword types with slightly different semantics in some cases).

getting a slot was generally something like:
(self 'x)

and setting was like:
(self 'x 3)


but, I let this particular implementation meet its demise in roughly 2003 or so, mostly as the language/implementation was not scaling well.

sadly, I have not managed to recreate all of its nifty features in my newer language.

sadly, I have not much actively used Lisp or Scheme that much for a while (except for a few cases of resorting to Guile as "a more powerful alternative to Windows Calculator...", although, this has been partly subsumed by BGBScript+REPL as well, so alas...).



also, the newer languages' AST-level syntax is not nearly so concise:

(methodcall this doSomething 3 4)
(getslot this x)
(setslot this x 3)

the partial the reason for this was to move away from direct-call expressions, mostly so that the compiler can complain when it encounters an unknown expression type.

and, as well, the AST's are hidden under the main syntax and regarded as an implementation detail.

var x:int=3;
becomes:
(vars ((set! (cast int x) 3)))


I also found Self an interesting language to look at.


Lisp-style syntax does have some merits, but also some drawbacks. sadly, for
general purpose programming, I think its drawbacks outweigh its merits. list
operations and "code as data" are cool, but are not enough to justify making
the whole syntax be this way.
I would say, no syntax and no language does 100% of the job.

I consider myself somewhat switched to Lisp, but I don't forget about C,
Python and Scheme (and, maybe, Haskell, when I learn it).

Maybe there should not be the one and only, perfect language. Especially
that no language that I looked at could fit.

yeah.

a large amount of my coding is still in plain C.

despite existing, my own language has not made major inroads into the domains in which I use C, I suspect mostly because in the past, the languages didn't interface well, and because even after so many years I am still left battling with some fundamental language issues in many cases.

in some ways, C is hard to beat at its own game.

it is sad though, as I would want to be able to claim that I can do lots of cool stuff in my own language, to "prove" that it can actually be used for something useful, but alas...

like, 95% of a language can be made quickly and easily, but the last 5% is where 95% of the pain resides.


likewise for having a text-editor where they can enter arbitrary-sized
expressions and then send them to the REPL, ...

no ideal solutions here that I am aware of.
I'm not sure if you ever tried emacs with slime? Maybe it is not perfect
but it works for me. Slime is for befriending Common Lisp's REPL and
taming it into emacs (I have read it can do the same with Clojure, but
never had enough time to check).

Or maybe I just didn't ram the wall yet. I should try harder.

given what I am mostly doing is 3D engine development and building on my own technology, emacs likely wont be a good fit.


so, most code entry is:
interactively via an in-program console (sadly, single-line and limited to 100 characters, but this is typically sufficient); via a temporary file and "Notepad2" (sort of lame, but one can use this to fake a much bigger REPL, using a console command to "load()" the temp file each time);
or, via plain old source files (more Notepad2...).

otherwise, possible could be to devise some sort of in-program bulk-REPL feature or something (may have to look at what Emacs Slime does exactly, and see if it's UI is something which could be adapted or similar).


Regards,
Tomasz Rola

--
** A C programmer asked whether computer had Buddha's nature.      **
** As the answer, master did "rm -rif" on the programmer's home    **
** directory. And then the C programmer became enlightened...      **
**                                                                 **
** Tomasz Rola          mailto:tomasz_r...@bigfoot.com             **

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



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

Reply via email to