Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/libraries/directory/System/Directory.hc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#include "newmacros.h"
#include "runtime.h"

#define FN_System_46Directory_46exeExtension	((void*)startLabel+8)
#define CT_v663	((void*)startLabel+20)
#define CF_System_46Directory_46exeExtension	((void*)startLabel+28)
#define FN_LAMBDA640	((void*)startLabel+44)
#define CT_v665	((void*)startLabel+64)
#define CF_LAMBDA640	((void*)startLabel+72)
#define CT_v666	((void*)startLabel+104)
#define FN_LAMBDA643	((void*)startLabel+140)
#define CT_v667	((void*)startLabel+156)
#define F0_LAMBDA643	((void*)startLabel+164)
#define FN_LAMBDA642	((void*)startLabel+184)
#define CT_v669	((void*)startLabel+204)
#define CF_LAMBDA642	((void*)startLabel+212)
#define FN_LAMBDA641	((void*)startLabel+224)
#define CT_v671	((void*)startLabel+244)
#define CF_LAMBDA641	((void*)startLabel+252)
#define CT_v672	((void*)startLabel+276)
#define FN_LAMBDA644	((void*)startLabel+304)
#define CT_v674	((void*)startLabel+324)
#define CF_LAMBDA644	((void*)startLabel+332)
#define CT_v675	((void*)startLabel+368)
#define FN_LAMBDA646	((void*)startLabel+408)
#define CT_v676	((void*)startLabel+444)
#define F0_LAMBDA646	((void*)startLabel+452)
#define FN_LAMBDA645	((void*)startLabel+472)
#define CT_v677	((void*)startLabel+492)
#define CF_LAMBDA645	((void*)startLabel+500)
#define CT_v678	((void*)startLabel+524)
#define FN_LAMBDA647	((void*)startLabel+552)
#define CT_v679	((void*)startLabel+572)
#define CF_LAMBDA647	((void*)startLabel+580)
#define FN_System_46Directory_46long_95path_95size	((void*)startLabel+592)
#define CT_v680	((void*)startLabel+612)
#define CF_System_46Directory_46long_95path_95size	((void*)startLabel+620)
#define CT_v681	((void*)startLabel+664)
#define FN_LAMBDA650	((void*)startLabel+716)
#define CT_v682	((void*)startLabel+736)
#define F0_LAMBDA650	((void*)startLabel+744)
#define FN_LAMBDA649	((void*)startLabel+768)
#define CT_v684	((void*)startLabel+788)
#define CF_LAMBDA649	((void*)startLabel+796)
#define FN_System_46Directory_46Prelude_46382_46search	((void*)startLabel+812)
#define v686	((void*)startLabel+822)
#define v687	((void*)startLabel+830)
#define CT_v689	((void*)startLabel+872)
#define F0_System_46Directory_46Prelude_46382_46search	((void*)startLabel+880)
#define FN_LAMBDA648	((void*)startLabel+924)
#define v690	((void*)startLabel+941)
#define CT_v692	((void*)startLabel+960)
#define F0_LAMBDA648	((void*)startLabel+968)
#define CT_v693	((void*)startLabel+1004)
#define FN_LAMBDA651	((void*)startLabel+1040)
#define CT_v694	((void*)startLabel+1056)
#define F0_LAMBDA651	((void*)startLabel+1064)
#define FN_System_46Directory_46c_95realpath_35	((void*)startLabel+1092)
#define CT_v695	((void*)startLabel+1112)
#define F0_System_46Directory_46c_95realpath_35	((void*)startLabel+1120)
#define FN_System_46Directory_46c_95realpath	((void*)startLabel+1132)
#define CT_v696	((void*)startLabel+1144)
#define CF_System_46Directory_46c_95realpath	((void*)startLabel+1152)
#define CT_v697	((void*)startLabel+1196)
#define FN_LAMBDA653	((void*)startLabel+1232)
#define CT_v698	((void*)startLabel+1252)
#define F0_LAMBDA653	((void*)startLabel+1260)
#define FN_LAMBDA652	((void*)startLabel+1292)
#define CT_v699	((void*)startLabel+1320)
#define F0_LAMBDA652	((void*)startLabel+1328)
#define FN_System_46Directory_46copyPermissions	((void*)startLabel+1364)
#define CT_v700	((void*)startLabel+1384)
#define F0_System_46Directory_46copyPermissions	((void*)startLabel+1392)
#define CT_v701	((void*)startLabel+1476)
#define CT_v702	((void*)startLabel+1544)
#define FN_LAMBDA660	((void*)startLabel+1580)
#define CT_v703	((void*)startLabel+1628)
#define F0_LAMBDA660	((void*)startLabel+1636)
#define FN_LAMBDA659	((void*)startLabel+1680)
#define CT_v704	((void*)startLabel+1724)
#define F0_LAMBDA659	((void*)startLabel+1732)
#define FN_LAMBDA658	((void*)startLabel+1776)
#define CT_v705	((void*)startLabel+1812)
#define F0_LAMBDA658	((void*)startLabel+1820)
#define FN_LAMBDA657	((void*)startLabel+1848)
#define CT_v707	((void*)startLabel+1868)
#define CF_LAMBDA657	((void*)startLabel+1876)
#define FN_LAMBDA656	((void*)startLabel+1888)
#define CT_v709	((void*)startLabel+1908)
#define CF_LAMBDA656	((void*)startLabel+1916)
#define FN_System_46Directory_46Prelude_46364_46rm	((void*)startLabel+1928)
#define CT_v710	((void*)startLabel+1952)
#define F0_System_46Directory_46Prelude_46364_46rm	((void*)startLabel+1960)
#define FN_LAMBDA655	((void*)startLabel+1992)
#define v712	((void*)startLabel+2002)
#define v713	((void*)startLabel+2019)
#define CT_v715	((void*)startLabel+2044)
#define F0_LAMBDA655	((void*)startLabel+2052)
#define FN_LAMBDA654	((void*)startLabel+2084)
#define CT_v716	((void*)startLabel+2120)
#define F0_LAMBDA654	((void*)startLabel+2128)
#define CT_v717	((void*)startLabel+2212)
#define FN_LAMBDA661	((void*)startLabel+2272)
#define v732	((void*)startLabel+2298)
#define v723	((void*)startLabel+2302)
#define v720	((void*)startLabel+2310)
#define v733	((void*)startLabel+2320)
#define v727	((void*)startLabel+2324)
#define v724	((void*)startLabel+2332)
#define v729	((void*)startLabel+2344)
#define v730	((void*)startLabel+2350)
#define CT_v735	((void*)startLabel+2388)
#define F0_LAMBDA661	((void*)startLabel+2396)
#define ST_v664	((void*)startLabel+2428)
#define ST_v708	((void*)startLabel+2429)
#define ST_v706	((void*)startLabel+2431)
#define ST_v668	((void*)startLabel+2434)
#define ST_v673	((void*)startLabel+2439)
#define ST_v683	((void*)startLabel+2444)
#define ST_v670	((void*)startLabel+2449)
extern Node FN_System_46getEnv[];
extern Node FN_Prelude_46catch[];
extern Node FN_Prelude_46Monad_46NHC_46Internal_46IO_46return[];
extern Node FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61[];
extern Node FN_Prelude_46_43_43[];
extern Node FN_System_46FilePath_46Posix_46_60_46_62[];
extern Node FN_NHC_46Internal_46_95apply2[];
extern Node FN_System_46FilePath_46Posix_46splitSearchPath[];
extern Node FN_NHC_46Internal_46_95apply1[];
extern Node FN_System_46FilePath_46Posix_46_60_47_62[];
extern Node FN_Directory_46doesFileExist[];
extern Node CF_Directory_46getCurrentDirectory[];
extern Node FN_System_46FilePath_46Posix_46makeRelative[];
extern Node FN_Prelude_46_36[];
extern Node F0_Prelude_46Monad_46NHC_46Internal_46IO_46return[];
void FR_System_46Directory_46c_95realpath_35(void);
extern Node FN_NHC_46Internal_46_95mkIOok2[];
extern Node FN_Foreign_46C_46String_46withCString[];
extern Node FN_Foreign_46Marshal_46Alloc_46allocaBytes[];
extern Node FN_Foreign_46C_46String_46peekCString[];
extern Node FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62[];
extern Node FN_Directory_46getPermissions[];
extern Node FN_Directory_46setPermissions[];
extern Node FN_Prelude_46readFile[];
extern Node FN_Prelude_46writeFile[];
extern Node FN_Control_46Exception_46try[];
extern Node FN_Directory_46getDirectoryContents[];
extern Node FN_Prelude_46sequence_95[];
extern Node CF_Prelude_46Monad_46NHC_46Internal_46IO[];
extern Node FN_Prelude_46_95foldr[];
extern Node FN_Directory_46removeDirectory[];
extern Node FN_Prelude_46Eq_46Prelude_46_91_93_46_47_61[];
extern Node CF_Prelude_46Eq_46Prelude_46Char[];
extern Node FN_Prelude_46_38_38[];
extern Node FN_Prelude_46_95filter[];
extern Node FN_Directory_46removeFile[];
extern Node FN_Directory_46doesDirectoryExist[];
extern Node FN_Control_46Monad_46unless[];
extern Node FN_Control_46Exception_46throw[];
extern Node FN_Prelude_46scanl1[];
extern Node CF_System_46FilePath_46Posix_46_60_47_62[];
extern Node FN_Prelude_46_46[];
extern Node F0_System_46FilePath_46Posix_46splitDirectories[];
extern Node F0_System_46FilePath_46Posix_46normalise[];
extern Node FN_Directory_46createDirectory[];
extern Node FN_Prelude_46mapM_95[];

