r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3-OLD1]

GiuseppeC
4-Feb-2009
[10512]
We are now again in a grey area ;-)
Pekr
4-Feb-2009
[10513]
Chat system feels good. But if we do add concepts like reply to particular 
message, and system is no more flat, we are not able to easily handle 
it without GUI anymore. Some commands are changed in quick pace, 
some changes don't make sense to me.
BrianH
4-Feb-2009
[10514x2]
As long as the (hopefully useful) messages are being generated, and 
the source files come, chat is doing its job. We can pretty later.
Pekr: "why do we need special exists functions"


Those functions tell us whether the file exists *and* is of the ttype 
we need it to be. Files and directories are used differently. You 
use those functions to make sure that things are what you need them 
to be, so your code will be safer (or at least not crash).


Pekr: "Gee, I hate all those read-* - they are proof there is something 
wrong"


You are correct, that is exactly why the READ-* functions are there. 
They are temporary, until we get the Unicode conversions model finalized. 
Good catch.
GiuseppeC
4-Feb-2009
[10516]
BrianH: I always apreciate your good work and the work of the whole 
team.
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.