AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 5907 |
r3wp | 58701 |
total: | 64608 |
results window for this page: [start: 42601 end: 42700]
world-name: r3wp
Group: !REBOL3-OLD1 ... [web-public] | ||
Pekr: 4-Jan-2009 | hmm, but LNS is also a transport in itself. It at least can work upon http and cgi ... | |
BrianH: 4-Jan-2009 | All of these are transport layers, even Uniserve (which works on TCP). As long as things are simple at a given layer we're fine. | |
NickA: 4-Jan-2009 | Pekr, you're welcome to use the fms applications at rockfactory.us for any virtual conferences you want to set up, if that'll help at all ... that is, until we get a full REBOL video conference solution :) | |
Sunanda: 5-Jan-2009 | My response to a query aboit REBOL3 on REBOLtalk would not make a marketing person happy: -- year old alpha -- no obvious contact details for those wanting to get involved. Could someone better connected do a better job, please? http://www.reboltalk.com/forum/index.php/topic,1827.msg4644.html#msg4644 | |
Henrik: 5-Jan-2009 | Some status (not much since Pekr told most of this): - Improved console presentation (sounds so Windows-like, doesn't it? :-)) in the latest R3 alpha. http://rebol.hmkdesign.dk/files/r3/gui/178.png - Carl wants to do a larger release of R3 "soon". This involves a merge of my skin or parts of it. I'm not sure everything you see in screenshots can go in, because those parts are not clean enough. - Still working on RebDev. - Carl noted that RebDev helped him find many bugs in R3. Some of those are fixed. - GUI has not progressed for a couple of weeks as I'm working on a big R2 project. I will get a few days in January to help, but I won't get more time until mid-March at best. - Some Devbase submitted changes and fixes are added to R3. The intended priority for RebDev front-ends is: 1. R3 Shell (doing this now) 2. HTML mobile (doing this now) 3. R3 GUI 4. HTML pretty 5. R2 Shell 6. RSS feed 7. Whatever people want to do. | |
Sunanda: 5-Jan-2009 | Petr -- But there needs to be some evidence that the project is still alive and deliverying. A one-year old public alpha is not that. | |
Pekr: 5-Jan-2009 | You will surely agree, that so far, supporting C code is mostly a joke ... | |
Pekr: 5-Jan-2009 | re R3 /library. I talked about it with Carl one year ago. He was not sure /library component will be added as-is. Instead, he thought about making it a plug-in. But - plug-ins are done from some 80%? They also need 'modules, whicha re not finised too. But - we could do some preparation work. | |
Pekr: 5-Jan-2009 | I think, that having really good /library component could bring us many more wrapped external libraries - call it a deployment. Currently, we are missing on most of outer library stuff, and we are living in rebol-only world. | |
Maxim: 5-Jan-2009 | yess. doing a C/C++ importer is possible. especially for dll stuff which is autodocumenting in many cases. | |
Maxim: 5-Jan-2009 | but my .dll question was the opposite.... using rebol.dll within a C application... are there any docs about doing this yet? compiling your own interpreter, linking in your stuff on the C/C++ side of things is probably easier. than trying to tie them up from the rebol side of things... | |
Henrik: 5-Jan-2009 | Maxim, no docs on .dll yet. The current alpha is a single .exe. | |
Maxim: 5-Jan-2009 | I am slowly working towards elixirOS and that is a C version of elixir with rebol being the conscious brain, driving subconscious C datatypes and binary code... | |
Maxim: 5-Jan-2009 | not ready yet, but just wanting to see where things are now, so I can place my time and efforts properly. Already started to look at OpenGL a bit and started doing C++ again. | |
Maxim: 5-Jan-2009 | If you set it up, I will participate :-) I have done library stuff a few times, even fixing ladislav's memcopy hacks once. right now, I am faced with an signed/unsigned issue related to 16 bit values needed for a lib call... I honestly can't say from the library docs, if the negative 32bit value in rebol's integer will stay negative once converted to 16bits... for example. this kind of information is Crucial for stability. | |
Maxim: 5-Jan-2009 | also, for lib usage a GC-independant alloc() dealloc() equivalent would be VERY usefull. something we can manually free, in order to work with large dataset we really don't want the GC to grab. for example, using image magic, I can work with 10GB image files. composing 100 of those images into another. I can't let rebol's GC play around with such specific needs... this is just one example, but there are others. sometimes handling stuff manually is easier than hoping an automatic system will do so properly. in R2, images are never freed, for example, so for a task which rebol would be the ultimate image manipulator, I can't use it cause the third image I load from disk craps out rebol, since it grows beyond 1.5GB of RAM. | |
Pekr: 5-Jan-2009 | one question - isn't there any cute, cross-platform C compiler, which would not add more than 30KB to REBOL.exe, and could be included as a variant of rebcode? :-) | |
Maxim: 5-Jan-2009 | nope... its all working within the GC ... from the library docs: "For example, if a REBOL word that was defined as a struct! is reused to make another struct!, the memory used by the first struct! becomes unreferenced. Any unreferenced struct! values may be reclaimed by the REBOL garbage collector, even though the memory is owned by an external function." | |
Maxim: 5-Jan-2009 | yess I did, but in this case, the goal is to do interactive AGG manipulation of one image at a time and stamp it on a layered composition. by the time I load the third image (from a digital camera at 7.1 MPixel), rebol crashes :-( | |
Maxim: 5-Jan-2009 | (well maybe more than 7.1MPixel. but anyways... the fact that REBOL's memory footprint grows everytime I do load on a .png... and never shrinks... means it will eventually crash, whatever I do :-/ | |
Graham: 5-Jan-2009 | I have a script that invariably dies doing png stuff. | |
Henrik: 5-Jan-2009 | Maxim, does it also happen if you load it into a pre-allocated binary and clear it when you're done? | |
Henrik: 5-Jan-2009 | Maxim, no forget my question (takes too long for me to come up with a solution, and I must get back to work). | |
Maxim: 5-Jan-2009 | when I was doing my app, I was able to break rebol just with a make image! and some use of it in a function... but right now... can't remember the exact pattern I was using... calling make image! 10000x10000 twice is currently behaving correctly, growing to 800mb and shrinking back to 400mb | |
Maxim: 5-Jan-2009 | it was probably related to using the image in view or AGG specifically, or maybe specifically to using a png format image. | |
Maxim: 5-Jan-2009 | image magic rendered the equivalent of 100GB of image data for 1h30 at 100% CPU usage (and only a few hundred MB or RAM) and didn't fail... so I was very impressed by it, in any case | |
Maxim: 5-Jan-2009 | if I ever get back to that project (which is related to a visual arts project) I'll investigate further, but in any case, I'd try first within R3. I imagine that its better to debug them there within the gobs, if there is still an issue related to this... which I expect not to be the case anymore, since most if not all of this was rewritten. | |
amacleod: 5-Jan-2009 | I'm having a memor issue too. I have an app that uses a scroll panel that I fill with text and images (a "page"). Each time I change the panel data (the "page") the memory footprint increases. But If I reload a "page" that was previously displayed memory size does not change. I can see if the memory holding the "page" does not clear properly but how does it know that the "page" is already in memory? I'm holding the composed data in a block - page: copy [ composed page data ] and I clear it befrore rebuilding it - page: copy [ ] | |
Maxim: 5-Jan-2009 | as long as you have a single word pointing to data, it stays in ram. so if you re-link it within the face without changing it, all its doing is basically a window refresh. | |
amacleod: 5-Jan-2009 | I'm changing the content (text and images) of the page each time I "show" it in the scroll panel. And each time I "show" a new "page" memory use increases but if I re-"show" a page that was previously viewed memory use does not change significantly. | |
Janko: 5-Jan-2009 | I am not very experienced in how making bindings in various scripting languages work but I have fiddled around this a little... python by itself doesn't do anything automatic I think - and to my knowledge python isn't the best example of easy binding to c libs, but there are comunity provided tools that help you generate the interface code etc... most people I saw used SWIG (which works for a lot of languages) http://swig.sourceforge.net/.. but the chat was that if you use that tool you geet quite a bloated code for interface. | |
Janko: 5-Jan-2009 | If you want to look for languages that provide very elegant way of making bindings you should to my knowledge look at Lua (lua started with this) , lua provides simple to understand stack approach. Then there is haxe which provides even more elegant way to do this . Both languages also enable to embed the VM/interpreter into C++ app. I have used both to do both and it was very simple as I am not a power low level programmer | |
Janko: 5-Jan-2009 | The most elegant binding I have seen so far was done by Factor .. there you don't even have to "code" in a classical sense, you just define the interface and that's it ... as I said I am not very experienced in all this (I hacked factor's sqlite binding and to add another c function inthere I just added 1 line.) | |
Janko: 5-Jan-2009 | this is a link to nekovm's FFI , pretty simple to use http://nekovm.org/doc/ffi | |
Graham: 6-Jan-2009 | Rebdev only R3? Or can a R2 client be written? | |
[unknown: 5]: 6-Jan-2009 | Does anyone know if REBOL3 will include REBCODE functionality? If not, then it would be cool if we could DO rebcode from a REBOL3 script somehow. Such as DO %rebcode.bin to give us the functions of REBCODE to use in our scripts. | |
Henrik: 6-Jan-2009 | There is no rebcode in R3 as it would be a different challenge to put it in there than in R2. R2 also offered certain tricks that are not possible in R3, which would make rebcode run slower in R3. BrianH has explained this a few times (but I can never remember the exact explanation :-)). | |
[unknown: 5]: 6-Jan-2009 | Would be nice to just pass the arguments to a rebcode module and have it pass them back. Even giving rebcode networking features might enable that. | |
[unknown: 5]: 6-Jan-2009 | Henrik, do you know if Carl would be up to building a rebcode based 2.7.6? | |
Henrik: 6-Jan-2009 | That's a special build. Also rebcode was never really finished as there are security issues with it. | |
[unknown: 5]: 6-Jan-2009 | I would use it if it were a separate process that I could access via networking port just to get to the computational advantages. | |
Henrik: 6-Jan-2009 | it's a full REBOL/View build, so it should work | |
Henrik: 7-Jan-2009 | I think that TCP/IP is pure async and HTTP also, but functions like READ would work in a synchronous manner. | |
Henrik: 7-Jan-2009 | On another note, a new R3 internal release was made a few hours ago with all of BrianH's changes submitted to DevBase. Yay! | |
Chris: 7-Jan-2009 | Petr (from Ports): http://www.rebol.net/wiki/Port_Implementation http://www.rebol.net/wiki/Ports http://www.rebol.net/wiki/Port_Examples(a good one ....) http://www.rebol.net/r3blogs/0127.html"Pruning down Read and Write" http://www.rebol.net/r3blogs/0128.html"Skip and Seek on ports" http://www.rebol.net/r3blogs/0129.html- async http transfer using tcp http://www.rebol.net/r3blogs/0130.html"More about port layers" (continuation of Pruning down Read and Write article) | |
BrianH: 7-Jan-2009 | Just discovered today in R2: LOAD/header has two errors. - LOAD/header of a directory should fail with a syntax error, but doesn't. - LOAD/header "rebol []" or the script equivalent should return the header object in a block, but instead returns it straight. The /header option is being checked at a lower priority than it should be. Fixed in R3 today though. | |
BrianH: 7-Jan-2009 | LOAD is a mezzanine in R3. You have no idea how cool this is :) | |
btiffin: 7-Jan-2009 | Re; LOAD; well yeah ... TRANSCODE can be used to support junk! now. ;) You'll love it Brian, really. You can have your grandma asking you questions about deep deep PARSE problems as she dances around the console analyzing her grocery list, while you point out that the total is actually wrong due to a lexical problem with some of the money! values. Then, 4 months later, she'll teach you something that her new perspective and point of view made possible as she unveils the world's greatest home management software ... like evv-a. :) | |
btiffin: 7-Jan-2009 | Sorry BH, I meant junk! and a version of REBOL that loads any value any time any place by anybody. | |
btiffin: 7-Jan-2009 | And do dis' meant toward grandma. I would have guessed she had IQ, many times it is a family trait. ;) | |
BrianH: 7-Jan-2009 | Write it yourself. Use a user-defined junk! string type, and your own LOAD to work with it. It's easy (for experts). I've rewritten LOAD several times in the last week, twice today :) | |
BrianH: 7-Jan-2009 | You don't want LOAD to be relaxed by default - that would be a debugging nightmare. I think that an optional user-provided fallback function would be a better choice. I'll look into retrofitting LOAD with one once we get LOAD/next working. | |
BrianH: 7-Jan-2009 | You certainly don't want a junk! type by default. | |
btiffin: 7-Jan-2009 | And re debugging, no I don't think so. touching junk! would throw, and throw hot perhaps. But it could float around in a block happily waiting to be analyzed or triggered. Dang, another promise broken in under a minute. One thing, REBOL can sure induce passion! Now, there is a name for a datatype! | |
Maxim: 7-Jan-2009 | for people learning the language and for many short scripts... the able is a simple no-brainer, which just works. | |
BrianH: 7-Jan-2009 | The debugging problem is that the locality of the error is lost. By allowing invalid data to be loaded, you put a timebomb in your data to be triggered at some later time, by code that doesn't see it coming. You want errors in your scripts to be triggered as soon as possible, and as close to the source of the error as possible, or you'll never find it. | |
BrianH: 7-Jan-2009 | Errors are the best friend a proigrammer can have. | |
BrianH: 7-Jan-2009 | That's why I think fallback processing is a better solution. | |
Maxim: 7-Jan-2009 | and having to create a callback for it would also have been much harder than just not doing anything with it. | |
Maxim: 7-Jan-2009 | and giving a dead-simple way to ignore or trap it is in line with rebol's kiss philosophy IMHO. but I do think that for serious *parsing* and dialecting, your proposal is much better. | |
Steeve: 7-Jan-2009 | just a thing, as far i know, "comma" are used no where in rebol values (except in replacement of points) why are they not handled by load as a separator like tab or blank | |
Maxim: 7-Jan-2009 | there could be a /separator refinement also! btw. | |
BrianH: 7-Jan-2009 | For a fallback option, I'm thinking a function argument which takes one parameter (the input at the point of failure), or perhaps one of a set of words that denote standard handling strategies (like 'skip). | |
BrianH: 7-Jan-2009 | Prohibiting commas was a deliberate design choice, one I agree with. REBOL is not C or English. | |
BrianH: 7-Jan-2009 | You can't see a tab or newline (not really). | |
Steeve: 7-Jan-2009 | block: [a,b,c,d,e,f]; should be allowed with comma as blank separator | |
Maxim: 7-Jan-2009 | but when loading from a string yes. | |
Maxim: 7-Jan-2009 | what we are saying is that there should then be a function called "impoert | |
Steeve: 7-Jan-2009 | Brian we know historicaly that the prohibition is a wrong way ;-) | |
Steeve: 7-Jan-2009 | probably Carl during his childhood was hurted by a comma so that he can't see them now | |
Maxim: 7-Jan-2009 | a simple CSV file, for example. | |
BrianH: 7-Jan-2009 | People underestimate how much thought went into the REBOL syntax. REBOL was carefully and deliberately designed for quick programming. One of the most important choices was to not use commas and periods, because it is tricky to tell them apart or see them when reading a lot of code. They are not used in numbers either, because they are ambiguous in internationally visible code. | |
Maxim: 7-Jan-2009 | brian, allowing a relaxed mode alllows me to be quick. as opposed to try and manually redo what rebol does already. using the actual commas within code IS evil, don't get me wrong. | |
BrianH: 7-Jan-2009 | Unfortunately a lot of the syntax choices were based on the US keyboard (hence the [ and ]). | |
Maxim: 7-Jan-2009 | but parens imply an expression... not containment... so I do feel that the use of ( ) is not very a very good choice for rebol, where both are intrinsically different in rebol. | |
Steeve: 7-Jan-2009 | Brian ( ) are used a lot in human languages ;-) | |
BrianH: 7-Jan-2009 | [ , "]", "/" and "-" were chosen because they can be typed on a US English keyboard without using the shift key. The fact that you can program in REBOL without using the shift key most of the time speeds up your typing of REBOL code (though not the name REBOL). | |
btiffin: 7-Jan-2009 | I'll just make a remark about "invalid" data. If the lexical stashed those in foreign! it would no longer be "invalid", it would become the REBOL foreign! datatype! You can't add email! url! but they are sitll loadable values. And again, professionals are NOT who I want to assist here. It's the casual home user. Allow 1000 casual users, 30 might become rebols, 1 might become a valued member of REBOL3 that we learn something from or develops Video Altme. We add to the pile. | |
btiffin: 7-Jan-2009 | a comma would be lexically foreign! | |
BrianH: 7-Jan-2009 | I was typing in English, not REBOL. There's a difference. | |
Maxim: 7-Jan-2009 | brian, I think everyone is just talking about a standardized, way to load human-readable data. we know its not REBOL data. | |
Maxim: 7-Jan-2009 | If can tell someone that he can use his "CURRENT" data directly within rebol, there is a chance he'll actually try it out.. | |
Maxim: 7-Jan-2009 | I think we should have a function called 'ASSIMILATE. | |
BrianH: 7-Jan-2009 | For that matter, every option added to a function is an option that needs to be checked at runtime. That has overhead too. | |
BrianH: 7-Jan-2009 | If you want to make a grandma language, good for you. I say language instead of dialect because changing the syntax changes the langage - dialects use thee same data syntax, that is where they get their speed. | |
btiffin: 7-Jan-2009 | Do you not see the simplicity of foreign! data? No speed problems, the lexical gets to a point where it would throw and it stashes a foreign!, keeps on truckin'. | |
BrianH: 7-Jan-2009 | Here's the current source for LOAD: load: func [ {Loads a file, URL, or string.} source [file! url! string! any-block! binary!] /header {Includes REBOL header object if present. Preempts /all.} ; /next {Load the next value only. Return block with value and new position.} ; /library {Force file to be a dynamic library. (Command version)} ; /markup {Convert HTML and XML to a block of tags and strings.} /all {Load all values. Does not evaluate REBOL header.} /unbound {Do not bind the block.} /local data tmp ][ ; Note: Avoid use of ALL func, because of /all option if any-block? :source [return :source] data: case [ string? source [to-binary source] binary? source [source] ; Check for special media load cases: (temporary code) find [%.jpg %.jpeg %.jpe] suffix? source [ return load-jpeg read/binary source ] url? source [read source] ; can this possibly return not binary! ? file? source [read source] ; binary! or block of file! ] ; At this point, data is binary!, a block of file!, or something weird. if binary? :data [ unless find [0 8] tmp: utf? data [ cause-error 'script 'no-decode ajoin ['UTF tmp] ] ; Only load script data: if any [header not all] [ ; Note: refinement /all if tmp: script? data [data: tmp] ] ] unless block? :data [data: to block! :data] ; reduce overhead ; data is a block! here, unless something really weird is going on tmp: none ; Is there a REBOL script header: if any [header not all] [ ; /header preempts /all tmp: unless any [ ;not any [file? source url? source] ; removed: hdr in string is same unset? first data ; because <> doesn't work with unset! 'rebol <> first data not block? second data ][ ; Process header: attempt [construct/with second data system/standard/script] ] ; tmp is header object or none here case [ tmp [ remove data either header [change data tmp][remove data] tmp: tmp/type = 'module ; tmp true if module ] header [cause-error 'syntax 'no-header data] ] ] ; tmp is true if module, false or none if not ; data is a block!, with possible header object in first position ; Bind to current global context if not a module: unless any [ unbound tmp ; not a module ][ bind/new data system/contexts/current ] ; data is a block! here, unless something really weird is going on ; If appropriate and possible, return singular data value: unless any [ ; avoid use of ALL all header ; This fixes a design flaw in R2's LOAD ;not block? :data ; can this ever happen? empty? data ; R2 compatibility not tail? next data ][data: first data] ; If /all or /header, data is a block here :data ] | |
Maxim: 7-Jan-2009 | hell, I even have a "I LOVE BUSH" day every year... I'm 1/365 republican ! | |
BrianH: 7-Jan-2009 | See, that is what we need! A separate function. | |
btiffin: 7-Jan-2009 | Ok, I'd gladly accept a separate function, but ship it with REBOL for grandma and the professors of the world. Don't make them hunt it down and DO it as a special case. But to be honest, I'd still prefer a foreign! datatype! and advertise REBOL as a human readable language. Much power in that ad imho. | |
Steeve: 7-Jan-2009 | >>a: 1 >> t loop 1000000 [case [block? a [] integer? a []]] tt 0:00:00.534 >> t loop 1000000 [switch type?/word a [block! [] integer! []]] tt 0:00:00.433 | |
Chris: 7-Jan-2009 | BT: It should at least be a separate function, but I suggest separate from the language too. a) it's too much baggage, and b) the scope for recognising string patterns could better be handled in a more open way. | |
btiffin: 7-Jan-2009 | Too much baggage for the pros, yes. Just right for a Professor of Geography or home user, imho. Don't fear those that don't normally program, help them. No? | |
Chris: 7-Jan-2009 | Too much baggage for the language. Perhaps it could be incorporated into a beginner's binary? I understand the need, even for pros too... | |
btiffin: 7-Jan-2009 | I still don't see how a lexical foreign! would be that expensive. Am I just not getting it? Again, you cant ADD email! url! but they are valid types. Make foreign! a valid type and then REBOL loads anything and series! operations can operate freely. | |
BrianH: 7-Jan-2009 | Adding a lexical foreign! means you add the overhead of checking for valid syntax to *all* REBOL code, not just LOAD. It removes your ability to trust that what comes out of LOAD is valid. That is a huge overhead to all REBOL code, and would be the source of most REBOL bugs in the future. It is a horrible thing to do to the community. | |
btiffin: 7-Jan-2009 | It becomes a new datatype! with the semantics of junk. | |
BrianH: 7-Jan-2009 | It can't throw an error, or you wouldn't be able to parse it to get anything ot of it. If it is another string type you'd have to check for it at every evaluation, because you aren't getting a nice error to escape out of yor code. It's either useless or a nightmare. | |
btiffin: 7-Jan-2009 | Yes, meaningless; but there would be less syntax errors. And once in a block, cleaning could be done, but wouldn't have to be. That would be up to the domain problem at hand. I may never be convinced that having rules for what can be added would be that much different if REBOL were allowed to make foreign! | |
btiffin: 7-Jan-2009 | so do [$10,000,000.00] throws, but a: [$10,000,000.00] is accepted as foreign! |
42601 / 64608 | 1 | 2 | 3 | 4 | 5 | ... | 425 | 426 | [427] | 428 | 429 | ... | 643 | 644 | 645 | 646 | 647 |