static Node startLabel[] = {
  bytes2word(0,0,0,0)
, useLabel(CT_v663)
,	/* FN_System_46Directory_46exeExtension: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_I3,RETURN_EVAL)
, bytes2word(ENDCODE,0,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v663: (byte 0) */
  HW(1,0)
, 0
,	/* CF_System_46Directory_46exeExtension: (byte 0) */
  VAPTAG(useLabel(FN_System_46Directory_46exeExtension))
, VAPTAG(useLabel(FN_LAMBDA640))
, bytes2word(0,0,0,0)
, useLabel(CT_v665)
,	/* FN_LAMBDA640: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_CADR_N1,2,STRING)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, useLabel(ST_v664)
,	/* CT_v665: (byte 0) */
  HW(0,0)
, 0
,	/* CF_LAMBDA640: (byte 0) */
  VAPTAG(useLabel(FN_LAMBDA640))
, bytes2word(0,0,0,0)
, useLabel(CT_v666)
,};
Node FN_System_46Directory_46getTemporaryDirectory[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_OFF_N1)
, bytes2word(2,HEAP_CVAL_I5,PUSH_HEAP,HEAP_CVAL_P1)
, bytes2word(6,HEAP_OFF_N1,4,HEAP_OFF_N1)
, bytes2word(3,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v666: (byte 0) */
  HW(4,0)
, 0
,};
Node CF_System_46Directory_46getTemporaryDirectory[] = {
  VAPTAG(useLabel(FN_System_46Directory_46getTemporaryDirectory))
, VAPTAG(useLabel(FN_LAMBDA641))
, VAPTAG(useLabel(FN_System_46getEnv))
, CAPTAG(useLabel(FN_LAMBDA643),1)
, VAPTAG(useLabel(FN_Prelude_46catch))
, bytes2word(1,0,0,1)
, useLabel(CT_v667)
,	/* FN_LAMBDA643: (byte 0) */
  bytes2word(ZAP_ARG_I1,NEEDHEAP_I32,HEAP_CVAL_I3,PUSH_HEAP)
, bytes2word(HEAP_CVAL_I4,HEAP_OFF_N1,2,RETURN_EVAL)
, bytes2word(ENDCODE,0,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v667: (byte 0) */
  HW(2,1)
, 0
,	/* F0_LAMBDA643: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA643),1)
, VAPTAG(useLabel(FN_LAMBDA642))
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46return))
, bytes2word(0,0,0,0)
, useLabel(CT_v669)
,	/* FN_LAMBDA642: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_CADR_N1,2,STRING)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, useLabel(ST_v668)
,	/* CT_v669: (byte 0) */
  HW(0,0)
, 0
,	/* CF_LAMBDA642: (byte 0) */
  VAPTAG(useLabel(FN_LAMBDA642))
, bytes2word(0,0,0,0)
, useLabel(CT_v671)
,	/* FN_LAMBDA641: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_CADR_N1,2,STRING)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, useLabel(ST_v670)
,	/* CT_v671: (byte 0) */
  HW(0,0)
, 0
,	/* CF_LAMBDA641: (byte 0) */
  VAPTAG(useLabel(FN_LAMBDA641))
, bytes2word(0,0,0,0)
, useLabel(CT_v672)
,};
Node FN_System_46Directory_46getUserDocumentsDirectory[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,PUSH_HEAP,HEAP_CVAL_I4)
, bytes2word(HEAP_OFF_N1,2,RETURN_EVAL,ENDCODE)
, bytes2word(0,0,0,0)
,	/* CT_v672: (byte 0) */
  HW(2,0)
, 0
,};
Node CF_System_46Directory_46getUserDocumentsDirectory[] = {
  VAPTAG(useLabel(FN_System_46Directory_46getUserDocumentsDirectory))
, VAPTAG(useLabel(FN_LAMBDA644))
, VAPTAG(useLabel(FN_System_46getEnv))
, bytes2word(0,0,0,0)
, useLabel(CT_v674)
,	/* FN_LAMBDA644: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_CADR_N1,2,STRING)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, useLabel(ST_v673)
,	/* CT_v674: (byte 0) */
  HW(0,0)
, 0
,	/* CF_LAMBDA644: (byte 0) */
  VAPTAG(useLabel(FN_LAMBDA644))
, bytes2word(1,0,0,1)
, useLabel(CT_v675)
,};
Node FN_System_46Directory_46getAppUserDataDirectory[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_OFF_N1)
, bytes2word(2,HEAP_CVAL_I5,HEAP_ARG,1)
, bytes2word(PUSH_HEAP,HEAP_CVAL_P1,6,HEAP_OFF_N1)
, bytes2word(5,HEAP_OFF_N1,4,RETURN_EVAL)
, bytes2word(ENDCODE,0,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v675: (byte 0) */
  HW(4,1)
, 0
,};
Node F0_System_46Directory_46getAppUserDataDirectory[] = {
  CAPTAG(useLabel(FN_System_46Directory_46getAppUserDataDirectory),1)
, VAPTAG(useLabel(FN_LAMBDA645))
, VAPTAG(useLabel(FN_System_46getEnv))
, CAPTAG(useLabel(FN_LAMBDA646),1)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v676)
,	/* FN_LAMBDA646: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_N1,1,HEAP_CHAR_P1)
, bytes2word(46,HEAP_ARG,1,HEAP_CVAL_N1)
, bytes2word(1,HEAP_CHAR_P1,47,HEAP_OFF_N1)
, bytes2word(5,HEAP_CVAL_I3,HEAP_ARG,2)
, bytes2word(HEAP_OFF_N1,5,PUSH_HEAP,HEAP_CVAL_I4)
, bytes2word(HEAP_OFF_N1,4,RETURN_EVAL,ENDCODE)
, bytes2word(0,0,0,0)
, 0
, CONSTR(1,2,0)
,	/* CT_v676: (byte 0) */
  HW(2,2)
