[Felix-language] Hello world using ZeroMQ

2012-01-16 Thread john skaller
Here is the Felix binding for ZeroMQ (3.1) http://felix-lang.org/lib/std/io/zmq.flx This is work-in-progress of course! Note that the language facilities are used to make a fairly safe code, compared to the C interface. The type system is leveraged so that all the options, etc, have their own typ

Re: [Felix-language] Hello World

2007-07-11 Thread skaller
On Wed, 2007-07-11 at 09:39 -0400, Sandro Magi wrote: > On 7/11/07, skaller <[EMAIL PROTECTED]> wrote: > > > Still trying to grasp this. How do you forget to "plug in" a channel? > > > > Pass it as an argument. > > Ah, in most functional languages values cannot be null, and nullable > ones are wra

Re: [Felix-language] Hello World

2007-07-11 Thread Sandro Magi
On 7/11/07, skaller <[EMAIL PROTECTED]> wrote: > > Still trying to grasp this. How do you forget to "plug in" a channel? > > Pass it as an argument. Ah, in most functional languages values cannot be null, and nullable ones are wrapped in an option/maybe type. I take it this is not the case for Fel

Re: [Felix-language] Hello World

2007-07-11 Thread skaller
On Tue, 2007-07-10 at 15:44 -0700, Krishna Srinivasan wrote: > IMHO, a quick file example program is super > quick way to code and try out in a new language. > My guess is that a lots of perl coders got into > perl this way (I did too, once upon a time). > yeah, that's a very good point. File I/

Re: [Felix-language] Hello World

2007-07-11 Thread skaller
On Tue, 2007-07-10 at 17:56 -0400, Sandro Magi wrote: > How do you detect deadlocks? Is the procedure you describe below where > the thread is GC'd? deadlocked = unreachable. > Sounds interesting. I'll have to think about it a bit more, as I think > it almost exactly reverses my ingrained block/

Re: [Felix-language] Hello World

2007-07-11 Thread skaller
On Tue, 2007-07-10 at 17:56 -0400, Sandro Magi wrote: > On 7/10/07, skaller <[EMAIL PROTECTED]> wrote: > > On Tue, 2007-07-10 at 12:59 -0400, Sandro Magi wrote: > > > On 7/10/07, skaller <[EMAIL PROTECTED]> wrote: > > > > > As long as you can continue useful computation while blocking, and you > >

Re: [Felix-language] Felix-language] Hello World

2007-07-10 Thread Krishna Srinivasan
Rhythmic Fistman wrote: >> 1.1.3_rc4 - installed perfectly fine (on ppc mac osx 10.4.10). >> [I already had ocaml, python latest versions] > > Really? Are you using the native ocaml binaries? Maybe they > fixed the stack overflow problem. These days I have to build > felix with > ulimit -s 6000

Re: [Felix-language] Hello World

2007-07-10 Thread Krishna Srinivasan
> What do you want? Basically, I have lots of python scripts that work with and process files/logs...etc. However, these are sometimes huge files and need huge data structures. A simple example (in python) : file_input = open('biglog.txt','r') d = {} for line in file_input.readlines(): x =

Re: [Felix-language] Hello World

2007-07-10 Thread Krishna Srinivasan
Thanks a lot for the detailed reply. Yes, I am reading through the tutorial pages and they are very helpful. Actually page 1 (hello world page) says that "let's look at what all these files mean later". And what you had written in your email is a beautiful *enough* explanation. My suggestion woul

Re: [Felix-language] Hello World

2007-07-10 Thread Sandro Magi
On 7/10/07, skaller <[EMAIL PROTECTED]> wrote: > On Tue, 2007-07-10 at 12:59 -0400, Sandro Magi wrote: > > On 7/10/07, skaller <[EMAIL PROTECTED]> wrote: > > > As long as you can continue useful computation while blocking, and you > > can do so safely, then you have a good concurrency model. > > On

Re: [Felix-language] Hello World

2007-07-10 Thread skaller
On Tue, 2007-07-10 at 12:59 -0400, Sandro Magi wrote: > On 7/10/07, skaller <[EMAIL PROTECTED]> wrote: > As long as you can continue useful computation while blocking, and you > can do so safely, then you have a good concurrency model. On blocking: it's the other way around. The current fibre ex

Re: [Felix-language] Hello World

2007-07-10 Thread Sandro Magi
On 7/10/07, skaller <[EMAIL PROTECTED]> wrote: > On Tue, 2007-07-10 at 12:12 -0400, Sandro Magi wrote: > > > Convinced of what? The concurrency safety? The security claims? E > > covers quite a bit of ground. > > The basic problem is finding the right primitives to build > parallel system on top of

Re: [Felix-language] Hello World

2007-07-10 Thread skaller
On Tue, 2007-07-10 at 12:12 -0400, Sandro Magi wrote: > On 7/10/07, skaller <[EMAIL PROTECTED]> wrote: > > The thesis is rather long, but I've looked at E and am not > > particularly convinced. > > Convinced of what? The concurrency safety? The security claims? E > covers quite a bit of ground.

Re: [Felix-language] Hello World

2007-07-10 Thread skaller
On Tue, 2007-07-10 at 11:25 -0400, Sandro Magi wrote: > > What do you want? > > Consider an I/O model based on promises/futures with continuations. Argg .. I sent a reply but it went to you, not the list .. my bad :) At present the I/O model is based on calls which block fthreads: there are no

