new LLambda release soon

121 views
Skip to first unread message

Mark Tarver

unread,
Jun 5, 2017, 5:51:41 AM6/5/17
to Shen
I've been working on types in LLambda; quite complex because there is an object/metalanguage distinction in LLambda and expressions and types are mentioned and not used.  e.g. we mention (+ 1 3) by writing [+ 1 3]. Coping with this is quite complex from a development point of view (e.g.in the type checker which works by use, though not mention) but not difficult from an end-user standpoint.  Happily I now seem to be coming out of this thicket.

There are some interesting philosophical questions about the status of types and the objects which inhabit them and reflection in these issues has changed my views and deepened them.  The square bracket notation of Shen wrt expressions functions a little like quasi-quotation.

Mark

Racket Noob

unread,
Jun 5, 2017, 3:19:17 PM6/5/17
to Shen

Here's the good old article about quasiquotation in lisp: http://repository.readscheme.org/ftp/papers/pepm99/bawden.pdf from one of well-known practical lisp macrologist, Alan Bawden.

When you start to write a bit more complex macro-defining macros,  you quickly get faced with a strange expressions like ,',X or ,@,X
And that's just the beginning of whole new word of quines like this that evaluate to itself:

(let ((let '`(let ((let ',let))
               ,let)))
  `(let ((let ',let))
     ,let))

Is there someone who actually understand why the above expression evaluates to itself? And how can a man comprehend (let alone invent) expressions like this?

RN

Mark Tarver

unread,
Jun 7, 2017, 5:47:00 AM6/7/17
to qil...@googlegroups.com
Yes; doing this sort of work can make your head spin.  You constantly have to be aware of what level of language you are working at and yet have to be able to move between the two.   Quite a task over the last week but the LLambda stuff now type checks.  With graphics and Omega is 1500 lines. Need to give it a proper shake down.

Mark

--
You received this message because you are subscribed to the Google Groups "Shen" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qilang+unsubscribe@googlegroups.com.
To post to this group, send email to qil...@googlegroups.com.
Visit this group at https://groups.google.com/group/qilang.
For more options, visit https://groups.google.com/d/optout.

Raoul Duke

unread,
Jun 7, 2017, 12:09:02 PM6/7/17
to qil...@googlegroups.com
Almost as if somebody should invent types to distinguish the levels...

Mark Tarver

unread,
Jun 9, 2017, 11:04:28 AM6/9/17
to Shen
You do actually; but happily it is only me (the developer) who needs to keep track of this.  Actually using the system is no harder than provedit! from LPC.  The propositional subset is identical.  But implementation was much tougher because of the need to keep the levels separate.   Happily I'm done there.  

Mark

fuzzy wozzy

unread,
Jun 10, 2017, 12:39:45 AM6/10/17
to Shen

types are important, so are vectors, as well objects and procedural languages,
call me simple minded, but all those hard things are being taken care of by the pros
while I happily fiddle with lists and recursions and stay in awe of its awesomeness of it all!


Reply all
Reply to author
Forward
0 new messages