, 0
,	/* F0_LAMBDA646: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA646),2)
, VAPTAG(useLabel(FN_Prelude_46_43_43))
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46return))
, bytes2word(0,0,0,0)
, useLabel(CT_v677)
,	/* FN_LAMBDA645: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_CADR_N1,2,STRING)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, useLabel(ST_v673)
,	/* CT_v677: (byte 0) */
  HW(0,0)
, 0
,	/* CF_LAMBDA645: (byte 0) */
  VAPTAG(useLabel(FN_LAMBDA645))
, bytes2word(0,0,0,0)
, useLabel(CT_v678)
,};
Node FN_System_46Directory_46getHomeDirectory[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,PUSH_HEAP,HEAP_CVAL_I4)
, bytes2word(HEAP_OFF_N1,2,RETURN_EVAL,ENDCODE)
, bytes2word(0,0,0,0)
,	/* CT_v678: (byte 0) */
  HW(2,0)
, 0
,};
Node CF_System_46Directory_46getHomeDirectory[] = {
  VAPTAG(useLabel(FN_System_46Directory_46getHomeDirectory))
, VAPTAG(useLabel(FN_LAMBDA647))
, VAPTAG(useLabel(FN_System_46getEnv))
, bytes2word(0,0,0,0)
, useLabel(CT_v679)
,	/* FN_LAMBDA647: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_CADR_N1,2,STRING)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, useLabel(ST_v673)
,	/* CT_v679: (byte 0) */
  HW(0,0)
, 0
,	/* CF_LAMBDA647: (byte 0) */
  VAPTAG(useLabel(FN_LAMBDA647))
, bytes2word(0,0,0,0)
, useLabel(CT_v680)
,	/* FN_System_46Directory_46long_95path_95size: (byte 0) */
  bytes2word(NEEDSTACK_I16,PUSH_CADR_N1,2,RETURN)
, bytes2word(ENDCODE,0,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, 2048
,	/* CT_v680: (byte 0) */
  HW(0,0)
, 0
,	/* CF_System_46Directory_46long_95path_95size: (byte 0) */
  VAPTAG(useLabel(FN_System_46Directory_46long_95path_95size))
, bytes2word(1,0,0,1)
, useLabel(CT_v681)
,};
Node FN_System_46Directory_46findExecutable[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,PUSH_HEAP,HEAP_CVAL_I4)
, bytes2word(HEAP_OFF_N1,2,HEAP_ARG,1)
, bytes2word(HEAP_CVAL_I5,HEAP_CVAL_P1,6,HEAP_CVAL_P1)
, bytes2word(7,HEAP_OFF_N1,2,HEAP_CVAL_P1)
, bytes2word(8,HEAP_P1,0,PUSH_HEAP)
, bytes2word(HEAP_CVAL_P1,9,HEAP_OFF_N1,5)
, bytes2word(HEAP_OFF_N1,4,RETURN_EVAL,ENDCODE)
, bytes2word(0,0,0,0)
,	/* CT_v681: (byte 0) */
  HW(7,1)
, 0
,};
Node F0_System_46Directory_46findExecutable[] = {
  CAPTAG(useLabel(FN_System_46Directory_46findExecutable),1)
, VAPTAG(useLabel(FN_System_46FilePath_46Posix_46_60_46_62))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply2))
, useLabel(CF_System_46Directory_46exeExtension)
, VAPTAG(useLabel(FN_LAMBDA649))
, VAPTAG(useLabel(FN_System_46getEnv))
, CAPTAG(useLabel(FN_LAMBDA650),1)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v682)
,	/* FN_LAMBDA650: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_OFF_N1)
, bytes2word(2,HEAP_ARG,2,PUSH_HEAP)
, bytes2word(HEAP_CVAL_I5,HEAP_ARG,1,HEAP_OFF_N1)
, bytes2word(5,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v682: (byte 0) */
  HW(3,2)
