84 lines
7.1 KiB
HTML
84 lines
7.1 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<title>CLiki: bike</title>
|
||
|
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
|
||
|
href="https://www.cliki.net/site/feed/article.atom?title=bike">
|
||
|
<link rel="stylesheet" href="static/css/style.css">
|
||
|
<link rel="stylesheet" href="static/css/colorize.css">
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
<span class="hidden">CLiki - bike</span>
|
||
|
<div id="content"><div id="content-area"><div id="article-title">bike</div><div id="article">bike is a library which implements cross-platform Common Lisp interface to <a href=".Net.html" class="category">.Net</a> Core platform, using lisp compatibility layers.<p>It allows for interacting with .Net code like this:<p><div class="code"><span class="nonparen"><span class="paren1">(<span class="nonparen">named-readtables:in-readtable bike:bike-syntax</span>)</span>
|
||
|
|
||
|
<span class="paren1">(<span class="nonparen"><a href="https://www.cliki.net/site/HyperSpec/Body/mac_defun.html" class="symbol"><i><span class="symbol">defun</span></i></a> hello <span class="paren2">(<span class="nonparen"></span>)</span>
|
||
|
[<span class="keyword">:System.Console</span> WriteLine <span class="string">"Hello, World!"</span>]</span>)</span></span></div><p>It does also support callbacks:<p><div class="code"><span class="nonparen"><span class="paren1">(<span class="nonparen"><a href="https://www.cliki.net/site/HyperSpec/Body/fun_use-package.html" class="symbol">use-package</a> <span class="keyword">:bike</span></span>)</span>
|
||
|
|
||
|
<span class="paren1">(<span class="nonparen">named-readtables:in-readtable bike-syntax</span>)</span>
|
||
|
|
||
|
<span class="paren1">(<span class="nonparen">import-assembly 'System.Runtime.InteropServices.RuntimeInformation</span>)</span>
|
||
|
|
||
|
<span class="paren1">(<span class="nonparen">use-namespace 'System</span>)</span>
|
||
|
<span class="paren1">(<span class="nonparen">use-namespace 'System.Runtime.InteropServices</span>)</span>
|
||
|
|
||
|
<span class="paren1">(<span class="nonparen"><a href="https://www.cliki.net/site/HyperSpec/Body/mac_defun.html" class="symbol"><i><span class="symbol">defun</span></i></a> hello <span class="paren2">(<span class="nonparen"></span>)</span>
|
||
|
<span class="paren2">(<span class="nonparen"><a href="https://www.cliki.net/site/HyperSpec/Body/speope_letcm_letst.html" class="symbol"><i><span class="symbol">let*</span></i></a> <span class="paren3">(<span class="nonparen"><span class="paren4">(<span class="nonparen">os [<span class="keyword">:RuntimeInformation</span> %OSDescription]</span>)</span>
|
||
|
<span class="paren4">(<span class="nonparen">delegate <span class="paren5">(<span class="nonparen">new '<span class="paren6">(<span class="nonparen">Action <span class="keyword">:string</span></span>)</span>
|
||
|
<span class="paren6">(<span class="nonparen"><a href="https://www.cliki.net/site/HyperSpec/Body/any_lambda.html" class="symbol"><i><span class="symbol">lambda</span></i></a> <span class="paren1">(<span class="nonparen">who</span>)</span>
|
||
|
<span class="paren1">(<span class="nonparen"><a href="https://www.cliki.net/site/HyperSpec/Body/fun_format.html" class="symbol">format</a> <a href="https://www.cliki.net/site/HyperSpec/Body/any_t.html" class="symbol">t</a> <span class="string">"Hello ~a!~%You are running .Net Core~% inside ~a ~a~% on ~a"</span>
|
||
|
who
|
||
|
<span class="paren2">(<span class="nonparen"><a href="https://www.cliki.net/site/HyperSpec/Body/fun_lisp-impl_tion-version.html" class="symbol">lisp-implementation-type</a></span>)</span>
|
||
|
<span class="paren2">(<span class="nonparen"><a href="https://www.cliki.net/site/HyperSpec/Body/fun_lisp-impl_tion-version.html" class="symbol">lisp-implementation-version</a></span>)</span>
|
||
|
os</span>)</span></span>)</span></span>)</span></span>)</span>
|
||
|
<span class="paren4">(<span class="nonparen">user [<span class="keyword">:Environment</span> %UserName]</span>)</span></span>)</span>
|
||
|
[delegate Invoke user]</span>)</span></span>)</span>
|
||
|
|
||
|
<span class="paren1">(<span class="nonparen">hello</span>)</span>
|
||
|
|
||
|
<span class="comment">;; ==>
|
||
|
</span>
|
||
|
<span class="comment">;; Hello lovesan!
|
||
|
</span><span class="comment">;; You are running .Net Core
|
||
|
</span><span class="comment">;; inside SBCL 1.5.3
|
||
|
</span><span class="comment">;; on Linux 4.15.0-1041-aws #43-Ubuntu SMP Thu Jun 6 13:39:11 UTC 2019
|
||
|
</span></span></div><p>It is installable via quicklisp:<p><div class="code"><span class="nonparen"><span class="paren1">(<span class="nonparen">ql:quickload <span class="keyword">:bike</span></span>)</span></span></div><p>Note that to build the library you should have <a href="https://dotnet.microsoft.com/download">.Net Core SDK</a> installed.<p>Github page: <a href="https://github.com/Lovesan/bike/">https://github.com/Lovesan/bike/</a><p>License: <a href="MIT.html" class="category">MIT</a><p><hr>
|
||
|
<a href="FFI.html" class="category">FFI</a></div></div>
|
||
|
<div id="footer" class="buttonbar"><ul><li><a href="bike.html">Current version</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/history?article=bike">History</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/backlinks?article=bike">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=bike&from-revision=3799080248">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
|
||
|
</div>
|
||
|
<div id="header-buttons" class="buttonbar">
|
||
|
<ul>
|
||
|
<li><a href="https://www.cliki.net/">Home</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
|
||
|
<li><a href="CLiki.html">About</a></li>
|
||
|
<li><a href="Text Formatting.html">Text Formatting</a></li>
|
||
|
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
|
||
|
</ul>
|
||
|
<div id="search">
|
||
|
<form action="https://www.cliki.net/site/search">
|
||
|
<label for="search_query" class="hidden">Search CLiki</label>
|
||
|
<input type="text" name="query" id="search_query" value="" />
|
||
|
<input type="submit" value="search" />
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div id="pageheader">
|
||
|
<div id="header">
|
||
|
<span id="logo">CLiki</span>
|
||
|
<span id="slogan">the common lisp wiki</span>
|
||
|
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
|
||
|
<label for="login_name" class="hidden">Account name</label>
|
||
|
<input type="text" name="name" id="login_name" class="login_input" />
|
||
|
<label for= "login_password" class="hidden">Password</label>
|
||
|
<input type="password" name="password" id="login_password" class="login_input" />
|
||
|
<input type="submit" name="login" value="login" id="login_submit" /><br />
|
||
|
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
|
||
|
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</body></html>
|