World: r3wp
[!REBOL3-OLD1]
older newer | first last |
BrianH 4-Feb-2009 [10517] | Thanks :) |
Janko 4-Feb-2009 [10518x7] | BrianH: You could look at how Factor did "modules" they call it vocabularies (and "functions" are words).. I am saying because you said "..... Binding order matters in REBOL." |
That is the same in Factor, position matters, and the way they did is that it adds value as are able to use short general words because position defines from which vocab it will be called -- so you avoid need to define long words >>addTwoVectors<< .. and you also avoud >> module.word 12 + module2.word2 "asd"<< | |
this is fictional factor example.. not real code and modules: | |
USING: string math http ; : plus ( a b -- c ) + ; USE: vectors : vec-plus ( a b -- c ) + ; | |
because + is defined in math plus will use it's + to add two numbers and because we put USE: vectors the + in vec-plus will add 2 vectors ... this is in the same vocab / source code file.. I think they also have UNUSE now but I am not sure | |
( they have USING: for "including" multiple vocabs at once and USE: for one) | |
what I really liked about this (I am not a specialist in factor so I hope I am not saying it wrong) but when I was making DB libraray for example I could use define very generic words like SELECT WHERE UPDATE without thinking if they are defined somewhere else. | |
kib2 4-Feb-2009 [10525] | Janko : I think you're right (I'm currently learning Factor too). |
Janko 4-Feb-2009 [10526] | I am sort of factor traitor :( ... I was doing a very important project for me in it and told everyone that I am doing it etc... got relatively far, but then by "accident" discovered that there are many practical reasons to switch that project to Rebol, so I abandoned factor :/ |
BrianH 4-Feb-2009 [10527] | Links to web sites would be nice. I suspect that REBOL's situation is a little different though, as the binding model is unusual. |
Janko 4-Feb-2009 [10528] | technology is a cruel world :) "at the end, there can be only one" |
kib2 4-Feb-2009 [10529] | I can understand your choice, Rebol is a good alternative, even if I Factor is a very interesting langage to study. |
Janko 4-Feb-2009 [10530x3] | http://www.factorcode.org/http://concatenative.org/wiki/view/Factor |
this is maybe the good start: http://docs.factorcode.org/.. | |
yes, I don't know about low level things... maybe it can give you some ideas.. | |
BrianH 4-Feb-2009 [10533] | Thanks. I had heard of Factor, but not seen it. |
Janko 4-Feb-2009 [10534x2] | it's a forth + lisp + haskell sort of language .. it's stack and image based |
kib2: yes .. both are interesting ... I had a bunch of concrete reasons to switch.. basically I didn't want to, but all the indicators were in favor of rebol for what I need (I intend to write a blogpost about it .. because it's too long to explain here) | |
BrianH 4-Feb-2009 [10536] | The particular binding order effect that matters in REBOL is that "outer" and "inner" scopes are faked with the binding order. Any attempts to revise the "inherited" contexts that the code is supposed to have, after the code has started running, is unpredictable at best and crashworthy at worst - a bad idea in any case. This means that if you want to import words from other modules into your code, you should do it *before* your code starts running. This means import headers, not import funcctions. |
kib2 4-Feb-2009 [10537] | Janko: what were you missing exactly ? |
Janko 4-Feb-2009 [10538x6] | I don't have a good view into what "binding" is at rebol yet .. I imagine a little |
kib2 : nothing was really missing in factor ... I live from my coding so I have to choose the tools where I think I will fasters with least problems and best solve what I need... this was a web-app that needed to run on desktop to (so all apache+ XX + mysql) fell of and it gave me a reason to make it with factor. | |
but as I said, it's complicated a little ... I can copy paste you the text I wrote to dockimbel when I was explaining him how I started with cheyenne few weeks back.. | |
>>>basically I tried cheyenne and rebol for web-apps just by accident ... one saturday I was ready to work on that project in factor whole day and then some hard bug in factor server prevented me from working, so because I was in a working mode I started playing with doing some other simple idea in ruby on rails (I haven't tried it yet before - I don't like frameworks in general) .. after I hit some magic of RoR I stopped and then tried cheyenne RSP .. and I made a basis of a working app in that afternoon .. when I tested and saw it also performs I was hooked..<<< | |
in short: Factor is very interesting language but I was amazed at how productive I was with rebol + rsp, I need PDF: factor has some deprecated bindings to c lib for generating pdf-s, rebol has a dialect for that, I need to run in on a desktop standalone: factor can run standalone but is more heavyweight, cheyenne server starts and shows icon in tray "before I even click it" , I need a tray icon too for my app, I found example of it already and it works, in factor something like this doesn't exist yet .. | |
and bottom line is the language , rebol nicely scales al the vay from newbie (imagine VB coder) up to advanced user with introspection code is data and all , factor is a little more scarry to start with | |
kib2 4-Feb-2009 [10544] | Janko: the pdf and postscript dialects in Rebol have impressed me a lot. Maybe it's possible to build something like LaTeX in Rebol. |
Janko 4-Feb-2009 [10545] | I haven't yet digged geep into them , I just looked to see if they work .. but yes, they are very nice way to make pdf-s :) |
kib2 4-Feb-2009 [10546] | Janko: I'm not a Factor expert (I started studying it 3 weeks ago). But the Factor learning curve is certainly higher than Rebol's one! Sometimes I have hard times remembering what's on my stack when I try to write non-trivial words. |
Janko 4-Feb-2009 [10547x2] | ( + if I will need gui for desktop server, rebol has lighweight software rendered gui, factor also has a gui but on windows it's opengl based which is not really practical for a gui.. even casual games on windows try to use DX7 renderer for maximum compatibitily and avoid opengl beacause of driver issues) |
yes.. factor is whole another beast.. | |
BrianH 4-Feb-2009 [10549] | I prefer Cat, but Factor is cool too. |
Janko 4-Feb-2009 [10550x2] | I haven't really decided, I go from totally loving the concatenativeness (the stack) for some very elegant solutions to hating for sometimes not seeing what is going on in even simple stuff |
isn't cat made for .NET? | |
kib2 4-Feb-2009 [10552] | Janko: Cat is build on C# ? |
BrianH 4-Feb-2009 [10553] | The first implementation was, yes, but the language has nothing .NET-specific in it. There's many implementations. |
Janko 4-Feb-2009 [10554] | aha, I don't like the .NET based stuff really .. if I had to choose I would much prever JVM based ones.. just personal preference |
BrianH 4-Feb-2009 [10555] | Like I said, many implementations. The lead author is currently making a new version written in C++. |
Janko 4-Feb-2009 [10556x2] | Factor has very reactive/alive comunity... they make bindings to a lot of stuff quickly thats why I prefer it.. they have everything from web-server/web framework to opengl stuff, etc |
google talk video from slava pestov is very interesting and shows you factor in an hour | |
Pekr 4-Feb-2009 [10558] | we need powerfull binding layer too, or we stay rather isolated ... |
BrianH 4-Feb-2009 [10559] | None of these concatenative languages are practical for direct use, but some make good compiler targets. This is why the semantics of the language are more important than implementation details. Cat's strong typing wins out there. |
Janko 4-Feb-2009 [10560] | aha, cat has strong typing .. I didn't know |
BrianH 4-Feb-2009 [10561] | The original implementation also runs on Mono if you are a purist. |
kib2 4-Feb-2009 [10562] | BrianH: tWhy do you think concatenative langs cannot be used for pratical projects? |
Janko 4-Feb-2009 [10563x2] | BrianH: well you clearly know tons more about languages than me, I know them only more from "user perspective" |
I am not a purist , but if I see something .NET / Mono .. I am not that interested, but I see now that it has many implementaitons yes | |
BrianH 4-Feb-2009 [10565x2] | Kib2, the model is too weird for most people to make work well, and the benefits don't outweigh the weirdness (unlike Erlang). |
As for Cat, I was not as interested in any existing implementation as I was in the language semantics. I figured that I would make my own implementation if I wanted to use it. | |
older newer | first last |