, 0
,	/* F0_LAMBDA650: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA650),2)
, VAPTAG(useLabel(FN_System_46FilePath_46Posix_46splitSearchPath))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply1))
, VAPTAG(useLabel(FN_System_46Directory_46Prelude_46382_46search))
, bytes2word(0,0,0,0)
, useLabel(CT_v684)
,	/* FN_LAMBDA649: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_CADR_N1,2,STRING)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, useLabel(ST_v683)
,	/* CT_v684: (byte 0) */
  HW(0,0)
, 0
,	/* CF_LAMBDA649: (byte 0) */
  VAPTAG(useLabel(FN_LAMBDA649))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v689)
,	/* FN_System_46Directory_46Prelude_46382_46search: (byte 0) */
  bytes2word(NEEDSTACK_I16,PUSH_ZAP_ARG_I2,EVAL,NEEDHEAP_I32)
, bytes2word(TABLESWITCH,2,TOP(4),BOT(4))
,	/* v686: (byte 2) */
  bytes2word(TOP(12),BOT(12),POP_I1,HEAP_CVAL_N1)
, bytes2word(1,PUSH_HEAP,HEAP_CVAL_I3,HEAP_OFF_N1)
,	/* v687: (byte 2) */
  bytes2word(2,RETURN_EVAL,UNPACK,2)
, bytes2word(HEAP_CVAL_I4,PUSH_HEAP,HEAP_CVAL_I5,HEAP_OFF_N1)
, bytes2word(2,HEAP_I1,HEAP_ARG,1)
, bytes2word(HEAP_CVAL_P1,6,HEAP_P1,0)
, bytes2word(HEAP_CVAL_P1,7,HEAP_P1,0)
, bytes2word(HEAP_I2,HEAP_ARG,1,PUSH_HEAP)
, bytes2word(HEAP_CVAL_P1,8,HEAP_OFF_N1,7)
, bytes2word(HEAP_OFF_N1,6,RETURN_EVAL,ENDCODE)
, bytes2word(0,0,0,0)
, 0
, CONSTR(0,0,0)
,	/* CT_v689: (byte 0) */
  HW(6,2)
, 0
,	/* F0_System_46Directory_46Prelude_46382_46search: (byte 0) */
  CAPTAG(useLabel(FN_System_46Directory_46Prelude_46382_46search),2)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46return))
, VAPTAG(useLabel(FN_System_46FilePath_46Posix_46_60_47_62))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply2))
, VAPTAG(useLabel(FN_Directory_46doesFileExist))
, CAPTAG(useLabel(FN_LAMBDA648),1)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61))
, bytes2word(0,0,4,0)
, bytes2word(3,1,2,2)
, bytes2word(1,3,0,4)
, useLabel(CT_v692)
,	/* FN_LAMBDA648: (byte 0) */
  bytes2word(NEEDSTACK_I16,PUSH_ZAP_ARG,4,EVAL)
, bytes2word(NEEDHEAP_I32,JUMPFALSE,11,0)
, bytes2word(HEAP_CVAL_N1,1,HEAP_ARG,1)
, bytes2word(PUSH_HEAP,HEAP_CVAL_I3,HEAP_OFF_N1,3)
,	/* v690: (byte 1) */
  bytes2word(RETURN_EVAL,PUSH_HEAP,HEAP_CVAL_I4,HEAP_ARG_ARG_RET_EVAL)
, bytes2word(3,2,ENDCODE,0)
, bytes2word(0,0,0,0)
, 0
, CONSTR(1,1,0)
,	/* CT_v692: (byte 0) */
  HW(2,4)
, 0
,	/* F0_LAMBDA648: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA648),4)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46return))
, VAPTAG(useLabel(FN_System_46Directory_46Prelude_46382_46search))
, bytes2word(1,0,0,1)
, useLabel(CT_v693)
,};
Node FN_System_46Directory_46makeRelativeToCurrentDirectory[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_ARG,1)
, bytes2word(PUSH_HEAP,HEAP_CVAL_I4,HEAP_CVAL_I5,HEAP_OFF_N1)
, bytes2word(4,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v693: (byte 0) */
  HW(3,1)
