Hacker News new | past | comments | ask | show | jobs | submit login
LambdaNative – A cross-platform development environment written in Scheme (github.com/part-cw)
129 points by mike_ivanov on Oct 6, 2014 | hide | past | favorite | 18 comments



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.


> 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?


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?


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 , you can even replace the texture on the fly (will have to find you an example).


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


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!


Would be lovely to see some screenshots on homepage.



Here is the last page of their presentation; screenshots of apps on multiple devices (most are completely custom UI):

http://i.imgur.com/MrPKU4s.png

Also, the 'Disadvantages' mentioned:

* limited native GUI (messaging, camera)

* limits of OpenGL (text handling)


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


The README from the github repo [1] links to a presentation [2] and paper [3] with more details.

[1] https://github.com/part-cw/lambdanative [2] https://github.com/part-cw/lambdanative/blob/master/docs/Lam... [3] http://ecem.ece.ubc.ca/~cpetersen/lambdanative_icfp13.pdf


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


It's an application development framework for Gambit-C Scheme which compiles natively to a bunch of popular platforms. It comes with a few sample apps in the repository. glGUI seems to be used for the interfaces.


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

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


Mark,

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


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.


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


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).




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: