

bassgojoe
Members-
Posts
18 -
Joined
-
Last visited
Reputation
9 NeutralProfile Information
-
About me
Bottle Rocketeer
-
I threw the compiled AGC.dll file in git since it's small, to save you the trouble of monodevelop: https://github.com/joevenzon/kerbal-agc/tree/master/AGC/AGC/bin/Debug Let me know how your missions go!
-
Transcendental functions have been added: https://github.com/joevenzon/kerbal-agc/commit/33d464409d28d6d7e1c61049a3cededcbb5033fa and I updated the README.md with their names.
-
For the variable to exist in the parent scope you need to define it there and then set it inside your function: (begin (define AGC.Status 0) ((lambda () (set! AGC.Status (list 1 88)) )) )
-
Fixed in https://github.com/joevenzon/kerbal-agc/commit/8e4ef3e4c367c7585b8586f4c87b472bb0b645e3
-
The fact that (define (func) ...) doesn't work is probably a bug. But you can work around it: (define (f x y ...) exp) is actually just converted into (define f (lambda (x y ...) exp)) So if you want to define a function without any variables you should be able to use the lambda syntax directly: (define func (lambda () exp))
-
It looks like the 0.23 package is compatible with 0.24. I also put the source up on github: https://github.com/joevenzon/kerbal-agc
-
Here's the comma separated list of built-in functions: if, quote, set!, define, initialize, lambda, begin, +, -, *, /, not, and, or, >, <, >=, <=, =, equal?, eq?, length, cons, car, cdr, append, list, list?, null?, symbol?, defined?, modulo, abs, floor, ceiling, min, max, apply, id, sqrt, let There are also some helper functions defined in stdlib.txt.
-
Dunno anything about racket except that it's a lisp dialect, as is scheme. Scheme tends to be focused on minimalism. Yeah, I'll push out another small release when 0.24 comes out.
-
Info about compiling the source into the kerbal dll plugin can be found here: http://wiki.kerbalspaceprogram.com/wiki/Plugins I used monodevelop. Scheme in general doesn't do explicit loops, preferring recursion instead. But I also provide a lot of built-in functions to do things that you might do with a loop in an imperative language; if you're processing a list for example there are functions which run a function on each element and accumulate the result (see map or foldl).
-
OK, URL updated! http://kerbal.curseforge.com/ksp-mods/222031-automated-guidance-computer
-
Man, I thought kerbalspaceprogram.com was supposed to stay up. Oh well. I re-uploaded the mod to Curse, I'll bump the thread once it gets approved and goes live. Let me know what you think of the mod.
-
The source isn't up on github yet, it's still on my TODO list. I'll put it up soon. Right now the source is distributed in the zipfile. If it's a common convention to return nil on no "cond" predicates matching, I'll go ahead and add that. Thanks for the info, I'm not a very experienced lisp programmer, so I'm relying on people like you to tell me this stuff.
-
Updated to version 0.3! Now with orbit and target parameters, plus a PID controller example. Also, include weissel's bugfix. Still TODO: * allow controlling the AGC with action groups * put the source on github
-
Ah hah, thanks for the typo fix! The project is still go, in fact I'll release a new version shortly. I'll also get it up on github so people can contribute if they'd like.
-
Thanks for the encouragement! LISP still has lots of parentheses. But it's a simple, elegant language that (maybe most importantly) is easy for me to write a robust parser and interpreter for. I think it's also pretty easy to understand for someone who doesn't have a ton of programming experience. I do recommend a text editor with syntax highlighting so you can understand the crazy nested parentheses, though.... If anyone wants to donate a better 3d model, or give me permission to use one from another mod, that'd be rad!