, 0
,};
Node F0_System_46Directory_46makeRelativeToCurrentDirectory[] = {
  CAPTAG(useLabel(FN_System_46Directory_46makeRelativeToCurrentDirectory),1)
, CAPTAG(useLabel(FN_LAMBDA651),1)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61))
, useLabel(CF_Directory_46getCurrentDirectory)
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v694)
,	/* FN_LAMBDA651: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_ARG_ARG,2)
, bytes2word(1,PUSH_HEAP,HEAP_CVAL_I4,HEAP_CVAL_I5)
, bytes2word(HEAP_OFF_N1,5,RETURN_EVAL,ENDCODE)
, bytes2word(0,0,0,0)
,	/* CT_v694: (byte 0) */
  HW(3,2)
, 0
,	/* F0_LAMBDA651: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA651),2)
, VAPTAG(useLabel(FN_System_46FilePath_46Posix_46makeRelative))
, VAPTAG(useLabel(FN_Prelude_46_36))
, useLabel(F0_Prelude_46Monad_46NHC_46Internal_46IO_46return)
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v695)
,	/* FN_System_46Directory_46c_95realpath_35: (byte 0) */
  bytes2word(PUSH_ARG_I1,EVAL,POP_I1,PUSH_ARG_I2)
, bytes2word(EVAL,POP_I1,PRIMITIVE,NOP)
, useLabel(FR_System_46Directory_46c_95realpath_35)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v695: (byte 0) */
  HW(0,2)
, 0
,	/* F0_System_46Directory_46c_95realpath_35: (byte 0) */
  CAPTAG(useLabel(FN_System_46Directory_46c_95realpath_35),2)
, bytes2word(0,0,0,0)
, useLabel(CT_v696)
,	/* FN_System_46Directory_46c_95realpath: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_I3,HEAP_CVAL_I4)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v696: (byte 0) */
  HW(2,0)
, 0
,	/* CF_System_46Directory_46c_95realpath: (byte 0) */
  VAPTAG(useLabel(FN_System_46Directory_46c_95realpath))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95mkIOok2))
, useLabel(F0_System_46Directory_46c_95realpath_35)
, bytes2word(1,0,0,1)
, useLabel(CT_v697)
,};
Node FN_System_46Directory_46canonicalizePath[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_OFF_N1)
, bytes2word(2,HEAP_ARG,1,HEAP_CVAL_I5)
, bytes2word(PUSH_HEAP,HEAP_CVAL_P1,6,HEAP_OFF_N1)
, bytes2word(5,HEAP_OFF_N1,3,RETURN_EVAL)
, bytes2word(ENDCODE,0,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v697: (byte 0) */
  HW(4,1)
, 0
,};
Node F0_System_46Directory_46canonicalizePath[] = {
  CAPTAG(useLabel(FN_System_46Directory_46canonicalizePath),1)
, VAPTAG(useLabel(FN_Foreign_46C_46String_46withCString))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply1))
, CAPTAG(useLabel(FN_LAMBDA653),1)
, VAPTAG(useLabel(FN_Prelude_46_36))
, bytes2word(1,0,0,1)
, useLabel(CT_v698)
,	/* FN_LAMBDA653: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_CVAL_I5)
, bytes2word(HEAP_ARG,1,PUSH_HEAP,HEAP_CVAL_P1)
, bytes2word(6,HEAP_OFF_N1,5,HEAP_OFF_N1)
, bytes2word(4,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v698: (byte 0) */
  HW(4,1)
, 0
,	/* F0_LAMBDA653: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA653),1)
, VAPTAG(useLabel(FN_Foreign_46Marshal_46Alloc_46allocaBytes))
, useLabel(CF_System_46Directory_46long_95path_95size)
, CAPTAG(useLabel(FN_LAMBDA652),1)
, VAPTAG(useLabel(FN_Prelude_46_36))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v699)
,	/* FN_LAMBDA652: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_OFF_N1)
, bytes2word(2,HEAP_ARG_ARG,1,2)
, bytes2word(HEAP_CVAL_I5,HEAP_CVAL_P1,6,HEAP_OFF_N1)
, bytes2word(2,HEAP_ARG,2,PUSH_HEAP)
, bytes2word(HEAP_CVAL_P1,7,HEAP_OFF_N1,9)
, bytes2word(HEAP_OFF_N1,5,RETURN_EVAL,ENDCODE)
, bytes2word(0,0,0,0)
,	/* CT_v699: (byte 0) */
  HW(5,2)
, 0
,	/* F0_LAMBDA652: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA652),2)
, VAPTAG(useLabel(FN_System_46Directory_46c_95realpath))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply2))
, VAPTAG(useLabel(FN_Foreign_46C_46String_46peekCString))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply1))
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v700)
,	/* FN_System_46Directory_46copyPermissions: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_ARG,1)
, bytes2word(HEAP_CVAL_I4,HEAP_ARG,2,PUSH_HEAP)
, bytes2word(HEAP_CVAL_I5,HEAP_OFF_N1,5,HEAP_OFF_N1)
, bytes2word(4,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v700: (byte 0) */
  HW(3,2)
, 0
,	/* F0_System_46Directory_46copyPermissions: (byte 0) */
  CAPTAG(useLabel(FN_System_46Directory_46copyPermissions),2)
