Comments (2)
Can I define higher-order functions like map
?
from dolorem-c.
Do you know why I am not supposed to use expect-ident on the name?
Did you also wrap the name in make-ident-val
when you use it in the return value? expect-ident
returns a char*
so you can't directly use it in cons
. (dolorem-c doesn't have a type system and the C compiler is said to ignore pointer type mismatch, so this error currently likely wouldn't be caught at compile-time.)
As for the recursion, I first added a list
convenience function. Use it like this: (list … (make-nil-val))
.
This is a start that builds the rhs's of argument assignments with the right amount of cdr
s:
(defmacro not (progn
(:= o (lower (car args)))
(set-expression o (print-to-mem "!(%s)" (get-expression o)))
o))
(defmacro add (progn
(:= left (lower (car args)))
(:= right (lower (car (cdr args))))
(add-cexp left right)
(set-expression left (print-to-mem "(%s) + (%s)" (get-expression left) (get-expression right)))
left))
(defun add-recursively-built-args ((int depth)) void* (progn
(var res void*)
(cond depth
(assign res (cons (make-ident-val "cdr") (cons (add-recursively-built-args (add depth -1)) (make-nil-val)))))
(cond (not depth)
(assign res (make-ident-val "args")))
res))
from dolorem-c.
Related Issues (3)
- make on mac HOT 1
- first steps on mac HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dolorem-c.