

LambdaNative – A cross-platform development environment written in Scheme - mike_ivanov
https://github.com/part-cw/lambdanative/wiki

======
carloscm
Keep in mind LambdaNative appears to be very opinionated about things like
project structure (your code goes in this folder and is named like this),
files (your images must be in this format and must be copied to this folder)
or UI (your code must implement this kind of view, always, in this way). At
first it looked really nice to see somebody already did all the grunt work to
prepare Gambit-C for all those platforms (specially mobile), but the
constraints were too much for me. Impressive project but not for every app.

~~~
ptx
> your code must implement this kind of view, always, in this way

Could you elaborate on this? It seemed the opposite to me: I implemented my
own view/activity stack, calculated button positions in pixels (no layouts),
explicitly specified which keyboard to draw where and when, and so on. Did I
miss all the structure?

~~~
carloscm
It was the glgui library that gave me that impression. It's true that there
appears to be no built-in high level concept of a view as a container/ layout
holder/ etc, we are talking about different things. I should rephrase that as
"kind of GUI as long as you don't want to dive into raw OpenGL". It was more
like, if I want to change how a button is drawn, do I have change the
internals of the framework or is that a user-level supported API?

~~~
matthiasg
[https://github.com/part-
cw/lambdanative/wiki/Function-300](https://github.com/part-
cw/lambdanative/wiki/Function-300) has containers. If you just want to change
the button properties take a look at [https://github.com/part-
cw/lambdanative/wiki/Function-296](https://github.com/part-
cw/lambdanative/wiki/Function-296) , you can even replace the texture on the
fly (will have to find you an example).

~~~
carloscm
It's true, it's more customizable and flexible than I realized when I first
looked into it. I stand corrected.

------
Turing_Machine
That is pretty darned sweet. I had been playing around with interfacing
BiwaScheme (written in JS) to PhoneGap, but if this works as well cross-
platform as it does when compiling for the host system, that project just went
on the back burner, quite possibly permanently. :-)

Looks outstanding!

------
Gonzih
Would be lovely to see some screenshots on homepage.

~~~
matthiasg
[http://www.lambdanative.org/applications.html](http://www.lambdanative.org/applications.html)
has a whole bunch of them. Also look at
[https://play.google.com/store/apps/details?id=ca.bccw.rrate&...](https://play.google.com/store/apps/details?id=ca.bccw.rrate&hl=en)
or
[https://play.google.com/store/apps/details?id=org.ecemgroup....](https://play.google.com/store/apps/details?id=org.ecemgroup.teleport&hl=en)

------
ArtB
I'm still not clear on what this library actually does...

~~~
mrcsparker
It lets you write applications for Android, iOS, BlackBerry 10, OS X, Linux,
Windows, OpenBSD, NetBSD and OpenWrt in Scheme.

------
mark_l_watson
Looks very nice. I look forward to experimenting with it.

I used to use Gambit-C for command line utilities and misc. applications.

~~~
jsgrahamus
Mark,

I believe you reviewed mocl. It would be interesting to see your comparison of
the two.

~~~
mark_l_watson
I am sorry I did not see your question earlier.

mocl is very interesting, but I only played with it. I think mocl's value lies
in using Common Lisp code for the logic of an app, but still have some iOS or
Android specific UI glue.

I would love to spend time experimenting more with mocl and Gambit-C for
building apps, but, my real business is in text analytics and AI.

~~~
register
Just a few words to tell my experience with the tool:

./configure make

ERROR: required tool wget not found. brew install wget

ERROR: required tool gs not found. brew install gs

ERROR: required tool convert not found. brew install ImageMagick

ERROR: required tool xelatex not found.

LATEX???? -> GOODBYE

~~~
matthias3
In case you want to change your mind XeTeX is now optional. Please note that
there were good reasons to require it, as we do projects in languages having
right-to-left script, or use higher Unicode characters (such as Kannada).