, VAPTAG(useLabel(FN_Directory_46getPermissions))
, CAPTAG(useLabel(FN_Directory_46setPermissions),1)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v701)
,};
Node FN_System_46Directory_46copyFile[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_ARG,1)
, bytes2word(HEAP_CVAL_I4,HEAP_ARG,2,HEAP_CVAL_I5)
, bytes2word(HEAP_OFF_N1,5,HEAP_OFF_N1,4)
, bytes2word(HEAP_CVAL_P1,6,HEAP_ARG_ARG,1)
, bytes2word(2,HEAP_CVAL_P1,7,HEAP_OFF_N1)
, bytes2word(4,HEAP_CVAL_N1,1,HEAP_CVAL_P1)
, bytes2word(8,HEAP_OFF_N1,2,HEAP_CVAL_P1)
, bytes2word(9,HEAP_OFF_N1,6,HEAP_OFF_N1)
, bytes2word(4,PUSH_HEAP,HEAP_CVAL_P1,9)
, bytes2word(HEAP_OFF_N1,15,HEAP_OFF_N1,5)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, 0
, CONSTR(0,0,0)
,	/* CT_v701: (byte 0) */
  HW(7,2)
, 0
,};
Node F0_System_46Directory_46copyFile[] = {
  CAPTAG(useLabel(FN_System_46Directory_46copyFile),2)
, VAPTAG(useLabel(FN_Prelude_46readFile))
, CAPTAG(useLabel(FN_Prelude_46writeFile),1)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61))
, VAPTAG(useLabel(FN_System_46Directory_46copyPermissions))
, VAPTAG(useLabel(FN_Control_46Exception_46try))
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46return))
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62))
, bytes2word(1,0,0,1)
, useLabel(CT_v702)
,};
Node FN_System_46Directory_46removeDirectoryRecursive[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_ARG,1)
, bytes2word(HEAP_CVAL_I4,HEAP_ARG,1,PUSH_HEAP)
, bytes2word(HEAP_CVAL_I5,HEAP_OFF_N1,5,HEAP_OFF_N1)
, bytes2word(4,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v702: (byte 0) */
  HW(3,1)
, 0
,};
Node F0_System_46Directory_46removeDirectoryRecursive[] = {
  CAPTAG(useLabel(FN_System_46Directory_46removeDirectoryRecursive),1)
, VAPTAG(useLabel(FN_Directory_46getDirectoryContents))
, CAPTAG(useLabel(FN_LAMBDA660),1)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v703)
,	/* FN_LAMBDA660: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_CVAL_I5)
, bytes2word(HEAP_ARG,1,HEAP_CVAL_N1,1)
, bytes2word(HEAP_CVAL_P1,6,HEAP_OFF_N1,4)
, bytes2word(HEAP_ARG,2,HEAP_OFF_N1,4)
, bytes2word(HEAP_CVAL_P1,7,HEAP_OFF_N1,10)
, bytes2word(HEAP_OFF_N1,6,HEAP_CVAL_P1,8)
, bytes2word(HEAP_ARG,1,PUSH_HEAP,HEAP_CVAL_P1)
, bytes2word(9,HEAP_OFF_N1,6,HEAP_OFF_N1)
, bytes2word(4,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
, 0
, CONSTR(0,0,0)
,	/* CT_v703: (byte 0) */
  HW(7,2)
, 0
,	/* F0_LAMBDA660: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA660),2)
, VAPTAG(useLabel(FN_Prelude_46sequence_95))
, useLabel(CF_Prelude_46Monad_46NHC_46Internal_46IO)
, CAPTAG(useLabel(FN_LAMBDA659),2)
, VAPTAG(useLabel(FN_Prelude_46_95foldr))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply1))
, VAPTAG(useLabel(FN_Directory_46removeDirectory))
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62))
, bytes2word(3,0,2,1)
, bytes2word(1,2,0,3)
, useLabel(CT_v704)
,	/* FN_LAMBDA659: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_CVAL_I5)
, bytes2word(HEAP_ARG,2,HEAP_OFF_N1,4)
, bytes2word(HEAP_CVAL_P1,6,HEAP_CVAL_I4,HEAP_CVAL_I5)
, bytes2word(HEAP_ARG,2,HEAP_OFF_N1,4)
, bytes2word(HEAP_CVAL_P1,7,HEAP_OFF_N1,10)
, bytes2word(HEAP_OFF_N1,6,HEAP_CVAL_P1,8)
, bytes2word(HEAP_ARG_ARG,1,2,PUSH_HEAP)
, bytes2word(HEAP_CVAL_P1,9,HEAP_OFF_N1,7)
, bytes2word(HEAP_OFF_N1,5,HEAP_ARG,3)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v704: (byte 0) */
  HW(7,3)
, 0
,	/* F0_LAMBDA659: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA659),3)
, VAPTAG(useLabel(FN_LAMBDA656))
, VAPTAG(useLabel(FN_Prelude_46Eq_46Prelude_46_91_93_46_47_61))
, useLabel(CF_Prelude_46Eq_46Prelude_46Char)
, VAPTAG(useLabel(FN_LAMBDA657))
, VAPTAG(useLabel(FN_Prelude_46_38_38))
, CAPTAG(useLabel(FN_LAMBDA658),1)
, VAPTAG(useLabel(FN_Prelude_46_95filter))
, bytes2word(3,0,2,1)
, bytes2word(1,2,0,3)
, useLabel(CT_v705)
,	/* FN_LAMBDA658: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_CVAL_I5)
, bytes2word(HEAP_OFF_N1,2,HEAP_ARG_ARG,1)
, bytes2word(2,HEAP_CVAL_P1,6,HEAP_OFF_N1)
, bytes2word(7,HEAP_OFF_N1,6,PUSH_HEAP)
, bytes2word(HEAP_CVAL_N1,1,HEAP_OFF_N1,4)
, bytes2word(HEAP_ARG,3,RETURN,ENDCODE)
, bytes2word(0,0,0,0)
, 0
, CONSTR(1,2,0)
,	/* CT_v705: (byte 0) */
  HW(4,3)
, 0
,	/* F0_LAMBDA658: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA658),3)
, CAPTAG(useLabel(FN_System_46Directory_46Prelude_46364_46rm),1)
, VAPTAG(useLabel(FN_System_46FilePath_46Posix_46_60_47_62))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply2))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply1))
, bytes2word(0,0,0,0)
, useLabel(CT_v707)
,	/* FN_LAMBDA657: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_CADR_N1,2,STRING)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, useLabel(ST_v706)
,	/* CT_v707: (byte 0) */
  HW(0,0)