Re: [Felix-language] Hello World

2007-07-10 Thread Sandro Magi
On 7/10/07, skaller <[EMAIL PROTECTED]> wrote: > [...] > Now, with the new parser in place, some more pleasing > syntax might be invented for this. In particular the above > is not very nice because 'promise' remains in scope after > it has been read .. it should evaporate. > > So, we have the prim

[Felix-language] Hello World

2007-07-10 Thread Sandro Magi
On 7/10/07, skaller <[EMAIL PROTECTED]> wrote: > So actually we have not got this right yet. > > The last version of Felix added typeclasses, and it > changed the whole way we approached making libraries: > we start to use typeclasses instead of open overloading, > but typeclasses make you think mu

Re: [Felix-language] Felix-language] Hello World

2007-07-10 Thread Rhythmic Fistman
> From: Krishna Srinivasan <[EMAIL PROTECTED]> > 1.1.1 - make was ok, but 'make install' FAILED. > So I was not able to run ./bin/flx as well. I personally wouldn't install it, prefering instead to build it somewhere, set FLX_INSTALL_DIR and add FLX_INSTALL_DIR/bin to my path. > 1.1.3_rc4 - inst

Re: [Felix-language] Hello World

2007-07-09 Thread Erick Tryzelaar
skaller wrote: > Yes you do .. you worked on the code that translates these names :) > > The story here is: the file basename is used as a top level > module name, and it must be a valid Felix and C++ identifier. > > There is a piece of code in the compiler which 'mangles' > these names to valid on

Re: [Felix-language] Hello World

2007-07-09 Thread skaller
On Mon, 2007-07-09 at 19:22 -0700, Erick Tryzelaar wrote: > Basically, the entire felix language is a language extension. We use a > GLR parser to convert the felix language into scheme s-expressions, > which is then converted to an AST. This means that fundamentally the > core language is real

Re: [Felix-language] Hello World

2007-07-09 Thread skaller
On Mon, 2007-07-09 at 15:50 -0700, Erick Tryzelaar wrote: > (skaller, any reason why we don't just support the fopen protocol? Like > how do we expose file appending and etc? Or, we could always go with > wrapping stl's io routines?) That's a very good question .. see my other post. Getting fil

Re: [Felix-language] Hello World

2007-07-09 Thread skaller
On Mon, 2007-07-09 at 14:59 -0700, Krishna Srinivasan wrote: > > And I cannot find how to open, read, write files. > Can someone please point me to that ? This is a mess at the moment. There are three basic kinds of files: * unix fd or windows handles * C FILE* * C++ iostreams and on top of t

Re: [Felix-language] Hello World

2007-07-09 Thread Erick Tryzelaar
skaller wrote: >> I wrote >> the felix-lang.org site so it's a much nicer front end to draw in >> people. However, it's not *yet* the main felix website. In order to get >> everything well integrated between the website and mailing lists, we >> have to migrate the mailing lists to use google's

Re: [Felix-language] Hello World

2007-07-09 Thread skaller
On Mon, 2007-07-09 at 15:50 -0700, Erick Tryzelaar wrote: > > PS - I have this habit of calling my files > > 1hello.x 2hello.xwhen I try examples with > > incremental compelxity (so I can type the number > > and hit tab). But this failed with a weird cpp > > error guess, I cannot name file

Re: [Felix-language] Hello World

2007-07-09 Thread skaller
On Mon, 2007-07-09 at 15:50 -0700, Erick Tryzelaar wrote: > Krishna Srinivasan wrote: > So the sourceforge site is pretty old and not well maintained. Most of the work is going into the software, and there aren't enough active contributors to maintain the documentation. Felix is changing fairly f

Re: [Felix-language] Hello World

2007-07-09 Thread skaller
On Mon, 2007-07-09 at 15:50 -0700, Erick Tryzelaar wrote: > > 1a. Why is there a separate 'make doc' > However, it can take a bit of time, so it's not done by default. The other reason is that some of the docs require Unix tools to build. The rest of the system is portable. You need at least

Re: [Felix-language] Hello World

2007-07-09 Thread Erick Tryzelaar
Krishna Srinivasan wrote: > >> PS - I have this habit of calling my files > >> 1hello.x 2hello.xwhen I try examples with > > > > Oh thats interesting! I have no idea what will happen if you do that :) > > I'll have to check that out. I also don't know what felix thinks of > > > I am sorry.

Re: [Felix-language] Hello World

2007-07-09 Thread Krishna Srinivasan
Hello Erick, Thanks for a quick reply. > use the subversion one. Ok. Will do. > > path/to/build/mk doc Ah..cool. >> PS - I have this habit of calling my files >> 1hello.x 2hello.xwhen I try examples with > > Oh thats interesting! I have no idea what will happen if you do that :)

Re: [Felix-language] Hello World

2007-07-09 Thread Erick Tryzelaar
Krishna Srinivasan wrote: > Very cool idea (I have always personally wanted > to do many of what felix does, compile python > to c, python to ocaml, adding type inference > to dynamic languages...etc) and when I saw this > project on LtU, thought I will give it a try. Great! We love new folks. Alw

[Felix-language] Hello World

2007-07-09 Thread Krishna Srinivasan
Greetings. I just started trying out felix yesterday evening and here are my first impressions so someone else might benefit from the same questions. And hopefully the experienced ones can give me explanations. Very cool idea (I have always personally wanted to do many of what felix does, compil