mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-03-13 22:46:06 +09:00
basic: changing curry operator to (~<), i thought plunger (or grabber) is semantically less awkward than the arrow
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
10 DEFUN SINC(P)=SIN(P)/P
|
||||
20 DEFUN OTHERFUN(A,B)=A+"|"+B
|
||||
30 DEFUN PLOTLINE(F,X)=MAP(OTHERFUN<~F(X),1 TO 5):REM needs auto-currying
|
||||
31 DEFUN PLOTLINE2(F,X)=MAP(OTHERFUN<~F<~X,1 TO 5):REM WORKS!
|
||||
30 DEFUN PLOTLINE(F,X)=MAP(OTHERFUN~<F(X),1 TO 5):REM needs auto-currying
|
||||
31 DEFUN PLOTLINE2(F,X)=MAP(OTHERFUN~<F~<X,1 TO 5):REM WORKS!
|
||||
100 PRINT PLOTLINE(SINC,333)
|
||||
101 PRINT PLOTLINE2(SINC,333)
|
||||
101 PRINT PLOTLINE2(SINC,333)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
1 KS=4!1!2!5!3!NIL
|
||||
10 DEFUN LESSER(P,X)=X<P
|
||||
11 KLS=LESSER<~HEAD KS
|
||||
11 KLS=LESSER~<HEAD KS
|
||||
20 FOR K=1 TO 5
|
||||
21 PRINT KLS(K)
|
||||
22 NEXT
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
10 DEFUN F(K,T)=ABS(T)==K
|
||||
20 CF=F<~32
|
||||
20 CF=F~<32
|
||||
30 PRINT CF(24) : REM will print 'false'
|
||||
40 PRINT CF(-32) : REM will print 'true'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
1 XS=4!1!2!3!5!NIL
|
||||
10 DEFUN K(P,X)=X<P
|
||||
20 NXS=FILTER(K<~HEAD XS,XS)
|
||||
20 NXS=FILTER(K~<HEAD XS,XS)
|
||||
30 PRINT NXS
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
2 REM qsort xs = qsort [x | x<-tail xs, x<head xs] ++ [head xs] ++ qsort [x | x<-tail xs, x>=head xs]
|
||||
10 DEFUN LESS(P,X)=X<P
|
||||
11 DEFUN GTEQ(P,X)=X>=P
|
||||
12 DEFUN QSORT(XS)=IF LEN(XS)<1 THEN NIL ELSE QSORT(FILTER(LESS<~HEAD(XS),TAIL(XS))) # HEAD(XS)!NIL # QSORT(FILTER(GTEQ<~HEAD(XS),TAIL(XS)))
|
||||
12 DEFUN QSORT(XS)=IF LEN(XS)<1 THEN NIL ELSE QSORT(FILTER(LESS~<HEAD(XS),TAIL(XS))) # HEAD(XS)!NIL # QSORT(FILTER(GTEQ~<HEAD(XS),TAIL(XS)))
|
||||
100 L=7!9!4!5!2!3!1!8!6!NIL
|
||||
110 PRINT L
|
||||
120 PRINT QSORT(L)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
10 DEFUN SINC(X)=IF X==0 THEN 1 ELSE SIN(X)/X
|
||||
20 DEFUN THREEDIGITS(X)=ROUND(X*1000)/1000
|
||||
100 K=MAP(THREEDIGITS<~SINC,1 TO 10)
|
||||
100 K=MAP(THREEDIGITS~<SINC,1 TO 10)
|
||||
110 PRINT K
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
10 DEFUN SINC(P)=IF P==0 THEN 1.0 ELSE SIN(P)/P
|
||||
20 DEFUN TOCHAR(P,X)=IF (X==ROUND(ZEROLINE+P*AMP)) THEN "@" ELSE IF (X==ZEROLINE) THEN "|" ELSE CHR(250)
|
||||
30 DEFUN SCONCAT(ACC,S)=ACC+S
|
||||
40 DEFUN PLOTLINE(F,X)=FOLD(SCONCAT,"",MAP(TOCHAR<~F<~X,1 TO ZEROLINE+AMP))
|
||||
40 DEFUN PLOTLINE(F,X)=FOLD(SCONCAT,"",MAP(TOCHAR~<F~<X,1 TO ZEROLINE+AMP))
|
||||
100 FOR I=-40 TO 40
|
||||
110 PRINT PLOTLINE(SINC,I)
|
||||
120 NEXT
|
||||
120 NEXT
|
||||
|
||||
Reference in New Issue
Block a user