, 0
,	/* CF_LAMBDA657: (byte 0) */
  VAPTAG(useLabel(FN_LAMBDA657))
, bytes2word(0,0,0,0)
, useLabel(CT_v709)
,	/* FN_LAMBDA656: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_CADR_N1,2,STRING)
, bytes2word(RETURN,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, CONSTRW(1,0)
, useLabel(ST_v708)
,	/* CT_v709: (byte 0) */
  HW(0,0)
, 0
,	/* CF_LAMBDA656: (byte 0) */
  VAPTAG(useLabel(FN_LAMBDA656))
, bytes2word(1,0,0,1)
, useLabel(CT_v710)
,	/* FN_System_46Directory_46Prelude_46364_46rm: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_ARG,1)
, bytes2word(HEAP_CVAL_I4,HEAP_OFF_N1,3,HEAP_CVAL_I5)
, bytes2word(HEAP_ARG,1,PUSH_HEAP,HEAP_CVAL_P1)
, bytes2word(6,HEAP_OFF_N1,5,HEAP_OFF_N1)
, bytes2word(4,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v710: (byte 0) */
  HW(4,1)
, 0
,	/* F0_System_46Directory_46Prelude_46364_46rm: (byte 0) */
  CAPTAG(useLabel(FN_System_46Directory_46Prelude_46364_46rm),1)
, VAPTAG(useLabel(FN_Directory_46removeFile))
, VAPTAG(useLabel(FN_Control_46Exception_46try))
, CAPTAG(useLabel(FN_LAMBDA655),1)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v715)
,	/* FN_LAMBDA655: (byte 0) */
  bytes2word(NEEDSTACK_I16,PUSH_ZAP_ARG_I2,EVAL,NEEDHEAP_I32)
, bytes2word(TABLESWITCH,2,TOP(4),BOT(4))
,	/* v712: (byte 2) */
  bytes2word(TOP(21),BOT(21),UNPACK,1)
, bytes2word(HEAP_CVAL_I3,HEAP_ARG,1,HEAP_CVAL_I4)
, bytes2word(HEAP_P1,0,HEAP_ARG,1)
, bytes2word(PUSH_HEAP,HEAP_CVAL_I5,HEAP_OFF_N1,6)
,	/* v713: (byte 3) */
  bytes2word(HEAP_OFF_N1,5,RETURN_EVAL,UNPACK)
, bytes2word(1,HEAP_CVAL_N1,1,PUSH_HEAP)
, bytes2word(HEAP_CVAL_P1,6,HEAP_OFF_N1,2)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
, 0
, CONSTR(0,0,0)
,	/* CT_v715: (byte 0) */
  HW(4,2)
, 0
,	/* F0_LAMBDA655: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA655),2)
, VAPTAG(useLabel(FN_Directory_46doesDirectoryExist))
, CAPTAG(useLabel(FN_LAMBDA654),1)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61))
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46return))
, bytes2word(3,0,2,1)
, bytes2word(1,2,0,3)
, useLabel(CT_v716)
,	/* FN_LAMBDA654: (byte 0) */
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_ARG)
, bytes2word(3,HEAP_CVAL_I5,HEAP_CVAL_P1,6)
, bytes2word(HEAP_OFF_N1,2,HEAP_ARG,1)
, bytes2word(HEAP_CVAL_P1,7,HEAP_OFF_N1,8)
, bytes2word(HEAP_OFF_N1,5,HEAP_CVAL_P1,8)
, bytes2word(HEAP_ARG,2,PUSH_HEAP,HEAP_CVAL_P1)
, bytes2word(9,HEAP_OFF_N1,6,HEAP_OFF_N1)
, bytes2word(4,RETURN_EVAL,ENDCODE,0)
, bytes2word(0,0,0,0)
,	/* CT_v716: (byte 0) */
  HW(7,3)
, 0
,	/* F0_LAMBDA654: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA654),3)
, CAPTAG(useLabel(FN_Control_46Monad_46unless),1)
, useLabel(CF_Prelude_46Monad_46NHC_46Internal_46IO)
, VAPTAG(useLabel(FN_Control_46Exception_46throw))
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply1))
, VAPTAG(useLabel(FN_Prelude_46_36))
, VAPTAG(useLabel(FN_System_46Directory_46removeDirectoryRecursive))
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62))
, bytes2word(0,0,2,0)
, bytes2word(1,1,0,2)
, useLabel(CT_v717)
,};
Node FN_System_46Directory_46createDirectoryIfMissing[] = {
  bytes2word(NEEDHEAP_I32,HEAP_CVAL_I3,HEAP_CVAL_I4,HEAP_CVAL_I5)
, bytes2word(HEAP_CVAL_P1,6,HEAP_CVAL_P1,7)
, bytes2word(PUSH_HEAP,HEAP_CVAL_I5,HEAP_OFF_N1,6)
, bytes2word(HEAP_OFF_N1,5,HEAP_CVAL_P1,8)
, bytes2word(HEAP_ARG,2,HEAP_CVAL_P1,9)
, bytes2word(HEAP_P1,0,HEAP_ARG_ARG,1)
, bytes2word(2,PUSH_HEAP,HEAP_CVAL_P1,10)
, bytes2word(HEAP_OFF_N1,7,HEAP_OFF_N1,6)
, bytes2word(RETURN_EVAL,ENDCODE,0,0)
, bytes2word(0,0,0,0)
,	/* CT_v717: (byte 0) */
  HW(8,2)
