World: r3wp
[!REBOL3]
older newer | first last |
Maxim 26-May-2010 [3332x2] | if your app also has an extension which can give data to scintilla, then you'd just add a command to the above string which calls the extension's command! with parse results. the xtensions are very adept at parsing blocks, so converting that back to scintilla as native C data is possible there. |
the only issue I see is intense RAM juggling, so if you can find ways to parse only subsets of current edit and cache the rest, then it might even be effective and real-time. | |
AdrianS 26-May-2010 [3334] | Why the need for the extension? If you already have a customized host, why would this be needed? |
Maxim 26-May-2010 [3335] | ah, yes, its possible the host also supports commands... but I'm not sure in the official release. in the next one I think these have been built-in. |
AdrianS 26-May-2010 [3336] | if you're having to do partial parsing, I'm guessing it can get pretty complicated quickly as you'd have to keep track of contexts that might be split, no? |
Maxim 26-May-2010 [3337x6] | thing is, things like intellisense in rebol aren't possible, because only the interpreter understands the complex binding that happens. |
you can guess them, but not confidently, because you'd need access to actual context-like object from the C side to resolve words which are bound externally (not part of current context, but inherited) | |
but if you have control over the source building itself within scintilla, then it can know what things are and where they come from... that's the main point of using an IDE. | |
its not an easy thing to do in any case ;-) | |
the module system provides enough information so that your editor could resolve the dependency on its own, and parse stuff accordingly. | |
now USING rebol as the scripting/macro language within an Editor THAT would be really cool. :-D | |
AdrianS 26-May-2010 [3343x3] | not sure I follow... |
yeah, that was my intent, if at all possible | |
but I think that the integration between the editor base and the lexer is too weak | |
Maxim 26-May-2010 [3346x2] | if all you want to do is give rebol a string, and use the return string, and plug it back into scintilla, then its going to be a piece of cake. |
if, on the other hand, you want to use REBOL to parse the source for things like syntax highlighting, then its complicated, which is what my notes above relate to. | |
AdrianS 26-May-2010 [3348] | I need to identify what benefit I'm hoping to get over the current lexer which uses a static word list and regexes for capturing various bits |
Maxim 26-May-2010 [3349] | using R3 to actually LOAD and identify tokens by their datatype seems to be the biggest deal to me. |
AdrianS 26-May-2010 [3350x3] | that was my intent |
and then to query it for the up-to-date words | |
you would let R3 parse the source, then call various internal functions to return the various types of words | |
Maxim 26-May-2010 [3353x3] | trick is to find a way to parse just a subset... you might want to chat with steeve and shadwolf, their rebol editor was pretty responsive even with big files, so I guess they have an optimisation that lets them just token what is visible, with some form of caching for before and after pages of data. |
you could then just apply the algorithm to the C side and let R3 parse only a small portion of the script at a time. That's how I'd try it. | |
using a command! to tell scintilla what to refresh directly, based on parse results. | |
AdrianS 26-May-2010 [3356x2] | I guess you might be able to do this as another type of editor plugin - Notepad++ has the concept of plugins that can do various higher level actions, but at the Scintilla level, you'd have to be mucking around with Scintilla code |
I wouldn't want to get into that | |
Maxim 26-May-2010 [3358] | hehe |
AdrianS 26-May-2010 [3359] | really, Scintilla should define plugins itself |
Maxim 26-May-2010 [3360] | I've never played around with it... last time I looked, I was daunted by the sheer size of the code base. |
AdrianS 26-May-2010 [3361x2] | for the component , I mean - the editors based on Scintilla could extend this |
gotta get going for a while - thanks for the feedback, Max | |
Maxim 26-May-2010 [3363] | I hope you get this working would be cool. |
shadwolf 26-May-2010 [3364x3] | Here I come with a nuclear bomb Ask .... This document requieres Viewer Advise if upon reading those line your retina blow up I could not held responsible for that. I was htinking of the possible logical reasons why rebol is not used widly in today's computing area. First i can say compared to other scripting language it's source code is not freely accessible. Second I can say most of the script laguages use now in days is in a role where the script source code isn't available to read to the client. And so most of those script use are around Webserver, server side so the scripts are hiden to the view of the consumer (the cleint). And most of the time when a company needs to broadcast a software to their customer (a game, a client software, etc...) then they need to hide their source code. So most of the time they use compiled or speudo compiled programing language. On an ideologic side what rebol offers is "take my blackbox but you have to broacast your software source code viewable for all" Personnally i like that part .... that's what allowed me to build most of my softwares and contribute to most of some of other ones project. But I perfectly understand that for the industry they need to hide their "know how". So they use java so they use what ever compiled language to hide their "know how" Next is the fact that most of the time companies choose a langage more for the extension related to their project than for any other consideration. Compiled language are faster the script languages most of the time. So my ask is could rebol be like java compiled like language? I'm not talking about rebol/SDK to me fusing the VM binary with the script and somehow hiding the script is not the right solution that's just a cheap way to achieve that goal and rebol deserves better than cheap ways. My point is to have like java does the need to go to the rebol.com and install the REBOL runtime environement -> That strategy 1 rule 1 modo 1 in spreading your technology Why sun Java and Microsoft .NET does it and rebol not ? And there we fall to what Carl noticed and shared with us some years ago while initiating the R3 projet wich was "Administrators on IT companies doesn"t knows about REBOL so when they see it they kill it from running tasks" Maybe the whole R.E (runtime Environement) thing was made to make most of the people look at the juava or .net dedicated websites and so be informed of what is jvm or what is netvm. At taht time when CArl tried to talk about us with that the solution Carl proposed was -> "Lets change rebol names" and my reply was cold "If people after 6 years don't know rebol they won't know better anyother name the problem so i not the name is the way we spread the information". So in a way a runtime environement is the best way to populate your idea without investing to much. Next thinking is about the compiled / speudo compiled is faster than any possible scripting language. FASTER ???? IN WHAT ? those are the questions ... Most of people whould reply faster in execution ... Ok bu if i remamber well what i learn at school (yes i went to school stop laughing ...) before running a binary program you need to build the script ... and that's where most of the work time is bruned up and where the need of a IDE (intergrated Developement Environement) is needed and most of the time those IDE ends up in being a Click and feel the form ... wich is adding a complexity layer instead of simplifying the scriptiing. Intents like small talk for example that push this aspect to it's core limits were hum not widely accepted as a suitable way to build software. Mainly because they make nearly impossible to extend easyly their selfves in comparasion of other compiled languages. So we are then saying rebol is the fastest way to build applications in the world. It's a ight weight very well though scripting langages with alot of possibilities. Most of the time in one line of rebol you do as much as tens of lines in any other languga (or even more) and that's because in my opinion rebol doesn't need a heavy script grammar to exist. But you can stil make an IDE to help organise your work and speed it up and make it easyly more cooperative. But this is not the part we are discussing. So in fact what really matters in comuting area is less the time you spend building you application than the need to hide your 'how I did it' and to then have the closest possible level to your hardware for your software. And for that my friends rebol need to be speudo compiled able. And maybe the step further java in our industry is to have a keep it simple language hiding your industrial secrets but allowing you if you want to share your work in full view full access like it's actually the case. Some will say to me yes but with R3 we have new extendsions so the industrial secret can be hidden in that layer. that's right but then you don't do rebol anymore you do C and what id the purpose of embeding rebol into a complexifed C layer ... C layer is to extend our language capabilities the fastest way but not to make the need of our language to desapear ... Because in the end what we want to promote is REBOL not C language.... It's a long post I'm sorry for that but I'm thinking about it since a long long time and tonight i feeled like sharing those thoughts |
maybe i wasn't clear. Sorry i readed my post and some things appears not to be clear anough... 1) Rebol runtime environement already exists that's the VM you install on your computer when you want to run scripts But a) it's not called a runtime environement b) it's need disappears when you use REBO/SDK to "hide" your industrial secrets or when you don't want on purpose the client to install or know that it's rebol behind. 2) by speudo compiling (byte code compilation) you allow people that need it to be a step closer to the hardware but keeping the portability effect so a rebol VM in my opinion should be able to run both a speudo binary file or a text script rebol file. Of course like in java people would feel the need to share their software with embeded Rebol Runtime Environement. 3) Having a runtime environement is the best modular way ... core will be the base then you have View and lot of othe modules that wil clip to rebol. for example if i put import "oracle" at the begining of my script then rebol runtime environement knows that he need the oracle package and goes to rebol.com to retrieve it and install it to the proper rebol runtime place in order for the vm to find it. Something close to what apt-get is to debian. REbol Environement doesn't comes with the whole thing but if the script tells it he can expend it selves in the fastest way. Well this runtime organisaton in fact already exists but it's not pushed to it's extend, you know the point where the good idea become the best idea. the rebol/view 2 implies a /desktop which implies a local scrit library (like a cache) to store the rebol script see the idea is there but once again it's not pushed to it's limits. Only rebgui used this system to store an extension to rebol. 4) by being closer to what people extend as an output you make them interessted in your input . To be more explicite by giving to peope what they are used to get in the end of their creation process then you allow them to be confident in your solution and to be more interressted on the way you propose to build your software. 5) i took java and .net as main example but if you look closely this is an expending tendency. For example Adobe Flash do that. 6) the other interrest in the compiled way is to merge the source code and the related resourcies at the same place (1.exe file for example) and then forbiding the people to change their contents ... and this leaded then to the skining my application modo. Wich is just the we don't merge in the resulting binary the resourcies . In rebol we can already easyly build a script merger with data to output a .r file containing both but then people can still extract the ressourcies and change them etc... | |
Ho one of the Runtime Environement interrest i didn't mentionned is the translation .... GTK for example the main purpose of having it's runtime enviroment is to manage the "localisation" | |
GiuseppeC 27-May-2010 [3367] | Shadwolf. We discussed this a lot of time and the discussion would be better for Advocacy. We all hope that the host openess of REBOL3 together with its improvements will break the cage where REBOL has been for years. Also remember that REBOL is difficult to understand if you come from classic OO languages which actually rules the world. At least, it was difficult for me. |
shadwolf 28-May-2010 [3368] | i don't find rebol so hard to understand (most of it for parse for example i still seek the light ...) |
GiuseppeC 28-May-2010 [3369] | I have gone crazy to remove from my mind the concept of pointers; also the concepts covered by Ladislav articles like binding are difficult to digest; finally classic OOP versus Prototype Based OOP has been very hard until someone told me how to understand these concepts. |
Ladislav 28-May-2010 [3370x2] | what may be more difficult to digest than the concepts my articles cover is my style of writing ;-) |
(sorry for causing any headaches), and, I might have even caused more serious problems in one case | |
GiuseppeC 28-May-2010 [3372] | Headaches are caused by the innovative intrinsic nature of the concepts, nto ny your articles. |
Gregg 29-May-2010 [3373] | It's like Feynman apologizing that he couldn't make physics easier to understand. :-) |
Gabriele 29-May-2010 [3374] | classic OOP - actually, "prototype" is "classic" (ie. what was invented by Alan Kay etc.), while class-based is what came out of C++ mostly. |
GiuseppeC 29-May-2010 [3375x2] | From now I will change "Classic OOP" to "Common OOP" :-) |
Gregg, many things can became difficult due to the background "trash" you have in mind. | |
Andreas 29-May-2010 [3377] | as we are already in "picky" mode: actually, dahl/nygaard's simula, which invented class-based OOP, predates smalltalk. |
Gabriele 30-May-2010 [3378] | ah, i didn't remember simula was class based. hmm, so it's hard to say what is really "classic" I guess... |
Andreas 30-May-2010 [3379] | yes. talking about "mainstream oop" would be more precise, i guess |
Maxim 31-May-2010 [3380] | depends how you classify mainstream.... JS/ECMA is prototype and its the most used language on the planet ;-) |
Claude 2-Jun-2010 [3381] | tomorrow will be my birthday. ;-) .i wish to have some news of R3 and host kit and R3GUI and asyn and .......... and perhaps a windows or linux version of R3 + R3GUI (with table widget) and RIF and R3/services ;-) |
older newer | first last |