Holy cudders! Symta has came to Lisp. With just a few macros we turn your SBCL into a full featured Symta-grade enterprise system! Forget FIOC and Haskell! Try SIOC - Symta Indentation of Code now!
SYMTA> (
! say "Shalom, Jews!"
! i = 0
! n = 5
! while < i n
! ! say "sqrt of {i} is {sqrt i}"
! ! format t "square of {i} is {* i i}"
! ! incf i
! say "Happy Holocaust!"
)
Shalom, Jews!
sqrt of 0 is 0.0
square of 0 is 0sqrt of 1 is 1.0
square of 1 is 1sqrt of 2 is 1.4142135
square of 2 is 4sqrt of 3 is 1.7320508
square of 3 is 9sqrt of 4 is 2.0
square of 4 is 16Happy Holocaust!
NIL
SYMTA> (def f n ! if plusp n
! ! * n (f (- n 1))
! ! 1)
F
SYMTA> (f 10)
3628800
SYMTA>
Teh macros!
(defun say (&rest xs)
(format t "~a~%"
(with-output-to-string (o)
(while xs
(format o "~a" (pop xs))
(when xs (format o " "))))))
Conspirologists blame JEWS. SWEJ blame nspirologists
Name:
Anonymous2013-04-19 15:30
Now with C/C++ like type declarations...
SYMTA> (
! int i = 1230000000000000000000000000000000000
! type-of i
)
; in: ! INT
; (LET ((SYMTA::I
; (SYMTA::!
; 1230000000000000000000000000000000000)))
; (DECLARE (FIXNUM SYMTA::I))
; (TYPE-OF SYMTA::I))
;
; caught WARNING:
; Constant
; 1230000000000000000000000000000000000 conflicts with its asserted type
; FIXNUM.
; See also:
; The SBCL Manual, Node "Handling of Types"
;
; compilation unit finished
; caught 1 WARNING condition
Name:
Anonymous2013-04-19 16:41
>>3 C/C++ Suddenly, somewhere a Lambda is awoken, he is jostled and tense. THE STANDARD IS IN DANGER (OF NOT BEING READ)!
Name:
Anonymous2013-04-19 16:46
Symta's design is fucktarded.
Why are exclamation marks needed in between every statement. And there are too many operators. Any language that doesn't allow ascii files for source code isn't worth using.
Name:
Anonymous2013-04-19 16:46
>>4
But C++11 has lambdas! YA AINT RED DA FUKKIN STANDARD!
Name:
Anonymous2013-04-19 16:57
>>5 Why are exclamation marks needed in between every statement.
- uniform look: no pointless agrument about coding style, where to put '{' or tab-vs-spaces
- '!' undelines the code structure
- '{' and '}' don't interfere with editing and don't consume sceen space
- no need for () in function calss and conditionals
- easies editing, indenting, highlight and navigation: now you can just mouse-click appropriate ! and move/delete/hide whole block.
- no need to think about closing { or putting ;
- gone errors like "if (x); {"
- independent of whitespace, so you can safely transefer code through IRC, email or webpost; while Python or Haskell get broken
Name:
Anonymous2013-04-19 17:06
Declaring trees became overly easy...
UnitTypes = tree
! human
! ! peasant = ..
! ! footman = ..
! orc
! ! peon = ...
! ! grunt = ...
fact N = | Fact: 1
| while N > 0
| | !Fact*N
| | !N-1
| Fact
map F Xs = case [] Xs | Ys [] = Ys
| Ys [X@Xs] = map [@Ys F{X}] Xs
cons CAR CDR | car = CAR
| cdr = CDR
Name:
Anonymous2013-04-19 18:35
>>7
Rereading your code, symta is as bad as fioc. You are forcing identing through exclamation marks. Same shit, different brand. I expect more from you nikita. Now start over writing symta from the beginning. And this time use a non-jewish language underneath
Name:
Anonymous2013-04-19 18:40
>>14
Python's deficiency is that indentation is hidden, but Symta makes it visible. Only problem is that "! ! ! !" look too obese, but syntax highlighter can easily reduce it's contrast, making ! nicely blend with background.
Name:
Anonymous2013-04-19 18:40
>>12
Very similar to Erlang. I don't get the second and third `@' in @qsort.
Name:
Anonymous2013-04-19 18:44
>>15 Python's deficiency is that indentation is hidden
That's not python's deficiency. Python's deficiency is that the indentation is forced. That's why we call it the forced indentation of code. Your language is no better. It actually looks worse. Don't tell me that I have to get a special syntax highlighter specifically for your shitty language to let your stupid exclamation marks blend into the background better.
Until further notice, Symta shall be referred to as FIOC 2.0
Now rewrite Symta without a jewish language underneath
Your language is no better.
Symta doesn't really forces it, because ! is just a macro. You can still use (()))))))))).
Don't tell me that I have to get a special syntax highlighter specifically for your shitty language to let your stupid exclamation marks blend into the background better.
If you can't even configure your text editor, then you are a bad programmer.
Name:
Anonymous2013-04-19 18:53
Syntactically significant whitespace is fine. Just because it eliminates problems like if(expr); code;, doesn't mean shit.
So that snippet of code has a bug, big deal. Programmers deal with bugs and get better at them.
! is just a macro. You can still use (()))))))))).
So I get my choice of Shit A or Shit B?
No thanks.
Name:
Anonymous2013-04-19 19:22
>>19 So I get my choice of Shit A or Shit B?
Yes: Shit A = Python; Shit B = JavaScript
Name:
Anonymous2013-04-19 19:42
>>16
[@A B @C] is the same as `(,@A ,B ,@C) in Common Lisp.
Name:
Anonymous2013-04-19 19:45
Can you at least make a more Symta-like fork that doesn't have the macro names that rely pig disgusting english words, like the old Symta? And just keep the jewish one for yourself.
Name:
Anonymous2013-04-19 20:01
>>22
No. I still consider removing even infix notation, because it complicates reader and breaks indentation:
// prefix
* A
(+ B C)
D
// infix
A *
(B + C)
* D
// "readable "prefix
mul A
(add B C)
D
// "readable "infix
A mul
(B add C)
mul D
Name:
Anonymous2013-04-21 10:41
Also plays nicely with HTML (http://cybertiggyr.com/lh/):
(
! html
! ! head title "I am titular"
! ! body
! ! ! h1 "Generating HTML with Lisp"
! ! ! p "This is a tutorial for new Lisp"
" programmers, but not total"
" beginners. ..."
;; We can use Lisp to generate things
;; dynamically, like a numbered list of
;; colors.
(apply #'ol
(mapcar #'(lambda (color)
(li color))
'(red green yellow blue))))
)
macroexpands into:
(HTML (HEAD TITLE "I am titular")
(BODY (H1 "Generating HTML with Lisp")
(P "This is a tutorial for new Lisp" " programmers, but not total"
" beginners. ..."
(APPLY #'OL
(MAPCAR #'(LAMBDA (COLOR) (LI COLOR)) '(RED GREEN YELLOW BLUE))))))