Verifying my understanding of psychotic bastard:
set x: fn (b) : cons : 't (cons 'b ())
is a valid way to say
(set x (fn (b) (cons (' t) (cons (' b) ()))))
Correct?
Verifying my understanding of psychotic bastard:
set x: fn (b) : cons : 't (cons 'b ())
is a valid way to say
(set x (fn (b) (cons (' t) (cons (' b) ()))))
Correct?
Currently true code samples? | |
----- | |
set x: fn (b): cons 't (cons 'b ()) ===> (set x (fn (b) (cons (' t) (cons (' b) ())))) | |
set x: fn (b): cons 't: cons 'b () ===> (set x (fn (b) (cons (' t) (cons (' b) ())))) | |
----- | |
set def: | |
'('name ... 'code | |
leak: really name | |
set (really name) code) | |
and | |
set def: | |
'(('name ... 'code): | |
leak: really name | |
set (really name) code) | |
(set def | |
(' (((' name) ... (' code)) | |
(leak (really name)) | |
(set (really name) code)))) | |
[MAYBE this, too: | |
set def: | |
'('name ... 'code | |
leak: really name | |
set (really name) code)] | |
----- |
Every possible method for doing if/else
is completely and utterly wrong and I despise each of them, individually, for the hateful snowflakes they truly are.
I had a code sketch for if
/else
that was a pretty naive 4 lines long. I put in a working but hideous version tonight via def-keyword
. It weighed in at around 50 lines, two of which were
; OMG HACKS
and
; END OMG
I'm taking this as a sign that I haven't got def-keyword
right yet.
Easy answers first:
I came around on the arg-list-parens for a single argument; I still think you're crazy for wanting
\x y z: x + y + z
.Re
(e: f)
: Yes, there are places where the colon is unnecessary. I've found it useful in test cases to have those --- sometimes for readability and sometimes to try and fool the parser.Re: aside: I dunno --- I was born at the right time, and always had flashy whatsits (though I hear they have pills for that now). To your credit, I had to write some s-expressions to explain something on G+, and it just about made me throw the keyboard ('cept it was a laptop). Psychotic Bastard is bizarre (and seems more so the more I try and explain it to myself) but it's pleasant to write.
(Oh god, I just realized I've been ignoring infix precedence. Poop. I thought I had this worked out right finally.)
You're going to give
:
a precedence between operators??? It's not an operator! It's a delimiter! I... ugh... arrgh. We gon' have words, friend.