I will definitely take a look - this could be very useful for preparing jfiles components.
On Fri, Oct 10, 2008 at 11:24 PM, Oleg Kobchenko <[EMAIL PROTECTED]> wrote: > > What J really needs is a new 5!:n call that generates a zip > > style compressed byte stream for any J object that is > > constructed from only visible ASCII characters. Then we > > Now the 'arc/zip/zbuffer' addon script implements in-memory > buffer compression using zlib. Combined with ascii85 it > produces plain text encoding. > > load 'arc/zip/zbuffer' > > zput85 2000$a. > GhQY8A7B.ZARjo]jPo=\jl7-g'G;/n'bcpqP`h>pQ'59G<)Qao<E%MreC)pqe^HH21bpsD2)D_G > ['I-F[Bk'rFE2PEF`[<Ho^__Gp%&\"$jmIN%1A5QN/EXPNJgS'9M/&O9hWgRbf\5Qc-%ag/1N8$ > /M"$'XK&G&XfHARChdj%D/8V(m-=$'mH^AuERNns;l<?^0ltq43HOB.?a+Lsi[%6a/RPc'e`o#- > f<*r7ERX&%>ISJ,Z#eOb4aZqj5B-,=i?LjR*C"Q7eEJc%c^hgin^?ML=0GoEEV%cK4*U/LJ+2sT > j!RWp4b*"mea#/4hnB'Zn^HYS?b_$hnakB$5C`_3B,L=AW;fBd5O/8Gs,[#+)#,0Q()tW? > ~> > > (-: # zget85 zput85) 10000$a. > 1 > (-: # zget zput ) 10000$a. > 1 > > ascii85 (used in zput85) emits multi-line LF separated output. > So it can be used together with 0 : 0 ... ). > > > > > > > From: John Baker <[EMAIL PROTECTED]> > > > > Oleg, > > > > The best source of information about jod is the jod.pdf. It can be seen > > at: > > > > http://bakerjd99.googlepages.com/jod.pdf > > > > You are correct about the representation used in dump files being > > inefficient for character data. The dump files in jodsource > > are complete dictionary dumps - essentially long JOD > > scripts that can rebuild the binary jfiles dictionary. I wrote the dump > > code a number of years ago and my main concern was to produce something > > that was absolutely portable and editable on just about anything. > > The wrapped a. encoding does this by avoiding all character > > translation and and "strange character" behaviour. The wrapping > > also circuments any line length limitations in J and external > > editors. This brute force approach has held up well and even handled new > > datatypes (like unicode) without a hiccup. > > > > What J really needs is a new 5!:n call that generates a zip > > style compressed byte stream for any J object that is > > constructed from only visible ASCII characters. Then we > > could have maximum portability and low byte counts. > > > > On Thu, Oct 9, 2008 at 1:31 PM, Oleg Kobchenko wrote: > > > > > JOD is an interesting project. It looks like > > > it manages J definitions. Is there a list of features > > > or datasheet with a list of things what it is capable > > > of to get an idea what to expect before actually fully > > > learning it. > > > > > > For example, is there a GUI to manage these definitions? > > > > > > Also there is the JOD source addon, which is noticeable > > > by its size and casually looking into it is shows some > > > kind of encoding. From first impression it may not be > > > most efficient. What is the reasoning behind it? > > > > > > For example, here JOD encoding is more than 2.5 times larger > > > than ascii85 encoding. > > > > > > load'general/jod' > > > ('zz';61) wraplinear_ajodmake_ (3 : '5!:5<''y''')a.{~ ?.~255 > > > zz=:'' > > > zz=:zz,'246 220 69 151 40 194 29 168 174 89 196 53 13 181 4 107 63 17' > > > zz=:zz,'5 82 249 12 193 121 187 19 186 88 242 114 231 80 96 150 147 1' > > > zz=:zz,'77 66 211 162 153 160 136 61 169 14 36 127 129 7 203 182 208 ' > > > zz=:zz,'195 133 239 243 49 117 98 100 138 157 116 5 202 142 52 200 23' > > > zz=:zz,'6 118 55 188 170 86 244 25 207 84 85 51 226 171 143 67 210 21' > > > zz=:zz,'8 234 158 120 35 173 212 183 59 101 237 190 238 180 131 206 1' > > > zz=:zz,'39 201 179 224 223 184 43 232 140 227 216 132 154 222 104 0 1' > > > zz=:zz,'5 78 122 39 8 50 251 192 109 47 229 247 245 204 23 230 165 17' > > > zz=:zz,'2 115 191 163 110 38 233 77 253 42 6 79 34 105 106 75 44 21 2' > > > zz=:zz,'0 144 95 130 56 60 111 141 3 221 164 87 112 10 94 235 228 81 ' > > > zz=:zz,'54 74 103 250 128 185 73 17 102 135 152 123 225 33 9 197 137 ' > > > zz=:zz,'46 83 18 26 97 214 159 217 134 32 71 70 31 16 64 93 248 156 9' > > > zz=:zz,'2 2 252 205 45 37 22 11 146 254 198 48 57 213 27 108 68 215 1' > > > zz=:zz,'24 65 91 145 176 58 209 113 62 219 28 119 166 76 99 240 148 1' > > > zz=:zz,'67 90 189 72 149 1 30 41 161 199 126 24 155 178 241 125{a. ' > > > zz=:912{.zz > > > #('zz';61) wraplinear_ajodmake_ (3 : '5!:5<''y''')a.{~ ?.~255 > > > 1083 > > > > > > load'convert/misc/ascii85' > > > 'zz=:fromascii85 0 : 0',LF,')',~toascii85 a.{~ ?.~255 > > > zz=:fromascii85 0 : 0 > > > > p=r*'.)I"'Y$&\#%CH=S5Hdu\%)I5$'=q<:Ep$8,QBSR?e"W8'Lcq^I,_(@MbI5d8L%"UfF^em= > > > STG%XN\niDFuR(6<)ka6X,fWrg?P8S,H]J)4([fnm^.VlMoi<`hmb3#N8rQDRbh]X%o.Eu > > > > #Vu:mD(k#Foun67V6"aQUM_FC:&QOG:EjLf9.UelOC*T!4E$2]h5"+k$=<&Z;)V$ZqLH+J&S?fc > > > Hf6+S`JH3G&[EMAIL PROTECTED] > > > +R35[F/T>QXiJ/L;/?P5`HT3Ro'b7+ZfP>EQ-Nd;_A)*-\8RA+5_\ > > > >.mIl!?N\`a*nkpZLN> > > > ~> > > > ) > > > #'zz=:fromascii85 0 : 0',LF,')',~toascii85 a.{~ ?.~255 > > > 404 > > > > > > > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
