Hi June. I can't make it work.
require 'strings'
cut
' '&$: :([: -.&a: <;._2@,~)
'key val'=: <"1 |: >({. , ([,' ',])&.>/@:}.)@:(' '&cut) each LF cut
|domain error
| 'key val'=:<"1|:> ({.,([,' ',])&.>/@:}.)@:(' '&cut)each LF cut
- Bo
>________________________________
> Fra: June Kim (김창준) <[email protected]>
>Til: [email protected]
>Sendt: 9:30 fredag den 30. november 2012
>Emne: Re: [Jprogramming] Translating BASIC into J
>
>I forgot to mention that cut is from strings.
>
>Hence, you should
>
>require 'strings'
>
>first, before running my other lines.
>
>On Wed, Nov 28, 2012 at 2:43 PM, June Kim (김창준) <[email protected]> wrote:
>
>> Hi Bo,
>>
>> Firstly on the database file:
>>
>> I suppose there is no blank line in between the lines of the file.
>> I suppose AMEN at the end was actually, 0 AMEN, instead.
>>
>> Now a quick and dirty version -- notice that this doesn't fully implement
>> the basic code exactly, but you'll get the key idea.
>>
>> 'key val'=: <"1 |: >({. , ([,' ',])&.>/@:}.)@:(' '&cut) each LF cut
>> 1!:1<jpath'~user/temp/CREDO' NB. I put the CREDO file here
>> search=:*./@(+./)@( [ (= , '0'&=@,: ) ({.~ #)~ )
>> val#~key search every < '13522' NB. query for 13522
>>
>>
>> June
>>
>>
>> On Tue, Nov 27, 2012 at 3:31 PM, Bo Jacoby <[email protected]> wrote:
>>
>>> Dear J'ers.
>>>
>>> At the Norddata conference in Göteborg in the summer 1989 I gave a
>>> lecture (in Danish) on Ultraflexible Database Structure and Artificial
>>> Catholicism.
>>>
>>>
>>> It contained this 8-liner in BASIC.
>>>
>>> 1 INPUT;C$: IF C$="" THEN END
>>> 2 OPEN "CREDO" FOR INPUT AS 1: PRINT":";
>>> 3 IF EOF(1) THEN CLOSE: PRINT: GOTO 1
>>> 4 LINE INPUT#1,A$: B$=C$
>>> 5 IF A$=""THEN A%=-1 ELSE A%=ASC(A$)-48: A$=MID$(A$,2)
>>> 6 IF B$=""THEN B%=-1 ELSE B%=ASC(B$)-48: B$=MID$(B$,2)
>>> 7 IF A%<0 THEN PRINT" ";A$;: GOTO 3
>>> 8 IF A%=0 OR B%=0 OR A%=B% THEN 5 ELSE 3
>>>
>>> I have not yet been able to translate this program into J, mainly (I
>>> think) because I have no experience in reading textfiles from J. I request
>>> your assistance! The line numbers in the file must be separated from the
>>> rest of the lines. The line numbers may be padded to the right with zeroes.
>>>
>>>
>>> The program is a database browser. The question put to the program is a
>>> number, and the answer from the program consists of the lines in the
>>> database having numbers compatible to that of the question. Like this:
>>>
>>> 1: CREDO AMEN
>>> 2: CONFITEOR AMEN
>>> 3: EXPECTO AMEN
>>> 0: CREDO CONFITEOR ET EXPECTO AMEN
>>>
>>> The digit zero is wild card character. A zero in the question indicate
>>> that the answer has many words, and zero in a word in the database indicate
>>> that this word answers many questions. So "AMEN" is included in all
>>> answers. Like this:
>>>
>>> 11: CREDO IN DEUM AMEN
>>> 12: CREDO IN JESUM AMEN
>>> 13: CREDO IN SPIRITUM AMEN
>>> 14: CREDO ECCLESIAM AMEN
>>> 15: CREDO AMEN
>>> 10: CREDO IN DEUM ET IN JESUM ET IN SPIRITUM ET ECCLESIAM AMEN
>>> 21: CONFITEOR BAPTISMA AMEN
>>> 22: CONFITEOR AMEN
>>> 31: EXPECTO RESURRECTIONEM AMEN
>>> 32: EXPECTO VITAM AMEN
>>> 33: EXPECTO AMEN
>>> 30: EXPECTO RESURRECTIONEM ET VITAM AMEN
>>> 01: CREDO IN DEUM CONFITEOR BAPTISMA ET EXPECTO RESURRECTIONEM AMEN
>>> 13500: CREDO IN SPIRITUM QUI CUM PATRE ET FILIO SIMUL ADORATUR ET
>>> GLORIFICATUR AMEN
>>>
>>> 13510: CREDO IN SPIRITUM QUI CUM PATRE ET FILIO SIMUL ADORATUR AMEN
>>> 13520: CREDO IN SPIRITUM QUI CUM PATRE ET FILIO SIMUL GLORIFICATUR AMEN
>>> 13501: CREDO IN SPIRITUM QUI CUM PATRE ADORATUR ET GLORIFICATUR AMEN
>>> 13502: CREDO IN SPIRITUM QUI CUM FILIO ADORATUR ET GLORIFICATUR AMEN
>>> 13511: CREDO IN SPIRITUM QUI CUM PATRE ADORATUR AMEN
>>> 13512: CREDO IN SPIRITUM QUI CUM FILIO ADORATUR AMEN
>>> 13521: CREDO IN SPIRITUM QUI CUM PATRE GLORIFICATUR AMEN
>>> 13522: CREDO IN SPIRITUM QUI CUM FILIO GLORIFICATUR AMEN
>>>
>>> The database is this.
>>> 1 CREDO
>>> 11 IN
>>> 111 UNUM
>>> 11 DEUM
>>> 112 PATREM
>>> 1121 OMNIPOTENTEM
>>> 113 FACTOREM
>>> 1131 CÆLI
>>> 1139 ET
>>> 1132 TERRÆ
>>> 11331 VISIBILIUM
>>> 1133 OMNIUM
>>> 11339 ET
>>> 11332 INVISIBILIUM
>>> 19 ET
>>> 12 IN
>>> 1211 UNUM
>>> 1211 DOMINUM
>>> 12 JESUM
>>> 1211 CHRISTUM
>>> 1212 FILIUM
>>> 1212 DEI
>>> 12121 UNIGENITUM
>>> 1219 ET
>>> 1213 EX
>>> 1213 PATRE
>>> 1213 NATUM
>>> 12131 ANTE
>>> 121311 OMNIA
>>> 12131 SÆCULA
>>> 1221 DEUM
>>> 12211 DE
>>> 12211 DEO
>>> 1222 LUMEN
>>> 12221 DE
>>> 12221 LUMINE
>>> 1223 DEUM
>>> 12231 VERUM
>>> 12232 DE
>>> 12232 DEO
>>> 122321 VERO
>>> 1231 GENITUM
>>> 12311 NON
>>> 12311 FACTUM
>>> 1232 CONSUBSTANTIALEM
>>> 1232 PATRI
>>> 12321 PER
>>> 12321 QUEM
>>> 12321 OMNIA
>>> 12321 FACTA
>>> 12321 SUNT
>>> 124 QUI
>>> 124101 PROPTER
>>> 124101 NOS
>>> 12410101 HOMINES
>>> 124109 ET
>>> 124102 PROPTER
>>> 12410201 NOSTRAM
>>> 124102 SALUTEM
>>> 12411 DESCENDIT
>>> 1241101 DE
>>> 1241101 CÆLIS
>>> 12419 ET
>>> 12412 INCARNATUS
>>> 12412 EST
>>> 1241201 DE
>>> 1241201 SPIRITU
>>> 124120101 SANCTO
>>> 1241202 EX
>>> 1241202 MARIA
>>> 124120201 VIRGINE
>>> 12419 ET
>>> 1241301 HOMO
>>> 12413 FACTUS
>>>
>>> 12413 EST
>>> 124211 CRUCIFIXUS
>>> 1242101 ETIAM
>>> 1242101 PRO
>>> 1242101 NOBIS
>>> 1242102 SUB
>>> 1242102 PONTIO
>>> 1242102 PILATO
>>> 124212 PASSUS
>>> 124219 ET
>>> 124213 SEPULTUS
>>> 12421 EST
>>> 12429 ET
>>> 12422 RESURREXIT
>>> 124221 TERTIA
>>> 124221 DIE
>>> 124222 SECUMDUM
>>> 124222 SCRIPTURAS
>>> 12429 ET
>>> 12423 ASCENDIT
>>> 124231 IN
>>> 124231 CÆLUM
>>> 12424 SEDET
>>> 124241 AD
>>> 124241 DEXTERAM
>>> 124241 PATRIS
>>> 12429 ET
>>> 124251 ITERUM
>>> 12425 VENTURUS
>>>
>>> 12425 EST
>>> 124252 CUM
>>> 124252 GLORIA
>>> 124253 JUDICARE
>>> 1242531 VIVOS
>>> 1242539 ET
>>> 1242532 MORTUOS
>>> 125 CUJUS
>>> 125 REGNI
>>> 125 NON
>>> 125 ERIT
>>> 125 FINIS
>>> 19 ET
>>> 13 IN
>>> 13 SPIRITUM
>>> 131 SANCTUM
>>> 132 DOMINUM
>>> 139 ET
>>> 133 VIVIFICANTEM
>>> 134 QUI
>>> 134 EX
>>> 1341 PATRE
>>> 1342 FILIO
>>> 1349 QUE
>>> 134 PROCEDIT
>>> 135 QUI
>>> 135 CUM
>>> 13501 PATRE
>>> 13509 ET
>>> 13502 FILIO
>>> 13509 SIMUL
>>> 1351 ADORATUR
>>> 1359 ET
>>> 1352 GLORIFICATUR
>>> 136 QUI
>>> 136 LOCUTUS EST
>>> 1361 PER
>>> 1361 PROPHETAS
>>> 19 ET
>>> 141 UNAM
>>> 142 SANCTAM
>>> 143 CATHOLICAM
>>> 149 ET
>>> 144 APOSTOLICAM
>>> 14 ECCLESIAM
>>> 2 CONFITEOR
>>> 211 UNUM
>>> 21 BAPTISMA
>>> 212 IN
>>> 212 REMISSIONEM
>>> 2121 PECCATORUM
>>> 9 ET
>>> 3 EXPECTO
>>> 31 RESURRECTIONEM
>>> 311 MORTUORUM
>>> 39 ET
>>> 32 VITAM
>>> 3211 VENTURI
>>> 321 SÆCULI
>>> AMEN
>>> ----------------------------------------------------------------------
>>> 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