Andrew Gwozdziewycz on 30 Jan 2008 08:29:00 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Graham released Arc

  • From: "Andrew Gwozdziewycz" <apgwoz@gmail.com>
  • To: philly-lambda@googlegroups.com
  • Subject: Re: Graham released Arc
  • Date: Wed, 30 Jan 2008 11:28:49 -0500
  • Authentication-results: mx.google.com; spf=pass (google.com: domain of apgwoz@gmail.com designates 209.85.162.183 as permitted sender) smtp.mail=apgwoz@gmail.com; dkim=pass (test mode) header.i=@gmail.com
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=domainkey-signature:received:received:x-sender:x-apparently-to:received:received:received-spf:authentication-results:received:dkim-signature:domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:reply-to:sender:precedence:x-google-loop:mailing-list:list-id:list-post:list-help:list-unsubscribe; bh=JDv09wT1ymSwDdhPXYm2+hWjHYL7rGnC/OL7hNGkelk=; b=mFhU9roA/zGri7ZdQNvaAP1sl+9BZCiectTiImAzQAC1Wg+QVs7JJarHdif4UrcipjHoJh27AdJAJyskJcvcqPFIQSvfvK74RAWkYrgHRgBnFasTmVuiVEvEQ+xfyoKv13xsFIzAfPhF457ZP5p0gZTthGh5hOuivGSXclpoEZk=
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=IzPv1PpCSe1btMJD67t++1wT6dXA8a3hkzVoVVr5L9I=; b=sq1mgg0YSLKDMymfAqyyIrZIRQzboULaYiBe2TyH7wW6S+XFH5s++tymNPOv/1xko+wGbtke+M9or1Iqm3hzAtIAUb9aGJgtMUTmC2BaNPkvdFUKkclUuMVkmP1f8MtkPIQSbTRVN+q6xLX80WrmqTzJnpeCARkfiDwMZ9ifQpo=
  • Mailing-list: list philly-lambda@googlegroups.com; contact philly-lambda-owner@googlegroups.com
  • Reply-to: philly-lambda@googlegroups.com
  • Sender: philly-lambda@googlegroups.com

On Jan 30, 2008 10:07 AM, Ed Watkeys <edw@poseur.com> wrote:
>
> Here's my cheatsheet so far. Written from a Schemer's perspective.
> With R6RS, I'm looking for something else to fall in love with. PG
> seems to have taken a step back from terseness-uber-alles and has come
> up with something that's pretty nice.
>
> ; (DEF funcname (a ...) e ...)
> ; (FN (a ...) e ...)
> ; (IF c1 e1 c2 e2 ... e) -- replaces COND
> ; (WHEN c e1 e2 ...)
> ; (IS a b ...)
> ; (ISO a b ...)
> ; (LET x v e ...)
> ; (WITH (x a y b ...) e ...)
> ; (DO e ...)
> ; (= lval val)
> ; t, nil
> ; ("foo" 0) ==> #\0
> ; (LEN collection)
> ; (IN x a ...)
> ; (CASE val k1 v1 k2 v2 ... elsev)
> ; (FOR i lo hi e)
> ; (EACH x collection e)
> ; (WHILE c e e1 ...)
> ; (REPEAT n e)
> ; A C-like loop operator... In there somewhere...
> ; [ func _ arg ...] ==> (fn (x) (func x arg ...))
> ; foo:bar ==> (fn (a ...) (foo (bar a ...)))
> ; ~foo ==> (fn (a ...) (no (foo a ...)))
> ; KEEP filters, REM removes, ALL t if all t, SOME, POS first position
> ;   where t, TRUES list of all t values. All work on strings. If func
> arg
> ;   is a value, treated as func that tests for equality with the
> value.
> ; (table key) ==> value
> ; (LISTTAB '((k1 v1) (k2 v2) ...))
> ; MAPTABLE works by side effects, returns table.
> ; (ALREF alist key) ==> value
> ; (STRING v ...) ==> (for-each pr (list v ...))
> ; (TOSTRING v ...) ==> "..."
> ; (TYPE v) ==> type-of-v
> ; (ISA a type)
> ; (COERCE v type) ==> new-v (types: 'int <radix>, 'cons, ?)
> ; PUSH and POP treat list as stack, work w/ any lvalue.
> ; ++ and --
> ; (ZAP func x) ==> (= x (func x))
> ; (SORT cmp collection) -- COMPARE is standard comparator
> ; (INSORT cmp newval collection)
> ; (def func (a (o b)) ...) -- b is optional, nil if not given
> ; (def func (a (o b e) ...) -- b is optional, = to e if not given
> ; Rest params as in Scheme, APPLY as in Scheme.
> ; (MAC macname (a ...) e ...)
> ; Backquoting as in Scheme.
> ; (UNIQ) ==> unique identifier
> ; (W/UNIQ V e ...) -- V can be a symbol or a list of syms
> ;
> ; QUESTIONS: DEFTEM TEMLOAD SAVE-TABLE ERRSAFE TAG ENSURE-DIR

I wasn't impressed with the terseness of the example code. Maybe it's
my lack of familiarity with it, but the examples were worse to read
than Perl.

-- 
Andrew Gwozdziewycz
apgwoz@gmail.com
http://www.apgwoz.com  | http://www.photub.com