World: r3wp
[Tech News] Interesting technology
older newer | first last |
JaimeVargas 12-May-2006 [633x2] | Also even though Forth and Smalltalk are dinamic languages they don't have CFG. So the problems is not dynamicity. |
Pekr, I guess my reaction was due to this comment "Good old Jaime adheres to hype :-)", this is simply not true. I recommended Rails because I liked the productivity boost that I got in a recent project, not because of its popularity. I have read about different Programming Languages and found that each one has its strengths and its weaknesses. But independent of this you can always learn a new technique that will expand your horizons.. | |
Graham 12-May-2006 [635x2] | Can we build a rebol framework similar to rails? |
is there any point? | |
JaimeVargas 12-May-2006 [637] | Yes. We can but it requires a lot of work, and then your second questions makes you wonder. |
[unknown: 9] 12-May-2006 [638] | What is it about Rails that makes Ruby a good fit? We are building Quilt on Rebol, and it seems to be going very well. But we have nothing to compare to. |
JaimeVargas 12-May-2006 [639x2] | BTW, such framework is being built, and it is called Quilt. The backend engine behind QTask. I can wait to get my hands on it. |
Rails uses a lot of OO messaging smalltak style. Which ruby allows natively, so I think this lowers the impedance match. Such dialect can be constructed in Rebol. But does it means that is the best approach? | |
Pekr 12-May-2006 [641x7] | Jaime - ok, I correct myself - to what you said by "rebol sending me to loopholes" and calling it a productivity issue, from that point you are probably more than right ... |
by my comment regarding "hype", I really mean something ppl should be carefull about - that most ppl I meet, even in corporate environment, talk about hypes. And maybe "hype" is not the correct word, maybe it is about "trends"? They even don't know what ajax is in particular, yet they tell their boss, they will use new tool for their job - ajax, and their boss said - hmm, I read something about it - it has to be cool and we will support it ;-) | |
in fact, I am one of two "right hands" (it is a saying in czech language) for our CTO. And the reason is, that I provide him with opinions not tied to any products of my liking. Our Delhi group, would do everything in Delphi, our Lotus Notes group, would do everything in Lotus Notes, the same goes for VB and SAP folks, and of course, jokingly, I would do everything in Rebol. But - things need some level of understanding of current/historical situation in the company. | |
that said - last time my rebol friend Bobik, who did nice apps in Rebol already, needed suggestion regarding the project in the company he works for, it was me, who suggested him not to use rebol, but go with php, apache, and it was becaue it was much better fit for their company in their situation. And if someone will ask about fast web development, I have already one friend I suggested him to look into Ruby on Rails .... | |
... and it is imo the same reason and experience, why I suggested you to look into Mikrotik routerOS some time ago, and would be probably valid, if you would not have coded your own system .... | |
Reichart - what is Quilt? Something related to Qtask? | |
Graham - actually I thought about "porting" Rails to rebol and calling it "rebol on trails" :-) But last time looking at rails api, it is already large jog done. OTOH we would only clone API that already exists ... dunno .... because whole web 2.0 mess is here, to be finally able to do what REBOL/View can do, just using browser ... | |
yeksoon 12-May-2006 [648] | maybe a 'bridge' for REBOL-Ruby. allowing Ruby to call or access REBOL 'objects' directly and vice versa. |
Pekr 12-May-2006 [649] | Now we know Flash and Ruby try to go outside the browser, so I wonder how usefull Rails will be in such a territory. I still think, that IOS like "platform" for app delivery, is still unmatched. Dunno what Altissimo is supposed to mean, but having rebol services or uniserve/beer whatever based framework for app distribution, like it was planned with Morpheus or even Altme, would be a win .... |
Volker 13-May-2006 [650x2] | Volker compilation of rebol is due to context free grammars. If you take this restriction you could probably have a bootstrap of rebol. But you can not compile just any rebol program. So this is a problem. We are talking about bootstrapping. There is no need to compile every program. Its only needed to have a subset to build the interpreter. And that one must be able to generate machine-code. |
Thats what forth does with meta-compilers and squeak does with slang. Ugly, so a pretty good motive to do most in meazzines :) | |
Pekr 13-May-2006 [652x2] | Geomol, you've got competition - inspired by DeluxePaint, Lunapaint is new painting program done from scratch, or so is my understanding - http://sub-ether.org/lunapaint/ |
hmm, but maybe I already posted it in the past :-) | |
Henrik 13-May-2006 [654x3] | http://www.easy2remember.name/media/51/Spore-game-video.html<--- for gamers, this looks mightily impressive. An evolution game with a 100% dynamic world. |
actually not just a world but an entire universe | |
For inspiration, Wright looked to the demo scene," a group of (mostly European) coders who specialized in doing a whole lot with a little bit of code. Their procedural programming methods were able to, for example, fit an entire 3D game in 64K, using mathematics to generate textures and music, etc. "I just found this incredibly exciting," Wright confesses, describing the kinds of work that he saw come out of the demo scene." So here's what he did: he recruited an elite strike team of coders (who, if you were to believe his slideshow, dressed like ninjas) and put them in a hidden facility" to experiment with new ways of giving the user powerful tools and generating tons of dynamic content without armies of content creators. Best of all, he fired up a demo and showed his audience the results... " this is almost a REBOL like way to create games :-) | |
JaimeVargas 13-May-2006 [657x2] | Volker you are right. But I was thinking on Rebol bootstrapping itself and offering incremental compilation too. Just like Dylan or CL. Here is an excerpt from wikipedia. "Common Lisp has been designed to be implemented by incremental compilers. Standard declarations to optimize compilation (such as function inlining) are proposed in the language specification. Most Common Lisp implementations compile functions to native machine code. Others compile to bytecode, which reduces speed but eases binary-code portability. The misconception that Lisp is a purely-interpreted language is most likely due to the fact that Common Lisp environments provide an interactive prompt and that functions are compiled one-by-one, in an incremental way." |
Unfortunately this is not easily accomplish with rebol, unless you throw away the CFG and with this you loss dialecting flexibility. | |
Volker 13-May-2006 [659] | I thought about that a bit. IMHO it is not that impossible. But may need new core-features. The idea is that argument-lists rarely change. Rebol lets us inspect the last values a function used. So from the source i cant be sure 'append is really that global 'append. But after the function has run, i can look what the last append was, and see that it got two arguments. And then i can "insert parens" and process it like lisp. Needs a profile-run, or would work really well with a jit. And the interpreter needs to stay in the background for very hart blocks. |
Pekr 13-May-2006 [660x3] | Jaime - from my limited understanding - you would like to see rebol kind of grammar to be defined and used as a wrapper running upon another environment? |
If so - would it be easier with other functional languages, or even possible (if such grammar would exist), in languages like Java? | |
Henrik - imo with more media friendly features and rebol overal extensibility (as was promissed earlier for rebol), we could see Rebol being a tool for some nice demos .... | |
Terry 13-May-2006 [663x4] | You haven't seen Web 2.0 till you've seen the latest Framewerks. |
Semantics is key.. just ask Sir Tim Berners-Lee | |
How about this, a single piece of code to handle any web form.. just add a new field to the html and you're all set... don't need to alter the DB or the serverside processing. | |
Let's see rails do that. | |
ScottT 14-May-2006 [667x2] | hear hear for semantics! love how REBOL is already half there with the lit-word - word - value. it all ends up being triples anyway. |
and TBL, although I think he's lost himself somewhere about 60,000 feet | |
Terry 14-May-2006 [669] | MY EYES ARE BLEEDING |
Pekr 14-May-2006 [670] | 3Tera's AppLogic - http://www.3tera.com/applogic.html |
ScottT 14-May-2006 [671] | cool. mine are burnt from all the white. |
JaimeVargas 14-May-2006 [672x4] | Terry, Rails already do that. It is called Migrations, a kind of versioned schema, and yes you just add a field and everything works. |
Volker, compiling Rebol is not impossible, it is just very difficult exponentially difficult because " the order evaluation" for the a function call can change at any time. Depending on how the words in the body are defined. This is the CFG feature and problem. | |
>> test: func[][foo bar] >> f1: func[][probe "foo first"] >> f2: func[x][probe "foo first"] >> bar: func[][probe "bar second"] >> foo: :f1 >> test foo first bar second >> foo: :f2 >> test ;;; Surprise order of evaluation changed ! bar second foo first | |
This gets more complex as the body of the function grows, the problem of compilation becomes exponential | |
Volker 14-May-2006 [676] | That is currently true. But makes it sense? What if such things are simply forbidden for compilable code? |
JaimeVargas 14-May-2006 [677] | Now you could use fix the body of a function maybe not allowing for function! values to change dynamically, but this will limit the language. I think the best approach for getting closer to the metal is REBCode. But I am not sure you can hav a Metacircular Rebol. |
Volker 14-May-2006 [678x2] | I dont think it limitsthe language. I never used that as a feature. Well maybe setting 'print to none, but i can live with "print: func[value][]" |
For sourcecode that paren-saving is an advantage. But if i enforce that the number of arguments stays the same all thetime, i see no problems. | |
JaimeVargas 14-May-2006 [680x2] | How about generators or dialects, they depend of such feature. I mean dialect that don't use parse. |
The problem is that you can not assume that the environment hasn't change, because if you assumed the you have broken the semantics. | |
Volker 14-May-2006 [682] | Can you give an example? |
older newer | first last |