[{"data":1,"prerenderedAt":1270},["ShallowReactive",2],{"navigation_docs":3,"-file-extensions-hs":673,"-file-extensions-hs-surround":1124,"mdc--2hm3t5-key":1125,"mdc--fnstxw-key":1136,"mdc--6xl10j-key":1144,"mdc--5ogbtu-key":1152,"mdc-bocn6r-key":1160,"mdc-ssz7ub-key":1168,"mdc-k8oxuc-key":1176,"mdc-8i53mc-key":1184,"mdc--ycjs6y-key":1198,"mdc--d009cq-key":1214,"mdc-ha3vzx-key":1222,"mdc-xh6wgw-key":1230,"mdc-aqqef-key":1238,"mdc--xnv7vh-key":1246,"mdc-4k9m61-key":1262},[4,29,123,155,193,222,251,267,408,416,456,462,468],{"title":5,"path":6,"stem":7,"children":8,"icon":28},"Getting Started","\u002Fgetting-started","01.getting-started\u002F1.index",[9,13,18,23],{"title":10,"path":6,"stem":7,"icon":11,"exact":12},"What is Poly?","i-lucide-house",true,{"title":14,"path":15,"stem":16,"icon":17},"Installation","\u002Fgetting-started\u002Finstallation","01.getting-started\u002F2.installation","i-lucide-download",{"title":19,"path":20,"stem":21,"icon":22},"Quickstart","\u002Fgetting-started\u002Fquickstart","01.getting-started\u002F3.quickstart","i-lucide-rocket",{"title":24,"path":25,"stem":26,"icon":27},"Migrate to Poly","\u002Fgetting-started\u002Fmigrate-to-poly","01.getting-started\u002F4.migrate-to-poly","i-lucide-replace",false,{"title":30,"path":31,"stem":32,"children":33,"icon":28},"File Browser","\u002Ffile-browser","02.file-browser\u002F01.index",[34,37,42,47,52,57,62,67,72,113,118],{"title":35,"path":31,"stem":32,"icon":36,"exact":12},"Overview","i-lucide-folder-open",{"title":38,"path":39,"stem":40,"icon":41},"Uploading Files","\u002Ffile-browser\u002Fuploading-your-files","02.file-browser\u002F02.uploading-your-files","i-lucide-upload",{"title":43,"path":44,"stem":45,"icon":46},"Navigating Your Files","\u002Ffile-browser\u002Fnavigating-your-files","02.file-browser\u002F03.navigating-your-files","i-lucide-map",{"title":48,"path":49,"stem":50,"icon":51},"Sidebar","\u002Ffile-browser\u002Fsidebar","02.file-browser\u002F04.sidebar","i-lucide-panel-left",{"title":53,"path":54,"stem":55,"icon":56},"Saved Searches","\u002Ffile-browser\u002Fsaved-searches","02.file-browser\u002F05.saved-searches","i-lucide-folder-search",{"title":58,"path":59,"stem":60,"icon":61},"Supported File Types","\u002Ffile-browser\u002Fsupported-file-types","02.file-browser\u002F06.supported-file-types","i-lucide-file",{"title":63,"path":64,"stem":65,"icon":66},"View Modes","\u002Ffile-browser\u002Fview-modes","02.file-browser\u002F07.view-modes","i-lucide-layout-grid",{"title":68,"path":69,"stem":70,"icon":71},"Quick View (Peek)","\u002Ffile-browser\u002Fquick-view","02.file-browser\u002F08.quick-view","i-lucide-eye",{"title":73,"path":74,"stem":75,"children":76,"icon":78},"Tools Menu","\u002Ffile-browser\u002Ftools-menu","02.file-browser\u002F09.tools-menu\u002F1.index",[77,79,84,89,94,99,104,108],{"title":73,"path":74,"stem":75,"icon":78,"exact":12},"i-lucide-wrench",{"title":80,"path":81,"stem":82,"icon":83},"Agent","\u002Ffile-browser\u002Ftools-menu\u002Fagent","02.file-browser\u002F09.tools-menu\u002F2.agent","i-lucide-bot",{"title":85,"path":86,"stem":87,"icon":88},"Chats","\u002Ffile-browser\u002Ftools-menu\u002Fchats","02.file-browser\u002F09.tools-menu\u002F3.chats","i-lucide-message-square",{"title":90,"path":91,"stem":92,"icon":93},"Outline","\u002Ffile-browser\u002Ftools-menu\u002Foutline","02.file-browser\u002F09.tools-menu\u002F4.outline","i-lucide-list",{"title":95,"path":96,"stem":97,"icon":98},"Details Panel","\u002Ffile-browser\u002Ftools-menu\u002Fdetails","02.file-browser\u002F09.tools-menu\u002F5.details","i-lucide-panel-right",{"title":100,"path":101,"stem":102,"icon":103},"Activity","\u002Ffile-browser\u002Ftools-menu\u002Factivity","02.file-browser\u002F09.tools-menu\u002F6.activity","i-lucide-activity",{"title":105,"path":106,"stem":107,"icon":66},"Waterfall","\u002Ffile-browser\u002Ftools-menu\u002Fwaterfall","02.file-browser\u002F09.tools-menu\u002F7.waterfall",{"title":109,"path":110,"stem":111,"icon":112},"Flashback","\u002Ffile-browser\u002Ftools-menu\u002Fflashback","02.file-browser\u002F09.tools-menu\u002F8.flashback","i-lucide-zap",{"title":114,"path":115,"stem":116,"icon":117},"Keyboard Shortcuts","\u002Ffile-browser\u002Fkeyboard-shortcuts","02.file-browser\u002F10.keyboard-shortcuts","i-lucide-keyboard",{"title":119,"path":120,"stem":121,"icon":122},"Offline Use","\u002Ffile-browser\u002Foffline-use","02.file-browser\u002F11.offline-use","i-lucide-wifi-off",{"title":124,"path":125,"stem":126,"children":127,"icon":28},"Searching","\u002Fsearching","03.searching\u002F1.index",[128,130,135,140,145,150],{"title":35,"path":125,"stem":126,"icon":129,"exact":12},"i-lucide-search",{"title":131,"path":132,"stem":133,"icon":134},"Text Queries","\u002Fsearching\u002Ftext-queries","03.searching\u002F2.text-queries","i-lucide-text-search",{"title":136,"path":137,"stem":138,"icon":139},"Searching by File","\u002Fsearching\u002Fsearching-by-file","03.searching\u002F3.searching-by-file","i-lucide-scan-search",{"title":141,"path":142,"stem":143,"icon":144},"Searching by File Part","\u002Fsearching\u002Fsearching-by-file-part","03.searching\u002F4.searching-by-file-part","i-lucide-crop",{"title":146,"path":147,"stem":148,"icon":149},"Searching by Color","\u002Fsearching\u002Fsearching-by-color","03.searching\u002F5.searching-by-color","i-lucide-palette",{"title":151,"path":152,"stem":153,"icon":154},"Faceted Search & Advanced Search","\u002Fsearching\u002Ffaceted-search","03.searching\u002F6.faceted-search","i-lucide-filter",{"title":156,"path":157,"stem":158,"children":159,"icon":28},"Desktop","\u002Fdesktop","04.desktop\u002F1.index",[160,163,168,173,178,183,188],{"title":161,"path":157,"stem":158,"icon":162,"exact":12},"Intro","i-lucide-monitor",{"title":164,"path":165,"stem":166,"icon":167},"Sync Folder","\u002Fdesktop\u002Fsync-folder","04.desktop\u002F2.sync-folder","i-lucide-folder-sync",{"title":169,"path":170,"stem":171,"icon":172},"CLI","\u002Fdesktop\u002Fcli","04.desktop\u002F3.cli","i-lucide-square-terminal",{"title":174,"path":175,"stem":176,"icon":177},"Tags & Colors","\u002Fdesktop\u002Ftags-and-colors","04.desktop\u002F4.tags-and-colors","i-lucide-tags",{"title":179,"path":180,"stem":181,"icon":182},"Bookmarks","\u002Fdesktop\u002Fbookmarks","04.desktop\u002F5.bookmarks","i-lucide-bookmark",{"title":184,"path":185,"stem":186,"icon":187},"Spotlight & Handoff","\u002Fdesktop\u002Fspotlight-and-handoff","04.desktop\u002F6.spotlight-and-handoff","i-lucide-sparkles",{"title":189,"path":190,"stem":191,"icon":192},"Differences from Web","\u002Fdesktop\u002Fdifferences-from-web","04.desktop\u002F7.differences-from-web","i-lucide-app-window",{"title":80,"path":194,"stem":195,"children":196,"icon":28,"defaultOpen":28},"\u002Fagent","05.agent\u002F1.index",[197,198,203,207,212,217],{"title":35,"path":194,"stem":195,"icon":83,"exact":12},{"title":199,"path":200,"stem":201,"icon":202},"Reading & Summarizing Files","\u002Fagent\u002Freading-and-summarizing","05.agent\u002F2.reading-and-summarizing","i-lucide-book-open",{"title":204,"path":205,"stem":206,"icon":129},"AI-Powered Searching","\u002Fagent\u002Fsearching","05.agent\u002F3.searching",{"title":208,"path":209,"stem":210,"icon":211},"Creating and Editing Files","\u002Fagent\u002Fcreating-and-editing-files","05.agent\u002F4.creating-and-editing-files","i-lucide-file-pen",{"title":213,"path":214,"stem":215,"icon":216},"Organizing Files","\u002Fagent\u002Forganizing-files","05.agent\u002F5.organizing-files","i-lucide-folder-symlink",{"title":218,"path":219,"stem":220,"icon":221},"Complex, Multi-Step Tasks","\u002Fagent\u002Fcomplex-tasks","05.agent\u002F6.complex-tasks","i-lucide-workflow",{"title":223,"path":224,"stem":225,"children":226,"icon":28,"defaultOpen":28},"Recovering Files","\u002Frecovering-files","06.recovering-files\u002F1.index",[227,229,233,236,241,246],{"title":35,"path":224,"stem":225,"icon":228,"exact":12},"i-lucide-history",{"title":230,"path":231,"stem":232,"icon":71},"Viewing Versions","\u002Frecovering-files\u002Fviewing-versions","06.recovering-files\u002F2.viewing-versions",{"title":109,"path":234,"stem":235,"icon":112},"\u002Frecovering-files\u002Fflashback","06.recovering-files\u002F3.flashback",{"title":237,"path":238,"stem":239,"icon":240},"Restoring Versions","\u002Frecovering-files\u002Frestoring-versions","06.recovering-files\u002F4.restoring-versions","i-lucide-rotate-ccw",{"title":242,"path":243,"stem":244,"icon":245},"Reverting Changes","\u002Frecovering-files\u002Freverting-changes","06.recovering-files\u002F5.reverting-changes","i-lucide-undo-2",{"title":247,"path":248,"stem":249,"icon":250},"Limitations","\u002Frecovering-files\u002Flimitations","06.recovering-files\u002F6.limitations","i-lucide-triangle-alert",{"title":252,"path":253,"stem":254,"children":255,"icon":28,"defaultOpen":28},"Sharing","\u002Fsharing","07.sharing\u002F1.index",[256,258,262],{"title":35,"path":253,"stem":254,"icon":257,"exact":12},"i-lucide-share-2",{"title":259,"path":260,"stem":261,"icon":257},"Sharing Files","\u002Fsharing\u002Fsharing-files","07.sharing\u002F2.sharing-files",{"title":263,"path":264,"stem":265,"icon":266},"Shared Drives","\u002Fsharing\u002Fshared-drives","07.sharing\u002F3.shared-drives","i-lucide-users",{"title":169,"path":268,"stem":269,"children":270,"icon":28,"defaultOpen":28},"\u002Fcli","08.cli\u002F1.index",[271,273,278,399,404],{"title":14,"path":268,"stem":269,"icon":272,"exact":12},"i-lucide-terminal",{"title":274,"path":275,"stem":276,"icon":277},"How it Works","\u002Fcli\u002Fhow-it-works","08.cli\u002F2.how-it-works","i-lucide-cog",{"title":279,"path":280,"stem":281,"children":282,"icon":284},"Commands","\u002Fcli\u002Fcommands","08.cli\u002F3.commands\u002F01.index",[283,285,289,293,297,302,307,312,317,322,327,332,337,342,347,351,356,360,365,369,373,377,382,386,390,394],{"title":279,"path":280,"stem":281,"icon":284,"exact":12},"i-lucide-list-tree",{"title":286,"path":287,"stem":288,"icon":93},"ls","\u002Fcli\u002Fcommands\u002Fls","08.cli\u002F3.commands\u002F02.ls",{"title":290,"path":291,"stem":292,"icon":56},"find","\u002Fcli\u002Fcommands\u002Ffind","08.cli\u002F3.commands\u002F03.find",{"title":294,"path":295,"stem":296,"icon":129},"search","\u002Fcli\u002Fcommands\u002Fsearch","08.cli\u002F3.commands\u002F04.search",{"title":298,"path":299,"stem":300,"icon":301},"cp","\u002Fcli\u002Fcommands\u002Fcp","08.cli\u002F3.commands\u002F05.cp","i-lucide-copy",{"title":303,"path":304,"stem":305,"icon":306},"mv","\u002Fcli\u002Fcommands\u002Fmv","08.cli\u002F3.commands\u002F06.mv","i-lucide-move",{"title":308,"path":309,"stem":310,"icon":311},"rm","\u002Fcli\u002Fcommands\u002Frm","08.cli\u002F3.commands\u002F07.rm","i-lucide-trash-2",{"title":313,"path":314,"stem":315,"icon":316},"mkdir","\u002Fcli\u002Fcommands\u002Fmkdir","08.cli\u002F3.commands\u002F08.mkdir","i-lucide-folder-plus",{"title":318,"path":319,"stem":320,"icon":321},"mkurl","\u002Fcli\u002Fcommands\u002Fmkurl","08.cli\u002F3.commands\u002F09.mkurl","i-lucide-link",{"title":323,"path":324,"stem":325,"icon":326},"mksearch","\u002Fcli\u002Fcommands\u002Fmksearch","08.cli\u002F3.commands\u002F10.mksearch","i-lucide-search-code",{"title":328,"path":329,"stem":330,"icon":331},"mkdrive","\u002Fcli\u002Fcommands\u002Fmkdrive","08.cli\u002F3.commands\u002F11.mkdrive","i-lucide-hard-drive",{"title":333,"path":334,"stem":335,"icon":336},"rmdrive","\u002Fcli\u002Fcommands\u002Frmdrive","08.cli\u002F3.commands\u002F12.rmdrive","i-lucide-trash",{"title":338,"path":339,"stem":340,"icon":341},"wget","\u002Fcli\u002Fcommands\u002Fwget","08.cli\u002F3.commands\u002F13.wget","i-lucide-cloud-download",{"title":343,"path":344,"stem":345,"icon":346},"file show","\u002Fcli\u002Fcommands\u002Ffile-show","08.cli\u002F3.commands\u002F14.file-show","i-lucide-info",{"title":348,"path":349,"stem":350,"icon":202},"file read","\u002Fcli\u002Fcommands\u002Ffile-read","08.cli\u002F3.commands\u002F15.file-read",{"title":352,"path":353,"stem":354,"icon":355},"file write","\u002Fcli\u002Fcommands\u002Ffile-write","08.cli\u002F3.commands\u002F16.file-write","i-lucide-pencil",{"title":357,"path":358,"stem":359,"icon":211},"file update","\u002Fcli\u002Fcommands\u002Ffile-update","08.cli\u002F3.commands\u002F17.file-update",{"title":361,"path":362,"stem":363,"icon":364},"file search","\u002Fcli\u002Fcommands\u002Ffile-search","08.cli\u002F3.commands\u002F18.file-search","i-lucide-file-search",{"title":366,"path":367,"stem":368,"icon":228},"file history","\u002Fcli\u002Fcommands\u002Ffile-history","08.cli\u002F3.commands\u002F19.file-history",{"title":370,"path":371,"stem":372,"icon":240},"file restore","\u002Fcli\u002Fcommands\u002Ffile-restore","08.cli\u002F3.commands\u002F20.file-restore",{"title":374,"path":375,"stem":376,"icon":245},"file revert","\u002Fcli\u002Fcommands\u002Ffile-revert","08.cli\u002F3.commands\u002F21.file-revert",{"title":378,"path":379,"stem":380,"icon":381},"file open","\u002Fcli\u002Fcommands\u002Ffile-open","08.cli\u002F3.commands\u002F22.file-open","i-lucide-external-link",{"title":383,"path":384,"stem":385,"icon":17},"file download","\u002Fcli\u002Fcommands\u002Ffile-download","08.cli\u002F3.commands\u002F23.file-download",{"title":387,"path":388,"stem":389,"icon":257},"file share","\u002Fcli\u002Fcommands\u002Ffile-share","08.cli\u002F3.commands\u002F24.file-share",{"title":391,"path":392,"stem":393,"icon":192},"app","\u002Fcli\u002Fcommands\u002Fapp","08.cli\u002F3.commands\u002F25.app",{"title":395,"path":396,"stem":397,"icon":398},"auth","\u002Fcli\u002Fcommands\u002Fauth","08.cli\u002F3.commands\u002F26.auth","i-lucide-key-round",{"title":400,"path":401,"stem":402,"icon":403},"Global Flags","\u002Fcli\u002Fglobal-flags","08.cli\u002F4.global-flags","i-lucide-sliders-horizontal",{"title":405,"path":406,"stem":407,"icon":83},"Agent Skill","\u002Fcli\u002Fagent-skill","08.cli\u002F5.agent-skill",{"title":409,"path":410,"stem":411,"children":412,"icon":28,"defaultOpen":28},"Privacy & Security","\u002Fprivacy-and-security","09.privacy-and-security\u002F1.index",[413],{"title":414,"path":410,"stem":411,"icon":415,"exact":12},"Our Privacy Commitment","i-lucide-shield-check",{"title":417,"path":418,"stem":419,"children":420,"icon":28,"defaultOpen":28},"Integrations & MCP","\u002Fintegrations","10.integrations\u002F1.index",[421,423,428,433,438,442,447,452],{"title":35,"path":418,"stem":419,"icon":422,"exact":12},"i-lucide-plug",{"title":424,"path":425,"stem":426,"icon":427},"Claude Code","\u002Fintegrations\u002Fclaude-code","10.integrations\u002F2.claude-code","i-simple-icons-claude",{"title":429,"path":430,"stem":431,"icon":432},"Claude CoWork (Desktop)","\u002Fintegrations\u002Fclaude-cowork","10.integrations\u002F3.claude-cowork","i-simple-icons-anthropic",{"title":434,"path":435,"stem":436,"icon":437},"ChatGPT Work (Desktop)","\u002Fintegrations\u002Fchatgpt-work","10.integrations\u002F4.chatgpt-work","i-simple-icons-openai",{"title":439,"path":440,"stem":441,"icon":437},"ChatGPT","\u002Fintegrations\u002Fchatgpt","10.integrations\u002F5.chatgpt",{"title":443,"path":444,"stem":445,"icon":446},"Gemini","\u002Fintegrations\u002Fgemini","10.integrations\u002F6.gemini","i-simple-icons-googlegemini",{"title":448,"path":449,"stem":450,"icon":451},"VS Code & Cursor","\u002Fintegrations\u002Fvscode-cursor","10.integrations\u002F7.vscode-cursor","i-simple-icons-visualstudiocode",{"title":453,"path":454,"stem":455,"icon":78},"Using MCP","\u002Fintegrations\u002Fusing-mcp","10.integrations\u002F8.using-mcp",{"title":457,"path":458,"stem":459,"children":460,"icon":28,"defaultOpen":28},"Troubleshooting","\u002Ftroubleshooting","11.troubleshooting\u002F1.index",[461],{"title":457,"path":458,"stem":459,"icon":78,"exact":12},{"title":463,"path":464,"stem":465,"children":466,"icon":28,"defaultOpen":28},"Roadmap","\u002Froadmap","12.roadmap\u002F1.index",[467],{"title":463,"path":464,"stem":465,"icon":46,"exact":12},{"title":469,"icon":28,"defaultOpen":28,"path":470,"stem":471,"children":472,"page":28},"Releases","\u002Freleases","13.releases",[473,477],{"title":474,"path":475,"stem":476},"Latest","\u002Freleases\u002Fall-releases\u002F2026-09-01-v0-beta-09-01","13.releases\u002F1.latest",{"title":478,"icon":28,"defaultOpen":28,"path":479,"stem":480,"children":481,"page":28},"All releases","\u002Freleases\u002Fall-releases","13.releases\u002F2.all-releases",[482,489,497,505,513,521,529,537,545,553,561,569,577,585,593,601,609,617,625,633,641,649,657,665],{"title":483,"path":475,"stem":484,"release-notes":485},"v0.beta.2026.09.01","13.releases\u002F2.all-releases\u002F2026-09-01-v0-beta-09-01",{"date":486,"banner":487,"icon":488,"version":483},"2026-09-01","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-09-01\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-09-01\u002Fsticker.png",{"title":490,"path":491,"stem":492,"release-notes":493},"v0.beta.2026.08.27","\u002Freleases\u002Fall-releases\u002F2026-08-27-v0-beta-08-27","13.releases\u002F2.all-releases\u002F2026-08-27-v0-beta-08-27",{"date":494,"banner":495,"icon":496,"version":490},"2026-08-27","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-27\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-27\u002Ficon.png",{"title":498,"path":499,"stem":500,"release-notes":501},"v0.beta.2026.08.18","\u002Freleases\u002Fall-releases\u002F2026-08-18-v0-beta-08-18","13.releases\u002F2.all-releases\u002F2026-08-18-v0-beta-08-18",{"date":502,"banner":503,"icon":504,"version":498},"2026-08-18","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-18\u002Fbanner.png","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-18\u002Fsticker.png",{"title":506,"path":507,"stem":508,"release-notes":509},"v0.beta.2026.08.11","\u002Freleases\u002Fall-releases\u002F2026-08-11-v0-beta-08-11","13.releases\u002F2.all-releases\u002F2026-08-11-v0-beta-08-11",{"date":510,"banner":511,"icon":512,"version":506},"2026-08-11","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-11\u002Fbanner.png","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-11\u002FUnknown-12.png",{"title":514,"path":515,"stem":516,"release-notes":517},"v0.beta.2026.01.22","\u002Freleases\u002Fall-releases\u002F2026-01-22-v0-beta-01-22","13.releases\u002F2.all-releases\u002F2026-01-22-v0-beta-01-22",{"date":518,"banner":519,"icon":520,"version":514},"2026-01-22","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-22\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-22\u002Ficon.webp",{"title":522,"path":523,"stem":524,"release-notes":525},"v0.beta.2026.01.13","\u002Freleases\u002Fall-releases\u002F2026-01-13-v0-beta-01-13","13.releases\u002F2.all-releases\u002F2026-01-13-v0-beta-01-13",{"date":526,"banner":527,"icon":528,"version":522},"2026-01-13","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-13\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-13\u002Ficon.webp",{"title":530,"path":531,"stem":532,"release-notes":533},"v0.beta.2026.01.09","\u002Freleases\u002Fall-releases\u002F2026-01-09-v0-beta-01-09","13.releases\u002F2.all-releases\u002F2026-01-09-v0-beta-01-09",{"date":534,"banner":535,"icon":536,"version":530},"2026-01-09","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-09\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-09\u002Ficon.webp",{"title":538,"path":539,"stem":540,"release-notes":541},"v0.beta.2025.12.31","\u002Freleases\u002Fall-releases\u002F2025-12-31-v0-beta-12-31","13.releases\u002F2.all-releases\u002F2025-12-31-v0-beta-12-31",{"date":542,"banner":543,"icon":544,"version":538},"2025-12-31","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-31\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-31\u002Ficon.webp",{"title":546,"path":547,"stem":548,"release-notes":549},"v0.beta.2025.12.26","\u002Freleases\u002Fall-releases\u002F2025-12-26-v0-beta-12-26","13.releases\u002F2.all-releases\u002F2025-12-26-v0-beta-12-26",{"date":550,"banner":551,"icon":552,"version":546},"2025-12-26","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-26\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-26\u002Ficon.webp",{"title":554,"path":555,"stem":556,"release-notes":557},"v0.beta.2025.12.16","\u002Freleases\u002Fall-releases\u002F2025-12-16-v0-beta-12-16","13.releases\u002F2.all-releases\u002F2025-12-16-v0-beta-12-16",{"date":558,"banner":559,"icon":560,"version":554},"2025-12-16","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-16\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-16\u002Ficon.webp",{"title":562,"path":563,"stem":564,"release-notes":565},"v0.beta.2025.12.12","\u002Freleases\u002Fall-releases\u002F2025-12-12-v0-beta-12-12","13.releases\u002F2.all-releases\u002F2025-12-12-v0-beta-12-12",{"date":566,"banner":567,"icon":568,"version":562},"2025-12-12","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-12\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-12\u002Ficon.webp",{"title":570,"path":571,"stem":572,"release-notes":573},"v0.beta.2025.12.03","\u002Freleases\u002Fall-releases\u002F2025-12-03-v0-beta-12-03","13.releases\u002F2.all-releases\u002F2025-12-03-v0-beta-12-03",{"date":574,"banner":575,"icon":576,"version":570},"2025-12-03","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-03\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-03\u002Ficon.webp",{"title":578,"path":579,"stem":580,"release-notes":581},"v0.beta.2025.11.26","\u002Freleases\u002Fall-releases\u002F2025-11-26-v0-beta-11-26","13.releases\u002F2.all-releases\u002F2025-11-26-v0-beta-11-26",{"date":582,"banner":583,"icon":584,"version":578},"2025-11-26","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-26\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-26\u002Ficon.webp",{"title":586,"path":587,"stem":588,"release-notes":589},"v0.beta.2025.11.19","\u002Freleases\u002Fall-releases\u002F2025-11-19-v0-beta-11-19","13.releases\u002F2.all-releases\u002F2025-11-19-v0-beta-11-19",{"date":590,"banner":591,"icon":592,"version":586},"2025-11-19","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-19\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-19\u002Ficon.webp",{"title":594,"path":595,"stem":596,"release-notes":597},"v0.beta.2025.11.13","\u002Freleases\u002Fall-releases\u002F2025-11-13-v0-beta-11-13","13.releases\u002F2.all-releases\u002F2025-11-13-v0-beta-11-13",{"date":598,"banner":599,"icon":600,"version":594},"2025-11-13","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-13\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-13\u002Ficon.webp",{"title":602,"path":603,"stem":604,"release-notes":605},"v0.beta.2025.11.05","\u002Freleases\u002Fall-releases\u002F2025-11-05-v0-beta-11-05","13.releases\u002F2.all-releases\u002F2025-11-05-v0-beta-11-05",{"date":606,"banner":607,"icon":608,"version":602},"2025-11-05","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-05\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-05\u002Ficon.webp",{"title":610,"path":611,"stem":612,"release-notes":613},"v0.beta.2025.10.29","\u002Freleases\u002Fall-releases\u002F2025-10-29-v0-beta-10-29","13.releases\u002F2.all-releases\u002F2025-10-29-v0-beta-10-29",{"date":614,"banner":615,"icon":616,"version":610},"2025-10-29","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-29\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-29\u002Ficon.webp",{"title":618,"path":619,"stem":620,"release-notes":621},"v0.beta.2025.10.21","\u002Freleases\u002Fall-releases\u002F2025-10-21-v0-beta-10-21","13.releases\u002F2.all-releases\u002F2025-10-21-v0-beta-10-21",{"date":622,"banner":623,"icon":624,"version":618},"2025-10-21","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-21\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-21\u002Ficon.webp",{"title":626,"path":627,"stem":628,"release-notes":629},"v0.beta.2025.10.14","\u002Freleases\u002Fall-releases\u002F2025-10-14-v0-beta-10-14","13.releases\u002F2.all-releases\u002F2025-10-14-v0-beta-10-14",{"date":630,"banner":631,"icon":632,"version":626},"2025-10-14","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-14\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-14\u002Ficon.webp",{"title":634,"path":635,"stem":636,"release-notes":637},"v0.beta.2025.10.08","\u002Freleases\u002Fall-releases\u002F2025-10-08-v0-beta-10-08","13.releases\u002F2.all-releases\u002F2025-10-08-v0-beta-10-08",{"date":638,"banner":639,"icon":640,"version":634},"2025-10-08","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-08\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-08\u002Ficon.webp",{"title":642,"path":643,"stem":644,"release-notes":645},"v0.beta.2025.10.01","\u002Freleases\u002Fall-releases\u002F2025-10-01-v0-beta-10-01","13.releases\u002F2.all-releases\u002F2025-10-01-v0-beta-10-01",{"date":646,"banner":647,"icon":648,"version":642},"2025-10-01","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-01\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-01\u002Ficon.webp",{"title":650,"path":651,"stem":652,"release-notes":653},"v0.beta.2025.09.23","\u002Freleases\u002Fall-releases\u002F2025-09-23-v0-beta-09-23","13.releases\u002F2.all-releases\u002F2025-09-23-v0-beta-09-23",{"date":654,"banner":655,"icon":656,"version":650},"2025-09-23","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-23\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-23\u002Ficon.webp",{"title":658,"path":659,"stem":660,"release-notes":661},"v0.beta.2025.09.16","\u002Freleases\u002Fall-releases\u002F2025-09-16-v0-beta-09-16","13.releases\u002F2.all-releases\u002F2025-09-16-v0-beta-09-16",{"date":662,"banner":663,"icon":664,"version":658},"2025-09-16","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-16\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-16\u002Ficon.webp",{"title":666,"path":667,"stem":668,"release-notes":669},"v0.beta.2025.09.03","\u002Freleases\u002Fall-releases\u002F2025-09-03-v0-beta-09-03","13.releases\u002F2.all-releases\u002F2025-09-03-v0-beta-09-03",{"date":670,"banner":671,"icon":672,"version":666},"2025-09-03","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-03\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-03\u002Ficon.webp",{"id":674,"title":675,"body":676,"description":1096,"extension":1097,"file-extension":1098,"links":1116,"meta":1117,"mime-type":1116,"navigation":28,"path":1118,"release-notes":1116,"seo":1119,"stem":1122,"__hash__":1123},"docs\u002Ffile-extensions\u002Fhs.md","`.hs` File Extension",{"type":677,"value":678,"toc":1083},"minimark",[679,689,711,745,752,759,765,776,812,815,821,827,830,836,851,854,861,864,933,958,1079],[680,681,683,684,688],"h2",{"id":682},"what-kind-of-file-is-a-hs","What kind of file is a ",[685,686,687],"code",{},".hs","?",[690,691,692,693,695,696,698,699],"p",{},"A ",[685,694,687],{}," file contains ordinary Haskell source code. It is editable text, not a compiled executable. A file commonly defines one module with declarations for functions, types, classes, and values. GHC recognizes ",[685,697,687],{}," as Haskell source that should be preprocessed and compiled.",[700,701,702],"sup",{},[703,704,710],"a",{"href":705,"ariaDescribedBy":706,"dataFootnoteRef":708,"id":709},"#user-content-fn-1",[707],"footnote-label","","user-content-fnref-1","1",[690,712,713,714,722,723,726,727,729,730,736,737],{},"There are no fixed magic bytes. Editors and build tools identify the language from the suffix, project context, or source syntax. Haskell source uses Unicode characters, and UTF-8 is the practical encoding for current projects.",[700,715,716],{},[703,717,721],{"href":718,"ariaDescribedBy":719,"dataFootnoteRef":708,"id":720},"#user-content-fn-2",[707],"user-content-fnref-2","2"," IANA does not register a Haskell-specific media type, although some software uses the unregistered ",[685,724,725],{},"text\u002Fx-haskell",". Poly classifies ",[685,728,687],{}," as readable ",[703,731,733],{"href":732},"\u002Fmime-types\u002Ftext\u002Fplain",[685,734,735],{},"text\u002Fplain",".",[700,738,739],{},[703,740,744],{"href":741,"ariaDescribedBy":742,"dataFootnoteRef":708,"id":743},"#user-content-fn-3",[707],"user-content-fnref-3","3",[746,747,748,749,751],"note",{},"Renaming another source file to ",[685,750,687],{}," does not translate it into Haskell. It only changes the filename and may cause editors or compilers to apply the wrong language rules.",[680,753,755,756,758],{"id":754},"how-do-i-open-a-hs-on-my-computer","How do I open a ",[685,757,687],{}," on my computer?",[690,760,761,762,764],{},"Any text editor can open ",[685,763,687],{}," files on Windows, macOS, or Linux. Visual Studio Code with Haskell Language Server, IntelliJ IDEA with a Haskell plugin, Vim, Neovim, and Emacs can add syntax highlighting, completion, navigation, and diagnostics.",[690,766,767,768],{},"Install GHC when you need to check, run, or compile the code. GHCi can load a source file interactively, while GHC can build an executable:",[700,769,770],{},[703,771,775],{"href":772,"ariaDescribedBy":773,"dataFootnoteRef":708,"id":774},"#user-content-fn-4",[707],"user-content-fnref-4","4",[777,778,782],"pre",{"className":779,"code":780,"language":781,"meta":708,"style":708},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ghci Main.hs\nghc Main.hs -o my-program\n","sh",[685,783,784,797],{"__ignoreMap":708},[785,786,789,793],"span",{"class":787,"line":788},"line",1,[785,790,792],{"class":791},"sBMFI","ghci",[785,794,796],{"class":795},"sfazB"," Main.hs\n",[785,798,800,803,806,809],{"class":787,"line":799},2,[785,801,802],{"class":791},"ghc",[785,804,805],{"class":795}," Main.hs",[785,807,808],{"class":795}," -o",[785,810,811],{"class":795}," my-program\n",[690,813,814],{},"For a real project, follow its Cabal or Stack instructions so dependencies and compiler options match. Opening source as text does not run it. Compiling, evaluating, or running unfamiliar code can execute arbitrary behavior and download dependencies, so review it first.",[680,816,818,819],{"id":817},"poly-support-for-hs","Poly support for ",[685,820,687],{},[690,822,823,824,826],{},"Poly opens ",[685,825,687],{}," files in a code-friendly viewer with Haskell syntax highlighting, word wrap, and in-file search. It indexes readable source for exact and semantic search, so you can find a symbol by name or search for code by purpose.",[690,828,829],{},"The Poly agent can summarize a module, explain a type signature, and help trace likely behavior. Poly does not compile the file, evaluate expressions, resolve packages, or reproduce a language server's project state. Keep related modules, package files, tests, and documentation together when broader context matters.",[680,831,833,834],{"id":832},"history-of-hs","History of ",[685,835,687],{},[690,837,838,839,847,848,850],{},"Haskell began with a committee meeting in September 1987 that sought a common, open language for lazy functional programming. Haskell 1.0 followed in April 1990.",[700,840,841],{},[703,842,846],{"href":843,"ariaDescribedBy":844,"dataFootnoteRef":708,"id":845},"#user-content-fn-5",[707],"user-content-fnref-5","5"," The compact ",[685,849,687],{}," suffix became the conventional name for ordinary Haskell source and remains the input suffix recognized by GHC.",[690,852,853],{},"The language later stabilized around Haskell 98 and Haskell 2010. The suffix does not declare which language edition or GHC extensions a file needs. Those details come from the source, compiler flags, and project configuration.",[680,855,857,858,860],{"id":856},"working-with-hs-and-related-files","Working with ",[685,859,687],{}," and related files",[690,862,863],{},"Haskell tooling uses several similar-looking suffixes:",[865,866,867,880],"table",{},[868,869,870],"thead",{},[871,872,873,877],"tr",{},[874,875,876],"th",{},"Extension",[874,878,879],{},"Typical role",[881,882,883,893,903,913,923],"tbody",{},[871,884,885,890],{},[886,887,888],"td",{},[685,889,687],{},[886,891,892],{},"Ordinary Haskell source",[871,894,895,900],{},[886,896,897],{},[685,898,899],{},".lhs",[886,901,902],{},"Literate Haskell source, with prose and code",[871,904,905,910],{},[886,906,907],{},[685,908,909],{},".hs-boot",[886,911,912],{},"GHC boot module used to break certain import cycles",[871,914,915,920],{},[886,916,917],{},[685,918,919],{},".hi",[886,921,922],{},"Compiler-generated binary interface, not source text",[871,924,925,930],{},[886,926,927],{},[685,928,929],{},".o",[886,931,932],{},"Compiled object code",[690,934,935,936,939,940,736,943,951,952,954,955,957],{},"GHC normally expects an importable module such as ",[685,937,938],{},"Data.Tree"," in a matching path such as ",[685,941,942],{},"Data\u002FTree.hs",[700,944,945],{},[703,946,950],{"href":947,"ariaDescribedBy":948,"dataFootnoteRef":708,"id":949},"#user-content-fn-6",[707],"user-content-fnref-6","6"," Keep source and package configuration in version control, but treat ",[685,953,919],{}," and ",[685,956,929],{}," files as reproducible build output. Use GHC, Cabal, or Stack to build the project instead of changing extensions.",[959,960,963,968],"section",{"className":961,"dataFootnotes":708},[962],"footnotes",[680,964,967],{"className":965,"id":707},[966],"sr-only","Footnotes",[969,970,971,996,1013,1030,1046,1063],"ol",{},[972,973,975,976,985,986,988,989],"li",{"id":974},"user-content-fn-1","Glasgow Haskell Compiler. ",[703,977,981],{"href":978,"rel":979},"https:\u002F\u002Fdownloads.haskell.org\u002Fghc\u002Flatest\u002Fdocs\u002Fusers_guide\u002Fghc.html",[980],"nofollow",[982,983,984],"em",{},"GHC User's Guide: Meaningful File Suffixes",". Lists ",[685,987,687],{}," as Haskell source code that GHC preprocesses and compiles. ",[703,990,995],{"href":991,"ariaLabel":992,"className":993,"dataFootnoteBackref":708},"#user-content-fnref-1","Back to reference 1",[994],"data-footnote-backref","↩",[972,997,999,1000,1007,1008],{"id":998},"user-content-fn-2","Haskell.org. ",[703,1001,1004],{"href":1002,"rel":1003},"https:\u002F\u002Fwww.haskell.org\u002Fonlinereport\u002Fhaskell2010\u002Fhaskellch2.html",[980],[982,1005,1006],{},"Haskell 2010 Language Report: Lexical Structure",". Defines Haskell source in terms of Unicode characters. ",[703,1009,995],{"href":1010,"ariaLabel":1011,"className":1012,"dataFootnoteBackref":708},"#user-content-fnref-2","Back to reference 2",[994],[972,1014,1016,1017,1024,1025],{"id":1015},"user-content-fn-3","Internet Assigned Numbers Authority. ",[703,1018,1021],{"href":1019,"rel":1020},"https:\u002F\u002Fwww.iana.org\u002Fassignments\u002Fmedia-types\u002Fmedia-types.xhtml",[980],[982,1022,1023],{},"Media Types Registry",". The registry has no Haskell-specific media type. ",[703,1026,995],{"href":1027,"ariaLabel":1028,"className":1029,"dataFootnoteBackref":708},"#user-content-fnref-3","Back to reference 3",[994],[972,1031,975,1033,1040,1041],{"id":1032},"user-content-fn-4",[703,1034,1037],{"href":1035,"rel":1036},"https:\u002F\u002Fdownloads.haskell.org\u002Fghc\u002Flatest\u002Fdocs\u002Fusers_guide\u002Fghci.html",[980],[982,1038,1039],{},"GHC User's Guide: Using GHCi",". Documents loading source files for interactive use. ",[703,1042,995],{"href":1043,"ariaLabel":1044,"className":1045,"dataFootnoteBackref":708},"#user-content-fnref-4","Back to reference 4",[994],[972,1047,1049,1050,1057,1058],{"id":1048},"user-content-fn-5","Hudak, Paul, John Hughes, Simon Peyton Jones, and Philip Wadler. ",[703,1051,1054],{"href":1052,"rel":1053},"https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fpublication\u002Fa-history-of-haskell-being-lazy-with-class\u002F",[980],[982,1055,1056],{},"A History of Haskell: Being Lazy with Class",". Records the 1987 committee meeting and the April 1990 Haskell 1.0 report. ",[703,1059,995],{"href":1060,"ariaLabel":1061,"className":1062,"dataFootnoteBackref":708},"#user-content-fnref-5","Back to reference 5",[994],[972,1064,975,1066,1073,1074],{"id":1065},"user-content-fn-6",[703,1067,1070],{"href":1068,"rel":1069},"https:\u002F\u002Fdownloads.haskell.org\u002Fghc\u002Flatest\u002Fdocs\u002Fusers_guide\u002Fseparate_compilation.html",[980],[982,1071,1072],{},"GHC User's Guide: Filenames and Separate Compilation",". Describes the module-to-path convention and generated interface and object files. ",[703,1075,995],{"href":1076,"ariaLabel":1077,"className":1078,"dataFootnoteBackref":708},"#user-content-fnref-6","Back to reference 6",[994],[1080,1081,1082],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":708,"searchDepth":799,"depth":799,"links":1084},[1085,1087,1089,1091,1093,1095],{"id":682,"depth":799,"text":1086},"What kind of file is a .hs?",{"id":754,"depth":799,"text":1088},"How do I open a .hs on my computer?",{"id":817,"depth":799,"text":1090},"Poly support for .hs",{"id":832,"depth":799,"text":1092},"History of .hs",{"id":856,"depth":799,"text":1094},"Working with .hs and related files",{"id":707,"depth":799,"text":967},"Learn what a `.hs` file contains, how to open and run Haskell source code, how Poly supports it, and how it differs from related Haskell files.","md",{"extension":687,"name":1099,"support-level":1100,"mime-type":1101,"operating-systems":1102,"opens-with":1106,"encoding":1111,"poly-support":1112,"poly-indexed":1113,"poly-preview":1114,"poly-agent":1115},"Haskell source code","Full Support",[735],[1103,1104,1105],"Windows","macOS","Linux",[1107,1108,1109,1110],"Visual Studio Code","IntelliJ IDEA","GHCi","Any text editor","Plain text, normally UTF-8","Yes. Poly recognizes `.hs` as readable Haskell source code.","Yes. Poly indexes readable source for exact and semantic search.","Yes. Haskell source opens in Poly's code editor with syntax highlighting.","Yes. The Poly agent can read and reason about the source text.",null,{},"\u002Ffile-extensions\u002Fhs",{"title":1120,"description":1121},".hs File Extension: How to Open and Run Haskell Files","A practical guide to .hs Haskell source files, including editors, GHC and GHCi use, UTF-8 text, Poly preview and search support, history, and related files.","file-extensions\u002Fhs","91QW4yP7dDOYmsy9rp2w88FwR6KjnRQ-J8Fm3P9_3M0",[1116,1116],{"data":1126,"body":1127},{},{"type":1128,"children":1129},"root",[1130],{"type":1131,"tag":690,"props":1132,"children":1133},"element",{},[1134],{"type":1135,"value":1107},"text",{"data":1137,"body":1138},{},{"type":1128,"children":1139},[1140],{"type":1131,"tag":690,"props":1141,"children":1142},{},[1143],{"type":1135,"value":1110},{"data":1145,"body":1146},{},{"type":1128,"children":1147},[1148],{"type":1131,"tag":690,"props":1149,"children":1150},{},[1151],{"type":1135,"value":1113},{"data":1153,"body":1154},{},{"type":1128,"children":1155},[1156],{"type":1131,"tag":690,"props":1157,"children":1158},{},[1159],{"type":1135,"value":1115},{"data":1161,"body":1162},{},{"type":1128,"children":1163},[1164],{"type":1131,"tag":690,"props":1165,"children":1166},{},[1167],{"type":1135,"value":1103},{"data":1169,"body":1170},{},{"type":1128,"children":1171},[1172],{"type":1131,"tag":690,"props":1173,"children":1174},{},[1175],{"type":1135,"value":1104},{"data":1177,"body":1178},{},{"type":1128,"children":1179},[1180],{"type":1131,"tag":690,"props":1181,"children":1182},{},[1183],{"type":1135,"value":1105},{"data":1185,"body":1186},{},{"type":1128,"children":1187},[1188],{"type":1131,"tag":690,"props":1189,"children":1190},{},[1191,1196],{"type":1131,"tag":685,"props":1192,"children":1194},{"className":1193},[],[1195],{"type":1135,"value":687},{"type":1135,"value":1197}," File Extension",{"data":1199,"body":1200},{},{"type":1128,"children":1201},[1202],{"type":1131,"tag":690,"props":1203,"children":1204},{},[1205,1207,1212],{"type":1135,"value":1206},"Learn what a ",{"type":1131,"tag":685,"props":1208,"children":1210},{"className":1209},[],[1211],{"type":1135,"value":687},{"type":1135,"value":1213}," file contains, how to open and run Haskell source code, how Poly supports it, and how it differs from related Haskell files.",{"data":1215,"body":1216},{},{"type":1128,"children":1217},[1218],{"type":1131,"tag":690,"props":1219,"children":1220},{},[1221],{"type":1135,"value":1099},{"data":1223,"body":1224},{},{"type":1128,"children":1225},[1226],{"type":1131,"tag":690,"props":1227,"children":1228},{},[1229],{"type":1135,"value":1111},{"data":1231,"body":1232},{},{"type":1128,"children":1233},[1234],{"type":1131,"tag":690,"props":1235,"children":1236},{},[1237],{"type":1135,"value":1108},{"data":1239,"body":1240},{},{"type":1128,"children":1241},[1242],{"type":1131,"tag":690,"props":1243,"children":1244},{},[1245],{"type":1135,"value":1109},{"data":1247,"body":1248},{},{"type":1128,"children":1249},[1250],{"type":1131,"tag":690,"props":1251,"children":1252},{},[1253,1255,1260],{"type":1135,"value":1254},"Yes. Poly recognizes ",{"type":1131,"tag":685,"props":1256,"children":1258},{"className":1257},[],[1259],{"type":1135,"value":687},{"type":1135,"value":1261}," as readable Haskell source code.",{"data":1263,"body":1264},{},{"type":1128,"children":1265},[1266],{"type":1131,"tag":690,"props":1267,"children":1268},{},[1269],{"type":1135,"value":1114},1788325917402]