AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 9 |
r3wp | 104 |
total: | 113 |
results window for this page: [start: 1 end: 100]
world-name: r4wp
Group: !REBOL3 ... General discussion about REBOL 3 [web-public] | ||
BrianH: 21-Jan-2013 | Overall, "private" modules are really useful if you are writing traditional modular systems that require explicit importing to manage complexity. This should be familiar to people who have worked with Maxim's slim modules, or Gabriele's module system for R2. The "regular" modules are more useful for writing library code that is intended to be used by people writing scripts, as if R3 were not a modular system. This should make things easier for people coming from R2 or some other non-modular or weak-modular language. Underneath, a "script" is another kind of module; it's just the type of module that does the best job of pretending that it isn't a module. | |
Maxim: 21-Jan-2013 | one big difference is that slim doesn't bind to a global library area. each module is completely shielded and imports "on its own". its a hierarchical system without namespaces. | |
Maxim: 21-Jan-2013 | but I'll probably be using modules as the basic construct for slim R3, instead of objects... in my model, it might not really matter, I manage access/biding to/from modules actually altering and expanding the module when it is being loaded. the data being sent to slim isn't executed directly, the block is sent to a manager, which does some binding and security stuff first. | |
Maxim: 21-Jan-2013 | anyhow... Brian and I will eventually get to actually implementing the R3 module / slim model sometime this year. I don't want to start a philosophical debate here. :-) | |
Gregg: 21-Jan-2013 | And it should have links to Slim and other alternatives. | |
BrianH: 21-Jan-2013 | Maxim, slim modules are like R3's named private isolated modules. And the equivalent of the "global library area" in R2 is system/words, so if you have any code that binds to or imports from system/words then you have the equivalent of lib. | |
BrianH: 21-Jan-2013 | Btw, module systems like slim are the reason why I changed the underspecified parts of Carl's original module system into features that you might find familiar. It wasn't based on slim specifically, or even Gabriele's system, but an earlier module system that I wrote for the Apache module version of R2 back in 1999. It had similar characteristics to your module systems because I had come from strong modular languages like Oberon and Delphi, and because I had to solve some of the same problems you did. | |
BrianH: 21-Jan-2013 | Adding the slim management tools won't change the semantic model of R3's modules much, because that semantic model is the result of the system model. However, applications designed to be managed by slim would likely use a different module type by default than applications that are designed around R3's model. Same for porting stuff written for Gabriele's module system, you'd be using the same module type (named private isolated). That's OK, R3's module system supports those models already :) | |
BrianH: 27-Jan-2013 | I can imagine that if you want to have a module somehow negitiate some passwords and don't want them to leak, or some other security issue, you might want to write the module to be isolated. Also, if Maxim wanted to port slim to R3, or someone wanted to port Qtask (I forgot what it's called now, sorry) or some other code written for Gabriele's PowerMezz modules to R3, they might want to use named, private isolated modules. |
world-name: r3wp
Group: All ... except covered in other channels [web-public] | ||
Janko: 4-Apr-2009 | I wouldn't build stemmer into search engine .. keep it slim :) .. In my case with solr I process the docs before I index them and then I do the same to search queries .. it's all outside of solr.. | |
Group: Ann-Reply ... Reply to Announce group [web-public] | ||
Pekr: 31-Oct-2006 | >> do http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=glayout-demo.r connecting to: www.rebol.org Script: "GLayout demo" (31-Oct-2006) Script: "SLiM - STEEL | Library Manager" (14-Jul-2004) ** Script Error: Invalid path value: find-path ** Near: unless slim/find-path %GLayout.r [ either confirm "GLayout not found. Download it from Rebol.org?" [ either ... | |
Maxim: 1-Nov-2006 | following discussion from ann-reply : Pekr: >> do http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=glayout-demo.r connecting to: www.rebol.org Script: "GLayout demo" (31-Oct-2006) Script: "SLiM - STEEL | Library Manager" (14-Jul-2004) ** Script Error: Invalid path value: find-path ** Near: unless slim/find-path %GLayout.r [ either confirm "GLayout not found. Download it from Rebol.org?" [ either ... hum, looking at the date besides your slim install... its a very old version! I guess you had tried it out a few years back and still use the same rebol install or user. just delete the slim.r file and the demo script will download it for you again. | |
Maxim: 13-Jun-2009 | my view is that choice is the right answer. use what makes sense, import, slim, include. I have an even higher level than include with distro-bot. but still use do directly often. | |
Maxim: 15-Jun-2009 | and since we can build modules dynamically, I guess that we could do like slim and embed the dynamic version of the module within the source code directly. | |
Group: RAMBO ... The REBOL bug and enhancement database [web-public] | ||
Maxim: 12-Oct-2006 | not anymore... I'm not setup for this anymore... unfortunately, I don't have a lot of time tonight... I have to test cheyenne and start putting my web site back online in order to get slim, glayout and liquid "out in the open". | |
Group: Core ... Discuss core issues [web-public] | ||
DideC: 4-Mar-2005 | Isn't what slim does ? Holding paths for code library (scripts) and allowing to just slim/load %script-name.r where the file is in one of the folder in slim path !! | |
DideC: 4-Mar-2005 | I mean Maxim's Slim ! | |
Maxim: 9-Nov-2006 | I have been toying with the idea to add system environment variable support in slim for the path resolution :-) | |
Ladislav: 13-Jun-2009 | Max prefers his Slim, I know | |
Ladislav: 13-Jun-2009 | BTW, Max: how old is the newest Slim version? | |
Maxim: 13-Jun-2009 | slim is practically the same as module in philosophy, and in many areas the same functionaly too. | |
Maxim: 13-Jun-2009 | I use slim and prebol together within the sdk, it works very well. I should use %include.r though, its much better and would solve a few little complexities I have with using the prerebol.r | |
Maxim: 13-Jun-2009 | and slim, which has the same dynamic and static linking capabilities. | |
Group: Script Library ... REBOL.org: Script library and Mailing list archive [web-public] | ||
Maxim: 15-Sep-2006 | pow! all fixed :-) just need to let slim build the new release from all the included files and we are set ! I will also be doing just a little bit of cleanup within GLayout to reduce the size of the final single-file app... | |
Maxim: 29-Sep-2006 | wrt slim, people might say its not documented... well, it was all documented on the web for a long time... but that didn't change anything. And I can't be the only one providing all the answers for such a community oriented project. Other people have to jump in. The list of advanced features within slim is too long to list here, but it has many things even python coders wish they had. | |
Maxim: 29-Sep-2006 | I am not talking about adopting slim as it is. it maybe too full-featured. but we need a common reference. and people underestimate how Carl perceives the work done by the community. If the community tends to its own. and creates a precedent... I know Carl will be only too happy to work in the same direction. | |
Group: View ... discuss view related issues [web-public] | ||
Maxim: 10-Jul-2009 | if you download the glayout demo, it will download the glayout and slim, for you.. | |
NickA: 20-Jan-2010 | Rebolek, like many other options, things like save/jpg may not need to be included in the default slim installation of REBOL, but I'm sure there are many users who would love to have the option of downloading a 100k+ library, function, plugin, etc. to easily enable this functionality. I don't care if I have to download and do some code, that's trivial - just having the option available would be phenomenal. | |
Group: Linux ... [web-public] group for linux REBOL users | ||
amacleod: 5-Apr-2009 | Sort of like an appliance... The perfect setup would be to boot into a slim xwindows environment with no or minimal wmanger running my app but have key combo at start up to boot into full linux desktop | |
Group: Web ... Everything web development related [web-public] | ||
Anton: 8-Feb-2005 | >> path-thru http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=slim.r == %/D/Anton/Dev/Rebol/View/public/www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r%3Fscript-name=slim.r >> load-thru http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=slim.r connecting to: www.rebol.org connecting to: www.rebol.org == [ SLiM: make object! [ id: 1 slim-path: what-dir libs: [] paths: [] linked-libs:... >> exists-thru? http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=slim.r == %/D/Anton/Dev/Rebol/View/public/www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r%3Fscript-name=slim.r | |
Janko: 28-Apr-2011 | about JS libs: I don't use jQuery .. it's oweblown for what I want (I don't need it to reinvent javascript). If I need any complex components like datepicker (which I don't want to reinvent) I use mootools usually (because you can use just needed parts of it). jQuery UI modules (which has this) are very very slow and CSS is so complex I don't even start to get it how to customize it. Dojo always seemed this mega lib that I don't want either. If I go to their demos (at least last time I looked) everything is slow and unresponsive. I want my things to be slim on code and snappy. Prototype (mootools does this also, but I think a little less) is first generation JS lib (that started it all). I think it heavily monkey patches the core JS/DOM objects.. thats why I don't like it. I also neve use css3 selectors in my JS code (that is a major part why people use jquery and likes). I always move relative to an element with seekFwd, seekIn, seekOut, seekBack fuctions I have or just use ID of element (and then seek if needed). | |
Group: Announce ... Announcements only - use Ann-reply to chat [web-public] | ||
Maxim: 31-Oct-2006 | There is finally a script to demonstrate some of GLayout's current capabilities. the demo script will download and save slim and glayout on its own (asking first), hands free, no obscure installation needed. do http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=glayout-demo.r | |
Maxim: 1-Nov-2006 | STEEL web site - tools for REBOL is now moved and completely refreshed. currently has up to date information on liquid, slim and reTools. Will be uploading some GLayout docs next week. | |
Maxim: 17-Nov-2006 | GLayout demo 0.9.1 Released: ------------------ -auto-updates latest version of GLayout (as per slim requirement). -new layout using switchpad (btw, switchpad automatically adds a right-click popup to select panes) -takes advantage of new GLayout features. -improved input field filter example, now properly reacts to caret offset (cursor) -better button and field options examples -adds center style examples. do http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=glayout-demo.r | |
Group: !RebGUI ... A lightweight alternative to VID [web-public] | ||
Pekr: 10-Mar-2005 | is there anything to try already? How does it compare to Maxim Glayout or how is that called? Or Slim, or Steel? Never know what Maxim's names, terms etc. mean :-) | |
Robert: 16-Apr-2006 | I'm using SLIM to handle some module loading. | |
Robert: 16-Apr-2006 | Here is a short example when it fails: rebol [] ;--- Startup if system/product == 'Link [ attempt [call reduce ["d:\rebol\view\rebol.exe" system/script/header/file] quit] attempt [call reduce ["c:\programme\rebol\view\rebview.exe" system/script/header/file] quit] attempt [call reduce ["c:\rebol\view\rebol.exe" system/script/header/file] quit] quit ] ;-- use xpeers framework structure link-root: first split-path system/script/path link-root: copy/part link-root index? find link-root "/xpeers/" append link-root %xpeers/ do link-root/framework/anamonitor300.r do link-root/framework/slim.r ;-- RebGUI stuff #include %rebgui.r unless value? 'ctx-rebgui [do link-root/framework/libraries/rebgui.r] ;-- SLIM stuff slim/open 'debug none ; [mark-my-words] ; mark-my-words/init unit-size: 4 font-size: 12 tab-size: 120x55 display/min-size "CalcIT" compose/deep [ label "Land" drop-list 60 data ["A" "B"] return ] 1024x768 do-events halt | |
Robert: 16-Apr-2006 | If I comment the slim/open... line it works. | |
Maxim: 18-Apr-2006 | this is strange... here is a stupid first test, try to call rebgui after slim... does that change anything? | |
Awi: 17-Feb-2011 | I just want to share my modifications of the chat widget in b177, I needed a slimmer chat. It should also fix the resize issue: REBOL [] slim-chat: make baseface [ options: { USAGE: chat2 120 data ["Bob" blue "My comment." yello 14-Apr-2007/10:58] DESCRIPTION: Three column chat display as found in IM apps such as AltME. Messages are appended, with those exceeding 'limit not shown. OPTIONS: [limit n] where n specifies number of messages to show (default 100) [id n] where n specifies id column width (default 10) [user n] where n specifies user column width (default 15) [date n] where n specifies date column width (default 25) } size: 200x100 pane: [] data: [] edge: default-edge action: make default-action [ on-resize: make function! [face] [ poke face/pane/2/para/tabs 2 face/pane/1/size/x - sizes/slider - (sizes/cell * any [select face/options 'date 25]) face/redraw/no-show ] ] height: 0 ; actual pixel height of all messages (-1 ensures first message is offset to hide it's edge rows: 0 ; number of messages limit: none ; last n messages to display append-message: make function! [ user [string!] user-color [tuple! word! none!] msg [string!] msg-color [tuple! word! none!] date [date!] /no-show row /local p y t1 t2 t3 ] [ ; cache current tab stops p: self t1: pick pane/2/para/tabs 1 t2: pane/1/size/x - sizes/slider - (sizes/cell * any [select p/options 'date 25]) p: self ; get height of message y: max sizes/line 4 + second size-text make baseface [ size: as-pair p/size/x - sizes/slider + 1 10000 text: msg font: default-font para: para-wrap ] insert tail pane/1/pane reduce [ make baseface [ offset: as-pair -1 height - 1 size: as-pair t2 21 span: all [p/span find p/span #W #W] text: user edge: make default-edge [size: 0x1] font: make font-top [color: either word? user-color [get user-color] [user-color] style: 'bold] color: either word? msg-color [get msg-color] [msg-color] ] make baseface [ offset: as-pair -1 height - 1 + 20 size: as-pair p/size/x - sizes/slider + 1 y text: form msg color: either word? msg-color [get msg-color] [msg-color] edge: make default-edge [size: 0x1] font: default-font para: para-wrap ] make baseface [ offset: as-pair t2 - 1 height - 1 size: as-pair (sizes/cell * any [select p/options 'date 25]) + sizes/slider + 1 21 span: all [p/span find p/span #W #X] text: form either now/date = date/date [date/time] [date/date] edge: make default-edge [size: 0x1] font: make font-top [style: 'bold align: 'right] color: either word? msg-color [get msg-color] [msg-color] ] ] height: height + y - 1 + 20 if ((length? pane/1/pane) / 3) > limit [ y: pane/1/pane/2/size/y + pane/1/pane/1/size/y - 2 remove/part pane/1/pane 3 foreach [u m d] pane/1/pane [ u/offset/y: u/offset/y - y m/offset/y: m/offset/y - y d/offset/y: d/offset/y - y ] height: height - y ] unless no-show [ insert tail data reduce [user user-color msg msg-color date] pane/1/size/y: height pane/3/ratio: pane/3/size/y / height show p ] show pane/1 ; !!! this cleans up artifacts but "eats" other widgets redraw events !!! ] set-user-color: make function! [id [integer!] color [tuple! word! none!] /local idx] [ if any [zero? id id > rows] [exit] poke data id * 5 - 3 color if limit > (rows - id) [ idx: either rows > limit [(id + limit - rows) * 3 - 2] [id * 3 - 2] pane/1/pane/:idx/font/color: either word? color [get color] [color] show pane/1/pane/:idx ] ] set-message-text: make function! [id [integer!] string [string!] /local idx] [ if any [zero? id id > rows] [exit] poke data id * 5 - 2 string if limit > (rows - id) [ idx: either rows > limit [(id + limit - rows) * 3 - 1] [id * 3 - 1] insert clear pane/1/pane/:idx/text string redraw ] ] set-message-color: make function! [id [integer!] color [tuple! word! none!] /local idx] [ if any [zero? id id > rows] [exit] poke data id * 5 - 1 color if limit > (rows - id) [ idx: either rows > limit [(id + limit - rows) * 3 - 1] [id * 3 - 1] pane/1/pane/:idx/color: either word? color [get color] [color] show pane/1/pane/:idx ] ] redraw: make function! [/no-show /local row] [ clear pane/1/pane height: 0 rows: (length? data) / 5 row: max 0 rows - limit: any [select options 'limit 100] foreach [user user-color msg msg-color date] skip data row * 5 [ append-message/no-show user user-color msg msg-color date row: row + 1 ] pane/1/size/y: height pane/3/ratio: either zero? height [1] [pane/3/size/y / height] unless no-show [show self] ] init: make function! [/local p] [ unless options [options: copy []] p: self limit: any [select options 'limit 100] ; chat pane (1) insert pane make baseface [ offset: as-pair 0 sizes/line size: p/size - as-pair sizes/slider sizes/line span: all [p/span find p/span #W #W] pane: [] ] ; heading (2) insert tail pane make gradface [ offset: -1x-1 size: as-pair p/size/x sizes/line text: "Chat" span: all [p/span find p/span #W #W] font: make font-button [align: 'left] para: make default-para [tabs: [0 0]] ] ; set header tabs poke pane/2/para/tabs 1 sizes/cell * (any [select options 'user 15]) poke pane/2/para/tabs 2 size/x - sizes/slider - (sizes/cell * any [select options 'date 25]) ; vertical scroller insert tail pane make slider [ offset: as-pair p/size/x - sizes/slider sizes/line - 2 size: as-pair sizes/slider p/size/y - sizes/line + 2 span: case [ none? p/span [none] all [find p/span #H find p/span #W] [#XH] find p/span #H [#H] find p/span #W [#X] ] action: make default-action [ on-click: make function! [face] [ if height > face/size/y [ face/parent-face/pane/1/offset/y: (height - face/size/y * negate face/data) + sizes/line show face/parent-face ] ] ] ] pane/3/init action/on-resize self ] ] | |
Awi: 17-Feb-2011 | To use this, just save it as slim-chat in rebgui/widgets, and then do create-distribution.r. It's fully syntax-compatible with the existing chat widget. | |
Awi: 17-Feb-2011 | I forgot, you will need to add #include %widgets/slim-chat.r in rebgui-widgets.r | |
Group: PowerPack ... discussions about RP [web-public] | ||
Robert: 28-May-2005 | One major point wasn't said: We need a library system to handle all this. I won't use code, where I need to 'do zillions of single files in a specific order, handle path and lookup things, need local sub-directories to load images etc. I'm still using Slim on my xpeers system, because that's the only thing I know about that handles all this quite well. And I can tell you, it pays off. Something like this is required. | |
Group: Rebol School ... Rebol School [web-public] | ||
Geomol: 8-Feb-2009 | kib, it's probably not hard, maybe take a bit of work to make it really slim and clever. I just have a ton of projects in the air all the time, so I didn't come to it yet. | |
Group: Tech News ... Interesting technology [web-public] | ||
Robert: 16-Jun-2006 | You want the billion $ idea for digi-cams? Add a SLIM and BEAUTIFY button that will alter the taken pictures in real-time. | |
Henrik: 3-Feb-2007 | There are so many technological fields opening up as more things are made possible. I imagine one could apply for a job as an astronaut in 50 years, if you are fit enough and remember to eat your daily slim-fit foodpill. What about the stabilization and development of poor countries in 50 years? If they are going to be as consuming and as productive in 50 years as an industrial country is today, then there is going to be millions of new jobs available. Technology and progress make far more jobs than they destroy. | |
ddharing: 9-Apr-2011 | It appears that the VIC Pro and VIC Slim are available for purchase now. -- http://www.commodoreusa.net/CUSA_Store.aspx | |
ddharing: 21-Jun-2011 | Commodore USA has released a new video showing their office, production area and the progress of both the new Commodore 64 and the VIC-Slim. Here's the link: http://commodoreusa.net/CUSA_FacilityVideo.aspx | |
Group: !REBOL3-OLD1 ... [web-public] | ||
Maxim: 20-Apr-2006 | I wish modules existed, hell, that's why I coded slim which handles code modules almost 90% exactly like Carl had planned them. | |
Maxim: 3-Apr-2009 | anton, slim doesnt expose ANY words in the global context. module interdependency is assured even if they each need each other's code. and the infrastructure is embeded, where its the code LOADING the module which decides what to include. by declaring words in a module, that uses another module, you don't even expose those words. this is available in R2 for 5 years now. slim/load 'module-name version module-name is searched for in search paths and must match header name, or its ignored. slim/load/expose 'module version [a-function another-function] you can even rename the funcs as you are exposing them to enforce code to cooperate: slim/load/expose 'module version [[module-name my-own-name] [other-module-name my-other-name]] | |
Maxim: 3-Apr-2009 | slim also has an auto-prefix option when you import words. so as to make "collections" easy to differentiate, without having to rename each one separately. | |
Anton: 3-Apr-2009 | Maxim, ok, that's Slim, your software. I was just basically explaining to Steeve why I would strongly discourage using SET to export words. | |
BrianH: 3-Apr-2009 | Maxim, I write modular code in R2 as well, though with Gabriele's modules, not Slim. | |
Ammon: 3-Apr-2009 | Just curious Maxim... Would SLIM properly catch the following code? hax: does [ do load {set 'global-leak! "Mwahahaha!"}] >:) | |
Maxim: 3-Apr-2009 | (in slim) | |
Maxim: 15-May-2009 | cause all I've read of the R3 engine, slim already handles a part from actual enforcing of the privacy. | |
Maxim: 12-Jun-2009 | its funny its sooo close to slim ... and slim is over 5 years old ;-) | |
Maxim: 12-Jun-2009 | but there is definitely one thing that needs to be added, unless its just not documented. the ability for import to RESTRICT what is exported by the module. this is the most powerfull concept in slim and I'll never want to live without it. in slim, its the module USER that has control over the module. when you load the module, by default it uses the module's expose list, but if you supply your own, then the module doesn't expose anything else than what you ask of it. this allows me to have a clean current context, and I can prevent my module from cluttering the context its loaded in. especially if its loaded AFTER some code has been defined, or using common global words. | |
Maxim: 12-Jun-2009 | well, I'm giving you 5 years of daily real-world usage above ;-) a lot of the slim spec has not been used, by natural selection, but the above is in just about 95% of all of my code. | |
Maxim: 13-Jun-2009 | Ladislav, good idea, I'll add a section on slim at the end. | |
Maxim: 13-Jun-2009 | and that is the core reason for the existence of SLIM. | |
Maxim: 13-Jun-2009 | slim also allows you to rename the words AS you are importing them, solving the name clashing cleanly and obviously. This is very usefull when you are using frequently updated libs. and is even more usefull when those libs aren't readily editable. (encrypted, compressed, etc) | |
Gregg: 13-Jun-2009 | I also vote for the module system to support the ability to restrict what you import, and SLiM's ability to rename words on import (and prefix them) is very nice. | |
Maxim: 14-Jun-2009 | what you are saying is that for modules, we need to start declaring words? not very rebolish. I have to do so in slim to keep words local to the calling context, but I would have tought that modules would do so automatically since they replace the global context. any new word in the root of the spec block of the module should be added to the module's context and set to unset! just like R2's global context does. | |
Maxim: 14-Jun-2009 | just like slim's LOAD is a fancy DO ;-) | |
Maxim: 14-Jun-2009 | that would be slim's 'OPEN... starting to be late... hehe | |
Maxim: 20-Aug-2009 | well, I've been doing that for years with slim ;-) | |
BrianH: 9-Dec-2009 | However, it does mean that the trust model of R3's module system is different than that of Slim. In particular, you are supposed to be able to tell everything you need to know about a module from its loaded source, or from its header if there is no source available. If you don't trust the module, or if it would trounce the other modules you are loading, don't use it. The R3 module system is designed for competent programmers who need to organize their code, but don't want to be bogged down in the beaurocratic overhead of maintaining import graphs in a multitasking environment. There is enough flexibility to help you structure your application as you see fit, and very little management overhead at design, development or run time. And it's statically determinable so a preprocessor can turn it all into one script with nested modules if need be. | |
Maxim: 9-Dec-2009 | slim allows nested static linking, preserving the import system ;-) its the multi-tasking part I don't get... what do you mean by that? | |
Group: Postscript ... Emitting Postscript from REBOL [web-public] | ||
Maxim: 13-Apr-2006 | and slim. | |
Group: !GLayout ... ask questions and now get answers about GLayout. [web-public] | ||
Maxim: 21-Sep-2006 | in detail, unless you use slim-link to produce a source which INCLUDES glayout or slim, your application is not obliged to be open source, this applies even when your application is encapped. just keep the slim.r and glayout files external and you are still ok in using it. | |
Group: !Liquid ... any questions about liquid dataflow core. [web-public] | ||
Geomol: 4-Feb-2007 | >> do http://www.rebol.org/cgi-bin/cgiwrap/rebol/download-a-script.r?script-name=liquid.r connecting to: www.rebol.org Script: "LIQUID - core dataflow programming engine." (4-Feb-2007) ** Script Error: slim has no value ** Near: slim/register [ | |
Maxim: 4-Feb-2007 | this is not a bug... liquid is a slim module. you must have slim loaded first | |
Maxim: 4-Feb-2007 | slim is not about loading code. 'do does that. | |
Maxim: 4-Feb-2007 | slim is about managing the internals ... both technically and politically. its about providing a unique and consistent code model to allow tools to wrap around this. | |
Maxim: 4-Feb-2007 | we could probably wrap the code in the way you specify. but then, slim allows you put your code anywhere... | |
Maxim: 4-Feb-2007 | Robert tried slim and in 15 minutes adopted it. | |
Maxim: 5-Feb-2007 | do %slim.r slim/open liquid 0.6.4 | |
Maxim: 5-Feb-2007 | oops typed a bit too quickly... do %slim.r slim/open 'liquid 0.6.4 | |
Maxim: 5-Feb-2007 | Anton, that is the POINT of slim... you control everything ! | |
Maxim: 5-Feb-2007 | oops typed a bit too quickly... do %slim.r liquid: slim/open 'liquid 0.6.4 | |
Anton: 5-Feb-2007 | >> do %slim.r 'slim is defined, no choice about that. | |
Maxim: 5-Feb-2007 | slim lets you put files where you want (in many dirs if you want) and even allows loaded-lib relative resource dirs. | |
Maxim: 5-Feb-2007 | wrt the slim word... you can rename it in the slim.r file if you really want to... but its your call. | |
Mchean: 9-Feb-2007 | ok...i have briefly read the documentation on slim up to 2.5. I have limited experience with rebol, so I'm trying to get clear on what problem it solves. | |
Mchean: 9-Feb-2007 | If i understand correctly slim allows you reuse libraries or modules in other programs by opening them as opposed to cutting and pasting the module into the rebol script? | |
Maxim: 9-Feb-2007 | if you only want to use slim for testing out liquid, I suggest to follow the quickstart, it should get you started in a few minutes without fuss. | |
Maxim: 6-Mar-2009 | hehe it was really minor, but probably something that's caused me some headaches in the past. wouldn't have been possible without slim's verbose printing management :-) | |
Maxim: 7-Mar-2009 | hehe. I am just doing so... new version of slim just got uploaded (minor changes), liquid is almost ready. | |
Maxim: 7-Mar-2009 | the application will be there within the hour (need to build a friendly little rebol.org based slim lib D/L interface using VID) | |
Maxim: 8-Mar-2009 | just thought I'd share this list I built while coaching someone in using liquid last night... SANITY PRESERVING KNOWLEDGE WHEN USING LIQUID: -------------------------------------------- #1: liquid isn't a bully - liquid shares its state, but asks for data (pulls, observes, etc) from its subordinates ("parents"), not the other way around (it doesn' push or force feed, like a highly inneficient signal messaging engine). #2: liquid is lazy by default - unless a plug or one of its observers ("children") is stainless, nothing will process automatically (thus, faces usually are set to stainless, so that they refresh automatically). #3: liquid has several computing modes in a single base class. * linking is for once sided dependencies * piping is for inter-dependencies or synchronisation * containment is for data storage * linked-containment is for processed data storage #4: liquid mutates - plugs automatically change computing modes when you call some methods like linking, piping and filling. depending on the order of these operations, a plug may "stick" to its previous computing mode. e.g. a piped node remains piped, even you attempt to link it to something. #5: liquid is alive - remember that as you are setting up a liquid network, your plugs will start receiving messages as you are building up the tree, meaning that the process() (and other) functions might be triggered before every expected connections are done. always verify the integrity of the data before starting the process. (i just got stumped by this one again, 5 minutes ago). #6: liquid is a collection of droplets - each plug should do one thing or manage one step of a process. the more you break up the network, the better you will be at making it stable, reusable, flexible, and fast. #7: liquid is highly memory efficient - !plug uses shared classes. so all the liquid operations are in a sub-object called a valve. Thus, when you call internal functions, remember they are within the valve, and you must supply the plug as its first argument. my-plug/valve/stats my-plug #8: liquid is volubile - its slim-based verbose & indented console printing engine (vprint) is YOUR BEST FRIEND. use it profusely, to understand the chain of events and what the hell is going on. | |
Maxim: 8-Mar-2009 | SANITY PRESERVING KNOWLEDGE WHEN USING LIQUID: -------------------------------------------- #1: liquid isn't a bully - liquid shares its state, but asks for data (pulls, observes, etc) from its subordinates ("parents"), not the other way around (it doesn' push or force feed, like a highly inneficient signal messaging engine). #2: liquid is lazy by default - unless a plug or one of its observers ("children") is stainless, nothing will process automatically (thus, faces usually are set to stainless, so that they refresh automatically). #3: liquid has several computing modes in a single base class. * linking is for once sided dependencies * piping is for inter-dependencies or synchronisation * containment is for data storage * linked-containment is for processed data storage #4: liquid mutates - plugs automatically change computing modes when you call some methods like linking, piping and filling. depending on the order of these operations, a plug may "stick" to its previous computing mode. e.g. a piped node remains piped, even you attempt to link it to something. #5: liquid is alive - remember that as you are setting up a liquid network, your plugs will start receiving messages as you are building up the tree, meaning that the process() (and other) functions might be triggered before every expected connections are done. always verify the integrity of the data before starting the process. (i just got stumped by this one again, 5 minutes ago). #6: liquid is a collection of droplets - each plug should do one thing or manage one step of a process. the more you break up the network, the better you will be at making it stable, reusable, flexible, and fast. #7: liquid is highly memory efficient - !plug uses shared classes. so all the liquid operations are in a sub-object called a valve. Thus, when you call internal functions, remember they are within the valve, and you must supply the plug as its first argument. my-plug/valve/stats my-plug #8: liquid is volubile - its slim-based verbose & indented console printing engine (vprint) is YOUR BEST FRIEND. use it profusely, to understand the chain of events and what the hell is going on. | |
Maxim: 8-Mar-2009 | this is embeded within the slim manager and is added to any slim library automatically | |
Maxim: 16-Mar-2009 | if you try out the little blood.r app on rebol.org you'll see how extensive liquid's tracing is, thanks to slim's vprint engine. :-) | |
RobertS: 11-Apr-2009 | Maxim - I have sent you a note on my intent to add to my piece on "slim Liquid Rebol" at eclectic-pencil - I will pen that note in blood ... piping can be so much more feral that ducts ; - ) | |
Maxim: 6-May-2009 | 1. liquid needs no config 2. the naming IS very logical. 3. impossible, liquid is a kernel, you cannot plug liquid Over, you have to build tools with it. and NO I don't force you to use anything cause I don't use it myself. all of my graphics work, even glayout has always been using VID. Using face/init face/action face/feel of standard vid gadgets... the blood example of liquid on rebo.org is such a VID example. 4. liquid has never forced you to use any adapted VID, using slim is one line of code, no "config and install required", liquid isn't even graphics related. | |
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Janko: 18-Feb-2009 | since processing of requwest seems to take just 1ms I think chances per user are slim. What would happen in it collides? would one of processes "get file access error" or something worse can happen by your exp? (I was asking about the fear of file getting corrup / half written before) | |
Group: DevCon2007 ... DevCon 2007 [web-public] | ||
Sunanda: 10-May-2007 | Max talking about Steel / SLiM etc | |
Group: !distro-bot ... [web-public] distro-bot: source & versioning + automated distribution | ||
Maxim: 12-May-2009 | I'd like to know if any of you want to be alpha testers for the up and comming version, which is a result of several YEARS of fine tuning, and now combining, a rich set tools. CURRENT FEATURES (partial list): General: ----------------------- -non intrusive, does not force any programing onto you. ex: * no need to have version in header, and can still do version control * history format is user specified, massive configurability -encapped (windows) application, so its easy to use. -no external dependencies (ex: zip archive is embeded, and coded in rebol :-) Automated: ----------------------- -script versioning -file backup (versioned) -zip archival -file management -creation of "packages" (create dirs, copy files, archive, prebol, slim-link, encap, etc) -header manipulation (including history, date, version, and any field you want to enforce) -system calls -file parsing, replacing info tags. Flexible setup: ------------------------- -cascading configuration (global, user, project, + per file) -config locking, prevents overiding configs in cascaded setups (project manager can create rules which no one can break) -command-line arguments overides for many configs -user set configs for most if not all features (ex: history format, date format). and much more | |
Maxim: 12-May-2009 | Note that encap, prebol, slim-link are also part of the features base, but are not yet re-integrated in the first releases. |
1 / 113 | [1] | 2 |