{"id":17820647,"url":"https://github.com/mwotton/emacsplugin","last_synced_at":"2025-04-02T09:43:24.680Z","repository":{"id":66821587,"uuid":"62006187","full_name":"mwotton/emacsplugin","owner":"mwotton","description":null,"archived":false,"fork":false,"pushed_at":"2016-06-27T14:22:23.000Z","size":6,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-08T00:43:56.456Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mwotton.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-26T20:04:31.000Z","updated_at":"2020-03-11T15:11:22.000Z","dependencies_parsed_at":"2023-05-28T06:15:44.893Z","dependency_job_id":null,"html_url":"https://github.com/mwotton/emacsplugin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwotton%2Femacsplugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwotton%2Femacsplugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwotton%2Femacsplugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwotton%2Femacsplugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mwotton","download_url":"https://codeload.github.com/mwotton/emacsplugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246793763,"owners_count":20834930,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-27T17:06:57.414Z","updated_at":"2025-04-02T09:43:24.656Z","avatar_url":"https://github.com/mwotton.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"emacs 25 plugins for haskell\n=========================\n\nUPDATE\n======\n\npretty much obsoleted by https://github.com/knupfer/haskell-emacs\nleft up in case i want to mine it for code later.\n\n\nthis is intended as a prototype (my ultimate goal is to hook up\nhttp://github.com/mwotton/dustme up to elisp), but I'll leave this\nhere as a minimal example of how to call haskell from emacs.\n\nUsage\n=====\n\nFirst, get emacs 25. This won't work with anything else.\nMake a note of where it is, then edit stack.yaml:\n\n```\nextra-include-dirs:\n  - ../../emacs/src\n  ```\n\nThis will let ghc find the all-important emacs-module.h.\n(There are some other important settings in stack.yaml, like the one to enable -fPIC\non a stack-wide basis.)\n\n```\nstack install --local-bin-path=SOMEDIRECTORY\n```\n\nThis should install emacsplugin.so into the given directory.\n\nI then run \"emacs -Q -L SOMEDIRECTORY\" (-Q because I don't want to run\nmy normal setup stuff, -L SOMEDIRECTORY to bring the module into\nscope.)\n\nWe then evaluate\n\n```\n(require 'emacsplugin)\n(mymod-test)\n```\n\nin a lisp buffer: mymod-test should return the result of multiplying\n12 by 2 in Haskell. Not earthshattering, admittedly, but I'm currently\nworking on how to do marshalling.\n\nThanks\n======\n\nWhile I didn't end up using his code for marshalling, Niklas Hambüchen's\n[call-haskell-from-anything](https://github.com/nh2/call-haskell-from-anything)\nwas extremely useful in working out how to build a .so file in\nHaskell.\n\nThanks also to Aurélien Aptel for his explanation of the new [emacs\nmodule system](http://diobla.info/blog-archive/modules-tut.html) and\nhow to call it from C.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwotton%2Femacsplugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmwotton%2Femacsplugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwotton%2Femacsplugin/lists"}