Hi Dan -- What you saw was precisely the database file (it's a file written in the programming language FORTH).
Cheers, Henry On Wed, Jul 30, 2014 at 10:48 PM, Daniel Prager <daniel.a.pra...@gmail.com> wrote: > Thanks Henry > > That's exactly what I was interested in. I'm at work at the moment > (Australia), but will have a bit more of a look later tonight > > But I have an interest in the health sector, and would be interested in > contributing to a public domain project, especially if we can make something > neat / quick. I imagine others may be interested too. > > The reason I asked to see the big picture is that often in software > development a bit more context helps. E.g. Maybe parts of your existing > database can be sucked in and re-purposed. > > Dan > > > On Thu, Jul 31, 2014 at 10:49 AM, Henry Lenzi <henry.le...@gmail.com> wrote: >> >> Hi Daniel -- >> >> Do you mean the Forth files? >> I don't belienve they would make much sense to you, but it would go >> something like this (as you can see, that is a FORTH definition): >> >> : NAME S"John Doe" >> CU4 >> HCTZ25 30P 1CPM >> OMZ20 30P 1CPM INSTOMZ >> SIMVA20 30P 1CPN >> L\D ; >> >> Expands to (NOTE: Some things are germane to our public health >> system, such as renewing "continuous use" gratis medications, recipe >> valid for 4 months): >> >> John Doe >> >> Continuous use - 4 months >> >> Hydrochlorothiazide 25mg ---------------- 30 pills >> >> Take 1 pill P.O. in the morning. >> >> Omeprazol 20mg ----------------------------- 30 pills >> >> Take 1 pill P.O. in the morning, 1/2 hour >> before breakfast. >> >> Simvastatin 20mg ---------------------------- 30 pills >> >> Take 1 pill P.O. at night. >> >> City, xx/xx/xxxx >> >> >> So what´s happening here is that inside the FORTH definition, >> everything delimited by ":" and ";" is a FORTH word, as they say, that >> is to say, valid FORTH code. >> The very cheap trick here is simply writing a file with plain text >> (but called .fth, .f or other FORTH designations for filetypes) >> begining with a ":", ending with a ";", and everything in between, >> which are the FORTH words. >> The FORTH reader than opens this file. As soon as it hits the ":", it >> recognizes it's FORTH code. It's all amazingly stupid. However, what >> you get is: a DSL hassle-free (no parsing/lexing), a flat-file >> database for free (the name of the files), an interpreter (comes with >> the territory). And code is data, data is code, in a very, very >> concrete way. >> >> >> Cheers, >> >> Henry Lenzi >> >> >> >> >> >> >> On Wed, Jul 30, 2014 at 6:29 PM, Daniel Prager >> <daniel.a.pra...@gmail.com> wrote: >> > Hi Henry >> > >> > Racket is very suitable for writing DSLs, or even whole Ls (more >> > advanced!). >> > As you'd expect, the idioms for DSL construction in straight Racket are >> > different from those in Forth and will take a bit of familiarization and >> > adjustment. >> > >> > Would you be willing to share a more fully-fledged example of a >> > shorthand >> > medical recipe (input) and reconstructed recipe (output) so that the >> > Racket >> > Community can better understand what sounds like a very worthwhile >> > project? >> > >> > >> > Dan >> > >> > >> > On Tue, Jul 29, 2014 at 6:21 AM, Henry Lenzi <henry.le...@gmail.com> >> > wrote: >> > >> >> Of course, the ultimate purpose would be to re-evaluate the imported >> >> symbol and reconstruct a medical recipe. The purpose of these >> >> baby-steps exercises is porting a medical recipe program I've written >> >> originally in Forth that allowed me to service 5.000 patients creating >> >> a little database of shorthand recipes that then expand into real >> >> medical recipes. I got hundreds of patients on renewable recipes for, >> >> say, hypertension. Hand writing is no fun. Typing them in Word is no >> >> fun. The hospital has is its own software, but it's is a load of >> >> baloney, extremely buggy, if you ask me, so I'm rolling my own again, >> >> except I want to print directly on the model paper our service uses, >> >> so I want graphics like Racket Scheme has (very good capabilities, as >> >> far as my needs are concerned). >> >> >> >> With Forth, it's very easy to design DSLs, because there's no syntax >> >> and you get a lot of advanced features for free. For instance, there's >> >> no need to write a parser for my little language. However, since Forth >> >> implementations fall short of dealing with images, graphics (unless >> >> you take the royal road to pain and learn to program for the Win32 API >> >> and how it works for a particular Forth vendor), I'm looking at Racket >> >> Scheme. > > > > > -- > Daniel Prager > Agile/Lean Coaching, Software Development and Leadership > Startup: www.youpatch.com > Twitter: @agilejitsu > Blog: agile-jitsu.blogspot.com ____________________ Racket Users list: http://lists.racket-lang.org/users