(let ((&foo (lambda () 5))
($foo (lambda () 6)))
(foo) ; =E2=86=92 5
(&foo) ; =E2=86=92 5
($foo)) ; =E2=86=92 6)
(They also enable string interpolation which, though not a must-have, is
still pretty nice.)
Thoughts?
(let ((&foo (lambda ($x) (+ 2 (* 2 $x)))) ; look, ma; no labels!
($foo 5)) ; uniform binding for all sorts
(foo $foo)) ; → 12
(An unsigilled symbol in the head position of a list to be evaluated is
treated as though it had the & sigil; this is just syntactic sugar:
Please repost without MIME quoted printable encoding.
On Tue, 27 Apr 2021, Kaz Kylheku wrote:
Please repost without MIME quoted printable encoding.
Here:
Consider sigils (in a proposed lisp-1) as an alternative to namespaces (in a lisp-2).
They solve the traditional problem:
(let (($cons 5)) (cons $cons $cons)) ; -> (5 . 5)
They also obviate funcall:
(defun abs ($x)
((if (< $x 0) &- &+) $x))
As well as making things generally more consistent:
(let ((&foo (lambda ($x) (+ 2 (* 2 $x)))) ; look, ma; no labels!
($foo 5)) ; uniform binding for all sorts
(foo $foo)) ; -> 12
(An unsigilled symbol in the head position of a list to be evaluated is
treated as though it had the & sigil; this is just syntactic sugar:
They also obviate funcall:
(defun abs ($x)
((if (< $x 0) &- &+) $x))
(They also enable string interpolation which, though not a must-have, is
still pretty nice.)
Thoughts?
-E
On Tue, 27 Apr 2021, Kaz Kylheku wrote:
Please repost without MIME quoted printable encoding.
Here:
Consider sigils (in a proposed lisp-1) as an alternative to namespaces (in a lisp-2).
They solve the traditional problem:
(let (($cons 5)) (cons $cons $cons)) ; -> (5 . 5)
They also obviate funcall:
(defun abs ($x)
((if (< $x 0) &- &+) $x))
As well as making things generally more consistent:
(let ((&foo (lambda ($x) (+ 2 (* 2 $x)))) ; look, ma; no labels!
($foo 5)) ; uniform binding for all sorts
(foo $foo)) ; -> 12
(An unsigilled symbol in the head position of a list to be evaluated is
treated as though it had the & sigil; this is just syntactic sugar:
(let ((&foo (lambda () 5))
($foo (lambda () 6)))
(foo) ; -> 5
(&foo) ; -> 5
($foo)) ; -> 6)
(They also enable string interpolation which, though not a must-have, is
still pretty nice.)
Thoughts?
Do you want to convert Perl users to Lisp?
On Tue, 27 Apr 2021, Kaz Kylheku wrote:
Please repost without MIME quoted printable encoding.
Here:
Consider sigils (in a proposed lisp-1) as an alternative to namespaces
(in a lisp-2).
They solve the traditional problem:
(let (($cons 5)) (cons $cons $cons)) ; -> (5 . 5)
They also obviate funcall:
(defun abs ($x)
((if (< $x 0) &- &+) $x))
As well as making things generally more consistent:
(let ((&foo (lambda ($x) (+ 2 (* 2 $x)))) ; look, ma; no labels!
($foo 5)) ; uniform binding for all sorts
(foo $foo)) ; -> 12
(An unsigilled symbol in the head position of a list to be evaluated is
treated as though it had the & sigil; this is just syntactic sugar:
(let ((&foo (lambda () 5))
($foo (lambda () 6)))
(foo) ; -> 5
(&foo) ; -> 5
($foo)) ; -> 6)
(They also enable string interpolation which, though not a must-have, is
still pretty nice.)
Thoughts?
-E
This is what Sigils are in Elixir: https://elixir-lang.org/getting-started/sigils.html
Is this something similar? I think you have something else in mind, no?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 286 |
Nodes: | 16 (2 / 14) |
Uptime: | 85:33:32 |
Calls: | 6,495 |
Calls today: | 6 |
Files: | 12,099 |
Messages: | 5,276,973 |