, 0
,};
Node F0_System_46Directory_46createDirectoryIfMissing[] = {
  CAPTAG(useLabel(FN_System_46Directory_46createDirectoryIfMissing),2)
, CAPTAG(useLabel(FN_Prelude_46scanl1),1)
, useLabel(CF_System_46FilePath_46Posix_46_60_47_62)
, VAPTAG(useLabel(FN_Prelude_46_46))
, useLabel(F0_System_46FilePath_46Posix_46splitDirectories)
, useLabel(F0_System_46FilePath_46Posix_46normalise)
, VAPTAG(useLabel(FN_Directory_46doesDirectoryExist))
, CAPTAG(useLabel(FN_LAMBDA661),1)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46_62_62_61))
, bytes2word(0,0,4,0)
, bytes2word(3,1,2,2)
, bytes2word(1,3,0,4)
, useLabel(CT_v735)
,	/* FN_LAMBDA661: (byte 0) */
  bytes2word(NEEDHEAP_I32,PUSH_HEAP,HEAP_CVAL_N1,1)
, bytes2word(HEAP_ARG_ARG,4,2,HEAP_ARG)
, bytes2word(3,UNPACK,3,PUSH_P1)
, bytes2word(2,ZAP_ARG_I2,ZAP_ARG,4)
, bytes2word(ZAP_STACK_P1,3,EVAL,NEEDHEAP_I32)
, bytes2word(TABLESWITCH,2,TOP(8),BOT(8))
,	/* v732: (byte 2) */
  bytes2word(TOP(4),BOT(4),POP_I1,JUMP)
,	/* v723: (byte 2) */
  bytes2word(10,0,POP_I1,HEAP_CVAL_N1)
, bytes2word(2,PUSH_HEAP,HEAP_CVAL_I3,HEAP_OFF_N1)
,	/* v720: (byte 2) */
  bytes2word(2,RETURN_EVAL,PUSH_P1,0)
, bytes2word(EVAL,NEEDHEAP_I32,TABLESWITCH,2)
,	/* v733: (byte 4) */
  bytes2word(TOP(4),BOT(4),TOP(8),BOT(8))
,	/* v727: (byte 4) */
  bytes2word(POP_I1,JUMP,10,0)
, bytes2word(POP_I1,HEAP_CVAL_N1,2,PUSH_HEAP)
,	/* v724: (byte 4) */
  bytes2word(HEAP_CVAL_I3,HEAP_OFF_N1,2,RETURN_EVAL)
, bytes2word(PUSH_I1,ZAP_STACK_P1,2,EVAL)
, bytes2word(NEEDHEAP_I32,TABLESWITCH,2,NOP)
,	/* v729: (byte 4) */
  bytes2word(TOP(4),BOT(4),TOP(10),BOT(10))
, bytes2word(POP_I1,PUSH_HEAP,HEAP_CVAL_I4,HEAP_ARG)
,	/* v730: (byte 2) */
  bytes2word(3,RETURN_EVAL,POP_I1,HEAP_CVAL_N1)
, bytes2word(2,HEAP_CVAL_I5,HEAP_OFF_N1,2)
, bytes2word(HEAP_CVAL_P1,6,HEAP_CVAL_P1,7)
, bytes2word(HEAP_OFF_N1,4,HEAP_CVAL_P1,8)
, bytes2word(HEAP_ARG_ARG,1,3,PUSH_HEAP)
, bytes2word(HEAP_CVAL_P1,9,HEAP_OFF_N1,7)
, bytes2word(HEAP_OFF_N1,5,RETURN_EVAL,ENDCODE)
, bytes2word(0,0,0,0)
, CONSTR(0,0,0)
, CONSTR(0,3,0)
,	/* CT_v735: (byte 0) */
  HW(7,4)
, 0
,	/* F0_LAMBDA661: (byte 0) */
  CAPTAG(useLabel(FN_LAMBDA661),4)
, VAPTAG(useLabel(FN_Prelude_46Monad_46NHC_46Internal_46IO_46return))
, VAPTAG(useLabel(FN_Directory_46createDirectory))
, CAPTAG(useLabel(FN_System_46Directory_46createDirectoryIfMissing),1)
, CAPTAG(useLabel(FN_Prelude_46mapM_95),1)
, useLabel(CF_Prelude_46Monad_46NHC_46Internal_46IO)
, VAPTAG(useLabel(FN_NHC_46Internal_46_95apply1))
, VAPTAG(useLabel(FN_Prelude_46_36))
,	/* ST_v664: (byte 0) */
 	/* ST_v708: (byte 1) */
 	/* ST_v706: (byte 3) */
  bytes2word(0,46,0,46)
,	/* ST_v668: (byte 2) */
  bytes2word(46,0,47,116)
,	/* ST_v673: (byte 3) */
  bytes2word(109,112,0,72)
,	/* ST_v683: (byte 4) */
  bytes2word(79,77,69,0)
, bytes2word(80,65,84,72)
,	/* ST_v670: (byte 1) */
  bytes2word(0,84,77,80)
, bytes2word(68,73,82,0)
,};

#include <haskell2c.h>
#include <HsFFI.h>

/* foreign import ccall "realpath" System.Directory.c_realpath# 2 :: FFI.Ptr -> FFI.Ptr -> FFI.Ptr */
extern void* realpath(void*,void*);
#ifdef PROFILE
static SInfo pf_System_46Directory_46c_95realpath_35 = {"System.Directory","System.Directory.c_realpath#","FFI.Ptr"};
#endif
C_HEADER(FR_System_46Directory_46c_95realpath_35) {
  NodePtr nodeptr;
  void* result;
  void* arg1;
  void* arg2;
  nodeptr = C_GETARG1(1);
  IND_REMOVE(nodeptr);
  arg1 = (void*)GET_INT_VALUE(nodeptr);
  nodeptr = C_GETARG1(2);
  IND_REMOVE(nodeptr);
  arg2 = (void*)GET_INT_VALUE(nodeptr);

  result = realpath(arg1,arg2);

  nodeptr = nhc_mkInt((int)result);
  INIT_PROFINFO(nodeptr,&pf_System_46Directory_46c_95realpath_35);
  C_RETURN(nodeptr);
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.