Re: [Factor-talk] Port on Z80 computers.
On Wed, Nov 24, 2021 at 9:30 PM yves gerey wrote: > > I'd like to port a lightweight language to a Z80-based computer older than > you (the Amstrad CPC 6128), and to CP/M as well if there is interest. A while back I played with using Factor to create and upload Z80 code to an MP3 player. I wrote about it here: https://bluishcoder.co.nz/2006/09/16/writing-your-own-mp3-player-firmware.html https://bluishcoder.co.nz/2006/09/17/factor-code-to-upload-to-s1-mp3-player.html While I don't think a port of Factor to Z80 would be a realistic task at this stage, it'd make a great environment or remote development of Z80 code and uploading to devices. -- https://bluishcoder.co.nz ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Peg Parsing Files
On Sun, Nov 22, 2020 at 6:15 AM Alexander Ilin wrote: > So, the question is, is it possible to use the peg vocab to create this > layered parsing architecture, where the first layer would consume a stream of > file input, and the second would consume a stream of tokens from the first > layer? There is some support for this, as mentioned by Jon with regards to Tokenizers. See the tail end of the following blog post which uses a parser to parse the AST from another parser: https://bluishcoder.co.nz/2008/04/04/factor-parsing-dsl.html That post is out of date with regards to syntax but hopefully you get the idea. -- https://bluishcoder.co.nz ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Minimal VM?
On Sun, Sep 29, 2019 at 1:20 AM W-M wrote: > Are there any guides or other reference materials that > explain the architecture, setup and concepts behind the 'bootstrapping > compiler'? Slava's old blog might have some stuff, although keep in mind it could be out of date: http://factor-language.blogspot.com/ An relevant post might be: http://factor-language.blogspot.com/2010/01/factors-bootstrap-process-explained.html -- https://bluishcoder.co.nz ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] ZeroMQ
On Sun, Jan 7, 2018 at 10:20 AM, Doug Colemanwrote: > You are right. You would have to use the zeromq nonblocking api, if it exists. There's zmq_poll which you could spawn in a factor thread and run with a low timeout to check if any zmq events are occurring: http://api.zeromq.org/2-1:zmq-poll There's also a way to get a file handle from a 0mq socket which you can use select, epoll, etc on, but it has some limitations: See ZMQ_FD here: http://api.zeromq.org/2-1:zmq-getsockopt There's some notes on that here: https://funcptr.net/2012/09/10/zeromq---edge-triggered-notification/ -- http://bluishcoder.co.nz -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Wait for Thread
The easiest way might be to use futures: http://docs.factorcode.org/content/article-concurrency.futures.html eg: [ 42 ] future ?future . => 42 On Thu, Dec 21, 2017 at 10:44 AM, Alexander Ilinwrote: > Hello! > > If I spawn a thread using the threads:spawn word, is there a way to wait > for the thread to finish its work? > I need something like WaitForSingleObject(ThreadHandle, INFINITE). > > ---=--- > Александр > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Shared Object File Not Found - Ubuntu 16.04
On Tue, May 2, 2017 at 9:05 PM, Kaveh Shahbazianwrote: > > Spent some time googling on the topic, so far failed to resolve this (not a > *nix Guru). > It seems fit to add instructions to resolve this for those who like to give > factor a spin. I think you need: sudo apt-get install libgtkglext1-dev -- http://bluishcoder.co.nz -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] EBNF peg parser ensuring full parse
On Wed, Jan 18, 2017 at 4:24 AM, Jon Harperwrote: > > Should we add words to do this more easily ? > maybe > : parse* ( string parser -- ast remaining ) > : parse-all ( string parser -- ast ) ! throws when remaining not empty > > Maybe EBNF: can define several words ? (but it's bad for grepability...) I think the parse* and parse-all words are a good approach, and document the usage with . Having EBNF: define multiple words can result in a bit of word explosion but I think it's useful too. You can get the functionality from an EBNF: word with code like: EBNF: foo rule= ("a" | "b")* ;EBNF "abbaXbba" "rule" \ foo rule (parse) remaining>> Having EBNF: generate a foo* and a foo-remaining would probably be more useful. -- http://bluishcoder.co.nz -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] maybe{
On Sun, Dec 25, 2016 at 12:21 AM, Alexander Ilinwrote: > > That's a very useful feature, and it seems to be there for five years! But > why is it not described or even mentioned? I don't know why it's not documented but it looks like an anonymous form of UNION:. The following is equivalent: UNION: string-or-false string POSTPONE: f ; TUPLE: foo { name string-or-false } ; and: TUPLE: foo { name maybe{ string } } ; -- http://bluishcoder.co.nz -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/intel ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Headless Factor
On Thu, Dec 1, 2016 at 6:22 AM, John Benediktssonwrote: > I just removed the call to ``g_type_init``, which has been deprecated since > maybe glib 2.36. > > Want to give headless factor another try? That worked, thanks! -- http://bluishcoder.co.nz -- ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Headless Factor
What libraries are needed for a headless Factor running on a VPS? I tried doing a "NO_UI=1 ./build.sh" but it fails at a point during the bootstrap wanting libgobject: 3: USING: io.pathnames sequences ui.images ; ^ Cannot resolve C library function Library: DLL" libgobject-2.0.so" Symbol: g_type_init DlError: libgobject-2.0.so: cannot open shared object file: No such file or directory Am I bootstrapping wrong? -- http://bluishcoder.co.nz -- ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Questions of a newcomer
On Thu, Nov 10, 2016 at 10:00 PM,wrote: > Any > more ideas why? Is run-process blocking everyone? Is there some FFI call > like you mentioned? Where could I start to debug this on my own? The only difference to what you are doing and what my test did was you're running as a script. So I tried this: -8<- USING: fry prettyprint kernel io namespaces sequences io.launcher io.directories io.encodings.utf8 io.files io.files.info io.pathnames concurrency.messaging threads math tools.threads accessors calendar ; IN: script self '[ "bash -c \"sleep 10\"" run-process drop 1 _ send ] "1" spawn self '[ "bash -c \"sleep 5\"" run-process drop 2 _ send ] "2" spawn receive . receive . clear -8<- With that I see what you are seeing. Both numbers print out after the last thread finishes. It looks like it's buffering in this case. If I add a 'flush' then I see them printed after 5 seconds then 10 seconds: -8<- USING: fry prettyprint kernel io namespaces sequences io.launcher io.directories io.encodings.utf8 io.files io.files.info io.pathnames concurrency.messaging threads math tools.threads accessors calendar ; IN: script self '[ "bash -c \"sleep 10\"" run-process drop 1 _ send ] "1" spawn self '[ "bash -c \"sleep 5\"" run-process drop 2 _ send ] "2" spawn receive . flush receive . flush clear -8<- Could this fix your issue? -- http://bluishcoder.co.nz -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Distributed Messaging Fixes
I was working through my factor-articles document [1] to update with a recent Factor version and hit some issues with the distributed messaging functionality. I've done a pull request here: https://github.com/factor/factor/pull/1744 The issue was that for distributed messaging it really requires a global server to exist to allow receiving messages from other nodes. Past changes moved to having the server created as a threaded server stored in a namespace. I've reverted back to a global and adjusted the test. The test uses a hard coded port - I couldn't work out how to do a random port with a threaded server. [1] https://bluishcoder.co.nz/factor-articles.pdf -- http://bluishcoder.co.nz -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Questions of a newcomer
On Wed, Nov 9, 2016 at 4:02 AM,wrote: > > There are my last 2 attemps. The first, commented out version finishes > without waiting for the threads to finish (even with the ugly hack of > reading the state>> of the thread) while in the second the receiving > thread doesn't read the messages as they arrive, rather its mailbox gets > filled up and only when everyone finishes gets time to work on the > messages. What am I doing wrong? Nothing seems to be wrong here, but there's no obvious thread join operation to wait on completion so Factor exits immediately even if active threads are running. > On the topic of factor's cooperative threads - do they run multi- or > single-core? The are single core co-operative threads. If you run an FFI function that blocks then all threads block. > If you have some other tips on the code I'll be glad, I feel like I'm > doing more shuffling then I might need. I tried to duplicate the basics of your code with the following: self '[ "bash -c \"sleep 10\"" run-process drop 1 _ send ] "1" spawn self '[ "bash -c \"sleep 5\"" run-process drop 2 _ send ] "2" spawn receive This will spawn two threads that run a bash 'sleep'. The 'receive' blocks until the shortest sleep finishes and if you run another 'receive' then it blocks until the longer one completes. This should be what your code does too. Are you sure the git commands aren't all completing at the same time? Note the use of the 'fry' quotation to avoid having to curry and swap later to pass the 'self' around btw. -- http://bluishcoder.co.nz -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Chris Double's Weblog
On Mon, Sep 21, 2015 at 6:50 PM, Alexander Ilinwrote: > > I noticed your weblog is down. Are you going to bring it up, or is it dead > permanently? It's up for me: http://bluishcoder.co.nz What error are you getting? All the factor articles are back online now too. -- http://bluishcoder.co.nz -- ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] connection to listener dropping in fuel mode in emacs
On Mon, Feb 9, 2015 at 5:30 PM, Michael Maul mike.m...@gmail.com wrote: Also seems I canont comment the #concatenative chennel on freenode I think #concatenative requires you to be a registered user on freenode. -- http://bluishcoder.co.nz -- Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Multithreading in Factor
On Thu, Nov 20, 2014 at 8:24 AM, Andrea Ferretti ferrettiand...@gmail.com wrote: I am trying to make this work, but I have issues with the line myhost.com 9001 start-server Looks like the API for starting servers/nodes has changed quite a bit. If you look at the following file you'll see examples of current usage: basis/concurrency/distributed/distributed-tests.factor -- http://bluishcoder.co.nz -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Pattern matching and Algebraic Data Types
On Mon, Oct 20, 2014 at 7:55 AM, Michael Clagett mclag...@hotmail.com wrote: I am about to familiarize myself with whatever facilities exist for working with Algebraic Data Types and pattern matching in the vein of what Languages like Haskell and ML provide. Dan had a nice article from a while back on Concatenative Pattern Matching: http://useless-factor.blogspot.co.nz/2007/06/concatenative-pattern-matching.html I wrote a pattern matching vocab a while back: http://docs.factorcode.org/content/article-match.html Some articles on using it: http://bluishcoder.co.nz/2006/09/05/pattern-matching-in-factor.html http://bluishcoder.co.nz/2006/12/30/factor-pattern-matching-additions.html http://bluishcoder.co.nz/2007/01/03/implementing-concatenative-words-with.html -- http://bluishcoder.co.nz -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Multithreading in Factor
ZeroMQ has a non-blocking mode. You can get a file descriptor that can be passed to select/epoll/kqueue. Factor has its own channel and serialization system to. See: http://docs.factorcode.org/content/article-remote-channels,remote-channels.html On Sun, Oct 19, 2014 at 4:30 AM, Andrea Ferretti ferrettiand...@gmail.com wrote: Thank you for you response. Regarding the possibility if delegating CPU intensive tasks to multiple tasks: what about communication? Is there an idiomatic way to make processes communicate without blocking? There is ZeroMQ, but as far as I know it is blocking. It would be nice to develop something like Erlang/Akka using a pool of processes and cooperative multithreading locally inside each process, but I am not sure what would be the best way to keep a channel among processes 2014-10-15 14:40 GMT+02:00 Björn Lindqvist bjou...@gmail.com: Hi Andrea, I'm not an expert, so take what's written below with a grain of salt. It mostly comes from what I've snapped up from varius places and reading the mailing list archive (eg http://search.gmane.org/?query=threadinggroup=comp.lang.factor.generalsort=relevance). 2014-10-13 18:14 GMT+02:00 Andrea Ferretti ferrettiand...@gmail.com: Hi, I have read in various places, including this mailing list, that Factor does not currently have support for (preemptive, kernel-level) multithreading, and that adding support for that would require a great deal of changes, since the underlying VM and many core words are not thread-safe. It's true that Factor doesn't have preemptive, kernel-level threading (I'll just write threading from now on when I refer to this particular brand of threading) and that adding it would probably require a lot of engineering and restructuring work. But if you dig into the source, and read the previous discussions, it's clear that adding threading was always the idea and the Factor VM has been architected to make it simple to add in the future. Whether it actually is simple or not, is a different matter. But it's much different from, say, the CPython VM which is implemented in such a way that it would be virtually impossible to add threading. Most composite (non-primitive) words are thread-safe and the primitive words are only thread-unsafe in that critical sections aren't guarded by exclusion locks. Can anyone expand on this? Is there some place where people have collected some ideas about the issues that would arise and the areas that need work? I don't think there is any particularly bloody issues. It's just a lot of hard work. For example interactions between threads and gc can be very tricky. If two threads need to allocate memory, there needs to be some synchronization so that they don't end up pointing to the same chunk of memory. How do you make that both fast and safe? What happens with a threads object references if another thread forces a gc cycle? I guess all threads has to stop running during the gc so that all object references can be updated. It's even more complicated if one thread is in an ffi function which holds a pointer to a Factor object. What if another thread recompiles the same word a thread is running? If not, it would be nice to gather such information from people knowledgeable about the internals of factor, so that interested people could start make some contributions. I don't know if personally I would be able to contribute, but I'd love to if I I found something I could handle An alien wrapper for pthreads would be interesting. I've no idea if it would kind of work or break Factor badly, non-the-less it would be interesting to see. While we're at the subject of threading.. It's a great feature but a language VM can do without it and still be very useful. Python, Erlang, Node.js and Ruby all proves that. If the goal of the concurrency is IO throughput, then cooperative threads which Factor already has works really well. For cpu intensive tasks you can often start multiple processes instead of threading. -- mvh/best regards Björn Lindqvist -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Factor-talk mailing list
Re: [Factor-talk] Factor IO similar to Node?
A Factor instance runs in a single thread. Blocking operations are done either using non blocking sockets or similar async i/o methods. Task switching occurs on i/o wait or explicit yielding. APIs like ZeroMQ must be wrapped in Factor such that they use the non-block functionality of that API. In the case of ZeroMQ you would use the functionality that allows getting a file handle you can use select/epoll on. You would use this in factor to suspend the factor thread until activity on the file handle occurs at which point the thread would wake up and continue. -- http://www.bluishcoder.co.nz -- Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Running Factor under NixOS
On Fri, Jun 13, 2014 at 6:24 AM, John Porubek jporu...@gmail.com wrote: So my question for Chris, or anyone else who feels like chiming in, is: What problems am I likely to encounter in getting Factor to run under NixOS? You shouldn't have problems building from source. I just tested and it builds fine. Problems happen when you run though since NixOS has a non-standard file system layout. There is no '/usr/lib', etc. With correct applications of LD_LIBRARY_PATH it'll run fine. The way to do Factor development in NixOS would be to create an 'environment' like I did in my Firefox post: http://bluishcoder.co.nz/2014/05/15/firefox-development-on-nixos.html This would set LD_LIBRARY_PATH to the correct locations depending on the versions of Gtk, OpenGL, etc you are using for that particular environment. A separate definition could be used for runtime Factor apps to make sure they pick up the correct locations. Let me know if you want examples or to create one for you to try. You could use this on any Linux distribution by installing the Nix package manager if you wanted to test without trying NixOS completely. Chris. -- http://www.bluishcoder.co.nz -- HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing Easy Data Exploration http://p.sf.net/sfu/hpccsystems ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Serialisation with a JSON representation
On Thu, Jul 11, 2013 at 6:45 PM, Loryn Jenkins lor...@gmail.com wrote: 1. I'm using first4 to retrieve the members of the tuple from the JSON representation, placing them on the stack, so they can form an input to boa. How would I retrieve an arbitrary number of slots onto the stack? (i.e. For objects have e.g. 10, 15 or 50... slots.) Generally you don't use the stack as a data structure. You'd use a vector or some other data structure to hold the data and append/modify that as needed. 3. Is there a Factor library providing a more direct serialisation format than JSON? There is the serialisation vocab: http://docs.factorcode.org/content/article-serialize.html You can also deserialize/serialize JSON. Looking at the implementation might help answer some of your other questions: http://docs.factorcode.org/content/article-json.html Chris. -- http://www.bluishcoder.co.nz -- See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] OAuth2 vocabulary?
On Mon, Mar 18, 2013 at 5:38 PM, Alexis Hazell alexis.haz...@gmail.com wrote: Do HTTPS requests require using the openssl vocab to manually wrap each request? To do https requests you need to first load the urls.secure vocab: USE: urls.secure Chris. -- http://www.bluishcoder.co.nz -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Factor downloads broken
downloads.factorcode.org seems to be broken and there have been quite a few people asking in IRC how to get a working copy of factor - unfortunately there seems to be no way to get boot images other than from IRC lurkers. Is the download server recoverable? -- http://www.bluishcoder.co.nz -- Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Quick Question For Chris Double
On Fri, Aug 24, 2012 at 11:29 PM, Michael Clagett mclag...@hotmail.com wrote: Back in December of 2006 in one of your articles on Parser Combinators you reference a Chapter 5 on Parser Combinators from some larger work. This is a nice article and it leads to wonder what the source is that it is taken from and whether the surrounding chapters are any good and worth reading as well. I that that was this chapter: http://www.bluishcoder.co.nz/II.05.ParserCombinators.pdf It was from Part II of a book on the Clean programming language. Unfortunately it seems to no longer be available according to: http://wiki.clean.cs.ru.nl/Functional_Programming_in_Clean Luckily it's rare for things to disappear completely from the net: http://www.mmnt.net/db/0/0/ftp.cs.kun.nl/pub/CSI/SoftwEng.FunctLang/papers/cleanbook The case studies are a good read. Chris. -- http://www.bluishcoder.co.nz -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Is there a Factor.js ?
There also was fjsc. Not sure if it still works but the source is in the repository somewhere: http://www.bluishcoder.co.nz/2006/12/cross-domain-json-with-fjsc.html http://www.bluishcoder.co.nz/2006/12/continuations-added-to-fjsc.html http://www.bluishcoder.co.nz/2006/12/factor-to-javascript-compiler-updates.html http://www.bluishcoder.co.nz/2006/12/compiling-factor-to-javascript.html -- http://www.bluishcoder.co.nz -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Can't get Space Invaders to run
On Wed, Sep 21, 2011 at 9:45 AM, John Porubek jporu...@gmail.com wrote: I have libopenal1 installed on my Ubuntu 10.10 system. I checked in openal.factor and it's looking for libopenal.so. My file is libopenal.so.1, so I changed openal.factor to use this version. I also notice that openal.alut is used and alut.factor is looking for libalut.so. My file is libalut.so.0, so I changed alut.factor to use this version. From that point, the error messages pointed the way to entering the proper value for rom-root and now it works! The '.so' versions of libraries are usually in '-dev' packages. So you'd generally need a apt-get install openal-dev' or similar to pick them up. Glad you got it working! Chris. -- http://www.bluishcoder.co.nz -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Can't get Space Invaders to run
On Tue, Sep 20, 2011 at 7:39 AM, John Porubek jporu...@gmail.com wrote: running run-invaders gives me the error message The image refers to a library or symbol that was not found at load time. Typing: rom-root :get The error message is probably referring to missing OpenAL sound libraries. Do you have OpenAL installed? -- http://www.bluishcoder.co.nz -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] TryRuby, etc.
On Wed, Aug 24, 2011 at 12:25 PM, Andrew Pennebaker andrew.penneba...@gmail.com wrote: Has anyone made an interactive online tutorial for Factor comparable to TryRuby? I used to run an Factor to JavaScript instance online. I think the code 'fjsc' still in the repository. Blog posts about it here: http://www.bluishcoder.co.nz/2006/12/12/compiling-factor-to-javascript.html http://www.bluishcoder.co.nz/2006/12/17/factor-to-javascript-compiler-updates.html http://www.bluishcoder.co.nz/2006/12/18/continuations-added-to-fjsc.html http://www.bluishcoder.co.nz/2006/12/18/cross-domain-json-with-fjsc.html -- http://www.bluishcoder.co.nz -- EMC VNX: the world's simplest storage, starting under $10K The only unified storage solution that offers unified management Up to 160% more powerful than alternatives and 25% more efficient. Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] factorcode.org needs a favicon
On Tue, May 10, 2011 at 8:40 PM, Kartik Agaram a...@akkartik.com wrote: Ah I hadn't seen that. Yeah anything's fine. I did a quick try at fitting the raptor in 16x16, but if someone can pull that off, great! (misc/icons/Factor.ico is 48x48 - will browsers accept it?) They should accept it, yes. Chris. -- http://www.bluishcoder.co.nz -- Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] factor scripts
On Tue, May 10, 2011 at 9:19 PM, Kartik Agaram a...@akkartik.com wrote: $ echo 2 2 + |./factor This runs the code piped to the listener, which has a number of vocabularies automatically USE:'d. $ echo 2 2 + x; ./factor x This reads the file and runs that. This never has vocabs automatically USE:'d. You'll need to add USE: or USING: definitions for the vocabs that words in the file use. In this case, USE: math for the '+' word. Chris. -- http://www.bluishcoder.co.nz -- Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] newbie question: clone
On Sat, May 7, 2011 at 3:12 AM, Zhe Hu iammegat...@gmail.com wrote: what's the difference between: V{ } clone 3 suffix! V{ } 3 suffix! I guess my question is why do we need clone, since it takes one object, but puts back just one object. V{ } creates a literal vector and pushes it on the stack. When typing at the listener this doesn't make much difference from using 'clone' with it. But when used in a function it makes a big difference. Try this: : my-vec ( -- v ) V{ } ; : my-vec2 ( -- v ) V{ } clone ; my-vec 3 suffix! drop my-vec . my-vec2 3 suffix! drop my-vec2 . The V{ } creates a new vector and embeds that actual vector instance in the function body. So the '3 suffix!' on my-vec actually modifies the vector in the function body. Calling my-vec again shows the modified vector. Chris. -- http://www.bluishcoder.co.nz -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Wikipedia page flagged for notability and possible deletion
Just a heads up that the Factor wikipedia page has been flagged as possibly not being notable and may be deleted: http://en.wikipedia.org/wiki/Factor_%28programming_language%29 Someone is going on a crusade to delete non-notable languages with a few pages already deleted or up for deletion. See here for some (eg. Joy and Cat): http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Deletion_sorting/Computing if you have any references that show Factor as being notable then now would be a good time to get involved in the discussion. Chris. -- http://www.bluishcoder.co.nz -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Number to String
On Tue, Dec 21, 2010 at 12:28 PM, beo wulf beow...@intamp.com wrote: how do I convert a number to a string? The intuitive try is string, but this appears to only be seq - string, rather than a generic of: anything - string There's a 'numberstring' in math.parser. Chris. -- http://www.bluishcoder.co.nz -- Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Parsing problem in EBNF:
On Sun, Dec 12, 2010 at 10:17 PM, Shaping shap...@charter.net wrote: to have the parsing work correctly. Can you fix this to allow the newline character to be parsed as whitespace? I tried to fix this once before but wasn't able to for reasons I don't quite remember. Feel free to attack it yourself if you want. The workaround of course is to define a word that does what you want and just use that word in the grammar. Perhaps the reason I didn't fix it is simply because the workaround was so easy vs the fix. Chris. -- http://www.bluishcoder.co.nz -- Oracle to DB2 Conversion Guide: Learn learn about native support for PL/SQL, new data types, scalar functions, improved concurrency, built-in packages, OCI, SQL*Plus, data movement tools, best practices and more. http://p.sf.net/sfu/oracle-sfdev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] How do I construct a sequence from values onthestack
On Thu, Nov 18, 2010 at 12:52 PM, Jeff C. Britton j...@iteris.com wrote: I have a string that I want to match against a regular expression. However, group capture is not supported :( Here's an approach using peg.ebnf. You'll also need math.parser for 'stringnumber' and peg for 'ignore'. EBNF: parse-line digits = [0-9]+ = [[ string stringnumber ]] part1 = digits:a : digits:b = [[ { a b } ]] ws = | \t , = , = [[ drop ignore ]] any6 = . . . . . . = [[ string ]] part2 = approach | detect part3 = any | down part4 = presence | extension | delay | pulse | etc line = part1 ws* , any6 , part2 , part3 , part4 , digits , digits , digits , digits , presence , digits , presence , digits ;EBNF 1:0,z1 ,approach,any,presence,0,1,1,0,presence,0,presence,0 parse-line Chris. -- http://www.bluishcoder.co.nz -- Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] How do I construct a sequence from valuesonthestack
On Thu, Nov 18, 2010 at 1:42 PM, Jim mack j...@less2do.com wrote: I'm having trouble with ! Is there some combination of ![a-zA-Z0-9]+ that will match white-space or punctuation? There's a few ways you can do it. You should be able to use parenthesis to use '!': alpha = [a-zA-Z0-9] rule = (!(alpha) .)+ Note that '!' doesn't consume from the input stream. So here we say the current character is not an alpha character and the '.' then says consume any character. This 'any' character won't be an alpha due to the '!' check before it. Or you can use a semantic rule: : some-factor-word ( char -- char ) ...check for what you want here... ; rule = . ?[ some-factor-word ]? You can also explicitly look for the stuff you want: rule = | , | \t | \n Chris. -- http://www.bluishcoder.co.nz -- Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] How do I construct a sequence from valuesonthestack
On Thu, Nov 18, 2010 at 1:53 PM, Jim mack j...@less2do.com wrote: ws = | \t = [[ string whitespace boa ]] Change this to: ws = ( | \t) = [[ string whitespace boa ]] In the first case the = is binding to the \t part of the clause. Chris. -- http://www.bluishcoder.co.nz -- Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Integrating Browser functionality into Listener: John Benediktsson's Syntax Highlighting
On Tue, Nov 16, 2010 at 11:07 PM, Shaping shap...@charter.net wrote: I can't find any info in Browser on quot:. http://docs.factorcode.org/content/article-effects.html Chris. -- http://www.bluishcoder.co.nz -- Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] How do I construct a sequence from values on the stack
On Wed, Nov 17, 2010 at 2:56 PM, Jeff C. Britton j...@iteris.com wrote: What “word” do I need? There are worlds like 1array, 2array, 3array and 4array to produce an array from that many items on the stack. There is also 'narray' which is a generalisation of these for any number. eg: 2 4 8 16 32 4 narray = { 2 4 8 16 } Chris. -- http://www.bluishcoder.co.nz -- Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Furnace on Windows
On Sun, Nov 14, 2010 at 9:55 PM, Shaping shap...@charter.net wrote: Right now I need to recover from a fetch origin. You don't need to recover from a 'fetch'. What that does is it downloads the stuff you don't yet have and stores it internally in a 'remote' branch. It makes no changes at all to your checked out code or your changes. That only happens when you do a 'rebase', 'merge' or 'pull'. So after doing 'fetch origin' your code is in exactly the same state as before you did the command. Chris. -- http://www.bluishcoder.co.nz -- Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Furnace on Windows
On Sun, Nov 14, 2010 at 10:01 PM, Shaping shap...@charter.net wrote: I know. I'm concerned about possible collisions with modified stock code. I think the point Chris is making in his step 2 is that these changes need to be committed, first, but he did not mention old directories , only new ones. 'git add' is used to tell git about new files you have created. The command to commit with the '-a' switch tells git to include all changes in existing files as well as those you've added manually. This is why I used: git commit -a -m My message I strongly suggest created a test clone of the factor repository and playing around with git commands in this 'safe to destroy' clone while working through a git tutorial. Chris. -- http://www.bluishcoder.co.nz -- Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Git
On Mon, Nov 15, 2010 at 12:55 PM, Shaping shap...@charter.net wrote: So Git GUI makes the master branch by default, but does not put you on it. Why is that a good thing to do? I have no idea, sorry. I stick with the command line. Chris. -- http://www.bluishcoder.co.nz -- Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Furnace
I tried it and got the same error. :c shows this: Factor is not finding or loading the sqlite DLL. Are you sure you've installed the DLL that Factor is expecting? Chris. -- http://www.bluishcoder.co.nz -- Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Furnace on Windows
On Sun, Nov 14, 2010 at 8:42 PM, Shaping shap...@charter.net wrote: I have not convince myself yet that Git will keep old changes separate from those from the new update. I only know the command line so I'll give you command line tips and you can translate them to equivalent GUI commands. 1) Clone the factor respository git clone git://factorcode.org/git/factor.git 2) In this repository you make your own changes, including adding stuff to the work directory, editing files, etc. Now you want to save those in git so you can update safely. git add work/my-new-vocab/* git add any-other-new-files got commit -m This is a message describing my changes 3) Now you want to retrieve the latest changes from the factor repository: git fetch origin 4) Note that step (3) only retrieved the changes. It has made no changes to your actual physical source code. To update that, assuming you've done (2): git rebase origin/master Replace 'origin/master' with 'origin/clean-...' or whatever branch you are using from the factor repository. Probably master as that's the default. If there is a clash between your changes and the factor repository you'll get the chance to edit your changes and fix the clash. You can then do: git add ...file-containing-fixes git rebase --continue Or, if you are panicing, you can abort the rebase and be back to just a repository with your changes: git rebase --abort These steps will ensure that your changes always are based on top of the latest factor repository changes, making it easy to use 'git log' and friends to see what your changes are, and to contribute them back to factor one day. Chris. -- http://www.bluishcoder.co.nz -- Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Furnace on Windows
On Sun, Nov 14, 2010 at 8:52 PM, Chris Double chris.dou...@double.co.nz wrote: 2) In this repository you make your own changes, including adding stuff to the work directory, editing files, etc. Now you want to save those in git so you can update safely. git add work/my-new-vocab/* git add any-other-new-files got commit -m This is a message describing my changes That last line should be: git commit -a -m This is a message describing my changes Note that '-a' switch. Chris. -- http://www.bluishcoder.co.nz -- Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Furnace
On Sun, Nov 14, 2010 at 8:45 PM, Shaping shap...@charter.net wrote: I placed all three files in the Factor directory. Are they Win 32 or Win 64 versions? Where did you get the files from? Do they have the same names as what the sqlite vocab is expecting? you can look in the sqlite.factor file and see the name of the DLL it is attempting to load. -- http://www.bluishcoder.co.nz -- Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] PEGs
On Thu, Nov 11, 2010 at 9:26 PM, Shaping shap...@charter.net wrote: How do I use the keyboard keys to cycle back through old expressions? Currently I have to scroll to the old position and double-click to re-enter it. http://docs.factorcode.org/content/article-ui-listener.html Chris. -- http://www.bluishcoder.co.nz -- Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Docs and other topics
On Fri, Nov 12, 2010 at 8:01 PM, Shaping shap...@charter.net wrote Chris, I like your document, even though it is out of date. Just to be clear the handbook.pdf is Slava's document. I just generated it from the original source. I did produce this one which is a collection of my blog posts: http://www.bluishcoder.co.nz/factor-articles.pdf Chris. -- http://www.bluishcoder.co.nz -- Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] PEGs
On Thu, Nov 11, 2010 at 1:18 AM, Shaping shap...@charter.net wrote: I've noticed that the online EBNF help is not the same as that in the local Help Browser. It is the same, except for possible minor differences between Factor versions. If you go: peg.ebnf about You will get the 'about' page for the peg.ebnf vocabulary. On that page you should see a 'Documentation' heading, under which is the text 'EBNF'. Clicking on that 'EBNF' will take you to the same EBNF documentation I linked too. Chris. -- http://www.bluishcoder.co.nz -- The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book Blueprint to a Billion shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Furnace, XStreams (PEGs) and some observations about Factor
On Tue, Nov 9, 2010 at 9:38 PM, Shaping shap...@charter.net wrote: I need to be able to write a parser in a straightforward way (XStreams-style maybe) using a PEG (collection of BNF productions) so that I can experiment efficiently with this idea. Does anyone have any experience with PEGs in Factor? Read the help for peg.ebnf. You can do this with the following in the listener: peg.ebnf about Also these blog posts: http://www.bluishcoder.co.nz/2007/11/embedded-grammars-in-factor.html http://www.bluishcoder.co.nz/2008/04/factor-parsing-dsl.html http://www.bluishcoder.co.nz/2008/06/parsing-javascript-with-factor.html The code in them is slightly out of date but combined with the peg.ebnf help you should be able to get the idea. There are a few peg.ebnf usage examples for a JavaScript grammar, a PL0 grammar and an expression calculator in the Factor source. My PDF of articles might have more up to date code examples than the blog posts: http://www.bluishcoder.co.nz/factor-articles.pdf Chris. -- http://www.bluishcoder.co.nz -- The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book Blueprint to a Billion shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] PEGs
On Wed, Nov 10, 2010 at 12:47 AM, Shaping shap...@charter.net wrote: I tried the first two yellow blocks in this article http://www.bluishcoder.co.nz/2007/11/embedded-grammars-in-factor.html The syntax has changed quite a bit since that post. The example would now be something like: EBNF: expr digit = '1' | '2' | '3' | '4' number = digit digit* expr = number (('+' | '-') number)* ;EBNF Then: 123+456 expr Will result in a parse tree left on the stack. The EBNF: name ... ;EBNF expression results in a word with 'name' defined that parses the given grammar. You can also do: EBNF digit = '1' | '2' | '3' | '4' number = digit digit* expr = number (('+' | '-') number)* EBNF This leaves a parser object on the stack which you can call 'parse' on: 123 over parse . Or: 123 [EBNF digit = '1' | '2' | '3' | '4' number = digit digit* expr = number (('+' | '-') number)* EBNF] . The [EBNF ... EBNF] creates an anonymous quotation and calls it. This is useful for small regexp style grammars: 123 [EBNF digit=[0-9] = [[ digit ]] rule=digit+ EBNF] . Why have you color-coded the parse words in the HTML? The blog was originally hosted on a server that linked to the factor documentation for some of the words (like 'parse'). The links are dead now. Chris. -- http://www.bluishcoder.co.nz -- The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book Blueprint to a Billion shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Factor text-editor text-styler and formatter; building Factor
On Sun, Oct 31, 2010 at 8:56 PM, Shaping shap...@charter.net wrote: Does anyone use a socket pair to connect two communicating VMs, whether they are running in one OS in two threads or in two OS processes? If so, is there some example code? There are libraries for communicating across processes. There's a distributed concurrency library and a remote channels library. Some blog posts I did about these: http://www.bluishcoder.co.nz/2006/08/distributed-concurrency-in-factor.html http://www.bluishcoder.co.nz/2007/09/distributed-channels-in-factor.html I also have a PDF with these articles included and some others: http://www.bluishcoder.co.nz/factor-articles.pdf Some of them are a bit out of date though but give you an idea of what libraries exist. The help for the libraries themselves should cover usage. Chris. -- http://www.bluishcoder.co.nz -- Nokia and ATT present the 2010 Calling All Innovators-North America contest Create new apps games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Building Factor
On Sun, Oct 31, 2010 at 10:56 PM, Shaping shap...@charter.net wrote: I'm still looking for the solution to my build problem. The newly installed Windows 7 SDK and .NET 4.0 should be able to cooperate with newly installed Visual Studio 2010 Ultimate, but I cannot even get nmake to acknowledge a correct INCLUDE path in order to find Windows.h. Does anyone here use the published build commands here I just tried with Visual Studio 2010 on Windows 7 32 bit. I did the following steps which worked fine: 1) git cloned the factor repository. 2) Ran the Visual Studio Command Prompt option from the Visual Studio start menu. 3) Changed to the factor source directory. 4) Ran: .\build-support\factor.cmd It built fine from there. Chris. -- http://www.bluishcoder.co.nz -- Nokia and ATT present the 2010 Calling All Innovators-North America contest Create new apps games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Wiki
On Wed, Sep 29, 2010 at 9:16 PM, John Sampson jrs@ntlworld.com wrote: Factor looks to an outsider as if it could be quite interesting but on trying to explore the Wiki on features there are only blank pages. Most of the good stuff is in the online docs: http://docs.factorcode.org Chris. -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Change click behavior for syntactic token to link to docs for main syntax word?
On Thu, Sep 23, 2010 at 10:48 PM, Joe Groff arc...@gmail.com wrote: I think this behavior would also suit closing delimiters, such as }, ], ;, and so on. The documentation for these words themselves is pretty useless—usually, people are going to want to see the documentation for the actual definition form being used, whether it be {, V{, H{, :, MEMO:, or what have you. In summary, any syntactic token should link to the docs of the main syntactic form it is a part of. What do you guys think? I agree that this would be good. -- http://www.bluishcoder.co.nz -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Web app examples - address already in use [newbe question]
2010/9/22 Damian Dobroczyński qoo...@gmail.com: My system is Ubuntu 10.04 and is sane. Did you have similar issues before? Please, help. I get this same issue on Ubuntu 10.04. Can you share the workaround you did to stop the ipv6 binding? Chris. -- http://www.bluishcoder.co.nz -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Channels vocab
On Thu, Aug 12, 2010 at 8:55 PM, Grisha Freilikhman grish...@gmail.com wrote: on the same channel with senders and receivers vectors are empty. S: checks if receivers vector empty = push itself to the senders vector, just before the suspend word processed R thread get control. Factor threads are cooperative. It wouldn't be possible for R thread to get control before S suspends. Chris. -- http://www.bluishcoder.co.nz -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Channels vocab
On Thu, Aug 12, 2010 at 9:53 PM, Grisha Freilikhman grish...@gmail.com wrote: And there is no way that two threads will be running simultaneously (On multi-core processors) ? Correct. The only way (at the moment) to utilize multiple cores is to fork or spawn another Factor instance. Chris. -- http://www.bluishcoder.co.nz -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] A proof of concept: scripting Factor with jQuery
On 09/04/10 10:36, Henrik Huttunen wrote: For the lulz I created a simple jQuery interface for Factor-javascript interpreter. Instead of using text/html as the type attribute of the script element why not use something like application/x-factor or someother factor-ish tag? You can then select based on this rather than the class. As an example I do this with with my toy xy interpreter in JavaScript: http://www.bluishcoder.co.nz/xyjs/xy.html If you view the source of that page you'll see code like: script type=text/x-xy ; pop { a} ; ; drop pop ; ; dip swap = / = ; ; dup { a\a \a } ; ; swap { [a b] \b \a } ; ; jump { [a b] \a \b \a} ; /script On page load I search for this blocks in: http://www.bluishcoder.co.nz/xyjs/xyinline.js Chris. -- http://www.bluishcoder.co.nz -- Download Intel#174; Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Factor educational tools
On 03/28/2010 2:26 AM, Henrik Huttunen wrote: A suggestion: did you have a look at the fjsc vocab? I don't know whether it's functional but it's in extra, so there may be some hope. I don't think I've familiar with that vocab. fjsc is a factor to javascript compiler. I have blog posts about it here: http://www.bluishcoder.co.nz/2006/12/continuations-added-to-fjsc.html http://www.bluishcoder.co.nz/2006/12/factor-to-javascript-compiler-updates.html http://www.bluishcoder.co.nz/2006/12/compiling-factor-to-javascript.html http://www.bluishcoder.co.nz/2006/12/cross-domain-json-with-fjsc.html It should still work - I updated it a few months back. The web app for it is in webapps.fjsc. This should do it: USING: http.server webapps.fjsc ; activate-fjsc The start the webserver at it should run. Chris. -- http://bluishcoder.co.nz -- Download Intel#174; Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] MS-SQL
On 03/11/2010 12:25 AM, Paul Moore wrote: Hmm, looks like I may have been wrong. I was working from http://www.bluishcoder.co.nz/2007/01/odbc-interface-for-factor.html but that looks like it's out of date as I can't find anything in the current factor codebase. It's in 'unmaintained/odbc' in the source distribution (the git repository). It shouldn't take much effort to get it working again for someone new to factor. Chris. -- http://bluishcoder.co.nz -- Download Intel#174; Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Error deploying webapps.ip (Linux)
On Mon, Nov 23, 2009 at 11:09 PM, Stefan Scholl ste...@no-spoon.de wrote: Just the speed concerns me a bit. webapps.calculator uses the sqlite database backend which is quite slow (sqlite isn't slow but for some reason using it as the web database for Factor it is). Try either changing this to one of the other backends. Make sure you test with the development? global turned off (the default is off so it'll only matter if you've turned it on). With this on things are very slow. Performance is definitely an issue though. Furnace hasn't had any tuning yet I think. For tinyvid I run behind nginx - without this with large number of connections Factor slows to a crawl - including the listener running inside screen. Chris. -- http://www.bluishcoder.co.nz -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Error deploying webapps.ip (Linux)
On Mon, Nov 23, 2009 at 8:53 PM, Stefan Scholl ste...@no-spoon.de wrote: OK, thanks for the information. Listener it is then, instead of a deployed application. Maybe an image with all the web stuff already compiled in, to speed up server restarts. Yes, you definitely want to compile the web stuff into the image (http, furnace, etc). Otherwise server restarts will be very slow. That said, restarts are rare. If you're just upgrading your furnace based web app you only need to do: refresh-all reset-cache And set main-responder to an instance of your webapps responder if you've changed any of the actions. Chris. -- http://www.bluishcoder.co.nz -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Changes to concurrency.distributed and channels.remote
I've added some documentation for concurrency.distributed that includes an example on how to use it. This can be accessed when browsing the help for that vocab or through: concurrency.distributed.example help It is a reworking of the stuff I wrote in my original blog post to account for recent changes: http://www.bluishcoder.co.nz/2006/08/distributed-concurrency-in-factor.html The words 'register-process', 'get-remote-process' and 'unregister-process' have been renamed to 'register-remote-thread', 'get-remote-thread' and 'unregister-remote-thread' respectively. All references to 'process' (which is what I called threads in my original threading library for Factor) are now changed to 'thread'. I've also fixed 'channels.remote'. This was actually broken and no longer worked. It should now work and I've updated the example in the help for changes as well. The help for that can be directly accessed via: remote.channels about My original blog post about these was: http://www.bluishcoder.co.nz/2007/09/distributed-channels-in-factor.html These are available in my git repository in the 'concurrency' branch: git://double.co.nz/git/factor.git and hopefully in the main factor repository sometime. Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Update to Factor Articles PDF
I've updated my Factor Articles PDF file to fix bitrot that has occurred since Factor 0.92. The first few articles now work with latest git. This includes a fixed up example of using remote channels. The PDF can be obtained from: http://bluishcoder.co.nz/factor-articles.pdf The LaTeX source for this is available from: git://double.co.nz/git/factor-articles.git I welcome any patches to fix up outdated articles, correct errors, or add articles. Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] More consistent word names
On Thu, Oct 29, 2009 at 9:35 AM, Doug Coleman doug.cole...@gmail.com wrote: I removed a couple of unused words: remove-all and substitute-here. How do you know they're unused? Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] More consistent word names
On Thu, Oct 29, 2009 at 10:32 AM, Doug Coleman doug.cole...@gmail.com wrote: I used grep. I can add substitute-here as substitute! if you'd like. Remove-all, if it's useful at all, should be renamed to something else since sequences:remove is something quite different, and the name was confusing. I don't use it at all, I just had to make a comment on a factor change. I haven't been able to do it in so long I missed it. :-) Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] messaging between native vm threads
On Mon, Oct 26, 2009 at 8:37 PM, Bruce Breeanna Rennie bren...@dcsi.net.au wrote: Factor already has the ability to communicate with another server remotely using TCP/IP. There's a concurrency.distributed vocab allowing sending messages between VM's (uses sockets). Also a channels.remote which is currently broken due to bitrot but would be simple to fix: http://www.bluishcoder.co.nz/2006/08/distributed-concurrency-in-factor.html http://www.bluishcoder.co.nz/2007/09/distributed-channels-in-factor.html Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Documentation for the peg.ebnf vocabulary
I've finally written some documentation for the peg.ebnf vocabulary. This documents the various ways of using it (EBNF:, [EBNF ... ENBF] and EBNF ... EBNF) as well as the syntax for the EBNF language. Let me know (or provide patches!) if I left anything out or if anything is badly written. You can get it now from the 'ebnf' branch of git://double.co.nz/git/factor.git or when it gets pulled into the main Factor repository. When loaded you can read the help from within factor with: peg.ebnf about Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Fixed some unmaintained vocabs
I fixed the bitrot in some of the vocabs that were moved to unmaintained a while back. The first is fjsc, the Factor to JavaScript compiler. You can pull the fix from the 'fjsc' branch of git://double.co.nz/git/factor.git. This mainly fixes the webapp, porting it to the newer Furnace framework. You can try it out with something like: USE: webapps.fjsc USE: http.server USE: threads activate-fjsc [ httpd ] in-thread Then visit http://localhost: The other vocabs are the cpu.8080 emulator and the arcade games that use this (space-invaders, balloon-bomber and lunar-rescue). These are in the 'invaders' branch of the same git repository. They can be run with: USE: cpu.8080 /path/to/roms/ rom-root set-global space-invaders run balloon-bomber run lunar-rescue run If you have the openal libraries installed you'll get sound as well. For more details on the rom-root and keys to play use the help articles: space-invaders about Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Factor Versus Forth --- the book
On Mon, Oct 12, 2009 at 3:19 PM, Adam hiat...@gmail.com wrote: Somewhere in extra is an 8080 emulator written by Chris Double that can even play simple game ROMs like Space Invaders. I even had it running an 8080 Forth, inside Factor. If it has fallen out of maintenance it will be in the unmaintained folder in the main source tree. Yes, it's in 'unmaintained/cpu/8080' and 'unmaintained/space-invaders'. The CPU emulator bitrot would be easy to fix. The GUI side is most likely the bit that needs some work. Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Factor Versus Forth --- the book
On Sun, Oct 11, 2009 at 11:44 AM, Hugh Aguilar hugoagui...@rosycrew.com wrote: I have an updated version. Please read it through all the way, rather than just go to the new sections, as there is a lot of rewriting throughout. Thanks for your continued help in improving this documentation. Have you read any of the papers on Joy? http://www.latrobe.edu.au/philosophy/phimvt/joy.html These cover much of the origin of words like dip, etc. You mention them in your book and seem to not quite understand why they exist so I thought this background material might be interesting to you. Chris -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] append usage
On Thu, Oct 8, 2009 at 1:42 PM, Nicholas Spies nsp...@verizon.net wrote: All this is well and good, but since this use of 5 instead of a sequence doesn't seem to be documented, should this use be avoided, or celebrated as an undocumented feature :-) ? Numbers implement the sequence protocol. This is why it works. I'm not sure where this is documented. Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Amazon S3 vocab
A while back I wrote a vocab for using Amazon S3 (Simple Storage Service) from Factor so I could archive tinyvid videos on S3. I've tidied this up a bit and made it available. It's in the 's3' branch of my git repository: git://double.co.nz/git/factor.git Hopefully it can be included in the main Factor distribution. Not all functionality is available, only that which I needed for tinyvid. To use it you need to set two dynamic variables: key-id - set to your Amazon S3 key secret-key - set to your Amazon S3 secret key Once these are set you can use the vocab. A brief outline of the words: buckets ( -- seq ) Returns a sequences of buckets in your S3 area create-bucket ( name -- ) Create a bucket delete-bucket ( name -- ) Delete a bucket keys ( bucket-name -- seq ) Return a sequence of all keys in the given bucket object-get ( bucket-name key -- headers data ) Does an http-get to retrieve the object at the given key in the bucket put-object ( data mime-type bucket-name key assoc -- ) Stores the object under the key in the given bucket. The object has the given mimetype. 'assoc' is contains key/values for any headers to be associated with the object. 'data' is any Factor object that can be used as the 'data' slot in post-data. If it's a pathname it stores the contents of the file. If it's a stream, its' the contents of the stream, etc. For example: hello world binary encode text/plain testbucket hello.txt H{ { x-amz-acl public-read } } put-object hello.txt pathname text/plain testbucket hello.txt H{ { x-amz-acl public-read } } put-object http://testbucket.s3.amazonaws.com/hello.txt http-get .nip . I'll write some docs soon. Any suggestions on the interface appreciated. Feel free to hack on the code, add new features, refactor it, etc. I don' t mind. It's unlikely I'll be adding new features unless I need them for tinyvid or other projects so if you want it, add it. Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Factor vs. Forth --- the book
On Tue, Oct 6, 2009 at 2:50 PM, Hugh Aguilar hugoagui...@rosycrew.com wrote: Well, I've taken a stab at writing some documentation comparing Factor to Forth. Take a look at this (www.rosycrew.org/FactorVsForth.dvi) and let me know if this is going in a direction that you think will be useful. It's an interesting read - I like seeing what a Forth programmers perspective is on Factor. Personally I find your use of the term 'real world' odd since the meaning is obviously different depending on the type of development you do. To me, 'real world' is any application that gets used. Including web applications (What I tend to use and develop in Factor) and desktop applications. Some of the Factor examples could do with tweaking. One quick example is your first definition of 'pars': : pars ( seq -- val ) dup length 1 = [ first ] [ dup first swap rest pars ] if ; recursive Much shorter is: : parse ( seq -- val ) unclip [ par ] reduce ; You should definitely investigate the use of combinators rather than writing recursive functions. This is a strength of Factor (and similar languages). There have been Forth's that have quotations by the way. 4p provides the syntax: C{ 1 2 + } to create an anonymous word, leaving the execution pointer on the stack. You can get it here: http://maschenwerk.de/ Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] documentation, examples and help...
On Sat, Sep 26, 2009 at 5:16 PM, Jon Harper jon.harpe...@gmail.com wrote: A workaround to this problem is to use factor's online documentation docs.factorcode.org, which has all the vocabularies loaded.But this requires an Internet connection and the factor ui looks better. Another workaround is to do development in an image with everything loaded. The 'load-all' word will load everything for you. Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] documentation, examples and help...
On Sat, Sep 26, 2009 at 5:46 PM, Alex A. Naanou alex.na...@gmail.com wrote: BTW, still on the documentation topic, a type/object registry or tagging of entities in the library/docs would also be a boost in productivity.right now, it is simpler to find a correct interface/protocol than a correct type -- still searching for a built-in set type, it is easy to write, but experience tells me that using the lib is better. Try: set apropos This gives a list of things with 'set' in it. One of the things in the list is a pointer to the documentation for set operations on sequences. Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] list
On Sun, Sep 27, 2009 at 1:44 PM, Hugh Aguilar hugoagui...@rosycrew.com wrote: None of the spliting functions take an index however. All of them are splitting on a particular subsequence. I think you want 'cut' or 'cut*'. This is in the Subsequences and Slices part of the help. Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] documentation, examples and help...
On Sat, Sep 26, 2009 at 8:49 AM, Alex A. Naanou alex.na...@gmail.com wrote: so, as a relatively typical newcomer to the language I'll be stumbling on typical common pitfalls, IMHO, it would be useful to fix them, so, I'm offering to: 1) document my journey and learning process and 2) writeup some of the documentation and examples... I think what's needed, and what a lot of people have asked for, is more cookbook style documentation and tutorials. Quick examples of how to do small talks. Most of this type of stuff is in peoples blog posts. You're not the first to offer to do what you're doing btw. A few people have started, but never finished, moving on to other tasks. Chris. -- http://www.bluishcoder.co.nz -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Defeated by a sample loop
On Wed, Jul 29, 2009 at 2:30 AM, Darrin Thompsondarri...@gmail.com wrote: I was bothered by the nagging idea that there was probably an important utility somewhere I was missing. In cases like this I run screaming to the locals vocab thereby at least removing the unbalanced branches difficulties :-) Chris. -- http://www.bluishcoder.co.nz -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Hello world web app
On Sat, May 2, 2009 at 7:54 PM, Diego Martinelli martinelli.di...@gmail.com wrote: Also, how can I inspect such erroneous responses to see what's really happening? Set the global variable development? to true: t development? set-global Do this form the listener. It will result in a stack trace on these errors. It will also reload changed files on each request so is substantially slower. Good for testing though. Chris. -- http://www.bluishcoder.co.nz -- Register Now Save for Velocity, the Web Performance Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] question about [] [] if
On Sat, May 2, 2009 at 9:21 AM, Hugh Aguilar hugoagui...@rosycrew.com wrote: My understanding is that the if function does the first combinator for nonzero numbers and the second combinator for zero numbers. The first combinator is run for true values and the second for false values. Instead of using 0 you want to use f (which is the symbol for false). Everthing apart from f is considered to be true, so 0 is true. Chris. -- Register Now Save for Velocity, the Web Performance Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Error starting factor GUI on Arch Linux
I have an error starting the Factor GUI on Arch since updating the latest code: $ ./factor X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 1 (X_CreateWindow) Serial number of failed request: 30 Current serial number in output stream: 31 It appears to be this commit: 509869 If I revert that then the GUI starts fine. Chris. -- http://www.bluishcoder.co.nz -- Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] A helpful Google Alert search string for Factor
Slava should obviously have called the language something like 742f32c65ffd18b766fa307f8de2d47d. Actually that one's not so good either ;) Chris. -- http://www.bluishcoder.co.nz -- This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Mnemonic for cleave/spread/etc?
On Wed, Apr 1, 2009 at 1:43 PM, Adam hiat...@gmail.com wrote: Slava's talk graphics help: Also this is useful: http://elasticdog.com/2008/12/beginning-factor-shufflers-and-combinators/ Chris. -- http://www.bluishcoder.co.nz -- ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Sequence initialisation.
On Sat, Mar 28, 2009 at 7:39 PM, Mariusz Nowostawski mari...@nowostawski.org wrote: How I can make the word myinit to always leave { 0 0 } on top of the stack, regardless of how that sequence is being later manipulated in-between? : myinit ( -- seq) { 0 0 } clone ; -- ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Factor http cookie bug
My server was failing some HTTP requests, sending an error back to the client. Some investigation showed the following type of cookie being sent by the client was the problem: Cookie: __s=12345567; Note the ';' at the end. No space or anything following it. This causes a PEG parsing error that causes the request to return an error. Chris. -- http://www.bluishcoder.co.nz -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] input, output and stack display panes in Factor.app
On Fri, Mar 6, 2009 at 1:41 AM, Svetoslav Agafonkin svet...@gmail.com wrote: How can I configure Factor.app to use the 3 panes on startup? The UI changed a while ago and it no longer has the three panes. It's changing again soon apparently so don't get too familiar with the current look :-) Chris. -- http://www.bluishcoder.co.nz -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Bug in Furnace header handling
There appears to be a bug in the way Furnace is handling headers. I've attached a simple webapp that demonstrates it. Put this app in a extra/webapps/badapp directory. Then do: USE: webapps.badapp badapp main-responder set-global [ httpd ] in-thread From a shell: wget -S http://localhost:/bad ... wget -S http://localhost:/good Compare the contents of the Content-Disposition header shown by wget. In the first case it's a large string of XML. This is wrong. In the second case it's the text we specified. It appears to be headers that have a quotation mark in it (). Here are the two actions to compare: : do-bad-action ( -- request ) html/html text/html content attachment; filename=\foo\ Content-Disposition set-header ; : bad-action ( -- action ) action [ do-bad-action ] display ; : do-good-action ( -- request ) html/html text/html content attachment; filename=foo Content-Disposition set-header ; : good-action ( -- action ) action [ do-good-action ] display ; Chris. -- http://www.bluishcoder.co.nz badapp.factor Description: Binary data -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Farkup and nofollow
While adding the ability to enter video descriptions in tinyvid I noticed what I think is a bug in Farkup. The t:farkup component has an option to make sure links have the 'nofollow' attribute. When the farkup is rendered this comes out as: a href=http://tinyvid.tv; nofollow=trueTinyVid!/a The 'nofollow' syntax appears to be wrong. It should be: a href=http://tinyvid.tv; rel=nofollowTinyVid!/a See here for details: http://en.wikipedia.org/wiki/Nofollow Chris. -- http://www.bluishcoder.co.nz -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] multi-methods
On Wed, Feb 4, 2009 at 1:27 PM, Eduardo Cavazos wayo.cava...@gmail.com wrote: It's an important issue for me. The switch to multi-methods is going to be one of those tectonic shifts in the code base. I'm a little reluctant to begin a large project if this switch over is around the corner. I'd be interested in knowing how much of an impact this will have on existing code too. Chris. -- http://www.bluishcoder.co.nz -- Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Vocabularies moved to unmaintained
On Fri, Jan 30, 2009 at 2:24 PM, Daniel Ehrenberg micro...@gmail.com wrote: Unfortunately, I had to move some vocabularies to unmaintained because help-lint has been broken on them for some time. Do the projects work and it's just warnings to do with their documentation? Chris. -- http://www.bluishcoder.co.nz -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Parsing - retain stack overflow
On Mon, Jan 19, 2009 at 3:35 AM, Paul Moore p.f.mo...@gmail.com wrote: Odd, since I'm running on Windows myself. I just downloaded the latest Windows x86 build and ran factor.exe no problem. It's an issue with my machine and the software on thinkpad laptops from what we can gather. Something causes Factor to generate an exception whenever a key is pressed. Hmm, that took a couple of minutes then crashed factor! What does 'crashed factor' mean? I suspect it means you get an out of memory error or something? But I'm not sure I see the relevance of left recursion - the grammar It's not relevant to your grammar. I'm saying that my pegs are different to other peg implementations in general so performance will be different with different grammars. No problem - although I'd say that usage would increase because it's an extremely useful module :-) People are welcome to use it of course, but it's no longer being developed. I'm exploring other parsing ideas instead. Chris. -- http://www.bluishcoder.co.nz -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Parsing - retain stack overflow
On Mon, Jan 19, 2009 at 2:22 PM, John Pallister j...@synchromesh.com wrote: Did you manage to incorporate everything you found interesting about OMeta into your Factor PEG code? I'm mainly looking at being able to parse streams of data and do partial parses. This is to allow parsing large inputs without requiring the entire string to be loaded in memory. I also have been working on making things work with sequences of data structures better which is what provides OMeta with a lot of its power. Some of the partial parsing stuff can be done using Factor continuations. eg. when reaching an unexpected end of file, capture the current continuation and resume when more input is available. But it's difficult to manage the memory usage with that approach. I'm also interested in exploring some of the Iteratee style of i/o. For example, Oleg's recent example of processing tiff files was very interesting to me. Sorry to all for the non-Factor post... Perhaps I should also ask whether your future parsing experiments might result in Factor libraries for the rest of us to ponder over (at the risk of further cranial detonations)? If anything useful comes out of it I'll be blogging about it. I don't see much point in writing yet another parsing library though since there is likely to be one done by the core Factor developers soon. I'm more interested in just playing around with ideas at the moment - it's less time consuming that writing/documenting/supporting libraries. Chris. -- http://www.bluishcoder.co.nz -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Problem with regexp
On Sun, Jan 18, 2009 at 6:09 AM, Daniel Ehrenberg micro...@gmail.com wrote: Regexp group caputure hasn't been fully debugged yet. You should try using some other parsing mechanism, like pegs. Hopefully this will be fixed soon. For peg.ebnf it would look something like: em123/em [EBNF rule=em ([0-9])+ /em = [[ second ]] EBNF] Or if you want to search for all occurences in a string: USE: peg.search USE: peg.ebnf ..string... EBNF rule=em ([0-9])+ /em = [[ second ]] EBNF search Chris. -- http://www.bluishcoder.co.nz -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Parse time greeting?
On Sun, Dec 21, 2008 at 11:16 PM, Jon Kleiser jon.klei...@usit.uio.no wrote: ...$ ./Factor.app/Contents/MacOS/factor -run=listener ( scratchpad ) : hello Hello world print ; parsing ( scratchpad ) hello Hello world I believe that's how it's supposed to work. Now do: : foo hello ; and see what happens. Chris -- http://www.bluishcoder.co.nz -- ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] Some more FUEL feedback
On Sun, Dec 14, 2008 at 2:09 PM, Slava Pestov sl...@factorcode.org wrote: In fact C: does not begin a form, it just reads the next two tokens, so it should not affect indent. I wonder if there's a way to embed this information in Factor itself. Maybe as word properties? Then any editor can query factor for the information. And users can change the indentation to suit their tastes by changing Factor and have the editor pick it up. Chris. -- http://www.bluishcoder.co.nz -- SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] http.client pull request
On Thu, Dec 11, 2008 at 6:56 PM, Slava Pestov [EMAIL PROTECTED] wrote: Also Doug is working on a big overhaul of the form submission code which supports multipart forms, as well as a better API for POST requests in general. Expect this to land in the next few days. Is there a description of how this works or overview of the design? I'd be interested in seeing small snippets of usage and maybe providing feedback. Chris. -- http://www.bluishcoder.co.nz -- SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] A couple of new language features
On Tue, Dec 9, 2008 at 8:34 PM, Slava Pestov [EMAIL PROTECTED] wrote: Try doing that in Lisp or Haskell! Since you asked :-) Haskell's syntax actually makes this work quite nice enough to get pretty close. Given a function 'while' in Haskell: while s pred body tail And a function doo ('do' is a reserved word I think): doo while s pred body = while (body s) pred body We can do: doo while s pred body tail Which calls the body first like the factor example. This is because the latter is (do (while) s pred body) not (do (while s pred body)) using Haskell's evaluation rules. Chris. -- http://www.bluishcoder.co.nz -- SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] An example for aspiring gadget writers
On Thu, Nov 27, 2008 at 11:34 PM, John Pallister [EMAIL PROTECTED] wrote: Creativity is great once you've mastered the idiom. Otherwise you just get bad poetry. Ed creates the idioms. Many of the idioms in Factor that we use today stem directly from things that Ed came up with and some of us (myself included) thought he was nuts to try the ideas. Sorry Ed :-) Chris. -- http://www.bluishcoder.co.nz - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk