rl.apl
⍝
⍝ Author: Bill Daly
⍝ Date: 2019年6月22日
⍝ Copyright: Copyright (C) 2019 by Bill Daly
⍝ License: GPL see http://www.gnu.org/licenses/gpl-3.0.en.html
⍝ Support email: ??????@??????
⍝ Portability: L3 (GNU APL)
⍝
⍝ Purpose:
⍝ Initalize ⎕RL with a "true" random seed.
⍝
⍝ Description:
⍝ A function that returns a random seed suitable for initializing ⎕RL
⍝
⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝
⍝
⍝ rl 2019年06月22日 13:30:53 (GMT+2)
⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝
∇seed←rl∆seed;sink
⍝ Function reads a seed from /dev/urandom (try man /dev/random)
fh←⎕FIO[3] '/dev/urandom'
st:
seed← (4⍴256)⊥4 ⎕FIO[6] fh
→(st,ed)[⎕io+ 4294967294>seed]
ed:
sink← ⎕FIO[4] fh
∇
⎕CT←1E ̄13
⎕FC←(,⎕UCS 46 44 8902 48 95 175)
⎕IO←1
⎕L←0
⎕LX←' ' ⍝ proto 1
⎕LX←0⍴⎕LX ⍝ proto 2
⎕PP←10
⎕PR←' '
⎕PS←0 0
⎕PW←80
⎕R←0
⎕RL←16807
⎕TZ←2
⎕X←0
⍝ EOF